diff --git a/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationDetailPO.java b/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationDetailPO.java index e7c4e49b2..d58cf7495 100644 --- a/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationDetailPO.java +++ b/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationDetailPO.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.taxdeclaration.po; +import com.engine.hrmelog.annotation.ElogTransform; import com.engine.salary.annotation.Encrypt; import lombok.AllArgsConstructor; import lombok.Builder; @@ -21,36 +22,43 @@ import java.util.Date; @NoArgsConstructor @AllArgsConstructor //hrsa_tax_declaration_detail +@ElogTransform(name = "个税申报表") public class TaxDeclarationDetailPO { /** * 主键id */ + @ElogTransform(name = "id") private Long id; /** * 个税申报记录id */ + @ElogTransform(name = "个税申报记录id") private Long taxDeclarationId; /** * 人员id */ + @ElogTransform(name = "人员id") private Long employeeId; /** * 人员类型 */ + @ElogTransform(name = "人员类型") private Integer employeeType; /** * 申报表字段code */ + @ElogTransform(name = "申报表字段code") private String fieldCode; /** * 申报表字段的值 */ + @ElogTransform(name = "申报表字段的值") @Encrypt private String fieldValue; @@ -58,11 +66,13 @@ public class TaxDeclarationDetailPO { /** * 租户key */ + @ElogTransform(name = "tenantKey") private String tenantKey; /** * 创建人id */ + @ElogTransform(name = "创建人id") private Long creator; /** @@ -73,11 +83,13 @@ public class TaxDeclarationDetailPO { /** * 创建时间 */ + @ElogTransform(name = "创建时间") private Date createTime; /** * 更新时间 */ + @ElogTransform(name = "更新时间") private Date updateTime; diff --git a/src/com/engine/salary/service/impl/TaxDeclarationDetailServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationDetailServiceImpl.java index 227d2ddbe..0473c304f 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationDetailServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationDetailServiceImpl.java @@ -2,9 +2,13 @@ package com.engine.salary.service.impl; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.hrmelog.entity.dto.LoggerContext; +import com.engine.salary.config.SalaryElogConfig; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; +import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO; import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationDetailBO; import com.engine.salary.entity.taxdeclaration.dto.*; @@ -13,6 +17,7 @@ import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailFormQue import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationDetailPO; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO; +import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum; import com.engine.salary.enums.salarysob.IncomeCategoryEnum; import com.engine.salary.exception.SalaryRunTimeException; @@ -24,7 +29,9 @@ import com.engine.salary.service.TaxDeclarationService; import com.engine.salary.sys.entity.vo.OrderRuleVO; import com.engine.salary.sys.service.SalarySysConfService; import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl; +import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; +import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.db.IdGenerator; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.Column; @@ -75,6 +82,8 @@ public class TaxDeclarationDetailServiceImpl extends Service implements TaxDecla return ServiceUtil.getService(SalarySysConfServiceImpl.class, user); } + + @Override public List listByTaxDeclarationIdAndEmployeeIds(Long taxDeclarationId, Collection employeeIds) { if (CollectionUtils.isEmpty(employeeIds)) { @@ -391,6 +400,27 @@ public class TaxDeclarationDetailServiceImpl extends Service implements TaxDecla deleteByTaxDeclarationIdAndEmployeeId(param.getTaxDeclarationId(), param.getEmployeeId()); batchSave(needInsertList); } + // 记录日志 + encryptUtil.decryptList(needInsertList, TaxDeclarationDetailPO.class); + TaxAgentPO taxAgentPO = getTaxAgentService(user).getById(taxDeclarationPO.getTaxAgentId()); + String incomeCategory = IncomeCategoryEnum.parseByValue(taxDeclarationPO.getIncomeCategory()).getDefaultLabel(); + DataCollectionEmployee employee = getSalaryEmployeeService(user).getEmployeeById(param.getEmployeeId()); + + String operateDesc = null; + try { + operateDesc = SalaryDateUtil.getFormatYearMonth(taxDeclarationPO.getSalaryMonth()) + "_" +taxAgentPO.getName() + "_" + incomeCategory + "_" + employee.getUsername(); + } catch (Exception e) { + operateDesc = taxDeclarationPO.getId() + "_" + param.getEmployeeId(); + } + LoggerContext loggerContext = new LoggerContext<>(); + loggerContext.setUser(user); + loggerContext.setTargetId(taxDeclarationPO.getId().toString()); + loggerContext.setTargetName(operateDesc); + loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "编辑个税申报表") + ": " + operateDesc); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "编辑薪资核算结果") + ": " + operateDesc); + loggerContext.setNewValueList(Lists.newArrayList(needInsertList)); + SalaryElogConfig.taxDeclarationLoggerTemplate.write(loggerContext); } private void deleteByTaxDeclarationIdAndEmployeeId(Long taxDeclarationId, Long employeeId) {