From 13b2580541535eba89a363da83501d034892a8b3 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 15 四月 2026 21:16:33 +0800
Subject: [PATCH] 电视机数据对接

---
 src/main/java/com/zy/asrs/controller/OpenController.java |   94 ++++++++++++++++++++++++++++++----------------
 1 files changed, 61 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index ace2e17..8364138 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -877,47 +877,90 @@
         }
 
         List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(Integer.valueOf(param.getTaskNo()));
-        String costTime = resolveCostTime(wrkMast, wrkDetls);
 
         HashMap<String, Object> map = new HashMap<>();
         map.put("taskNo", param.getTaskNo());
         map.put("ioType", wrkMast.getIoType());
-        map.put("costTime", costTime);
-        map.put("costTimeStr", costTime);
         map.put("wrkDetls", wrkDetls);
         Integer count = 0;
         String supp = "";
-        //璇ヨ鍗曠疮璁″叆搴撲欢鏁�
-        if(wrkMast.getIoType()<100){
-            List<WrkMast> orderNo = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", wrkMast.getUserNo()));
+        //璇ヨ鍗曠疮璁″叆鍑哄簱浠舵暟
+        List<WrkMast> orderNo = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", wrkMast.getUserNo()));
+        List<WrkMastLog> userNo = wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", wrkMast.getUserNo()).eq("wrk_sts",15L));
+        Integer ioType = wrkMast.getIoType();
+        if (ioType != null && ioType < 100) {
             if (orderNo != null && orderNo.size() > 0) {
                 count = orderNo.size();
             }
-            List<WrkMastLog> userNo = wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", wrkMast.getUserNo()));
             if (userNo != null && userNo.size() > 0) {
-                count = userNo.size()+count;
+                count = userNo.size()+count+1;
             }
             supp = count + "";
         }else {
-            supp = wrkDetls.get(0).getSupp();
+            if (userNo != null && userNo.size() > 0) {
+                count = userNo.size()+1;
+            }
+            supp = count + "";
         }
         map.put("supp", supp);
+
+        //鑰楁椂
+        String costTime = resolveCostTime(wrkMast, wrkDetls);
+        map.put("costTime", costTime);
+
         return R.ok().add(map);
     }
 
     private String resolveCostTime(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
-        Date createTime = resolveOrderCreateTime(resolveOrderNo(wrkMast, wrkDetls));
-        if (createTime == null) {
+        if (wrkMast == null || wrkMast.getIoType() == null) {
+            return "0";
+        }
+
+        Date createTime;
+        if (wrkMast.getIoType() < 100) {
+            createTime = resolveInboundTaskCreateTime(wrkMast, wrkDetls);
+        } else {
             createTime = resolveTaskCreateTime(wrkMast);
         }
+
         if (createTime == null) {
             return "0";
         }
+
         long minutes = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis() - createTime.getTime());
         if (minutes < 0L) {
             minutes = 0L;
         }
         return String.valueOf(minutes);
+    }
+
+    private Date resolveInboundTaskCreateTime(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+        if (wrkMast == null) {
+            return null;
+        }
+
+        if (!Cools.isEmpty(wrkMast.getUserNo())) {
+            Date userNoCreateTime = resolveUserNoCreateTime(wrkMast.getUserNo());
+            if (userNoCreateTime != null) {
+                return userNoCreateTime;
+            }
+        }
+
+        String orderNo = resolveOrderNo(wrkMast, wrkDetls);
+        if (Cools.isEmpty(orderNo)) {
+            return null;
+        }
+        return resolveOrderCreateTime(orderNo);
+    }
+
+    private Date resolveUserNoCreateTime(String userNo) {
+        if (Cools.isEmpty(userNo)) {
+            return null;
+        }
+        return minDate(
+                minCreateTime(wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", userNo))),
+                minCreateTime(wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", userNo)))
+        );
     }
 
     private String resolveOrderNo(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
@@ -944,14 +987,11 @@
                 minCreateTime(wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", orderNo))),
                 minCreateTime(wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>().eq("order_no", orderNo)))
         );
-        if (historyCreateTime != null) {
-            return historyCreateTime;
-        }
-
-        return minDate(
+        Date currentCreateTime = minDate(
                 minCreateTime(wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", orderNo))),
                 minCreateTime(wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)))
         );
+        return minDate(historyCreateTime, currentCreateTime);
     }
 
     private Date minDate(Date first, Date second) {
@@ -968,19 +1008,7 @@
         if (wrkMast == null) {
             return null;
         }
-        return firstDate(wrkMast.getAppeTime(), wrkMast.getIoTime(), wrkMast.getModiTime());
-    }
-
-    private Date firstDate(Date... dates) {
-        if (dates == null || dates.length == 0) {
-            return null;
-        }
-        for (Date date : dates) {
-            if (date != null) {
-                return date;
-            }
-        }
-        return null;
+        return minDate(minDate(wrkMast.getAppeTime(), wrkMast.getIoTime()), wrkMast.getModiTime());
     }
 
     private Date minCreateTime(List<?> list) {
@@ -1003,19 +1031,19 @@
     private Date resolveCreateTime(Object item) {
         if (item instanceof WrkMast) {
             WrkMast wrkMast = (WrkMast) item;
-            return firstDate(wrkMast.getAppeTime(), wrkMast.getIoTime(), wrkMast.getModiTime());
+            return minDate(minDate(wrkMast.getAppeTime(), wrkMast.getIoTime()), wrkMast.getModiTime());
         }
         if (item instanceof WrkMastLog) {
             WrkMastLog wrkMastLog = (WrkMastLog) item;
-            return firstDate(wrkMastLog.getAppeTime(), wrkMastLog.getIoTime(), wrkMastLog.getModiTime());
+            return minDate(minDate(wrkMastLog.getAppeTime(), wrkMastLog.getIoTime()), wrkMastLog.getModiTime());
         }
         if (item instanceof WrkDetl) {
             WrkDetl wrkDetl = (WrkDetl) item;
-            return firstDate(wrkDetl.getAppeTime(), wrkDetl.getIoTime(), wrkDetl.getModiTime());
+            return minDate(minDate(wrkDetl.getAppeTime(), wrkDetl.getIoTime()), wrkDetl.getModiTime());
         }
         if (item instanceof WrkDetlLog) {
             WrkDetlLog wrkDetlLog = (WrkDetlLog) item;
-            return firstDate(wrkDetlLog.getAppeTime(), wrkDetlLog.getIoTime(), wrkDetlLog.getModiTime());
+            return minDate(minDate(wrkDetlLog.getAppeTime(), wrkDetlLog.getIoTime()), wrkDetlLog.getModiTime());
         }
         return null;
     }

--
Gitblit v1.9.1