diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 46e438f45..9d612f44f 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -1327,20 +1327,23 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe } Long ygxzItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "ygxz_item_id")); Long kebItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "kb_item_id")); - Long shijItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "shij_item_id")); - Long bingjItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "bingj_item_id")); + + + // Long shijItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "shij_item_id")); + // Long bingjItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "bingj_item_id")); Long qingjItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "qingj_item_id")); - Long sangjItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "sangj_item_id")); + // Long sangjItemId = SalaryEntityUtil.string2Long(baseBean.getPropValue("czgymtSalaryReport", "sangj_item_id")); + + List needShowInQjItemIds = Arrays.stream(baseBean.getPropValue("czgymtSalaryReport", "need_show_item_ids_in_qj").split(",")) + .filter(NumberUtils::isCreatable).map(Long::valueOf).collect(Collectors.toList()); List otherItemIds = Arrays.stream(baseBean.getPropValue("czgymtSalaryReport", "need_sum_item_ids_in_qj").split(",")) .filter(NumberUtils::isCreatable).map(Long::valueOf).collect(Collectors.toList()); List salaryItemIdList = new ArrayList<>(); + salaryItemIdList.add(ygxzItemId); salaryItemIdList.addAll(reportItemIds); - salaryItemIdList.add(shijItemId == null ? 0L : shijItemId); - salaryItemIdList.add(bingjItemId == null ? 0L : bingjItemId); - salaryItemIdList.add(qingjItemId == null ? 0L : qingjItemId); - salaryItemIdList.add(sangjItemId == null ? 0L : sangjItemId); + salaryItemIdList.addAll(needShowInQjItemIds); salaryItemIdList.addAll(otherItemIds); salaryItemIdList.add(kebItemId == null ? 0L : kebItemId); salaryItemIdList = salaryItemIdList.stream().filter(id -> id != null).distinct().collect(Collectors.toList()); @@ -1362,10 +1365,12 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe // 处理请假字段 for (Map map : acctResultMap) { StringBuilder qjSb = new StringBuilder(); - qjSb.append(Utils.null2String(salaryItemMap.get(qingjItemId))).append(Utils.null2String(map.get(Utils.null2String(qingjItemId)))).append(" ") - .append(Utils.null2String(salaryItemMap.get(shijItemId))).append(Utils.null2String(map.get(Utils.null2String(shijItemId)))).append(" ") - .append(Utils.null2String(salaryItemMap.get(bingjItemId))).append(Utils.null2String(map.get(Utils.null2String(bingjItemId)))).append(" ") - .append(Utils.null2String(salaryItemMap.get(sangjItemId))).append(Utils.null2String(map.get(Utils.null2String(sangjItemId)))).append(" "); + for (Long qjItemId : needShowInQjItemIds) { + String value = Utils.null2String(map.get(Utils.null2String(qjItemId))); + if (StringUtils.isNotBlank(value) && NumberUtils.isCreatable(value) && (new BigDecimal(value).compareTo(BigDecimal.ZERO) != 0) ) { + qjSb.append(Utils.null2String(salaryItemMap.get(qjItemId))).append(value).append(" "); + } + } BigDecimal sumVal = new BigDecimal("0"); for (Long id : otherItemIds) { @@ -1374,7 +1379,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe sumVal = sumVal.add(new BigDecimal(value)); } } - qjSb.append("其他").append(sumVal.toString()); + if (sumVal.compareTo(BigDecimal.ZERO) != 0) { + qjSb.append("其他").append(sumVal.toString()); + } map.put(Utils.null2String(qingjItemId), qjSb.toString()); String kebId = Utils.null2String(map.get(kebItemId.toString())); String kebName = departmentNameMap.getOrDefault(SalaryEntityUtil.string2Long(kebId), ""); @@ -1382,14 +1389,15 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe } if (CollectionUtils.isNotEmpty(param.getKbIds())) { - acctResultMap = acctResultMap.stream().filter(map -> param.getKbIds().contains(Utils.null2String(map.get(kebItemId.toString())))).collect(Collectors.toList()); + List kbList = param.getKbIds().stream().filter(kbid -> kbid != null).map(kbid -> String.valueOf(kbid)).collect(Collectors.toList()); + acctResultMap = acctResultMap.stream().filter(map -> kbList.contains(Utils.null2String(map.get(kebItemId.toString())))).collect(Collectors.toList()); } if (CollectionUtils.isNotEmpty(param.getYgxzs())) { List ygxzList = new ArrayList<>(); - rs.execute("select id,name from hrmusekind and id in (" + StringUtils.join(param.getYgxzs(), ",") + ")"); + rs.execute("select id,name from hrmusekind where id in (" + StringUtils.join(param.getYgxzs(), ",") + ")"); while (rs.next()) { - ygxzList.add(rs.getString("name")); + ygxzList.add(rs.getString("id")); } acctResultMap = acctResultMap.stream().filter(map -> ygxzList.contains(Utils.null2String(map.get(ygxzItemId.toString())))).collect(Collectors.toList()); } @@ -1525,16 +1533,17 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe List salaryItems = salaryItemPOList.stream().filter(itemPO -> finalSalaryItemIdList.contains(itemPO.getId())).collect(Collectors.toList()); List> acctResultMap = SalaryAcctResultBO.buildData4Gymt(salaryItems, salarySobEmpFields, employeeList, salaryAcctEmployeePOList, acctResultList, param.getSalaryMonth() ,false); if (CollectionUtils.isNotEmpty(param.getKbIds())) { - List deptInfoList = getSalaryEmployeeService(user).getDeptInfoList(param.getKbIds()); - List depNames = deptInfoList.stream().map(DeptInfo::getName).collect(Collectors.toList()); - acctResultMap = acctResultMap.stream().filter(map -> depNames.contains(Utils.null2String(map.get(kebItemId.toString())))).collect(Collectors.toList()); + List kbList = param.getKbIds().stream().filter(kbid -> kbid != null).map(kbid -> String.valueOf(kbid)).collect(Collectors.toList()); + // List deptInfoList = getSalaryEmployeeService(user).getDeptInfoList(param.getKbIds()); + // List depNames = deptInfoList.stream().map(DeptInfo::getName).collect(Collectors.toList()); + acctResultMap = acctResultMap.stream().filter(map -> kbList.contains(Utils.null2String(map.get(kebItemId.toString())))).collect(Collectors.toList()); } if (CollectionUtils.isNotEmpty(param.getYgxzs())) { List ygxzList = new ArrayList<>(); - rs.execute("select id,name from hrmusekind and id in (" + StringUtils.join(param.getYgxzs(), ",") + ")"); + rs.execute("select id,name from hrmusekind where id in (" + StringUtils.join(param.getYgxzs(), ",") + ")"); while (rs.next()) { - ygxzList.add(rs.getString("name")); + ygxzList.add(rs.getString("id")); } acctResultMap = acctResultMap.stream().filter(map -> ygxzList.contains(Utils.null2String(map.get(ygxzItemId.toString())))).collect(Collectors.toList()); } diff --git a/src/com/engine/salary/web/AttendQuoteController.java b/src/com/engine/salary/web/AttendQuoteController.java index 5e0f1464c..86681821b 100644 --- a/src/com/engine/salary/web/AttendQuoteController.java +++ b/src/com/engine/salary/web/AttendQuoteController.java @@ -239,6 +239,14 @@ public class AttendQuoteController { return new ResponseResult>>(user).run(getAttendQuoteWrapper(user)::selectSalarySobList); } + @GET + @Path("/allSalarySobList") + @Produces(MediaType.APPLICATION_JSON) + public String allSalarySobList(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>>(user).run(getAttendQuoteWrapper(user)::allSalarySobList); + } + /** * 删除考勤数据 diff --git a/src/com/engine/salary/wrapper/AttendQuoteWrapper.java b/src/com/engine/salary/wrapper/AttendQuoteWrapper.java index d0baa414f..b7fa733e7 100644 --- a/src/com/engine/salary/wrapper/AttendQuoteWrapper.java +++ b/src/com/engine/salary/wrapper/AttendQuoteWrapper.java @@ -147,6 +147,19 @@ public class AttendQuoteWrapper extends Service { }).collect(Collectors.toList()); } + public List> allSalarySobList() { + // 查询所有启用的薪资账套 + List salarySobs = getSalarySobService(user).listAll(); + salarySobs = salarySobs.stream().filter(sob -> sob.getDisable().equals(NumberUtils.INTEGER_ZERO)).collect(Collectors.toList());; + + return salarySobs.stream().map(m -> { + Map map = new HashMap<>(2); + map.put("id", String.valueOf(m.getId())); + map.put("content", m.getName()); + return map; + }).collect(Collectors.toList()); + } + /** * 删除考勤引用 *