From 2e770d5ad27afd5cec0ea8759ca37504a883b42f Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期三, 08 五月 2024 14:50:25 +0800 Subject: [PATCH] 2024-5-8 绩效管理-班次后端开发完成 --- performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java | 5 ++--- performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml | 9 +++++---- performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java | 39 ++++++++++++++++++++------------------- performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java | 3 +-- performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java | 2 +- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java index bc1cb77..158c0ee 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java +++ b/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java @@ -37,7 +37,7 @@ @ApiOperation(value = "缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ") @PostMapping("page") - public Result<?> performanceShiftPage(Integer size, Integer current, LocalDateTime time, String userName, String laboratory) { + 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)); } diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java index 3f54661..e126761 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java +++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/PerformanceShiftMapper.java @@ -1,12 +1,11 @@ package com.yuanchu.mom.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.pojo.PerformanceShift; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springframework.data.repository.query.Param; -import java.time.LocalDateTime; import java.util.Map; /** @@ -21,7 +20,7 @@ IPage<Map<String, Object>> performanceShiftPage( Page<Object> page, - @Param("time") LocalDateTime time, + @Param("time") String time, @Param("userName") String userName, @Param("laboratory") String laboratory ); diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java b/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java index 7e9a5a5..1274d30 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/PerformanceShiftService.java @@ -6,7 +6,6 @@ import com.yuanchu.mom.dto.PerformanceShiftAddDto; import com.yuanchu.mom.pojo.PerformanceShift; -import java.time.LocalDateTime; import java.util.Map; /** @@ -21,7 +20,7 @@ void performanceShiftAdd(PerformanceShiftAddDto performanceShiftAddDto); - IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, LocalDateTime time, String userName, String laboratory); + IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, String time, String userName, String laboratory); void performanceShiftUpdate(String shift, Integer id); } diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java index d10ef88..fcd6b5c 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java @@ -48,35 +48,36 @@ } @Override - public IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, LocalDateTime time, String userName, String laboratory) { + public IPage<Map<String, Object>> performanceShiftPage(Page<Object> page, String time, String userName, String laboratory) { IPage<Map<String, Object>> mapIPage = baseMapper.performanceShiftPage(page, time, userName, laboratory); List<Enums> shiftType = enumService.selectEnumByCategory("鐝绫诲瀷"); for (Map<String, Object> i : mapIPage.getRecords()) { String[] shiftTimes = i.get("shiftTime").toString().split(";"); int totalAttendance = 0; - Map<Object, Object> map = new HashMap<>(); - for (Enums enums : shiftType) { - int num = 0; - // 鍒嗗壊鏃ユ湡 - for (String shiftTime : shiftTimes) { - Map<Object, Object> hashMap = new HashMap<>(); - String[] shiftTimeAndShift = shiftTime.split("锛�"); + List<Object> map = new ArrayList<>(); + // 鍒嗗壊鏃ユ湡 + for (String shiftTime : shiftTimes) { + Map<Object, Object> hashMap = new HashMap<>(); + String[] shiftTimeAndShift = shiftTime.split("锛�"); + for (Enums enums : shiftType) { + int num = 0; if (enums.getValue().equals(shiftTimeAndShift[1])) { num++; } - hashMap.put("id", shiftTimeAndShift[2]); - hashMap.put("shift", shiftTimeAndShift[1]); - hashMap.put("weekly", DateUtil.weekOfYear(DateUtil.parse(shiftTimeAndShift[0]))); - hashMap.put("time", shiftTimeAndShift[0]); - map.put(getWeek(shiftTimeAndShift[0]), hashMap); + i.put(enums.getLabel(), num); + if (!enums.getValue().equals("3") && !enums.getValue().equals("4")) { + i.put("totalAttendance", totalAttendance += num); + } } - i.put(enums.getLabel(), num); - i.put("list", map); - if(!enums.getValue().equals("3") && !enums.getValue().equals("4")) { - i.put("totalAttendance", totalAttendance += num); - } - i.remove("shiftTime"); + hashMap.put("id", shiftTimeAndShift[2]); + hashMap.put("shift", shiftTimeAndShift[1]); + hashMap.put("weekly", DateUtil.weekOfYear(DateUtil.parse(shiftTimeAndShift[0]))); + hashMap.put("time", shiftTimeAndShift[0]); + hashMap.put("headerTime", getWeek(shiftTimeAndShift[0])); + map.add(hashMap); } + i.put("list", map); + i.remove("shiftTime"); } return mapIPage; } diff --git a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml index a1c5d61..cc7e1d4 100644 --- a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml +++ b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml @@ -8,15 +8,16 @@ GROUP_CONCAT(s.work_time, '锛�', s.shift, '锛�', s.id SEPARATOR ';') AS shiftTime FROM performance_shift s LEFT JOIN user u on u.id = s.user_id - GROUP BY u.id <where> <if test="time != null and time != ''"> - and s.work_time in DATE_FORMAT(#{time}, '%Y-%m-%d') + and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m' ) </if> <if test="userName != null and userName != ''"> - and s.name concat('%', #{userName}, '%') + and u.name like concat('%', #{userName}, '%') </if> - <if test="laboratory != null and laboratory != ''"></if> + <if test="laboratory != null and laboratory != ''"> + </if> </where> + GROUP BY u.id </select> </mapper> -- Gitblit v1.9.3