From 5bf00a98aa2178c843df583abd127251315fce30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 24 Jan 2024 09:50:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=A0=B8=E7=AE=97=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/elog/util/LoggerTemplate.java | 2 +- .../salaryacct/po/SalaryAcctEmployeePO.java | 14 +++ .../engine/salary/enums/OperateTypeEnum.java | 15 ++- .../salaryacct/SalaryAcctManager.java | 1 - .../impl/SalaryAcctEmployeeServiceImpl.java | 48 ++++----- .../impl/SalaryAcctExcelServiceImpl.java | 99 ++++++++++++------- .../impl/SalaryAcctRecordServiceImpl.java | 95 +++++++++--------- .../impl/SalaryAcctResultServiceImpl.java | 60 ++++++----- 8 files changed, 192 insertions(+), 142 deletions(-) diff --git a/src/com/engine/salary/elog/util/LoggerTemplate.java b/src/com/engine/salary/elog/util/LoggerTemplate.java index 8b5b6d377..a82021433 100644 --- a/src/com/engine/salary/elog/util/LoggerTemplate.java +++ b/src/com/engine/salary/elog/util/LoggerTemplate.java @@ -240,7 +240,7 @@ public class LoggerTemplate { } context.setTempParams(null); - String employeeId = Optional.ofNullable(context.getUser()).map(User::getUID).orElse(0).toString(); + String employeeId = Optional.ofNullable(context.getUser()).map(User::getUID).orElse(0).toString(); String tenantKey = SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY; String userName = Optional.ofNullable(context.getUser()).map(User::getUsername).orElse("").toString(); if (StringUtils.isEmpty(context.getOperator()) && StringUtils.isNotEmpty(employeeId)) { diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java index 7d6c82f58..55afc5d0b 100644 --- a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java +++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctEmployeePO.java @@ -1,6 +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.salary.enums.datacollection.DataCollectionEmployeeTypeEnum; import lombok.AllArgsConstructor; import lombok.Builder; @@ -25,28 +26,33 @@ import java.util.Date; @NoArgsConstructor @AllArgsConstructor //hrsa_salary_acct_emp +@ElogTransform(name = "薪资核算人员") public class SalaryAcctEmployeePO { /** * 主键id */ + @ElogTransform(name = "主键id") private Long id; /** * 薪资核算的id */ + @ElogTransform(name = "核算记录id") @SalaryFormulaVar(defaultLabel = "核算记录id", labelId = 86321, dataType = "number") private Long salaryAcctRecordId; /** * 薪资账套id */ + @ElogTransform(name = "薪资账套id") @SalaryFormulaVar(defaultLabel = "薪资账套id", labelId = 86321, dataType = "number") private Long salarySobId; /** * 人员id */ + @ElogTransform(name = "人员id") @SalaryFormulaVar(defaultLabel = "人员id", labelId = 86321, dataType = "number") private Long employeeId; @@ -55,43 +61,51 @@ public class SalaryAcctEmployeePO { * * @see DataCollectionEmployeeTypeEnum */ + @ElogTransform(name = "人员类型") private Integer employeeType; /** * 个税扣缴义务人id */ + @ElogTransform(name = "个税扣缴义务人id") @SalaryFormulaVar(defaultLabel = "个税扣缴义务人id", labelId = 86321, dataType = "number") private Long taxAgentId; /** * 薪资所属月 */ + @ElogTransform(name = "薪资所属月") @SalaryFormulaVar(defaultLabel = "薪资所属月", labelId = 86321, dataType = "string") private Date salaryMonth; /** * 租户key */ + @ElogTransform(name = "租户key") private String tenantKey; /** * 创建人id */ + @ElogTransform(name = "创建人id") private Long creator; /** * 是否删除 */ + @ElogTransform(name = "是否删除") private Integer deleteType; /** * 创建时间 */ + @ElogTransform(name = "创建时间") private Date createTime; /** * 更新时间 */ + @ElogTransform(name = "更新时间") private Date updateTime; //--------条件---------- diff --git a/src/com/engine/salary/enums/OperateTypeEnum.java b/src/com/engine/salary/enums/OperateTypeEnum.java index 142abd5f7..697e1aea6 100644 --- a/src/com/engine/salary/enums/OperateTypeEnum.java +++ b/src/com/engine/salary/enums/OperateTypeEnum.java @@ -1,15 +1,20 @@ package com.engine.salary.enums; /** - * @Description: 操作类型 - * @Author: wangxiangzhong - * @Date: 2021/11/1 13:17 - */ + * 操作类型 + *

Copyright: Copyright (c) 2023

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ public enum OperateTypeEnum { + READ("0", "查看"), ADD("1", "新增"), UPDATE("2", "更新"), - DELETE("4", "删除"); + DELETE("4", "删除"), + EXPORT("5", "导出"); private String value; diff --git a/src/com/engine/salary/maintainer/salaryacct/SalaryAcctManager.java b/src/com/engine/salary/maintainer/salaryacct/SalaryAcctManager.java index 207bd1649..6b1943962 100644 --- a/src/com/engine/salary/maintainer/salaryacct/SalaryAcctManager.java +++ b/src/com/engine/salary/maintainer/salaryacct/SalaryAcctManager.java @@ -121,7 +121,6 @@ public class SalaryAcctManager extends Service { private SalaryAcctResultTempService getSalaryAcctResultTempService(User user) { return ServiceUtil.getService(SalaryAcctResultTempServiceImpl.class, user); } -// private LoggerTemplate salaryAcctRecordLoggerTemplate; private SIAccountService getSIAccountService(User user) { return ServiceUtil.getService(SIAccountServiceImpl.class, user); diff --git a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java index 56d4c84df..36cf1186f 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java @@ -4,7 +4,10 @@ import cn.hutool.core.date.DateUtil; 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.constant.SalaryDefaultTenantConstant; +import com.engine.salary.elog.entity.dto.LoggerContext; +import com.engine.salary.elog.util.LoggerTemplate; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO; import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO; @@ -14,6 +17,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO; import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO; import com.engine.salary.entity.salarysob.po.SalarySobPO; +import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.salaryacct.SalaryAcctEmployeeMapper; @@ -51,9 +55,7 @@ import java.util.stream.Collectors; **/ @Slf4j public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcctEmployeeService { - - - private SalaryAcctEmployeeMapper salaryAcctEmployeeMapper; + private final LoggerTemplate salaryAcctRecordLoggerTemplate = SalaryElogConfig.salaryAcctRecordLoggerTemplate(); private SalaryAcctEmployeeMapper getSalaryAcctEmployeeMapper() { return MapperProxyFactory.getProxy(SalaryAcctEmployeeMapper.class); @@ -91,8 +93,6 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct return ServiceUtil.getService(TaxAgentServiceImpl.class, user); } -// private LoggerTemplate salaryAcctRecordLoggerTemplate; - private SalarySysConfMapper getSalarySysConfMapper() { return SqlProxyHandle.getProxy(SalarySysConfMapper.class); } @@ -394,15 +394,16 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct // 记录日志 -// String targetName = salarySobPO.getName() + ":" + SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()); -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98837, "添加薪资核算人员")); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98837, "添加薪资核算人员") + ":" + targetName); -// loggerContext.setNewValueList(salaryAcctEmployeePOS); -// salaryAcctRecordLoggerTemplate.write(loggerContext); + String targetName = salarySobPO.getName() + ":" + SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98837, "添加薪资核算人员")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98837, "添加薪资核算人员") + ":" + targetName); + loggerContext.setNewValueList(salaryAcctEmployeePOS); + salaryAcctRecordLoggerTemplate.write(loggerContext); } @Override @@ -460,15 +461,16 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98769, "薪资账套不存在或已被删除")); } // 记录日志 -// String targetName = salarySobPO.getName() + ":" + SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()); -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98835, "删除薪资核算人员")); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98835, "删除薪资核算人员") + ":" + targetName); -// loggerContext.setOldValueList(salaryAcctEmployeePOS); -// salaryAcctRecordLoggerTemplate.write(loggerContext); + String targetName = salarySobPO.getName() + ":" + SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98835, "删除薪资核算人员")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98835, "删除薪资核算人员") + ":" + targetName); + loggerContext.setOldValueList(salaryAcctEmployeePOS); + salaryAcctRecordLoggerTemplate.write(loggerContext); } @Override diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index 8840d9302..0626e4aa2 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -5,8 +5,11 @@ import com.cloudstore.dev.api.util.Util_DataCache; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; 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.salary.elog.util.LoggerTemplate; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.report.po.SalaryAcctResultReportPO; import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO; @@ -24,7 +27,9 @@ import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO; import com.engine.salary.entity.salarysob.po.SalarySobEmpFieldPO; import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; +import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salaryaccounting.LockStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctResultDataSourceEnum; @@ -38,6 +43,7 @@ import com.engine.salary.sys.enums.OpenEnum; import com.engine.salary.sys.service.SalarySysConfService; import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl; import com.engine.salary.util.JsonUtil; +import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.excel.ExcelParseHelper; @@ -81,12 +87,16 @@ import static com.engine.salary.util.excel.ExcelSupport.EXCEL_TYPE_XLSX; **/ @Slf4j public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExcelService { - + private final LoggerTemplate salaryAcctRecordLoggerTemplate = SalaryElogConfig.salaryAcctRecordLoggerTemplate(); private SalaryAcctRecordService getSalaryAcctRecordService(User user) { return (SalaryAcctRecordService) ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user); } + private SalarySobService getSalarySobService(User user) { + return ServiceUtil.getService(SalarySobServiceImpl.class, user); + } + private SalaryAcctEmployeeService getSalaryAcctEmployeeService(User user) { return (SalaryAcctEmployeeService) ServiceUtil.getService(SalaryAcctEmployeeServiceImpl.class, user); } @@ -237,7 +247,20 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc // 3.表数据 List> lists = convert2ExcelRow(salaryAcctEmployees); rows.addAll(lists); -// return ExcelUtil.genWorkbookV2(rows, sheetName); + + // 记录日志 + SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(queryParam.getSalaryAcctRecordId()); + SalarySobPO salarySobPO = getSalarySobService(user).getById(salaryAcctRecordPO.getSalarySobId()); + String targetName = salarySobPO.getName() + ":" + SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98837, "导出环比增加人员")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98837, "导出环比增加人员") + ":" + targetName); + salaryAcctRecordLoggerTemplate.write(loggerContext); + return ExcelUtilPlus.genWorkbookV2(rows, sheetName); } @@ -289,10 +312,10 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc //判断是否按照自定义字段导出表头 List finalWeaTableColumns = new ArrayList<>(); - if (queryParam.getSalaryItemIds() != null ) { + if (queryParam.getSalaryItemIds() != null) { //获取人员基本信息字段(汇总) Collection> empFieldList = getSalarySobItemWrapper(user).empFieldList(); - List empFieldIdList= new ArrayList<>(); + List empFieldIdList = new ArrayList<>(); empFieldList.forEach(f -> empFieldIdList.add(f.get("id"))); // 必须选择导出所需的薪资项目 if (CollectionUtils.isEmpty(queryParam.getSalaryItemIds())) { @@ -311,7 +334,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc columnGroupItem.setChildren(childrenColumns); finalWeaTableColumns.add(columnGroupItem); } - } else if (empFieldIdList.contains(tableColumn.getColumn()) || headerRangeList.contains(tableColumn.getColumn())){ + } else if (empFieldIdList.contains(tableColumn.getColumn()) || headerRangeList.contains(tableColumn.getColumn())) { finalWeaTableColumns.add(columnGroupItem); } @@ -334,12 +357,12 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc if (openSum != null && StringUtils.isNotBlank(openSum.getConfValue()) && OpenEnum.parseByValue(openSum.getConfValue()) == OpenEnum.OPEN) { total = true; Map sumRow = getSalaryAcctResultService(user).sumRow(queryParam); - sumRow.forEach((k,v) -> { + sumRow.forEach((k, v) -> { if (NumberUtils.isCreatable(v.toString())) { - sumRow.put(k,new BigDecimal(v.toString())); + sumRow.put(k, new BigDecimal(v.toString())); } }); - if(sumRow !=null){ + if (sumRow != null) { sumRow.put("taxAgentName", "总计"); resultMapList.add(sumRow); } @@ -354,7 +377,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc for (WeaTableColumnGroup weaTableColumn : headerColumnGroup) { String fieldType = (String) map.getOrDefault(weaTableColumn.getColumn().toString() + DATA_TYPE_SUFFIX, StringUtils.EMPTY); if (StringUtils.equals("number", fieldType)) { - row.add(new BigDecimal(StringUtils.isBlank(map.get(weaTableColumn.getColumn()).toString()) ? "0" :map.get(weaTableColumn.getColumn()).toString())); + row.add(new BigDecimal(StringUtils.isBlank(map.get(weaTableColumn.getColumn()).toString()) ? "0" : map.get(weaTableColumn.getColumn()).toString())); } else { row.add(map.getOrDefault(weaTableColumn.getColumn(), StringUtils.EMPTY)); } @@ -380,7 +403,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc SalaryAcctRecordPO byId = getSalaryAcctRecordService(user).getById(salaryAcctRecordPO.getId()); boolean isBackCalc = Objects.equals(byId.getBackCalcStatus(), 1); // 查询薪资账套下的薪资项目+员工信息字段 - SalarySobItemAggregateDTO salarySobItemAggregateDTO = getSalarySobItemService(user).getAggregateWithItemHideBySalarySobId(salaryAcctRecordPO.getSalarySobId(),isBackCalc); + SalarySobItemAggregateDTO salarySobItemAggregateDTO = getSalarySobItemService(user).getAggregateWithItemHideBySalarySobId(salaryAcctRecordPO.getSalarySobId(), isBackCalc); // 构建薪资核算结果列表表头 List columnList = SalaryAcctResultBO.buildTableColumns(salarySobItemAggregateDTO, ListUtils.emptyIfNull(salaryAcctRecordPO.getLockSalaryItemIds())); // 获取固定列头数 @@ -450,27 +473,27 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc SalaryAcctResultBO.sortItem(salarySobItemPOMap); // 根据账套分组封装薪资项目的值 List itemsByGroup = new ArrayList<>(); - for(SalarySobItemGroupPO groupPO : salarySobItemGroupPOS){ - List groupItems = salarySobItemPOMap.getOrDefault(groupPO.getId(),Collections.emptyList()); + for (SalarySobItemGroupPO groupPO : salarySobItemGroupPOS) { + List groupItems = salarySobItemPOMap.getOrDefault(groupPO.getId(), Collections.emptyList()); List items = groupItems.stream() .map(salarySobItemPO -> SalaryAcctImportFieldDTO.ImportFieldDTO.builder() - .salaryItemId(salarySobItemPO.getSalaryItemId()) - .salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY)) - .dataType(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getDataType).orElse(SalaryDataTypeEnum.NUMBER.getValue())) - .build()) + .salaryItemId(salarySobItemPO.getSalaryItemId()) + .salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY)) + .dataType(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getDataType).orElse(SalaryDataTypeEnum.NUMBER.getValue())) + .build()) .collect(Collectors.toList()); itemsByGroup.add(SalaryAcctImportFieldDTO.ImportFieldByGroupDTO.builder() .salarySobItemGroupId(groupPO.getId()) .salarySobItemGroupName(groupPO.getName()) .salaryItems(items) - .sortedIndex(groupPO.getSortedIndex()).build() ); + .sortedIndex(groupPO.getSortedIndex()).build()); } // 未分类 List noGroupItems = salarySobItemPOMap.getOrDefault(0L, Collections.emptyList()); - if(CollectionUtils.isNotEmpty(noGroupItems)){ + if (CollectionUtils.isNotEmpty(noGroupItems)) { List items = noGroupItems.stream() - .map(salarySobItemPO ->SalaryAcctImportFieldDTO.ImportFieldDTO.builder() + .map(salarySobItemPO -> SalaryAcctImportFieldDTO.ImportFieldDTO.builder() .salaryItemId(salarySobItemPO.getSalaryItemId()) .salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY)) .dataType(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getDataType).orElse(SalaryDataTypeEnum.NUMBER.getValue())) @@ -510,7 +533,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc // .collect(Collectors.toList()); // 缓存勾选 String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN; - String cacheValue = (String)Util_DataCache.getObjVal(cacheKey); + String cacheValue = (String) Util_DataCache.getObjVal(cacheKey); List checkItems = JsonUtil.parseList(cacheValue, Long.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, Long.class); // 转换成dto // return SalaryAcctImportFieldDTO.builder().formulaItems(formulaItems).sqlItems(sqlItems).inputItems(inputItems).checkItems(checkItems).build(); @@ -541,8 +564,8 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc SalaryAcctResultBO.sortItem(salarySobItemPOMap); // 根据账套分组封装薪资项目的值 List itemsByGroup = new ArrayList<>(); - for(SalarySobItemGroupPO groupPO : salarySobItemGroupPOS){ - List groupItems = salarySobItemPOMap.getOrDefault(groupPO.getId(),Collections.emptyList()); + for (SalarySobItemGroupPO groupPO : salarySobItemGroupPOS) { + List groupItems = salarySobItemPOMap.getOrDefault(groupPO.getId(), Collections.emptyList()); List items = groupItems.stream() .map(salarySobItemPO -> SalaryAcctImportFieldDTO.ImportFieldDTO.builder() .salaryItemId(salarySobItemPO.getSalaryItemId()) @@ -554,13 +577,13 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc .salarySobItemGroupId(groupPO.getId()) .salarySobItemGroupName(groupPO.getName()) .salaryItems(items) - .sortedIndex(groupPO.getSortedIndex()).build() ); + .sortedIndex(groupPO.getSortedIndex()).build()); } // 未分类 List noGroupItems = salarySobItemPOMap.getOrDefault(0L, Collections.emptyList()); - if(CollectionUtils.isNotEmpty(noGroupItems)){ + if (CollectionUtils.isNotEmpty(noGroupItems)) { List items = noGroupItems.stream() - .map(salarySobItemPO ->SalaryAcctImportFieldDTO.ImportFieldDTO.builder() + .map(salarySobItemPO -> SalaryAcctImportFieldDTO.ImportFieldDTO.builder() .salaryItemId(salarySobItemPO.getSalaryItemId()) .salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY)) .build()) @@ -574,7 +597,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc } // 缓存勾选 String cacheKey = user.getUID() + SalaryItemConstant.RESULT_EXPORT_FIELD_SIGN; - String cacheValue = (String)Util_DataCache.getObjVal(cacheKey); + String cacheValue = (String) Util_DataCache.getObjVal(cacheKey); List checkItems = JsonUtil.parseList(cacheValue, Long.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, Long.class); // 转换成dto // return SalaryAcctImportFieldDTO.builder().formulaItems(formulaItems).sqlItems(sqlItems).inputItems(inputItems).checkItems(checkItems).build(); @@ -586,7 +609,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc // ValidUtil.doValidator(param); // 从缓存中获取所选的薪资项目 String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN; - String cacheValue = (String)Util_DataCache.getObjVal(cacheKey); + String cacheValue = (String) Util_DataCache.getObjVal(cacheKey); List checkItems = JsonUtil.parseList(cacheValue, Long.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, Long.class); // 必须选择导入模板所需的薪资项目 if (CollectionUtils.isEmpty(checkItems)) { @@ -691,7 +714,6 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc } - @Override public XSSFWorkbook exportComparisonResult(SalaryComparisonResultQueryParam queryParam) { ValidUtil.doValidator(queryParam); @@ -827,7 +849,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc // 查询薪资核算所用的薪资账套的员工信息字段 List salarySobEmpFieldPOS = getSalarySobEmpFieldService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId()); List salarySobEmpFieldDTOS = new SalarySobItemAggregateBO().buildEmpField(salarySobEmpFieldPOS); - salarySobEmpFieldDTOS.stream().forEach(empField -> finalWeaTableColumns.add(new WeaTableColumnGroup("150", SalaryI18nUtil.getI18nLabel(0, empField.getFieldName()), SalaryI18nUtil.getI18nLabel(0, empField.getFieldName())))); + salarySobEmpFieldDTOS.stream().forEach(empField -> finalWeaTableColumns.add(new WeaTableColumnGroup("150", SalaryI18nUtil.getI18nLabel(0, empField.getFieldName()), SalaryI18nUtil.getI18nLabel(0, empField.getFieldName())))); for (WeaTableColumnGroup tableColumn : weaTableColumns) { WeaTableColumnGroup columnGroupItem = (WeaTableColumnGroup) tableColumn; if (columnGroupItem.getChildren() != null) { @@ -992,16 +1014,16 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc // List headers = ExcelSupport.getSheetHeader(sheet, 0); List headers; // if (StringUtils.equals("importSalaryAcctResult", importType)) { - headers = ExcelSupport.getSheetHeader(sheet, 1); + headers = ExcelSupport.getSheetHeader(sheet, 1); // } else { // headers = ExcelSupport.getSheetHeader(sheet, 0); // } - // 处理数值 + // 处理数值 // List> data = ExcelParseHelper.parse2Map(sheet, 1); List> data; // if (StringUtils.equals("importSalaryAcctResult", importType)) { - data = ExcelParseHelper.parse2Map(sheet, 2, 1); + data = ExcelParseHelper.parse2Map(sheet, 2, 1); // } else { // data = ExcelParseHelper.parse2Map(sheet, 1); // } @@ -1248,7 +1270,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc getSalaryComparisonResultService(user).deleteBySalaryAcctRecordIds(Collections.singleton(salaryAcctRecordId)); if (CollectionUtils.isNotEmpty(excelAcctResults)) { excelAcctResults.stream().forEach(result -> { - if(StringUtils.isEmpty(result.getResultValue())){ + if (StringUtils.isEmpty(result.getResultValue())) { result.setResultValue(" "); } }); @@ -1282,7 +1304,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc } } SalarySysConfPO autoLock = getSalarySysConfService(user).getOneByCode(SalarySysConstant.EDIT_IMPORT_AUTO_LOCK); - if(autoLock != null && StringUtils.equals(autoLock.getConfValue(),"1")){ + if (autoLock != null && StringUtils.equals(autoLock.getConfValue(), "1")) { // 导入的列都自动锁定 SalaryAcctResultUpdateLockStatusParam updateLockStatusParam = SalaryAcctResultUpdateLockStatusParam.builder() .salaryItemIds(excelSalaryItemIds) @@ -1305,7 +1327,8 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc } /** - * 存储薪资核算结果数据来源日志 + * 存储薪资核算结果数据来源日志 + * * @param salaryAcctResults */ private void handleSalaryAcctResultLog(List salaryAcctResults) { @@ -1315,14 +1338,14 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc List salaryAcctResultList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds); Long uid = Long.valueOf(user.getUID()); List needInsertList = SalaryAcctResultLogBO.buildSalaryAcctResultLog(salaryAcctResultList, uid, SalaryAcctResultDataSourceEnum.IMPORT); - if(CollectionUtils.isNotEmpty(needInsertList)){ + if (CollectionUtils.isNotEmpty(needInsertList)) { getSalaryAcctResultLogService(user).batchInsert(needInsertList); } } /** - * @description * @return void + * @description * @author Harryxzy * @date 2022/12/26 22:36 */ @@ -1330,7 +1353,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc Map> deleteMap = SalaryEntityUtil.group2Map(deleteResults, po -> po.getSalaryAcctEmpId() + "-" + po.getSalaryItemId()); salaryAcctResults.stream().forEach(result -> { List salaryAcctResultPOS = deleteMap.get(result.getSalaryAcctEmpId() + "-" + result.getSalaryItemId()); - if(salaryAcctResultPOS != null && salaryAcctResultPOS.size() > 0 ){ + if (salaryAcctResultPOS != null && salaryAcctResultPOS.size() > 0) { result.setOriginResultValue(salaryAcctResultPOS.get(0).getOriginResultValue()); } }); diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java index d6924e489..1d3e300ef 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java @@ -4,9 +4,9 @@ import com.api.formmode.mybatis.util.SqlProxyHandle; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.common.LocalDateRange; -import com.engine.salary.constant.SalaryDefaultTenantConstant; -import com.engine.salary.entity.datacollection.DataCollectionEmployee; -import com.engine.salary.entity.report.po.SalaryAcctResultReportPO; +import com.engine.salary.config.SalaryElogConfig; +import com.engine.salary.elog.entity.dto.LoggerContext; +import com.engine.salary.elog.util.LoggerTemplate; import com.engine.salary.entity.salaryBill.po.SalarySendPO; import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO; import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam; @@ -15,8 +15,8 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO; import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO; -import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import com.engine.salary.entity.salarysob.po.SalarySobPO; +import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.enums.salarysob.IncomeCategoryEnum; import com.engine.salary.exception.SalaryRunTimeException; @@ -35,14 +35,11 @@ import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.ValidUtil; -import dm.jdbc.util.IdGenerator; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import weaver.hrm.User; -import java.time.YearMonth; import java.util.*; import java.util.stream.Collectors; @@ -55,7 +52,7 @@ import java.util.stream.Collectors; * @version 1.0 **/ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRecordService { - + private final LoggerTemplate salaryAcctRecordLoggerTemplate = SalaryElogConfig.salaryAcctRecordLoggerTemplate(); private SalaryAcctRecordMapper getSalaryAcctRecordMapper() { return MapperProxyFactory.getProxy(SalaryAcctRecordMapper.class); @@ -303,15 +300,16 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe // 初始化薪资核算人员 getSalaryAcctEmployeeService(user).initBySalaryAcctRecord(salaryAcctRecordPO); // 记录日志 -// String targetName = getLogTargetNameById(salaryAcctRecordPO.getId(), tenantKey); -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98768, "新建薪资核算")); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98768, "新建薪资核算") + ": " + targetName); -// loggerContext.setNewValues(salaryAcctRecordPO); -// salaryAcctRecordLoggerTemplate.write(loggerContext); + String targetName = getLogTargetNameById(salaryAcctRecordPO.getId()); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98768, "新建薪资核算")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98768, "新建薪资核算") + ": " + targetName); + loggerContext.setNewValues(salaryAcctRecordPO); + salaryAcctRecordLoggerTemplate.write(loggerContext); // 返回薪资核算记录id return salaryAcctRecordPO.getId(); } @@ -534,18 +532,19 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe } // 记录日志 -// salaryAcctRecordPOS.forEach(salaryAcctRecordPO -> { -// SalarySobPO salarySobPO = salarySobPOMap.get(salaryAcctRecordPO.getSalarySobId()); -// String targetName = salarySobPO.getName() + SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()); -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98821, "删除薪资核算")); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98821, "删除薪资核算") + ":" + targetName); -// loggerContext.setNewValues(salaryAcctRecordPO); -// salaryAcctRecordLoggerTemplate.write(loggerContext); -// }); + salaryAcctRecordPOS.forEach(salaryAcctRecordPO -> { + SalarySobPO salarySobPO = salarySobPOMap.get(salaryAcctRecordPO.getSalarySobId()); + String targetName = salarySobPO.getName() + SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98821, "删除薪资核算")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98821, "删除薪资核算") + ":" + targetName); + loggerContext.setNewValues(salaryAcctRecordPO); + salaryAcctRecordLoggerTemplate.write(loggerContext); + }); } @Override @@ -577,15 +576,16 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe // 记录日志 -// String targetName = getLogTargetNameById(salaryAcctRecordId); -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98817, "薪资核算归档")); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98817, "薪资核算归档") + ": " + targetName); -// loggerContext.setNewValues(salaryAcctRecordPO); -// salaryAcctRecordLoggerTemplate.write(loggerContext); + String targetName = getLogTargetNameById(salaryAcctRecordId); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98817, "薪资核算归档")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98817, "薪资核算归档") + ": " + targetName); + loggerContext.setNewValues(salaryAcctRecordPO); + salaryAcctRecordLoggerTemplate.write(loggerContext); } @Override @@ -626,15 +626,16 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe // salaryAcctRecordPO.setUpdateTime(new Date()); // getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO); // 记录日志 -// String targetName = getLogTargetNameById(salaryAcctRecordPO.getId(), tenantKey); -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98820, "重新核算")); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98820, "重新核算") + ": " + targetName); -// loggerContext.setNewValues(salaryAcctRecordPO); -// salaryAcctRecordLoggerTemplate.write(loggerContext); + String targetName = getLogTargetNameById(salaryAcctRecordPO.getId()); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId("" + salaryAcctRecordPO.getId()); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(98820, "重新核算")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(98820, "重新核算") + ": " + targetName); + loggerContext.setNewValues(salaryAcctRecordPO); + salaryAcctRecordLoggerTemplate.write(loggerContext); } diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 5369fea9e..fef331259 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -4,7 +4,10 @@ import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; 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.salary.encrypt.EncryptUtil; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO; @@ -23,9 +26,10 @@ import com.engine.salary.entity.salarysob.dto.*; import com.engine.salary.entity.salarysob.po.*; import com.engine.salary.entity.taxagent.po.TaxAgentAdminPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.SalaryValueTypeEnum; -import com.engine.salary.enums.common.FilterEnum; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.common.FilterEnum; import com.engine.salary.enums.salaryaccounting.LockStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctResultDataSourceEnum; @@ -82,6 +86,7 @@ import java.util.stream.Collectors; **/ @Slf4j public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctResultService { + private final LoggerTemplate salaryAcctRecordLoggerTemplate = SalaryElogConfig.salaryAcctRecordLoggerTemplate(); private EncryptUtil encryptUtil = new EncryptUtil(); private SalaryAcctResultMapper getSalaryAcctResultMapper() { @@ -145,7 +150,6 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe private SalaryAcctResultTempService getSalaryAcctResultTempService(User user) { return ServiceUtil.getService(SalaryAcctResultTempServiceImpl.class, user); } -// private LoggerTemplate salaryAcctRecordLoggerTemplate; private SIAccountService getSIAccountService(User user) { return ServiceUtil.getService(SIAccountServiceImpl.class, user); @@ -355,7 +359,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe //其他条件 List otherConditions = queryParam.getOtherConditions(); - if(CollectionUtils.isNotEmpty(otherConditions)){ + if (CollectionUtils.isNotEmpty(otherConditions)) { List items = SalaryEntityUtil.properties(otherConditions, SalaryAcctResultQueryParam.OtherCondition::getItemId, Collectors.toList()); List list = listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), items); for (int i = 0; i < otherConditions.size(); i++) { @@ -646,21 +650,22 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe saveSalaryAcctResultLog(salaryAcctResultPOSOld, salaryAcctResultPOS); // 查询操作日志的targetName -// String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(salaryAcctEmployeePO.getSalaryAcctRecordId()); - // 查询人员信息 -// DataCollectionEmployee simpleEmployee = getSalaryEmployeeService(user).getEmployeeById(salaryAcctEmployeePO.getEmployeeId()); - // 查询个税扣缴义务人 -// TaxAgentPO taxAgentPO = getTaxAgentService(user).getById(salaryAcctEmployeePO.getTaxAgentId()); - // 记录日志 -// String operateDesc = simpleEmployee.getUsername() + "(" + Optional.ofNullable(taxAgentPO).map(TaxAgentPO::getName).orElse(StringUtils.EMPTY) + ")"; -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId(String.valueOf(salaryAcctEmployeePO.getSalaryAcctRecordId())); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(95783, "编辑薪资核算结果") + ": " + operateDesc); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(95783, "编辑薪资核算结果") + ": " + operateDesc); -// loggerContext.setNewValueList(Lists.newArrayList(salaryAcctResultPOS)); -// salaryAcctRecordLoggerTemplate.write(loggerContext); + String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(salaryAcctEmployeePO.getSalaryAcctRecordId()); +// 查询人员信息 + DataCollectionEmployee simpleEmployee = getSalaryEmployeeService(user).getEmployeeById(salaryAcctEmployeePO.getEmployeeId()); +// 查询个税扣缴义务人 + TaxAgentPO taxAgentPO = getTaxAgentService(user).getById(salaryAcctEmployeePO.getTaxAgentId()); +// 记录日志 + String operateDesc = simpleEmployee.getUsername() + "(" + Optional.ofNullable(taxAgentPO).map(TaxAgentPO::getName).orElse(StringUtils.EMPTY) + ")"; + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId(String.valueOf(salaryAcctEmployeePO.getSalaryAcctRecordId())); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(95783, "编辑薪资核算结果") + ": " + operateDesc); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(95783, "编辑薪资核算结果") + ": " + operateDesc); + loggerContext.setNewValueList(Lists.newArrayList(salaryAcctResultPOS)); + salaryAcctRecordLoggerTemplate.write(loggerContext); } /** @@ -856,14 +861,15 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe }.start(); // 记录日志 // 查询操作日志的targetName -// String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(calculateParam.getSalaryAcctRecordId()); -// LoggerContext loggerContext = new LoggerContext<>(); -// loggerContext.setTargetId(String.valueOf(calculateParam.getSalaryAcctRecordId())); -// loggerContext.setTargetName(targetName); -// loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); -// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(95783, "薪资核算")); -// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(95783, "薪资核算")); -// salaryAcctRecordLoggerTemplate.write(loggerContext); + String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(calculateParam.getSalaryAcctRecordId()); + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId(String.valueOf(calculateParam.getSalaryAcctRecordId())); + loggerContext.setTargetName(targetName); + loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(95783, "薪资核算")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(95783, "薪资核算")); + salaryAcctRecordLoggerTemplate.write(loggerContext); } catch (Exception e) { log.info("薪资核算出错:{}", e.getMessage(), e); // throw new SalaryRunTimeException(e); @@ -1191,7 +1197,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe batchSave(needInsertList); // 报表入库前先删除 - getSalaryAcctReportService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(param.getIdList(), Collections.singletonList(param.getSalaryItemId()) ); + getSalaryAcctReportService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(param.getIdList(), Collections.singletonList(param.getSalaryItemId())); getSalaryAcctReportService(user).batchSave(salaryAcctResultReportPOS); }