From b46815639664c65d31f6f852c4bf403f6ba0c3ea Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 26 一月 2024 10:04:49 +0800
Subject: [PATCH] 加班管理功能调整

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java    |    6 ++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java |   14 +++-----------
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml         |    8 +++-----
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java                  |    6 ++++--
 4 files changed, 16 insertions(+), 18 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
index b69c725..77a50b8 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
@@ -13,12 +13,14 @@
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
 import org.jeecg.modules.mdc.service.IMdcEquipmentOvertimeService;
+import org.jeecg.modules.mdc.util.DateUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.Arrays;
 
 /**
@@ -89,6 +91,10 @@
     @ApiOperation(value = "璁惧鍔犵彮绠$悊-缂栬緫", notes = "璁惧鍔犵彮绠$悊-缂栬緫")
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<?> edit(@RequestBody MdcEquipmentOvertime mdcEquipmentOvertime) {
+        String startTime = mdcEquipmentOvertime.getStartTime();
+        String endTime = mdcEquipmentOvertime.getEndTime();
+        long duration = DateUtils.differentSecond(DateUtils.setTimeForDay(DateUtils.getNow(), startTime), DateUtils.setTimeForDay(DateUtils.getNow(), endTime));
+        mdcEquipmentOvertime.setDuration(new BigDecimal(duration));
         mdcEquipmentOvertimeService.updateById(mdcEquipmentOvertime);
         return Result.OK("缂栬緫鎴愬姛!");
     }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
index e4dea3c..a1284a4 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
@@ -31,17 +31,19 @@
     private static final long serialVersionUID = -7163039765166584824L;
 
     @Excel(name = "璁惧缂栧彿", width = 20)
-    @ApiModelProperty("鏃ユ湡")
+    @ApiModelProperty("璁惧缂栧彿")
     private String equipmentId;
 
     @TableField(exist = false)
     @Excel(name = "璁惧鍚嶇О", width = 20)
+    @ApiModelProperty("璁惧鍚嶇О")
     private String equipmentName;
 
     @ApiModelProperty("鏃ユ湡")
+    @Excel(name = "鏃ユ湡", width = 20)
     private String theDate;
 
-    @Excel(name = "鑷姩璁$畻鏍囪瘑", width = 15)
+//    @Excel(name = "鑷姩璁$畻鏍囪瘑", width = 15)
     @ApiModelProperty("鑷姩璁$畻鏍囪瘑")
     private Integer autoFlag = CommonConstant.AUTO_FLAG_N;
 
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
index b8606e1..3056797 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
@@ -81,12 +81,10 @@
     <!--鏌ヨ鍔犵彮鏃堕暱-->
     <select id="computeOvertime" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentOvertime">
         SELECT
-            meo.*
+            *
         FROM
-            mdc_equipment_overtime meo
-            LEFT JOIN mdc_device_calendar mdc ON meo.calendar_id = mdc.id
+            mdc_equipment_overtime
         WHERE
-            mdc.effective_date LIKE CONCAT(#{ validDate }, '%')
-            AND mdc.equipment_id = #{ equipmentId }
+            the_date LIKE CONCAT(#{ validDate }, '%') AND equipment_id = #{ equipmentId }
     </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
index ec22b51..00454ef 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
@@ -22,9 +22,7 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.time.Duration;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -143,13 +141,7 @@
         BigDecimal result = new BigDecimal("0");
         if (list != null && !list.isEmpty()) {
             for (MdcEquipmentOvertime equipmentOvertime : list) {
-                String date = DateUtils.format(DateUtils.toDate(validDate + "-01", DateUtils.STR_DATE), DateUtils.STR_DATE) + " ";
-                String startTime = date + equipmentOvertime.getStartTime();
-                String endTime = date + equipmentOvertime.getEndTime();
-                LocalDateTime localStartTime = LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern(DateUtils.STR_DATE_TIME_SMALL));
-                LocalDateTime localEndTime = LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern(DateUtils.STR_DATE_TIME_SMALL));
-                int minutes = Math.toIntExact(Duration.between(localStartTime, localEndTime).toMinutes());
-                result = result.add(new BigDecimal(minutes));
+                result = result.add(equipmentOvertime.getDuration().divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP));
             }
         }
         return result;
@@ -163,7 +155,7 @@
      */
     @Override
     public boolean addOvertime(MdcEquipmentOvertime mdcEquipmentOvertime) {
-        String[] equipmentIds = mdcEquipmentOvertime.getEquipmentIds().split(",");
+        String[] equipmentIds = mdcEquipmentOvertime.getEquipmentId().split(",");
         List<MdcEquipmentOvertime> mdcEquipmentOvertimes = new ArrayList<>();
         // 璁$畻鏃堕暱(绉�)
         String startTime = mdcEquipmentOvertime.getStartTime();

--
Gitblit v1.9.3