From 3647aa5008055528f075ee73002542a1399575ae Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 19 三月 2025 14:45:39 +0800
Subject: [PATCH] 单点登录调整

---
 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java |  329 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 179 insertions(+), 150 deletions(-)

diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
index d8974a9..7eddef7 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -4,13 +4,16 @@
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson2.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.core.toolkit.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.entity.User;
 import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
 import com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto;
 import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
@@ -20,6 +23,7 @@
 import com.ruoyi.performance.service.AuxiliaryOutputWorkingHoursService;
 import com.ruoyi.system.mapper.UserMapper;
 import org.apache.commons.math3.analysis.function.Power;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -27,10 +31,7 @@
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -53,118 +54,194 @@
     @Resource
     UserMapper userMapper;
 
+
     @Override
     public IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
-        String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
+        auxiliaryOutputWorkingHoursDto.setWeekDay(weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay() : ""));
+        String dateTime1 = auxiliaryOutputWorkingHoursDto.getDateTime1();
+        String dateTime2 = auxiliaryOutputWorkingHoursDto.getDateTime2();
+        AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
+        BeanUtils.copyProperties(auxiliaryOutputWorkingHoursDto, auxiliaryOutputWorkingHours);
         String week = auxiliaryOutputWorkingHoursDto.getWeek();
         auxiliaryOutputWorkingHoursDto.setDateTime(null);
         auxiliaryOutputWorkingHoursDto.setWeek(null);
+        Map<String, Object> map = new HashMap<>();
         List<Integer> ids = new ArrayList<>();
-        if (ids.size() == 0) {
-            ids = null;
+        //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄�
+        User user = userMapper.selectById(Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString()));
+
+        List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, auxiliaryOutputWorkingHoursDto.getName()));
+        if(CollectionUtils.isNotEmpty(users)) {
+            ids = users.stream().map(User::getId).distinct().collect(Collectors.toList());
         }
-        if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
+
+
+        IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = null;
+        if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) {
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
-                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
+             auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours)
+                            .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59")
                             .ge("week", weeks[0]).le("week", weeks[1]), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
-        } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
-                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
+            map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
+        } else if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isEmpty(week)) {
+            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours)
+                            .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59"), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
-        } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
+            map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
+        } else if (StringUtils.isEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) {
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
-                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
+             auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+                    QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours)
                             .ge("week", weeks[0]).le("week", weeks[1]), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
+            map.put("body", auxiliaryOutputWorkingHoursDtoIPage);
         } else {
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
+            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
         }
+        return auxiliaryOutputWorkingHoursDtoIPage;
     }
 
-    //缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨��
-    @Override
-    public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
-        AuxiliaryOutputWorkingHours outputWorkingHours = new AuxiliaryOutputWorkingHours();
-        AuxiliaryWorkingHoursDay workingHoursDay = new AuxiliaryWorkingHoursDay();
-        List<Integer> ids = new ArrayList<>();
-        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){
-            outputWorkingHours.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
-            workingHoursDay.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
-        }
-        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName())){
-            List<User> user = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, auxiliaryOutputWorkingHoursDto.getName()));
-            ids.addAll(user.stream().map(User::getId).collect(Collectors.toList()));
-        }
-        String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
-        auxiliaryOutputWorkingHoursDto.setDateTime(null);
-        Map<String, Object> map = new HashMap<>();
-        BigDecimal sumOutputWorkTime = BigDecimal.ZERO;
-        BigDecimal sumApprovedWorkingHour = BigDecimal.ZERO;
 
-        //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳
-        List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = new ArrayList<>();
-        List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = new ArrayList<>();
-        if (ids.size() == 0) {
-            ids=null;
-        }
-        if (ObjectUtils.isNotEmpty(dates)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
-            auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours)
-                    .ge("date_time", split[0])
-                    .le("date_time", split[1] + " 23:59:59"),ids);
-            //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃�
-            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay)
-                    .eq("state","宸叉壒鍑�")
-                    .ge("date_time", split[0])
-                    .le("date_time", split[1] + " 23:59:59"),ids);
-        }else if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){
-            //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
-            auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours),ids);
-            //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃�
-            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay).eq("state","宸叉壒鍑�"),ids);
-        }
-        else {
-            auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids);
-            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids);
-        }
-        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours)) {
-            Map<String, BigDecimal> sumMap = new HashMap<>();
-            for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHour : auxiliaryOutputWorkingHours) {
-                if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample())) {
-                    sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample(), auxiliaryOutputWorkingHour.getOutputWorkTime());
-                }
+    @Override
+    public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto){
+        // 杩斿洖鐨勭粨鏋�
+        Map<String, Object> map = new HashMap<>();
+
+        // 鍒ゆ柇褰撳墠浜虹殑鏉冮檺 鏄惁鍙煡鐪嬪浜�
+        List<Integer> ids = getCurrentGroupUserIds(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName()) ? auxiliaryOutputWorkingHoursDto.getName() : "");
+
+        String dateTime = auxiliaryOutputWorkingHoursDto.getDateTime();
+        String startTime = "";
+        String endTime = "";
+        if(StringUtils.isNotEmpty(dateTime)) {
+            List<String> list = JSONArray.parseArray(dateTime, String.class);
+            if(list.size() == 1) {
+                list = JSONArray.parseArray(list.get(0), String.class);
             }
-            sumOutputWorkTime = sumMap.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add);
+            startTime = list.get(0)+ " 00:00:00";
+            endTime = list.get(1)+ " 23:59:59";
         }
-        map.put("浜ч噺宸ユ椂姹囨��", sumOutputWorkTime);
-        if (ObjectUtils.isNotEmpty(auxiliaryWorkingHoursDays)) {
-            for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) {
-//                sumApprovedWorkingHour = sumApprovedWorkingHour.add(auxiliaryWorkingHoursDay.getReviewerNonproductiveTime());//澶嶆牳宸ユ椂
+        String weekConvert = weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay()  : ""  ); // 鍛ㄦ杞崲
+        // 鏍规嵁鏉′欢鑾峰彇鏁版嵁
+        List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectList(new QueryWrapper<AuxiliaryOutputWorkingHours>()
+                .in(CollectionUtils.isNotEmpty(ids), "check_id", ids)
+                .like(StringUtils.isNotBlank(auxiliaryOutputWorkingHoursDto.getWeekDay()), "week_day", weekConvert)
+                .between(StringUtils.isNotEmpty(dateTime),"date_time", startTime, endTime));
+
+        // 1.浜ч噺宸ユ椂姹囨��
+        // 鏍规嵁濮旀墭缂栧彿銆佹牱鍝佺紪鍙枫�佸伐鏃跺垎缁� 鏉ヨ繘琛屽垎缁勭粺璁�
+        // 鍔犵彮鐨勫伐鏃舵眹鎬�
+        BigDecimal overTime = BigDecimal.ZERO;
+        // 杩囨护鍑哄姞鐝殑宸ユ椂
+        List<AuxiliaryOutputWorkingHours> overFilter = auxiliaryOutputWorkingHours.stream()
+                .filter(item -> Objects.nonNull(item.getOvertimeOrderNo()) && StringUtils.isNotEmpty(item.getOvertimeOrderNo()))
+                .collect(Collectors.toList());
+        Map<String, List<AuxiliaryOutputWorkingHours>> collect = overFilter.stream()
+                .collect(Collectors.groupingBy(item -> item.getOvertimeOrderNo() + "@" + item.getSample() + "@" + item.getManHourGroup()));
+        Iterator<Map.Entry<String, List<AuxiliaryOutputWorkingHours>>> iterator = collect.entrySet().iterator();
+        while (iterator.hasNext()) {
+            Map.Entry<String, List<AuxiliaryOutputWorkingHours>> entry = iterator.next();
+            // 鍚屼竴鍒嗙粍涓嬬殑鍙渶瑕佺畻涓�娆�
+            overTime = add(overTime, BigDecimal.valueOf(entry.getValue().get(0).getOvertimeWorkTime()));
+        }
+        // 闈炲姞鐝殑宸ユ椂姹囨��
+        BigDecimal workTime = BigDecimal.ZERO;
+        List<AuxiliaryOutputWorkingHours> workFilter = auxiliaryOutputWorkingHours.stream()
+                .filter(item -> Objects.nonNull(item.getOrderNo()) && StringUtils.isNotEmpty(item.getOrderNo()))
+                .collect(Collectors.toList());
+        Map<String, List<AuxiliaryOutputWorkingHours>> collect1 = workFilter.stream()
+                .collect(Collectors.groupingBy(item -> item.getOrderNo() + "@" + item.getSample() + "@" + item.getManHourGroup()));
+        Iterator<Map.Entry<String, List<AuxiliaryOutputWorkingHours>>> iterator1 = collect1.entrySet().iterator();
+        while (iterator1.hasNext()) {
+            Map.Entry<String, List<AuxiliaryOutputWorkingHours>> entry = iterator1.next();
+            workTime = add(workTime, BigDecimal.valueOf(entry.getValue().get(0).getOutputWorkTime()));
+        }
+        BigDecimal outPutWorkTime = add(overTime, workTime);
+        // 2.杈呭姪宸ユ椂姹囨��
+        BigDecimal dayWorkTime = BigDecimal.ZERO;
+        List<AuxiliaryWorkingHoursDay> dayList = auxiliaryWorkingHoursDayMapper.selectList(new QueryWrapper<AuxiliaryWorkingHoursDay>()
+                .in(CollectionUtils.isNotEmpty(ids), "name_user", ids)
+                .like(StringUtils.isNotBlank(auxiliaryOutputWorkingHoursDto.getWeekDay()), "week_day", auxiliaryOutputWorkingHoursDto.getWeekDay())
+                .eq(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getState()), "state", auxiliaryOutputWorkingHoursDto.getState())
+                .between(StringUtils.isNotEmpty(dateTime),"date_time", startTime, endTime));
+
+        for (AuxiliaryWorkingHoursDay a  : dayList) {
+            if(ObjectUtils.isNull(a.getReviewerNonproductiveTime())) {
+                dayWorkTime = add(dayWorkTime, BigDecimal.ZERO);
+            }else {
+                dayWorkTime = add(dayWorkTime, BigDecimal.valueOf(a.getReviewerNonproductiveTime()));
             }
         }
-        map.put("杈呭姪宸ユ椂姹囨��", sumApprovedWorkingHour);
-        return map;
+        map.put("浜ч噺宸ユ椂姹囨��", outPutWorkTime);
+        map.put("杈呭姪宸ユ椂姹囨��", dayWorkTime);
+        return  map;
+    }
+
+
+    public  BigDecimal add(BigDecimal a, BigDecimal b){
+        return a.add(b);
+    }
+
+    // 鍛ㄦ杞崲
+    public String weekConvert(String week){
+        String weekDay = "";
+        switch (week) {
+            case "1":
+                weekDay = "鍛ㄤ竴";
+                break;
+            case "2":
+                weekDay = "鍛ㄤ簩";
+                break;
+            case "3":
+                weekDay = "鍛ㄤ笁";
+                break;
+            case "4":
+                weekDay = "鍛ㄥ洓";
+                break;
+            case "5":
+                weekDay = "鍛ㄤ簲";
+                break;
+            case "6":
+                weekDay = "鍛ㄥ叚";
+                break;
+            case "0":
+                weekDay = "鍛ㄦ棩";
+                break;
+        }
+        return weekDay;
+    }
+
+
+    /**
+     * 鑾峰彇褰撳墠鐢ㄦ埛缁勭粐鐨勭敤鎴穒d
+     * @return
+     */
+    private List<Integer> getCurrentGroupUserIds(){
+        return getCurrentGroupUserIds("");
+    }
+
+    private List<Integer> getCurrentGroupUserIds(String name){
+        List<Integer> ids = new ArrayList<>();
+        //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳锛屾牴鎹畆oleId(7:妫�楠屽憳锛�8:妫�楠岀粍闀�)
+        Integer userId = Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString());
+        User user = userMapper.selectById(userId);
+
+        //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅)
+        //涓嶆槸缁勯暱
+
+        return ids;
     }
 
     //瀵煎嚭
@@ -172,11 +249,25 @@
     public void exportWorkingHours(HttpServletResponse response) throws IOException {
         List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = new ArrayList<>();
         List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = new ArrayList<>();
-        List<Integer> ids = new ArrayList<>();
+        List<Integer> ids = getCurrentGroupUserIds();
         //鏌ヨ杈呭姪宸ユ椂
         auxiliaryWorkingHoursDayDtos = auxiliaryWorkingHoursDayMapper.selectDataByUser(ids);
         //鏌ヨ缁熻宸ユ椂
-        auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids);
+        auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids).stream().map(item -> {
+            if(Objects.isNull(item.getOvertimeWorkTime())) {
+                item.setOvertimeWorkTime((double)0);
+            }
+            if(Objects.isNull(item.getOvertimeAmount())) {
+                item.setOvertimeAmount(0);
+            }
+            if(Objects.isNull(item.getWorkTime())) {
+                item.setWorkTime((double)0);
+            }
+            if(Objects.isNull(item.getAmount())) {
+                item.setAmount(0);
+            }
+            return item;
+        }).collect(Collectors.toList());
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("UTF-8");
         // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
@@ -185,73 +276,11 @@
         try {
             // 鏂板缓ExcelWriter
             ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
-
             WriteSheet mainSheet = EasyExcel.writerSheet(0, "杈呭姪宸ユ椂瀵煎嚭").head(AuxiliaryWorkingHoursDayDto.class).build();
             excelWriter.write(auxiliaryWorkingHoursDayDtos, mainSheet);
-
             WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "浜ч噺宸ユ椂瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build();
             excelWriter.write(auxiliaryOutputWorkingHoursDtos, mainSheet1);
             // 鍏抽棴娴�
-            excelWriter.finish();
-        } catch (IOException e) {
-            throw new RuntimeException("瀵煎嚭澶辫触");
-        }
-    }
-
-    /**
-     * 瀵煎嚭浜ч噺宸ユ椂
-     * @param response
-     */
-    @Override
-    public void exportOutputHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto, HttpServletResponse response) {
-        //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
-        String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
-        String week = auxiliaryOutputWorkingHoursDto.getWeek();
-        auxiliaryOutputWorkingHoursDto.setDateTime(null);
-        auxiliaryOutputWorkingHoursDto.setWeek(null);
-
-        List<Integer> ids = new ArrayList<>();
-        String name = auxiliaryOutputWorkingHoursDto.getName();
-        if (ObjectUtils.isNotEmpty(name)) {
-            ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
-        }
-
-        List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = new ArrayList<>();
-        if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-
-        } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
-
-        } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-
-        } else {
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
-        }
-
-        try {
-            response.setContentType("application/vnd.ms-excel");
-            response.setCharacterEncoding("UTF-8");
-            // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
-            String fileName = URLEncoder.encode("浜ч噺宸ユ椂淇℃伅瀵煎嚭", "UTF-8");
-            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-            //鏂板缓ExcelWriter
-            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
-            //鑾峰彇sheet0瀵硅薄
-            WriteSheet mainSheet = EasyExcel.writerSheet(0, "浜ч噺宸ユ椂淇℃伅瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build();
-
-            //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶�
-            excelWriter.write(auxiliaryOutputWorkingHoursDtoIPage, mainSheet);
-            //鍏抽棴娴�
             excelWriter.finish();
         } catch (IOException e) {
             throw new RuntimeException("瀵煎嚭澶辫触");

--
Gitblit v1.9.3