Pre Merge pull request !147 from dxfeng/feature/dxf

pull/147/MERGE
dxfeng 3 years ago committed by Gitee
commit 96bf06ffd9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -67,4 +67,7 @@ public class LoggerContext implements Serializable {
// 日志信息
private String message;
// 名称
private String value;
}

@ -0,0 +1,124 @@
package com.engine.organization.entity.commom;
import java.util.Objects;
/**
* @author:dxfeng
* @createTime: 2022/07/06
* @version: 1.0
*/
public class FieldInfo {
/**
*
*/
private String fieldName;
/**
*
*/
private Class<?> firstFieldType;
/**
*
*/
private Class<?> secondFieldType;
/**
*
*/
private Object firstVal;
/**
*
*/
private Object secondVal;
public FieldInfo() {
}
public FieldInfo(String fieldName, Class<?> firstFieldType, Class<?> secondFieldType) {
this.fieldName = fieldName;
this.firstFieldType = firstFieldType;
this.secondFieldType = secondFieldType;
}
public FieldInfo(String fieldName, Class<?> fieldType, Object firstVal, Object secondVal) {
this.fieldName = fieldName;
this.firstFieldType = fieldType;
this.secondFieldType = fieldType;
this.firstVal = firstVal;
this.secondVal = secondVal;
}
public FieldInfo(String fieldName, Class<?> firstFieldType, Class<?> secondFieldType, Object firstVal, Object secondVal) {
this.fieldName = fieldName;
this.firstFieldType = firstFieldType;
this.secondFieldType = secondFieldType;
this.firstVal = firstVal;
this.secondVal = secondVal;
}
public String getFieldName() {
return fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public Class<?> getFirstFieldType() {
return firstFieldType;
}
public void setFirstFieldType(Class<?> firstFieldType) {
this.firstFieldType = firstFieldType;
}
public Object getFirstVal() {
return firstVal;
}
public void setFirstVal(Object firstVal) {
this.firstVal = firstVal;
}
public void setSecondFieldType(Class<?> secondFieldType) {
this.secondFieldType = secondFieldType;
}
public Class<?> getSecondFieldType() {
return secondFieldType;
}
public Object getSecondVal() {
return secondVal;
}
public void setSecondVal(Object secondVal) {
this.secondVal = secondVal;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FieldInfo fieldInfo = (FieldInfo) o;
return Objects.equals(fieldName, fieldInfo.fieldName) &&
Objects.equals(firstFieldType, fieldInfo.firstFieldType) &&
Objects.equals(secondFieldType, fieldInfo.secondFieldType) &&
Objects.equals(firstVal, fieldInfo.firstVal) &&
Objects.equals(secondVal, fieldInfo.secondVal);
}
@Override
public int hashCode() {
return Objects.hash(fieldName, firstFieldType, secondFieldType, firstVal, secondVal);
}
@Override
public String toString() {
return "FieldInfo{" +
"fieldName='" + fieldName + '\'' +
", firstFieldType=" + firstFieldType +
", secondFieldType=" + secondFieldType +
", firstVal=" + firstVal +
", secondVal=" + secondVal +
'}';
}
}

@ -0,0 +1,203 @@
package com.engine.organization.entity.logview.bo;
import java.util.*;
import java.util.stream.Collectors;
/**
*
*
* @author:dxfeng
* @createTime: 2022/07/06
* @version: 1.0
*/
public abstract class AbstractEquator implements Equator {
private static final List<Class<?>> WRAPPER = Arrays.asList(Byte.class, Short.class,
Integer.class, Long.class, Float.class, Double.class, Character.class,
Boolean.class, String.class);
private List<String> includeFields;
private List<String> excludeFields;
/**
* true
* <p>
*
* <p>
* true
*/
private boolean bothExistFieldOnly = true;
public AbstractEquator() {
includeFields = Collections.emptyList();
excludeFields = new ArrayList<>();
excludeFields.add("creator");
excludeFields.add("createTime");
excludeFields.add("updateTime");
excludeFields.add("deleteType");
}
/**
* @param bothExistFieldOnly
*/
public AbstractEquator(boolean bothExistFieldOnly) {
includeFields = Collections.emptyList();
excludeFields = Collections.emptyList();
this.bothExistFieldOnly = bothExistFieldOnly;
}
/**
*
*
* @param includeFields null
* @param excludeFields null
*/
public AbstractEquator(List<String> includeFields, List<String> excludeFields) {
this.includeFields = includeFields;
this.excludeFields = excludeFields;
}
/**
*
*
* @param includeFields null
* @param excludeFields null
* @param bothExistFieldOnly true
*/
public AbstractEquator(List<String> includeFields, List<String> excludeFields, boolean bothExistFieldOnly) {
this.includeFields = includeFields;
this.excludeFields = excludeFields;
this.bothExistFieldOnly = bothExistFieldOnly;
}
/**
*
*
* @param first 1
* @param second 2
* @return
*/
@Override
public boolean isEquals(Object first, Object second) {
List<String> diff = getDiffFields(first, second);
return diff == null || diff.isEmpty();
}
/**
* equals
* <p>
*
*
* @param fieldInfo
* @return
*/
protected boolean isFieldEquals(FieldInfo fieldInfo) {
// 先判断排除,如果需要排除,则无论在不在包含范围,都一律不比对
if (isExclude(fieldInfo)) {
return true;
}
// 如果有指定需要包含的字段而且当前字段不在需要包含的字段中则不比对
if (!isInclude(fieldInfo)) {
return true;
}
return nullableEquals(fieldInfo.getFirstVal(), fieldInfo.getSecondVal());
}
/**
*
*/
protected boolean isInclude(FieldInfo fieldInfo) {
// 没有指定需要包含的字段,则全部都包含
if (includeFields == null || includeFields.isEmpty()) {
return true;
}
return includeFields.contains(fieldInfo.getFieldName());
}
/**
*
*/
protected boolean isExclude(FieldInfo fieldInfo) {
// 如果有指定需要排除的字段,而且当前字段是需要排除字段,则直接返回 true
return excludeFields != null && !excludeFields.isEmpty() && excludeFields.contains(fieldInfo.getFieldName());
}
/**
*
*
* @param first 1
* @param second 2
* @return FieldInfo
*/
List<String> compareSimpleField(Object first, Object second) {
boolean eq = Objects.equals(first, second);
if (eq) {
return Collections.emptyList();
} else {
Object obj = first == null ? second : first;
Class<?> clazz = obj.getClass();
// 不等的字段名称使用类的名称
return Collections.singletonList("[" + clazz.getSimpleName() + "]:由" + first + "修改为" + second);
}
}
/**
*
*
* @param first 1
* @param second 2
* @return
*/
boolean isSimpleField(Object first, Object second) {
Object obj = first == null ? second : first;
Class<?> clazz = obj.getClass();
return clazz.isPrimitive() || WRAPPER.contains(clazz);
}
/**
*
*/
Set<String> getAllFieldNames(Set<String> firstFields, Set<String> secondFields) {
Set<String> allFields;
// 只取交集
if (isBothExistFieldOnly()) {
allFields = firstFields.stream().filter(secondFields::contains).collect(Collectors.toSet());
} else {
// 否则取并集
allFields = new HashSet<>(firstFields);
allFields.addAll(secondFields);
}
return allFields;
}
private boolean nullableEquals(Object first, Object second) {
if (first instanceof Collection
&& second instanceof Collection) {
// 如果两个都是集合类型,尝试转换为数组再进行深度比较
return Objects.deepEquals(((Collection) first).toArray(), ((Collection) second).toArray());
}
return Objects.deepEquals(first, second);
}
public void setIncludeFields(List<String> includeFields) {
this.includeFields = includeFields;
}
public void setExcludeFields(List<String> excludeFields) {
this.excludeFields = excludeFields;
}
public void setBothExistFieldOnly(boolean bothExistFieldOnly) {
this.bothExistFieldOnly = bothExistFieldOnly;
}
public List<String> getIncludeFields() {
return includeFields;
}
public List<String> getExcludeFields() {
return excludeFields;
}
public boolean isBothExistFieldOnly() {
return bothExistFieldOnly;
}
}

@ -0,0 +1,31 @@
package com.engine.organization.entity.logview.bo;
import java.util.List;
/**
*
*
* @author:dxfeng
* @createTime: 2022/07/06
* @version: 1.0
*/
public interface Equator {
/**
*
*
* @param first 1
* @param second 2
* @return
*/
boolean isEquals(Object first, Object second);
/**
*
*
* @param first 1
* @param second 2
* @return
*/
List<String> getDiffFields(Object first, Object second);
}

@ -0,0 +1,133 @@
package com.engine.organization.entity.logview.bo;
import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
*
*
* @author:dxfeng
* @createTime: 2022/07/06
* @version: 1.0
*/
public class FieldBaseEquator extends AbstractEquator {
private static final Map<Class<?>, Map<String, Field>> CACHE = new ConcurrentHashMap<>();
// 忽略
private List<String> ignoreFields = new ArrayList<>();
public FieldBaseEquator() {
}
public FieldBaseEquator(boolean bothExistFieldOnly) {
super(bothExistFieldOnly);
}
public FieldBaseEquator(List<String> includeFields, List<String> excludeFields, boolean bothExistFieldOnly) {
super(includeFields, excludeFields, bothExistFieldOnly);
}
/**
*
*
* @param includeFields null
* @param excludeFields null
*/
public FieldBaseEquator(List<String> includeFields, List<String> excludeFields) {
super(includeFields, excludeFields);
}
/**
* {@inheritDoc}
*/
@Override
public List<String> getDiffFields(Object first, Object second) {
if (first == second) {
return Collections.emptyList();
}
// 先尝试判断是否为简单数据类型
if (isSimpleField(first, second)) {
return compareSimpleField(first, second);
}
Set<String> allFieldNames;
// 获取所有字段
Map<String, Field> firstFields = getAllFields(first);
Map<String, Field> secondFields = getAllFields(second);
if (first == null) {
allFieldNames = secondFields.keySet();
} else if (second == null) {
allFieldNames = firstFields.keySet();
} else {
allFieldNames = getAllFieldNames(firstFields.keySet(), secondFields.keySet());
}
List<String> diffFields = new LinkedList<>();
for (String fieldName : allFieldNames) {
try {
Field firstField = firstFields.getOrDefault(fieldName, null);
Field secondField = secondFields.getOrDefault(fieldName, null);
Object firstVal = null;
Class<?> firstType = null;
Class<?> secondType = null;
Object secondVal = null;
if (firstField != null) {
firstField.setAccessible(true);
firstVal = firstField.get(first);
firstType = firstField.getType();
}
if (secondField != null) {
secondField.setAccessible(true);
secondVal = secondField.get(second);
secondType = secondField.getType();
}
FieldInfo fieldInfo = new FieldInfo(fieldName, firstType, secondType);
fieldInfo.setFirstVal(firstVal);
fieldInfo.setSecondVal(secondVal);
if (!isFieldEquals(fieldInfo) && isNoneEmpty(firstVal, secondVal)) {
diffFields.add("[" + fieldName + "]:由\"" + firstVal + "\"修改为\"" + secondVal + "\"");
}
} catch (IllegalAccessException e) {
throw new IllegalStateException("获取属性进行比对发生异常: " + fieldName, e);
}
}
return diffFields;
}
private Map<String, Field> getAllFields(Object obj) {
if (obj == null) {
return Collections.emptyMap();
}
return CACHE.computeIfAbsent(obj.getClass(), k -> {
Map<String, Field> fieldMap = new HashMap<>(8);
Class<?> cls = k;
while (cls != Object.class) {
Field[] fields = cls.getDeclaredFields();
for (Field field : fields) {
// 一些通过字节码注入改写类的框架会合成一些字段,如 jacoco 的 $jacocoData 字段
// 正常情况下这些字段都需要被排除掉
if (!field.isSynthetic()) {
fieldMap.put(field.getName(), field);
}
}
cls = cls.getSuperclass();
}
return fieldMap;
});
}
/**
* null
*
* @param firstVal
* @param secondVal
* @return
*/
private boolean isNoneEmpty(Object firstVal, Object secondVal) {
String first = null == firstVal ? "" : firstVal.toString();
String second = null == secondVal ? "" : secondVal.toString();
return !StringUtils.isAllBlank(first, second);
}
}

@ -0,0 +1,120 @@
package com.engine.organization.entity.logview.bo;
import java.util.Objects;
/**
*
*
* @author:dxfeng
* @createTime: 2022/07/06
* @version: 1.0
*/
public class FieldInfo {
/**
*
*/
private String fieldName;
/**
*
*/
private Class<?> firstFieldType;
/**
*
*/
private Class<?> secondFieldType;
/**
*
*/
private Object firstVal;
/**
*
*/
private Object secondVal;
public FieldInfo() {
}
public FieldInfo(String fieldName, Class<?> firstFieldType, Class<?> secondFieldType) {
this.fieldName = fieldName;
this.firstFieldType = firstFieldType;
this.secondFieldType = secondFieldType;
}
public FieldInfo(String fieldName, Class<?> fieldType, Object firstVal, Object secondVal) {
this.fieldName = fieldName;
this.firstFieldType = fieldType;
this.secondFieldType = fieldType;
this.firstVal = firstVal;
this.secondVal = secondVal;
}
public FieldInfo(String fieldName, Class<?> firstFieldType, Class<?> secondFieldType, Object firstVal, Object secondVal) {
this.fieldName = fieldName;
this.firstFieldType = firstFieldType;
this.secondFieldType = secondFieldType;
this.firstVal = firstVal;
this.secondVal = secondVal;
}
public String getFieldName() {
return fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public Class<?> getFirstFieldType() {
return firstFieldType;
}
public void setFirstFieldType(Class<?> firstFieldType) {
this.firstFieldType = firstFieldType;
}
public Object getFirstVal() {
return firstVal;
}
public void setFirstVal(Object firstVal) {
this.firstVal = firstVal;
}
public void setSecondFieldType(Class<?> secondFieldType) {
this.secondFieldType = secondFieldType;
}
public Class<?> getSecondFieldType() {
return secondFieldType;
}
public Object getSecondVal() {
return secondVal;
}
public void setSecondVal(Object secondVal) {
this.secondVal = secondVal;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FieldInfo fieldInfo = (FieldInfo) o;
return Objects.equals(fieldName, fieldInfo.fieldName) &&
Objects.equals(firstFieldType, fieldInfo.firstFieldType) &&
Objects.equals(secondFieldType, fieldInfo.secondFieldType) &&
Objects.equals(firstVal, fieldInfo.firstVal) &&
Objects.equals(secondVal, fieldInfo.secondVal);
}
@Override
public int hashCode() {
return Objects.hash(fieldName, firstFieldType, secondFieldType, firstVal, secondVal);
}
@Override
public String toString() {
return "[\"" + fieldName + "\":由\"" + firstVal + "\"修改为\"" + secondVal;
}
}

@ -0,0 +1,168 @@
package com.engine.organization.entity.logview.bo;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
* getter
* <p>
* get is
* <p>
*
* @author:dxfeng
* @createTime: 2022/07/06
* @version: 1.0
*/
public class GetterBaseEquator extends AbstractEquator {
private static final String GET = "get";
private static final String IS = "is";
private static final String GET_IS = "get|is";
private static final String GET_CLASS = "getClass";
private static final Map<Class<?>, Map<String, Method>> CACHE = new ConcurrentHashMap<>();
public GetterBaseEquator() {
}
/**
* @param bothExistFieldOnly
*/
public GetterBaseEquator(boolean bothExistFieldOnly) {
super(bothExistFieldOnly);
}
/**
*
*
* @param includeFields null
* @param excludeFields null
*/
public GetterBaseEquator(List<String> includeFields, List<String> excludeFields) {
super(includeFields, excludeFields);
}
/**
*
*
* @param includeFields null
* @param excludeFields null
* @param bothExistFieldOnly true
*/
public GetterBaseEquator(List<String> includeFields, List<String> excludeFields, boolean bothExistFieldOnly) {
super(includeFields, excludeFields, bothExistFieldOnly);
}
/**
* {@inheritDoc}
*/
@Override
public List<String> getDiffFields(Object first, Object second) {
if (first == null && second == null) {
return Collections.emptyList();
}
// 先尝试判断是否为普通数据类型
if (isSimpleField(first, second)) {
return compareSimpleField(first, second);
}
Set<String> allFieldNames;
// 获取所有字段
Map<String, Method> firstGetters = getAllGetters(first);
Map<String, Method> secondGetters = getAllGetters(second);
if (first == null) {
allFieldNames = secondGetters.keySet();
} else if (second == null) {
allFieldNames = firstGetters.keySet();
} else {
allFieldNames = getAllFieldNames(firstGetters.keySet(), secondGetters.keySet());
}
List<String> diffFields = new LinkedList<>();
for (String fieldName : allFieldNames) {
try {
Method firstGetterMethod = firstGetters.getOrDefault(fieldName, null);
Method secondGetterMethod = secondGetters.getOrDefault(fieldName, null);
Object firstVal = firstGetterMethod != null ? firstGetterMethod.invoke(first) : null;
Object secondVal = secondGetterMethod != null ? secondGetterMethod.invoke(second) : null;
FieldInfo fieldInfo = new FieldInfo(fieldName, getReturnType(firstGetterMethod), getReturnType(secondGetterMethod));
fieldInfo.setFirstVal(firstVal);
fieldInfo.setSecondVal(secondVal);
if (!isFieldEquals(fieldInfo)) {
diffFields.add("[" + fieldName + "]:由" + firstVal + "修改为" + secondVal);
}
} catch (IllegalAccessException | InvocationTargetException e) {
throw new IllegalStateException("获取属性进行比对发生异常: " + fieldName, e);
}
}
return diffFields;
}
private Class<?> getReturnType(Method method) {
return method == null ? null : method.getReturnType();
}
/**
* getter
*
* @return key -> fieldName, value -> getter
*/
private Map<String, Method> getAllGetters(Object obj) {
if (obj == null) {
return Collections.emptyMap();
}
return CACHE.computeIfAbsent(obj.getClass(), k -> {
Class<?> clazz = obj.getClass();
Map<String, Method> getters = new LinkedHashMap<>(8);
while (clazz != Object.class) {
Method[] methods = clazz.getDeclaredMethods();
for (Method m : methods) {
// getter 方法必须是 public 且没有参数的
if (!Modifier.isPublic(m.getModifiers()) || m.getParameterTypes().length > 0) {
continue;
}
if (m.getReturnType() == Boolean.class || m.getReturnType() == boolean.class) {
// 如果返回值是 boolean 则兼容 isXxx 的写法
if (m.getName().startsWith(IS)) {
String fieldName = uncapitalize(m.getName().substring(2));
getters.put(fieldName, m);
continue;
}
}
// 以get开头但排除getClass()方法
if (m.getName().startsWith(GET) && !GET_CLASS.equals(m.getName())) {
String fieldName = uncapitalize(m.getName().replaceFirst(GET_IS, ""));
getters.put(fieldName, m);
}
}
clazz = clazz.getSuperclass(); //得到父类,然后赋给自己
}
return getters;
});
}
/**
* commons-lang3StringUtils
* <p>
* 使
*/
private String uncapitalize(final String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return str;
}
final int firstCodepoint = str.codePointAt(0);
final int newCodePoint = Character.toLowerCase(firstCodepoint);
if (firstCodepoint == newCodePoint) {
return str;
}
final int[] newCodePoints = new int[strLen];
int outOffset = 0;
newCodePoints[outOffset++] = newCodePoint;
for (int inOffset = Character.charCount(firstCodepoint); inOffset < strLen; ) {
final int codepoint = str.codePointAt(inOffset);
newCodePoints[outOffset++] = codepoint;
inOffset += Character.charCount(codepoint);
}
return new String(newCodePoints, 0, outOffset);
}
}

@ -19,7 +19,7 @@ import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@OrganizationTable(pageId = "caef4d3e-fc3d-11ec-a203-00e04c680716",
fields = "t.id, t.operator_name, t.create_time, t.operate_type, t.client_ip, t.operate_module_name,t.operate_desc,t.message",
fields = "t.id, t.operator_name, t.create_time, t.operate_type, t.client_ip, t.operate_module_name,t.operate_desc,t.message,t.value,t.params_str",
fromSql = "FROM hr_log t ",
primarykey = "id",
tableType = WeaTableType.NONE
@ -38,13 +38,19 @@ public class LogViewVO {
@OrganizationTableColumn(text = "操作描述", width = "16%", column = "operate_desc")
private String operateDesc;
@OrganizationTableColumn(text = "对象", width = "16%", column = "value")
private String value;
@OrganizationTableColumn(text = "所属模块", width = "16%", column = "operate_module_name")
private String operateModuleName;
@OrganizationTableColumn(text = "修改详情", width = "16%",column = "message")
@OrganizationTableColumn(text = "修改详情", width = "16%", column = "message")
private String showDetail;
@OrganizationTableColumn(text = "操作IP", width = "16%", column = "client_ip")
private String clientIp;
@OrganizationTableColumn(text = "操作参数", width = "16%", column = "params_str")
private String paramsStr;
}

@ -10,7 +10,10 @@ public enum OperateTypeEnum {
ADD("1", "新增"),
UPDATE("2", "更新"),
DELETE("4", "删除");
DELETE("4", "删除"),
MOVE("5", "转移"),
MERGE("6", "合并"),
COPY("7", "复制");
private String value;

@ -53,6 +53,8 @@ public interface JobMapper {
*/
JobPO getJobById(@Param("id") Long id);
List<JobPO> getJobsByIds(@Param("ids") Collection<Long> ids);
/**
* ID
*

@ -345,6 +345,16 @@
and parent_dept = #{parentDepartment}
<include refid="nullparentJob"/>
</select>
<select id="getJobsByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_job t
where delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<sql id="nullparentJob">
and ifnull(parent_job,0) =

@ -76,4 +76,5 @@ public interface PostInfoMapper {
int deleteByIds(@Param("ids") Collection<Long> ids);
List<PostInfoPO> getPostInfosByIds(@Param("ids") Collection<Long> ids);
}

@ -65,6 +65,15 @@
<include refid="baseColumns"/>
from jcl_org_post_info t where post_info_name = #{postInfoName} and post_id = #{postId} AND delete_type = 0
</select>
<select id="getPostInfosByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_post_info t where delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<update id="updatePostInfo" parameterType="com.engine.organization.entity.postion.po.PostInfoPO">
update jcl_org_post_info

@ -67,4 +67,5 @@ public interface PostMapper {
*/
int deleteByIds(@Param("ids") Collection<Long> ids);
List<PostPO> getPostsByIds(@Param("ids") Collection<Long> ids);
}

@ -49,13 +49,25 @@
</select>
<select id="getTreeData" resultMap="TreeResultMap">
select id , post_name from jcl_org_post where delete_type ='0'
select id, post_name
from jcl_org_post
where delete_type = '0'
</select>
<select id="listByName" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_post t where post_name = #{postName} AND delete_type = 0
</select>
<select id="getPostsByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_post t
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<update id="updatePost" parameterType="com.engine.organization.entity.postion.po.PostPO">
update jcl_org_post
@ -114,7 +126,6 @@
</insert>
<update id="deleteByIds">
UPDATE jcl_org_post
SET delete_type = 1

@ -79,4 +79,6 @@ public interface GradeMapper {
int getCountByTag(@Param("tag") int tag);
List<String> listUsedId();
List<String> getGradeNameByIds(@Param("ids") Collection<Long> ids);
}

@ -59,6 +59,13 @@
from JCL_ORG_JOBDT
where delete_type = 0
</select>
<select id="getGradeNameByIds" resultType="java.lang.String">
select grade_name from jcl_org_grade where delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<update id="updateGrade" parameterType="com.engine.organization.entity.scheme.po.GradePO">
update jcl_org_grade

@ -96,4 +96,6 @@ public interface LevelMapper {
* @return
*/
ArrayList<TreeData> getTreeData();
List<LevelPO> getLevelsByIds(@Param("ids")Collection<Long> ids);
}

@ -80,6 +80,15 @@
from jcl_org_level
where delete_type = '0'
</select>
<select id="getLevelsByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_level t where delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<update id="updateLevel" parameterType="com.engine.organization.entity.scheme.po.LevelPO">
update jcl_org_level

@ -87,4 +87,6 @@ public interface SchemeMapper {
* @return
*/
ArrayList<TreeData> getTreeData();
List<SchemePO> getSchemesByIds(@Param("ids")Collection<Long> ids);
}

@ -78,6 +78,16 @@
from jcl_org_scheme
where delete_type = '0'
</select>
<select id="getSchemesByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_scheme t
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<insert id="insertIgnoreNull" parameterType="com.engine.organization.entity.scheme.po.SchemePO" keyProperty="id"
keyColumn="id" useGeneratedKeys="true">

@ -85,4 +85,5 @@ public interface SequenceMapper {
*/
int getCountByTag(@Param("tag") int tag);
List<SequencePO> getSequencesByIds(Collection<Long> ids);
}

@ -64,6 +64,16 @@
select sequence_id
from JCL_ORG_JOB
</select>
<select id="getSequencesByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_sequence t
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<update id="updateSequence" parameterType="com.engine.organization.entity.sequence.po.SequencePO">
update jcl_org_sequence

@ -50,7 +50,8 @@
delete_type,
operate_module_name,
operate_module,
message
message,
value
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
#{operateDesc},
@ -65,7 +66,8 @@
#{deleteType},
#{operateModuleName},
#{operateModule},
#{message}
#{message},
#{value}
</trim>
</insert>

@ -63,4 +63,6 @@ public interface StaffMapper {
* @return
*/
List<String> listUsedId();
List<StaffPO> getStaffsByIds(@Param("ids") Collection<Long> ids);
}

@ -63,6 +63,16 @@
and job_id = #{jobId}
</if>
</select>
<select id="getStaffsByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_staff t
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<update id="updateStaff" parameterType="com.engine.organization.entity.staff.po.StaffPO">
update jcl_org_staff

@ -72,4 +72,6 @@ public interface StaffPlanMapper {
* @return
*/
List<String> listUsedId();
List<StaffPlanPO> getStaffPlansByIds(@Param("ids") Collection<Long> ids);
}

@ -64,6 +64,16 @@
from JCL_ORG_STAFF
where delete_type = 0
</select>
<select id="getStaffPlansByIds" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_staffplan t
WHERE delete_type = 0
AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<update id="updateStaffPlan" parameterType="com.engine.organization.entity.staff.po.StaffPlanPO">
update jcl_org_staffplan

@ -22,6 +22,15 @@ public class LogViewTransMethod {
case "4":
operateType = OperateTypeEnum.DELETE.getLabel();
break;
case "5":
operateType = OperateTypeEnum.MOVE.getLabel();
break;
case "6":
operateType = OperateTypeEnum.MERGE.getLabel();
break;
case "7":
operateType = OperateTypeEnum.COPY.getLabel();
break;
default:
break;
}

@ -9,8 +9,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.Arrays;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@ -46,7 +44,6 @@ public class LogAspect<T> {
boolean f = method.isAnnotationPresent(Log.class);
if (f) {
Log annotation = method.getAnnotation(Log.class);
Parameter[] parameters = method.getParameters();
String value = annotation.operateType().getValue();
String operateDesc = annotation.operateDesc();
String operateModuleName = annotation.operateModule().getName();
@ -54,7 +51,6 @@ public class LogAspect<T> {
loggerContext.setOperateDesc(operateDesc);
loggerContext.setCreateTime(new Date());
loggerContext.setOperateType(value);
loggerContext.setParamsStr(Arrays.toString(parameters));
loggerContext.setMethodName(method.getName());
loggerContext.setClassName(clazz.getName());
loggerContext.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());

@ -1,9 +1,13 @@
package com.engine.organization.util;
import com.alibaba.fastjson.JSON;
import com.engine.core.impl.Service;
import com.engine.organization.entity.LoggerContext;
import com.engine.organization.entity.logview.bo.FieldBaseEquator;
import org.apache.commons.collections.CollectionUtils;
import java.lang.reflect.Method;
import java.util.List;
/**
* @author:dxfeng
@ -12,19 +16,50 @@ import java.lang.reflect.Method;
*/
public class OrganizationWrapper extends Service {
/**
*
*
* @param clazz
* @param message
* @param clazz
* @param value
* @param params
* @param before
* @param after
*/
public void writeOperateLog(Class clazz,
String message) {
public void writeOperateLog(Class clazz, String value, String params,
Object before, Object after) {
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();
LoggerContext loggerContext;
if (null != before) {
if (null != after) {
FieldBaseEquator fieldBaseEquator = new FieldBaseEquator();
List<String> diffFields = fieldBaseEquator.getDiffFields(before, after);
if (CollectionUtils.isEmpty(diffFields)) {
return;
}
StringBuilder message = new StringBuilder();
for (int i = 0; i < diffFields.size(); i++) {
message.append(i + 1).append(".").append(diffFields.get(i)).append("<br/>");
}
loggerContext = LoggerContext.builder().operatorId(user.getUID()).value(value).clientIp(user.getLoginip()).paramsStr(params).operatorName(user.getLastname()).message(message.toString()).build();
} else {
loggerContext = LoggerContext.builder().operatorId(user.getUID()).value(value).clientIp(user.getLoginip()).paramsStr(params).operatorName(user.getLastname()).message(JSON.toJSONString(before)).build();
}
LogAspect logAspect = new LogAspect(clazz, method, loggerContext);
logAspect.start();
}
}
/**
* @param clazz
* @param value
* @param params
* @param message
*/
public void writeOperateLog(Class clazz, String value, String params,
String message) {
writeOperateLog(clazz, value, params, message, null);
}

@ -184,7 +184,7 @@ public class JobController {
public ReturnResult copyJobItem(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody JobCopyParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(getJobWrapper(user).copyJobItem(param.getIds(), param.getDepartment()));
return ReturnResult.successed(getJobWrapper(user).copyJobItem(param));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}

@ -5,12 +5,15 @@ import com.api.browser.bean.SearchConditionGroup;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.company.param.CompSearchParam;
import com.engine.organization.entity.company.po.CompPO;
import com.engine.organization.entity.department.param.DepartmentMoveParam;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.comp.CompMapper;
import com.engine.organization.service.CompService;
import com.engine.organization.service.impl.CompServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
@ -28,6 +31,10 @@ public class CompWrapper extends OrganizationWrapper {
return ServiceUtil.getService(CompServiceImpl.class, user);
}
private CompMapper getCompMapper() {
return MapperProxyFactory.getProxy(CompMapper.class);
}
/**
*
*
@ -49,7 +56,7 @@ public class CompWrapper extends OrganizationWrapper {
public Long saveBaseComp(Map<String, Object> params) {
Long companyId = getCompService(user).saveBaseComp(params);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(params));
}.getClass(), params.get("comp_name").toString(), JSON.toJSONString(params), "新增分部");
return companyId;
}
@ -60,9 +67,10 @@ public class CompWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新分部禁用标识", operateModule = LogModuleNameEnum.COMPANY)
public int updateForbiddenTagById(CompSearchParam params) {
CompPO compPO = getCompMapper().listById(params.getId());
int updateForbiddenTagById = getCompService(user).updateForbiddenTagById(params);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(params));
}.getClass(), compPO.getCompName(), JSON.toJSONString(params), compPO, getCompMapper().listById(params.getId()));
return updateForbiddenTagById;
}
@ -74,9 +82,11 @@ public class CompWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新分部信息", operateModule = LogModuleNameEnum.COMPANY)
public Long updateComp(Map<String, Object> params) {
long id = Long.parseLong(params.get("id").toString());
CompPO compPO = getCompMapper().listById(id);
Long companyId = getCompService(user).updateComp(params);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(params));
}.getClass(), compPO.getCompName(), JSON.toJSONString(params), compPO, getCompMapper().listById(id));
return companyId;
}
@ -87,9 +97,12 @@ public class CompWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.DELETE, operateDesc = "删除分部信息", operateModule = LogModuleNameEnum.COMPANY)
public int deleteByIds(Collection<Long> ids) {
List<CompPO> compsByIds = getCompMapper().getCompsByIds(ids);
int deleteByIds = getCompService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(ids));
for (CompPO compsById : compsByIds) {
writeOperateLog(new Object() {
}.getClass(), compsById.getCompName(), JSON.toJSONString(ids), "删除分部信息");
}
return deleteByIds;
}
@ -99,11 +112,12 @@ public class CompWrapper extends OrganizationWrapper {
* @param moveParam
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "转移分部", operateModule = LogModuleNameEnum.COMPANY)
@Log(operateType = OperateTypeEnum.MOVE, operateDesc = "转移分部", operateModule = LogModuleNameEnum.COMPANY)
public int moveCompany(DepartmentMoveParam moveParam) {
CompPO compPO = getCompMapper().listById(moveParam.getId());
int moveCompany = getCompService(user).moveCompany(moveParam);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(moveParam));
}.getClass(), compPO.getCompName(), JSON.toJSONString(moveParam), compPO, getCompMapper().listById(moveParam.getId()));
return moveCompany;
}

@ -27,7 +27,7 @@ public class DemoWrapper extends OrganizationWrapper {
@Log(operateType = OperateTypeEnum.DELETE, operateDesc = "operateDesc")
public ReturnResult testDemo(String name) {
List<Demo> list = getDemoService(user).list(name);
writeOperateLog(new Object(){}.getClass(), "记录testDemo操作日志");
//writeOperateLog(new Object(){}.getClass(), "记录testDemo操作日志");
return ReturnResult.successed(list);
}
}

@ -4,15 +4,19 @@ import com.alibaba.fastjson.JSON;
import com.api.browser.bean.SearchConditionGroup;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.DeleteParam;
import com.engine.organization.entity.department.param.*;
import com.engine.organization.entity.department.po.DepartmentPO;
import com.engine.organization.entity.department.vo.SingleDeptTreeVO;
import com.engine.organization.entity.job.vo.SingleJobTreeVO;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.department.DepartmentMapper;
import com.engine.organization.service.DepartmentService;
import com.engine.organization.service.impl.DepartmentServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.page.PageInfo;
import com.engine.organization.util.response.ReturnResult;
import weaver.hrm.User;
@ -33,6 +37,10 @@ public class DepartmentWrapper extends OrganizationWrapper {
return ServiceUtil.getService(DepartmentServiceImpl.class, user);
}
private DepartmentMapper getDepartmentMapper() {
return MapperProxyFactory.getProxy(DepartmentMapper.class);
}
public ReturnResult getDeptListByPid(QuerySingleDeptListParam param) {
PageInfo<SingleDeptTreeVO> singleDeptTreeVOS = getDepartmentService(user).getDeptListByPid(param);
return ReturnResult.successed(singleDeptTreeVOS);
@ -87,7 +95,7 @@ public class DepartmentWrapper extends OrganizationWrapper {
public Long saveBaseForm(Map<String, Object> params) {
Long departmentId = getDepartmentService(user).saveBaseForm(params);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(params));
}.getClass(), params.get("dept_name").toString(), JSON.toJSONString(params), "新增部门");
return departmentId;
}
@ -99,9 +107,10 @@ public class DepartmentWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新部门禁用标记", operateModule = LogModuleNameEnum.DEPARTMENT)
public int updateForbiddenTagById(DeptSearchParam params) {
DepartmentPO deptById = getDepartmentMapper().getDeptById(params.getId());
int updateForbiddenTagById = getDepartmentService(user).updateForbiddenTagById(params);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(params));
}.getClass(), deptById.getDeptName(), JSON.toJSONString(params), deptById, getDepartmentMapper().getDeptById(params.getId()));
return updateForbiddenTagById;
}
@ -111,11 +120,13 @@ public class DepartmentWrapper extends OrganizationWrapper {
* @param params
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新部门信息", operateModule = LogModuleNameEnum.DEPARTMENT)
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新部门", operateModule = LogModuleNameEnum.DEPARTMENT)
public Long updateForm(Map<String, Object> params) {
long id = Long.parseLong(params.get("id").toString());
DepartmentPO deptById = getDepartmentMapper().getDeptById(id);
Long departmentId = getDepartmentService(user).updateForm(params);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(params));
}.getClass(), deptById.getDeptName(), JSON.toJSONString(params), deptById, getDepartmentMapper().getDeptById(id));
return departmentId;
}
@ -126,9 +137,12 @@ public class DepartmentWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.DELETE, operateDesc = "删除部门", operateModule = LogModuleNameEnum.DEPARTMENT)
public int deleteByIds(Collection<Long> ids) {
List<DepartmentPO> departmentPOS = getDepartmentMapper().getDeptsByIds(ids);
int deleteByIds = getDepartmentService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(ids));
for (DepartmentPO departmentPO : departmentPOS) {
writeOperateLog(new Object() {
}.getClass(), departmentPO.getDeptName(), JSON.toJSONString(ids), "删除部门");
}
return deleteByIds;
}
@ -176,11 +190,14 @@ public class DepartmentWrapper extends OrganizationWrapper {
* @param copyParam
* @return
*/
@Log(operateType = OperateTypeEnum.ADD, operateDesc = "复制部门", operateModule = LogModuleNameEnum.DEPARTMENT)
@Log(operateType = OperateTypeEnum.COPY, operateDesc = "复制部门", operateModule = LogModuleNameEnum.DEPARTMENT)
public int copyDepartment(DeptCopyParam copyParam) {
List<DepartmentPO> departmentPOS = getDepartmentMapper().getDeptsByIds(DeleteParam.builder().ids(copyParam.getIds()).build().getIds());
int copyDepartment = getDepartmentService(user).copyDepartment(copyParam);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(copyParam));
for (DepartmentPO departmentPO : departmentPOS) {
writeOperateLog(new Object() {
}.getClass(), departmentPO.getDeptName(), JSON.toJSONString(copyParam), "复制部门[" + departmentPO.getDeptName() + "]");
}
return copyDepartment;
}
@ -200,11 +217,12 @@ public class DepartmentWrapper extends OrganizationWrapper {
* @param mergeParam
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "合并部门", operateModule = LogModuleNameEnum.DEPARTMENT)
@Log(operateType = OperateTypeEnum.MERGE, operateDesc = "合并部门", operateModule = LogModuleNameEnum.DEPARTMENT)
public int mergeDepartment(DepartmentMergeParam mergeParam) {
DepartmentPO departmentPO = getDepartmentMapper().getDeptById(mergeParam.getId());
int mergeDepartment = getDepartmentService(user).mergeDepartment(mergeParam);
writeOperateLog(new Object() {
}.getClass(), "合并部门【" + JSON.toJSONString(mergeParam) + "】");
}.getClass(), departmentPO.getDeptName(), JSON.toJSONString(mergeParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId()));
return mergeDepartment;
}
@ -223,11 +241,12 @@ public class DepartmentWrapper extends OrganizationWrapper {
* @param moveParam
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "转移部门", operateModule = LogModuleNameEnum.DEPARTMENT)
@Log(operateType = OperateTypeEnum.MOVE, operateDesc = "转移部门", operateModule = LogModuleNameEnum.DEPARTMENT)
public int moveDepartment(DepartmentMoveParam moveParam) {
DepartmentPO departmentPO = getDepartmentMapper().getDeptById(moveParam.getId());
int moveDepartment = getDepartmentService(user).moveDepartment(moveParam);
writeOperateLog(new Object() {
}.getClass(), "转移部门【" + JSON.toJSONString(moveParam) + "】");
}.getClass(), departmentPO.getDeptName(), JSON.toJSONString(moveParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId()));
return moveDepartment;
}
}

@ -5,15 +5,18 @@ import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.scheme.param.GradeSearchParam;
import com.engine.organization.entity.scheme.po.GradePO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.scheme.GradeMapper;
import com.engine.organization.service.GradeService;
import com.engine.organization.service.impl.GradeServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import org.apache.ibatis.annotations.Param;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@ -29,6 +32,10 @@ public class GradeWrapper extends OrganizationWrapper {
return ServiceUtil.getService(GradeServiceImpl.class, user);
}
private GradeMapper getGradeMapper() {
return MapperProxyFactory.getProxy(GradeMapper.class);
}
/**
*
@ -46,11 +53,11 @@ public class GradeWrapper extends OrganizationWrapper {
* @param param
* @return
*/
@Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.GRADE, operateDesc = "新增职")
@Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.GRADE, operateDesc = "新增职")
public int saveGrade(GradeSearchParam param) {
int saveGrade = getGradeService(user).saveGrade(param);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(param));
}.getClass(), param.getGradeName(), JSON.toJSONString(param), "新增职级");
return saveGrade;
}
@ -62,9 +69,10 @@ public class GradeWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.GRADE, operateDesc = "更新职级")
public int updateGrade(GradeSearchParam param) {
GradePO original = getGradeMapper().getGradeByID(param.getId());
int updateGrade = getGradeService(user).updateGrade(param);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(param));
}.getClass(), original.getGradeName(), JSON.toJSONString(param), original, getGradeMapper().getGradeByID(param.getId()));
return updateGrade;
}
@ -75,9 +83,10 @@ public class GradeWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.GRADE, operateDesc = "更新职级禁用标识")
public int updateForbiddenTagById(GradeSearchParam params) {
GradePO original = getGradeMapper().getGradeByID(params.getId());
int updateForbiddenTagById = getGradeService(user).updateForbiddenTagById(params);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(params));
}.getClass(), original.getGradeName(), JSON.toJSONString(params), original, getGradeMapper().getGradeByID(params.getId()));
return updateForbiddenTagById;
}
@ -86,11 +95,14 @@ public class GradeWrapper extends OrganizationWrapper {
*
* @param ids
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.GRADE, operateDesc = "删除职等")
public int deleteByIds(@Param("ids") Collection<Long> ids) {
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.GRADE, operateDesc = "删除职级")
public int deleteByIds(Collection<Long> ids) {
List<String> gradeNameByIds = getGradeMapper().getGradeNameByIds(ids);
int deleteByIds = getGradeService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), JSON.toJSONString(ids));
for (String gradeName : gradeNameByIds) {
writeOperateLog(new Object() {
}.getClass(), gradeName, JSON.toJSONString(ids), "删除职级");
}
return deleteByIds;
}

@ -1,10 +1,6 @@
package com.engine.organization.wrapper;
import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.service.GroupService;
import com.engine.organization.service.impl.GroupServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
@ -40,11 +36,8 @@ public class GroupWrapper extends OrganizationWrapper {
* @param params
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.GROUP, operateDesc = "更新集团")
public boolean updateGroup(Map<String, Object> params) {
boolean updateGroup = getGroupService(user).updateGroup(params);
writeOperateLog(new Object() {
}.getClass(), "更新集团【" + JSON.toJSONString(params) + "】");
return updateGroup;
}

@ -1,12 +1,8 @@
package com.engine.organization.wrapper;
import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.service.HrmResourceService;
import com.engine.organization.service.impl.HrmResourceServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
@ -37,11 +33,8 @@ public class HrmResourceWrapper extends OrganizationWrapper {
return getHrmResourceService(user).getSaveForm();
}
@Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.RESOURCE, operateDesc = "新增人员")
public Long saveBaseForm(Map<String, Object> params) {
Long resourceId = getHrmResourceService(user).saveBaseForm(params);
writeOperateLog(new Object() {
}.getClass(), "新增人员【" + JSON.toJSONString(params) + "】");
return resourceId;
}
@ -49,11 +42,8 @@ public class HrmResourceWrapper extends OrganizationWrapper {
return getHrmResourceService(user).getBaseForm(params);
}
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.RESOURCE, operateDesc = "更新人员信息")
public int updateForm(Map<String, Object> params) {
int updateForm = getHrmResourceService(user).updateForm(params);
writeOperateLog(new Object() {
}.getClass(), "更新人员信息【" + JSON.toJSONString(params) + "】");
return updateForm;
}

@ -5,15 +5,20 @@ import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.DeleteParam;
import com.engine.organization.entity.job.param.JobCopyParam;
import com.engine.organization.entity.job.param.JobMergeParam;
import com.engine.organization.entity.job.param.JobSearchParam;
import com.engine.organization.entity.job.po.JobPO;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.service.JobService;
import com.engine.organization.service.impl.JobServiceImpl;
import com.engine.organization.util.OrganizationFormItemUtil;
import com.engine.organization.util.OrganizationWrapper;
import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.response.ReturnResult;
import weaver.hrm.User;
@ -33,6 +38,10 @@ public class JobWrapper extends OrganizationWrapper {
return ServiceUtil.getService(JobServiceImpl.class, user);
}
private JobMapper getJobMapper() {
return MapperProxyFactory.getProxy(JobMapper.class);
}
/**
*
*
@ -101,7 +110,7 @@ public class JobWrapper extends OrganizationWrapper {
public Long saveBaseForm(Map<String, Object> params) {
Long jobId = getJobService(user).saveBaseForm(params);
writeOperateLog(new Object() {
}.getClass(), "新增岗位【" + JSON.toJSONString(params) + "】");
}.getClass(), params.get("job_name").toString(), JSON.toJSONString(params), "新增岗位");
return jobId;
}
@ -111,26 +120,30 @@ public class JobWrapper extends OrganizationWrapper {
* @param params
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "更新岗位信息")
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "更新岗位")
public Long updateForm(Map<String, Object> params) {
long id = Long.parseLong(params.get("id").toString());
JobPO jobById = getJobMapper().getJobById(id);
Long jobId = getJobService(user).updateForm(params);
writeOperateLog(new Object() {
}.getClass(), "更新岗位信息【" + JSON.toJSONString(params) + "】");
}.getClass(), jobById.getJobName(), JSON.toJSONString(params), jobById, getJobMapper().getJobById(id));
return jobId;
}
/**
*
*
* @param ids
* @param department
* @param param
* @return
*/
@Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.JOB, operateDesc = "复制岗位到部门")
public int copyJobItem(String ids, String department) {
int copyJobItem = getJobService(user).copyJobItem(ids, department);
writeOperateLog(new Object() {
}.getClass(), "复制岗位到部门,岗位ID【" + ids + "】,部门ID【" + department + "】");
@Log(operateType = OperateTypeEnum.COPY, operateModule = LogModuleNameEnum.JOB, operateDesc = "复制岗位")
public int copyJobItem(JobCopyParam param) {
List<JobPO> jobPOS = getJobMapper().getJobsByIds(DeleteParam.builder().ids(param.getIds()).build().getIds());
int copyJobItem = getJobService(user).copyJobItem(param.getIds(), param.getDepartment());
for (JobPO jobPO : jobPOS) {
writeOperateLog(new Object() {
}.getClass(), jobPO.getJobName(), JSON.toJSONString(param), "复制岗位[" + jobPO.getJobName() + "]");
}
return copyJobItem;
}
@ -142,9 +155,10 @@ public class JobWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "更新岗位禁用标识")
public int updateForbiddenTagById(JobSearchParam params) {
JobPO jobById = getJobMapper().getJobById(params.getId());
int updateForbiddenTagById = getJobService(user).updateForbiddenTagById(params);
writeOperateLog(new Object() {
}.getClass(), "更新岗位禁用标识【" + JSON.toJSONString(params) + "】");
}.getClass(), jobById.getJobNo(), JSON.toJSONString(params), jobById, getJobMapper().getJobById(params.getId()));
return updateForbiddenTagById;
}
@ -154,11 +168,14 @@ public class JobWrapper extends OrganizationWrapper {
* @param ids
* @return
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.JOB, operateDesc = "删除岗位信息")
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.JOB, operateDesc = "删除岗位")
public int deleteByIds(Collection<Long> ids) {
List<JobPO> jobPOS = getJobMapper().getJobsByIds(ids);
int deleteByIds = getJobService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "删除岗位信息【" + JSON.toJSONString(ids) + "】");
for (JobPO jobPO : jobPOS) {
writeOperateLog(new Object() {
}.getClass(), jobPO.getJobName(), JSON.toJSONString(ids), "删除岗位");
}
return deleteByIds;
}
@ -193,11 +210,13 @@ public class JobWrapper extends OrganizationWrapper {
return getJobService(user).getMergeForm();
}
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "合并岗位")
@Log(operateType = OperateTypeEnum.MERGE, operateModule = LogModuleNameEnum.JOB, operateDesc = "合并岗位")
public int mergeJob(JobMergeParam mergeParam) {
JobPO jobById = getJobMapper().getJobById(mergeParam.getId());
int mergeJob = getJobService(user).mergeJob(mergeParam);
writeOperateLog(new Object() {
}.getClass(), "合并岗位【" + JSON.toJSONString(mergeParam) + "】");
}.getClass(), jobById.getJobNo(), JSON.toJSONString(mergeParam), jobById, getJobMapper().getJobById(mergeParam.getId()));
return mergeJob;
}
}

@ -5,15 +5,18 @@ import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.TreeData;
import com.engine.organization.entity.scheme.param.LevelSearchParam;
import com.engine.organization.entity.scheme.po.LevelPO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.scheme.LevelMapper;
import com.engine.organization.service.LevelService;
import com.engine.organization.service.impl.LevelServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import org.apache.ibatis.annotations.Param;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@ -27,6 +30,10 @@ public class LevelWrapper extends OrganizationWrapper {
return ServiceUtil.getService(LevelServiceImpl.class, user);
}
private LevelMapper getLevelMapper() {
return MapperProxyFactory.getProxy(LevelMapper.class);
}
/**
*
*
@ -47,7 +54,7 @@ public class LevelWrapper extends OrganizationWrapper {
public int saveLevel(LevelSearchParam param) {
int saveLevel = getLevelService(user).saveLevel(param);
writeOperateLog(new Object() {
}.getClass(), "新增职等【" + JSON.toJSONString(param) + "】");
}.getClass(), param.getLevelName(), JSON.toJSONString(param), "新增职等");
return saveLevel;
}
@ -59,9 +66,10 @@ public class LevelWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.LEVEL, operateDesc = "更新职等")
public int updateLevel(LevelSearchParam param) {
LevelPO levelByID = getLevelMapper().getLevelByID(param.getId());
int updateLevel = getLevelService(user).updateLevel(param);
writeOperateLog(new Object() {
}.getClass(), "更新职等【" + JSON.toJSONString(param) + "】");
}.getClass(), levelByID.getLevelName(), JSON.toJSONString(param), levelByID, getLevelMapper().getLevelByID(param.getId()));
return updateLevel;
}
@ -72,9 +80,10 @@ public class LevelWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.LEVEL, operateDesc = "更新职等禁用标识")
public int updateForbiddenTagById(LevelSearchParam params) {
LevelPO levelByID = getLevelMapper().getLevelByID(params.getId());
int updateForbiddenTagById = getLevelService(user).updateForbiddenTagById(params);
writeOperateLog(new Object() {
}.getClass(), "更新职等禁用标识【" + JSON.toJSONString(params) + "】");
}.getClass(), levelByID.getLevelName(), JSON.toJSONString(params), levelByID, getLevelMapper().getLevelByID(params.getId()));
return updateForbiddenTagById;
}
@ -84,10 +93,13 @@ public class LevelWrapper extends OrganizationWrapper {
* @param ids
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.LEVEL, operateDesc = "删除职等")
public int deleteByIds(@Param("ids") Collection<Long> ids) {
public int deleteByIds(Collection<Long> ids) {
List<LevelPO> levelPOS = getLevelMapper().getLevelsByIds(ids);
int deleteByIds = getLevelService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "删除职等【" + JSON.toJSONString(ids) + "】");
for (LevelPO levelPO : levelPOS) {
writeOperateLog(new Object() {
}.getClass(), levelPO.getLevelName(), JSON.toJSONString(ids), "删除职等");
}
return deleteByIds;
}

@ -4,15 +4,18 @@ import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.postion.param.PostInfoSearchParam;
import com.engine.organization.entity.postion.po.PostInfoPO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.post.PostInfoMapper;
import com.engine.organization.service.PostInfoService;
import com.engine.organization.service.impl.PostInfoServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import org.apache.ibatis.annotations.Param;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@ -26,6 +29,10 @@ public class PostInfoWrapper extends OrganizationWrapper {
return ServiceUtil.getService(PostInfoServiceImpl.class, user);
}
private PostInfoMapper getPostInfoMapper() {
return MapperProxyFactory.getProxy(PostInfoMapper.class);
}
/**
*
*
@ -46,7 +53,8 @@ public class PostInfoWrapper extends OrganizationWrapper {
public int savePostInfo(PostInfoSearchParam param) {
int savePostInfo = getPostInfoService(user).savePostInfo(param);
writeOperateLog(new Object() {
}.getClass(), "新增职务信息【" + JSON.toJSONString(param) + "】");
}.getClass(), param.getPostInfoName(), JSON.toJSONString(param), "新增职务信息");
return savePostInfo;
}
@ -58,9 +66,10 @@ public class PostInfoWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.POSTINFO, operateDesc = "更新职务信息")
public int updatePostInfo(PostInfoSearchParam param) {
PostInfoPO postInfoByID = getPostInfoMapper().getPostInfoByID(param.getId());
int updatePostInfo = getPostInfoService(user).updatePostInfo(param);
writeOperateLog(new Object() {
}.getClass(), "更新职务信息【" + JSON.toJSONString(param) + "】");
}.getClass(), postInfoByID.getPostInfoName(), JSON.toJSONString(param), postInfoByID, getPostInfoMapper().getPostInfoByID(param.getId()));
return updatePostInfo;
}
@ -71,9 +80,10 @@ public class PostInfoWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.POSTINFO, operateDesc = "更新职务信息禁用标识")
public int updateForbiddenTagById(PostInfoSearchParam params) {
PostInfoPO postInfoByID = getPostInfoMapper().getPostInfoByID(params.getId());
int updateForbiddenTagById = getPostInfoService(user).updateForbiddenTagById(params);
writeOperateLog(new Object() {
}.getClass(), "更新职务信息禁用标识【" + JSON.toJSONString(params) + "】");
}.getClass(), postInfoByID.getPostInfoName(), JSON.toJSONString(params), postInfoByID, getPostInfoMapper().getPostInfoByID(params.getId()));
return updateForbiddenTagById;
}
@ -83,10 +93,13 @@ public class PostInfoWrapper extends OrganizationWrapper {
* @param ids
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.POSTINFO, operateDesc = "删除职务信息")
public int deleteByIds(@Param("ids") Collection<Long> ids) {
public int deleteByIds(Collection<Long> ids) {
List<PostInfoPO> postInfoPOS = getPostInfoMapper().getPostInfosByIds(ids);
int deleteByIds = getPostInfoService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "删除职务信息【" + JSON.toJSONString(ids) + "】");
for (PostInfoPO postInfoPO : postInfoPOS) {
writeOperateLog(new Object() {
}.getClass(), postInfoPO.getPostInfoName(), JSON.toJSONString(ids), "删除职务信息");
}
return deleteByIds;
}

@ -7,13 +7,15 @@ import com.engine.organization.entity.TreeData;
import com.engine.organization.entity.postion.po.PostPO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.post.PostMapper;
import com.engine.organization.service.PostService;
import com.engine.organization.service.impl.PostServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import org.apache.ibatis.annotations.Param;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@ -27,6 +29,10 @@ public class PostWrapper extends OrganizationWrapper {
return ServiceUtil.getService(PostServiceImpl.class, user);
}
private PostMapper getPostMapper() {
return MapperProxyFactory.getProxy(PostMapper.class);
}
/**
*
*
@ -37,7 +43,7 @@ public class PostWrapper extends OrganizationWrapper {
public int savePost(PostPO postPO) {
int savePost = getPostService(user).savePost(postPO);
writeOperateLog(new Object() {
}.getClass(), "新增职等【" + JSON.toJSONString(postPO) + "】");
}.getClass(), postPO.getPostName(), JSON.toJSONString(postPO), "新增职务分类");
return savePost;
}
@ -49,9 +55,10 @@ public class PostWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.POST, operateDesc = "更新职务分类")
public int updatePost(PostPO postPO) {
PostPO postByID = getPostMapper().getPostByID(postPO.getId());
int updatePost = getPostService(user).updatePost(postPO);
writeOperateLog(new Object() {
}.getClass(), "更新职务分类【" + JSON.toJSONString(postPO) + "】");
}.getClass(), postByID.getPostName(), JSON.toJSONString(postPO), postByID, getPostMapper().getPostByID(postPO.getId()));
return updatePost;
}
@ -61,10 +68,13 @@ public class PostWrapper extends OrganizationWrapper {
* @param ids
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.POST, operateDesc = "删除职务分类")
public int deleteByIds(@Param("ids") Collection<Long> ids) {
public int deleteByIds(Collection<Long> ids) {
List<PostPO> postPOS = getPostMapper().getPostsByIds(ids);
int deleteByIds = getPostService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "删除职务分类【" + JSON.toJSONString(ids) + "】");
for (PostPO postPO : postPOS) {
writeOperateLog(new Object() {
}.getClass(), postPO.getPostName(), JSON.toJSONString(ids), "删除职务分类");
}
return deleteByIds;
}
@ -80,6 +90,7 @@ public class PostWrapper extends OrganizationWrapper {
/**
*
*
* @return
*/
public TreeData getTreeData() {

@ -5,12 +5,14 @@ import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.fieldset.vo.TypeTreeVO;
import com.engine.organization.entity.scheme.param.SchemeSearchParam;
import com.engine.organization.entity.scheme.po.SchemePO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.scheme.SchemeMapper;
import com.engine.organization.service.SchemeService;
import com.engine.organization.service.impl.SchemeServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import org.apache.ibatis.annotations.Param;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
@ -29,6 +31,10 @@ public class SchemeWrapper extends OrganizationWrapper {
return ServiceUtil.getService(SchemeServiceImpl.class, user);
}
private SchemeMapper getSchemeMapper() {
return MapperProxyFactory.getProxy(SchemeMapper.class);
}
/**
*
*
@ -49,7 +55,7 @@ public class SchemeWrapper extends OrganizationWrapper {
public int save(SchemeSearchParam param) {
int save = getSchemeService(user).save(param);
writeOperateLog(new Object() {
}.getClass(), "新增等级方案【" + JSON.toJSONString(param) + "】");
}.getClass(), param.getSchemeName(), JSON.toJSONString(param), "新增等级方案");
return save;
}
@ -61,9 +67,10 @@ public class SchemeWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.SCHEME, operateDesc = "更新等级方案")
public int updateScheme(SchemeSearchParam param) {
SchemePO schemeByID = getSchemeMapper().getSchemeByID(param.getId());
int updateScheme = getSchemeService(user).updateScheme(param);
writeOperateLog(new Object() {
}.getClass(), "更新等级方案【" + JSON.toJSONString(param) + "】");
}.getClass(), schemeByID.getSchemeName(), JSON.toJSONString(param), schemeByID, getSchemeMapper().getSchemeByID(param.getId()));
return updateScheme;
}
@ -74,9 +81,10 @@ public class SchemeWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.SCHEME, operateDesc = "更新等级方案禁用标识")
public int updateForbiddenTagById(SchemeSearchParam params) {
SchemePO schemeByID = getSchemeMapper().getSchemeByID(params.getId());
int updateForbiddenTagById = getSchemeService(user).updateForbiddenTagById(params);
writeOperateLog(new Object() {
}.getClass(), "更新等级方案禁用标识【" + JSON.toJSONString(params) + "】");
}.getClass(), schemeByID.getSchemeName(), JSON.toJSONString(params), schemeByID, getSchemeMapper().getSchemeByID(params.getId()));
return updateForbiddenTagById;
}
@ -86,10 +94,14 @@ public class SchemeWrapper extends OrganizationWrapper {
* @param ids
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.SCHEME, operateDesc = "删除等级方案")
public int deleteByIds(@Param("ids") Collection<Long> ids) {
public int deleteByIds(Collection<Long> ids) {
List<SchemePO> schemePOS = getSchemeMapper().getSchemesByIds(ids);
int deleteByIds = getSchemeService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "更新等级方案禁用标识【" + JSON.toJSONString(ids) + "】");
for (SchemePO schemePO : schemePOS) {
writeOperateLog(new Object() {
}.getClass(), schemePO.getSchemeName(), JSON.toJSONString(ids), "删除等级方案");
}
return deleteByIds;
}

@ -4,15 +4,18 @@ import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.sequence.param.SequenceSearchParam;
import com.engine.organization.entity.sequence.po.SequencePO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.sequence.SequenceMapper;
import com.engine.organization.service.SequenceService;
import com.engine.organization.service.impl.SequenceServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import org.apache.ibatis.annotations.Param;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@ -26,6 +29,10 @@ public class SequenceWrapper extends OrganizationWrapper {
return ServiceUtil.getService(SequenceServiceImpl.class, user);
}
private SequenceMapper getSequenceMapper() {
return MapperProxyFactory.getProxy(SequenceMapper.class);
}
/**
*
*
@ -46,7 +53,7 @@ public class SequenceWrapper extends OrganizationWrapper {
public int saveSequence(SequenceSearchParam param) {
int saveSequence = getSequenceService(user).saveSequence(param);
writeOperateLog(new Object() {
}.getClass(), "新增岗位序列【" + JSON.toJSONString(param) + "】");
}.getClass(), param.getSequenceName(), JSON.toJSONString(param), "新增岗位序列");
return saveSequence;
}
@ -58,22 +65,24 @@ public class SequenceWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.SEQUENCE, operateDesc = "更新岗位序列")
public int updateSequence(SequenceSearchParam param) {
SequencePO sequenceByID = getSequenceMapper().getSequenceByID(param.getId());
int updateSequence = getSequenceService(user).updateSequence(param);
writeOperateLog(new Object() {
}.getClass(), "更新岗位序列【" + JSON.toJSONString(param) + "】");
}.getClass(), sequenceByID.getSequenceName(), JSON.toJSONString(param), sequenceByID, getSequenceMapper().getSequenceByID(param.getId()));
return updateSequence;
}
/**
*
*
* @param params
* @param param
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.SEQUENCE, operateDesc = "更新岗位序列禁用标识")
public int updateForbiddenTagById(SequenceSearchParam params) {
int updateForbiddenTagById = getSequenceService(user).updateForbiddenTagById(params);
public int updateForbiddenTagById(SequenceSearchParam param) {
SequencePO sequenceByID = getSequenceMapper().getSequenceByID(param.getId());
int updateForbiddenTagById = getSequenceService(user).updateForbiddenTagById(param);
writeOperateLog(new Object() {
}.getClass(), "更新岗位序列禁用标识【" + JSON.toJSONString(params) + "】");
}.getClass(), sequenceByID.getSequenceName(), JSON.toJSONString(param), sequenceByID, getSequenceMapper().getSequenceByID(param.getId()));
return updateForbiddenTagById;
}
@ -83,10 +92,13 @@ public class SequenceWrapper extends OrganizationWrapper {
* @param ids
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.SEQUENCE, operateDesc = "删除岗位序列")
public int deleteByIds(@Param("ids") Collection<Long> ids) {
public int deleteByIds( Collection<Long> ids) {
List<SequencePO> sequencePOS = getSequenceMapper().getSequencesByIds(ids);
int deleteByIds = getSequenceService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "删除岗位序列【" + JSON.toJSONString(ids) + "】");
for (SequencePO sequencePO : sequencePOS) {
writeOperateLog(new Object() {
}.getClass(), sequencePO.getSequenceName(), JSON.toJSONString(ids), "删除岗位序列");
}
return deleteByIds;
}

@ -4,15 +4,19 @@ import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.staff.param.StaffPlanSearchParam;
import com.engine.organization.entity.staff.po.StaffPlanPO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.staff.StaffPlanMapper;
import com.engine.organization.service.StaffPlanService;
import com.engine.organization.service.impl.StaffPlanServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.ibatis.annotations.Param;
import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@ -26,6 +30,10 @@ public class StaffPlanWrapper extends OrganizationWrapper {
return ServiceUtil.getService(StaffPlanServiceImpl.class, user);
}
private StaffPlanMapper getStaffPlanMapper() {
return MapperProxyFactory.getProxy(StaffPlanMapper.class);
}
/**
*
*
@ -46,7 +54,7 @@ public class StaffPlanWrapper extends OrganizationWrapper {
public int saveStaffPlan(StaffPlanSearchParam param) {
int saveStaffPlan = getStaffPlanService(user).saveStaffPlan(param);
writeOperateLog(new Object() {
}.getClass(), "新增编制方案【" + JSON.toJSONString(param) + "】");
}.getClass(), param.getPlanName(), JSON.toJSONString(param), "新增编制方案");
return saveStaffPlan;
}
@ -58,22 +66,24 @@ public class StaffPlanWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.STAFFPLAN, operateDesc = "更新编制方案")
public int updateStaffPlan(StaffPlanSearchParam param) {
StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(param.getId());
int updateStaffPlan = getStaffPlanService(user).updateStaffPlan(param);
writeOperateLog(new Object() {
}.getClass(), "更新编制方案【" + JSON.toJSONString(param) + "】");
}.getClass(), staffPlanByID.getPlanName(), JSON.toJSONString(param), staffPlanByID, getStaffPlanMapper().getStaffPlanByID(param.getId()));
return updateStaffPlan;
}
/**
*
*
* @param params
* @param param
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.STAFFPLAN, operateDesc = "更新编制方案禁用标识")
public int updateForbiddenTagById(StaffPlanSearchParam params) {
int updateForbiddenTagById = getStaffPlanService(user).updateForbiddenTagById(params);
public int updateForbiddenTagById(StaffPlanSearchParam param) {
StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(param.getId());
int updateForbiddenTagById = getStaffPlanService(user).updateForbiddenTagById(param);
writeOperateLog(new Object() {
}.getClass(), "更新编制方案禁用标识【" + JSON.toJSONString(params) + "】");
}.getClass(), staffPlanByID.getPlanName(), JSON.toJSONString(param), staffPlanByID, getStaffPlanMapper().getStaffPlanByID(param.getId()));
return updateForbiddenTagById;
}
@ -84,9 +94,12 @@ public class StaffPlanWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.STAFFPLAN, operateDesc = "删除编制方案")
public int deleteByIds(@Param("ids") Collection<Long> ids) {
List<StaffPlanPO> staffPlanPOS = getStaffPlanMapper().getStaffPlansByIds(ids);
int deleteByIds = getStaffPlanService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "删除编制方案【" + JSON.toJSONString(ids) + "】");
for (StaffPlanPO staffPlanPO : staffPlanPOS) {
writeOperateLog(new Object() {
}.getClass(), staffPlanPO.getPlanName(), JSON.toJSONString(ids), "删除编制方案");
}
return deleteByIds;
}

@ -4,15 +4,22 @@ import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.staff.param.StaffSearchParam;
import com.engine.organization.entity.staff.po.StaffPO;
import com.engine.organization.entity.staff.po.StaffPlanPO;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.staff.StaffMapper;
import com.engine.organization.mapper.staff.StaffPlanMapper;
import com.engine.organization.service.StaffService;
import com.engine.organization.service.impl.StaffServiceImpl;
import com.engine.organization.util.OrganizationWrapper;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.hrm.User;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @description:
@ -25,6 +32,14 @@ public class StaffWrapper extends OrganizationWrapper {
return ServiceUtil.getService(StaffServiceImpl.class, user);
}
private StaffMapper getStaffMapper() {
return MapperProxyFactory.getProxy(StaffMapper.class);
}
private StaffPlanMapper getStaffPlanMapper() {
return MapperProxyFactory.getProxy(StaffPlanMapper.class);
}
/**
*
*
@ -45,7 +60,7 @@ public class StaffWrapper extends OrganizationWrapper {
public int saveStaff(StaffSearchParam param) {
int saveStaff = getStaffService(user).saveStaff(param);
writeOperateLog(new Object() {
}.getClass(), "新增编制上报【" + JSON.toJSONString(param) + "】");
}.getClass(), getStaffPlanMapper().getStaffPlanByID(param.getPlanId()).getPlanName(), JSON.toJSONString(param), "新增编制上报");
return saveStaff;
}
@ -57,9 +72,10 @@ public class StaffWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.STAFF, operateDesc = "更新编制上报")
public int updateStaff(StaffSearchParam param) {
StaffPO staffByID = getStaffMapper().getStaffByID(param.getId());
int updateStaff = getStaffService(user).updateStaff(param);
writeOperateLog(new Object() {
}.getClass(), "更新编制上报【" + JSON.toJSONString(param) + "】");
}.getClass(), getStaffPlanMapper().getStaffPlanByID(param.getPlanId()).getPlanName(), JSON.toJSONString(param), staffByID, getStaffMapper().getStaffByID(param.getId()));
return updateStaff;
}
@ -71,9 +87,14 @@ public class StaffWrapper extends OrganizationWrapper {
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.STAFF, operateDesc = "删除编制上报")
public int deleteByIds(Collection<Long> ids) {
List<StaffPO> staffPOS = getStaffMapper().getStaffsByIds(ids);
List<StaffPlanPO> staffPlansByIds = getStaffPlanMapper().getStaffPlansByIds(ids);
Map<Long, String> collect = staffPlansByIds.stream().collect(Collectors.toMap(StaffPlanPO::getId, StaffPlanPO::getPlanName));
int deleteByIds = getStaffService(user).deleteByIds(ids);
writeOperateLog(new Object() {
}.getClass(), "删除编制上报【" + JSON.toJSONString(ids) + "】");
for (StaffPO staffPO : staffPOS) {
writeOperateLog(new Object() {
}.getClass(), collect.get(staffPO.getId()), JSON.toJSONString(ids), "删除编制上报");
}
return deleteByIds;
}

Loading…
Cancel
Save