From fe02f572150d3e62045388f3d64b5cb9d3f1e15e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 25 Nov 2025 16:13:40 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=B1=E6=99=BA=EF=BC=8C=E7=A4=BE=E4=BF=9D?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/siaccount/dto/QZReportListDTO.java | 584 ++++++++++++++++++ .../param/QZInsuranceAccountBatchParam.java | 26 + .../InsuranceAccountDetailMapper.java | 3 + .../InsuranceAccountDetailMapper.xml | 187 ++++++ .../salary/service/SIAccountService.java | 3 + .../service/impl/SIAccountServiceImpl.java | 25 + .../salary/web/SIAccountController.java | 17 + 7 files changed, 845 insertions(+) create mode 100644 src/com/engine/salary/entity/siaccount/dto/QZReportListDTO.java create mode 100644 src/com/engine/salary/entity/siaccount/param/QZInsuranceAccountBatchParam.java diff --git a/src/com/engine/salary/entity/siaccount/dto/QZReportListDTO.java b/src/com/engine/salary/entity/siaccount/dto/QZReportListDTO.java new file mode 100644 index 000000000..b0443a76a --- /dev/null +++ b/src/com/engine/salary/entity/siaccount/dto/QZReportListDTO.java @@ -0,0 +1,584 @@ +package com.engine.salary.entity.siaccount.dto; + +import com.engine.hrmelog.annotation.ElogTransform; +import com.engine.salary.annotation.Encrypt; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class QZReportListDTO { + + + + /** + * 公司名称 + */ + @ElogTransform(name = "个税扣缴义务人") + private Long paymentOrganization; + private String paymentOrganizationName; + /** + * 工号 + */ + private String workCode; + /** + * 一级部门 + */ + private String dept1; + + /** + * 二级部门 + */ + private String dept2; + + /** + * 实际工作地 + */ + private String actualWorkplace; + + /** + * 劳动关系地 + */ + private String laborWorkplace; + + /** + * 岗位名称 + */ + private String jobcall; + /** + * 进入日期 + */ + + /** + * 离职日期 + */ + /** + * 社保基数 + */ + private String socialBase; + /** + * 公积金基数 + */ + private String fundBase; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /** + * 主键id + */ + @ElogTransform(name = "主键id") + private Long id; + + /** + * 员工id + */ + @ElogTransform(name = "员工id") + private Long employeeId; + + /** + * 账单月份 + */ + @ElogTransform(name = "账单月份") + private String billMonth; + + /** + * 账单状态 0-未归档 1-已归档 + */ + @ElogTransform(name = "账单状态") + private Integer billStatus; + + /** + * 缴纳状态 + */ + @ElogTransform(name = "缴纳状态") + private Integer paymentStatus; + + /** + * 补缴月份/退差月份 + */ + @ElogTransform(name = "补缴月份/退差月份") + private String supplementaryMonth; + + /** + * 补缴项目 + */ + @ElogTransform(name = "补缴项目") + private String supplementaryProjects; + + /** + * 数据来源 0-系统核算 1-临时数据 + */ + @ElogTransform(name = "数据来源") + private Integer resourceFrom; + + /** + * 社保缴纳组织 + */ + @ElogTransform(name = "社保缴纳组织") + private Long socialPayOrg; + + /** + * 社保账号 + */ + @ElogTransform(name = "社保账号") + private String socialAccount; + + /** + * 公积金缴纳组织 + */ + @ElogTransform(name = "公积金缴纳组织") + private Long fundPayOrg; + + /** + * 公积金账号 + */ + @ElogTransform(name = "公积金账号") + private String fundAccount; + + /** + * 补充公积金账号 + */ + @ElogTransform(name = "补充公积金账号") + private String supplementFundAccount; + + /** + * 其他福利缴纳组织 + */ + @ElogTransform(name = "其他福利缴纳组织") + private Long otherPayOrg; + + /** + * 社保方案ID + */ + @ElogTransform(name = "社保方案ID") + private Long socialSchemeId; + + /** + * 社保缴纳基数 + */ + @Encrypt + @ElogTransform(name = "社保缴纳基数") + private String socialPaymentBaseString; + + /** + * 社保缴纳基数——单位 + */ + @Encrypt + @ElogTransform(name = "社保缴纳基数——单位") + private String socialPaymentComBaseString; + + /** + * 公积金方案ID + */ + @ElogTransform(name = "公积金方案ID") + private Long fundSchemeId; + + /** + * 公积金缴纳基数 + */ + @Encrypt + @ElogTransform(name = "公积金缴纳基数") + private String fundPaymentBaseString; + + /** + * 公积金缴纳基数——单位 + */ + @Encrypt + @ElogTransform(name = "公积金缴纳基数——单位") + private String fundPaymentComBaseString; + + /** + * 其他福利方案id + */ + @ElogTransform(name = "其他福利方案id") + private Long otherSchemeId; + + /** + * 其他福利缴纳基数 + */ + @Encrypt + @ElogTransform(name = "其他福利缴纳基数") + private String otherPaymentBaseString; + + /** + * 其他福利缴纳基数——单位 + */ + @Encrypt + @ElogTransform(name = "其他福利缴纳基数——单位") + private String otherPaymentComBaseString; + + /** + * 社保个人缴费明细 + */ + @Encrypt + @ElogTransform(name = "社保个人缴费明细") + private String socialPerJson; + + /** + * 特殊社保缴费明细 + */ + @Encrypt + @ElogTransform(name = "特殊社保缴费明细") + private String socialSpecialJson; + + /** + * 社保个人合计 + */ + @Encrypt + @ElogTransform(name = "社保个人合计") + private String socialPerSum; + + /** + * 公积金个人缴费明细 + */ + @Encrypt + @ElogTransform(name = "公积金个人缴费明细") + private String fundPerJson; + + /** + * 特殊公积金缴费明细 + */ + @Encrypt + @ElogTransform(name = "特殊公积金缴费明细") + private String fundSpecialJson; + + /** + * 公积金个人合计 + */ + @Encrypt + @ElogTransform(name = "公积金个人合计") + private String fundPerSum; + + /** + * 其他福利个人缴费明细 + */ + @Encrypt + @ElogTransform(name = "其他福利个人缴费明细") + private String otherPerJson; + + /** + * 其他福利个人合计 + */ + @Encrypt + @ElogTransform(name = "其他福利个人合计") + private String otherPerSum; + + /** + * 个人合计 + */ + @Encrypt + @ElogTransform(name = "个人合计") + private String perSum; + + /** + * 社保单位缴费明细 + */ + @Encrypt + @ElogTransform(name = "社保单位缴费明细") + private String socialComJson; + + /** + * 社保单位合计 + */ + @Encrypt + @ElogTransform(name = "社保单位合计") + private String socialComSum; + + /** + * 公积金单位缴费明细 + */ + @ElogTransform(name = "公积金单位缴费明细") + private String fundComJson; + + /** + * 公积金单位合计 + */ + @ElogTransform(name = "公积金单位合计") + private String fundComSum; + + /** + * 其他福利单位缴费明细 + */ + @ElogTransform(name = "其他福利单位缴费明细") + private String otherComJson; + + /** + * 其他福利单位合计 + */ + @ElogTransform(name = "其他福利单位合计") + private String otherComSum; + + /** + * 单位合计 + */ + @Encrypt + @ElogTransform(name = "单位合计") + private String comSum; + + /** + * 社保合计 + */ + @Encrypt + @ElogTransform(name = "社保合计") + private String socialSum; + + /** + * 公积金合计 + */ + @Encrypt + @ElogTransform(name = "公积金合计") + private String fundSum; + + /** + * 其他福利合计 + */ + @Encrypt + @ElogTransform(name = "其他福利合计") + private String otherSum; + + /** + * 合计 + */ + @Encrypt + @ElogTransform(name = "合计") + private String total; + + + private String subcompanyName; + private Long subcompanyId; + private String departmentName; + private Long departmentId; + private String jobtitleName; + private Long jobtitleId; + private Long jobcallId; + private String status; + + + + /** + * 社保方案ID + */ + @ElogTransform(name = "社保方案ID") + private Long bSocialSchemeId; + + /** + * 社保缴纳基数 + */ + @Encrypt + @ElogTransform(name = "社保缴纳基数") + private String bSocialPaymentBaseString; + + /** + * 社保缴纳基数——单位 + */ + @Encrypt + @ElogTransform(name = "社保缴纳基数——单位") + private String bSocialPaymentComBaseString; + + /** + * 公积金方案ID + */ + @ElogTransform(name = "公积金方案ID") + private Long bFundSchemeId; + + /** + * 公积金缴纳基数 + */ + @Encrypt + @ElogTransform(name = "公积金缴纳基数") + private String bFundPaymentBaseString; + + /** + * 公积金缴纳基数——单位 + */ + @Encrypt + @ElogTransform(name = "公积金缴纳基数——单位") + private String bFundPaymentComBaseString; + + /** + * 其他福利方案id + */ + @ElogTransform(name = "其他福利方案id") + private Long bOtherSchemeId; + + /** + * 其他福利缴纳基数 + */ + @Encrypt + @ElogTransform(name = "其他福利缴纳基数") + private String bOtherPaymentBaseString; + + /** + * 其他福利缴纳基数——单位 + */ + @Encrypt + @ElogTransform(name = "其他福利缴纳基数——单位") + private String bOtherPaymentComBaseString; + + /** + * 社保个人缴费明细 + */ + @Encrypt + @ElogTransform(name = "社保个人缴费明细") + private String bSocialPerJson; + + /** + * 特殊社保缴费明细 + */ + @Encrypt + @ElogTransform(name = "特殊社保缴费明细") + private String bSocialSpecialJson; + + /** + * 社保个人合计 + */ + @Encrypt + @ElogTransform(name = "社保个人合计") + private String bSocialPerSum; + + /** + * 公积金个人缴费明细 + */ + @Encrypt + @ElogTransform(name = "公积金个人缴费明细") + private String bFundPerJson; + + /** + * 特殊公积金缴费明细 + */ + @Encrypt + @ElogTransform(name = "特殊公积金缴费明细") + private String bFundSpecialJson; + + /** + * 公积金个人合计 + */ + @Encrypt + @ElogTransform(name = "公积金个人合计") + private String bFundPerSum; + + /** + * 其他福利个人缴费明细 + */ + @Encrypt + @ElogTransform(name = "其他福利个人缴费明细") + private String bOtherPerJson; + + /** + * 其他福利个人合计 + */ + @Encrypt + @ElogTransform(name = "其他福利个人合计") + private String bOtherPerSum; + + /** + * 个人合计 + */ + @Encrypt + @ElogTransform(name = "个人合计") + private String bPerSum; + + /** + * 社保单位缴费明细 + */ + @Encrypt + @ElogTransform(name = "社保单位缴费明细") + private String bSocialComJson; + + /** + * 社保单位合计 + */ + @Encrypt + @ElogTransform(name = "社保单位合计") + private String bSocialComSum; + + /** + * 公积金单位缴费明细 + */ + @ElogTransform(name = "公积金单位缴费明细") + private String bFundComJson; + + /** + * 公积金单位合计 + */ + @ElogTransform(name = "公积金单位合计") + private String bFundComSum; + + /** + * 其他福利单位缴费明细 + */ + @ElogTransform(name = "其他福利单位缴费明细") + private String bOtherComJson; + + /** + * 其他福利单位合计 + */ + @ElogTransform(name = "其他福利单位合计") + private String bOtherComSum; + + /** + * 单位合计 + */ + @Encrypt + @ElogTransform(name = "单位合计") + private String bComSum; + + /** + * 社保合计 + */ + @Encrypt + @ElogTransform(name = "社保合计") + private String bSocialSum; + + /** + * 公积金合计 + */ + @Encrypt + @ElogTransform(name = "公积金合计") + private String bFundSum; + + /** + * 其他福利合计 + */ + @Encrypt + @ElogTransform(name = "其他福利合计") + private String bOtherSum; + + /** + * 合计 + */ + @Encrypt + @ElogTransform(name = "合计") + private String bTotal; + +} diff --git a/src/com/engine/salary/entity/siaccount/param/QZInsuranceAccountBatchParam.java b/src/com/engine/salary/entity/siaccount/param/QZInsuranceAccountBatchParam.java new file mode 100644 index 000000000..8152c3b32 --- /dev/null +++ b/src/com/engine/salary/entity/siaccount/param/QZInsuranceAccountBatchParam.java @@ -0,0 +1,26 @@ +package com.engine.salary.entity.siaccount.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 钱智社保报表 + *

Copyright: Copyright (c) 2025

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class QZInsuranceAccountBatchParam { + + private List ids; + +} diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java index faf48f4bc..12eb290f4 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java @@ -1,5 +1,6 @@ package com.engine.salary.mapper.siaccount; +import com.engine.salary.entity.siaccount.dto.QZReportListDTO; import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam; import com.engine.salary.entity.siaccount.param.SupplementAccountBaseParam; import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO; @@ -200,4 +201,6 @@ public interface InsuranceAccountDetailMapper { void deleteByIds(@Param("ids")List ids); void deleteByEmpIds(@Param("employeeIds")List deleteEmployeeIds, @Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization); + + List qzReportList(InsuranceAccountDetailParam queryParam); } diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml index 71685ffcb..773ce1cd8 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml @@ -1636,4 +1636,191 @@ AND t.payment_organization = #{paymentOrganization} AND t.employee_id = #{employeeId} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/SIAccountService.java b/src/com/engine/salary/service/SIAccountService.java index e299c15f0..2ae58ce17 100644 --- a/src/com/engine/salary/service/SIAccountService.java +++ b/src/com/engine/salary/service/SIAccountService.java @@ -332,5 +332,8 @@ public interface SIAccountService { void batFile(AccountBatParam param); void batSocialSecurityBenefitsRecalculate(AccountBatParam batParam); + + Object qzReport(QZInsuranceAccountBatchParam qzInsuranceAccountBatchParam); + } diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java index 6a42ac130..d5a1e958a 100644 --- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java @@ -7190,6 +7190,31 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { } } + @Override + public Object qzReport(QZInsuranceAccountBatchParam qzInsuranceAccountBatchParam) { + + List ids = qzInsuranceAccountBatchParam.getIds(); + + List list = new ArrayList<>(); + for (Long id : ids) { + InsuranceAccountBatchPO batchPO= getInsuranceAccountBatchMapper().getById(id); + Long paymentOrganization = batchPO.getPaymentOrganization(); + String billMonth = batchPO.getBillMonth(); + + InsuranceAccountDetailParam queryParam = InsuranceAccountDetailParam.builder() + .billMonth(billMonth) + .paymentOrganization(paymentOrganization.toString()) + .build(); + //排序配置 + OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); + queryParam.setOrderRule(orderRule); + //系统人员福利台账明细 + list.addAll(encryptUtil.decryptList(getInsuranceAccountDetailMapper().qzReportList(queryParam), QZReportListDTO.class)); + } + + return null; + } + public void accountOtherView(InsuranceAccountViewListDTO dto, List pos) { int otherNum = 0; BigDecimal otherPaySum = new BigDecimal("0"); diff --git a/src/com/engine/salary/web/SIAccountController.java b/src/com/engine/salary/web/SIAccountController.java index 3509cd31a..7d5f6c605 100644 --- a/src/com/engine/salary/web/SIAccountController.java +++ b/src/com/engine/salary/web/SIAccountController.java @@ -1220,4 +1220,21 @@ public class SIAccountController { User user = HrmUserVarify.getUser(request, response); return new ResponseResult(user).run(getSIAccountWrapper(user)::addNewBalance, param); } + + + /** + * 获取台账列表页 + * + * @param request + * @param response + * @return + */ + @POST + @Path("/qz/list") + @Produces(MediaType.APPLICATION_JSON) + public String qzReport(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QZInsuranceAccountBatchParam insuranceAccountBatchParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getService(user)::qzReport, insuranceAccountBatchParam); + } + }