From 1199031849b7301d2b67cd763b6e3d1d91595ea5 Mon Sep 17 00:00:00 2001
From: wangmengzhao <1036088376@qq.com>
Date: 星期四, 07 十二月 2023 22:07:20 +0800
Subject: [PATCH] 小程序端用户登录创建维修单修改代码优化,在DeviceController新加接口shortListRepair对不同的用户登录后看到自己的设备20231207wmz

---
 wumei-smart-master/springboot/wumei-iot/src/main/java/com/ruoyi/iot/task/DeviceOrderTask.java |   70 ++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 22 deletions(-)

diff --git a/wumei-smart-master/springboot/wumei-iot/src/main/java/com/ruoyi/iot/task/DeviceOrderTask.java b/wumei-smart-master/springboot/wumei-iot/src/main/java/com/ruoyi/iot/task/DeviceOrderTask.java
index cb09cc3..fb7f095 100644
--- a/wumei-smart-master/springboot/wumei-iot/src/main/java/com/ruoyi/iot/task/DeviceOrderTask.java
+++ b/wumei-smart-master/springboot/wumei-iot/src/main/java/com/ruoyi/iot/task/DeviceOrderTask.java
@@ -3,8 +3,10 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.iot.domain.DeviceOrder;
 import com.ruoyi.iot.domain.DeviceOrderTime;
+import com.ruoyi.iot.mapper.DeviceOrderMapper;
 import com.ruoyi.iot.service.IDeviceOrderService;
 import com.ruoyi.iot.service.IDeviceOrderTimeService;
+import io.lettuce.core.ScriptOutputType;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
@@ -27,6 +29,8 @@
 
     @Resource
     private IDeviceOrderService iDeviceOrderService;
+    @Resource
+    private DeviceOrderMapper deviceOrderMapper;
     @Resource
     private IDeviceOrderTimeService iDeviceOrderTimeService;
 
@@ -59,17 +63,39 @@
             int finishTimeout = 0;
             //閬嶅巻deviceOrderList闆嗗悎鍙栧嚭姣忎竴鏉℃暟鎹殑receive_time,濡傛灉receive_time涓嶄负绌猴紝璁$畻receive_time鎺ュ崟鏃堕棿鍜宎ssgin_time娲惧崟鏃堕棿涔嬮棿鐩稿樊澶氬皯鍒嗛挓
             for (DeviceOrderTime deviceOrderTimes : deviceOrderTimeList) {
-                if (deviceOrders.getReceiveTime() != null && deviceOrders.getAssginTime() != null) {
+                if (deviceOrders.getAssginTime() != null) {
                     //鎷垮埌璁惧璁㈠崟琛ㄩ噷闈㈣鍗曠殑鍒涘缓鑰呯殑id
                     int createUser_Id = deviceOrders.getCreateUserId().intValue();
                     //鎷垮埌璁惧璁㈠崟瓒呮椂鏃堕棿琛ㄧ殑userid
-                    Integer userId = deviceOrderTimes.getUserId();
+                    Integer userId = deviceOrderTimes.getUserId();  //14
+                    Integer orderType = deviceOrderTimes.getOrderType();
+                    Integer deviceOrderType = Integer.valueOf(deviceOrders.getOrderType());
                     //鎷垮埌涓や釜receive_timeout涓�涓槸 order_type = 1鐨勫拰order_type=2鐨�,finish_timeout鎷垮埌涓や釜
-                    if (createUser_Id == userId && deviceOrderTimes.getOrderType() == 1) {
-                        receiveTimeout = deviceOrderTimes.getReceiveTimeout();  //600
+                    if (createUser_Id == userId && deviceOrderTimes.getOrderType() == 1 && deviceOrderType == deviceOrderTimes.getOrderType()) {
+                        receiveTimeout = deviceOrderTimes.getReceiveTimeout();
                         finishTimeout = deviceOrderTimes.getFinishTimeout();
+                        break;
                     }
-                    if (createUser_Id == userId && deviceOrderTimes.getOrderType() == 2) {
+                    if (createUser_Id == userId && deviceOrderTimes.getOrderType() == 2 && deviceOrderType == deviceOrderTimes.getOrderType()) {
+                        receiveTimeout = deviceOrderTimes.getReceiveTimeout();
+                        finishTimeout = deviceOrderTimes.getFinishTimeout();
+                        break;
+                    }
+                }
+                if (deviceOrders.getReceiveTime() != null) {
+                    //鎷垮埌璁惧璁㈠崟琛ㄩ噷闈㈣鍗曠殑鍒涘缓鑰呯殑id
+                    int createUser_Id = deviceOrders.getCreateUserId().intValue();
+                    //鎷垮埌璁惧璁㈠崟瓒呮椂鏃堕棿琛ㄧ殑userid
+                    Integer userId = deviceOrderTimes.getUserId();  //14
+                    Integer orderType = deviceOrderTimes.getOrderType();
+                    Integer deviceOrderType = Integer.valueOf(deviceOrders.getOrderType());
+                    //鎷垮埌涓や釜receive_timeout涓�涓槸 order_type = 1鐨勫拰order_type=2鐨�,finish_timeout鎷垮埌涓や釜
+                    if (createUser_Id == userId && deviceOrderTimes.getOrderType() == 1 && deviceOrderType.equals(deviceOrderTimes.getOrderType())) {
+                        receiveTimeout = deviceOrderTimes.getReceiveTimeout();
+                        finishTimeout = deviceOrderTimes.getFinishTimeout();
+                        break;
+                    }
+                    if (createUser_Id == userId && deviceOrderTimes.getOrderType() == 2 && deviceOrderType.equals(deviceOrderTimes.getOrderType())) {
                         receiveTimeout = deviceOrderTimes.getReceiveTimeout();
                         finishTimeout = deviceOrderTimes.getFinishTimeout();
                         break;
@@ -79,26 +105,26 @@
             //鎷垮埌褰撳墠鏃堕棿鐨勫勾鏈堟棩鏃跺垎绉掑幓鍑忊�斺�旀帴鍗曟椂闂磖eceive_time鍜屾淳鍗曟椂闂碼ssign_time 寰楀埌鏃堕棿闂撮殧鍒嗛挓锛�
             //骞跺垽鏂緱鍒扮殑杩欎釜鏃堕棿闂撮殧澶т笉澶т簬receive_timeout鍜宖inish_timeout鐨勫��
             SimpleDateFormat targetFormatA = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
-            String timeStrA = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));  //褰撳墠鏃堕棿
-            String formatA = targetFormatA.format(deviceOrders.getReceiveTime());  //鎺ュ崟鏃堕棿
-
-            LocalDateTime startDateTimeA = LocalDateTime.parse(timeStrA);
-            LocalDateTime endDateTimeB = LocalDateTime.parse(formatA);
+            String formatA = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));  //褰撳墠鏃堕棿
+            String formatB = targetFormatA.format(deviceOrders.getAssginTime());  //鎺ュ崟鏃堕棿
+            LocalDateTime startDateTimeA = LocalDateTime.parse(formatA);
+            LocalDateTime endDateTimeB = LocalDateTime.parse(formatB);
             Duration durationA = Duration.between(startDateTimeA, endDateTimeB);
-            long receive_timeMinutes = durationA.toMinutes();
-            if (receive_timeMinutes > receiveTimeout) {
-                deviceOrders.setReceiveTimeoutFlag(true);
+            long finishTimeMinutes = Math.abs(durationA.toMinutes());
+            if (finishTimeMinutes > finishTimeout) {
+                deviceOrders.setId(deviceOrders.getId());
+                deviceOrders.setReceiveTimeoutFlag(1);
+                int rows = deviceOrderMapper.updateDeviceOrder(deviceOrders);
             }
-            SimpleDateFormat targetFormatB = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
-            String timeStrB = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));  //褰撳墠鏃堕棿
-            String formatB = targetFormatB.format(deviceOrders.getAssginTime());
-
-            LocalDateTime startDateTimeC = LocalDateTime.parse(timeStrB);
-            LocalDateTime endDateTimeD = LocalDateTime.parse(formatB);
+            String formatC = targetFormatA.format(deviceOrders.getAssginTime());
+            LocalDateTime startDateTimeC = LocalDateTime.parse(formatA);
+            LocalDateTime endDateTimeD = LocalDateTime.parse(formatC);
             Duration durationB = Duration.between(startDateTimeC, endDateTimeD);
-            long finish_timeMinutes = durationB.toMinutes();
-            if (receive_timeMinutes > finishTimeout) {
-                deviceOrders.setFinishTimeoutFlag(true);
+            long receiveTimeMinutes = Math.abs(durationB.toMinutes());
+            if (receiveTimeMinutes > receiveTimeout) {
+                deviceOrders.setId(deviceOrders.getId());
+                deviceOrders.setFinishTimeoutFlag(1);
+                int rows = deviceOrderMapper.updateDeviceOrder(deviceOrders);
                 break;
             }
         }

--
Gitblit v1.8.0