From 990b97bf3e6e9362faa1830fd0c600d54370efd5 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 19 十月 2024 15:07:49 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   71 +++++++++++++++++++++++++++++++----
 1 files changed, 63 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 12e0bb0..8185b8a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -3,15 +3,28 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.asrs.domain.param.RingThroughParam;
 import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.param.WcsDataSynchronizationParam;
+import com.zy.asrs.entity.param.WcsRgvListParam;
 import com.zy.asrs.entity.param.WcsTaskDistributionParam;
+import com.zy.asrs.entity.param.WcsTaskListParam;
 import com.zy.asrs.service.OpenService;
 import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.utils.Utils;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.RgvSlave;
+import com.zy.core.model.protocol.RgvProtocol;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.RgvThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -21,21 +34,19 @@
 @Service
 public class OpenServiceImpl implements OpenService {
 
+
+    @Autowired
+    private SlaveProperties slaveProperties;
     @Autowired
     private WrkMastService wrkMastService;
 
     @Override
     @Transactional
-    public List<String> queryStock() {
-        return null;
-    }
-
-    @Override
-    @Transactional
     public R wcsTaskDistribution(WcsTaskDistributionParam param) {
-        WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrkNo", param.getTaskNo()));
+        Date now = new Date();
+        WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getTaskNo()));
         if (!Cools.isEmpty(wrkMast1)){
-            return R.error().add("宸ヤ綔鍙峰凡瀛樺湪锛宼askNo="+param.getTaskNo());
+            return R.error("宸ヤ綔鍙峰凡瀛樺湪").add("宸ヤ綔鍙峰凡瀛樺湪锛宼askNo="+param.getTaskNo());
         }
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(param.getTaskNo());
@@ -43,8 +54,52 @@
         wrkMast.setStaNo(param.getEndSta$());
         wrkMast.setWrkSts(1L);
         wrkMast.setIoType(1);
+        wrkMast.setModiTime(now);
+        wrkMast.setAppeTime(now);
         wrkMastService.insert(wrkMast);
         return R.ok();
     }
 
+    @Override
+    @Transactional
+    public R wcsTaskStatus(Long timestamp) {
+        try{
+            WcsDataSynchronizationParam wcsDataSynchronizationParam = new WcsDataSynchronizationParam();
+            List<WcsTaskListParam> wcsTaskListParamList = new ArrayList<>();
+            List<WcsRgvListParam> wcsRgvListParamList = new ArrayList<>();
+            List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<>());
+            for (WrkMast wrkMast : wrkMastList){
+                WcsTaskListParam wcsTaskListParam = new WcsTaskListParam(wrkMast);
+                wcsTaskListParamList.add(wcsTaskListParam);
+            }
+            for (RgvSlave rgv : slaveProperties.getRgv()) {
+                // 鑾峰彇RGV淇℃伅
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+                if (rgvThread == null) {
+                    continue;
+                }
+                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+                if (rgvProtocol == null) {
+                    continue;
+                }
+                WcsRgvListParam wcsRgvListParam = new WcsRgvListParam();
+                wcsRgvListParam.setRgvNo(rgv.getId().toString());
+                wcsRgvListParam.setTaskNo(Cools.isEmpty(rgvProtocol.getTaskNo1()) ? null:rgvProtocol.getTaskNo1().toString());
+                wcsRgvListParam.setStatus(rgvProtocol.statusType.desc);
+                List<String> arrayList = new ArrayList<>();
+                if (rgvProtocol.getAlarm()!=0){
+                    arrayList.add(rgvProtocol.getAlarm$());
+                }
+                wcsRgvListParam.setError(arrayList);
+                wcsRgvListParamList.add(wcsRgvListParam);
+            }
+            wcsDataSynchronizationParam.setTaskList(wcsTaskListParamList);
+            wcsDataSynchronizationParam.setRgvList(wcsRgvListParamList);
+            wcsDataSynchronizationParam.setTimestamp(timestamp);
+            return R.ok().add(wcsDataSynchronizationParam);
+        } catch (Exception e){
+            return R.error("寮傚父").add("寮傚父淇℃伅锛�"+e);
+        }
+    }
+
 }

--
Gitblit v1.9.1