diff --git a/resource/sqlupgrade/SQLServer/sql202408280103CSKH.sql b/resource/sqlupgrade/SQLServer/sql202408280103CSKH.sql index 6f59bf7e3..66fd395e0 100644 --- a/resource/sqlupgrade/SQLServer/sql202408280103CSKH.sql +++ b/resource/sqlupgrade/SQLServer/sql202408280103CSKH.sql @@ -1,6 +1,7 @@ CREATE TABLE hrsa_ly_salary_report ( id bigint NOT NULL, subcompany_id bigint NULL DEFAULT NULL, +znxmlx varchar(255), salary_month datetime NOT NULL, ffgsqc varchar(255) , fycdgsqc varchar(255) , @@ -43,6 +44,7 @@ CREATE TABLE hrsa_ly_social_report ( id bigint NOT NULL, subcompany_id bigint NULL DEFAULT NULL, salary_month datetime NOT NULL , + znxmlx varchar(255) NULL DEFAULT NULL, gmgsqc varchar(255) NULL DEFAULT NULL, fycdgsqc varchar(255) NULL DEFAULT NULL, znxmmc varchar(255) NULL DEFAULT NULL , diff --git a/src/com/engine/salary/entity/ly/dto/LyPzPreview.java b/src/com/engine/salary/entity/ly/dto/LyPzPreview.java new file mode 100644 index 000000000..bb9435758 --- /dev/null +++ b/src/com/engine/salary/entity/ly/dto/LyPzPreview.java @@ -0,0 +1,39 @@ +package com.engine.salary.entity.ly.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author Harryxzy + * @ClassName LyPzPreview + * @date 2024/08/30 14:33 + * @description + */ +@Builder +@Data +@NoArgsConstructor +@AllArgsConstructor +public class LyPzPreview { + + // 摘要 + private String zy; + + // 会计科目 + private String kjkm; + + // 借方金额 + private String jfValue; + + // 贷方金额 + private String dfValue; + + private String fzhsXmqs; + + private String fzhsFwlb; + + private String fzhsSllb; + + private String fzhsKs; +} diff --git a/src/com/engine/salary/entity/ly/po/LyKjkmTest.java b/src/com/engine/salary/entity/ly/po/LyKjkmTest.java deleted file mode 100644 index 8b605673c..000000000 --- a/src/com/engine/salary/entity/ly/po/LyKjkmTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.engine.salary.entity.ly.po; - -import com.engine.salary.entity.salaryformula.ExpressFormula; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author Harryxzy - * @ClassName LyKjkmTest - * @date 2024/08/27 14:01 - * @description 会计科目 临时 - */ -@Builder -@Data -@NoArgsConstructor -@AllArgsConstructor -public class LyKjkmTest { - - // 会计科目id - private String kjkmId; - - // 会计科目名称 - private String kjkmName; - - // 会计科目方向 - private String kjkmDirection; - - private String kjkmSalaryItem; - - // 会计科目薪资项目公式 - private ExpressFormula kjkmSalaryItemFormula; -} diff --git a/src/com/engine/salary/entity/ly/po/LySalaryReportPO.java b/src/com/engine/salary/entity/ly/po/LySalaryReportPO.java index 31453b258..cab7ce576 100644 --- a/src/com/engine/salary/entity/ly/po/LySalaryReportPO.java +++ b/src/com/engine/salary/entity/ly/po/LySalaryReportPO.java @@ -30,6 +30,10 @@ public class LySalaryReportPO { private Long subcompanyId; + // 职能项目类型, 是职能还是项目 + @Alias("职能项目类型") + private String znxmlx; + /** * 发放公司全称 */ @@ -68,7 +72,7 @@ public class LySalaryReportPO { /** * 本月应发_季度/年度绩效 */ - @Alias("本月应发_季度/年度绩效") + @Alias("本月应发_季度年度绩效") private String byyfJdndjx; /** diff --git a/src/com/engine/salary/entity/ly/po/LySocialReportPO.java b/src/com/engine/salary/entity/ly/po/LySocialReportPO.java index 100c1a7c8..04c5ed7fe 100644 --- a/src/com/engine/salary/entity/ly/po/LySocialReportPO.java +++ b/src/com/engine/salary/entity/ly/po/LySocialReportPO.java @@ -23,6 +23,11 @@ public class LySocialReportPO { private Long id; private Long subcompanyId; + + /** + * 职能项目类型 + */ + private String znxmlx; /** * 薪资所属月 */ diff --git a/src/com/engine/salary/entity/ly/po/UfKjkmPO.java b/src/com/engine/salary/entity/ly/po/UfKjkmPO.java new file mode 100644 index 000000000..0918b71e5 --- /dev/null +++ b/src/com/engine/salary/entity/ly/po/UfKjkmPO.java @@ -0,0 +1,41 @@ +package com.engine.salary.entity.ly.po; + +import com.engine.salary.entity.salaryformula.ExpressFormula; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Collection; + +/** + * @author Harryxzy + * @ClassName UfKjkm + * @date 2024/08/30 11:14 + * @description + */ + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class UfKjkmPO { + + private Integer fx; + private String fzhs; + private Integer id; + private String kmbm; + private String kmmc; + private Integer pzlx; + private String xzxm; + + //主键id集合 + private Collection ids; + + // 会计科目薪资项目公式 + private ExpressFormula kjkmSalaryItemFormula; + + // 借贷金额 + private String jdje; +} diff --git a/src/com/engine/salary/enums/ly/LyJDDirectionTypeEnum.java b/src/com/engine/salary/enums/ly/LyJDDirectionTypeEnum.java index af56f9a63..0831e94e6 100644 --- a/src/com/engine/salary/enums/ly/LyJDDirectionTypeEnum.java +++ b/src/com/engine/salary/enums/ly/LyJDDirectionTypeEnum.java @@ -10,8 +10,8 @@ import java.util.Arrays; */ public enum LyJDDirectionTypeEnum { - DEBIT(1, "借方", 0), - CREDIT(2, "贷方", 0); + DEBIT(0, "借方", 0), + CREDIT(1, "贷方", 0); private int value; diff --git a/src/com/engine/salary/enums/ly/LyPZTypeEnum.java b/src/com/engine/salary/enums/ly/LyPZTypeEnum.java index 18ac80bf5..baf43340e 100644 --- a/src/com/engine/salary/enums/ly/LyPZTypeEnum.java +++ b/src/com/engine/salary/enums/ly/LyPZTypeEnum.java @@ -9,12 +9,12 @@ import java.util.Arrays; * @description 领悦-凭证类型 */ public enum LyPZTypeEnum { - XZJTPZ(1, "薪资计提凭证", 0), - XZFFPZ(2, "薪资发放凭证", 0), - SBJTPZ(3, "社保计提凭证", 0), + XZJTPZ(0, "薪资计提凭证", 0), + XZFFPZ(3, "薪资发放凭证", 0), + SBJTPZ(1, "社保计提凭证", 0), SBFFPZ(4, "社保发放凭证", 0), - GJJJTPZ(5, "公积金计提凭证", 0), - GJJFFPZ(6, "公积金发放凭证", 0); + GJJJTPZ(2, "公积金计提凭证", 0), + GJJFFPZ(5, "公积金发放凭证", 0); private int value; diff --git a/src/com/engine/salary/mapper/ly/LySalaryReportMapper.xml b/src/com/engine/salary/mapper/ly/LySalaryReportMapper.xml index 63704022b..3eb63862e 100644 --- a/src/com/engine/salary/mapper/ly/LySalaryReportMapper.xml +++ b/src/com/engine/salary/mapper/ly/LySalaryReportMapper.xml @@ -217,6 +217,9 @@ subcompany_id, + + znxmlx, + salary_month, @@ -321,6 +324,9 @@ #{subcompanyId}, + + #{znxmlx}, + #{salaryMonth}, diff --git a/src/com/engine/salary/mapper/ly/LySocialReportMapper.xml b/src/com/engine/salary/mapper/ly/LySocialReportMapper.xml index c4e6f811b..91a0fa92a 100644 --- a/src/com/engine/salary/mapper/ly/LySocialReportMapper.xml +++ b/src/com/engine/salary/mapper/ly/LySocialReportMapper.xml @@ -221,6 +221,9 @@ subcompany_id, + + znxmlx, + salary_month, @@ -328,6 +331,9 @@ #{subcompanyId}, + + #{znxmlx}, + #{salaryMonth}, diff --git a/src/com/engine/salary/mapper/ly/UfKjkmMapper.java b/src/com/engine/salary/mapper/ly/UfKjkmMapper.java new file mode 100644 index 000000000..42e14bd00 --- /dev/null +++ b/src/com/engine/salary/mapper/ly/UfKjkmMapper.java @@ -0,0 +1,37 @@ +package com.engine.salary.mapper.ly; + +import com.engine.salary.entity.ly.po.UfKjkmPO; + +import java.util.List; + +/** + * @author Harryxzy + * @ClassName UfKjkmMapper + * @date 2024/08/30 11:16 + * @description + */ +public interface UfKjkmMapper { + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + /** + * 条件查询 + * + * @return 返回集合,没有返回空List + */ + List listSome(UfKjkmPO ufKjkm); + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + UfKjkmPO getById(Integer id); + +} diff --git a/src/com/engine/salary/mapper/ly/UfKjkmMapper.xml b/src/com/engine/salary/mapper/ly/UfKjkmMapper.xml new file mode 100644 index 000000000..1169f2dc6 --- /dev/null +++ b/src/com/engine/salary/mapper/ly/UfKjkmMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + t.fx + , t.fzhs + , t.id + , t.kmbm + , t.kmmc + , t.pzlx + , t.xzxm + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/LyPZService.java b/src/com/engine/salary/service/LyPZService.java index f37b27130..5247242f7 100644 --- a/src/com/engine/salary/service/LyPZService.java +++ b/src/com/engine/salary/service/LyPZService.java @@ -2,6 +2,8 @@ package com.engine.salary.service; import com.engine.salary.entity.ly.param.LyPZGenParam; +import java.util.Map; + /** * @author Harryxzy * @ClassName LyPZService @@ -10,5 +12,5 @@ import com.engine.salary.entity.ly.param.LyPZGenParam; */ public interface LyPZService { - void genPZ(LyPZGenParam queryParam); + Map genPZ(LyPZGenParam queryParam); } diff --git a/src/com/engine/salary/service/impl/LyPZServiceImpl.java b/src/com/engine/salary/service/impl/LyPZServiceImpl.java index e68c5adc8..f3d21438d 100644 --- a/src/com/engine/salary/service/impl/LyPZServiceImpl.java +++ b/src/com/engine/salary/service/impl/LyPZServiceImpl.java @@ -1,27 +1,31 @@ package com.engine.salary.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.salary.entity.ly.dto.LyPzPreview; import com.engine.salary.entity.ly.param.LyPZGenParam; import com.engine.salary.entity.ly.param.LySalaryReportQueryParam; -import com.engine.salary.entity.ly.po.LyKjkmTest; import com.engine.salary.entity.ly.po.LySalaryReportPO; import com.engine.salary.entity.ly.po.LySocialReportPO; +import com.engine.salary.entity.ly.po.UfKjkmPO; import com.engine.salary.entity.salaryformula.ExpressFormula; import com.engine.salary.entity.salaryformula.po.FormulaVar; +import com.engine.salary.enums.ly.LyJDDirectionTypeEnum; import com.engine.salary.enums.ly.LyPZTypeEnum; import com.engine.salary.enums.salaryformula.ReferenceTypeEnum; import com.engine.salary.formlua.entity.parameter.DataType; import com.engine.salary.formlua.entity.standard.ExcelResult; +import com.engine.salary.mapper.ly.UfKjkmMapper; import com.engine.salary.service.FormulaRunService; import com.engine.salary.service.LyPZService; import com.engine.salary.service.LySalaryReportService; import com.engine.salary.service.LySocialReportService; +import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.math.NumberUtils; -import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -52,13 +56,17 @@ public class LyPZServiceImpl extends Service implements LyPZService { return ServiceUtil.getService(FormulaRunServiceImpl.class, user); } + private UfKjkmMapper getUfKjkmMapper() { + return MapperProxyFactory.getProxy(UfKjkmMapper.class); + } + @Override - public void genPZ(LyPZGenParam queryParam) { + public Map genPZ(LyPZGenParam queryParam) { List> formulaVarsList = new ArrayList<>(); if (queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue()) || queryParam.getPzlx().equals(LyPZTypeEnum.XZJTPZ.getValue())) { // 是工资单凭证 - Map resultMap = getLySalaryReportService(user).listSalaryReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).export(true).build()); + Map resultMap = getLySalaryReportService(user).listSalaryReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).ffgsqc(queryParam.getFfgsqc()).export(true).build()); List dataList = ((PageInfo)resultMap.get("data")).getList(); // 将每一个结果转换成map的格式并作为变量存储 for (LySalaryReportPO po : dataList) { @@ -68,15 +76,18 @@ public class LyPZServiceImpl extends Service implements LyPZService { FormulaVar build = FormulaVar.builder() .fieldId(entry.getKey()) .content(Util.null2String(entry.getValue())) - .fieldType(DataType.STRING) + .fieldType(DataType.NUMBER) .build(); + if(entry.getKey().equals("ffgsqc") || entry.getKey().equals("fycdgsqc") || entry.getKey().equals("znxmmc")) { + build.setFieldType(DataType.STRING); + } formulaVars.add(build); } formulaVarsList.add(formulaVars); } } else { // 是社保公积金凭证 - Map resultMap = getLySocialReportService(user).listSIReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).export(true).build()); + Map resultMap = getLySocialReportService(user).listSIReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).ffgsqc(queryParam.getFfgsqc()).export(true).build()); List dataList = ((PageInfo)resultMap.get("data")).getList(); // 将每一个结果转换成map的格式并作为变量存储 for (LySocialReportPO po : dataList) { @@ -86,47 +97,35 @@ public class LyPZServiceImpl extends Service implements LyPZService { FormulaVar build = FormulaVar.builder() .fieldId(entry.getKey()) .content(Util.null2String(entry.getValue())) - .fieldType(DataType.STRING) + .fieldType(DataType.NUMBER) .build(); + if(entry.getKey().equals("ffgsqc") || entry.getKey().equals("fycdgsqc") || entry.getKey().equals("znxmmc")) { + build.setFieldType(DataType.STRING); + } formulaVars.add(build); } formulaVarsList.add(formulaVars); } } - RecordSet rs = new RecordSet(); // 根据科目编码获取科会计科目全路径名称 - // 获取所有科目编码信息 - Map kmbmInfoMap = new HashMap<>(); - rs.execute("select kmbm,kmmc from uf_lytest"); - while (rs.next()) { - kmbmInfoMap.put(rs.getString("kmbm"), rs.getString("kmmc")); - } - String fullNameKmgm = getFullPathKjkm("1234", kmbmInfoMap); - - // 查询这个凭证对应所需的会计科目 - rs.execute("select kmbm,kmmc,xzxm,fx from uf_lytest"); - List kjkmList = new ArrayList<>(); - while (rs.next()) { - String xzxm = rs.getString("xzxm"); + // 获取当前凭证对应的所有会计科目信息 + List ufKjkmList = getUfKjkmMapper().listSome(UfKjkmPO.builder().pzlx(queryParam.getPzlx()).build()); + // 封装会计科目对应的公式 + for(UfKjkmPO kjkm: ufKjkmList) { ExpressFormula expressFormula = ExpressFormula.builder().name("t") .referenceType(ReferenceTypeEnum.FORMULA.getValue()) - .formula(xzxm) - .formulaRunScript(xzxm) + .formula(kjkm.getXzxm()) + .formulaRunScript(kjkm.getXzxm()) .extendParam("{}") .build(); - kjkmList.add(LyKjkmTest.builder() - .kjkmId(rs.getString("kmbm")) - .kjkmName(rs.getString("kmmc")) - .kjkmDirection(rs.getString("fx")) - .kjkmSalaryItemFormula(expressFormula) - .build()); + kjkm.setKjkmSalaryItemFormula(expressFormula); } Map kjkmValueMap = new HashMap<>(); for(List varList : formulaVarsList) { // 每一条记录都需要执行一遍公式并把结果相加 - for (LyKjkmTest kjkm : kjkmList) { + for (UfKjkmPO kjkm : ufKjkmList) { // 给公式中的变量填入值 ExcelResult result = new ExcelResult(); try { @@ -143,11 +142,37 @@ public class LyPZServiceImpl extends Service implements LyPZService { } String resultStr = result.getData() == null ? "0" : result.getData().toString(); BigDecimal resultBigDecimal = NumberUtils.isCreatable(resultStr) ? new BigDecimal(resultStr) : BigDecimal.ZERO; - kjkmValueMap.put(kjkm.getKjkmId(), kjkmValueMap.getOrDefault(kjkm.getKjkmId(), new BigDecimal(0)).add(resultBigDecimal)); + kjkmValueMap.put(kjkm.getKmbm(), kjkmValueMap.getOrDefault(kjkm.getKmbm(), new BigDecimal(0)).add(resultBigDecimal)); } } + + // 封装会计科目的摘要信息、会计科目信息、借贷金额薪资,过滤金额为0的会计科目 + List lyPzPreviewList = new ArrayList<>(); + Map kmbmInfoMap = new HashMap<>(); + List allKjkm = getUfKjkmMapper().listAll(); + allKjkm.forEach(po -> kmbmInfoMap.put(po.getKmbm(), po.getKmmc())); + for (UfKjkmPO kjkm : ufKjkmList) { + BigDecimal value = kjkmValueMap.getOrDefault(kjkm.getKmbm(), BigDecimal.ZERO); + LyPzPreview build = LyPzPreview.builder() + .zy("") + .kjkm(getFullPathKjkm(kjkm.getKmbm(), kmbmInfoMap)) + .jfValue(kjkm.getFx().equals(LyJDDirectionTypeEnum.DEBIT.getValue()) ? "0.00" : value.toString()) + .dfValue(kjkm.getFx().equals(LyJDDirectionTypeEnum.CREDIT.getValue()) ? "0.00" : value.toString()) + .build(); + lyPzPreviewList.add(build); + } + List columns = new ArrayList<>(); + columns.add(new WeaTableColumn("100px", "摘要" , "zy")); + columns.add(new WeaTableColumn("100px", "会计科目" , "kjkm")); + columns.add(new WeaTableColumn("100px", "借方金额" , "jfValue")); + columns.add(new WeaTableColumn("100px", "贷方金额" , "dfValue")); + + Map resultMap = new HashMap<>(); + resultMap.put("columns" , columns); + resultMap.put("data", lyPzPreviewList); + return resultMap; // 所有的结果都算好了,封装凭证预览 - System.out.println(kjkmValueMap); + // test 生成xml @@ -200,19 +225,19 @@ public class LyPZServiceImpl extends Service implements LyPZService { int length = kmbm.length(); if (length == 4) { // 是一级科目,不需要拼接 - return kmbmInfoMap.getOrDefault(kmbm, ""); + return kmbm + "\\" + kmbmInfoMap.getOrDefault(kmbm, ""); } else if (length == 6) { // 是二级科目,先找一级科目 String firstKjkmbm = kmbm.substring(0, 4); String firstKjkm = kmbmInfoMap.getOrDefault(firstKjkmbm, ""); - return firstKjkm + "/" + kmbmInfoMap.getOrDefault(kmbm, ""); + return kmbm + "\\" + firstKjkm + "\\" + kmbmInfoMap.getOrDefault(kmbm, ""); } else if (length == 8) { // 是三级科目 String firstKjkmbm = kmbm.substring(0, 4); String firstKjkm = kmbmInfoMap.getOrDefault(firstKjkmbm, ""); String secondKjkmbm = kmbm.substring(0, 6); String secondKjkm = kmbmInfoMap.getOrDefault(secondKjkmbm, ""); - return firstKjkm + "/" + secondKjkm + "/" +kmbmInfoMap.getOrDefault(kmbm, ""); + return kmbm + "\\" + firstKjkm + "\\" + secondKjkm + "\\" +kmbmInfoMap.getOrDefault(kmbm, ""); } else { return "科目编码格式错误!"; } diff --git a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java index 1d8f670af..1d7835d00 100644 --- a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java @@ -188,6 +188,11 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 获取薪资项目id List salaryItemIds = new ArrayList<>(); + + // 是职能还是项目 + Long znxmlxItemId = getPropLongValue(baseBean, "lySalaryNCReport", "salary_znxmlx_item_id"); + salaryItemIds.add(znxmlxItemId); + // 发放公司全称 Long ffgsqcItemId = getPropLongValue(baseBean, "lySalaryNCReport", "salary_ffgsqc_item_id"); salaryItemIds.add(ffgsqcItemId); @@ -258,7 +263,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport + "-split" + (map.get(fycdgsqcItemId.toString()) == null ? " " : map.get(fycdgsqcItemId.toString()).toString()) + "-split" + (map.get(znxmmcItemId.toString()) == null ? " " : map.get(znxmmcItemId.toString()).toString())); List numberItems = salaryItemList.stream().filter(item -> item.getDataType().equals(SalaryDataTypeEnum.NUMBER.getValue())).collect(Collectors.toList()); - LinkedHashMap> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, null); + LinkedHashMap> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, znxmlxItemId); // 排序 - 根据key排序 LinkedHashMap> sortedMap = new LinkedHashMap<>(); @@ -287,6 +292,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport LySalaryReportPO build = LySalaryReportPO.builder() .id(IdGenerator.generate()) .salaryMonth(salaryMonthDate) + .znxmlx(valueMap.getOrDefault(znxmlxItemId.toString(), "").toString()) .subcompanyId(Long.valueOf(valueMap.getOrDefault("subcompanyId","0").toString())) .ffgsqc(ffgsqc) .fycdgsqc(fycdgsqc) diff --git a/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java b/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java index 3f47355e9..677b09f73 100644 --- a/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java @@ -182,6 +182,9 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport // 获取薪资项目id List salaryItemIds = new ArrayList<>(); + // 职能项目类型 + Long znxmlxItemId = getPropLongValue(baseBean, "lySalaryNCReport", "social_znxmlx_item_id"); + salaryItemIds.add(znxmlxItemId); // 购买公司全称 Long gmgsqcItemId = getPropLongValue(baseBean, "lySalaryNCReport", "social_gmgsqc_item_id"); salaryItemIds.add(gmgsqcItemId); @@ -253,7 +256,7 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport + "-split" + (map.get(fycdgsqcItemId.toString()) == null ? " " : map.get(fycdgsqcItemId.toString()).toString()) + "-split" + (map.get(znxmmcItemId.toString()) == null ? " " : map.get(znxmmcItemId.toString()).toString())); List numberItems = salaryItemList.stream().filter(item -> item.getDataType().equals(SalaryDataTypeEnum.NUMBER.getValue())).collect(Collectors.toList()); - LinkedHashMap> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, null); + LinkedHashMap> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, znxmlxItemId); // 排序 - 根据key排序 LinkedHashMap> sortedMap = new LinkedHashMap<>(); @@ -274,6 +277,7 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport .subcompanyId(Long.valueOf(valueMap.getOrDefault("subcompanyId","0").toString())) .ftempNum(Integer.valueOf(valueMap.getOrDefault("empNums", "0").toString())) .salaryMonth(salaryMonthDate) + .znxmlx(valueMap.getOrDefault(znxmlxItemId.toString(), "").toString()) // .gmgsqc(valueMap.getOrDefault(gmgsqcItemId.toString(), "").toString()) .gmgsqc(gmgsqc) .fycdgsqc(fycdgsqc) @@ -390,7 +394,7 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport private LinkedHashMap> getSumResultByGroup(Map>> groupBy, List salarySobItemPOS, List numberItems, - Long gmgsqcItemId) { + Long znxmlxItemId) { LinkedHashMap> result = new LinkedHashMap<>(); // 本次薪资核算所用的薪资账套下的薪资项目 Map salaryItemIdKeySalarySobItemPOMap = SalaryEntityUtil.convert2Map(salarySobItemPOS, SalarySobItemPO::getSalaryItemId); @@ -412,10 +416,10 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport itemSum.put("userName", CollectionUtils.isEmpty(value) ? "" : value.get(0).get("userName")); itemSum.put("employeeId", CollectionUtils.isEmpty(value) ? "" : value.get(0).get("employeeId")); itemSum.put("subcompanyId", CollectionUtils.isEmpty(value) ? "" : value.get(0).get("subcompanyId") == null ? "0" : value.get(0).get("subcompanyId")); - if (gmgsqcItemId != null) { + if (znxmlxItemId != null) { Map map = value.get(0); - String rylb = map.get(gmgsqcItemId.toString()) == null ? "" : map.get(gmgsqcItemId.toString()).toString(); - itemSum.put(gmgsqcItemId.toString(), rylb); + String znxmlx = map.get(znxmlxItemId.toString()) == null ? "" : map.get(znxmlxItemId.toString()).toString(); + itemSum.put(znxmlxItemId.toString(), znxmlx); } result.put(entrySet.getKey(), itemSum); diff --git a/src/com/engine/salary/web/LySalaryController.java b/src/com/engine/salary/web/LySalaryController.java index fb21dcf2a..dad966fd3 100644 --- a/src/com/engine/salary/web/LySalaryController.java +++ b/src/com/engine/salary/web/LySalaryController.java @@ -266,7 +266,7 @@ public class LySalaryController { @Produces(MediaType.APPLICATION_JSON) public String genAndPreveiwPZ(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyPZGenParam param) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult(user).run(getLySalaryWrapper(user)::genPZ, param); + return new ResponseResult>(user).run(getLySalaryWrapper(user)::genPZ, param); } //---------------------------------------------------------领悦生成凭证end-------------------------------------------- diff --git a/src/com/engine/salary/wrapper/LySalaryWrapper.java b/src/com/engine/salary/wrapper/LySalaryWrapper.java index d7a80e38c..f0c248019 100644 --- a/src/com/engine/salary/wrapper/LySalaryWrapper.java +++ b/src/com/engine/salary/wrapper/LySalaryWrapper.java @@ -120,8 +120,8 @@ public class LySalaryWrapper extends Service { return getLySocialReportService(user).exportSIReport(param); } - public void genPZ(LyPZGenParam queryParam) { - getLyPZService(user).genPZ(queryParam); + public Map genPZ(LyPZGenParam queryParam) { + return getLyPZService(user).genPZ(queryParam); }