diff --git a/src/com/engine/salary/service/impl/LyPZServiceImpl.java b/src/com/engine/salary/service/impl/LyPZServiceImpl.java index 3971c2466..0cdcc16d6 100644 --- a/src/com/engine/salary/service/impl/LyPZServiceImpl.java +++ b/src/com/engine/salary/service/impl/LyPZServiceImpl.java @@ -257,38 +257,71 @@ public class LyPZServiceImpl extends Service implements LyPZService { queryParam.setSalaryMonthDate(SalaryDateUtil.dateStrToLocalYearMonth(queryParam.getSalaryMonth())); String chnYearMonth = SalaryDateUtil.getFormatCHNYearMonth(queryParam.getSalaryMonthDate()); - // 获取薪资发放凭证中需要固定的客商信息 - List xzffNeedFixedKsKjkmList = new ArrayList<>(); - Map xzffFixedKsValueMap = new HashMap<>(); - // 获取薪资发放凭证中需要固定的项目期数信息 - List xzffNeedFixedXmqsKjkmList = new ArrayList<>(); - Map xzffFixedXmqsValueMap = new HashMap<>(); - // 获取薪资发放凭证中需要固定的房屋类别信息 - List xzffNeedFixedFwlbKjkmList = new ArrayList<>(); - Map xzffFixedFwlbValueMap = new HashMap<>(); - if (queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { - // 客商 - xzffNeedFixedKsKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", "xzff_need_fixed_ks_kjkm").split(",")).collect(Collectors.toList()); - for (String kjkm : xzffNeedFixedKsKjkmList) { - String ksValue = baseBean.getPropValue("lySalaryNCVoucher", "xzff_ks_" + kjkm); - xzffFixedKsValueMap.put(kjkm, Util.null2String(ksValue)); - fzhsBmList.add(ksValue); - } - // 项目期数 - xzffNeedFixedXmqsKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", "xzff_need_fixed_xmqs_kjkm").split(",")).collect(Collectors.toList()); - for (String kjkm : xzffNeedFixedXmqsKjkmList) { - String xmqsValue = baseBean.getPropValue("lySalaryNCVoucher", "xzff_xmqs_" + kjkm); - xzffFixedXmqsValueMap.put(kjkm, Util.null2String(xmqsValue)); - fzhsBmList.add(xmqsValue); - } - // 房屋类别 - xzffNeedFixedFwlbKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", "xzff_need_fixed_fwlb_kjkm").split(",")).collect(Collectors.toList()); - for (String kjkm : xzffNeedFixedFwlbKjkmList) { - String fwlbValue = baseBean.getPropValue("lySalaryNCVoucher", "xzff_fwlb_" + kjkm); - xzffFixedFwlbValueMap.put(kjkm, Util.null2String(fwlbValue)); - fzhsBmList.add(fwlbValue); - } + // // 获取薪资发放凭证中需要固定的客商信息 + // List xzffNeedFixedKsKjkmList = new ArrayList<>(); + // Map xzffFixedKsValueMap = new HashMap<>(); + // // 获取薪资发放凭证中需要固定的项目期数信息 + // List xzffNeedFixedXmqsKjkmList = new ArrayList<>(); + // Map xzffFixedXmqsValueMap = new HashMap<>(); + // // 获取薪资发放凭证中需要固定的房屋类别信息 + // List xzffNeedFixedFwlbKjkmList = new ArrayList<>(); + // Map xzffFixedFwlbValueMap = new HashMap<>(); + String pzlxKey = ""; + if (queryParam.getPzlx().equals(LyPZTypeEnum.XZJTPZ.getValue())) { + pzlxKey = "xzjt"; + } else if (queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { + pzlxKey = "xzff"; + } else if (queryParam.getPzlx().equals(LyPZTypeEnum.SBJTPZ.getValue())) { + pzlxKey = "sbjt"; + } else if (queryParam.getPzlx().equals(LyPZTypeEnum.SBFFPZ.getValue())) { + pzlxKey = "sbff"; + } else if (queryParam.getPzlx().equals(LyPZTypeEnum.GJJJTPZ.getValue())) { + pzlxKey = "gjjjt"; + } else if (queryParam.getPzlx().equals(LyPZTypeEnum.GJJFFPZ.getValue())) { + pzlxKey = "gjjff"; } + + // 需要固定的项目期数信息 + Map fixedXmqsValueMap = new HashMap<>(); + List needFixedXmqsKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_need_fixed_xmqs_kjkm").split(",")).collect(Collectors.toList()); + for (String kjkm : needFixedXmqsKjkmList) { + String xmqsValue = baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_xmqs_" + kjkm); + fixedXmqsValueMap.put(kjkm, Util.null2String(xmqsValue)); + fzhsBmList.add(xmqsValue); + } + // 需要固定的房屋类别信息 + Map fixedFwlbValueMap = new HashMap<>(); + List needFixedFwlbKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_need_fixed_fwlb_kjkm").split(",")).collect(Collectors.toList()); + for (String kjkm : needFixedFwlbKjkmList) { + String fwlbValue = baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_fwlb_" + kjkm); + fixedFwlbValueMap.put(kjkm, Util.null2String(fwlbValue)); + fzhsBmList.add(fwlbValue); + } + // 需要固定的税率类别信息 + Map fixedSllbValueMap = new HashMap<>(); + List needFixedSllbKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_need_fixed_sllb_kjkm").split(",")).collect(Collectors.toList()); + for (String kjkm : needFixedSllbKjkmList) { + String sllbValue = baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_sllb_" + kjkm); + fixedSllbValueMap.put(kjkm, Util.null2String(sllbValue)); + fzhsBmList.add(sllbValue); + } + // 需要固定的客商信息 + Map fixedKsValueMap = new HashMap<>(); + List needFixedKsKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_need_fixed_ks_kjkm").split(",")).collect(Collectors.toList()); + for (String kjkm : needFixedKsKjkmList) { + String ksValue = baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_ks_" + kjkm); + fixedKsValueMap.put(kjkm, Util.null2String(ksValue)); + fzhsBmList.add(ksValue); + } + // 需要固定的银行账户 + Map fixedYhzhValueMap = new HashMap<>(); + List needFixedYhzhKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_need_fixed_yhzh_kjkm").split(",")).collect(Collectors.toList()); + for (String kjkm : needFixedYhzhKjkmList) { + String yhzhValue = baseBean.getPropValue("lySalaryNCVoucher", pzlxKey + "_yhzh_" + kjkm); + fixedYhzhValueMap.put(kjkm, Util.null2String(yhzhValue)); + fzhsBmList.add(yhzhValue); + } + // 根据辅助核算编码获取辅助核算浏览框yx Map fzhsBrowserMap = getFzhsBrowserByBm(fzhsBmList); @@ -342,18 +375,27 @@ public class LyPZServiceImpl extends Service implements LyPZService { .fzhsYxzh(frztFzhs != null && kjkm.isFzhsYhzhFlag() ? fzhsBrowserMap.get(frztFzhs.getFzhsyxzh()) : null) .dataSource(reportDataIds) .build(); - // 固定客商 - if (xzffNeedFixedKsKjkmList.contains(kjkm.getKmbm())) { - build.setFzhsKs(frztFzhs != null && kjkm.isFzhsKsFlag() ? fzhsBrowserMap.get(xzffFixedKsValueMap.get(kjkm.getKmbm())) : null); - } // 固定项目期数 - if (xzffNeedFixedXmqsKjkmList.contains(kjkm.getKmbm())) { - build.setFzhsXmqs(frztFzhs != null && kjkm.isFzhsFlag() ? fzhsBrowserMap.get(xzffFixedXmqsValueMap.get(kjkm.getKmbm())) : null); + if (needFixedXmqsKjkmList.contains(kjkm.getKmbm())) { + build.setFzhsXmqs(frztFzhs != null && kjkm.isFzhsFlag() ? fzhsBrowserMap.get(fixedXmqsValueMap.get(kjkm.getKmbm())) : null); } // 固定房屋列表 - if (xzffNeedFixedFwlbKjkmList.contains(kjkm.getKmbm())) { - build.setFzhsFwlb(frztFzhs != null && kjkm.isFzhsFwlbFlag() ? fzhsBrowserMap.get(xzffFixedFwlbValueMap.get(kjkm.getKmbm())) : null); + if (needFixedFwlbKjkmList.contains(kjkm.getKmbm())) { + build.setFzhsFwlb(frztFzhs != null && kjkm.isFzhsFwlbFlag() ? fzhsBrowserMap.get(fixedFwlbValueMap.get(kjkm.getKmbm())) : null); } + // 税率类别 + if (needFixedSllbKjkmList.contains(kjkm.getKmbm())) { + build.setFzhsSllb(frztFzhs != null && kjkm.isFzhsSllbFlag() ? fzhsBrowserMap.get(fixedSllbValueMap.get(kjkm.getKmbm())) : null); + } + // 固定客商 + if (needFixedKsKjkmList.contains(kjkm.getKmbm())) { + build.setFzhsKs(frztFzhs != null && kjkm.isFzhsKsFlag() ? fzhsBrowserMap.get(fixedKsValueMap.get(kjkm.getKmbm())) : null); + } + // 银行账户 + if (needFixedYhzhKjkmList.contains(kjkm.getKmbm())) { + build.setFzhsYxzh(frztFzhs != null && kjkm.isFzhsYhzhFlag() ? fzhsBrowserMap.get(fixedYhzhValueMap.get(kjkm.getKmbm())) : null); + } + String zy = genZy(build, queryParam.getFfgsqc(), Utils.null2String(kjkmValueMap.get("frzt")), chnYearMonth, kjkm); build.setZy(zy); @@ -468,6 +510,10 @@ public class LyPZServiceImpl extends Service implements LyPZService { * @return */ private Map getFzhsBrowserByBm(List fzhsBmList) { + if (CollectionUtils.isEmpty(fzhsBmList)) { + return Collections.emptyMap(); + } + fzhsBmList = fzhsBmList.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList()); if (CollectionUtils.isEmpty(fzhsBmList)) { return Collections.emptyMap(); }