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/AuxiliaryWorkingHoursDayServiceImpl.java | 307 ++++++++++++++++++++++++++++++++------------------
1 files changed, 194 insertions(+), 113 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 b9f48d0..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<Integer> 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<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<Integer> 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