From cab87dcfaa7b1e2bc1298572b775026bb17ef38b Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 17 十月 2024 13:54:41 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java |   65 ++++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java
index 1de4108..d3b99ec 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java
@@ -8,19 +8,35 @@
 import com.zy.asrs.wcs.common.domain.BaseParam;
 import com.zy.asrs.wcs.common.domain.KeyValVo;
 import com.zy.asrs.wcs.common.domain.PageParam;
+import com.zy.asrs.wcs.core.domain.param.ConveyorOperatorParam;
+import com.zy.asrs.wcs.core.domain.param.ShuttleOperatorParam;
 import com.zy.asrs.wcs.core.entity.BasConveyor;
+import com.zy.asrs.wcs.core.entity.Motion;
+import com.zy.asrs.wcs.core.entity.Task;
+import com.zy.asrs.wcs.core.entity.TaskCtg;
+import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
+import com.zy.asrs.wcs.core.model.enums.TaskCtgType;
+import com.zy.asrs.wcs.core.model.enums.TaskStsType;
 import com.zy.asrs.wcs.core.service.BasConveyorService;
+import com.zy.asrs.wcs.core.utils.Utils;
+import com.zy.asrs.wcs.rcs.News;
+import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
+import com.zy.asrs.wcs.rcs.entity.Device;
+import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType;
+import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
+import com.zy.asrs.wcs.rcs.service.DeviceService;
+import com.zy.asrs.wcs.rcs.thread.DevpThread;
+import com.zy.asrs.wcs.rcs.thread.LiftThread;
+import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
 import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 @RequestMapping("/api")
@@ -28,6 +44,8 @@
 
     @Autowired
     private BasConveyorService basConveyorService;
+    @Autowired
+    private DeviceService deviceService;
 
     @PreAuthorize("hasAuthority('core:basConveyor:list')")
     @PostMapping("/basConveyor/page")
@@ -99,4 +117,43 @@
         ExcelUtil.build(ExcelUtil.create(basConveyorService.list(), BasConveyor.class), response);
     }
 
+    //鎵嬪姩鎿嶄綔
+    @PreAuthorize("hasAuthority('core:basConveyor:operator')")
+    @PostMapping("/basConveyor/operator/sta")
+    @Transactional
+    public synchronized R conveyorOperator(@RequestBody ConveyorOperatorParam param) {
+        if (Cools.isEmpty(param.getConveyorNo(), param.getTaskMode())) {
+            return R.error("鍙傛暟涓虹┖");
+        }
+
+        Integer conveyorNo = param.getConveyorNo();
+
+        Device device = deviceService.getOne(new LambdaQueryWrapper<Device>()
+                .eq(Device::getDeviceType, DeviceCtgType.CONVEYOR.val())
+                .eq(Device::getStatus, 1)
+                .eq(Device::getDeviceNo, conveyorNo));
+        if (device == null) {
+            return R.error("璁惧涓嶅瓨鍦�");
+        }
+
+        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, device.getId().intValue());
+        if (devpThread == null) {
+            return R.error("璁惧绂荤嚎");
+        }
+
+        if (param.getTaskMode().equals("taskNoAndStaNo")) {
+            //鍐欏叆宸ヤ綔鍙峰拰鐩爣绔�
+            if (Cools.isEmpty(param.getSiteNo())) {
+                return R.error("绔欑偣涓嶅瓨鍦�");
+            }
+
+            boolean result = devpThread.writeWorkSta(param.getSiteNo(), Short.parseShort(param.getTaskNo()), param.getStaNo().shortValue());
+            if (!result) {
+                return R.error("淇濆瓨澶辫触");
+            }
+            return R.ok("淇濆瓨鎴愬姛");
+        }
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.1