ly 1 рік тому
батько
коміт
3b923d4ed3

+ 26 - 9
src/main/java/cn/ezhizao/project/business/salary/controller/BizFinancialSalaryZeroController.java

@@ -36,6 +36,7 @@ import cn.ezhizao.project.business.workOrder.domain.BizWorkOrderRecord;
 import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderRecordService;
 import cn.ezhizao.project.system.domain.SysUser;
 import cn.ezhizao.project.system.mapper.SysUserMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.tomcat.jni.Lock;
 import org.springframework.beans.BeanUtils;
@@ -49,10 +50,8 @@ import javax.servlet.http.HttpServletResponse;
 import java.lang.reflect.Field;
 import java.sql.Timestamp;
 import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -433,7 +432,16 @@ public class BizFinancialSalaryZeroController extends BaseController {
         //零申报
         bizFinancialSalary.setIsZero(1);
         //查询数据
-        List<BizFinancialSalary> list = bizFinancialSalaryService.getList(bizFinancialSalary);
+//        List<BizFinancialSalary> list = bizFinancialSalaryService.getList(bizFinancialSalary);
+        List<BizFinancialSalary> list = bizFinancialSalaryService.getList2(bizFinancialSalary);
+        //优化
+        Map<String, BizFinancialSalaryDetail> detailMap = bizFinancialSalaryDetailService
+                .list(new LambdaQueryWrapper<BizFinancialSalaryDetail>().eq(BizFinancialSalaryDetail::getDeleted, 0))
+                .stream().collect(Collectors.toMap(d -> d.getFinancialSalaryId() + d.getYear() + d.getMonth(),
+                        Function.identity(), (d1, d2) -> d1));
+        List<SysUser> sysUsers = sysUserMapper.selectUserList(new SysUser());
+        Map<Long, SysUser> userMap = sysUsers.stream().collect(Collectors.toMap(user -> user.getUserId(), Function.identity()));
+
         //设置状态和当前期间
         for (BizFinancialSalary salary : list) {
             //设置当前期间
@@ -443,13 +451,22 @@ public class BizFinancialSalaryZeroController extends BaseController {
             salaryDetail.setYear(bizFinancialSalary.getYear());
             salaryDetail.setMonth(bizFinancialSalary.getMonth());
             //查询当前期间明细
-            List<BizFinancialSalaryDetail> bizFinancialSalaryDetails = bizFinancialSalaryDetailService.getList(salaryDetail);
-            if (bizFinancialSalaryDetails.size() == 0) {
+//            List<BizFinancialSalaryDetail> bizFinancialSalaryDetails = bizFinancialSalaryDetailService.getList(salaryDetail);
+            String query = salary.getId() + bizFinancialSalary.getYear() + bizFinancialSalary.getMonth();
+//            if (bizFinancialSalaryDetails.size() == 0) {
+//                salaryDetail.setStatus(0);
+//                salary.setServiceName("");
+//            } else {
+//                salaryDetail = bizFinancialSalaryDetails.get(0);
+//                SysUser sysUser = sysUserMapper.selectUserById(salaryDetail.getVerifierId());
+//                salary.setServiceName(sysUser == null ? "" : sysUser.getNickName());
+//            }
+            if (detailMap.get(query) == null) {
                 salaryDetail.setStatus(0);
                 salary.setServiceName("");
             } else {
-                salaryDetail = bizFinancialSalaryDetails.get(0);
-                SysUser sysUser = sysUserMapper.selectUserById(salaryDetail.getVerifierId());
+                salaryDetail = detailMap.get(query);
+                SysUser sysUser = userMap.getOrDefault(salaryDetail.getVerifierId(), null);
                 salary.setServiceName(sysUser == null ? "" : sysUser.getNickName());
             }
             //设置状态