You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weaver-hrm-organization/src/com/engine/organization/service/LogViewServiceImpl.java

134 lines
6.7 KiB
Java

package com.engine.organization.service;
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.core.impl.Service;
import com.engine.organization.component.OrganizationWeaTable;
import com.engine.organization.entity.logview.param.LogViewSearchParam;
import com.engine.organization.entity.logview.vo.LogViewVO;
import com.engine.organization.util.OrganizationFormItemUtil;
import org.apache.commons.lang.StringUtils;
import weaver.general.TimeUtil;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author:dxfeng
* @createTime: 2022/07/05
* @version: 1.0
*/
public class LogViewServiceImpl extends Service implements LogViewService {
@Override
public Map<String, Object> listPage(LogViewSearchParam param) {
Map<String, Object> resultMap = new HashMap<>();
OrganizationWeaTable<LogViewVO> table = new OrganizationWeaTable<>(user, LogViewVO.class);
String sqlWhere = buildSqlWhere(param);
table.setSqlwhere(sqlWhere);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
resultMap.putAll(result.getResultMap());
return resultMap;
}
@Override
public Map<String, Object> getSearchCondition() {
Map<String, Object> apiDatas = new HashMap<>();
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> conditionItems = new ArrayList<>();
// 操作者
SearchConditionItem operatorId = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "操作者", "1", "operatorId", "");
// 操作时间
List<SearchConditionOption> selectOperateDate = new ArrayList<>();
selectOperateDate.add(new SearchConditionOption("-1", "全部"));
selectOperateDate.add(new SearchConditionOption("1", "今天"));
selectOperateDate.add(new SearchConditionOption("2", "本周"));
selectOperateDate.add(new SearchConditionOption("3", "本月"));
selectOperateDate.add(new SearchConditionOption("4", "本季"));
selectOperateDate.add(new SearchConditionOption("5", "本年"));
selectOperateDate.add(new SearchConditionOption("7", "上个月"));
selectOperateDate.add(new SearchConditionOption("9", "上一季"));
selectOperateDate.add(new SearchConditionOption("8", "上一年"));
selectOperateDate.add(new SearchConditionOption("6", "指定日期范围"));
SearchConditionItem operateDate = OrganizationFormItemUtil.selectItem(user, selectOperateDate, 2, 16, 6, false, "操作时间", "operateDate");
// 操作者部门
SearchConditionItem departmentId = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "操作者部门", "161", "departmentId", "deptBrowser");
// 操作者分部
SearchConditionItem companyId = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "操作者分部", "161", "companyId", "compBrowser");
// 操作模块
//List<SearchConditionOption> selectOperateModule = new ArrayList<>();
//
//selectOperateDate.add(new SearchConditionOption("-1", "全部"));
//selectOperateDate.add(new SearchConditionOption("1", "等级方案"));
//selectOperateDate.add(new SearchConditionOption("2", "职等"));
//selectOperateDate.add(new SearchConditionOption("3", "职级"));
//selectOperateDate.add(new SearchConditionOption("4", "岗位序列"));
//selectOperateDate.add(new SearchConditionOption("5", "职务分类"));
//selectOperateDate.add(new SearchConditionOption("6", "职务管理"));
//selectOperateDate.add(new SearchConditionOption("7", "集团管理"));
//selectOperateDate.add(new SearchConditionOption("8", "分部管理"));
//selectOperateDate.add(new SearchConditionOption("9", "部门管理"));
//selectOperateDate.add(new SearchConditionOption("10", "岗位管理"));
//selectOperateDate.add(new SearchConditionOption("11", "人员管理"));
//selectOperateDate.add(new SearchConditionOption("12", "编制方案"));
//selectOperateDate.add(new SearchConditionOption("13", "编制上报"));
//selectOperateDate.add(new SearchConditionOption("99", "其他模块"));
//SearchConditionItem operateModule = OrganizationFormItemUtil.selectItem(user, selectOperateModule, 2, 16, 6, false, "操作模块", "operateModule");
conditionItems.add(operatorId);
conditionItems.add(operateDate);
conditionItems.add(departmentId);
conditionItems.add(companyId);
//conditionItems.add(operateModule);
addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems));
apiDatas.put("conditions", addGroups);
return apiDatas;
}
private String buildSqlWhere(LogViewSearchParam param) {
if (null == param) {
return "";
}
String sqlWhere = " where delete_type = 0 ";
if(StringUtils.isNotBlank(param.getModuleType())){
sqlWhere += " and operate_module = '" + param.getModuleType() + "'";
}
if (null != param.getOperatorId()) {
sqlWhere += " and operator_id = '" + param.getOperatorId() + "'";
}
if (null != param.getCompanyId()) {
sqlWhere += " and operator_id in (select id from hrmresource where subcompanyid1 = '" + param.getCompanyId() + "')";
}
if (null != param.getDepartmentId()) {
sqlWhere += " and operator_id in (select id from hrmresource where departmentid = '" + param.getDepartmentId() + "')";
}
if (StringUtils.isNotBlank(param.getOperateDate()) && !"-1".equals(param.getOperateDate())) {
if (!"6".equals(param.getOperateDate())) {
sqlWhere += " and create_time >= '" + TimeUtil.getDateByOption(param.getOperateDate() + "", "0") + "'";
sqlWhere += " and create_time <= '" + TimeUtil.getDateByOption(param.getOperateDate() + "", "") + "'";
} else {
if (StringUtils.isNotBlank(param.getStartDate())) {
sqlWhere += " and create_time >= '" + param.getStartDate() + "'";
}
if (StringUtils.isNotBlank(param.getEndDate())) {
sqlWhere += " and create_time <= '" + param.getEndDate() + "'";
}
}
}
//if (StringUtils.isNotBlank(param.getOperateModule()) && !"-1".equals(param.getOperateModule())) {
// sqlWhere += " and operate_module = '" + param.getOperateModule() + "'";
//}
return sqlWhere;
}
}