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())) {