diff --git a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java index f18f2af00..7f2d7a0c2 100644 --- a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java @@ -2138,26 +2138,31 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport for (Map.Entry> entry : ufSbInfoGroupMap.entrySet()) { List valueList = entry.getValue(); HashMap singelGsSumMap = new HashMap<>(); - // 养老 - BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxgrjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// // 养老 +// BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxgrjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("yl", ylSum); +// // 医疗 +// BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("yliao", yliaoSum); +// // 生育 +// BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("sy", sySum); +// // 工伤 +// BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("gs", gsSum); +// // 失业 +// BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("sye", syeSum); + + // 社保个人缴纳合计 + BigDecimal sbgrjnhjSum = valueList.stream().map(UfSbInfo::getSbgrjnhj).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("yl", ylSum); - // 医疗 - BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("yliao", yliaoSum); - // 生育 - BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("sy", sySum); - // 工伤 - BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("gs", gsSum); - // 失业 - BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("sye", syeSum); + singelGsSumMap.put("sbgrjnhj", sbgrjnhjSum); singelGsSumMap.put("empNums", BigDecimal.valueOf(valueList.size())); ufSbSumByGsMap.put(frztMap.getOrDefault(entry.getKey(), ""), singelGsSumMap); } @@ -2166,12 +2171,15 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport BaseBean baseBean = new BaseBean(); List salaryItemIdList = new ArrayList<>(); Long gmgsItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sbgmgs_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sbgmgs_item_id")) : 0L; - Long ylItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) : 0L; - Long yliaoItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) : 0L; - Long syItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) : 0L; - Long gsItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) : 0L; - Long syeItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) : 0L; - salaryItemIdList.addAll(Arrays.asList(gmgsItemId,ylItemId,yliaoItemId,syItemId,gsItemId,syeItemId)); +// Long ylItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) : 0L; +// Long yliaoItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) : 0L; +// Long syItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) : 0L; +// Long gsItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) : 0L; +// Long syeItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) : 0L; +// salaryItemIdList.addAll(Arrays.asList(gmgsItemId,ylItemId,yliaoItemId,syItemId,gsItemId,syeItemId)); + Long grjnheItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_grjnhj_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_grjnhj_item_id")) : 0L; + salaryItemIdList.addAll(Arrays.asList(gmgsItemId,grjnheItemId)); + List salaryItemList = getSalaryItemService(user).listByIds(salaryItemIdList); // 查询核算账套 @@ -2214,27 +2222,51 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport rs.execute(deleteSql); for (List part : partition) { // 插入对比数据 +// StringBuilder sbSql = new StringBuilder("insert into uf_dbhzb(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime," + +// "yf,gmgs,sbdrrs,xcffrs,ylbxdrsj,ylbxxcff,yiliaobxdrsj,yiliaobxxcff,sybxdrsj,sybxxcff,gsbxdrsj,gsbxxcff,shiyebxdrsj,shiyebxxcff) values "); +// for (String gmgs : part) { +// String gmgsId = frztNameMap.get(gmgs); +// Map acctSumMap = acctSbSumByGsMap.getOrDefault(gmgs, new HashMap<>()); +// Map ufSumMap = ufSbSumByGsMap.getOrDefault(gmgs, new HashMap<>()); +// // 养老 +// String ylAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(ylItemId.toString()))).toPlainString(); +// String ylUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yl"))).toPlainString(); +// // 医疗 +// String yliaoAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(yliaoItemId.toString()))).toPlainString(); +// String yliaoUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yliao"))).toPlainString(); +// // 生育 +// String syAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syItemId.toString()))).toPlainString(); +// String syUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sy"))).toPlainString(); +// // 工伤 +// String gsAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(gsItemId.toString()))).toPlainString(); +// String gsUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("gs"))).toPlainString(); +// // 失业 +// String syeAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syeItemId.toString()))).toPlainString(); +// String syeUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sye"))).toPlainString(); +// // 人数 +// String empNumsAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get("empNums"))).toPlainString(); +// String empNumsUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("empNums"))).toPlainString(); +// sbSql.append("(").append(modeId).append(",1,0,").append(currDate).append(",").append(currTime).append(",'"); +// sbSql.append(salaryMonth).append("','") +// .append(gmgsId).append("',") +// .append(empNumsUf).append(",").append(empNumsAcct).append(",") +// .append(ylUf).append(",").append(ylAcct).append(",") +// .append(yliaoUf).append(",").append(yliaoAcct).append(",") +// .append(syUf).append(",").append(syAcct).append(",") +// .append(gsUf).append(",").append(gsAcct).append(",") +// .append(syeUf).append(",").append(syeAcct) +// .append("),"); +// } StringBuilder sbSql = new StringBuilder("insert into uf_dbhzb(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime," + - "yf,gmgs,sbdrrs,xcffrs,ylbxdrsj,ylbxxcff,yiliaobxdrsj,yiliaobxxcff,sybxdrsj,sybxxcff,gsbxdrsj,gsbxxcff,shiyebxdrsj,shiyebxxcff) values "); + "yf,gmgs,sbdrrs,xcffrs,drje,gzkkje,ce) values "); for (String gmgs : part) { String gmgsId = frztNameMap.get(gmgs); Map acctSumMap = acctSbSumByGsMap.getOrDefault(gmgs, new HashMap<>()); Map ufSumMap = ufSbSumByGsMap.getOrDefault(gmgs, new HashMap<>()); - // 养老 - String ylAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(ylItemId.toString()))).toPlainString(); - String ylUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yl"))).toPlainString(); - // 医疗 - String yliaoAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(yliaoItemId.toString()))).toPlainString(); - String yliaoUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yliao"))).toPlainString(); - // 生育 - String syAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syItemId.toString()))).toPlainString(); - String syUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sy"))).toPlainString(); - // 工伤 - String gsAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(gsItemId.toString()))).toPlainString(); - String gsUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("gs"))).toPlainString(); - // 失业 - String syeAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syeItemId.toString()))).toPlainString(); - String syeUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sye"))).toPlainString(); + // 社保合计 + String sbAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(grjnheItemId.toString()))).toPlainString(); + String sbUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sbgrjnhj"))).toPlainString(); + String ce = new BigDecimal(sbUf).subtract(new BigDecimal(sbAcct)).toPlainString(); // 人数 String empNumsAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get("empNums"))).toPlainString(); String empNumsUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("empNums"))).toPlainString(); @@ -2242,11 +2274,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport sbSql.append(salaryMonth).append("','") .append(gmgsId).append("',") .append(empNumsUf).append(",").append(empNumsAcct).append(",") - .append(ylUf).append(",").append(ylAcct).append(",") - .append(yliaoUf).append(",").append(yliaoAcct).append(",") - .append(syUf).append(",").append(syAcct).append(",") - .append(gsUf).append(",").append(gsAcct).append(",") - .append(syeUf).append(",").append(syeAcct) + .append(sbUf).append(",").append(sbAcct).append(",").append(ce) .append("),"); } rs.execute(sbSql.substring(0,sbSql.length()-1).toString()); @@ -2361,7 +2389,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport for (List part : partition) { // 插入对比数据 StringBuilder sbSql = new StringBuilder("insert into uf_dbhzbgjj(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime," + - "yf,gmgs,gjjdrrs,xcffrs,gjjdrsj,gjjxcff) values "); + "yf,gmgs,gjjdrrs,xcffrs,gjjdrsj,gjjxcff,ce) values "); for (String gmgs : part) { String gmgsId = frztNameMap.get(gmgs); Map acctSumMap = acctSbSumByGsMap.getOrDefault(gmgs, new HashMap<>()); @@ -2369,6 +2397,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 公积金 String gjjAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(gjjItemId.toString()))).toPlainString(); String gjjUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("gjj"))).toPlainString(); + String ce = new BigDecimal(gjjUf).subtract(new BigDecimal(gjjAcct)).toPlainString(); // 人数 String empNumsAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get("empNums"))).toPlainString(); String empNumsUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("empNums"))).toPlainString(); @@ -2376,7 +2405,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport sbSql.append(salaryMonth).append("','") .append(gmgsId).append("',") .append(empNumsUf).append(",").append(empNumsAcct).append(",") - .append(gjjUf).append(",").append(gjjAcct) + .append(gjjUf).append(",").append(gjjAcct).append(",").append(ce) .append("),"); } rs.execute(sbSql.substring(0,sbSql.length()-1).toString()); @@ -2433,26 +2462,31 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport for (Map.Entry> entry : ufSbInfoGroupMap.entrySet()) { List valueList = entry.getValue(); HashMap singelGsSumMap = new HashMap<>(); - // 养老 - BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxgrjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// // 养老 +// BigDecimal ylSum = valueList.stream().map(UfSbInfo::getYlbxgrjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("yl", ylSum); +// // 医疗 +// BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("yliao", yliaoSum); +// // 生育 +// BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("sy", sySum); +// // 工伤 +// BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("gs", gsSum); +// // 失业 +// BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) +// .reduce(new BigDecimal("0"), BigDecimal::add); +// singelGsSumMap.put("sye", syeSum); + + // 社保个人缴纳合计 + BigDecimal sbgrjnhjSum = valueList.stream().map(UfSbInfo::getSbgrjnhj).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("yl", ylSum); - // 医疗 - BigDecimal yliaoSum = valueList.stream().map(UfSbInfo::getYlbxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("yliao", yliaoSum); - // 生育 - BigDecimal sySum = valueList.stream().map(UfSbInfo::getSybxdwjn1).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("sy", sySum); - // 工伤 - BigDecimal gsSum = valueList.stream().map(UfSbInfo::getGsbxdwjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("gs", gsSum); - // 失业 - BigDecimal syeSum = valueList.stream().map(UfSbInfo::getSybxgrjn).filter(value -> value != null).map(value -> value.toString()).map(BigDecimal::new) - .reduce(new BigDecimal("0"), BigDecimal::add); - singelGsSumMap.put("sye", syeSum); + singelGsSumMap.put("sbgrjnhj", sbgrjnhjSum); String[] splitKey = entry.getKey().split("_split"); String gmgs = splitKey.length > 0 ? splitKey[0] : ""; Long empId = splitKey.length > 1 && NumberUtils.isCreatable(splitKey[1]) ? Long.valueOf(splitKey[1]) : 0; @@ -2463,12 +2497,14 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport BaseBean baseBean = new BaseBean(); List salaryItemIdList = new ArrayList<>(); Long gmgsItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sbgmgs_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sbgmgs_item_id")) : 0L; - Long ylItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) : 0L; - Long yliaoItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) : 0L; - Long syItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) : 0L; - Long gsItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) : 0L; - Long syeItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) : 0L; - salaryItemIdList.addAll(Arrays.asList(gmgsItemId,ylItemId,yliaoItemId,syItemId,gsItemId,syeItemId)); +// Long ylItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_ylbx_item_id")) : 0L; +// Long yliaoItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_yliaobx_item_id")) : 0L; +// Long syItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_sybx_item_id")) : 0L; +// Long gsItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_gsbx_item_id")) : 0L; +// Long syeItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_syebx_item_id")) : 0L; +// salaryItemIdList.addAll(Arrays.asList(gmgsItemId,ylItemId,yliaoItemId,syItemId,gsItemId,syeItemId)); + Long grjnheItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "dbhz_sb_grjnhj_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "dbhz_sb_grjnhj_item_id")) : 0L; + salaryItemIdList.addAll(Arrays.asList(gmgsItemId,grjnheItemId)); List salaryItemList = getSalaryItemService(user).listByIds(salaryItemIdList); // 查询核算账套 @@ -2504,34 +2540,41 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport boolean hasDiff = false; Map acctSumMap = acctSbSumByGsMap.getOrDefault(key, new HashMap<>()); Map ufSumMap = ufSbSumByGsMap.getOrDefault(key, new HashMap<>()); - // 养老 - BigDecimal ylAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(ylItemId.toString()))); - BigDecimal ylUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yl"))); - if (ylAcct.compareTo(ylUf) != 0) { - hasDiff = true; - } - // 医疗 - BigDecimal yliaoAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(yliaoItemId.toString()))); - BigDecimal yliaoUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yliao"))); - if (yliaoAcct.compareTo(yliaoUf) != 0) { - hasDiff = true; - } - // 生育 - BigDecimal syAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syItemId.toString()))); - BigDecimal syUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sy"))); - if (syAcct.compareTo(syUf) != 0) { - hasDiff = true; - } - // 工伤 - BigDecimal gsAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(gsItemId.toString()))); - BigDecimal gsUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("gs"))); - if (gsAcct.compareTo(gsUf) != 0) { - hasDiff = true; - } - // 失业 - BigDecimal syeAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syeItemId.toString()))); - BigDecimal syeUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sye"))); - if (syeAcct.compareTo(syeUf) != 0) { +// // 养老 +// BigDecimal ylAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(ylItemId.toString()))); +// BigDecimal ylUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yl"))); +// if (ylAcct.compareTo(ylUf) != 0) { +// hasDiff = true; +// } +// // 医疗 +// BigDecimal yliaoAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(yliaoItemId.toString()))); +// BigDecimal yliaoUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("yliao"))); +// if (yliaoAcct.compareTo(yliaoUf) != 0) { +// hasDiff = true; +// } +// // 生育 +// BigDecimal syAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syItemId.toString()))); +// BigDecimal syUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sy"))); +// if (syAcct.compareTo(syUf) != 0) { +// hasDiff = true; +// } +// // 工伤 +// BigDecimal gsAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(gsItemId.toString()))); +// BigDecimal gsUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("gs"))); +// if (gsAcct.compareTo(gsUf) != 0) { +// hasDiff = true; +// } +// // 失业 +// BigDecimal syeAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(syeItemId.toString()))); +// BigDecimal syeUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sye"))); +// if (syeAcct.compareTo(syeUf) != 0) { +// hasDiff = true; +// } + + // 社保合计 + BigDecimal sbAcct = SalaryEntityUtil.empty2Zero(Utils.null2String(acctSumMap.get(grjnheItemId.toString()))); + BigDecimal sbUf = SalaryEntityUtil.empty2Zero(Utils.null2String(ufSumMap.get("sbgrjnhj"))); + if (sbAcct.compareTo(sbUf) != 0) { hasDiff = true; } @@ -2540,16 +2583,18 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport Long empId = splitKey.length > 1 && NumberUtils.isCreatable(splitKey[1]) ? Long.valueOf(splitKey[1]) : 0; if (hasDiff) { Map singleDiffMap = new HashMap<>(); - singleDiffMap.put("ylAcct", ylAcct); - singleDiffMap.put("ylUf", ylUf); - singleDiffMap.put("yliaoAcct", yliaoAcct); - singleDiffMap.put("yliaoUf", yliaoUf); - singleDiffMap.put("syAcct", syAcct); - singleDiffMap.put("syUf", syUf); - singleDiffMap.put("gsAcct", gsAcct); - singleDiffMap.put("gsUf", gsUf); - singleDiffMap.put("syeAcct", syeAcct); - singleDiffMap.put("syeUf", syeUf); +// singleDiffMap.put("ylAcct", ylAcct); +// singleDiffMap.put("ylUf", ylUf); +// singleDiffMap.put("yliaoAcct", yliaoAcct); +// singleDiffMap.put("yliaoUf", yliaoUf); +// singleDiffMap.put("syAcct", syAcct); +// singleDiffMap.put("syUf", syUf); +// singleDiffMap.put("gsAcct", gsAcct); +// singleDiffMap.put("gsUf", gsUf); +// singleDiffMap.put("syeAcct", syeAcct); +// singleDiffMap.put("syeUf", syeUf); + singleDiffMap.put("sbAcct", sbAcct); + singleDiffMap.put("sbUf", sbUf); singleDiffMap.put("xm", empId); if (empId.compareTo(Long.valueOf(Integer.MAX_VALUE)) == 1) { singleDiffMap.put("xm", 0); @@ -2573,18 +2618,23 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport rs.execute(deleteSql); for (List> part : partition) { // 插入对比数据 +// StringBuilder sbSql = new StringBuilder("insert into uf_sbcymxb(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime," + +// "yf,gmgs,xm,ylbxdrsj,ylbxxcff,yiliaobxdrsj,yiliaobxxcff,sybxdrsj,sybxxcff,gsbxdrsj,gsbxxcff,shiyebxdrsj,shiyebxxcff) values "); StringBuilder sbSql = new StringBuilder("insert into uf_sbcymxb(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime," + - "yf,gmgs,xm,ylbxdrsj,ylbxxcff,yiliaobxdrsj,yiliaobxxcff,sybxdrsj,sybxxcff,gsbxdrsj,gsbxxcff,shiyebxdrsj,shiyebxxcff) values "); + "yf,gmgs,xm,drje,gzkkje,ce) values "); for (Map map : part) { + BigDecimal sbUf = (BigDecimal)map.get("sbUf"); + BigDecimal sbAcct = (BigDecimal)map.get("sbAcct"); sbSql.append("(").append(modeId).append(",1,0,").append(currDate).append(",").append(currTime).append(",'"); sbSql.append(salaryMonth).append("','") .append(map.get("gmgs")).append("',") .append(map.get("xm")).append(",") - .append(map.get("ylUf")).append(",").append(map.get("ylAcct")).append(",") - .append(map.get("yliaoUf")).append(",").append(map.get("yliaoAcct")).append(",") - .append(map.get("syUf")).append(",").append(map.get("syAcct")).append(",") - .append(map.get("gsUf")).append(",").append(map.get("gsAcct")).append(",") - .append( map.get("syeUf")).append(",").append(map.get("syeAcct")) +// .append(map.get("ylUf")).append(",").append(map.get("ylAcct")).append(",") +// .append(map.get("yliaoUf")).append(",").append(map.get("yliaoAcct")).append(",") +// .append(map.get("syUf")).append(",").append(map.get("syAcct")).append(",") +// .append(map.get("gsUf")).append(",").append(map.get("gsAcct")).append(",") + .append(sbUf.toPlainString()).append(",").append(sbAcct.toPlainString()).append(",") + .append(sbUf.subtract(sbAcct).toPlainString()) .append("),"); } rs.execute(sbSql.substring(0,sbSql.length()-1).toString()); @@ -2730,13 +2780,16 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport for (List> part : partition) { // 插入对比数据 StringBuilder sbSql = new StringBuilder("insert into uf_gjjcymxb(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime," + - "yf,gmgs,xm,gjjdrsj,gjjxcff) values "); + "yf,gmgs,xm,gjjdrsj,gjjxcff,ce) values "); for (Map map : part) { + BigDecimal gjjUf = (BigDecimal)map.get("gjjUf"); + BigDecimal gjjAcct = (BigDecimal)map.get("gjjAcct"); sbSql.append("(").append(modeId).append(",1,0,").append(currDate).append(",").append(currTime).append(",'"); sbSql.append(salaryMonth).append("','") .append(map.get("gmgs")).append("',") .append(map.get("xm")).append(",") - .append(map.get("gjjUf")).append(",").append(map.get("gjjAcct")) + .append(gjjUf.toPlainString()).append(",").append(gjjAcct.toPlainString()) + .append(",").append(gjjUf.subtract(gjjAcct).toPlainString()) .append("),"); } rs.execute(sbSql.substring(0,sbSql.length()-1).toString());