From 50f2d8d80c3a73bb17c1d559e1c08d2e315d0add Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期日, 02 六月 2024 01:14:00 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/AgvOpenController.java |   85 +++++++++++++++++++++++++++---------------
 1 files changed, 54 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 18346cb..bb077b8 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -6,7 +6,10 @@
 import com.core.annotations.AppAuth;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.asrs.entity.AgvBasDevp;
+import com.zy.asrs.entity.AgvLocMast;
 import com.zy.asrs.entity.AgvWrkMast;
+import com.zy.asrs.entity.WrkMastExecute;
 import com.zy.asrs.entity.param.AgvTaskCallBackParam;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.AppAuthUtil;
@@ -53,6 +56,10 @@
     AgvWrkMastService agvWrkMastService;
     @Autowired
     ApiLogService apiLogService;
+    @Autowired
+    private WrkMastExecuteService wrkMastExecuteService;
+    @Autowired
+    private AgvBasDevpService agvBasDevpService;
 
     @PostMapping("/task/event/status")
     @AppAuth(memo = "ESS浠诲姟鍥炶皟")
@@ -72,7 +79,7 @@
         //save api log (appkey 鍚庣画娣诲姞)
 
         AppAuthUtil.auth("",param, request);
-        int wrkNo = Integer.parseInt(param.getReqCode());
+        int wrkNo = Integer.parseInt(param.getTaskCode());
         if(wrkNo < 0){
             wrkNo = -wrkNo;
         }
@@ -83,26 +90,47 @@
                 return R.error("浠诲姟缂栧彿閿欒");
             }
         }
+        if (agvWrkMast.getIoType().equals(121)){
+            try{
+                if (agvWrkMast.getWrkSts().equals(12L)){
+                    WrkMastExecute wrkMastExecute = wrkMastExecuteService.selectOne(new EntityWrapper<WrkMastExecute>().eq("wrk_no", wrkNo));
+                    if (Cools.isEmpty(wrkMastExecute) || wrkMastExecute.getWrkSts()!=1){
+                        return R.error("浠诲姟鐘舵�乄rkSts鍙傛暟鏈夎,WrkSts:"+wrkMastExecute.getWrkSts$());
+                    } else {
+                        wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsCode());
+                        wrkMastExecuteService.updateById(wrkMastExecute);
+                    }
+                }else {
+                    return R.error("浠诲姟寮傚父");
+                }
+            }catch (Exception e){
+                return R.error(""+e.getMessage());
+            }
+        }else {
+            if(agvWrkMast.getWrkSts() >= 205){
+                return R.error("褰撳墠浠诲姟宸插畬鎴�");
+            }
 
-        AgvTask agvTask = AgvTask.valueOf(param.getMethod());
-        Class<AgvTask> clz = AgvTask.class;
-        try {
-            Method method = clz.getDeclaredMethod("success", AgvWrkMast.class, AgvTaskCallBackParam.class);
-            method.invoke(agvTask,agvWrkMast,param);
-        } catch (NoSuchMethodException e) {
-            return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎");
-        } catch (InvocationTargetException e) {
-            log.error(e.getMessage());
-            return R.error();
-        } catch (IllegalAccessException e) {
-            log.error(e.getMessage());
-            return R.error();
+            AgvTask agvTask = AgvTask.valueOf(param.getMethod());
+            Class<AgvTask> clz = AgvTask.class;
+            try {
+                Method method = clz.getDeclaredMethod("success", AgvWrkMast.class, AgvTaskCallBackParam.class);
+                method.invoke(agvTask,agvWrkMast,param);
+            } catch (NoSuchMethodException e) {
+                return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎");
+            } catch (InvocationTargetException e) {
+                log.error(e.getMessage());
+                return R.error();
+            } catch (IllegalAccessException e) {
+                log.error(e.getMessage());
+                return R.error();
+            }
         }
-        return R.ok();
+        return new R(0, "鎴愬姛");
     }
 
     @PostMapping("/conveyor/loadContainerFinish ")
-    @AppAuth(memo = "鍙栧鍣ㄥ畬鎴愰�氱煡")
+    @AppAuth(memo = "鍙栬揣鏋跺畬鎴愰�氱煡")
     public R loadContainerFinish(@RequestBody Map<String,Object> params){
 
         return R.ok();
@@ -112,17 +140,13 @@
 enum AgvTask{
 
     /**
-     * 涓婃姤浠诲姟鐘舵��
+     * 涓婃姤浠诲姟瀹屾垚
      */
     end{
         @Transactional
         public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
             //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
             agvWrkMast.setWrkSts(205L);
-
-            //agvWrkMast.setLocNo(param.getLocationCode());
-            agvWrkMastService.updateById(agvWrkMast);
-            //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205);
 
             //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
             if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){
@@ -132,21 +156,24 @@
             //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
             if(agvWrkMast.getIoType() == 110){
                 agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+                agvWrkMast.setWrkSts(206L);
             }
+            agvWrkMastService.updateById(agvWrkMast);
         }
     },
     /**
-     * 涓婃姤浠诲姟鍒嗛厤缁欐満鍣ㄤ汉
+     * 浠诲姟寮�濮�
      */
     start{
         @Transactional
         public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
+            //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.浠诲姟寮�濮�
+            agvWrkMast.setWrkSts(203L);
+            agvWrkMastService.updateById(agvWrkMast);
         }
-
     },
     /**
-     * 涓婃姤鍙栫鐘舵��
+     * 璧板嚭鍌ㄤ綅鐘舵��
      */
     outbin{
         @Transactional
@@ -159,7 +186,7 @@
             }
 
             //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓�
-            agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),203);
+            agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
 
         }
 
@@ -170,11 +197,7 @@
     cancel{
         @Transactional
         public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-            //淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚
-            agvWrkMast.setWrkSts(204L);
-            //agvWrkMast.setLocNo(param.getLocationCode());
-            agvWrkMastService.updateById(agvWrkMast);
-            //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
+
 
         }
 

--
Gitblit v1.9.1