Merge remote-tracking branch 'origin/feature/操作日志组件' into feature/操作日志组件

This commit is contained in:
Harryxzy 2024-02-22 09:44:02 +08:00
commit 5c5dcdabb2
15 changed files with 796 additions and 592 deletions

View File

@ -1,6 +1,7 @@
package com.engine.salary.entity.siaccount.po; package com.engine.salary.entity.siaccount.po;
import com.engine.salary.annotation.Encrypt; import com.engine.salary.annotation.Encrypt;
import com.engine.salary.elog.annotation.ElogTransform;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -20,94 +21,112 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
//hrsa_bill_batch //hrsa_bill_batch
@ElogTransform(name = "福利台账主表")
public class InsuranceAccountBatchPO { public class InsuranceAccountBatchPO {
/** /**
* 主键id * 主键id
*/ */
@ElogTransform(name = "主键id")
private Long id; private Long id;
/** /**
* 账单月份 * 账单月份
*/ */
@ElogTransform(name = "账单月份")
private String billMonth; private String billMonth;
/** /**
* 账单状态 0-未归档 1-已归档 * 账单状态 0-未归档 1-已归档
*/ */
@ElogTransform(name = "账单状态")
private Integer billStatus; private Integer billStatus;
/** /**
* 社保核算人数 * 社保核算人数
*/ */
@ElogTransform(name = "社保核算人数")
private Integer socialNum; private Integer socialNum;
/** /**
* 公积金核算人数 * 公积金核算人数
*/ */
@ElogTransform(name = "公积金核算人数")
private Integer fundNum; private Integer fundNum;
/** /**
* 其他福利核算人数 * 其他福利核算人数
*/ */
@ElogTransform(name = "其他福利核算人数")
private Integer otherNum; private Integer otherNum;
/** /**
* 社保缴费总额(单位+个人) * 社保缴费总额(单位+个人)
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保缴费总额(单位+个人)")
private String socialPay; private String socialPay;
/** /**
* 公积金缴费总额(单位+个人) * 公积金缴费总额(单位+个人)
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "公积金缴费总额(单位+个人)")
private String fundPay; private String fundPay;
/** /**
* 其他福利缴费总额(单位+个人) * 其他福利缴费总额(单位+个人)
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "其他福利缴费总额(单位+个人)")
private String otherPay; private String otherPay;
/** /**
* 核算人 * 核算人
*/ */
@ElogTransform(name = "核算人")
private String accountant; private String accountant;
/** /**
* 备注 * 备注
*/ */
@ElogTransform(name = "备注")
private String remarks; private String remarks;
/** /**
* 创建人id * 创建人id
*/ */
@ElogTransform(name = "创建人id")
private Long creator; private Long creator;
/** /**
* 是否删除 * 是否删除
*/ */
@ElogTransform(name = "是否删除")
private Integer deleteType; private Integer deleteType;
/** /**
* 创建时间 * 创建时间
*/ */
@ElogTransform(name = "创建时间")
private Date createTime; private Date createTime;
/** /**
* 更新时间 * 更新时间
*/ */
@ElogTransform(name = "更新时间")
private Date updateTime; private Date updateTime;
/** /**
* 租户key * 租户key
*/ */
@ElogTransform(name = "租户key")
private String tenantKey; private String tenantKey;
/** /**
* 个税扣缴义务人 * 个税扣缴义务人
*/ */
@ElogTransform(name = "个税扣缴义务人id")
private Long paymentOrganization; private Long paymentOrganization;

View File

@ -3,6 +3,7 @@ package com.engine.salary.entity.siaccount.po;
import com.cloudstore.eccom.pc.table.WeaTableType; import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.salary.annotation.Encrypt; import com.engine.salary.annotation.Encrypt;
import com.engine.salary.annotation.SalaryTable; import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.elog.annotation.ElogTransform;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -23,260 +24,308 @@ import java.util.Date;
@AllArgsConstructor @AllArgsConstructor
@SalaryTable(pageId = "2394fba1-1381-428a-8532-4e1e6b86626e", tableType = WeaTableType.CHECKBOX) @SalaryTable(pageId = "2394fba1-1381-428a-8532-4e1e6b86626e", tableType = WeaTableType.CHECKBOX)
//hrsa_bill_detail //hrsa_bill_detail
@ElogTransform(name = "福利台账明细表")
public class InsuranceAccountDetailPO { public class InsuranceAccountDetailPO {
/** /**
* 主键id * 主键id
*/ */
@ElogTransform(name = "主键id")
private Long id; private Long id;
/** /**
* 员工id * 员工id
*/ */
@ElogTransform(name = "员工id")
private Long employeeId; private Long employeeId;
/** /**
* 账单月份 * 账单月份
*/ */
@ElogTransform(name = "账单月份")
private String billMonth; private String billMonth;
/** /**
* 账单状态 0-未归档 1-已归档 * 账单状态 0-未归档 1-已归档
*/ */
@ElogTransform(name = "账单状态")
private Integer billStatus; private Integer billStatus;
/** /**
* 缴纳状态 * 缴纳状态
*/ */
@ElogTransform(name = "缴纳状态")
private Integer paymentStatus; private Integer paymentStatus;
/** /**
* 补缴月份/退差月份 * 补缴月份/退差月份
*/ */
@ElogTransform(name = "补缴月份/退差月份")
private String supplementaryMonth; private String supplementaryMonth;
/** /**
* 补缴项目 * 补缴项目
*/ */
@ElogTransform(name = "补缴项目")
private String supplementaryProjects; private String supplementaryProjects;
/** /**
* 数据来源 0-系统核算 1-临时数据 * 数据来源 0-系统核算 1-临时数据
*/ */
@ElogTransform(name = "数据来源")
private Integer resourceFrom; private Integer resourceFrom;
/** /**
* 社保缴纳组织 * 社保缴纳组织
*/ */
@ElogTransform(name = "社保缴纳组织")
private Long socialPayOrg; private Long socialPayOrg;
/** /**
* 社保账号 * 社保账号
*/ */
@ElogTransform(name = "社保账号")
private String socialAccount; private String socialAccount;
/** /**
* 公积金缴纳组织 * 公积金缴纳组织
*/ */
@ElogTransform(name = "公积金缴纳组织")
private Long fundPayOrg; private Long fundPayOrg;
/** /**
* 公积金账号 * 公积金账号
*/ */
@ElogTransform(name = "公积金账号")
private String fundAccount; private String fundAccount;
/** /**
* 补充公积金账号 * 补充公积金账号
*/ */
@ElogTransform(name = "补充公积金账号")
private String supplementFundAccount; private String supplementFundAccount;
/** /**
* 其他福利缴纳组织 * 其他福利缴纳组织
*/ */
@ElogTransform(name = "其他福利缴纳组织")
private Long otherPayOrg; private Long otherPayOrg;
/** /**
* 社保方案ID * 社保方案ID
*/ */
@ElogTransform(name = "社保方案ID")
private Long socialSchemeId; private Long socialSchemeId;
/** /**
* 社保缴纳基数 * 社保缴纳基数
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保缴纳基数")
private String socialPaymentBaseString; private String socialPaymentBaseString;
/** /**
* 社保缴纳基数单位 * 社保缴纳基数单位
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保缴纳基数——单位")
private String socialPaymentComBaseString; private String socialPaymentComBaseString;
/** /**
* 公积金方案ID * 公积金方案ID
*/ */
@ElogTransform(name = "公积金方案ID")
private Long fundSchemeId; private Long fundSchemeId;
/** /**
* 公积金缴纳基数 * 公积金缴纳基数
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "公积金缴纳基数")
private String fundPaymentBaseString; private String fundPaymentBaseString;
/** /**
* 公积金缴纳基数单位 * 公积金缴纳基数单位
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "公积金缴纳基数——单位")
private String fundPaymentComBaseString; private String fundPaymentComBaseString;
/** /**
* 其他福利方案id * 其他福利方案id
*/ */
@ElogTransform(name = "其他福利方案id")
private Long otherSchemeId; private Long otherSchemeId;
/** /**
* 其他福利缴纳基数 * 其他福利缴纳基数
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "其他福利缴纳基数")
private String otherPaymentBaseString; private String otherPaymentBaseString;
/** /**
* 其他福利缴纳基数单位 * 其他福利缴纳基数单位
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "其他福利缴纳基数——单位")
private String otherPaymentComBaseString; private String otherPaymentComBaseString;
/** /**
* 社保个人缴费明细 * 社保个人缴费明细
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保个人缴费明细")
private String socialPerJson; private String socialPerJson;
/** /**
* 社保个人合计 * 社保个人合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保个人合计")
private String socialPerSum; private String socialPerSum;
/** /**
* 公积金个人缴费明细 * 公积金个人缴费明细
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "公积金个人缴费明细")
private String fundPerJson; private String fundPerJson;
/** /**
* 公积金个人合计 * 公积金个人合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "公积金个人合计")
private String fundPerSum; private String fundPerSum;
/** /**
* 其他福利个人缴费明细 * 其他福利个人缴费明细
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "其他福利个人缴费明细")
private String otherPerJson; private String otherPerJson;
/** /**
* 其他福利个人合计 * 其他福利个人合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "其他福利个人合计")
private String otherPerSum; private String otherPerSum;
/** /**
* 个人合计 * 个人合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "个人合计")
private String perSum; private String perSum;
/** /**
* 社保单位缴费明细 * 社保单位缴费明细
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保单位缴费明细")
private String socialComJson; private String socialComJson;
/** /**
* 社保单位合计 * 社保单位合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保单位合计")
private String socialComSum; private String socialComSum;
/** /**
* 公积金单位缴费明细 * 公积金单位缴费明细
*/ */
@ElogTransform(name = "公积金单位缴费明细")
private String fundComJson; private String fundComJson;
/** /**
* 公积金单位合计 * 公积金单位合计
*/ */
@ElogTransform(name = "公积金单位合计")
private String fundComSum; private String fundComSum;
/** /**
* 其他福利单位缴费明细 * 其他福利单位缴费明细
*/ */
@ElogTransform(name = "其他福利单位缴费明细")
private String otherComJson; private String otherComJson;
/** /**
* 其他福利单位合计 * 其他福利单位合计
*/ */
@ElogTransform(name = "其他福利单位合计")
private String otherComSum; private String otherComSum;
/** /**
* 单位合计 * 单位合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "单位合计")
private String comSum; private String comSum;
/** /**
* 社保合计 * 社保合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "社保合计")
private String socialSum; private String socialSum;
/** /**
* 公积金合计 * 公积金合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "公积金合计")
private String fundSum; private String fundSum;
/** /**
* 其他福利合计 * 其他福利合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "其他福利合计")
private String otherSum; private String otherSum;
/** /**
* 合计 * 合计
*/ */
@Encrypt @Encrypt
@ElogTransform(name = "合计")
private String total; private String total;
/** /**
* 创建人id * 创建人id
*/ */
@ElogTransform(name = "创建人id")
private Long creator; private Long creator;
/** /**
* 是否删除 * 是否删除
*/ */
@ElogTransform(name = "是否删除")
private Integer deleteType; private Integer deleteType;
/** /**
* 创建时间 * 创建时间
*/ */
@ElogTransform(name = "创建时间")
private Date createTime; private Date createTime;
/** /**
* 更新时间 * 更新时间
*/ */
@ElogTransform(name = "更新时间")
private Date updateTime; private Date updateTime;
/** /**
* 租户key * 租户key
*/ */
@ElogTransform(name = "租户key")
private String tenantKey; private String tenantKey;
/** /**
* 个税扣缴义务人 * 个税扣缴义务人
*/ */
@ElogTransform(name = "个税扣缴义务人")
private Long paymentOrganization; private Long paymentOrganization;
} }

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.siaccount.po; package com.engine.salary.entity.siaccount.po;
import com.engine.salary.elog.annotation.ElogTransform;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -18,86 +19,103 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
//hrsa_compensation_log //hrsa_compensation_log
@ElogTransform(name = "福利台账-调差历史表")
public class InsuranceCompensationPO { public class InsuranceCompensationPO {
/** /**
* 主键id * 主键id
*/ */
@ElogTransform(name = "主键id")
private Long id; private Long id;
/** /**
* 缴纳组织 * 缴纳组织
*/ */
@ElogTransform(name = "缴纳组织")
private Long paymentAgency; private Long paymentAgency;
/** /**
* 个税扣缴义务人 * 个税扣缴义务人
*/ */
@ElogTransform(name = "个税扣缴义务人id")
private Long paymentOrganization; private Long paymentOrganization;
/** /**
* 创建人id * 创建人id
*/ */
@ElogTransform(name = "创建人id")
private Long creator; private Long creator;
/** /**
* 是否删除 * 是否删除
*/ */
@ElogTransform(name = "是否删除")
private Integer deleteType; private Integer deleteType;
/** /**
* 创建时间 * 创建时间
*/ */
@ElogTransform(name = "创建时间")
private Date createTime; private Date createTime;
/** /**
* 更新时间 * 更新时间
*/ */
@ElogTransform(name = "更新时间")
private Date updateTime; private Date updateTime;
/** /**
* 租户key * 租户key
*/ */
@ElogTransform(name = "租户key")
private String tenantKey; private String tenantKey;
/** /**
* 员工id * 员工id
*/ */
@ElogTransform(name = "员工id")
private Long employeeId; private Long employeeId;
/** /**
* 统计调差福利 * 统计调差福利
*/ */
@ElogTransform(name = "统计调差福利")
private Integer welfareType; private Integer welfareType;
/** /**
* 统计调差福利类型 * 统计调差福利类型
*/ */
@ElogTransform(name = "统计调差福利类型")
private String categoryType; private String categoryType;
/** /**
* 国家核算金额 * 国家核算金额
*/ */
@ElogTransform(name = "国家核算金额")
private String countryTotal; private String countryTotal;
/** /**
* 公司核算金额 * 公司核算金额
*/ */
@ElogTransform(name = "公司核算金额")
private String companyTotal; private String companyTotal;
/** /**
* 应调差额 * 应调差额
*/ */
@ElogTransform(name = "应调差额")
private String adjustmentTotal; private String adjustmentTotal;
/** /**
* 调差到 * 调差到
*/ */
@ElogTransform(name = "调差到")
private Long adjustTo; private Long adjustTo;
/** /**
* 账单月份 * 账单月份
*/ */
@ElogTransform(name = "账单月份")
private String billMonth; private String billMonth;
//---------条件------- //---------条件-------

View File

@ -50,6 +50,9 @@ public interface InsuranceAccountBatchMapper {
*/ */
void updateById(InsuranceAccountBatchPO pos); void updateById(InsuranceAccountBatchPO pos);
InsuranceAccountBatchPO getById(@Param("id") Long id);
/** /**
* *
* @param billMonth * @param billMonth

View File

@ -244,6 +244,15 @@
</if> </if>
</update> </update>
<select id="getById" resultMap="BaseResultMap">
SELECT
<include refid="baseColumns"/>
FROM
hrsa_bill_batch t
WHERE t.delete_type = 0
AND t.id = #{id}
</select>
<select id="listAll" resultMap="BaseResultMap"> <select id="listAll" resultMap="BaseResultMap">
SELECT SELECT
<include refid="baseColumns"/> <include refid="baseColumns"/>

View File

@ -123,9 +123,9 @@ public interface SIAccountService {
/** /**
* 删除补缴人员 * 删除补缴人员
* @param supplementAccountBaseParams * @param param
*/ */
void deleteSummplementaryAccount(List<SupplementAccountBaseParam> supplementAccountBaseParams); void deleteSupplementaryAccount(SaveCommonAccountParam param);
/** /**
* 台账归档 * 台账归档

View File

@ -13,7 +13,9 @@ import com.engine.core.impl.Service;
import com.engine.salary.biz.*; import com.engine.salary.biz.*;
import com.engine.salary.cache.SalaryCacheKey; import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.component.SalaryWeaTable; import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.elog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.progress.ProgressDTO; import com.engine.salary.entity.progress.ProgressDTO;
@ -28,12 +30,14 @@ import com.engine.salary.entity.siexport.po.AccountExportPO;
import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO;
import com.engine.salary.entity.sischeme.po.InsuranceSchemePO; import com.engine.salary.entity.sischeme.po.InsuranceSchemePO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO; 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.UserStatusEnum;
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
import com.engine.salary.enums.siaccount.*; import com.engine.salary.enums.siaccount.*;
import com.engine.salary.enums.sicategory.*; import com.engine.salary.enums.sicategory.*;
import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.InsuranceExportMapper; import com.engine.salary.mapper.InsuranceExportMapper;
import com.engine.salary.mapper.datacollection.EmployMapper;
import com.engine.salary.mapper.siaccount.*; import com.engine.salary.mapper.siaccount.*;
import com.engine.salary.mapper.siarchives.FundSchemeMapper; import com.engine.salary.mapper.siarchives.FundSchemeMapper;
import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper; import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper;
@ -231,6 +235,10 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
return ServiceUtil.getService(SIArchivesServiceImpl.class, user); return ServiceUtil.getService(SIArchivesServiceImpl.class, user);
} }
private EmployMapper getEmployMapper() {
return MapperProxyFactory.getProxy(EmployMapper.class);
}
@Override @Override
public Map<String, Object> listPage(InsuranceAccountBatchParam queryParam) { public Map<String, Object> listPage(InsuranceAccountBatchParam queryParam) {
Long employeeId = (long) user.getUID(); Long employeeId = (long) user.getUID();
@ -662,11 +670,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
} }
@Override @Override
public void deleteSummplementaryAccount(List<SupplementAccountBaseParam> supplementAccountBaseParams) { public void deleteSupplementaryAccount(SaveCommonAccountParam param) {
// Long employeeId = (long) user.getUID(); // Long employeeId = (long) user.getUID();
// String currentUserName = user.getLastname(); // String currentUserName = user.getLastname();
// getSiAccountBiz(user).deleteSupplementaryAccount(supplementAccountBaseParams, employeeId, currentUserName); // getSiAccountBiz(user).deleteSupplementaryAccount(supplementAccountBaseParams, employeeId, currentUserName);
siDeleteSupplementaryAccount(supplementAccountBaseParams); siDeleteSupplementaryAccount(param);
} }
@Override @Override
@ -1548,6 +1556,20 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
param.setBillStatus(0); param.setBillStatus(0);
// getSiAccountBiz(user).updateById(param); // getSiAccountBiz(user).updateById(param);
updateById(param); updateById(param);
//记录操作日志
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getById(param.getId());
encryptUtil.decrypt(targetPO, InsuranceAccountBatchPO.class);
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
LoggerContext<InsuranceAccountBatchPO> loggerContext = new LoggerContext<>();
loggerContext.setUser(user);
loggerContext.setTargetId("" + targetPO.getId());
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账-重新核算"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账-重新核算")
+ ": " + taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setNewValues(targetPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
/** /**
@ -1831,6 +1853,23 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
//刷新hrsa_bill_batch中数据统计信息 //刷新hrsa_bill_batch中数据统计信息
if (updateInsuranceAccountDetailList.size() > 0) { if (updateInsuranceAccountDetailList.size() > 0) {
refreshBillBatch(updateInsuranceAccountDetailList.get(0).getPaymentOrganization(), updateInsuranceAccountDetailList.get(0).getBillMonth()); refreshBillBatch(updateInsuranceAccountDetailList.get(0).getPaymentOrganization(), updateInsuranceAccountDetailList.get(0).getBillMonth());
//记录操作日志
PaymentStatusEnum targetEnum = SalaryEnumUtil.enumMatchByValue(updateInsuranceAccountDetailList.get(0).getPaymentStatus(), PaymentStatusEnum.values(), PaymentStatusEnum.class);
encryptUtil.decryptList(updateInsuranceAccountDetailList, InsuranceAccountDetailPO.class);
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(updateInsuranceAccountDetailList.get(0).getBillMonth(), updateInsuranceAccountDetailList.get(0).getPaymentOrganization());
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(targetPO.getId()));
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setOperateType(OperateTypeEnum.EXCEL_IMPORT.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-导入")
+ SalaryI18nUtil.getI18nLabel(targetEnum.getLabelId(), targetEnum.getDefaultLabel()));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-导入"
+ SalaryI18nUtil.getI18nLabel(targetEnum.getLabelId(), targetEnum.getDefaultLabel()))
+ ":" + taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
updateInsuranceAccountDetailList.forEach(loggerContext::setNewValues);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
apidatas.put("successCount", successCount); apidatas.put("successCount", successCount);
@ -3279,6 +3318,9 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
} }
encryptUtil.decrypt(insuranceAccountDetailPO, InsuranceAccountDetailPO.class); encryptUtil.decrypt(insuranceAccountDetailPO, InsuranceAccountDetailPO.class);
InsuranceAccountDetailPO oldTargetPO = new InsuranceAccountDetailPO();
BeanUtils.copyProperties(insuranceAccountDetailPO, oldTargetPO);
accountSocialByData(insuranceAccountDetailPO, param); accountSocialByData(insuranceAccountDetailPO, param);
accountFundByData(insuranceAccountDetailPO, param); accountFundByData(insuranceAccountDetailPO, param);
accountOtherByData(insuranceAccountDetailPO, param); accountOtherByData(insuranceAccountDetailPO, param);
@ -3289,6 +3331,25 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
//刷新_bill_batch表中的统计信息 //刷新_bill_batch表中的统计信息
refreshBillBatch(insuranceAccountDetailPO.getPaymentOrganization(), insuranceAccountDetailPO.getBillMonth()); refreshBillBatch(insuranceAccountDetailPO.getPaymentOrganization(), insuranceAccountDetailPO.getBillMonth());
//记录操作日志
PaymentStatusEnum targetEnum = SalaryEnumUtil.enumMatchByValue(insuranceAccountDetailPO.getPaymentStatus(), PaymentStatusEnum.values(), PaymentStatusEnum.class);
encryptUtil.decrypt(insuranceAccountDetailPO, InsuranceAccountDetailPO.class);
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(insuranceAccountDetailPO.getBillMonth(), insuranceAccountDetailPO.getPaymentOrganization());
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
DataCollectionEmployee empInfo = getEmployMapper().getEmployeeById(insuranceAccountDetailPO.getEmployeeId());
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(targetPO.getId()));
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth() + "-" + empInfo.getUsername());
loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-编辑")
+ SalaryI18nUtil.getI18nLabel(targetEnum.getLabelId(), targetEnum.getDefaultLabel()));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-编辑"
+ SalaryI18nUtil.getI18nLabel(targetEnum.getLabelId(), targetEnum.getDefaultLabel()))
+ ":" + taxAgentInfo.getName() + "-" + targetPO.getBillMonth() + "-" + empInfo.getUsername());
loggerContext.setOldValues(oldTargetPO);
loggerContext.setNewValues(insuranceAccountDetailPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
public void accountFundByData(InsuranceAccountDetailPO insuranceAccountDetailPO, EditAccountDetailParam baseParam) { public void accountFundByData(InsuranceAccountDetailPO insuranceAccountDetailPO, EditAccountDetailParam baseParam) {
@ -3696,6 +3757,20 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
// getSiAccountBiz(user).updateByEmployeeIdAndBillMonth(po); // getSiAccountBiz(user).updateByEmployeeIdAndBillMonth(po);
updateByEmployeeIdAndBillMonth(po); updateByEmployeeIdAndBillMonth(po);
} }
//记录操作日志
encryptUtil.decryptList(updateInsuranceAccountDetailList, InsuranceAccountDetailPO.class);
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(billMonth, paymentOrganization);
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(targetPO.getId()));
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setOperateType(OperateTypeEnum.EXCEL_IMPORT.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-补差导入更新"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-补差导入更新")
+ ":" + taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
updateInsuranceAccountDetailList.forEach(loggerContext::setNewValues);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
if (createInsuranceAccountDetailList.size() > 0) { if (createInsuranceAccountDetailList.size() > 0) {
paymentOrganization = createInsuranceAccountDetailList.get(0).getPaymentOrganization(); paymentOrganization = createInsuranceAccountDetailList.get(0).getPaymentOrganization();
@ -3708,6 +3783,20 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
//新增 //新增
List<List<InsuranceAccountDetailPO>> createPartition = Lists.partition((List<InsuranceAccountDetailPO>) createInsuranceAccountDetailList, 20); List<List<InsuranceAccountDetailPO>> createPartition = Lists.partition((List<InsuranceAccountDetailPO>) createInsuranceAccountDetailList, 20);
createPartition.forEach(getInsuranceAccountDetailMapper()::batchSaveAccountDetails); createPartition.forEach(getInsuranceAccountDetailMapper()::batchSaveAccountDetails);
//记录操作日志
encryptUtil.decryptList(createInsuranceAccountDetailList, InsuranceAccountDetailPO.class);
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(billMonth, paymentOrganization);
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(targetPO.getId()));
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setOperateType(OperateTypeEnum.EXCEL_IMPORT.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-补差导入新增"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-补差导入新增")
+ ":" + taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
createInsuranceAccountDetailList.forEach(loggerContext::setNewValues);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
//刷新bill_batch表中统计信息 //刷新bill_batch表中统计信息
@ -4380,14 +4469,20 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
.build(); .build();
encryptUtil.encrypt(build, InsuranceAccountBatchPO.class); encryptUtil.encrypt(build, InsuranceAccountBatchPO.class);
getInsuranceAccountBatchMapper().insert(build); getInsuranceAccountBatchMapper().insert(build);
// LoggerContext insuranceSchemeContext = new LoggerContext(); //记录操作日志
// insuranceSchemeContext.setTargetId(String.valueOf(build.getId())); InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(param.getBillMonth(), param.getPaymentOrganization());
// insuranceSchemeContext.setTargetName(build.getBillMonth()); encryptUtil.decrypt(targetPO, InsuranceAccountBatchPO.class);
// insuranceSchemeContext.setOperateType(OperateTypeEnum.ADD.getValue()); TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
// insuranceSchemeContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100462, "新增台账")); LoggerContext<InsuranceAccountBatchPO> loggerContext = new LoggerContext();
// insuranceSchemeContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100462, "新增台账")); loggerContext.setUser(user);
// insuranceSchemeContext.setNewValues(build); loggerContext.setTargetId(String.valueOf(targetPO.getId()));
// siAccountLoggerTemplate.write(insuranceSchemeContext); loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "新增福利台账"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "新增福利台账")
+ ":" + taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setNewValues(targetPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
try { try {
List<Long> employeeIds = getInsuranceAccountDetailMapper().selectEmpByPaymentOrg(param.getPaymentOrganization()); List<Long> employeeIds = getInsuranceAccountDetailMapper().selectEmpByPaymentOrg(param.getPaymentOrganization());
@ -5357,15 +5452,19 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
insuranceAccountBatchPO.setOtherPay(otherSum.toPlainString()); insuranceAccountBatchPO.setOtherPay(otherSum.toPlainString());
encryptUtil.encrypt(insuranceAccountBatchPO, InsuranceAccountBatchPO.class); encryptUtil.encrypt(insuranceAccountBatchPO, InsuranceAccountBatchPO.class);
getInsuranceAccountBatchMapper().updateById(insuranceAccountBatchPO); getInsuranceAccountBatchMapper().updateById(insuranceAccountBatchPO);
// LoggerContext insuranceSchemeContext = new LoggerContext(); // //记录操作日志
// insuranceSchemeContext.setTargetId(String.valueOf(insuranceAccountBatchPO.getId())); // encryptUtil.decrypt(insuranceAccountBatchPO, InsuranceAccountBatchPO.class);
// insuranceSchemeContext.setTargetName(insuranceAccountBatchPO.getBillMonth()); // TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(insuranceAccountBatchPO.getPaymentOrganization());
// insuranceSchemeContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); // LoggerContext<InsuranceAccountBatchPO> loggerContext = new LoggerContext();
// insuranceSchemeContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100491, "更新台账")); // loggerContext.setUser(user);
// insuranceSchemeContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100491, "更新台账")); // loggerContext.setTargetId(String.valueOf(insuranceAccountBatchPO.getId()));
// insuranceSchemeContext.setNewValues(insuranceAccountBatchPO); // loggerContext.setTargetName(taxAgentInfo.getName() + "-" + insuranceAccountBatchPO.getBillMonth());
// siAccountLoggerTemplate.write(insuranceSchemeContext); // loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue());
// loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "更新福利台账"));
// loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "更新福利台账")
// + ":" + taxAgentInfo.getName() + "-" + insuranceAccountBatchPO.getBillMonth());
// loggerContext.setNewValues(insuranceAccountBatchPO);
// SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
public void siFile(String billMonth, Long paymentOrganization) { public void siFile(String billMonth, Long paymentOrganization) {
@ -5378,15 +5477,19 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
insuranceAccountBatchPO.setBillStatus(BillStatusEnum.ARCHIVED.getValue()); insuranceAccountBatchPO.setBillStatus(BillStatusEnum.ARCHIVED.getValue());
encryptUtil.encrypt(insuranceAccountBatchPO, InsuranceAccountBatchPO.class); encryptUtil.encrypt(insuranceAccountBatchPO, InsuranceAccountBatchPO.class);
getInsuranceAccountBatchMapper().updateById(insuranceAccountBatchPO); getInsuranceAccountBatchMapper().updateById(insuranceAccountBatchPO);
//日志记录 //记录操作日志
// LoggerContext insuranceSchemeContext = new LoggerContext(); encryptUtil.decrypt(insuranceAccountBatchPO, InsuranceAccountBatchPO.class);
// insuranceSchemeContext.setTargetId(String.valueOf(insuranceAccountBatchPO.getId())); TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(insuranceAccountBatchPO.getPaymentOrganization());
// insuranceSchemeContext.setTargetName(insuranceAccountBatchPO.getBillMonth()); LoggerContext<InsuranceAccountBatchPO> loggerContext = new LoggerContext<>();
// insuranceSchemeContext.setOperateType(OperateTypeEnum.UPDATE.getValue()); loggerContext.setUser(user);
// insuranceSchemeContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100506, "台账归档")); loggerContext.setTargetId("" + insuranceAccountBatchPO.getId());
// insuranceSchemeContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100506, "台账归档")); loggerContext.setTargetName(taxAgentInfo.getName() + "-" + insuranceAccountBatchPO.getBillMonth());
// insuranceSchemeContext.setNewValues(insuranceAccountBatchPO); loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue());
// siAccountLoggerTemplate.write(insuranceSchemeContext); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账-归档"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账-归档")
+ ": " + taxAgentInfo.getName() + "-" + insuranceAccountBatchPO.getBillMonth());
loggerContext.setNewValues(insuranceAccountBatchPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
@ -5431,17 +5534,20 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
// } // }
getInsuranceAccountBatchMapper().deleteById(insuranceAccountBatchPO.getId()); getInsuranceAccountBatchMapper().deleteById(insuranceAccountBatchPO.getId());
getInsuranceAccountDetailMapper().batchDeleteNotFile(param.getBillMonth(), param.getPaymentOrganization()); getInsuranceAccountDetailMapper().batchDeleteNotFile(param.getBillMonth(), param.getPaymentOrganization());
//删除账单月份+个税扣缴义务人下的调差数据 //删除账单月份+个税扣缴义务人下的调差数据
getInsuranceCompensationMapper().deleteByBillMonthAndPayOrg(param.getBillMonth(), param.getPaymentOrganization()); getInsuranceCompensationMapper().deleteByBillMonthAndPayOrg(param.getBillMonth(), param.getPaymentOrganization());
// LoggerContext insuranceSchemeContext = new LoggerContext(); //记录操作日志
// insuranceSchemeContext.setTargetId(String.valueOf(insuranceAccountBatchPO.getId())); TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(insuranceAccountBatchPO.getPaymentOrganization());
// insuranceSchemeContext.setTargetName(insuranceAccountBatchPO.getBillMonth()); LoggerContext<InsuranceAccountBatchPO> loggerContext = new LoggerContext();
// insuranceSchemeContext.setOperateType(OperateTypeEnum.DELETE.getValue()); loggerContext.setUser(user);
// insuranceSchemeContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(tenantkey, employeeId, 100464, "删除台账")); loggerContext.setTargetId(String.valueOf(insuranceAccountBatchPO.getId()));
// insuranceSchemeContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(tenantkey, employeeId, 100464, "删除台账")); loggerContext.setTargetName(taxAgentInfo.getName() + "-" + insuranceAccountBatchPO.getBillMonth());
// insuranceSchemeContext.setNewValues(insuranceAccountBatchPO); loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
// siAccountLoggerTemplate.write(insuranceSchemeContext); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "删除福利台账"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "删除福利台账")
+ ":" + taxAgentInfo.getName() + "-" + insuranceAccountBatchPO.getBillMonth());
loggerContext.setNewValues(insuranceAccountBatchPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
public void siSaveSupplementaryAccount(SaveSupplementaryAccountParam param) { public void siSaveSupplementaryAccount(SaveSupplementaryAccountParam param) {
@ -5967,48 +6073,66 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
// insuranceSchemeContext.setNewValues(item); // insuranceSchemeContext.setNewValues(item);
// siAccountLoggerTemplate.write(insuranceSchemeContext); // siAccountLoggerTemplate.write(insuranceSchemeContext);
// }); // });
//记录操作日志
encryptUtil.decryptList(pos, InsuranceAccountDetailPO.class);
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(pos.get(0).getBillMonth(), pos.get(0).getPaymentOrganization());
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
pos.forEach(targetDetailPO -> {
DataCollectionEmployee empInfo = getEmployMapper().getEmployeeById(targetDetailPO.getEmployeeId());
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext<>();
loggerContext.setUser(user);
loggerContext.setTargetId("" + targetPO.getId());
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth() + "-" + empInfo.getUsername());
loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增补缴"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增补缴")
+ ": " + taxAgentInfo.getName() + "-" + targetPO.getBillMonth() + "-" + empInfo.getUsername());
loggerContext.setNewValues(targetDetailPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
});
} }
public void siDeleteCommonAccount(SaveCommonAccountParam param) { public void siDeleteCommonAccount(SaveCommonAccountParam param) {
ValidUtil.doValidator(param); ValidUtil.doValidator(param);
SalaryAssert.notEmpty(param.getIncludes(), SalaryI18nUtil.getI18nLabel(0, "参数错误"));
//根据id批量删除 //根据id批量删除
if (param.getIds().size() > 0) { if (param.getIds().size() > 0) {
getInsuranceAccountDetailMapper().batchDelAccountDetailsByIds(param.getIds()); getInsuranceAccountDetailMapper().batchDelAccountDetailsByIds(param.getIds());
} else { } else {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "请勾选需要删除的数据项!")); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "请勾选需要删除的数据项!"));
} }
//记录日志 //记录操作日志
// LoggerContext insuranceSchemeContext = new LoggerContext(); LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
// insuranceSchemeContext.setTargetId(String.join(",", param.getIncludes().stream().map(item -> String.valueOf(item)).collect(Collectors.toList()))); loggerContext.setUser(user);
// insuranceSchemeContext.setTargetName(param.getBillMonth()); loggerContext.setTargetId(param.getIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
// insuranceSchemeContext.setOperateType(OperateTypeEnum.ADD.getValue()); loggerContext.setTargetName(param.getIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
// insuranceSchemeContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100462, "新增台账")); loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
// insuranceSchemeContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100462, "新增台账")); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除正常缴纳核算记录"));
// insuranceSchemeContext.setNewValues(param); loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除正常缴纳核算记录"));
// siAccountLoggerTemplate.write(insuranceSchemeContext); SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
updateBatchAccount(AccountParam.builder().billMonth(param.getBillMonth()).paymentOrganization(param.getPaymentOrganization()).build()); updateBatchAccount(AccountParam.builder().billMonth(param.getBillMonth()).paymentOrganization(param.getPaymentOrganization()).build());
} }
public void siDeleteSupplementaryAccount(List<SupplementAccountBaseParam> param) { public void siDeleteSupplementaryAccount(SaveCommonAccountParam param) {
SalaryAssert.notEmpty(param, SalaryI18nUtil.getI18nLabel(0, "参数错误")); ValidUtil.doValidator(param);
boolean valid = param.stream().anyMatch(item -> item.getEmployeeId() == null //根据id批量删除
|| StringUtils.isBlank(item.getSupplementaryMonth()) if (param.getIds().size() > 0) {
|| StringUtils.isBlank(item.getBillMonth())); getInsuranceAccountDetailMapper().batchDelAccountDetailsByIds(param.getIds());
if (valid) { } else {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "参数错误")); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "请勾选需要删除的数据项!"));
} }
getInsuranceAccountDetailMapper().batchDelSupplementDetailsByIds(param); getInsuranceAccountDetailMapper().batchDelAccountDetailsByIds(param.getIds());
// param.stream().forEach(item -> { //记录操作日志
// LoggerContext insuranceSchemeContext = new LoggerContext(); LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
// insuranceSchemeContext.setTargetName(item.getBillMonth()); loggerContext.setUser(user);
// insuranceSchemeContext.setOperateType(OperateTypeEnum.DELETE.getValue()); loggerContext.setTargetId(param.getIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
// insuranceSchemeContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100490, "删除补缴核算记录")); loggerContext.setTargetName(param.getIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
// insuranceSchemeContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100490, "删除补缴核算记录")); loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
// insuranceSchemeContext.setNewValues(item); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除补缴核算记录"));
// siAccountLoggerTemplate.write(insuranceSchemeContext); loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除补缴核算记录"));
// }); SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
updateBatchAccount(AccountParam.builder().billMonth(param.get(0).getBillMonth()).paymentOrganization(param.get(0).getPaymentOrganization()).build());
updateBatchAccount(AccountParam.builder().billMonth(param.getBillMonth()).paymentOrganization(param.getPaymentOrganization()).build());
} }
public void accountInspect(Collection<Long> ids, String billMonth, Long paymentOrganization) { public void accountInspect(Collection<Long> ids, String billMonth, Long paymentOrganization) {

File diff suppressed because it is too large Load Diff

View File

@ -4,15 +4,20 @@ import com.alibaba.fastjson.JSON;
import com.api.formmode.mybatis.util.SqlProxyHandle; import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.elog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.siaccount.param.BalanceAccountBaseParam; import com.engine.salary.entity.siaccount.param.BalanceAccountBaseParam;
import com.engine.salary.entity.siaccount.param.EditAccountDetailParam; import com.engine.salary.entity.siaccount.param.EditAccountDetailParam;
import com.engine.salary.entity.siaccount.param.InspectAccountParam; import com.engine.salary.entity.siaccount.param.InspectAccountParam;
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO; import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.siarchives.po.*; import com.engine.salary.entity.siarchives.po.*;
import com.engine.salary.entity.sicategory.po.ICategoryPO; import com.engine.salary.entity.sicategory.po.ICategoryPO;
import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.siaccount.BillStatusEnum; import com.engine.salary.enums.siaccount.BillStatusEnum;
import com.engine.salary.enums.siaccount.PaymentStatusEnum; import com.engine.salary.enums.siaccount.PaymentStatusEnum;
import com.engine.salary.enums.siaccount.ResourceFromEnum; import com.engine.salary.enums.siaccount.ResourceFromEnum;
@ -21,6 +26,7 @@ import com.engine.salary.enums.sicategory.IsPaymentEnum;
import com.engine.salary.enums.sicategory.PaymentScopeEnum; import com.engine.salary.enums.sicategory.PaymentScopeEnum;
import com.engine.salary.enums.sicategory.WelfareTypeEnum; import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper; import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
import com.engine.salary.mapper.siarchives.FundSchemeMapper; import com.engine.salary.mapper.siarchives.FundSchemeMapper;
import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper; import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper;
@ -28,6 +34,7 @@ import com.engine.salary.mapper.siarchives.OtherSchemeMapper;
import com.engine.salary.mapper.siarchives.SocialSchemeMapper; import com.engine.salary.mapper.siarchives.SocialSchemeMapper;
import com.engine.salary.mapper.sicategory.ICategoryMapper; import com.engine.salary.mapper.sicategory.ICategoryMapper;
import com.engine.salary.mapper.sischeme.InsuranceSchemeDetailMapper; import com.engine.salary.mapper.sischeme.InsuranceSchemeDetailMapper;
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
import com.engine.salary.service.SIAccountService; import com.engine.salary.service.SIAccountService;
import com.engine.salary.service.SIBalanceService; import com.engine.salary.service.SIBalanceService;
import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryEntityUtil;
@ -87,6 +94,14 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
private EncryptUtil encryptUtil = new EncryptUtil(); private EncryptUtil encryptUtil = new EncryptUtil();
private InsuranceAccountBatchMapper getInsuranceAccountBatchMapper() {
return MapperProxyFactory.getProxy(InsuranceAccountBatchMapper.class);
}
private TaxAgentMapper getTaxAgentMapper() {
return MapperProxyFactory.getProxy(TaxAgentMapper.class);
}
@Override @Override
public void del(InspectAccountParam param, Long employeeId) { public void del(InspectAccountParam param, Long employeeId) {
@ -98,7 +113,15 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
//根据id删除 //根据id删除
List<List<Long>> partition = Lists.partition((List<Long>) param.getIds(), 100); List<List<Long>> partition = Lists.partition((List<Long>) param.getIds(), 100);
partition.forEach(getInsuranceAccountDetailMapper()::batchDelAccountDetailsByIds); partition.forEach(getInsuranceAccountDetailMapper()::batchDelAccountDetailsByIds);
//记录操作日志
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(param.getIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
loggerContext.setTargetName(param.getIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除补差核算记录"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除补差核算记录"));
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
//刷新bill_batch表中统计信息 //刷新bill_batch表中统计信息
getSIAccountService(user).refreshBillBatch(param.getPaymentOrganization(), param.getBillMonth()); getSIAccountService(user).refreshBillBatch(param.getPaymentOrganization(), param.getBillMonth());
} }
@ -260,14 +283,14 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
Long creator = (long) user.getUID(); Long creator = (long) user.getUID();
Long paymentOrganization = param.getPaymentOrganization(); Long paymentOrganization = param.getPaymentOrganization();
InsuranceAccountDetailPO banlanceAccountPO = getInsuranceAccountDetailMapper().getOneByBpep(InsuranceAccountDetailPO.builder() InsuranceAccountDetailPO balanceAccountPO = getInsuranceAccountDetailMapper().getOneByBpep(InsuranceAccountDetailPO.builder()
.billMonth(billMonth) .billMonth(billMonth)
.paymentStatus(PaymentStatusEnum.BALANCE.getValue()) .paymentStatus(PaymentStatusEnum.BALANCE.getValue())
.employeeId(employeeId) .employeeId(employeeId)
.paymentOrganization(paymentOrganization) .paymentOrganization(paymentOrganization)
.build()); .build());
if (banlanceAccountPO != null) { if (balanceAccountPO != null) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "补差数据已存在,不可重复新增!")); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "补差数据已存在,不可重复新增!"));
} }
@ -324,6 +347,20 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
//刷新bill_batch表中统计信息 //刷新bill_batch表中统计信息
getSIAccountService(user).refreshBillBatch(paymentOrganization, billMonth); getSIAccountService(user).refreshBillBatch(paymentOrganization, billMonth);
//记录操作日志
encryptUtil.decrypt(insuranceAccountDetailPO, InsuranceAccountDetailPO.class);
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(billMonth, paymentOrganization);
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(targetPO.getId()));
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增补差"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增补差")
+ ":" + taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setNewValues(insuranceAccountDetailPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} else { } else {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "补差数据中存在福利档案中未设置的福利项缴纳数值,请检查补差缴纳信息!")); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "补差数据中存在福利档案中未设置的福利项缴纳数值,请检查补差缴纳信息!"));
} }

View File

@ -38,8 +38,6 @@ import com.mzlion.core.utils.BeanUtils;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.SqlSession;
import weaver.conn.mybatis.MyBatisFactory;
import weaver.hrm.User; import weaver.hrm.User;
import java.util.*; import java.util.*;
@ -377,15 +375,10 @@ public class SICategoryServiceImpl extends Service implements SICategoryService
*/ */
@Override @Override
public ICategoryPO getICategoryPOByID(Long id) { public ICategoryPO getICategoryPOByID(Long id) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
ICategoryMapper iCategoryMapper = sqlSession.getMapper(ICategoryMapper.class);
ICategoryPO iCategoryPO = iCategoryMapper.getById(id);
return iCategoryPO;
} finally { ICategoryPO iCategoryPO = getICategoryMapper().getById(id);
sqlSession.close(); return iCategoryPO;
}
} }
/** /**
@ -395,16 +388,10 @@ public class SICategoryServiceImpl extends Service implements SICategoryService
*/ */
@Override @Override
public List<ICategoryPO> listByName(String insuranceName) { public List<ICategoryPO> listByName(String insuranceName) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try{ List<ICategoryPO> iCategoryPOS = getICategoryMapper().listByName(insuranceName);
ICategoryMapper iCategoryMapper = sqlSession.getMapper(ICategoryMapper.class); return iCategoryPOS;
List<ICategoryPO> iCategoryPOS = iCategoryMapper.listByName(insuranceName);
return iCategoryPOS;
} finally {
sqlSession.close();
}
} }
/** /**
@ -437,30 +424,24 @@ public class SICategoryServiceImpl extends Service implements SICategoryService
* @param iCategoryFormDTO * @param iCategoryFormDTO
*/ */
public void update(ICategoryFormDTO iCategoryFormDTO) { public void update(ICategoryFormDTO iCategoryFormDTO) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); if (iCategoryFormDTO.getId() == null) {
try{ throw new SalaryRunTimeException("id is required");
if (iCategoryFormDTO.getId() == null) { }
throw new SalaryRunTimeException("id is required"); ICategoryPO iCategoryPO = getICategoryPOByID(iCategoryFormDTO.getId());
} if (Objects.isNull(iCategoryPO)) {
ICategoryPO iCategoryPO = getICategoryPOByID(iCategoryFormDTO.getId()); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0,"数据不存在"));
if (Objects.isNull(iCategoryPO)) { }
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0,"数据不存在")); List<ICategoryPO> iCategoryPOS = listByName(iCategoryFormDTO.getInsuranceName());
} if (CollectionUtils.isNotEmpty(iCategoryPOS)) {
List<ICategoryPO> iCategoryPOS = listByName(iCategoryFormDTO.getInsuranceName()); throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0,"福利名称不允许重复"));
if (CollectionUtils.isNotEmpty(iCategoryPOS)) { }
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0,"福利名称不允许重复")); iCategoryPO.setInsuranceName(iCategoryFormDTO.getInsuranceName());
}
iCategoryPO.setInsuranceName(iCategoryFormDTO.getInsuranceName());
// iCategoryPO.setWelfareType(iCategoryFormDTO.getWelfareType().getValue()); // iCategoryPO.setWelfareType(iCategoryFormDTO.getWelfareType().getValue());
// iCategoryPO.setPaymentScope(SalaryEnumUtil.enumArrToString(iCategoryFormDTO.getPaymentScope())); // iCategoryPO.setPaymentScope(SalaryEnumUtil.enumArrToString(iCategoryFormDTO.getPaymentScope()));
iCategoryPO.setUpdateTime(new Date()); iCategoryPO.setUpdateTime(new Date());
ICategoryMapper iCategoryMapper = sqlSession.getMapper(ICategoryMapper.class);
iCategoryMapper.update(iCategoryPO); getICategoryMapper().update(iCategoryPO);
sqlSession.commit();
} finally {
sqlSession.close();
}
} }
/** /**

View File

@ -6,26 +6,33 @@ import com.cloudstore.eccom.pc.table.WeaTable;
import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.elog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.hrm.dto.HrmInfoDTO; import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
import com.engine.salary.entity.hrm.param.HrmQueryParam; import com.engine.salary.entity.hrm.param.HrmQueryParam;
import com.engine.salary.entity.siaccount.dto.InsuranceCompensationDTO; import com.engine.salary.entity.siaccount.dto.InsuranceCompensationDTO;
import com.engine.salary.entity.siaccount.param.CompensationParam; import com.engine.salary.entity.siaccount.param.CompensationParam;
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO; import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.siaccount.po.InsuranceCompensationConfigPO; import com.engine.salary.entity.siaccount.po.InsuranceCompensationConfigPO;
import com.engine.salary.entity.siaccount.po.InsuranceCompensationPO; import com.engine.salary.entity.siaccount.po.InsuranceCompensationPO;
import com.engine.salary.entity.sicategory.po.ICategoryPO; import com.engine.salary.entity.sicategory.po.ICategoryPO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
import com.engine.salary.enums.siaccount.PaymentStatusEnum; import com.engine.salary.enums.siaccount.PaymentStatusEnum;
import com.engine.salary.enums.sicategory.DeleteTypeEnum; import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.datacollection.EmployMapper; import com.engine.salary.mapper.datacollection.EmployMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper; import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
import com.engine.salary.mapper.siaccount.InsuranceCompensationConfigMapper; import com.engine.salary.mapper.siaccount.InsuranceCompensationConfigMapper;
import com.engine.salary.mapper.siaccount.InsuranceCompensationMapper; import com.engine.salary.mapper.siaccount.InsuranceCompensationMapper;
import com.engine.salary.mapper.sicategory.ICategoryMapper; import com.engine.salary.mapper.sicategory.ICategoryMapper;
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
import com.engine.salary.service.*; import com.engine.salary.service.*;
import com.engine.salary.util.SalaryAssert; import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryEntityUtil;
@ -85,6 +92,15 @@ public class SICompensationServiceImpl extends Service implements SICompensation
private SalaryEmployeeService getSalaryEmployeeService(User user) { private SalaryEmployeeService getSalaryEmployeeService(User user) {
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
} }
private InsuranceAccountBatchMapper getInsuranceAccountBatchMapper() {
return MapperProxyFactory.getProxy(InsuranceAccountBatchMapper.class);
}
private TaxAgentMapper getTaxAgentMapper() {
return MapperProxyFactory.getProxy(TaxAgentMapper.class);
}
/** /**
* 可调差人员 * 可调差人员
*/ */
@ -451,6 +467,20 @@ public class SICompensationServiceImpl extends Service implements SICompensation
idList.add(insuranceCompensationPO.getId()); idList.add(insuranceCompensationPO.getId());
// result.put(param.getOriginId(), insuranceCompensationPO.getId().toString()); // result.put(param.getOriginId(), insuranceCompensationPO.getId().toString());
//记录操作日志
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(insuranceAccountDetailPO.getBillMonth(), insuranceAccountDetailPO.getPaymentOrganization());
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(insuranceAccountDetailPO.getPaymentOrganization());
DataCollectionEmployee empInfo = getEmployMapper().getEmployeeById(insuranceAccountDetailPO.getEmployeeId());
LoggerContext<InsuranceCompensationPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(targetPO.getId()));
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + insuranceAccountDetailPO.getBillMonth() + "-" + empInfo.getUsername());
loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增调差"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增调差")
+ ":" + taxAgentInfo.getName() + "-" + insuranceAccountDetailPO.getBillMonth() + "-" + empInfo.getUsername());
loggerContext.setNewValues(insuranceCompensationPO);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
} }
@ -493,6 +523,18 @@ public class SICompensationServiceImpl extends Service implements SICompensation
.creator(currentEmployeeId).build(); .creator(currentEmployeeId).build();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
configList.forEach(config -> getInsuranceCompensationConfigMapper().insert(config)); configList.forEach(config -> getInsuranceCompensationConfigMapper().insert(config));
//记录操作日志
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(param.get(0).getPaymentOrganization());
LoggerContext<InsuranceCompensationConfigPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(param.get(0).getPaymentOrganization()));
loggerContext.setTargetName(taxAgentInfo.getName());
loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-保存社保调差默认配置"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-保存社保调差默认配置")
+ ":" + taxAgentInfo.getName());
configList.forEach(loggerContext::setNewValues);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
return "配置成功"; return "配置成功";
} }

View File

@ -5,6 +5,8 @@ import com.alibaba.fastjson.TypeReference;
import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.elog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO; import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO;
import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam; import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
@ -13,6 +15,7 @@ import com.engine.salary.entity.sicategory.po.ICategoryPO;
import com.engine.salary.entity.siexport.param.InsuranceExportParam; import com.engine.salary.entity.siexport.param.InsuranceExportParam;
import com.engine.salary.entity.siexport.po.AccountExportPO; import com.engine.salary.entity.siexport.po.AccountExportPO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.siaccount.BillStatusEnum; import com.engine.salary.enums.siaccount.BillStatusEnum;
import com.engine.salary.enums.siaccount.PaymentStatusEnum; import com.engine.salary.enums.siaccount.PaymentStatusEnum;
import com.engine.salary.enums.siaccount.ResourceFromEnum; import com.engine.salary.enums.siaccount.ResourceFromEnum;
@ -149,8 +152,13 @@ public class SIExportServiceImpl extends Service implements SIExportService {
rows.add(row); rows.add(row);
} }
excelSheetData.addAll(rows); excelSheetData.addAll(rows);
//记录操作日志
LoggerContext loggerContext = new LoggerContext<>();
loggerContext.setUser(user);
loggerContext.setOperateType(OperateTypeEnum.EXCEL_EXPORT.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账-导出总览"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账-导出总览"));
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
return ExcelUtil.genWorkbookV2(excelSheetData, sheetName); return ExcelUtil.genWorkbookV2(excelSheetData, sheetName);
} }
@ -248,6 +256,16 @@ public class SIExportServiceImpl extends Service implements SIExportService {
} }
excelSheetData.addAll(rows); excelSheetData.addAll(rows);
//记录操作日志
PaymentStatusEnum targetEnum = SalaryEnumUtil.enumMatchByValue(paymentStatus, PaymentStatusEnum.values(), PaymentStatusEnum.class);
LoggerContext loggerContext = new LoggerContext<>();
loggerContext.setUser(user);
loggerContext.setOperateType(OperateTypeEnum.EXCEL_EXPORT.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-导出")
+ SalaryI18nUtil.getI18nLabel(targetEnum.getLabelId(), targetEnum.getDefaultLabel()));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-导出")
+ SalaryI18nUtil.getI18nLabel(targetEnum.getLabelId(), targetEnum.getDefaultLabel()));
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
return ExcelUtilPlus.genWorkbookV2(excelSheetData, sheetName, total); return ExcelUtilPlus.genWorkbookV2(excelSheetData, sheetName, total);
} }

View File

@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.api.formmode.mybatis.util.SqlProxyHandle; import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.elog.entity.dto.LoggerContext;
import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.hrm.dto.HrmInfoDTO; import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
import com.engine.salary.entity.hrm.param.HrmQueryParam; import com.engine.salary.entity.hrm.param.HrmQueryParam;
@ -12,6 +14,8 @@ import com.engine.salary.entity.siaccount.param.RecessionParam;
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO; import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO; import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.siaccount.BillStatusEnum; import com.engine.salary.enums.siaccount.BillStatusEnum;
import com.engine.salary.enums.siaccount.PaymentStatusEnum; import com.engine.salary.enums.siaccount.PaymentStatusEnum;
import com.engine.salary.enums.siaccount.ProjectTypeEnum; import com.engine.salary.enums.siaccount.ProjectTypeEnum;
@ -20,6 +24,7 @@ import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.datacollection.EmployMapper; import com.engine.salary.mapper.datacollection.EmployMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper; import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper; import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
import com.engine.salary.service.SIAccountService; import com.engine.salary.service.SIAccountService;
import com.engine.salary.service.SIRecessionService; import com.engine.salary.service.SIRecessionService;
import com.engine.salary.service.TaxAgentService; import com.engine.salary.service.TaxAgentService;
@ -65,6 +70,11 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
private InsuranceAccountBatchMapper getInsuranceAccountBatchMapper() { private InsuranceAccountBatchMapper getInsuranceAccountBatchMapper() {
return MapperProxyFactory.getProxy(InsuranceAccountBatchMapper.class); return MapperProxyFactory.getProxy(InsuranceAccountBatchMapper.class);
} }
private TaxAgentMapper getTaxAgentMapper() {
return MapperProxyFactory.getProxy(TaxAgentMapper.class);
}
@Override @Override
public void save(RecessionParam param, Long employeeId) { public void save(RecessionParam param, Long employeeId) {
@ -112,13 +122,25 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
//删除已有退差记录 //删除已有退差记录
finalRecessionDetails.forEach(getInsuranceAccountDetailMapper()::deleteRecessionData); finalRecessionDetails.forEach(getInsuranceAccountDetailMapper()::deleteRecessionData);
//入库新数据 //入库新数据
List<List<InsuranceAccountDetailPO>> partition = Lists.partition((List<InsuranceAccountDetailPO>) finalRecessionDetails, 20); List<List<InsuranceAccountDetailPO>> partition = Lists.partition((List<InsuranceAccountDetailPO>) finalRecessionDetails, 20);
partition.forEach(getInsuranceAccountDetailMapper()::batchSaveAccountDetails); partition.forEach(getInsuranceAccountDetailMapper()::batchSaveAccountDetails);
//刷新bill_batch表中统计信息 //刷新bill_batch表中统计信息
getSIAccountService(user).refreshBillBatch(Long.valueOf(param.getPaymentOrganization()), param.getBillMonth()); getSIAccountService(user).refreshBillBatch(Long.valueOf(param.getPaymentOrganization()), param.getBillMonth());
//记录操作日志
encryptUtil.decryptList(finalRecessionDetails, InsuranceAccountDetailPO.class);
InsuranceAccountBatchPO targetPO = getInsuranceAccountBatchMapper().getByBillMonth(param.getBillMonth(), Long.valueOf(param.getPaymentOrganization()));
TaxAgentPO taxAgentInfo = getTaxAgentMapper().getById(targetPO.getPaymentOrganization());
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(String.valueOf(targetPO.getId()));
loggerContext.setTargetName(taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
loggerContext.setOperateType(OperateTypeEnum.ADD.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增退差"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-新增退差")
+ ":" + taxAgentInfo.getName() + "-" + targetPO.getBillMonth());
finalRecessionDetails.forEach(loggerContext::setNewValues);
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
} }
} }
@ -137,7 +159,15 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
//根据id删除 //根据id删除
List<List<Long>> partition = Lists.partition((List<Long>) ids, 100); List<List<Long>> partition = Lists.partition((List<Long>) ids, 100);
partition.forEach(getInsuranceAccountDetailMapper()::batchDelAccountDetailsByIds); partition.forEach(getInsuranceAccountDetailMapper()::batchDelAccountDetailsByIds);
//记录操作日志
LoggerContext<InsuranceAccountDetailPO> loggerContext = new LoggerContext();
loggerContext.setUser(user);
loggerContext.setTargetId(ids.stream().map(String::valueOf).collect(Collectors.joining(",")));
loggerContext.setTargetName(ids.stream().map(String::valueOf).collect(Collectors.joining(",")));
loggerContext.setOperateType(OperateTypeEnum.DELETE.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除退差核算记录"));
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利台账明细表-删除退差核算记录"));
SalaryElogConfig.siAccountLoggerTemplate.write(loggerContext);
//刷新bill_batch表中统计信息 //刷新bill_batch表中统计信息
getSIAccountService(user).refreshBillBatch(refreshTargetPO.getPaymentOrganization(), refreshTargetPO.getBillMonth()); getSIAccountService(user).refreshBillBatch(refreshTargetPO.getPaymentOrganization(), refreshTargetPO.getBillMonth());
} }

View File

@ -279,15 +279,10 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
@Override @Override
public List<InsuranceSchemeDetailPO> queryListByInsuranceIdIsPayment(Long insuranceId, Integer isPayment) { public List<InsuranceSchemeDetailPO> queryListByInsuranceIdIsPayment(Long insuranceId, Integer isPayment) {
// return new SISchemeBiz().queryListByInsuranceIdIsPayment(insuranceId, isPayment); // return new SISchemeBiz().queryListByInsuranceIdIsPayment(insuranceId, isPayment);
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try { List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOList = getInsuranceSchemeDetailMapper().queryListByInsuranceIdIsPayment(insuranceId, isPayment);
InsuranceSchemeDetailMapper insuranceSchemeDetailMapper = sqlSession.getMapper(InsuranceSchemeDetailMapper.class); encryptUtil.decryptList(insuranceSchemeDetailPOList, InsuranceSchemeDetailPO.class);
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOList = insuranceSchemeDetailMapper.queryListByInsuranceIdIsPayment(insuranceId, isPayment); return insuranceSchemeDetailPOList;
encryptUtil.decryptList(insuranceSchemeDetailPOList, InsuranceSchemeDetailPO.class);
return insuranceSchemeDetailPOList;
} finally {
sqlSession.close();
}
} }
@Override @Override
@ -637,7 +632,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
rows.add(row); rows.add(row);
} }
//记录操作日志 //记录操作日志
LoggerContext<InsuranceArchivesOtherSchemePO> loggerContext = new LoggerContext<>(); LoggerContext loggerContext = new LoggerContext<>();
loggerContext.setUser(user); loggerContext.setUser(user);
loggerContext.setOperateType(OperateTypeEnum.EXCEL_EXPORT.getValue()); loggerContext.setOperateType(OperateTypeEnum.EXCEL_EXPORT.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利档案导出")); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "福利档案导出"));
@ -2387,15 +2382,8 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
*/ */
public InsuranceSchemePO getById(Long id) { public InsuranceSchemePO getById(Long id) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); InsuranceSchemePO insuranceSchemePO = getInsuranceSchemeMapper().getById(id);
try { return insuranceSchemePO;
InsuranceSchemeMapper insuranceSchemeMapper = sqlSession.getMapper(InsuranceSchemeMapper.class);
InsuranceSchemePO insuranceSchemePO = insuranceSchemeMapper.getById(id);
return insuranceSchemePO;
} finally {
sqlSession.close();
}
} }
/** /**
@ -2405,14 +2393,9 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
* @return * @return
*/ */
public List<ICategoryPO> listByWelfareType(Integer welfareType) { public List<ICategoryPO> listByWelfareType(Integer welfareType) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try { List<ICategoryPO> insuranceCategoryPOS = getICategoryMapper().listByWelfareType(welfareType, null);
ICategoryMapper iCategoryMapper = sqlSession.getMapper(ICategoryMapper.class); return insuranceCategoryPOS;
List<ICategoryPO> insuranceCategoryPOS = iCategoryMapper.listByWelfareType(welfareType, null);
return insuranceCategoryPOS;
} finally {
sqlSession.close();
}
} }
public boolean numberCheck(String number) { public boolean numberCheck(String number) {
@ -2420,15 +2403,11 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
} }
private InsuranceSchemeDetailPO getByPPI(Long primaryId, Integer paymentScope, Long insuranceId) { private InsuranceSchemeDetailPO getByPPI(Long primaryId, Integer paymentScope, Long insuranceId) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try { InsuranceSchemeDetailPO insuranceSchemeDetailPO = getInsuranceSchemeDetailMapper().getByPPI(primaryId, paymentScope, insuranceId);
InsuranceSchemeDetailMapper insuranceSchemeDetailMapper = sqlSession.getMapper(InsuranceSchemeDetailMapper.class); encryptUtil.decrypt(insuranceSchemeDetailPO, InsuranceSchemeDetailPO.class);
InsuranceSchemeDetailPO insuranceSchemeDetailPO = insuranceSchemeDetailMapper.getByPPI(primaryId, paymentScope, insuranceId); return insuranceSchemeDetailPO;
encryptUtil.decrypt(insuranceSchemeDetailPO, InsuranceSchemeDetailPO.class);
return insuranceSchemeDetailPO;
} finally {
sqlSession.close();
}
} }
/** /**
@ -2532,7 +2511,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
getInsuranceSchemeMapper().update(insuranceSchemePO1); getInsuranceSchemeMapper().update(insuranceSchemePO1);
//记录主表操作日志 //记录主表操作日志
loggerContext.setNewValues(insuranceSchemePO1); loggerContext.setNewValues(insuranceSchemePO1);
SalaryElogConfig.salaryAcctRecordLoggerTemplate.write(loggerContext); SalaryElogConfig.siSchemeLoggerTemplate.write(loggerContext);
//更新福利方案明细表 先删后插 //更新福利方案明细表 先删后插
getInsuranceSchemeDetailMapper().batchDeleteByPrimaryIds(Collections.singleton(updateParam.getInsuranceScheme().getId())); getInsuranceSchemeDetailMapper().batchDeleteByPrimaryIds(Collections.singleton(updateParam.getInsuranceScheme().getId()));
//更新明细表 //更新明细表
@ -2548,7 +2527,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
insuranceSchemeDetailContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "修改福利方案明细表")); insuranceSchemeDetailContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "修改福利方案明细表"));
insuranceSchemeDetailContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利方案明细")); insuranceSchemeDetailContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "福利方案明细"));
insuranceSchemeDetailPOS.forEach(insuranceSchemeDetailContext::setNewValues); insuranceSchemeDetailPOS.forEach(insuranceSchemeDetailContext::setNewValues);
SalaryElogConfig.salaryAcctRecordLoggerTemplate.write(insuranceSchemeDetailContext); SalaryElogConfig.siSchemeLoggerTemplate.write(insuranceSchemeDetailContext);
} }
@ -2715,16 +2694,10 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
* @return * @return
*/ */
public List<InsuranceSchemeDetailPO> listByPrimaryId(Long primaryId) { public List<InsuranceSchemeDetailPO> listByPrimaryId(Long primaryId) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
InsuranceSchemeDetailMapper insuranceSchemeDetailMapper = sqlSession.getMapper(InsuranceSchemeDetailMapper.class);
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = insuranceSchemeDetailMapper.queryListBySchemeId(primaryId);
encryptUtil.decryptList(insuranceSchemeDetailPOS, InsuranceSchemeDetailPO.class);
return insuranceSchemeDetailPOS;
} finally {
sqlSession.close();
}
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().queryListBySchemeId(primaryId);
encryptUtil.decryptList(insuranceSchemeDetailPOS, InsuranceSchemeDetailPO.class);
return insuranceSchemeDetailPOS;
} }
/** /**
@ -2734,14 +2707,9 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
*/ */
@Override @Override
public List<InsuranceSchemePO> listAll(){ public List<InsuranceSchemePO> listAll(){
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try { List<InsuranceSchemePO> insuranceSchemePOList = getInsuranceSchemeMapper().listAll();
InsuranceSchemeMapper insuranceSchemeMapper = sqlSession.getMapper(InsuranceSchemeMapper.class); return insuranceSchemePOList;
List<InsuranceSchemePO> insuranceSchemePOList = insuranceSchemeMapper.listAll();
return insuranceSchemePOList;
} finally {
sqlSession.close();
}
} }
/*****以上代码为SISchemeBiz中方法逻辑迁移旨在减少Biz类的使用*****/ /*****以上代码为SISchemeBiz中方法逻辑迁移旨在减少Biz类的使用*****/

View File

@ -315,9 +315,9 @@ public class SIAccountController {
@Path("/supplementary/delete") @Path("/supplementary/delete")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
public String deleteSummplementaryAccount(@Context HttpServletRequest request, @Context HttpServletResponse response, public String deleteSummplementaryAccount(@Context HttpServletRequest request, @Context HttpServletResponse response,
@RequestBody List<SupplementAccountBaseParam> param) { @RequestBody SaveCommonAccountParam param) {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<List<SupplementAccountBaseParam>, String>(user).run(getService(user)::deleteSummplementaryAccount, param); return new ResponseResult<SaveCommonAccountParam, String>(user).run(getService(user)::deleteSupplementaryAccount, param);
} }