From 6b96ea7ca0359390cf50f813bd65811a8889d2ce Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 4 Jul 2022 10:01:28 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=88=97=E8=A1=A8=20?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HrmResourceServiceImpl.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index fb79b386..be95ef94 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -115,8 +115,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Map listPage(HrmResourceSearchParam params) { Map resultMap = new HashMap<>(); OrganizationWeaTable table = new OrganizationWeaTable<>(user, ScHrmResourceVO.class); - //String sqlWhere = buildSqlWhere(params); - //table.setSqlwhere(sqlWhere); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); @@ -206,7 +206,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); SearchConditionItem lastNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "姓名", "lastName"); - SearchConditionItem managerIdItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "直接上级", "managerId"); + SearchConditionItem managerIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "直接上级", "1", "managerId", ""); SearchConditionItem companyIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "分部", "161", "companyId", "compBrowser"); SearchConditionItem departmentIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "部门", "161", "departmentId", "deptBrowser"); SearchConditionItem telephoneItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "办公电话", "telephone"); @@ -251,22 +251,22 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic */ private String buildSqlWhere(HrmResourceSearchParam params) { DBType dbType = DBType.get(new RecordSet().getDBType()); - String sqlWhere = " where t.delete_type ='0' "; + String sqlWhere = " where 1=1 "; String lastName = params.getLastName(); if (StringUtils.isNotBlank(lastName)) { - sqlWhere += " AND t.last_name " + dbType.like(lastName); + sqlWhere += " AND t.lastname " + dbType.like(lastName); } Long managerId = params.getManagerId(); if (null != managerId) { - sqlWhere += " AND t.manager_id = '" + managerId + "'"; + sqlWhere += " AND t.managerid = '" + managerId + "'"; } Long companyId = params.getCompanyId(); if (null != companyId) { - sqlWhere += " AND t.company_id = '" + companyId + "'"; + sqlWhere += " AND t.subcompanyid1 = '" + companyId + "'"; } Long departmentId = params.getDepartmentId(); if (null != departmentId) { - sqlWhere += " AND t.department_id = '" + departmentId + "'"; + sqlWhere += " AND t.departmentid = '" + departmentId + "'"; } String telephone = params.getTelephone(); if (StringUtils.isNotBlank(telephone)) { @@ -278,11 +278,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } String mobileCall = params.getMobileCall(); if (StringUtils.isNotBlank(mobileCall)) { - sqlWhere += " AND t.mobile_call " + dbType.like(mobileCall); + sqlWhere += " AND t.mobilecall " + dbType.like(mobileCall); } Long jobTitle = params.getJobTitle(); if (null != jobTitle) { - sqlWhere += " AND t.job_title = '" + jobTitle + "'"; + sqlWhere += " AND t.jobtitle = '" + jobTitle + "'"; } return sqlWhere; From 033e90aa342ac65e861e46a2aaa6b51eaf157723 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 5 Jul 2022 09:39:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/annotation/Log.java | 6 ++++ .../organization/entity/LoggerContext.java | 8 ++++- .../organization/enums/LogModuleNameEnum.java | 33 +++++++++++++++++++ .../mapper/sislog/SISLogMapper.xml | 15 +++++---- .../service/impl/DemoServiceImpl.java | 27 ++++++--------- .../engine/organization/util/LogAspect.java | 3 +- .../util/OrganizationWrapper.java | 31 +++++++++++++++++ .../organization/wrapper/DemoWrapper.java | 12 ++++--- 8 files changed, 106 insertions(+), 29 deletions(-) create mode 100644 src/com/engine/organization/enums/LogModuleNameEnum.java create mode 100644 src/com/engine/organization/util/OrganizationWrapper.java diff --git a/src/com/engine/organization/annotation/Log.java b/src/com/engine/organization/annotation/Log.java index 0a7020d1..4c278858 100644 --- a/src/com/engine/organization/annotation/Log.java +++ b/src/com/engine/organization/annotation/Log.java @@ -1,5 +1,6 @@ package com.engine.organization.annotation; +import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import java.lang.annotation.*; @@ -19,4 +20,9 @@ public @interface Log { * 操作说明 */ String operateDesc() default ""; + + /** + * 操作模块 + */ + LogModuleNameEnum operateModule() default LogModuleNameEnum.OTHER; } diff --git a/src/com/engine/organization/entity/LoggerContext.java b/src/com/engine/organization/entity/LoggerContext.java index 4db04287..fbd2c1ca 100644 --- a/src/com/engine/organization/entity/LoggerContext.java +++ b/src/com/engine/organization/entity/LoggerContext.java @@ -37,7 +37,7 @@ public class LoggerContext implements Serializable { private String operatorName; // 创建时间(yyyy-MM-dd HH:mm:ss) - @JSONField(format="yyyy-MM-dd HH:mm:ss") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") private Date createTime; //操作类型增删改查等 @@ -58,4 +58,10 @@ public class LoggerContext implements Serializable { //是否删除 private int deleteType; + // 操作模块名称 + private String operateModuleName; + + // 日志信息 + private String message; + } diff --git a/src/com/engine/organization/enums/LogModuleNameEnum.java b/src/com/engine/organization/enums/LogModuleNameEnum.java new file mode 100644 index 00000000..fa15e522 --- /dev/null +++ b/src/com/engine/organization/enums/LogModuleNameEnum.java @@ -0,0 +1,33 @@ +package com.engine.organization.enums; + +/** + * @author:dxfeng + * @createTime: 2022/07/04 + * @version: 1.0 + */ +public enum LogModuleNameEnum { + SCHEME("等级方案"), + LEVEL("职等"), + GRADE("职级"), + SEQUENCE("岗位序列"), + POST("职务分类"), + POSTINFO("职务管理"), + GROUP("集团管理"), + COMPANY("公司/分部"), + DEPARTMENT("部门管理"), + JOB("岗位管理"), + RESOURCE("人员管理"), + STAFFPLAN("编制方案"), + STAFF("编制上报"), + OTHER("其他模块"); + + private String value; + + LogModuleNameEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} diff --git a/src/com/engine/organization/mapper/sislog/SISLogMapper.xml b/src/com/engine/organization/mapper/sislog/SISLogMapper.xml index 9f2b3bd6..03537fe7 100644 --- a/src/com/engine/organization/mapper/sislog/SISLogMapper.xml +++ b/src/com/engine/organization/mapper/sislog/SISLogMapper.xml @@ -17,7 +17,9 @@ - t.id + t + . + id , t.operate_desc , t.operator_id , t.operator_name @@ -45,7 +47,9 @@ client_ip, method_name, class_name, - delete_type + delete_type, + operate_module_name, + message #{operateDesc}, @@ -57,12 +61,11 @@ #{clientIp}, #{methodName}, #{className}, - #{deleteType} + #{deleteType}, + #{operateModuleName}, + #{message} - - - \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/DemoServiceImpl.java b/src/com/engine/organization/service/impl/DemoServiceImpl.java index d5adcd73..cf860d15 100644 --- a/src/com/engine/organization/service/impl/DemoServiceImpl.java +++ b/src/com/engine/organization/service/impl/DemoServiceImpl.java @@ -1,19 +1,12 @@ package com.engine.organization.service.impl; import com.engine.core.impl.Service; -import com.engine.organization.annotation.Log; -import com.engine.organization.entity.LoggerContext; import com.engine.organization.entity.po.Demo; -import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.DemoMapper; import com.engine.organization.service.DemoService; import com.engine.organization.util.HrmI18nUtil; -import com.engine.organization.util.LogAspect; import com.engine.organization.util.OrganizationAssert; -import com.engine.organization.util.db.MapperProxyFactory; import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; -import java.lang.reflect.Method; import java.util.List; /** @@ -28,18 +21,18 @@ public class DemoServiceImpl extends Service implements DemoService { @Override - @Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志") + //@Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志") public List list(String name) { OrganizationAssert.notNull(name,HrmI18nUtil.getI18nLabel(34721,"参数不能为空") ); - List demos = MapperProxyFactory.getProxy(DemoMapper.class).listAll(); - - //操作日志记录 - Method method = new Object(){}.getClass().getEnclosingMethod(); - LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build(); - LogAspect logAspect = new LogAspect(DemoServiceImpl.class,method,loggerContext); - logAspect.start(); - - return demos; + //List demos = MapperProxyFactory.getProxy(DemoMapper.class).listAll(); + // + ////操作日志记录 + //Method method = new Object(){}.getClass().getEnclosingMethod(); + //LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build(); + //LogAspect logAspect = new LogAspect(DemoServiceImpl.class,method,loggerContext); + //logAspect.start(); + + return null; } } diff --git a/src/com/engine/organization/util/LogAspect.java b/src/com/engine/organization/util/LogAspect.java index 0975c6af..7d75131a 100644 --- a/src/com/engine/organization/util/LogAspect.java +++ b/src/com/engine/organization/util/LogAspect.java @@ -49,14 +49,15 @@ public class LogAspect { Parameter[] parameters = method.getParameters(); String value = annotation.operateType().getValue(); String operateDesc = annotation.operateDesc(); + String operateModuleName = annotation.operateModule().getValue(); loggerContext.setOperateDesc(operateDesc); loggerContext.setCreateTime(new Date()); loggerContext.setOperateType(value); loggerContext.setParamsStr(Arrays.toString(parameters)); - loggerContext.setClientIp("127.0.0.1"); loggerContext.setMethodName(method.getName()); loggerContext.setClassName(clazz.getName()); loggerContext.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()); + loggerContext.setOperateModuleName(operateModuleName); MapperProxyFactory.getProxy(SISLogMapper.class).insert(loggerContext); } }); diff --git a/src/com/engine/organization/util/OrganizationWrapper.java b/src/com/engine/organization/util/OrganizationWrapper.java new file mode 100644 index 00000000..97849ef9 --- /dev/null +++ b/src/com/engine/organization/util/OrganizationWrapper.java @@ -0,0 +1,31 @@ +package com.engine.organization.util; + +import com.engine.core.impl.Service; +import com.engine.organization.entity.LoggerContext; + +import java.lang.reflect.Method; + +/** + * @author:dxfeng + * @createTime: 2022/07/04 + * @version: 1.0 + */ +public class OrganizationWrapper extends Service { + + + /** + * 记录操作日志 + * + * @param clazz + * @param message + */ + public void writeOperateLog(Class clazz, + String message) { + Method method = clazz.getEnclosingMethod(); + LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).clientIp(user.getLoginip()).operatorName(user.getLastname()).message(message).build(); + LogAspect logAspect = new LogAspect(clazz, method, loggerContext); + logAspect.start(); + } + + +} diff --git a/src/com/engine/organization/wrapper/DemoWrapper.java b/src/com/engine/organization/wrapper/DemoWrapper.java index d2a6a32e..39e4752f 100644 --- a/src/com/engine/organization/wrapper/DemoWrapper.java +++ b/src/com/engine/organization/wrapper/DemoWrapper.java @@ -1,10 +1,12 @@ package com.engine.organization.wrapper; import com.engine.common.util.ServiceUtil; -import com.engine.core.impl.Service; +import com.engine.organization.annotation.Log; import com.engine.organization.entity.po.Demo; +import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.service.DemoService; import com.engine.organization.service.impl.DemoServiceImpl; +import com.engine.organization.util.OrganizationWrapper; import com.engine.organization.util.response.ReturnResult; import weaver.hrm.User; @@ -16,14 +18,16 @@ import java.util.List; * @Date 2022/4/26 * @Version V1.0 **/ -public class DemoWrapper extends Service { +public class DemoWrapper extends OrganizationWrapper { private DemoService getDemoService(User user) { - return ServiceUtil.getService(DemoServiceImpl.class,user); + return ServiceUtil.getService(DemoServiceImpl.class, user); } + @Log(operateType = OperateTypeEnum.DELETE, operateDesc = "operateDesc") public ReturnResult testDemo(String name) { List list = getDemoService(user).list(name); - return ReturnResult.successed(list); + writeOperateLog(new Object(){}.getClass(), "记录testDemo操作日志"); + return ReturnResult.successed(list); } } From 618e30e6ef14f7072f8af9f0b9fe78cfa198a9dd Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 5 Jul 2022 09:42:09 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DemoServiceImpl.java | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/com/engine/organization/service/impl/DemoServiceImpl.java b/src/com/engine/organization/service/impl/DemoServiceImpl.java index 910995dd..f1505965 100644 --- a/src/com/engine/organization/service/impl/DemoServiceImpl.java +++ b/src/com/engine/organization/service/impl/DemoServiceImpl.java @@ -1,22 +1,13 @@ package com.engine.organization.service.impl; import com.engine.core.impl.Service; -import com.engine.organization.annotation.Log; -import com.engine.organization.entity.LoggerContext; import com.engine.organization.entity.po.Demo; -import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.DemoMapper; import com.engine.organization.service.DemoService; import com.engine.organization.util.HrmI18nUtil; -import com.engine.organization.util.LogAspect; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; -//import com.weaverboot.frame.ioc.anno.classAnno.WeaIocReplaceComponent; -//import com.weaverboot.frame.ioc.anno.classAnno.WeaIocService; -//import com.weaverboot.frame.ioc.anno.methodAnno.WeaReplaceAfter; -//import com.weaverboot.frame.ioc.handler.replace.weaReplaceParam.impl.WeaAfterReplaceParam; -import java.lang.reflect.Method; import java.util.List; /** @@ -32,18 +23,18 @@ public class DemoServiceImpl extends Service implements DemoService { @Override - @Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志") + //@Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志") public List list(String name) { OrganizationAssert.notNull(name, HrmI18nUtil.getI18nLabel(34721, "参数不能为空")); List demos = MapperProxyFactory.getProxy(DemoMapper.class).listAll(); - //操作日志记录 - Method method = new Object() { - }.getClass().getEnclosingMethod(); - LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build(); - LogAspect logAspect = new LogAspect(DemoServiceImpl.class, method, loggerContext); - logAspect.start(); + ////操作日志记录 + //Method method = new Object() { + //}.getClass().getEnclosingMethod(); + //LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build(); + //LogAspect logAspect = new LogAspect(DemoServiceImpl.class, method, loggerContext); + //logAspect.start(); return demos; }