个税申报表编辑操作日志

This commit is contained in:
Harryxzy 2025-06-12 14:25:10 +08:00
parent 367d538570
commit aae8208283
2 changed files with 41 additions and 0 deletions

View File

@ -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;

View File

@ -2,10 +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.*;
@ -14,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;
@ -25,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;
@ -77,6 +83,8 @@ public class TaxDeclarationDetailServiceImpl extends Service implements TaxDecla
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
}
@Override
public List<TaxDeclarationDetailPO> listByTaxDeclarationIdAndEmployeeIds(Long taxDeclarationId, Collection<Long> employeeIds) {
if (CollectionUtils.isEmpty(employeeIds)) {
@ -416,6 +424,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<TaxDeclarationDetailPO> 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) {