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 listPage(LogViewSearchParam param) { Map resultMap = new HashMap<>(); OrganizationWeaTable 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 getSearchCondition() { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); // 操作者 SearchConditionItem operatorId = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "操作者", "1", "operatorId", ""); // 操作时间 List 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 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; } }