From f2c5864b2973e15959590eea78742a82085cd10d Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 06 五月 2026 17:25:42 +0800
Subject: [PATCH] 人员考勤:应勤时长计算错误问题修复&奖惩记录导出调整
---
performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java | 108 ++++++++----------------------------------------------
1 files changed, 16 insertions(+), 92 deletions(-)
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
index d3f2cd4..2fa075f 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -1,36 +1,19 @@
package com.ruoyi.performance.controller;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.performance.dto.PerformanceShiftAddDto;
import com.ruoyi.performance.pojo.PerformanceShift;
import com.ruoyi.performance.service.PerformanceShiftService;
-import com.ruoyi.performance.utils.StyleMonthUtils;
-import com.ruoyi.performance.utils.StyleYearUtils;
-import com.ruoyi.system.service.ISysDictTypeService;
-import com.ruoyi.system.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
-import java.time.LocalDate;
import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.temporal.TemporalAdjusters;
-import java.time.temporal.WeekFields;
-import java.util.Collection;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.stream.Collectors;
/**
@@ -49,16 +32,16 @@
@Autowired
private PerformanceShiftService performanceShiftService;
- @Resource
- private ISysDictTypeService dictTypeService;
-
- @Resource
- private UserService userService;
-
@ApiOperation(value = "缂栬緫鎵规敞鍐呭")
@PostMapping("editAnnotationText")
public Result<?> editAnnotationText(@RequestBody PerformanceShift performanceShift){
return Result.success(performanceShiftService.editAnnotationText(performanceShift));
+ }
+
+ @ApiOperation(value = "鍒犻櫎鎵规敞鍐呭")
+ @DeleteMapping("delAnnotationText/{id}")
+ public Result<?> delAnnotationText(@PathVariable("id") Integer id){
+ return Result.success(performanceShiftService.update(Wrappers.<PerformanceShift>lambdaUpdate().set(PerformanceShift::getAnnotationText,null).eq(PerformanceShift::getId,id)));
}
@ApiOperation(value = "鎺掔彮")
@@ -68,16 +51,16 @@
return Result.success();
}
- @ApiOperation(value = "鏈堜唤鍒嗛〉鏌ヨ")
+ @ApiOperation(value = "鏈堝害鐝鏌ヨ")
@GetMapping("page")
- public Result<?> performanceShiftPage(Integer size, Integer current, String time, String userName, String laboratory) {
- return Result.success(performanceShiftService.performanceShiftPage(new Page<>(current, size), time, userName, laboratory));
+ public Result<?> performanceShiftPage(String time, String userName, String laboratory) {
+ return Result.success(performanceShiftService.performanceShift(time, userName, laboratory));
}
- @ApiOperation(value = "骞翠唤鍒嗛〉鏌ヨ")
+ @ApiOperation(value = "骞村害鐝鏌ヨ")
@GetMapping("pageYear")
- public Result<?> performanceShiftPageYear(Integer size, Integer current, String time, String userName, String laboratory) {
- return Result.success(performanceShiftService.performanceShiftPageYear(new Page<>(current, size), time, userName, laboratory));
+ public Result<?> performanceShiftPageYear(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime time, String userName, String laboratory) {
+ return Result.success(performanceShiftService.performanceShiftPageYear(time, userName, laboratory));
}
@ApiOperation(value = "鐝鐘舵�佷慨鏀�")
@@ -89,67 +72,8 @@
@ApiOperation(value = "瀵煎嚭")
@GetMapping("export")
- public void exportToExcel(@NotNull(message = "鏃堕棿涓嶈兘涓虹┖锛�") String time, String userName, String laboratory, Boolean isMonth, HttpServletResponse response) throws Exception {
- Map<Object, Object> data;
- response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
- response.setHeader("requestType","excel");
- response.setHeader("Access-Control-Expose-Headers", "requestType");
- if (!isMonth) {
- data = performanceShiftService.exportToYearExcel(time, userName, laboratory);
- // 璁剧疆鍗曞厓鏍兼牱寮�
- HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleYearUtils.getHeadStyle(), StyleYearUtils.getContentStyle());
- // 淇濆瓨鍒扮涓�涓猻heet涓�
- EasyExcel.write(response.getOutputStream())
- .head((List<List<String>>) data.get("header"))
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
- .registerWriteHandler(horizontalCellStyleStrategy)
- .sheet("骞村害")
- .doWrite((Collection<?>) data.get("data"));
- } else {
- data = performanceShiftService.exportToMonthExcel(time, userName, laboratory);
- // 璁剧疆鍗曞厓鏍兼牱寮�
- HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleMonthUtils.getHeadStyle(), StyleMonthUtils.getContentStyle());
- EasyExcel.write(response.getOutputStream())
- .head((List<List<String>>) data.get("header"))
- .registerWriteHandler(horizontalCellStyleStrategy)
- .sheet("鏈堝害")
- .doWrite((Collection<?>) data.get("data"));
- }
+ public void exportToExcel(@NotNull(message = "鏃堕棿涓嶈兘涓虹┖锛�") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime time, String userName, String laboratory, Boolean isMonth, HttpServletResponse response) throws Exception {
+ performanceShiftService.exportToExcel(time,userName,laboratory,isMonth,response);
}
- @ApiOperation(value = "涓存椂鎺ュ彛-娣诲姞7鏈堜唤8鏈堜唤鐨勬暟鎹�")
- @GetMapping("temporaryInterface")
- public void temporaryInterface() {
- // TODO 缁欐瘡涓汉閮借繘琛屾帓鐝�(榛樿鏃╃彮)
- PerformanceShiftAddDto performanceShiftAddDto = new PerformanceShiftAddDto();
- //鐝--鏃�(鏌ヨ瀛楀吀)
- List<SysDictData> shiftType = dictTypeService.selectDictDataByName("鐝绫诲瀷");
- List<String> collect = shiftType.stream().filter(enums -> enums.getDictLabel().equals("鏃�")).map(enums -> enums.getDictValue()).collect(Collectors.toList());
- performanceShiftAddDto.setShift(collect.get(0));
- //浜哄憳--鎵�鏈変汉
- String userIds = userService.list().stream().map(user -> user.getId().toString()).distinct().collect(Collectors.joining(","));
- performanceShiftAddDto.setUserId(userIds);
- //鍛ㄦ--褰撴湀鎵�鏈�
- // 鑾峰彇褰撳墠鏃ユ湡
- LocalDate today = LocalDate.of(2024, 8, 15);
- // 鑾峰彇鏈湀鐨勭涓�澶╁拰鏈�鍚庝竴澶�
- LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
- LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
- // 鑾峰彇鍛ㄥ瓧娈典俊鎭紙鏍规嵁鍖哄煙璁剧疆锛�
- WeekFields weekFields = WeekFields.of(Locale.getDefault());
- // 鑾峰彇鏈湀绗竴澶╃殑鍛ㄤ竴
- LocalDate startOfWeek = firstDayOfMonth.with(TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfWeek()));
- // 閬嶅巻鏈湀鎵�鏈夊ぉ鏁帮紝鎵惧嚭姣忓懆鐨勭涓�澶╁拰鏈�鍚庝竴澶�
- LocalDate endOfWeek;
- while (startOfWeek.isBefore(firstDayOfMonth.plusMonths(1))) {
- endOfWeek = startOfWeek.plusDays(6);
- LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT);
- LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT);
- performanceShiftAddDto.setStartWeek(startDateTime);
- performanceShiftAddDto.setEndWeek(endDateTime);
- performanceShiftService.performanceShiftAdd(performanceShiftAddDto);
- startOfWeek = startOfWeek.plusWeeks(1);
- }
-
- }
}
--
Gitblit v1.9.3