万君筑天科技 部门报表需求变更
This commit is contained in:
parent
b0f87764ae
commit
b2f9e14b07
|
|
@ -69,6 +69,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|||
import org.springframework.util.StopWatch;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.hrm.User;
|
||||
import weaver.wechat.util.Utils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
|
@ -1300,6 +1301,23 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
|
||||
// 查询薪资核算人员
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeePOList = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()));
|
||||
// 二开 - 只统计名字中带“部”的,和 公司领导班子 部门
|
||||
BaseBean baseBean = new BaseBean();
|
||||
Long ldbzDepartmentId = NumberUtils.isCreatable(baseBean.getPropValue("wjztkjSalary", "gsldbz_department_id")) ? Long.valueOf(baseBean.getPropValue("wjztkjSalary", "gsldbz_department_id")) : 0L;
|
||||
// 获取领导班子部门名称
|
||||
DeptInfo ldbzDepartment = getSalaryEmployeeService(user).getDeptInfoById(ldbzDepartmentId);
|
||||
String ldbzDepartmentName = ldbzDepartment == null ? "" : ldbzDepartment.getName();
|
||||
|
||||
List<Long> needSumToLdbzDepartmentIds = Arrays.stream(baseBean.getPropValue("wjztkjSalary", "need_sum_to_gsldbz_department_ids").split(","))
|
||||
.filter(NumberUtils::isCreatable)
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
salaryAcctEmployeePOList = salaryAcctEmployeePOList.stream()
|
||||
.filter(acctEmp -> acctEmp.getDepartmentName().contains("部")
|
||||
|| needSumToLdbzDepartmentIds.contains(acctEmp.getDepartmentId())
|
||||
|| acctEmp.getDepartmentId().equals(ldbzDepartmentId))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isEmpty(salaryAcctEmployeePOList)) {
|
||||
return map;
|
||||
}
|
||||
|
|
@ -1337,6 +1355,13 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
});
|
||||
|
||||
List<Map<String, Object>> acctResultMap = SalaryAcctResultBO.buildData4Report(needSumItemList, salarySobEmpFields, employeeList, salaryAcctEmployeePOList, acctResultList, false);
|
||||
for (Map<String, Object> resultMap : acctResultMap) {
|
||||
Long departmentId = NumberUtils.isCreatable(Utils.null2String(resultMap.get("departmentId"))) ? Long.valueOf(Utils.null2String(resultMap.get("departmentId"))) : null;
|
||||
if (departmentId != null && needSumToLdbzDepartmentIds.contains(departmentId)) {
|
||||
resultMap.put("departmentId", ldbzDepartmentId);
|
||||
resultMap.put("departmentName", ldbzDepartmentName);
|
||||
}
|
||||
}
|
||||
// 根据部门分组
|
||||
Map<String, List<Map<String, Object>>> acctResultGroupMap = SalaryEntityUtil.group2Map(acctResultMap, resultMap -> resultMap.getOrDefault("departmentId", "").toString());
|
||||
LinkedHashMap<String, Map<String, Object>> sumResultByGroup = getSumResultByGroup(acctResultGroupMap, Collections.emptyList(), needSumItemList);
|
||||
|
|
|
|||
Loading…
Reference in New Issue