diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 17cfa15bb..33533ab7d 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -1867,14 +1867,14 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe List gwPltxDt1POS = getGwPltxDt1Service(user).listSome(GwPltxDt1PO.builder().mainid(param.getRequestId()).build()); // 获取能够管理的权限 List pltxEmployeeDTOS = getSalaryAcctExcelService(user).pltxFilterData(PltxInitEmployeeParam.builder().txcj(param.getTxcj()).spr(param.getSpr()).build()); - List canManageEmpIds = pltxEmployeeDTOS.stream().map(pltxEmployeeDTO::getEmployee).collect(Collectors.toList()); - if (!isCreator && CollectionUtils.isEmpty(canManageEmpIds)) { + List canManageEmps = pltxEmployeeDTOS.stream().map(DTO -> DTO.getGskjywr()+"_split"+DTO.getEmployee()).collect(Collectors.toList()); + if (!isCreator && CollectionUtils.isEmpty(canManageEmps)) { // 不是创建人也没有管理权限 return Collections.emptyList(); } if (!isCreator) { // 不是创建人,要分权 - gwPltxDt1POS = gwPltxDt1POS.stream().filter(po -> canManageEmpIds.contains(Long.valueOf(po.getXm()))).collect(Collectors.toList()); + gwPltxDt1POS = gwPltxDt1POS.stream().filter(po -> canManageEmps.contains(po.getGskjywr()+"_split"+po.getXm().toString())).collect(Collectors.toList()); } Map empMap = SalaryEntityUtil.convert2Map(getSalaryEmployeeService(user).listAll(UseEmployeeTypeEnum.ORG), DataCollectionEmployee::getEmployeeId); @@ -2038,9 +2038,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe Integer finalMainId = mainId; // 处理明细表1,先根据主表id查,再根据姓名更新 List dt1POS = getUfTxjlgljmbDt1Mapper().listSome(UfTxjlgljmbDt1PO.builder().mainid(mainId).build()); - Map dt1MapByXm = SalaryEntityUtil.convert2Map(dt1POS, UfTxjlgljmbDt1PO::getXm); + Map dt1MapByXm = SalaryEntityUtil.convert2Map(dt1POS, po -> po.getGskjywr() + "_split" + po.getXm()); saveParam.getDt1().stream().forEach(dt1 -> { - UfTxjlgljmbDt1PO dt1PO = dt1MapByXm.get(dt1.getXm()); + UfTxjlgljmbDt1PO dt1PO = dt1MapByXm.get(dt1.getGskjywr() + "_split" + dt1.getXm()); BigDecimal jbgzValue = (dt1.getJbgz() == null) ? new BigDecimal("0") : dt1.getJbgz(); BigDecimal dxValue = (dt1.getDx() == null) ? new BigDecimal("0") : dt1.getDx(); if (dt1PO == null) {