diff --git a/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java b/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java index a1923a9a3..e5178aaaf 100644 --- a/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java @@ -11,6 +11,7 @@ import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultDetailDTO; import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultListColumnDTO; import com.engine.salary.entity.salaryacct.param.*; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; +import com.engine.salary.entity.salarysob.dto.SalaryApprovalDTO; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.*; import com.engine.salary.service.impl.*; @@ -26,6 +27,7 @@ import org.apache.commons.lang.math.NumberUtils; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.hrm.User; +import weaver.wechat.util.Utils; import java.math.BigDecimal; import java.util.*; @@ -298,6 +300,13 @@ public class SalaryAcctResultWrapper extends Service implements SalaryAcctResult public List> sumSalaryAcctResult4jtMobileField(SalaryAcctResultQueryParam queryParam) { ValidUtil.doValidator(queryParam); + // 获取审批有哪些薪资项目 + SalaryApprovalDTO approvalInfoByRecordId = getSalaryApprovalRuleService(user).getApprovalInfoByRecordId(queryParam.getSalaryAcctRecordIds().get(0)); + if (approvalInfoByRecordId == null) { + return new ArrayList<>(); + } + List approvalItemIds = approvalInfoByRecordId.getApprovalItemGroup().stream().map(SalaryApprovalDTO.approvalItemGroup::getApprovalItems) + .flatMap(Collection::stream).map(item -> Utils.null2String(item.getSalaryItemId())).collect(Collectors.toList()); // 获取移动端需要展示哪些字段 RecordSet rs = new RecordSet(); rs.execute("select lcbdzdsjkm,sxzxm from uf_xzxmysb"); @@ -305,7 +314,9 @@ public class SalaryAcctResultWrapper extends Service implements SalaryAcctResult while (rs.next()) { String zdm = rs.getString("lcbdzdsjkm"); String sxzxm = rs.getString("sxzxm"); - relationMap.put(zdm, sxzxm); + if (approvalItemIds.contains(sxzxm)) { + relationMap.put(zdm, sxzxm); + } } List> dataList = new ArrayList<>();