diff --git a/src/com/engine/salary/entity/ly/po/UfKjkmPO.java b/src/com/engine/salary/entity/ly/po/UfKjkmPO.java index 8eee5b75e..a7b99cfea 100644 --- a/src/com/engine/salary/entity/ly/po/UfKjkmPO.java +++ b/src/com/engine/salary/entity/ly/po/UfKjkmPO.java @@ -61,4 +61,20 @@ public class UfKjkmPO { // 该科目是否存在 辅助核算-银行账户 private boolean fzhsYhzhFlag; + + // 固定项目期数 + private String gdxmqs; + + // 固定房屋类别 + private String gdfwlb; + + // 固定客商 + private String gdks; + + // 固定税率类别 + private String gdsllb; + + // 固定银行账户 + private String gdyxzh; + } diff --git a/src/com/engine/salary/mapper/ly/UfKjkmMapper.xml b/src/com/engine/salary/mapper/ly/UfKjkmMapper.xml index e6163844a..45e6ff2c4 100644 --- a/src/com/engine/salary/mapper/ly/UfKjkmMapper.xml +++ b/src/com/engine/salary/mapper/ly/UfKjkmMapper.xml @@ -11,6 +11,11 @@ + + + + + @@ -24,6 +29,11 @@ , t.xzxm , t.sfhbtj , t.zy + , t.gdxmqs + , t.gdfwlb + , t.gdks + , t.gdsllb + , t.gdyxzh diff --git a/src/com/engine/salary/service/impl/LyPZServiceImpl.java b/src/com/engine/salary/service/impl/LyPZServiceImpl.java index 0cdcc16d6..6e2130d57 100644 --- a/src/com/engine/salary/service/impl/LyPZServiceImpl.java +++ b/src/com/engine/salary/service/impl/LyPZServiceImpl.java @@ -120,7 +120,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { BaseBean baseBean = new BaseBean(); RecordSet rs = new RecordSet(); String yFlag = baseBean.getPropValue("lySalaryNCVoucher", "sfddpzfl_y_flag"); - String dkgrsdsBm = baseBean.getPropValue("lySalaryNCVoucher", "kjkm_dkkrsds_bm"); + // String dkgrsdsBm = baseBean.getPropValue("lySalaryNCVoucher", "kjkm_dkkrsds_bm"); // 获取所有的部门信息 List deptInfos = getSalaryEmployeeService(user).listAllDeptInfoList(); // key:分部id-部门名称, value:部门id @@ -201,17 +201,21 @@ public class LyPZServiceImpl extends Service implements LyPZService { subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); } else { kjkmValueMap.put("deptInfo", deptInfo); - if (kjkm.getKmbm().equals(dkgrsdsBm) && queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { - kjkmValueMap.put(kjkm.getKmbm() + kjkm.getXzxm(), ((BigDecimal)kjkmValueMap.getOrDefault(kjkm.getKmbm() + kjkm.getXzxm(), new BigDecimal(0))).add(resultBigDecimal)); - kjkmValueMap.put("subCompanyId", subcompanyId); - kjkmValueMap.put("frzt", fycdgsqcContent); - subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); - } else { - kjkmValueMap.put(kjkm.getKmbm(), ((BigDecimal)kjkmValueMap.getOrDefault(kjkm.getKmbm(), new BigDecimal(0))).add(resultBigDecimal)); - kjkmValueMap.put("subCompanyId", subcompanyId); - kjkmValueMap.put("frzt", fycdgsqcContent); - subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); - } + // if (kjkm.getKmbm().equals(dkgrsdsBm) && queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { + // kjkmValueMap.put(kjkm.getKmbm() + kjkm.getXzxm(), ((BigDecimal)kjkmValueMap.getOrDefault(kjkm.getKmbm() + kjkm.getXzxm(), new BigDecimal(0))).add(resultBigDecimal)); + // kjkmValueMap.put("subCompanyId", subcompanyId); + // kjkmValueMap.put("frzt", fycdgsqcContent); + // subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); + // } else { + // kjkmValueMap.put(kjkm.getKmbm(), ((BigDecimal)kjkmValueMap.getOrDefault(kjkm.getKmbm(), new BigDecimal(0))).add(resultBigDecimal)); + // kjkmValueMap.put("subCompanyId", subcompanyId); + // kjkmValueMap.put("frzt", fycdgsqcContent); + // subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); + // } + kjkmValueMap.put(kjkm.getKmbm() + kjkm.getXzxm(), ((BigDecimal)kjkmValueMap.getOrDefault(kjkm.getKmbm() + kjkm.getXzxm(), new BigDecimal(0))).add(resultBigDecimal)); + kjkmValueMap.put("subCompanyId", subcompanyId); + kjkmValueMap.put("frzt", fycdgsqcContent); + subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); } } } @@ -257,70 +261,14 @@ 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<>(); - 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); - } + // 会计科目上挂的辅助核算 + ufKjkmList.stream().forEach(kjkm -> { + fzhsBmList.add(kjkm.getGdxmqs()); + fzhsBmList.add(kjkm.getGdfwlb()); + fzhsBmList.add(kjkm.getGdks()); + fzhsBmList.add(kjkm.getGdsllb()); + fzhsBmList.add(kjkm.getGdyxzh()); + }); // 根据辅助核算编码获取辅助核算浏览框yx Map fzhsBrowserMap = getFzhsBrowserByBm(fzhsBmList); @@ -354,11 +302,12 @@ public class LyPZServiceImpl extends Service implements LyPZService { // 获取该会计科目对应的辅助核算 BigDecimal value = new BigDecimal(0); try { - if (kjkm.getKmbm().equals(dkgrsdsBm) && queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { - value = ((BigDecimal) kjkmValueMap.get(kjkm.getKmbm()+kjkm.getXzxm())).setScale(2, RoundingMode.HALF_UP); - } else { - value = ((BigDecimal) kjkmValueMap.get(kjkm.getKmbm())).setScale(2, RoundingMode.HALF_UP); - } + value = ((BigDecimal) kjkmValueMap.get(kjkm.getKmbm()+kjkm.getXzxm())).setScale(2, RoundingMode.HALF_UP); + // if (kjkm.getKmbm().equals(dkgrsdsBm) && queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { + // value = ((BigDecimal) kjkmValueMap.get(kjkm.getKmbm()+kjkm.getXzxm())).setScale(2, RoundingMode.HALF_UP); + // } else { + // value = ((BigDecimal) kjkmValueMap.get(kjkm.getKmbm())).setScale(2, RoundingMode.HALF_UP); + // } } catch (Exception e) { baseBean.writeLog("获取失败"+kjkm.getKmbm() +e); value = new BigDecimal(0); @@ -375,26 +324,49 @@ public class LyPZServiceImpl extends Service implements LyPZService { .fzhsYxzh(frztFzhs != null && kjkm.isFzhsYhzhFlag() ? fzhsBrowserMap.get(frztFzhs.getFzhsyxzh()) : null) .dataSource(reportDataIds) .build(); + // 固定项目期数 - if (needFixedXmqsKjkmList.contains(kjkm.getKmbm())) { - build.setFzhsXmqs(frztFzhs != null && kjkm.isFzhsFlag() ? fzhsBrowserMap.get(fixedXmqsValueMap.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); + if (frztFzhs != null) { + if (kjkm.isFzhsFlag() && StringUtils.isNotBlank(kjkm.getGdxmqs()) ) { + build.setFzhsXmqs(fzhsBrowserMap.get(kjkm.getGdxmqs())); + } + // 固定房屋列表 + if (kjkm.isFzhsFwlbFlag() && StringUtils.isNotBlank(kjkm.getGdfwlb()) ) { + build.setFzhsFwlb(fzhsBrowserMap.get(kjkm.getGdfwlb())); + } + // 固定税率类别 + if (kjkm.isFzhsFlag() && StringUtils.isNotBlank(kjkm.getGdsllb()) ) { + build.setFzhsSllb(fzhsBrowserMap.get(kjkm.getGdsllb())); + } + // 固定客商 + if (kjkm.isFzhsFlag() && StringUtils.isNotBlank(kjkm.getGdks())) { + build.setFzhsKs(fzhsBrowserMap.get(kjkm.getGdks())); + } + // 固定银行账户 + if (kjkm.isFzhsFlag() && StringUtils.isNotBlank(kjkm.getGdyxzh()) ) { + build.setFzhsYxzh(fzhsBrowserMap.get(kjkm.getGdyxzh())); + } } + // 固定项目期数 + // if (needFixedXmqsKjkmList.contains(kjkm.getKmbm())) { + // build.setFzhsXmqs(frztFzhs != null && kjkm.isFzhsFlag() ? fzhsBrowserMap.get(fixedXmqsValueMap.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); @@ -403,7 +375,8 @@ public class LyPZServiceImpl extends Service implements LyPZService { + "_" + (build.getFzhsFwlb() == null ? "" : build.getFzhsFwlb().getBh()) + "_" + (build.getFzhsSllb() == null ? "" : build.getFzhsSllb().getBh()) + "_" + (build.getFzhsKs() == null ? "" : build.getFzhsKs().getBh()) - + "_" + (build.getFzhsYxzh() == null ? "" : build.getFzhsYxzh().getBh()); + + "_" + (build.getFzhsYxzh() == null ? "" : build.getFzhsYxzh().getBh()) + + "_" + kjkm.getXzxm(); LyPzPreview lyPzPreviewTemp = lyPzPreviewTempMap.get(key); if (lyPzPreviewTemp != null) { if (kjkm.getFx().equals(LyJDDirectionTypeEnum.DEBIT.getValue())) {