From 56d245daea6ca665021b1987abf3aec5a1b028cb Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 18 七月 2023 16:34:28 +0800
Subject: [PATCH] agv 入库接口调整

---
 src/main/java/com/zy/asrs/controller/AgvOpenController.java |   82 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 08a651a..e825c78 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -1,14 +1,17 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.annotations.AppAuth;
+import com.core.common.Cools;
 import com.core.common.R;
-import com.zy.asrs.entity.AgvWaitPakin;
-import com.zy.asrs.entity.AgvWrkDetl;
 import com.zy.asrs.entity.AgvWrkMast;
+import com.zy.asrs.entity.ApiLog;
 import com.zy.asrs.entity.param.AgvTaskCallBackParam;
 import com.zy.asrs.service.*;
 import com.zy.common.web.BaseController;
 import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,21 +23,49 @@
 import javax.annotation.PostConstruct;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.util.Date;
 import java.util.EnumSet;
 
+/**
+ * 涓婃姤浜嬩欢绫诲瀷锛坋ventType锛夛細
+ * 飦� task锛氫笂鎶ヤ换鍔$姸鎬併��
+ * 飦� task_allocated: 涓婃姤浠诲姟鍒嗛厤缁欐満鍣ㄤ汉銆�
+ * 飦� tote_load锛氫笂鎶ュ彇绠辩姸鎬併��
+ * 飦� tote_unload锛氫笂鎶ユ斁绠辩姸鎬併��
+ * 飦� robot_reach锛氭満鍣ㄤ汉鍒拌揪宸ヤ綔绔欍��
+ * 飦� weight锛氱О閲嶄簨浠跺洖璋冦��
+ * 飦� rfid锛歊FID璇嗗埆浜嬩欢鍥炶皟銆�
+ *
+ * 浠诲姟鐘舵�侊紙status锛夛細
+ * 飦� success锛氭垚鍔熴��
+ * 飦� fail锛氬け璐ャ��
+ * 飦� cancel锛氬彇娑堛��
+ * 飦� suspend锛氭寕璧枫��
+ */
+@Slf4j
 @RestController
 @RequestMapping("/agv")
 public class AgvOpenController extends BaseController {
 
     @Autowired
     AgvWrkMastService agvWrkMastService;
+    @Autowired
+    ApiLogService apiLogService;
 
     @PostMapping("/task/event/status")
+    @AppAuth(memo = "ESS浠诲姟鍥炶皟")
     public R taskEventStaus(@RequestBody AgvTaskCallBackParam param){
 
-        int wrkMastCount = agvWrkMastService.selectCount(new EntityWrapper<AgvWrkMast>().eq("wrk_no", param.getTaskCode()));
-        if(wrkMastCount < 1){
+        //淇濆瓨姣忔璋冪敤璇ユ帴鍙g殑鍙傛暟锛屼綔涓哄巻鍙插彲鏌ヨ
+        //saveApiLog(param);
+
+        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", param.getTaskCode()));
+        if(Cools.isEmpty(agvWrkMast)){
             return R.error("浠诲姟缂栧彿閿欒");
+        }
+
+        if(!checkParam(param,agvWrkMast)){
+            return R.error("浠诲姟鍙傛暟涓庡伐浣滄。鍙傛暟涓嶇鍚�");
         }
 
         AgvTask agvTask = AgvTask.valueOf(param.getEventType());
@@ -45,13 +76,32 @@
         } catch (NoSuchMethodException e) {
             return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎");
         } catch (InvocationTargetException e) {
-            e.printStackTrace();
+            log.error(e.getMessage());
             return R.error();
         } catch (IllegalAccessException e) {
-            e.printStackTrace();
+            log.error(e.getMessage());
             return R.error();
         }
         return R.ok();
+    }
+
+    private boolean checkParam(AgvTaskCallBackParam param, AgvWrkMast agvWrkMast){
+        if(!agvWrkMast.getLocNo().equals(param.getLocationCode())){
+            return false;
+        }
+        if(!agvWrkMast.getSourceLocNo().equals(param.getStationCode())){
+            return false;
+        }
+        return true;
+    }
+
+    private void saveApiLog(AgvTaskCallBackParam param){
+        ApiLog apiLog = new ApiLog();
+        apiLog.setNamespace("ESS浠诲姟鍥炶皟");
+        apiLog.setUrl("/agv/task/event/status");
+        apiLog.setRequest(JSONObject.toJSONString(param));
+        apiLog.setCreateTime(new Date());
+        apiLogService.insert(apiLog);
     }
 
 }
@@ -64,6 +114,11 @@
     task{
         @Transactional
         public void success(AgvTaskCallBackParam param) {
+
+            //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
+            agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),205);
+
+            /*
             int wrkNo = Integer.valueOf(param.getTaskCode());
             String barcode = agvWrkMastService.selectById(wrkNo).getBarcode();
             //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
@@ -78,6 +133,7 @@
             agvWaitPakinLogService.save(barcode);
             //鍒犻櫎鍏ュ簱閫氱煡妗�
             agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("zpallet",barcode));
+             */
 
         }
 
@@ -122,10 +178,10 @@
         public void success(AgvTaskCallBackParam param) {
             //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜
             agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getStationCode(),"O","");
-            //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級
-            agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),2);
+            //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓�
+            agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),203);
             //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬�
-            agvWaitPakinService.updateIoStatus(Integer.valueOf(param.getTaskCode()),"Y");
+            //agvWaitPakinService.updateIoStatus(Integer.valueOf(param.getTaskCode()),"Y");
 
         }
 
@@ -150,11 +206,11 @@
             int wrkNo = Integer.valueOf(param.getTaskCode());
             String barcode = agvWrkMastService.selectById(wrkNo).getBarcode();
             //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱
-            agvLocMastService.updateLocStsByLocNo(param.getLocationCode(),"F");
+            //agvLocMastService.updateLocStsByLocNo(param.getLocationCode(),"F");
             //鏇存柊鐩爣搴撲綅鏄庣粏
-            agvLocDetlService.addLocDetlInfo(param.getLocationCode(),wrkNo);
-            //淇敼宸ヤ綔妗g姸鎬佷负14锛堝叆搴撳畬鎴愶級
-            agvWrkMastService.updateWrkStsByWrkNo(wrkNo,14);
+            //agvLocDetlService.addLocDetlInfo(param.getLocationCode(),wrkNo);
+            //淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚
+            agvWrkMastService.updateWrkStsByWrkNo(wrkNo,204);
         }
 
         public void fail(AgvTaskCallBackParam param) {

--
Gitblit v1.9.1