diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java index 65e6d2250..05d7dc5e2 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java @@ -443,36 +443,36 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements // 获取统计数据 List listProfit=emisCommissionProfitMapper.selectProfitStatList(empName,billMonth); - // 如果指定了empName,需要处理该员工在数据库中存在但listProfit中不存在的月份记录 + // 需要处理数据库中存在但listProfit中不存在的月份记录(无论是否指定empName) + // 查询数据库中符合条件的记录 + EmisCommissionProfit queryParam = new EmisCommissionProfit(); if(StringUtils.isNotEmpty(empName)) { - // 查询数据库中该员工的所有月份记录 - EmisCommissionProfit queryParam = new EmisCommissionProfit(); queryParam.setEmpName(empName); - if(StringUtils.isNotEmpty(billMonth)) { - queryParam.setBillMonth(billMonth); - } - List existingProfits = emisCommissionProfitMapper.selectEmisCommissionProfitList(queryParam); + } + if(StringUtils.isNotEmpty(billMonth)) { + queryParam.setBillMonth(billMonth); + } + List existingProfits = emisCommissionProfitMapper.selectEmisCommissionProfitList(queryParam); - // 遍历现有记录,检查是否在新统计中存在 - for(EmisCommissionProfit existingProfit : existingProfits) { - boolean found = false; - for(EmisCommissionProfit newProfit : listProfit) { - if(existingProfit.getEmpName().equals(newProfit.getEmpName()) - && existingProfit.getBillMonth().equals(newProfit.getBillMonth())) { - found = true; - break; - } - } - // 如果在新统计中不存在,则添加一条金额为0的记录 - if(!found) { - EmisCommissionProfit zeroProfit = new EmisCommissionProfit(); - zeroProfit.setEmpName(existingProfit.getEmpName()); - zeroProfit.setBillMonth(existingProfit.getBillMonth()); - zeroProfit.setMoney(BigDecimal.ZERO); - zeroProfit.setMonthMoney(BigDecimal.ZERO); - listProfit.add(zeroProfit); + // 遍历现有记录,检查是否在新统计中存在 + for(EmisCommissionProfit existingProfit : existingProfits) { + boolean found = false; + for(EmisCommissionProfit newProfit : listProfit) { + if(existingProfit.getEmpName().equals(newProfit.getEmpName()) + && existingProfit.getBillMonth().equals(newProfit.getBillMonth())) { + found = true; + break; } } + // 如果在新统计中不存在,则添加一条金额为0的记录 + if(!found) { + EmisCommissionProfit zeroProfit = new EmisCommissionProfit(); + zeroProfit.setEmpName(existingProfit.getEmpName()); + zeroProfit.setBillMonth(existingProfit.getBillMonth()); + zeroProfit.setMoney(BigDecimal.ZERO); + zeroProfit.setMonthMoney(BigDecimal.ZERO); + listProfit.add(zeroProfit); + } } // 更新或插入提成记录