From 4b823ccca78c0bf37672930343d67712124ee5a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Mon, 11 Mar 2024 16:50:47 +0800
Subject: [PATCH 1/6] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E6=B3=A8?=
=?UTF-8?q?=E8=A7=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/com/engine/salary/annotation/I18n.java | 20 +++++
.../DataCollectionEmployee.java | 5 ++
.../salary/entity/hrm/PositionInfo.java | 2 +
.../salary/entity/hrm/SubCompanyInfo.java | 2 +
.../dto/SalaryArchiveListDTO.java | 4 +
.../impl/SalaryArchiveExcelServiceImpl.java | 27 +------
.../impl/SalaryArchiveServiceImpl.java | 4 +-
.../impl/SalaryEmployeeServiceImpl.java | 33 ++++----
.../engine/salary/util/SalaryI18nUtil.java | 75 +++++++++++++++++++
.../salary/wrapper/SalaryArchiveWrapper.java | 2 +-
10 files changed, 135 insertions(+), 39 deletions(-)
create mode 100644 src/com/engine/salary/annotation/I18n.java
diff --git a/src/com/engine/salary/annotation/I18n.java b/src/com/engine/salary/annotation/I18n.java
new file mode 100644
index 000000000..ca9b71fd8
--- /dev/null
+++ b/src/com/engine/salary/annotation/I18n.java
@@ -0,0 +1,20 @@
+package com.engine.salary.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 国际化标识
+ *
Copyright: Copyright (c) 2024
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface I18n {
+
+}
diff --git a/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java b/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java
index 7d83f0348..66e581915 100644
--- a/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java
+++ b/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java
@@ -1,5 +1,6 @@
package com.engine.salary.entity.datacollection;
+import com.engine.salary.annotation.I18n;
import com.engine.salary.annotation.SalaryFormulaVar;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -33,16 +34,19 @@ public class DataCollectionEmployee {
//姓名
@SalaryFormulaVar(defaultLabel = "姓名", labelId = 85429, dataType = "string")
+ @I18n
private String username;
//部门
@SalaryFormulaVar(defaultLabel = "部门", labelId = 86185, dataType = "string")
+ @I18n
private String departmentName;
@SalaryFormulaVar(defaultLabel = "部门ID", labelId = 86185, dataType = "string")
private Long departmentId;
//分部名
@SalaryFormulaVar(defaultLabel = "分部", labelId = 82465, dataType = "string")
+ @I18n
private String subcompanyName;
@SalaryFormulaVar(defaultLabel = "分部ID", labelId = 82465, dataType = "string")
private Long subcompanyid;
@@ -55,6 +59,7 @@ public class DataCollectionEmployee {
//岗位
@SalaryFormulaVar(defaultLabel = "岗位", labelId = 90633, dataType = "string")
+ @I18n
private String jobtitleName;
@SalaryFormulaVar(defaultLabel = "岗位ID", labelId = 90633, dataType = "string")
private Long jobtitleId;
diff --git a/src/com/engine/salary/entity/hrm/PositionInfo.java b/src/com/engine/salary/entity/hrm/PositionInfo.java
index b88828139..2eb787624 100644
--- a/src/com/engine/salary/entity/hrm/PositionInfo.java
+++ b/src/com/engine/salary/entity/hrm/PositionInfo.java
@@ -1,5 +1,6 @@
package com.engine.salary.entity.hrm;
+import com.engine.salary.annotation.I18n;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -24,6 +25,7 @@ public class PositionInfo {
/**
* 名称
*/
+ @I18n
private String name;
diff --git a/src/com/engine/salary/entity/hrm/SubCompanyInfo.java b/src/com/engine/salary/entity/hrm/SubCompanyInfo.java
index 84fb417f9..e9e2637d3 100644
--- a/src/com/engine/salary/entity/hrm/SubCompanyInfo.java
+++ b/src/com/engine/salary/entity/hrm/SubCompanyInfo.java
@@ -1,5 +1,6 @@
package com.engine.salary.entity.hrm;
+import com.engine.salary.annotation.I18n;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -24,5 +25,6 @@ public class SubCompanyInfo {
/**
* 名称
*/
+ @I18n
private String name;
}
diff --git a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java
index 107b71b50..82b97bf05 100644
--- a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java
+++ b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java
@@ -1,6 +1,7 @@
package com.engine.salary.entity.salaryarchive.dto;
import com.cloudstore.eccom.pc.table.WeaTableType;
+import com.engine.salary.annotation.I18n;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableOperate;
import com.engine.salary.annotation.TableTitle;
@@ -42,6 +43,7 @@ public class SalaryArchiveListDTO {
* 姓名
*/
@TableTitle(title = "姓名", dataIndex = "username", key = "username")
+ @I18n
private String username;
/**
@@ -55,12 +57,14 @@ public class SalaryArchiveListDTO {
* 分部
*/
@TableTitle(title = "分部", dataIndex = "subcompanyName", key = "subcompanyName")
+ @I18n
private String subcompanyName;
/**
* 部门
*/
@TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName")
+ @I18n
private String departmentName;
/**
diff --git a/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java
index e4cecc326..8e0986007 100644
--- a/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java
@@ -2,7 +2,8 @@ package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
-import com.engine.salary.biz.*;
+import com.engine.salary.biz.SalaryArchiveBiz;
+import com.engine.salary.biz.SalaryArchiveItemBiz;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.constant.SalaryItemConstant;
@@ -24,7 +25,6 @@ import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum;
-import com.engine.salary.mapper.archive.SalaryArchiveMapper;
import com.engine.salary.service.*;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.sys.service.SalarySysConfService;
@@ -32,7 +32,6 @@ import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.SalaryLoggerUtil;
-import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.excel.ExcelComment;
import com.engine.salary.util.excel.ExcelParseHelper;
import com.engine.salary.util.excel.ExcelSupport;
@@ -43,8 +42,6 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import weaver.file.ImageFileManager;
import weaver.general.Util;
import weaver.hrm.User;
@@ -62,12 +59,6 @@ import static com.engine.salary.util.excel.ExcelSupport.EXCEL_TYPE_XLSX;
*/
public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArchiveExcelService {
- private static final Logger log = LoggerFactory.getLogger(SalaryArchiveExcelServiceImpl.class);
-
- private SalaryArchiveMapper getSalaryArchiveMapper() {
- return MapperProxyFactory.getProxy(SalaryArchiveMapper.class);
- }
-
private SalaryArchiveItemService salaryArchiveItemService(User user) {
return ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user);
}
@@ -100,9 +91,6 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
private SalaryArchiveBiz salaryArchiveMapper = new SalaryArchiveBiz();
private SalaryArchiveItemBiz salaryArchiveItemMapper = new SalaryArchiveItemBiz();
- private SalaryArchiveTaxAgentBiz salaryArchiveTaxAgentMapper = new SalaryArchiveTaxAgentBiz();
- private SalaryArchiveDimissionBiz salaryArchiveDimissionMapper = new SalaryArchiveDimissionBiz();
- private SalaryItemBiz salaryItemMapper = new SalaryItemBiz();
// private SalaryArchiveSobService salaryArchiveSobService;
//
@@ -322,14 +310,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
rows.add(header);
// 获取所有个税扣缴义务人
Collection taxAgentList = getTaxAgentService(user).listAll();
- Collection salaryArchives = new ArrayList<>();
-
- if (queryParam.isExtSalaryArchiveList()) {
- //非系统人员档案
- salaryArchives = getSalaryArchiveMapper().listExtSalaryArchive(queryParam);
- } else {
- salaryArchives = getSalaryArchiveMapper().list(queryParam);
- }
+ Collection salaryArchives = salaryArchiveService(user).getSalaryArchiveList(queryParam);
long employeeId = user.getUID();
if (getTaxAgentService(user).isNeedAuth(employeeId)) {
@@ -841,7 +822,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
// 修改薪资档案
if (CollectionUtils.isNotEmpty(salaryArchiveUpdates)) {
// 查询更新前档案信息
- List oldArchive = getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().ids(salaryArchiveUpdates.stream().map(SalaryArchivePO::getId).collect(Collectors.toList())).build());
+ List oldArchive = salaryArchiveService(user).listSome(SalaryArchivePO.builder().ids(salaryArchiveUpdates.stream().map(SalaryArchivePO::getId).collect(Collectors.toList())).build());
Map oldArchiveMap = SalaryEntityUtil.convert2Map(oldArchive, SalaryArchivePO::getId);
// 薪资档案
salaryArchiveMapper.batchUpdate(salaryArchiveUpdates);
diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
index 575f39242..32c6cbd30 100644
--- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
@@ -180,7 +180,9 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
if (Objects.nonNull(queryParam.getPayEndDateEndDateStr())) {
queryParam.setPayEndDateEndDate(SalaryDateUtil.stringToDate(queryParam.getPayEndDateEndDateStr()));
}
- return getSalaryArchiveMapper().list(queryParam);
+
+ List list = getSalaryArchiveMapper().list(queryParam);
+ return SalaryI18nUtil.i18nList(list);
}
@Override
diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java
index 307d48b75..3293bf105 100644
--- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java
@@ -27,6 +27,7 @@ import com.engine.salary.service.SalarySobExtRangeService;
import com.engine.salary.service.SalarySobRangeService;
import com.engine.salary.sys.entity.po.SalarySysConfPO;
import com.engine.salary.util.SalaryEntityUtil;
+import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.IdGenerator;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
@@ -90,6 +91,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
result.addAll(employBiz.listAll());
result.addAll(getExtEmpService(user).listEmployee());
}
+ SalaryI18nUtil.i18nList(result);
return result;
}
@@ -99,6 +101,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
if (openExtEmp) {
result.addAll(getExtEmpService(user).listAllForReport());
}
+ SalaryI18nUtil.i18nList(result);
return result;
}
@@ -144,7 +147,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
includeSalaryEmployees.addAll(extEmps);
}
-
+ SalaryI18nUtil.i18nList(includeSalaryEmployees);
return includeSalaryEmployees;
}
@@ -157,6 +160,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
if (openExtEmp) {
employeeList.addAll(getExtEmpService(user).getEmployeeByIds(ids));
}
+ SalaryI18nUtil.i18nList(employeeList);
return employeeList;
}
@@ -170,18 +174,20 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
result.addAll(getExtEmpService(user).getEmployeeByIds(ids));
}
result.addAll(employBiz.getEmployeeByIdsAll(ids));
+ SalaryI18nUtil.i18nList(result);
return result;
}
@Override
public DataCollectionEmployee getEmployeeById(Long employeeId) {
if (openExtEmp) {
- DataCollectionEmployee employeeById = getExtEmpService(user).getEmployeeById(employeeId);
- if (Objects.nonNull(employeeById)) {
- return employeeById;
+ DataCollectionEmployee employee = getExtEmpService(user).getEmployeeById(employeeId);
+ if (Objects.nonNull(employee)) {
+ return SalaryI18nUtil.i18n(employee);
}
}
- return employBiz.getEmployeeById(employeeId);
+ DataCollectionEmployee employee = employBiz.getEmployeeById(employeeId);
+ return SalaryI18nUtil.i18n(employee);
}
@Override
@@ -197,8 +203,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
employeeList.addAll(getExtEmpService(user).getEmployeeByIds(longs));
}
}
-
- return employeeList;
+ return SalaryI18nUtil.i18nList(employeeList);
}
@@ -213,7 +218,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
.filter(e -> UserStatusEnum.getNormalStatus().contains(e.getStatus()))
.collect(Collectors.toList());
- return employeeSameIds;
+ return SalaryI18nUtil.i18nList(employeeSameIds);
}
@Override
@@ -236,7 +241,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
.collect(Collectors.toList());
}
- return employees;
+ return SalaryI18nUtil.i18nList(employees);
}
@@ -259,12 +264,12 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
@Override
public List getSubCompanyInfoList(List subDepartmentIds) {
- return employBiz.getSubCompanyInfoList(subDepartmentIds);
+ return SalaryI18nUtil.i18nList(employBiz.getSubCompanyInfoList(subDepartmentIds));
}
@Override
public List listPositionInfo(List positionIds) {
- return employBiz.listPositionInfo(positionIds);
+ return SalaryI18nUtil.i18nList(employBiz.listPositionInfo(positionIds));
}
@Override
@@ -273,7 +278,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
if (openExtEmp) {
result.addAll(getExtEmpService(user).listEmployee());
}
- return result;
+ return SalaryI18nUtil.i18nList(result);
}
@Override
@@ -282,7 +287,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
if (openExtEmp) {
result.addAll(getExtEmpService(user).listByParams(includeQueryParams));
}
- return result;
+ return SalaryI18nUtil.i18nList(result);
}
/**
@@ -326,7 +331,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
.forEach(e -> e.setExtendData(extendData));
}
}
- return employees;
+ return SalaryI18nUtil.i18nList(employees);
}
@Override
diff --git a/src/com/engine/salary/util/SalaryI18nUtil.java b/src/com/engine/salary/util/SalaryI18nUtil.java
index f7d9272ce..14dc4644a 100644
--- a/src/com/engine/salary/util/SalaryI18nUtil.java
+++ b/src/com/engine/salary/util/SalaryI18nUtil.java
@@ -1,5 +1,18 @@
package com.engine.salary.util;
+import com.engine.salary.annotation.I18n;
+import com.engine.salary.exception.SalaryRunTimeException;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import weaver.general.Util;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
/**
* 多语言工具类
* Copyright: Copyright (c) 2022
@@ -10,6 +23,68 @@ package com.engine.salary.util;
**/
public class SalaryI18nUtil {
+
+ public static T i18n(T data) {
+ if (data == null ) {
+ return data;
+ }
+ try {
+ List fieldList = getFields(data.getClass());
+ if (CollectionUtils.isNotEmpty(fieldList)) {
+ for (Field field : fieldList) {
+ field.setAccessible(true);
+ String fieldValue = (String) field.get(data);
+ if (StringUtils.isNotBlank(fieldValue)) {
+ String encryptValue = Util.formatMultiLang(fieldValue);
+ field.set(data, encryptValue);
+ }
+ }
+ }
+ return data;
+ } catch (Exception e) {
+ throw new SalaryRunTimeException("国际化解析异常");
+ }
+ }
+
+ public static List i18nList(List dataList) {
+ if (CollectionUtils.isEmpty(dataList) ) {
+ return dataList;
+ }
+ try {
+ List fieldList = getFields(dataList.get(0).getClass());
+ if (CollectionUtils.isNotEmpty(fieldList)) {
+ for (T data : dataList) {
+ for (Field field : fieldList) {
+ field.setAccessible(true);
+ String fieldValue = (String) field.get(data);
+ if (StringUtils.isNotBlank(fieldValue)) {
+ String encryptValue = Util.formatMultiLang(fieldValue);
+ field.set(data, encryptValue);
+ }
+ }
+ }
+
+ }
+ return dataList;
+ } catch (Exception e) {
+ throw new SalaryRunTimeException("国际化批量解析异常");
+ }
+ }
+
+ @NotNull
+ private static List getFields(Class clazz) {
+ List> allClasses = new ArrayList>();
+ for (Class> superClass = clazz; superClass != null; superClass = superClass.getSuperclass()) {
+ if (superClass != Object.class) {
+ allClasses.add(superClass);
+ }
+ }
+ return allClasses.stream()
+ .map(Class::getDeclaredFields)
+ .flatMap(Arrays::stream)
+ .filter(field -> field.isAnnotationPresent(I18n.class)).collect(Collectors.toList());
+ }
+
/**
* 获取多语言信息
*
diff --git a/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java b/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java
index 0efa4f23f..83f728b23 100644
--- a/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java
+++ b/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java
@@ -459,7 +459,7 @@ public class SalaryArchiveWrapper extends Service {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(109712, "列表类型必传"));
} else {
// 定薪列表导入有调薪导入和初始化导入
- if (queryParam.getListType().equals(SalaryArchiveListTypeEnum.FIXED.getValue())) {
+ if (queryParam.getListType().equals(SalaryArchiveListTypeEnum.FIXED)) {
Optional optional = Arrays.stream(SalaryArchiveImportTypeEnum.values())
.filter(e -> StringUtils.isNotEmpty(queryParam.getImportType()) && e.getValue().equals(queryParam.getImportType())).findFirst();
if (!optional.isPresent()) {
From afb4bfd7ad12e035f06e976a60066114bc1583f8 Mon Sep 17 00:00:00 2001
From: Harryxzy
Date: Mon, 11 Mar 2024 17:23:20 +0800
Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug=EF=BC=9A=201=E3=80=81?=
=?UTF-8?q?=E8=96=AA=E8=B5=84=E6=A0=B8=E7=AE=97=E7=BB=93=E6=9E=9C=E5=AF=BC?=
=?UTF-8?q?=E5=85=A5=E6=8F=90=E7=A4=BA=E7=BC=BA=E5=A4=B1=202=E3=80=81?=
=?UTF-8?q?=E7=A4=BE=E4=BF=9D=E7=A6=8F=E5=88=A9=E5=8F=B0=E8=B4=A6=E5=AF=BC?=
=?UTF-8?q?=E5=85=A5=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E5=AF=BC=E8=87=B4?=
=?UTF-8?q?=E6=8A=A5=E9=94=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/siaccount/InsuranceAccountDetailMapper.xml | 6 ++++--
.../salary/service/impl/SalaryAcctExcelServiceImpl.java | 4 ++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml
index 925718b0b..f99f6ef0c 100644
--- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml
+++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml
@@ -430,7 +430,8 @@
t.fund_per_sum,t.fund_com_sum,t.other_per_sum,
t.other_com_sum,t.per_sum,t.com_sum,t.payment_organization,
t.social_payment_base_string, t.fund_payment_base_string, t.other_payment_base_string,
- t.social_payment_com_base_string, t.fund_payment_com_base_string, t.other_payment_com_base_string
+ t.social_payment_com_base_string, t.fund_payment_com_base_string, t.other_payment_com_base_string,
+ t.payment_status
FROM
hrsa_bill_detail t
WHERE t.delete_type = 0
@@ -445,7 +446,8 @@
t.fund_per_json,t.fund_com_json,t.other_per_json,
t.other_com_json,t.social_per_sum,t.social_com_sum,
t.fund_per_sum,t.fund_com_sum,t.other_per_sum,
- t.other_com_sum,t.per_sum,t.com_sum,t.payment_organization
+ t.other_com_sum,t.per_sum,t.com_sum,t.payment_organization,
+ t.payment_status
FROM
hrsa_bill_detail t
WHERE t.delete_type = 0
diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java
index a0acbb9d9..ccf771652 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java
@@ -1225,7 +1225,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
if (StringUtils.equals("importExcelAcctResult", importType)
&& (employeeId != null && employeeId > 0)
&& (taxAgentId != null && taxAgentId > 0)
- && i == data.size() - 1
+ && j == headers.size() - 1
&& !salaryAcctEmployeeMap.containsKey(employeeId + "-" + taxAgentId)) {
isError = true;
Map errorMessageMap = Maps.newHashMap();
@@ -1238,7 +1238,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
if (StringUtils.equals("importSalaryAcctResult", importType)
&& (employeeId != null && employeeId > 0)
&& (taxAgentId != null && taxAgentId > 0)
- && i == data.size() - 1
+ && j == headers.size() - 1
&& !salaryAcctEmployeeMap.containsKey(employeeId + "-" + taxAgentId)) {
isError = true;
Map errorMessageMap = Maps.newHashMap();
From 836947725f7ab8e496c8511f7358e74bd6d23509 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Tue, 12 Mar 2024 14:34:44 +0800
Subject: [PATCH 3/6] =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=BA=86elog=E4=BD=8D?=
=?UTF-8?q?=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/com/engine/salary/biz/OtherDeductionBiz.java | 2 +-
src/com/engine/salary/biz/SpecialAddDeductionBiz.java | 2 +-
src/com/engine/salary/config/SalaryElogConfig.java | 4 ++--
.../engine/salary/entity/datacollection/AddUpDeduction.java | 2 +-
.../engine/salary/entity/datacollection/AddUpSituation.java | 2 +-
.../salary/entity/datacollection/po/AttendQuoteFieldPO.java | 2 +-
.../engine/salary/entity/datacollection/po/AttendQuotePO.java | 2 +-
.../salary/entity/datacollection/po/OtherDeductionPO.java | 2 +-
.../entity/datacollection/po/SpecialAddDeductionPO.java | 2 +-
src/com/engine/salary/entity/extemp/po/ExtEmpPO.java | 2 +-
.../salary/entity/salaryBill/dto/SalaryTemplateListDTO.java | 2 +-
src/com/engine/salary/entity/salaryBill/po/SalarySendPO.java | 2 +-
.../engine/salary/entity/salaryBill/po/SalaryTemplatePO.java | 2 +-
.../salary/entity/salaryacct/po/SalaryAcctEmployeePO.java | 2 +-
.../salary/entity/salaryacct/po/SalaryAcctRecordPO.java | 2 +-
.../salary/entity/salaryacct/po/SalaryAcctResultPO.java | 2 +-
.../salary/entity/salaryarchive/po/SalaryArchiveItemPO.java | 2 +-
.../salary/entity/salaryarchive/po/SalaryArchivePO.java | 2 +-
src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java | 2 +-
.../entity/salarysob/param/SalarySobRangeSaveParam.java | 2 +-
.../engine/salary/entity/salarysob/po/SalarySobItemPO.java | 2 +-
src/com/engine/salary/entity/salarysob/po/SalarySobPO.java | 2 +-
.../engine/salary/entity/salarysob/po/SalarySobRangePO.java | 2 +-
.../salary/entity/siaccount/po/InsuranceAccountBatchPO.java | 2 +-
.../salary/entity/siaccount/po/InsuranceAccountDetailPO.java | 2 +-
.../salary/entity/siaccount/po/InsuranceCompensationPO.java | 2 +-
.../entity/siarchives/po/InsuranceArchivesBaseInfoPO.java | 2 +-
.../entity/siarchives/po/InsuranceArchivesFundSchemePO.java | 2 +-
.../entity/siarchives/po/InsuranceArchivesOtherSchemePO.java | 2 +-
.../entity/siarchives/po/InsuranceArchivesSocialSchemePO.java | 2 +-
.../salary/entity/sischeme/po/InsuranceSchemeDetailPO.java | 2 +-
.../engine/salary/entity/sischeme/po/InsuranceSchemePO.java | 2 +-
.../salary/entity/taxagent/po/TaxAgentManageRangePO.java | 2 +-
src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java | 2 +-
.../salary/report/entity/po/SalaryStatisticsItemPO.java | 2 +-
.../salary/report/entity/po/SalaryStatisticsReportPO.java | 2 +-
.../report/service/impl/SalaryStatisticsItemServiceImpl.java | 2 +-
.../service/impl/SalaryStatisticsReportServiceImpl.java | 2 +-
.../salary/report/wrapper/SalaryStatisticsReportWrapper.java | 2 +-
.../engine/salary/service/impl/AddUpDeductionServiceImpl.java | 2 +-
.../engine/salary/service/impl/AddUpSituationServiceImpl.java | 2 +-
.../salary/service/impl/AttendQuoteDataServiceImpl.java | 2 +-
.../salary/service/impl/AttendQuoteFieldServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/ExtEmpServiceImpl.java | 2 +-
.../engine/salary/service/impl/OtherDeductionServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SIAccountServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SIArchivesServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SIBalanceServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SICategoryServiceImpl.java | 2 +-
.../engine/salary/service/impl/SICompensationServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SIExportServiceImpl.java | 2 +-
.../engine/salary/service/impl/SIRecessionServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SISchemeServiceImpl.java | 2 +-
.../salary/service/impl/SalaryAcctEmployeeServiceImpl.java | 2 +-
.../salary/service/impl/SalaryAcctExcelServiceImpl.java | 2 +-
.../salary/service/impl/SalaryAcctRecordServiceImpl.java | 2 +-
.../salary/service/impl/SalaryAcctResultServiceImpl.java | 4 ++--
.../engine/salary/service/impl/SalaryArchiveServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SalaryBillServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SalaryItemServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SalarySendServiceImpl.java | 2 +-
.../salary/service/impl/SalarySobAdjustRuleServiceImpl.java | 2 +-
.../salary/service/impl/SalarySobCheckRuleServiceImpl.java | 2 +-
.../engine/salary/service/impl/SalarySobItemServiceImpl.java | 2 +-
.../engine/salary/service/impl/SalarySobRangeServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/SalarySobServiceImpl.java | 2 +-
.../engine/salary/service/impl/SalaryTemplateServiceImpl.java | 2 +-
.../salary/service/impl/SpecialAddDeductionServiceImpl.java | 2 +-
.../engine/salary/service/impl/SysSalaryItemServiceImpl.java | 2 +-
src/com/engine/salary/service/impl/TaxAgentServiceImpl.java | 2 +-
.../salary/service/impl/TaxDeclarationExcelServiceImpl.java | 2 +-
.../engine/salary/service/impl/TaxDeclarationServiceImpl.java | 2 +-
src/com/engine/salary/util/SalaryLoggerUtil.java | 4 ++--
src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java | 2 +-
src/com/engine/salary/wrapper/SalaryArchiveWrapper.java | 2 +-
src/com/engine/salary/wrapper/SalaryFieldWrapper.java | 2 +-
src/com/engine/salary/wrapper/SalaryItemWrapper.java | 2 +-
77 files changed, 80 insertions(+), 80 deletions(-)
diff --git a/src/com/engine/salary/biz/OtherDeductionBiz.java b/src/com/engine/salary/biz/OtherDeductionBiz.java
index b56e4f57c..175a65c40 100644
--- a/src/com/engine/salary/biz/OtherDeductionBiz.java
+++ b/src/com/engine/salary/biz/OtherDeductionBiz.java
@@ -1,7 +1,7 @@
package com.engine.salary.biz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.dto.OtherDeductionRecordDTO;
import com.engine.salary.entity.datacollection.param.OtherDeductionQueryParam;
diff --git a/src/com/engine/salary/biz/SpecialAddDeductionBiz.java b/src/com/engine/salary/biz/SpecialAddDeductionBiz.java
index bf6f87f0a..a2203e89f 100644
--- a/src/com/engine/salary/biz/SpecialAddDeductionBiz.java
+++ b/src/com/engine/salary/biz/SpecialAddDeductionBiz.java
@@ -1,7 +1,7 @@
package com.engine.salary.biz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.dto.SpecialAddDeductionListDTO;
import com.engine.salary.entity.datacollection.dto.SpecialAddDeductionRecordDTO;
diff --git a/src/com/engine/salary/config/SalaryElogConfig.java b/src/com/engine/salary/config/SalaryElogConfig.java
index 6d41b6af8..7d9f79321 100644
--- a/src/com/engine/salary/config/SalaryElogConfig.java
+++ b/src/com/engine/salary/config/SalaryElogConfig.java
@@ -1,7 +1,7 @@
package com.engine.salary.config;
-import com.engine.salary.elog.util.LoggerTemplate;
-import com.engine.salary.elog.util.LoggerTemplateBuilder;
+import com.engine.hrmelog.util.LoggerTemplate;
+import com.engine.hrmelog.util.LoggerTemplateBuilder;
/**
* elog日志
diff --git a/src/com/engine/salary/entity/datacollection/AddUpDeduction.java b/src/com/engine/salary/entity/datacollection/AddUpDeduction.java
index 36d769602..9a2213a0e 100644
--- a/src/com/engine/salary/entity/datacollection/AddUpDeduction.java
+++ b/src/com/engine/salary/entity/datacollection/AddUpDeduction.java
@@ -2,7 +2,7 @@ package com.engine.salary.entity.datacollection;
import com.engine.salary.annotation.Encrypt;
import com.engine.salary.annotation.SalaryFormulaVar;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/datacollection/AddUpSituation.java b/src/com/engine/salary/entity/datacollection/AddUpSituation.java
index 0dd5af09f..b6d456bb8 100644
--- a/src/com/engine/salary/entity/datacollection/AddUpSituation.java
+++ b/src/com/engine/salary/entity/datacollection/AddUpSituation.java
@@ -4,7 +4,7 @@ import com.engine.salary.annotation.Encrypt;
import com.engine.salary.annotation.SalaryFormulaVar;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableOperate;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/datacollection/po/AttendQuoteFieldPO.java b/src/com/engine/salary/entity/datacollection/po/AttendQuoteFieldPO.java
index dd14545f8..a237aa48f 100644
--- a/src/com/engine/salary/entity/datacollection/po/AttendQuoteFieldPO.java
+++ b/src/com/engine/salary/entity/datacollection/po/AttendQuoteFieldPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.datacollection.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/datacollection/po/AttendQuotePO.java b/src/com/engine/salary/entity/datacollection/po/AttendQuotePO.java
index 5dd26b136..133e3f788 100644
--- a/src/com/engine/salary/entity/datacollection/po/AttendQuotePO.java
+++ b/src/com/engine/salary/entity/datacollection/po/AttendQuotePO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.datacollection.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java b/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java
index 4a0b5d443..83f1ec932 100644
--- a/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java
+++ b/src/com/engine/salary/entity/datacollection/po/OtherDeductionPO.java
@@ -2,7 +2,7 @@ package com.engine.salary.entity.datacollection.po;
import com.engine.salary.annotation.Encrypt;
import com.engine.salary.annotation.SalaryFormulaVar;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/datacollection/po/SpecialAddDeductionPO.java b/src/com/engine/salary/entity/datacollection/po/SpecialAddDeductionPO.java
index afa5ea4e9..ce5f49f8a 100644
--- a/src/com/engine/salary/entity/datacollection/po/SpecialAddDeductionPO.java
+++ b/src/com/engine/salary/entity/datacollection/po/SpecialAddDeductionPO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.datacollection.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java b/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java
index e936ccf79..e7b73d457 100644
--- a/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java
+++ b/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java
@@ -2,7 +2,7 @@ package com.engine.salary.entity.extemp.po;
import com.engine.salary.annotation.TableTitle;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java
index 751fef2ac..3538a3387 100644
--- a/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java
+++ b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateListDTO.java
@@ -4,7 +4,7 @@ import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableColumn;
import com.engine.salary.annotation.SalaryTableOperate;
import com.engine.salary.annotation.TableTitle;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/salaryBill/po/SalarySendPO.java b/src/com/engine/salary/entity/salaryBill/po/SalarySendPO.java
index 755241ea3..7249346b6 100644
--- a/src/com/engine/salary/entity/salaryBill/po/SalarySendPO.java
+++ b/src/com/engine/salary/entity/salaryBill/po/SalarySendPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salaryBill.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java b/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java
index c13e72c76..825f82759 100644
--- a/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java
+++ b/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salaryBill.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
index 9320e11d6..322fc6c68 100644
--- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.salaryacct.po;
import com.engine.salary.annotation.SalaryFormulaVar;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java
index 3af046bdb..d2f089f21 100644
--- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctRecordPO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.salaryacct.po;
import com.engine.salary.common.LocalDateRange;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctResultPO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctResultPO.java
index 316a78944..4df634452 100644
--- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctResultPO.java
+++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctResultPO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.salaryacct.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/salaryarchive/po/SalaryArchiveItemPO.java b/src/com/engine/salary/entity/salaryarchive/po/SalaryArchiveItemPO.java
index c4b689e7d..782d34348 100644
--- a/src/com/engine/salary/entity/salaryarchive/po/SalaryArchiveItemPO.java
+++ b/src/com/engine/salary/entity/salaryarchive/po/SalaryArchiveItemPO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.salaryarchive.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java b/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java
index 25d4dbdd6..a1762c54b 100644
--- a/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java
+++ b/src/com/engine/salary/entity/salaryarchive/po/SalaryArchivePO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salaryarchive.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveAddTypeEnum;
diff --git a/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java b/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java
index ea0844eb5..8db3c3c89 100644
--- a/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java
+++ b/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salaryitem.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.SalaryRoundingModeEnum;
import com.engine.salary.enums.SalarySystemTypeEnum;
import com.engine.salary.enums.SalaryValueTypeEnum;
diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobRangeSaveParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobRangeSaveParam.java
index 41acf67cf..ff2cdd876 100644
--- a/src/com/engine/salary/entity/salarysob/param/SalarySobRangeSaveParam.java
+++ b/src/com/engine/salary/entity/salarysob/param/SalarySobRangeSaveParam.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salarysob.param;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum;
import com.engine.salary.enums.salarysob.TargetTypeEnum;
import com.engine.salary.util.valid.DataCheck;
diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java
index 47d8938ef..15704802b 100644
--- a/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java
+++ b/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salarysob.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.SalaryRoundingModeEnum;
import com.engine.salary.enums.SalaryValueTypeEnum;
import lombok.AllArgsConstructor;
diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
index 68712f06c..1b314b536 100644
--- a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
+++ b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salarysob.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobRangePO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobRangePO.java
index 08dee470f..08a1df20f 100644
--- a/src/com/engine/salary/entity/salarysob/po/SalarySobRangePO.java
+++ b/src/com/engine/salary/entity/salarysob/po/SalarySobRangePO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.salarysob.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum;
import com.engine.salary.enums.salarysob.TargetTypeEnum;
import lombok.AllArgsConstructor;
diff --git a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java
index 45de6f2ab..362815eef 100644
--- a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java
+++ b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountBatchPO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.siaccount.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java
index 9b7c33cef..aadf8b4bb 100644
--- a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java
+++ b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java
@@ -3,7 +3,7 @@ package com.engine.salary.entity.siaccount.po;
import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.salary.annotation.Encrypt;
import com.engine.salary.annotation.SalaryTable;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/siaccount/po/InsuranceCompensationPO.java b/src/com/engine/salary/entity/siaccount/po/InsuranceCompensationPO.java
index ff9ece22b..c4e8b1fe7 100644
--- a/src/com/engine/salary/entity/siaccount/po/InsuranceCompensationPO.java
+++ b/src/com/engine/salary/entity/siaccount/po/InsuranceCompensationPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.siaccount.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java
index 1ed65489f..0a5dd7b01 100644
--- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java
+++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.siarchives.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesFundSchemePO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesFundSchemePO.java
index 15e37cfb0..e4e9573c4 100644
--- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesFundSchemePO.java
+++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesFundSchemePO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.siarchives.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesOtherSchemePO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesOtherSchemePO.java
index 71836e143..c8086a1e1 100644
--- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesOtherSchemePO.java
+++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesOtherSchemePO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.siarchives.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesSocialSchemePO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesSocialSchemePO.java
index 5e5c3cf9e..a0b4a8b87 100644
--- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesSocialSchemePO.java
+++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesSocialSchemePO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.siarchives.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/sischeme/po/InsuranceSchemeDetailPO.java b/src/com/engine/salary/entity/sischeme/po/InsuranceSchemeDetailPO.java
index 3d4200f65..e7ce260f1 100644
--- a/src/com/engine/salary/entity/sischeme/po/InsuranceSchemeDetailPO.java
+++ b/src/com/engine/salary/entity/sischeme/po/InsuranceSchemeDetailPO.java
@@ -1,7 +1,7 @@
package com.engine.salary.entity.sischeme.po;
import com.engine.salary.annotation.Encrypt;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/entity/sischeme/po/InsuranceSchemePO.java b/src/com/engine/salary/entity/sischeme/po/InsuranceSchemePO.java
index 8cdcc7f6c..e832d801d 100644
--- a/src/com/engine/salary/entity/sischeme/po/InsuranceSchemePO.java
+++ b/src/com/engine/salary/entity/sischeme/po/InsuranceSchemePO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.sischeme.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.sicategory.SharedTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentManageRangePO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentManageRangePO.java
index c22ef32df..ae4c8b9b7 100644
--- a/src/com/engine/salary/entity/taxagent/po/TaxAgentManageRangePO.java
+++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentManageRangePO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.taxagent.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.enums.salarysob.TargetTypeEnum;
import com.engine.salary.enums.taxagent.TaxAgentRangeTypeEnum;
import lombok.AllArgsConstructor;
diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java
index c6444f697..819bf3aaf 100644
--- a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java
+++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.entity.taxagent.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java b/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java
index aa359b7e6..5c1b3bb52 100644
--- a/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java
+++ b/src/com/engine/salary/report/entity/po/SalaryStatisticsItemPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.report.entity.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.report.enums.UnitTypeEnum;
import lombok.*;
diff --git a/src/com/engine/salary/report/entity/po/SalaryStatisticsReportPO.java b/src/com/engine/salary/report/entity/po/SalaryStatisticsReportPO.java
index b1d96f726..08061bddd 100644
--- a/src/com/engine/salary/report/entity/po/SalaryStatisticsReportPO.java
+++ b/src/com/engine/salary/report/entity/po/SalaryStatisticsReportPO.java
@@ -1,6 +1,6 @@
package com.engine.salary.report.entity.po;
-import com.engine.salary.elog.annotation.ElogTransform;
+import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/src/com/engine/salary/report/service/impl/SalaryStatisticsItemServiceImpl.java b/src/com/engine/salary/report/service/impl/SalaryStatisticsItemServiceImpl.java
index 176192125..e7eb0bcc5 100644
--- a/src/com/engine/salary/report/service/impl/SalaryStatisticsItemServiceImpl.java
+++ b/src/com/engine/salary/report/service/impl/SalaryStatisticsItemServiceImpl.java
@@ -3,7 +3,7 @@ package com.engine.salary.report.service.impl;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
diff --git a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java
index b0fe69d71..db2f739c0 100644
--- a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java
+++ b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java
@@ -6,7 +6,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.hrm.dto.EmployeeInfoExpandDTO;
import com.engine.salary.entity.hrm.dto.FieldSetting;
diff --git a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java
index 440c4a419..0ccb7df05 100644
--- a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java
+++ b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java
@@ -11,7 +11,7 @@ import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.component.WeaFormOption;
import com.engine.salary.component.WeaTableColumnGroup;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
diff --git a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java
index cf1361513..f56502c0f 100644
--- a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java
+++ b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java
@@ -12,7 +12,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.AddUpDeductionBiz;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.AddUpDeduction;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
diff --git a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java
index 6d3d00770..e09ef12fe 100644
--- a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java
+++ b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java
@@ -9,7 +9,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.biz.AddUpSituationBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
diff --git a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java
index 9a03ab6f3..9216e7841 100644
--- a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java
+++ b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java
@@ -15,7 +15,7 @@ import com.engine.salary.biz.AttendQuoteFieldBiz;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.datacollection.bo.AttendQuoteDataBO;
import com.engine.salary.entity.datacollection.dto.*;
diff --git a/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java
index 37d3ff3f6..2448254f9 100644
--- a/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java
+++ b/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java
@@ -6,7 +6,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.AttendQuoteFieldBiz;
import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
import com.engine.salary.entity.datacollection.param.AttendQuoteFieldQueryParam;
import com.engine.salary.entity.datacollection.param.AttendQuoteFieldSaveParam;
diff --git a/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java b/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java
index e584332e5..38e91c606 100644
--- a/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java
+++ b/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java
@@ -3,7 +3,7 @@ package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.extemp.param.ExtEmpImportParam;
import com.engine.salary.entity.extemp.param.ExtEmpQueryParam;
diff --git a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java
index 57f2d20a6..837427adb 100644
--- a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java
+++ b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java
@@ -7,7 +7,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.OtherDeductionBiz;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.AddUpDeduction;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java
index 7843063e2..f10d679f7 100644
--- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java
@@ -16,7 +16,7 @@ import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.constant.SalaryItemConstant;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
diff --git a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java
index d0d76bd4d..9dd1e070f 100644
--- a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java
@@ -20,7 +20,7 @@ import com.engine.salary.cmd.siarchives.SIArchivesTipsCmd;
import com.engine.salary.common.SalaryContext;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.siarchives.bo.InsuranceArchivesBO;
diff --git a/src/com/engine/salary/service/impl/SIBalanceServiceImpl.java b/src/com/engine/salary/service/impl/SIBalanceServiceImpl.java
index 6e746c358..6714938a3 100644
--- a/src/com/engine/salary/service/impl/SIBalanceServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SIBalanceServiceImpl.java
@@ -6,7 +6,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.siaccount.param.BalanceAccountBaseParam;
import com.engine.salary.entity.siaccount.param.EditAccountDetailParam;
diff --git a/src/com/engine/salary/service/impl/SICategoryServiceImpl.java b/src/com/engine/salary/service/impl/SICategoryServiceImpl.java
index 7e127f570..875947741 100644
--- a/src/com/engine/salary/service/impl/SICategoryServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SICategoryServiceImpl.java
@@ -7,7 +7,7 @@ import com.api.browser.util.ConditionType;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.sicategory.bo.ICategoryBO;
diff --git a/src/com/engine/salary/service/impl/SICompensationServiceImpl.java b/src/com/engine/salary/service/impl/SICompensationServiceImpl.java
index b83448c67..25bf127a0 100644
--- a/src/com/engine/salary/service/impl/SICompensationServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SICompensationServiceImpl.java
@@ -8,7 +8,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
diff --git a/src/com/engine/salary/service/impl/SIExportServiceImpl.java b/src/com/engine/salary/service/impl/SIExportServiceImpl.java
index 3ec48edbb..3c2ab86c4 100644
--- a/src/com/engine/salary/service/impl/SIExportServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SIExportServiceImpl.java
@@ -6,7 +6,7 @@ import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO;
import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
diff --git a/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java b/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java
index 494838d25..6766dae2b 100644
--- a/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java
@@ -5,7 +5,7 @@ import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
import com.engine.salary.entity.hrm.param.HrmQueryParam;
diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java
index 74147039a..66945d79b 100644
--- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java
@@ -10,7 +10,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.siarchives.param.InsuranceArchivesListParam;
diff --git a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java
index 4d2901991..f8120fd0d 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java
@@ -7,7 +7,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java
index a0acbb9d9..ae4fd6ddd 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java
@@ -8,7 +8,7 @@ import com.engine.salary.component.WeaTableColumnGroup;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.constant.SalaryItemConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.report.po.SalaryAcctResultReportPO;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
index dfc42d16c..3014c62eb 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
@@ -5,7 +5,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java
index fb441a434..c391b1ef1 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java
@@ -6,8 +6,8 @@ import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
-import com.engine.salary.elog.util.LoggerTemplate;
+import com.engine.hrmelog.entity.dto.LoggerContext;
+import com.engine.hrmelog.util.LoggerTemplate;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
index 32c6cbd30..b5958e8bf 100644
--- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
@@ -8,7 +8,7 @@ import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.constant.SalaryItemConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.bo.SalaryArchiveBO;
diff --git a/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java b/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java
index 4789efd76..c2af2d6e1 100644
--- a/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java
@@ -10,7 +10,7 @@ import com.engine.salary.biz.SalarySendInfoBiz;
import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.HrmSalaryPayrollConf;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.progress.ProgressDTO;
import com.engine.salary.entity.salaryBill.bo.SalaryBillBO;
diff --git a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java
index ca9160cdd..c59afdced 100644
--- a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java
@@ -6,7 +6,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.SalaryItemBiz;
import com.engine.salary.biz.SysSalaryItemBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryformula.po.FormulaPO;
import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.entity.salaryitem.bo.SalaryItemBO;
diff --git a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java
index 1189589c8..47f3c48d8 100644
--- a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java
@@ -15,7 +15,7 @@ import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryArchiveConstant;
import com.engine.salary.constant.SalaryItemConstant;
import com.engine.salary.constant.SalaryTemplateSalaryItemSetGroupConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
diff --git a/src/com/engine/salary/service/impl/SalarySobAdjustRuleServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobAdjustRuleServiceImpl.java
index 160151c16..4da850226 100644
--- a/src/com/engine/salary/service/impl/SalarySobAdjustRuleServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalarySobAdjustRuleServiceImpl.java
@@ -3,7 +3,7 @@ package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
import com.engine.salary.biz.SalarySobAdjustRuleBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salarysob.bo.SalarySobAdjustRuleBO;
import com.engine.salary.entity.salarysob.param.SalarySobAdjustRuleSaveParam;
import com.engine.salary.entity.salarysob.po.SalarySobAdjustRulePO;
diff --git a/src/com/engine/salary/service/impl/SalarySobCheckRuleServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobCheckRuleServiceImpl.java
index 103b62de8..0489b8ab9 100644
--- a/src/com/engine/salary/service/impl/SalarySobCheckRuleServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalarySobCheckRuleServiceImpl.java
@@ -4,7 +4,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.biz.SalarySobCheckRuleBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salarysob.bo.SalarySobCheckRuleBO;
import com.engine.salary.entity.salarysob.param.SalarySobCheckRuleQueryParam;
import com.engine.salary.entity.salarysob.param.SalarySobCheckRuleSaveParam;
diff --git a/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java
index 2729bf81f..d857a9709 100644
--- a/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java
@@ -8,7 +8,7 @@ import com.engine.salary.biz.SalarySobItemGroupBiz;
import com.engine.salary.biz.SalarySobItemHideBiz;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.bo.SalarySobItemAggregateBO;
diff --git a/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java
index 37275ce6f..cebcefa63 100644
--- a/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalarySobRangeServiceImpl.java
@@ -7,7 +7,7 @@ import com.engine.hrm.biz.OrganizationShowSetBiz;
import com.engine.salary.biz.SalarySobRangeBiz;
import com.engine.salary.biz.SpecialAddDeductionBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.hrm.DeptInfo;
import com.engine.salary.entity.hrm.PositionInfo;
diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java
index 384fcbe0b..518accbe0 100644
--- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java
@@ -5,7 +5,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.*;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryitem.bo.SysSalaryItemBO;
diff --git a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java
index c32877e01..2bf76796f 100644
--- a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java
@@ -9,7 +9,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.SalarySobBiz;
import com.engine.salary.biz.SalaryTemplateBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryBill.bo.SalaryTemplateBO;
import com.engine.salary.entity.salaryBill.dto.SalaryTemplateListDTO;
import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemListDTO;
diff --git a/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java b/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java
index 149d31fb3..2aefb914c 100644
--- a/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java
@@ -5,7 +5,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.biz.SpecialAddDeductionBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.AddUpDeduction;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
diff --git a/src/com/engine/salary/service/impl/SysSalaryItemServiceImpl.java b/src/com/engine/salary/service/impl/SysSalaryItemServiceImpl.java
index 883c886dd..e5c894fe9 100644
--- a/src/com/engine/salary/service/impl/SysSalaryItemServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SysSalaryItemServiceImpl.java
@@ -4,7 +4,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.SalaryItemBiz;
import com.engine.salary.biz.SysSalaryItemBiz;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryitem.bo.SysSalaryItemBO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salaryitem.po.SysSalaryItemPO;
diff --git a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java
index 1ec8469ab..24520a388 100644
--- a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java
+++ b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java
@@ -6,7 +6,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryAuthConstant;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.AddUpDeduction;
import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
diff --git a/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java
index 7528418f8..784433e6c 100644
--- a/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java
+++ b/src/com/engine/salary/service/impl/TaxDeclarationExcelServiceImpl.java
@@ -3,7 +3,7 @@ package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationAnnualListDTO;
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationLaborListDTO;
diff --git a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java
index 12c7de2f9..3327328ec 100644
--- a/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java
+++ b/src/com/engine/salary/service/impl/TaxDeclarationServiceImpl.java
@@ -4,7 +4,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.common.LocalDateRange;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
diff --git a/src/com/engine/salary/util/SalaryLoggerUtil.java b/src/com/engine/salary/util/SalaryLoggerUtil.java
index 6d35bd851..72d7aae28 100644
--- a/src/com/engine/salary/util/SalaryLoggerUtil.java
+++ b/src/com/engine/salary/util/SalaryLoggerUtil.java
@@ -1,8 +1,8 @@
package com.engine.salary.util;
-import com.engine.salary.elog.entity.dto.LoggerContext;
-import com.engine.salary.elog.util.LoggerTemplate;
+import com.engine.hrmelog.entity.dto.LoggerContext;
+import com.engine.hrmelog.util.LoggerTemplate;
import com.engine.salary.enums.OperateTypeEnum;
import weaver.hrm.User;
diff --git a/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java b/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java
index 8b1ff0f6e..dbc26d470 100644
--- a/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java
+++ b/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java
@@ -3,7 +3,7 @@ package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
diff --git a/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java b/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java
index 83f728b23..22a642feb 100644
--- a/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java
+++ b/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java
@@ -6,7 +6,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.bo.SalaryArchiveBO;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveBaseInfoFormDTO;
diff --git a/src/com/engine/salary/wrapper/SalaryFieldWrapper.java b/src/com/engine/salary/wrapper/SalaryFieldWrapper.java
index 5edef7f36..462b015d3 100644
--- a/src/com/engine/salary/wrapper/SalaryFieldWrapper.java
+++ b/src/com/engine/salary/wrapper/SalaryFieldWrapper.java
@@ -3,7 +3,7 @@ package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryitem.bo.SalaryItemBO;
import com.engine.salary.entity.salaryitem.dto.SalaryFieldListDTO;
diff --git a/src/com/engine/salary/wrapper/SalaryItemWrapper.java b/src/com/engine/salary/wrapper/SalaryItemWrapper.java
index 12e333331..d5693105c 100644
--- a/src/com/engine/salary/wrapper/SalaryItemWrapper.java
+++ b/src/com/engine/salary/wrapper/SalaryItemWrapper.java
@@ -4,7 +4,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.component.WeaFormOption;
import com.engine.salary.config.SalaryElogConfig;
-import com.engine.salary.elog.entity.dto.LoggerContext;
+import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryitem.bo.SalaryItemBO;
import com.engine.salary.entity.salaryitem.bo.SysSalaryItemBO;
From 9ec358153304331cdb9ffef16b6849591740cc5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com>
Date: Tue, 12 Mar 2024 14:42:12 +0800
Subject: [PATCH 4/6] =?UTF-8?q?elog=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/hrmelog/ElogTableCheckerMapper.xml | 451 ++++++++++++++++++
.../mapper/hrmelog/LocalElogAopDaoMapper.xml | 170 +++++++
.../mapper/hrmelog/LocalElogDaoMapper.xml | 412 ++++++++++++++++
.../mapper/hrmelog/QueryCurretValusMapper.xml | 9 +
resource/WEB-INF/lib/hrmelog.jar | Bin 145520 -> 137248 bytes
5 files changed, 1042 insertions(+)
create mode 100644 resource/WEB-INF/config/mapper/hrmelog/ElogTableCheckerMapper.xml
create mode 100644 resource/WEB-INF/config/mapper/hrmelog/LocalElogAopDaoMapper.xml
create mode 100644 resource/WEB-INF/config/mapper/hrmelog/LocalElogDaoMapper.xml
create mode 100644 resource/WEB-INF/config/mapper/hrmelog/QueryCurretValusMapper.xml
diff --git a/resource/WEB-INF/config/mapper/hrmelog/ElogTableCheckerMapper.xml b/resource/WEB-INF/config/mapper/hrmelog/ElogTableCheckerMapper.xml
new file mode 100644
index 000000000..cbf1e900d
--- /dev/null
+++ b/resource/WEB-INF/config/mapper/hrmelog/ElogTableCheckerMapper.xml
@@ -0,0 +1,451 @@
+
+
+
+
+ insert into hrsa_elog_version (id, maintable, version) values (#{id},#{mainTable},#{version})
+
+
+
+ create table ${mainTable}
+ (
+ id bigint comment 'ID',
+ create_time datetime default current_timestamp ,
+ update_time datetime default current_timestamp ,
+ creator bigint,
+ delete_type int,
+ tenant_key varchar(10),
+ uuid char(36),
+ log_date datetime default current_timestamp ,
+ log_operator varchar(50),
+ operatorName varchar(50),
+ targetId varchar(50),
+ targetName text,
+ modulename varchar(100),
+ functionname varchar(100),
+ interfaceName varchar(100),
+ requesturl varchar(200),
+ requesturi varchar(200),
+ operateType varchar(50),
+ operatetypename varchar(100),
+ operatedesc varchar(1000),
+ params longtext,
+ belongmainid varchar(36),
+ clientIp varchar(50),
+ groupid varchar(50),
+ device varchar(200),
+ groupNameLabel varchar(500),
+ redoService varchar(200),
+ redoContext longtext,
+ cancelService varchar(200),
+ cancelContext longtext,
+ totalruntime bigint,
+ mainruntime bigint,
+ log_result varchar(100),
+ fromterminal varchar(100),
+ resultdesc text,
+ old_content varchar(1000),
+ link_type varchar(20),
+ link_id bigint,
+ old_link_id bigint,
+ PRIMARY KEY (id)
+ )
+
+
+
+ create table ${mainTable}
+ (
+ id number(*,0) not null primary key,
+ create_time date default sysdate,
+ update_time date default sysdate,
+ creator number(*,0),
+ delete_type number(*,0),
+ tenant_key varchar2(10),
+ uuid varchar2(36),
+ log_date date default sysdate,
+ log_operator varchar2(50),
+ operatorName varchar2(50),
+ targetId varchar2(50),
+ targetName varchar2(4000),
+ modulename varchar2(100),
+ functionname varchar2(100),
+ interfaceName varchar2(100),
+ requesturl varchar2(200),
+ requesturi varchar2(200),
+ operateType varchar2(50),
+ operatetypename varchar2(100),
+ operatedesc varchar2(1000),
+ params clob,
+ belongmainid varchar2(36),
+ clientIp varchar2(200),
+ groupid varchar2(50),
+ device varchar2(200),
+ groupNameLabel varchar2(500),
+ redoService varchar2(200),
+ redoContext varchar2(4000),
+ cancelService varchar2(200),
+ cancelContext varchar2(4000),
+ totalruntime number(*,0),
+ mainruntime number(*,0),
+ log_result varchar2(4000),
+ fromterminal varchar2(100),
+ resultdesc varchar2(4000),
+ old_content varchar2(1000),
+ link_type varchar2(20),
+ link_id number(*,0),
+ old_link_id number(*,0)
+ )
+
+
+ create table ${mainTable}
+ (
+ id bigint not null primary key,
+ create_time datetime default getdate(),
+ update_time datetime default getdate(),
+ creator bigint default '-1',
+ delete_type bigint default 0,
+ tenant_key nvarchar(10),
+ uuid nvarchar(36),
+ log_date datetime default getdate(),
+ device nvarchar(500),
+ log_operator bigint default '-1',
+ operatorname nvarchar(100),
+ targetid bigint default '-1',
+ targetname nvarchar(3000),
+ modulename nvarchar(100),
+ functionname nvarchar(100),
+ interfacename nvarchar(100),
+ requesturl nvarchar(200),
+ requesturi nvarchar(200),
+ operatetype nvarchar(50),
+ operatetypename nvarchar(100),
+ operatedesc nvarchar(3000),
+ params nvarchar(max),
+ belongmainid nvarchar(36),
+ clientip nvarchar(200),
+ groupid nvarchar(50),
+ groupnamelabel nvarchar(1000),
+ redoservice nvarchar(200),
+ redocontext nvarchar(3000),
+ cancelservice nvarchar(200),
+ cancelcontext nvarchar(3000),
+ totalruntime bigint default 0,
+ mainruntime bigint default 0,
+ log_result nvarchar(100),
+ fromterminal nvarchar(100),
+ resultdesc nvarchar(3000),
+ old_content nvarchar(3000),
+ link_type nvarchar(20),
+ link_id bigint default 0,
+ old_link_id bigint default 0
+ )
+
+
+ create table ${mainTable}
+ (
+ id int8 not null primary key,
+ create_time timestamp default current_timestamp,
+ update_time timestamp default current_timestamp,
+ creator int8,
+ delete_type int,
+ tenant_key varchar(10),
+ uuid varchar(36),
+ log_date timestamp default current_timestamp,
+ log_operator varchar(50),
+ operatorName varchar(50),
+ targetId varchar(50),
+ targetName text,
+ modulename varchar(100),
+ functionname varchar(100),
+ interfaceName varchar(100),
+ requesturl varchar(200),
+ requesturi varchar(200),
+ operateType varchar(50),
+ operatetypename varchar(100),
+ operatedesc varchar(1000),
+ params text,
+ belongmainid varchar(36),
+ clientIp varchar(200),
+ groupid varchar(50),
+ device varchar(200),
+ groupNameLabel varchar(500),
+ redoService varchar(200),
+ redoContext text,
+ cancelService varchar(200),
+ cancelContext text,
+ totalruntime int4,
+ mainruntime int4,
+ log_result varchar(100),
+ fromterminal varchar(100),
+ resultdesc text,
+ old_content varchar(1000),
+ link_type varchar(20),
+ link_id int4,
+ old_link_id int4
+ )
+
+
+ create table ${detailTable}
+ (
+ id bigint not null primary key,
+ create_time datetime default current_timestamp ,
+ update_time datetime default current_timestamp ,
+ creator bigint,
+ delete_type int,
+ tenant_key varchar(10),
+ uuid varchar(36),
+ mainid varchar(36),
+ dataid varchar(50),
+ belongdataid varchar(50),
+ tableName varchar(200),
+ tablenamelabelid varchar(50),
+ tablenamedesc varchar(50),
+ fieldName varchar(200),
+ fieldnamelabelid varchar(200),
+ newValue longtext,
+ oldValue longtext,
+ newrealvalue longtext,
+ oldrealvalue longtext,
+ fieldDesc varchar(200),
+ showorder int default 0,
+ isdetail int default 0
+ )
+
+
+ create table ${detailTable}
+ (
+ id int8 not null primary key,
+ create_time timestamp default current_timestamp ,
+ update_time timestamp default current_timestamp ,
+ creator int8,
+ delete_type int8,
+ tenant_key varchar(10),
+ uuid varchar(36),
+ mainid varchar(36),
+ dataid varchar(50),
+ belongdataid varchar(50),
+ tableName varchar(200),
+ tablenamelabelid varchar(50),
+ tablenamedesc varchar(50),
+ fieldName varchar(200),
+ fieldnamelabelid varchar(200),
+ newValue text,
+ oldValue text,
+ newrealvalue text,
+ oldrealvalue text,
+ fieldDesc varchar(200),
+ showorder int8 default 0,
+ isdetail int8 default 0
+ )
+
+
+ create table ${detailTable}
+ (
+ id number(*,0) not null primary key,
+ create_time date default sysdate,
+ update_time date default sysdate,
+ creator number(*,0),
+ delete_type number(*,0),
+ tenant_key varchar2(10),
+ uuid varchar2(36),
+ mainid varchar2(36),
+ dataid varchar2(50),
+ belongdataid varchar2(50),
+ tableName varchar2(200),
+ tablenamelabelid varchar2(50),
+ tablenamedesc varchar2(50),
+ fieldName varchar2(200),
+ fieldnamelabelid varchar2(200),
+ newValue CLOB,
+ oldValue CLOB,
+ newrealvalue CLOB,
+ oldrealvalue CLOB,
+ fieldDesc varchar2(200),
+ showorder number(*,0) default 0,
+ isdetail number(*,0) default 0
+ )
+
+
+ create table ${detailTable}
+ (
+ id bigint not null primary key,
+ create_time datetime default getdate(),
+ update_time datetime default getdate(),
+ creator bigint,
+ delete_type bigint,
+ tenant_key nvarchar(10),
+ uuid nvarchar(36),
+ mainid nvarchar(36),
+ dataid nvarchar(50),
+ belongdataid nvarchar(50),
+ tableName nvarchar(200),
+ tablenamelabelid nvarchar(50),
+ tablenamedesc nvarchar(50),
+ fieldName nvarchar(200),
+ fieldnamelabelid nvarchar(200),
+ newValue nvarchar(max),
+ oldValue nvarchar(max),
+ newrealvalue nvarchar(max),
+ oldrealvalue nvarchar(max),
+ fieldDesc varchar(200),
+ showorder bigint default 0,
+ isdetail bigint default 0
+ )
+
+
+
+
+
+
+
+
+
+
+ ${createElogSql}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ create index idx${id} on ${tableName} (${columnName})
+
+
+
+ create index idx${id} on ${tableName} (${columnName})
+
+
+
+ create index idx${id} on ${tableName} (${columnName})
+
+
+
+
+
+
+
+
+
+
diff --git a/resource/WEB-INF/config/mapper/hrmelog/LocalElogAopDaoMapper.xml b/resource/WEB-INF/config/mapper/hrmelog/LocalElogAopDaoMapper.xml
new file mode 100644
index 000000000..8fcc1b9c1
--- /dev/null
+++ b/resource/WEB-INF/config/mapper/hrmelog/LocalElogAopDaoMapper.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+ insert into ${tableName} (id, uuid, log_date, tenant_key, modulename, functionName, operatetypename,
+ log_operator, operatorname, targetid, targetname, interfacename, operatetype,
+ operatedesc,
+ params, clientIp, groupnamelabel, redoservice, redocontext, cancelservice,
+ cancelcontext, device, groupid,
+ belongMainId, requestUrl, requestUri, totalRunTime, mainRunTime, log_result,
+ fromTerminal, resultDesc, old_content,
+ link_type, link_id, old_link_id, create_time, update_time, delete_type, creator
+ ${cusColumns})
+ values (#{logContent.id}, #{logContent.uuid}, #{logContent.date},
+ #{logContent.tenant_key}, #{logContent.moduleName}, #{logContent.functionName},
+ #{logContent.operateTypeName}, #{logContent.logOperator}, #{logContent.operatorName},
+ #{logContent.logTargetid}
+ , #{logContent.targetName}, #{logContent.interfaceName}, #{logContent.operateType},
+ #{logContent.operatedesc},
+ #{logContent.paramsStr}, #{logContent.clientIp}, #{logContent.groupNameLabel},
+ #{logContent.redoService},
+ #{logContent.redoContextStr}, #{logContent.cancelService}, #{logContent.cancelContextStr},
+ #{logContent.device}, #{logContent.groupId},
+ #{logContent.belongMainId}, #{logContent.requestUrl}, #{logContent.requestUri},
+ #{logContent.totalRunTime}, #{logContent.mainRunTime}
+ , #{logContent.result}, #{logContent.fromTerminal}, #{logContent.resultDesc},
+ #{logContent.old_content}, #{logContent.link_type}
+ , #{logContent.link_id}, #{logContent.old_link_id}, #{logContent.create_time},
+ #{logContent.update_time}, #{logContent.delete_type}, #{logContent.logOperator}
+ ${cusValus})
+
+
+
+ insert into ${detailTableName} (id, mainid, uuid, tablename, fieldname, newvalue, oldvalue,
+ fielddesc, showorder, dataid, belongDataid, isDetail, tenant_key, creator,
+ newRealValue, oldRealValue, tableNameDesc,
+ tableNameLabelId, fieldNameLabelId, create_time, update_time
+ ${cusColumns})
+ values (#{detailContext.id}, #{mainid}, #{detailContext.uuid}, #{detailContext.tableName},
+ #{detailContext.fieldName}, #{detailContext.newValue},
+ #{detailContext.oldValue}, #{detailContext.fieldDesc}, #{detailContext.showorder},
+ #{detailContext.dataid},
+ #{detailContext.belongDataid}, #{detailContext.isDetail}, #{detailContext.tenant_key},
+ #{detailContext.creator}, #{detailContext.newRealValue}
+ , #{detailContext.oldRealValue}, #{detailContext.tableNameDesc}, #{detailContext.tableNameLabelId},
+ #{detailContext.fieldNameLabelId}, #{detailContext.create_time}, #{detailContext.update_time}
+ ${cusValus})
+
+
+ ${sql}
+
+
+
+
+
+
+
+ insert into ${tablename} (id, mainid, uuid, tablename, fieldname, newvalue, oldvalue,
+ fielddesc, showorder, dataid, belongDataid, isDetail, tenant_key,creator, newRealValue,
+ oldRealValue,tableNameDesc,
+ tableNameLabelId,fieldNameLabelId, create_time, update_time,delete_type)
+ values
+
+ ( #{detailContext.id},#{mainid}, #{detailContext.uuid}, #{detailContext.tableName},
+ #{detailContext.fieldName}, #{detailContext.newValue},
+ #{detailContext.oldValue}, #{detailContext.fieldDesc}, #{detailContext.showorder}, #{detailContext.dataid},
+ #{detailContext.belongDataid}, #{detailContext.isDetail},
+ #{detailContext.tenant_key},#{detailContext.creator}, #{detailContext.newRealValue}
+ , #{detailContext.oldRealValue}, #{detailContext.tableNameDesc}, #{detailContext.tableNameLabelId},
+ #{detailContext.fieldNameLabelId}
+ , #{detailContext.create_time}, #{detailContext.update_time}, #{detailContext.delete_type})
+
+
+
+
+
+ insert into ${tablename} (id, mainid, uuid, tablename, fieldname, newvalue, oldvalue,
+ fielddesc, showorder, dataid, belongDataid, isDetail, tenant_key,creator, newRealValue,
+ oldRealValue,tableNameDesc,
+ tableNameLabelId,fieldNameLabelId, create_time, update_time,delete_type)
+ VALUES
+ (
+ #{detailContext.id},#{mainid}, #{detailContext.uuid}, #{detailContext.tableName},
+ #{detailContext.fieldName}, #{detailContext.newValue},
+ #{detailContext.oldValue}, #{detailContext.fieldDesc}, #{detailContext.showorder}, #{detailContext.dataid},
+ #{detailContext.belongDataid}, #{detailContext.isDetail},
+ #{detailContext.tenant_key},#{detailContext.creator}, #{detailContext.newRealValue}
+ , #{detailContext.oldRealValue}, #{detailContext.tableNameDesc}, #{detailContext.tableNameLabelId},
+ #{detailContext.fieldNameLabelId}
+ , #{detailContext.create_time}, #{detailContext.update_time}, #{detailContext.delete_type}
+ )
+
+
+
+
+ insert into ${tablename} (id, mainid, uuid, tablename, fieldname, newvalue, oldvalue,
+ fielddesc, showorder, dataid, belongDataid, isDetail, tenant_key,creator, newRealValue,
+ oldRealValue,tableNameDesc,
+ tableNameLabelId,fieldNameLabelId, create_time, update_time
+ ${cusColumns})
+ values
+
+ ( #{detailContext.id},#{mainid}, #{detailContext.uuid}, #{detailContext.tableName},
+ #{detailContext.fieldName}, #{detailContext.newValue},
+ #{detailContext.oldValue}, #{detailContext.fieldDesc}, #{detailContext.showorder}, #{detailContext.dataid},
+ #{detailContext.belongDataid}, #{detailContext.isDetail},
+ #{detailContext.tenant_key},#{detailContext.creator}, #{detailContext.newRealValue}
+ , #{detailContext.oldRealValue}, #{detailContext.tableNameDesc}, #{detailContext.tableNameLabelId},
+ #{detailContext.fieldNameLabelId}
+ , #{detailContext.create_time}, #{detailContext.update_time}
+ ${detailContext.cusValus})
+
+
+
+
+ update ${tableName}
+ set delete_type = 3
+ where id = #{id}
+
+
+ update ${tableName}
+ set delete_type = 3
+ where mainid = #{mainid}
+
+
+
+ insert into ${tablename} (id, mainid, uuid, tablename, fieldname, newvalue, oldvalue,
+ fielddesc, showorder, dataid, belongDataid, isDetail, tenant_key,creator, newRealValue,
+ oldRealValue,tableNameDesc,
+ tableNameLabelId,fieldNameLabelId, create_time, update_time,delete_type)
+
+ SELECT #{detailContext.id},#{mainid}, #{detailContext.uuid}, #{detailContext.tableName},
+ #{detailContext.fieldName}, #{detailContext.newValue},
+ #{detailContext.oldValue}, #{detailContext.fieldDesc}, #{detailContext.showorder}, #{detailContext.dataid},
+ #{detailContext.belongDataid}, #{detailContext.isDetail},
+ #{detailContext.tenant_key},#{detailContext.creator}, #{detailContext.newRealValue}
+ , #{detailContext.oldRealValue}, #{detailContext.tableNameDesc}, #{detailContext.tableNameLabelId},
+ #{detailContext.fieldNameLabelId}
+ , #{detailContext.create_time}, #{detailContext.update_time}, #{detailContext.delete_type}
+ FROM DUAL
+
+
+
+
+ insert into ${tablename} (id, mainid, uuid, tablename, fieldname, newvalue, oldvalue,
+ fielddesc, showorder, dataid, belongDataid, isDetail, tenant_key,creator, newRealValue,
+ oldRealValue,tableNameDesc,
+ tableNameLabelId,fieldNameLabelId, create_time, update_time
+ ${cusColumns})
+
+ SELECT #{detailContext.id},#{mainid}, #{detailContext.uuid}, #{detailContext.tableName},
+ #{detailContext.fieldName}, #{detailContext.newValue},
+ #{detailContext.oldValue}, #{detailContext.fieldDesc}, #{detailContext.showorder}, #{detailContext.dataid},
+ #{detailContext.belongDataid}, #{detailContext.isDetail},
+ #{detailContext.tenant_key},#{detailContext.creator}, #{detailContext.newRealValue}
+ , #{detailContext.oldRealValue}, #{detailContext.tableNameDesc}, #{detailContext.tableNameLabelId},
+ #{detailContext.fieldNameLabelId}
+ , #{detailContext.create_time}, #{detailContext.update_time}
+ ${detailContext.cusValus}
+ FROM DUAL
+
+
+
+
diff --git a/resource/WEB-INF/config/mapper/hrmelog/LocalElogDaoMapper.xml b/resource/WEB-INF/config/mapper/hrmelog/LocalElogDaoMapper.xml
new file mode 100644
index 000000000..2c1f0f427
--- /dev/null
+++ b/resource/WEB-INF/config/mapper/hrmelog/LocalElogDaoMapper.xml
@@ -0,0 +1,412 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resource/WEB-INF/config/mapper/hrmelog/QueryCurretValusMapper.xml b/resource/WEB-INF/config/mapper/hrmelog/QueryCurretValusMapper.xml
new file mode 100644
index 000000000..b88e3cfee
--- /dev/null
+++ b/resource/WEB-INF/config/mapper/hrmelog/QueryCurretValusMapper.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resource/WEB-INF/lib/hrmelog.jar b/resource/WEB-INF/lib/hrmelog.jar
index 633076bbe823c6ae78a32d6a86baf91b7fc2aa97..b2657be84b5fd6599033c08517e9dde8da030173 100644
GIT binary patch
literal 137248
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