From 92442dca5ac89b58daa7129428cc72dcf001fb39 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 24 七月 2024 15:22:47 +0800
Subject: [PATCH] 加班工时
---
performance-server/src/main/java/com/yuanchu/mom/pojo/PerformanceShift.java | 3
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java | 32 +--
performance-server/src/main/java/com/yuanchu/mom/controller/ShiftTimeController.java | 63 ++++++
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 108 ++++++++--
performance-server/src/main/resources/mapper/ShiftTimeMapper.xml | 17 +
performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml | 3
performance-server/src/main/java/com/yuanchu/mom/service/ShiftTimeService.java | 22 ++
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 148 +++++++-------
performance-server/src/main/java/com/yuanchu/mom/pojo/ShiftTime.java | 59 +++++
performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java | 62 +++---
performance-server/src/main/java/com/yuanchu/mom/mapper/ShiftTimeMapper.java | 16 +
performance-server/src/main/java/com/yuanchu/mom/service/impl/ShiftTimeServiceImpl.java | 35 +++
system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java | 6
performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java | 2
14 files changed, 421 insertions(+), 155 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 8c51007..499f5ca 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -50,6 +50,7 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.CompletableFuture;
@@ -79,6 +80,10 @@
private InsOrderStateMapper insOrderStateMapper;
@Resource
private InsProductMapper insProductMapper;
+ @Resource
+ private ShiftTimeMapper shiftTimeMapper;
+ @Resource
+ private PerformanceShiftMapper performanceShiftMapper;
@Value("${wordUrl}")
private String wordUrl;
@@ -100,6 +105,9 @@
@Resource
AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
+
+ @Resource
+ AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
@Resource
private InformationNotificationService informationNotificationService;
@@ -495,6 +503,7 @@
map.put("v", JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v"));
map.put("r", JSON.toJSONString(insValue.get("r")));
map.put("c", JSON.toJSONString(insValue.get("c")));
+ map.put("w", insValue.get("w"));
try {
if ((insValue.get("u") == null || insValue.get("u").equals("")) && StrUtil.isNotEmpty(JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v").toString())) {
map.put("u", userId + "");
@@ -572,31 +581,80 @@
//鏌ヨ妫�楠屽崟淇℃伅
InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId());
//鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
- Long count = auxiliaryOutputWorkingHoursMapper.selectCount(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
- .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
- .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
- .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode()));
- if (count == 0 && ObjectUtils.isNotEmpty(insProduct.getManHour())) {
- //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂,瑕佸垽鏂綋鍓嶆椂闂存槸鍚︽槸杩欎釜浜虹殑鎺掔彮鏃堕棿,濡傛灉涓嶆槸鍒欐槸鍔犵彮
- AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
- auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
- auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
- auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
- auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
- auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
- auxiliaryOutputWorkingHours.setOutputWorkTime(insProduct.getManHour());//浜ч噺宸ユ椂
- auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
- LocalDateTime localDateTime = LocalDateTime.now();
- DateTime parse = DateUtil.parse(localDateTime.format(formatter));
- auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
- auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
- auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
- auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+ //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
+ LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
+ PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+ .eq(PerformanceShift::getUserId, userId)
+ .eq(PerformanceShift::getWorkTime, today));
+ if (ObjectUtils.isNotEmpty(performanceShift)){
+ ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
+ if (ObjectUtils.isNotEmpty(shiftTime)){
+ DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
+ LocalTime now = LocalTime.now();
+ LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
+ LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
+ // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
+ boolean isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+ //鍔犵彮
+ AuxiliaryOutputWorkingHours count1 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+ .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
+ .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode()));
+ //闈炲姞鐝�
+ AuxiliaryOutputWorkingHours count2 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+ .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
+ .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode()));
+ AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
+ if (ObjectUtils.isNotEmpty(count1) ){
+ auxiliaryOutputWorkingHours = count1;
+ }
+ else if (ObjectUtils.isNotEmpty(count2) ){
+ auxiliaryOutputWorkingHours = count2;
+ }
+ if (ObjectUtils.isNotEmpty(insProduct.getManHour())) {
+ if (isWithinRange && ObjectUtils.isEmpty(count2)) {
+ //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
+ auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
+ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
+ auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
+ auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
+ auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
+ auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
+ auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime())?auxiliaryOutputWorkingHours.getOvertimeWorkTime():0)+(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime())?auxiliaryOutputWorkingHours.getWorkTime():0));//浜ч噺宸ユ椂
+ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+ LocalDateTime localDateTime = LocalDateTime.now();
+ DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+ auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ } else if(ObjectUtils.isEmpty(count1)) {
+ //鍔犵彮
+ auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
+ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
+ auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
+ auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
+ auxiliaryOutputWorkingHours.setOvertimeWorkTime(insProduct.getManHour());//鍔犵彮宸ユ椂
+ auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
+ auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime())?auxiliaryOutputWorkingHours.getOvertimeWorkTime():0)+(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime())?auxiliaryOutputWorkingHours.getWorkTime():0));//浜ч噺宸ユ椂
+ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+ LocalDateTime localDateTime = LocalDateTime.now();
+ DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+ auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ }
+ auxiliaryOutputWorkingHoursService.saveOrUpdate(auxiliaryOutputWorkingHours);
+ }
+ }
}
InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId());
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/ShiftTimeController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/ShiftTimeController.java
new file mode 100644
index 0000000..80c41d3
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/ShiftTimeController.java
@@ -0,0 +1,63 @@
+package com.yuanchu.mom.controller;
+
+import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.annotation.ValueClassify;
+import com.yuanchu.mom.dto.PerformanceShiftAddDto;
+import com.yuanchu.mom.pojo.ShiftTime;
+import com.yuanchu.mom.service.PerformanceShiftService;
+import com.yuanchu.mom.service.ShiftTimeService;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鐝瀵瑰簲鐨勬椂闂� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-24 11:22:17
+ */
+@Api(tags = "缁╂晥绠$悊-鐝")
+@RestController
+@RequestMapping("/shiftTime")
+public class ShiftTimeController {
+
+ @Autowired
+ private ShiftTimeService shiftTimeService;
+
+ @ValueAuth
+ @ApiOperation(value = "鎺掔彮鏃堕棿閰嶇疆")
+ @PostMapping("add")
+ public Result<?> shiftTimeAdd(@RequestBody ShiftTime shiftTime) {
+ shiftTimeService.shiftTimeAdd(shiftTime);
+ return Result.success();
+ }
+
+ @ValueClassify("鐝")
+ @ApiOperation(value = "鎺掔彮鏃堕棿閰嶇疆鏌ヨ")
+ @PostMapping("list")
+ public Result<?> shiftTimeList() {
+ return Result.success(shiftTimeService.shiftTimeList());
+ }
+
+ @ValueAuth
+ @ApiOperation(value = "鎺掔彮鏃堕棿閰嶇疆鍒犻櫎")
+ @PostMapping("remove")
+ public Result<?> shiftTimeRemove(Long id) {
+ return Result.success(shiftTimeService.removeById(id));
+ }
+
+ @ValueAuth
+ @ApiOperation(value = "鎺掔彮鏃堕棿閰嶇疆淇敼")
+ @PostMapping("update")
+ public Result<?> shiftTimeUpdate(@RequestBody ShiftTime shiftTime) {
+ return Result.success(shiftTimeService.updateById(shiftTime));
+ }
+
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java
index b94f040..4ded00e 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -30,7 +30,7 @@
List<AuxiliaryOutputWorkingHoursDto> selectDataByUser(@Param("ids") List<Integer> ids);
//鏌ヨ璇ユ湀鐨勪骇閲忓伐鏃�
- List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids);
+ List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids, @Param("type") String type);
List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Integer> ids);
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/ShiftTimeMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/ShiftTimeMapper.java
new file mode 100644
index 0000000..52bb695
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/ShiftTimeMapper.java
@@ -0,0 +1,16 @@
+package com.yuanchu.mom.mapper;
+
+import com.yuanchu.mom.pojo.ShiftTime;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 鐝瀵瑰簲鐨勬椂闂� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-24 11:22:17
+ */
+public interface ShiftTimeMapper extends BaseMapper<ShiftTime> {
+
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java
index 9d59780..31b97c9 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java
@@ -41,157 +41,157 @@
@ExcelProperty(value = "绫诲瀷")
private String type;
- @ApiModelProperty("1鏃�")
+ @ApiModelProperty("1")
@ValueTableShow(4)
@ExcelProperty(value = "1鏃�")
private Double oneHours;
- @ApiModelProperty("2鏃�")
+ @ApiModelProperty("2")
@ValueTableShow(5)
@ExcelProperty(value = "2鏃�")
private Double twoHours;
- @ApiModelProperty("3鏃�")
+ @ApiModelProperty("3")
@ValueTableShow(6)
@ExcelProperty(value = "3鏃�")
private Double threeHours;
- @ApiModelProperty("4鏃�")
+ @ApiModelProperty("4")
@ValueTableShow(7)
@ExcelProperty(value = "4鏃�")
private Double fourHours;
- @ApiModelProperty("5鏃�")
+ @ApiModelProperty("5")
@ValueTableShow(8)
@ExcelProperty(value = "5鏃�")
private Double fiveHours;
- @ApiModelProperty("6鏃�")
+ @ApiModelProperty("6")
@ValueTableShow(9)
@ExcelProperty(value = "6鏃�")
private Double sixHours;
- @ApiModelProperty("7鏃�")
+ @ApiModelProperty("7")
@ValueTableShow(10)
@ExcelProperty(value = "7鏃�")
private Double sevenHours;
- @ApiModelProperty("8鏃�")
+ @ApiModelProperty("8")
@ValueTableShow(11)
@ExcelProperty(value = "8鏃�")
private Double eightHours;
- @ApiModelProperty("9鏃�")
+ @ApiModelProperty("9")
@ValueTableShow(12)
@ExcelProperty(value = "9鏃�")
private Double nineHours;
- @ApiModelProperty("10鏃�")
+ @ApiModelProperty("10")
@ValueTableShow(13)
@ExcelProperty(value = "10鏃�")
private Double tenHours;
- @ApiModelProperty("11鏃�")
+ @ApiModelProperty("11")
@ValueTableShow(14)
@ExcelProperty(value = "11鏃�")
private Double elevenHours;
- @ApiModelProperty("12鏃�")
+ @ApiModelProperty("12")
@ValueTableShow(15)
@ExcelProperty(value = "12鏃�")
private Double twelveHours;
- @ApiModelProperty("13鏃�")
+ @ApiModelProperty("13")
@ValueTableShow(16)
@ExcelProperty(value = "13鏃�")
private Double thirteenHours;
- @ApiModelProperty("14鏃�")
+ @ApiModelProperty("14")
@ValueTableShow(17)
@ExcelProperty(value = "14鏃�")
private Double fourteenHours;
- @ApiModelProperty("15鏃�")
+ @ApiModelProperty("15")
@ValueTableShow(18)
@ExcelProperty(value = "15鏃�")
private Double fifteenHours;
- @ApiModelProperty("16鏃�")
+ @ApiModelProperty("16")
@ValueTableShow(19)
@ExcelProperty(value = "16鏃�")
private Double sixteenHours;
- @ApiModelProperty("17鏃�")
+ @ApiModelProperty("17")
@ValueTableShow(20)
@ExcelProperty(value = "17鏃�")
private Double seventeenHours;
- @ApiModelProperty("18鏃�")
+ @ApiModelProperty("18")
@ValueTableShow(21)
@ExcelProperty(value = "18鏃�")
private Double eighteenHours;
- @ApiModelProperty("19鏃�")
+ @ApiModelProperty("19")
@ValueTableShow(22)
@ExcelProperty(value = "19鏃�")
private Double nineteenHours;
- @ApiModelProperty("20鏃�")
+ @ApiModelProperty("20")
@ValueTableShow(23)
@ExcelProperty(value = "20鏃�")
private Double twentyHours;
- @ApiModelProperty("21鏃�")
+ @ApiModelProperty("21")
@ValueTableShow(24)
@ExcelProperty(value = "21鏃�")
private Double twentyOneHours;
- @ApiModelProperty("22鏃�")
+ @ApiModelProperty("22")
@ValueTableShow(25)
@ExcelProperty(value = "22鏃�")
private Double twentyTwoHours;
- @ApiModelProperty("23鏃�")
+ @ApiModelProperty("23")
@ValueTableShow(26)
@ExcelProperty(value = "23鏃�")
private Double twentyThreeHours;
- @ApiModelProperty("24鏃�")
+ @ApiModelProperty("24")
@ValueTableShow(27)
@ExcelProperty(value = "24鏃�")
private Double twentyFourHours;
- @ApiModelProperty("25鏃�")
+ @ApiModelProperty("25")
@ValueTableShow(28)
@ExcelProperty(value = "25鏃�")
private Double twentyFiveHours;
- @ApiModelProperty("26鏃�")
+ @ApiModelProperty("26")
@ValueTableShow(29)
@ExcelProperty(value = "26鏃�")
private Double twentySixHours;
- @ApiModelProperty("27鏃�")
+ @ApiModelProperty("27")
@ValueTableShow(30)
@ExcelProperty(value = "27鏃�")
private Double twentySevenHours;
- @ApiModelProperty("28鏃�")
+ @ApiModelProperty("28")
@ValueTableShow(31)
@ExcelProperty(value = "28鏃�")
private Double twentyEightHours;
- @ApiModelProperty("29鏃�")
+ @ApiModelProperty("29")
@ValueTableShow(32)
@ExcelProperty(value = "29鏃�")
private Double twentyNineHours;
- @ApiModelProperty("30鏃�")
+ @ApiModelProperty("30")
@ValueTableShow(33)
@ExcelProperty(value = "30鏃�")
private Double thirtyHours;
- @ApiModelProperty("31鏃�")
+ @ApiModelProperty("31")
@ValueTableShow(34)
@ExcelProperty(value = "31鏃�")
private Double thirtyOneHours;
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/PerformanceShift.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/PerformanceShift.java
index 8fd8910..ac57b7d 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/PerformanceShift.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/PerformanceShift.java
@@ -1,6 +1,7 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.*;
+import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -19,7 +20,7 @@
@Data
@TableName("performance_shift")
@ApiModel(value = "PerformanceShift瀵硅薄", description = "缁╂晥绠$悊-鐝")
-public class PerformanceShift implements Serializable {
+public class PerformanceShift extends OrderBy implements Serializable {
private static final long serialVersionUID = 1L;
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/ShiftTime.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/ShiftTime.java
new file mode 100644
index 0000000..0f69006
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/ShiftTime.java
@@ -0,0 +1,59 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 鐝瀵瑰簲鐨勬椂闂�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-24 11:22:17
+ */
+@Getter
+@Setter
+@TableName("shift_time")
+@ApiModel(value = "ShiftTime瀵硅薄", description = "鐝瀵瑰簲鐨勬椂闂�")
+public class ShiftTime extends OrderBy implements Serializable {
+
+ @ApiModelProperty("涓婚敭ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鐝")
+ private String shift;
+
+ @ApiModelProperty("寮�濮嬫椂闂�")
+ private String startTime;
+
+ @ApiModelProperty("缁撴潫鏃堕棿")
+ private String endTime;
+
+ @ApiModelProperty("鍒涘缓浜篒d")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty("鍒涘缓鏃ユ湡")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊浜篒d")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/ShiftTimeService.java b/performance-server/src/main/java/com/yuanchu/mom/service/ShiftTimeService.java
new file mode 100644
index 0000000..0705798
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/ShiftTimeService.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.service;
+
+import com.yuanchu.mom.pojo.ShiftTime;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鐝瀵瑰簲鐨勬椂闂� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-24 11:22:17
+ */
+public interface ShiftTimeService extends IService<ShiftTime> {
+
+ void shiftTimeAdd(ShiftTime shiftTime);
+
+ List<ShiftTime> shiftTimeList();
+
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
index 51ec8c7..6079e42 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -110,8 +110,9 @@
List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<>();
Map<String, AuxiliaryOriginalHoursDto> data1 = new HashMap<>();
Map<String, AuxiliaryOriginalHoursDto> data2 = new HashMap<>();
+ Map<String, AuxiliaryOriginalHoursDto> data3 = new HashMap<>();
//浜ч噺宸ユ椂
- List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
+ List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"浜ч噺宸ユ椂");
if (ObjectUtils.isNotEmpty(maps)) {
data1 = getData(maps, "浜ч噺宸ユ椂");
auxiliaryOriginalHoursDtos.addAll(data1.values());
@@ -123,70 +124,23 @@
auxiliaryOriginalHoursDtos.addAll(data2.values());
}
//鍔犵彮宸ユ椂
+ List<Map<String, Object>> maps2 = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"鍔犵彮宸ユ椂");
+ if (ObjectUtils.isNotEmpty(maps2)) {
+ data3 = getData(maps2, "鍔犵彮宸ユ椂");
+ auxiliaryOriginalHoursDtos.addAll(data3.values());
+ }
//鎬诲伐鏃�=浜ч噺宸ユ椂+杈呭姪宸ユ椂+鍔犵彮宸ユ椂
Map<String, AuxiliaryOriginalHoursDto> data4 = new HashMap<String, AuxiliaryOriginalHoursDto>();
- Map<String, AuxiliaryOriginalHoursDto> data3 = data1;
if (data1.size()>0) {
+ Map<String, AuxiliaryOriginalHoursDto> data5 = data1;
if (data2.size() > 0) {
- for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data2.entrySet()) {
- String key = entry.getKey();
- AuxiliaryOriginalHoursDto value = entry.getValue();
- if (data3.containsKey(key)) {
- for (Map.Entry<String, AuxiliaryOriginalHoursDto> dtoEntry : data3.entrySet()) {
- if (dtoEntry.getKey().equals(key)) {
- AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto();
- AuxiliaryOriginalHoursDto hoursDto = data3.get(key);
- BeanUtils.copyProperties(hoursDto, auxiliaryOriginalHoursDto);
- auxiliaryOriginalHoursDto.setType("鎬诲伐鏃�");
- auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : 0));
- auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : 0));
- auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : 0));
- auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : 0));
- auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : 0));
- auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : 0));
- auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : 0));
- auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : 0));
- auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : 0));
- auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : 0));
- auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : 0));
- auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
- auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : 0));
- auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : 0));
- auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : 0));
- auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : 0));
- auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : 0));
- auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : 0));
- auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : 0));
- auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
- auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : 0));
- auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : 0));
- auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : 0));
- auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0));
- auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : 0));
- auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : 0));
- auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : 0));
- auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : 0));
- auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : 0));
- auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : 0));
- auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : 0));
- auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : 0) + (ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : 0));
- data4.put(key, auxiliaryOriginalHoursDto);
- } else {
- AuxiliaryOriginalHoursDto hoursDto = data3.get(dtoEntry.getKey());
- AuxiliaryOriginalHoursDto dto = new AuxiliaryOriginalHoursDto();
- BeanUtils.copyProperties(hoursDto, dto);
- dto.setType("鎬诲伐鏃�");
- data4.put(dtoEntry.getKey(), dto);
- }
- }
- } else {
- value.setType("鎬诲伐鏃�");
- data4.put(key, value);
- }
- }
+ merge(data5,data4,data2);
}
- else {
- for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data3.entrySet()) {
+ if (data3.size()>0){
+ merge(data5,data4,data3);
+ }
+ if(data2.size()==0 && data3.size()==0) {
+ for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data5.entrySet()) {
AuxiliaryOriginalHoursDto dto = entry.getValue();
AuxiliaryOriginalHoursDto originalHoursDto = new AuxiliaryOriginalHoursDto();
BeanUtils.copyProperties(dto, originalHoursDto);
@@ -196,17 +150,6 @@
}
auxiliaryOriginalHoursDtos.addAll(data4.values());
}
- /*List<Map<String, Object>> maps2 = auxiliaryOriginalHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
- if (ObjectUtils.isNotEmpty(maps2)) {
- //浜ч噺宸ユ椂+杈呭姪宸ユ椂閮戒笉涓虹┖
- auxiliaryOriginalHoursDtos.addAll(getData(maps2, "鎬诲伐鏃�").values());
- }
- //濡傛灉杈呭姪宸ユ椂涓嶄负绌�
- else if (ObjectUtils.isNotEmpty(maps1)) {
- auxiliaryOriginalHoursDtos.addAll(getData(maps1, "鎬诲伐鏃�").values());
- } else if (ObjectUtils.isNotEmpty(maps)) {
- auxiliaryOriginalHoursDtos.addAll(getData(maps, "鎬诲伐鏃�").values());
- }*/
auxiliaryOriginalHoursDtos = auxiliaryOriginalHoursDtos.stream().sorted(Comparator.comparing(AuxiliaryOriginalHoursDto::getName)).collect(Collectors.toList());
// 妫�鏌ユ瘡涓汉鐨勫伐鏃剁被鍨嬶紝琛ュ叏缂哄皯鐨勫伐鏃�
@@ -586,4 +529,67 @@
}
return dtoMap;
}
+
+ //鍚堝苟
+ private void merge(Map<String, AuxiliaryOriginalHoursDto> data5,Map<String, AuxiliaryOriginalHoursDto> data4,Map<String, AuxiliaryOriginalHoursDto> data2) {
+ for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data2.entrySet()) {
+ String key = entry.getKey();
+ AuxiliaryOriginalHoursDto value = entry.getValue();
+ if (data5.containsKey(key)) {
+ for (Map.Entry<String, AuxiliaryOriginalHoursDto> dtoEntry : data5.entrySet()) {
+ if (dtoEntry.getKey().equals(key)) {
+ AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto();
+ AuxiliaryOriginalHoursDto hoursDto = data5.get(key);
+ BeanUtils.copyProperties(hoursDto, auxiliaryOriginalHoursDto);
+ auxiliaryOriginalHoursDto.setType("鎬诲伐鏃�");
+ auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : 0));
+ auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : 0));
+ auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : 0));
+ auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : 0));
+ auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : 0));
+ auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : 0));
+ auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : 0));
+ auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : 0));
+ auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : 0));
+ auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : 0));
+ auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : 0));
+ auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
+ auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : 0));
+ auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : 0));
+ auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : 0));
+ auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : 0));
+ auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : 0));
+ auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : 0));
+ auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : 0));
+ auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : 0));
+ double v = ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0;
+ double v1 = ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0;
+ double v2 = v + v1;
+ auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : 0));
+ auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : 0));
+ auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : 0));
+ auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : 0));
+ auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : 0) + (ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : 0));
+ data4.put(key, auxiliaryOriginalHoursDto);
+ } /*else {
+ AuxiliaryOriginalHoursDto hoursDto = data5.get(dtoEntry.getKey());
+ AuxiliaryOriginalHoursDto dto = new AuxiliaryOriginalHoursDto();
+ BeanUtils.copyProperties(hoursDto, dto);
+ dto.setType("鎬诲伐鏃�");
+ data4.put(dtoEntry.getKey(), dto);
+ }*/
+ }
+ } else {
+ value.setType("鎬诲伐鏃�");
+ data4.put(key, value);
+ }
+ }
+ }
}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/ShiftTimeServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/ShiftTimeServiceImpl.java
new file mode 100644
index 0000000..50d2aaf
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/ShiftTimeServiceImpl.java
@@ -0,0 +1,35 @@
+package com.yuanchu.mom.service.impl;
+
+import com.yuanchu.mom.pojo.ShiftTime;
+import com.yuanchu.mom.mapper.ShiftTimeMapper;
+import com.yuanchu.mom.service.ShiftTimeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 鐝瀵瑰簲鐨勬椂闂� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-24 11:22:17
+ */
+@Service
+public class ShiftTimeServiceImpl extends ServiceImpl<ShiftTimeMapper, ShiftTime> implements ShiftTimeService {
+
+ @Resource
+ ShiftTimeMapper shiftTimeMapper;
+
+ @Override
+ public void shiftTimeAdd(ShiftTime shiftTime) {
+ shiftTimeMapper.insert(shiftTime);
+ }
+
+ @Override
+ public List<ShiftTime> shiftTimeList() {
+ return shiftTimeMapper.selectList(null);
+ }
+}
diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
index 31958ad..f319878 100644
--- a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
+++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -76,7 +76,8 @@
order_no,
sample,
man_hour_group,
- output_work_time as manHours
+ case when #{type}='鍔犵彮宸ユ椂' then case when overtime_work_time is null then 0 else overtime_work_time end
+ else case when work_time is null then 0 else work_time end end as manHours
-- FORMAT(SUM(output_work_time), 4) as manHours
from auxiliary_output_working_hours aowh
left join user on user.id=aowh.`check`
diff --git a/performance-server/src/main/resources/mapper/ShiftTimeMapper.xml b/performance-server/src/main/resources/mapper/ShiftTimeMapper.xml
new file mode 100644
index 0000000..9b3814b
--- /dev/null
+++ b/performance-server/src/main/resources/mapper/ShiftTimeMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yuanchu.mom.mapper.ShiftTimeMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ShiftTime">
+ <id column="id" property="id" />
+ <result column="shift" property="shift" />
+ <result column="start_time" property="startTime" />
+ <result column="end_time" property="endTime" />
+ <result column="create_user" property="createUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_user" property="updateUser" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+
+</mapper>
diff --git a/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java b/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
index cd06c0a..5d18f38 100644
--- a/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
+++ b/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
@@ -16,11 +16,11 @@
// 婕旂ず渚嬪瓙锛屾墽琛� main 鏂规硶鎺у埗鍙拌緭鍏ユā鍧楄〃鍚嶅洖杞﹁嚜鍔ㄧ敓鎴愬搴旈」鐩洰褰曚腑
public class CodeGenerator {
- public static String database_url = "jdbc:mysql://10.1.200.86:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
+ public static String database_url = "jdbc:mysql://localhost:3306/aaa?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
public static String database_username = "root";
- public static String database_password= "zttZTT123!";
+ public static String database_password= "123456";
public static String author = "姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃";
- public static String model_name = "/cnas-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
+ public static String model_name = "/performance-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
public static String setParent = "com.yuanchu.mom"; // 鍖呰矾寰�
public static String tablePrefix = "device_"; // 璁剧疆杩囨护琛ㄥ墠缂�
public static void main(String[] args) {
diff --git a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
index 4e345ea..9784910 100644
--- a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
+++ b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -6,6 +6,7 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.time.temporal.WeekFields;
import java.util.Locale;
@@ -16,29 +17,16 @@
@Test
void contextLoads() {
- // 鑾峰彇褰撳墠鏃ユ湡
- LocalDate today = LocalDate.now();
- // 鑾峰彇鏈湀鐨勭涓�澶╁拰鏈�鍚庝竴澶�
- LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
- LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
+ String a = "09:00:00";
+ String b = "17:00:00";
+ LocalTime now = LocalTime.now();
+ LocalTime startTime = LocalTime.parse(a, formatter);
+ LocalTime endTime = LocalTime.parse(b, formatter);
- // 鑾峰彇鍛ㄥ瓧娈典俊鎭紙鏍规嵁鍖哄煙璁剧疆锛�
- 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);
-
- System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime);
-
- startOfWeek = startOfWeek.plusWeeks(1);
- }
+ // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
+ boolean isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+ System.out.println(isWithinRange);
}
}
--
Gitblit v1.9.3