From 52d79c7e5a1fb4316f34886ec336f69f56d5edb2 Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期六, 15 三月 2025 10:48:46 +0800
Subject: [PATCH] 工时管理日工时管理以及辅助工时配置

---
 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java |  309 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 195 insertions(+), 114 deletions(-)

diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
index 55fa4c2..d6ed0ba 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
@@ -1,41 +1,47 @@
 package com.ruoyi.performance.service.impl;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 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.exception.base.BaseException;
 import com.ruoyi.common.utils.QueryWrappers;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto;
 import com.ruoyi.performance.dto.HoursDay;
 import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursDayMapper;
 import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursMapper;
 import com.ruoyi.performance.mapper.PerformanceShiftMapper;
+import com.ruoyi.performance.mapper.ShiftTimeMapper;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHoursDay;
 import com.ruoyi.performance.pojo.PerformanceShift;
+import com.ruoyi.performance.pojo.ShiftTime;
 import com.ruoyi.performance.service.AuxiliaryWorkingHoursDayService;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
 import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.ISysDictTypeService;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.math3.analysis.function.Power;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -55,60 +61,79 @@
     @Resource
     AuxiliaryWorkingHoursMapper auxiliaryWorkingHoursMapper;
 
+
     @Resource
     UserMapper userMapper;
 
     @Resource
+    private SysRoleMapper roleMapper;
+
+    @Resource
+    private SysUserRoleMapper userRoleMapper;
+
+
+    @Resource
     PerformanceShiftMapper performanceShiftMapper;
+
+    @Resource
+    private ISysDictTypeService dictTypeService;
+
+    @Resource
+    private ShiftTimeMapper shiftTimeMapper;
 
     @Override
     public IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto) {
-        String dates = auxiliaryWorkingHoursDayDto.getDateTime();
+        String dateTime1 = auxiliaryWorkingHoursDayDto.getDateTime1();
+        String dateTime2 = auxiliaryWorkingHoursDayDto.getDateTime2();
+        AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = new AuxiliaryWorkingHoursDay();
+        BeanUtils.copyProperties(auxiliaryWorkingHoursDayDto, auxiliaryWorkingHoursDay);
         String week = auxiliaryWorkingHoursDayDto.getWeek();
         auxiliaryWorkingHoursDayDto.setDateTime(null);
         auxiliaryWorkingHoursDayDto.setWeek(null);
-        Map<String, Object> map = new HashMap<>();
-        List<Long> ids = new ArrayList<>();
-        if (ids.size() == 0) {
-            ids = null;
-        }
-        if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
-                    QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
-                record.setDateTime(record.getDateTime().substring(0, 10));
-            }
-            return auxiliaryWorkingHoursDayDtoIPage;
-        } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
-                    QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
-            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
-                record.setDateTime(record.getDateTime().substring(0, 10));
-            }
-            return auxiliaryWorkingHoursDayDtoIPage;
-        } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
-                    QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
-                record.setDateTime(record.getDateTime().substring(0, 10));
-            }
-            return auxiliaryWorkingHoursDayDtoIPage;
-        } else {
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
-            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
-                record.setDateTime(record.getDateTime().substring(0, 10));
-            }
-            return auxiliaryWorkingHoursDayDtoIPage;
+        List<Integer> ids = new ArrayList<>();
+
+        List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, auxiliaryWorkingHoursDayDto.getName()));
+        if(CollectionUtils.isNotEmpty(users)) {
+            ids = users.stream().map(User::getId).distinct().collect(Collectors.toList());
         }
 
+
+        IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = null;
+
+        if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) {
+            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+                    QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay)
+                            .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59")
+                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
+            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0, 10));
+            }
+
+        } else if (StringUtils.isNotEmpty(dateTime1) && ObjectUtils.isEmpty(week)) {
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+                    QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay)
+                            .ge("date_time", dateTime1).le("date_time", dateTime2 + " 23:59:59"), ids);
+            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0, 10));
+            }
+
+        } else if (StringUtils.isEmpty(dateTime1) && ObjectUtils.isNotEmpty(week)) {
+            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+                    QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay)
+                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
+            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0, 10));
+            }
+
+        } else {
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay), ids);
+            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0, 10));
+            }
+        }
+        return auxiliaryWorkingHoursDayDtoIPage;
     }
 
     //鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅
@@ -117,7 +142,7 @@
         //鏍规嵁濉啓鐨勭紪鍙锋煡璇㈣緟鍔╁伐鏃堕厤缃�
         AuxiliaryWorkingHours auxiliaryWorkingHours = auxiliaryWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryWorkingHours>lambdaQuery().eq(AuxiliaryWorkingHours::getNumber, number));
         if (ObjectUtils.isEmpty(auxiliaryWorkingHours)) {
-            throw new BaseException("璇ョ紪鍙锋病鏈夊搴旂殑杈呭姪宸ユ椂閰嶇疆");
+            throw new ErrorException("璇ョ紪鍙锋病鏈夊搴旂殑杈呭姪宸ユ椂閰嶇疆");
         }
         AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = new AuxiliaryWorkingHoursDay();
         BeanUtils.copyProperties(auxiliaryWorkingHours, auxiliaryWorkingHoursDay);
@@ -127,23 +152,134 @@
     //褰曞叆鏁版嵁(鏂板)
     @Override
     public int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
-        Integer userId = SecurityUtils.getUserId().intValue();
+        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
         auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id
         auxiliaryWorkingHoursDay.setState("宸叉彁浜�");
+        //鏌ヨ浜哄憳褰撳墠鐨勭彮娆�
+        if(StringUtils.isNotBlank(auxiliaryWorkingHoursDay.getDateTime())){
+            //褰曞叆鏃堕棿
+            DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDateTime saveDate = LocalDateTime.parse(auxiliaryWorkingHoursDay.getDateTime(), pattern);
+
+            LocalDate now1 = LocalDate.now();//褰撳墠鏃ユ湡
+            LocalDate dateTime = LocalDate.parse(saveDate.format(formatter));// 鐢ㄦ埛閫夋嫨鏃ユ湡
+
+            //鐝璁板綍
+            PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+                    .eq(PerformanceShift::getUserId, userId)
+                    .eq(PerformanceShift::getWorkTime, saveDate).last("limit 1"));
+            if(Objects.isNull(performanceShift)) {
+                throw new ErrorException("璇峰厛褰曞叆鐝淇℃伅");
+            }
+            auxiliaryWorkingHoursDay.setShift(performanceShift.getShift());
+            DateTime parse = DateUtil.parse(saveDate.format(formatter));
+            auxiliaryWorkingHoursDay.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)))); // 鍛ㄦ
+            // 濡傛灉鏄槰澶╋紝璧嬪�煎埌涓婁竴涓彮娆�
+            if(now1.isAfter(dateTime)) {
+            }else{
+                // 濡傛灉鏄粖澶╋紝骞朵笖鏄法澶╃殑鐝锛岄渶瑕佸皢鏃ユ湡鏀逛负鏄ㄥぉ
+                ShiftTime shiftTime = shiftTimeMapper.selectOne(new LambdaQueryWrapper<ShiftTime>()
+                        .eq(ShiftTime::getShift, performanceShift.getShift()));
+                if(Objects.nonNull(shiftTime)) {
+                    String start = shiftTime.getStartTime();
+                    String end = shiftTime.getEndTime();
+                    LocalTime startTime = LocalTime.parse(start);
+                    LocalTime endTime = LocalTime.parse(end);
+                    LocalTime now = LocalTime.now();
+                    // 璺ㄥぉ鐝
+                    if(startTime.isAfter(endTime)){
+                        // 涓嶅湪浠婂ぉ鐨勭彮娆℃椂闂村唴
+                        if(now.isBefore(startTime)) {
+                            auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+                        }
+                    }else {
+                        // 涓嶈法澶╃殑鎯呭喌
+                        // 濡傛灉褰撳墠鏃堕棿涓嶅湪浠婂ぉ鐨勭彮娆℃椂闂村唴,涓斿湪寮�濮嬩箣鍓� 绠楀埌涓婁竴涓彮娆�
+                        if(now.isBefore(startTime)){
+                            auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+                        }
+
+                    }
+                }else {
+                    // 濡傛灉鏄紤鎭� 璇峰亣  鍑哄樊 鐨勬儏鍐碉紝闇�瑕佸皢鏃ユ湡鏀逛负鍓嶄竴涓彮娆�
+                    // 閮界畻鍒颁笂涓�涓彮娆�
+                    auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+                }
+            }
+        }
         return auxiliaryWorkingHoursDayMapper.insert(auxiliaryWorkingHoursDay);
     }
+    // 鑾峰彇涓婁竴涓彮娆$殑鏃堕棿
+    public AuxiliaryWorkingHoursDay previousShift(Integer userId,AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+        LocalTime time = LocalTime.of(0, 0, 0);
+        LocalDateTime yesterdayTime = LocalDateTime.of(LocalDate.now(), time);
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        // 閮界畻鍒颁笂涓�涓彮娆�
+        List<Integer> list = Arrays.asList(3, 4, 6); // 浼戞伅 璇峰亣 鍗婂ぉ 鍑哄樊
+        List<PerformanceShift> performanceShifts = performanceShiftMapper.selectList(new LambdaQueryWrapper<PerformanceShift>()
+                .eq(PerformanceShift::getUserId, userId)
+                .lt(PerformanceShift::getWorkTime, yesterdayTime.format(dateTimeFormatter))
+                .notIn(PerformanceShift::getShift, list)
+                .orderByDesc(PerformanceShift::getWorkTime));
+        String dateTime = performanceShifts.get(0).getWorkTime().format(dateTimeFormatter);
+        auxiliaryWorkingHoursDay.setDateTime(dateTime);//鏃ユ湡 鍓嶄竴涓彮娆�
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTime parse = DateUtil.parse(performanceShifts.get(0).getWorkTime().format(formatter));
+        auxiliaryWorkingHoursDay.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)))); // 鍛ㄦ
+        auxiliaryWorkingHoursDay.setWeekDay(getWeek(dateTime));//鏄熸湡
+        return auxiliaryWorkingHoursDay;
+    }
+    public static String getWeek(String dayStr) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            Date date = sdf.parse(dayStr);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(date);
+            int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+            int day = calendar.get(Calendar.DAY_OF_MONTH);
+            return getWeekDay(dayOfWeek);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+    public static String getWeekDay(int dayOfWeek) {
+        switch (dayOfWeek) {
+            case Calendar.MONDAY:
+                return "1";
+            case Calendar.TUESDAY:
+                return "2";
+            case Calendar.WEDNESDAY:
+                return "3";
+            case Calendar.THURSDAY:
+                return "4";
+            case Calendar.FRIDAY:
+                return "5";
+            case Calendar.SATURDAY:
+                return "6";
+            case Calendar.SUNDAY:
+                return "7";
+            default:
+                return "鏈煡";
+        }
+    }
+
 
     //瀹℃牳/鎵瑰噯
     @Override
     public boolean checkOrApprove(HoursDay hoursDay) {
         List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = hoursDay.getAuxiliaryWorkingHoursDays();
         for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) {
-            Integer userId = SecurityUtils.getUserId().intValue();
-            auxiliaryWorkingHoursDay.setReviewer(userMapper.selectById(userId).getName());
+            if (auxiliaryWorkingHoursDay.getState().equals("宸插鏍�")) {
+                Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
+                auxiliaryWorkingHoursDay.setReviewer(userMapper.selectById(userId).getName());
+            }
             if (auxiliaryWorkingHoursDay.getReviewerNumber() == null) {
                 auxiliaryWorkingHoursDay.setReviewerNumber(auxiliaryWorkingHoursDay.getAmount());//澶嶆牳鏁伴噺
                 auxiliaryWorkingHoursDay.setReviewerNonproductiveTime(auxiliaryWorkingHoursDay.getNonproductiveTime());//澶嶆牳宸ユ椂
             }
+
         }
         return updateBatchById(auxiliaryWorkingHoursDays);
     }
@@ -151,7 +287,7 @@
     //缂栬緫
     @Override
     public int updateAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
-        Integer userId = SecurityUtils.getUserId().intValue();
+        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
         auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id
         return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay);
     }
@@ -165,67 +301,12 @@
     //鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�
     @Override
     public String selectshiftByUser(LocalDateTime dateTime) {
-        Integer userId = SecurityUtils.getUserId().intValue();
+        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
         PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery().eq(PerformanceShift::getUserId, userId).eq(PerformanceShift::getWorkTime, dateTime));
         if (ObjectUtils.isEmpty(performanceShift)) {
             return null;
         }
         return performanceShift.getShift();
-    }
-
-    /**
-     * 瀵煎嚭杈呭姪宸ユ椂
-     * @param
-     * @param response
-     */
-    @Override
-    public void exportWorkingHours(AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto, HttpServletResponse response) {
-        String dates = auxiliaryWorkingHoursDayDto.getDateTime();
-        String week = auxiliaryWorkingHoursDayDto.getWeek();
-        auxiliaryWorkingHoursDayDto.setDateTime(null);
-        auxiliaryWorkingHoursDayDto.setWeek(null);
-        List<Long> ids = new ArrayList<>();
-        String name = auxiliaryWorkingHoursDayDto.getName();
-        if (ObjectUtils.isNotEmpty(name)) {
-            ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
-        }
-        List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = new ArrayList<>();
-        if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .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(",");
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .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(",");
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-        } else {
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList( QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), 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(AuxiliaryWorkingHoursDayDto.class).build();
-
-            //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶�
-            excelWriter.write(auxiliaryWorkingHoursDayDtoIPage, mainSheet);
-            //鍏抽棴娴�
-            excelWriter.finish();
-        } catch (IOException e) {
-            throw new RuntimeException("瀵煎嚭澶辫触");
-        }
     }
 
 

--
Gitblit v1.9.3