From 138b5fc883c3ccb25f4bed7114a60f93e78aaa9a Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期日, 02 六月 2024 13:30:37 +0800
Subject: [PATCH] #条码检测

---
 src/main/java/com/zy/asrs/controller/AgvOpenController.java |  102 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 77 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 89fb7e1..6b87a01 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,23 +56,21 @@
     AgvWrkMastService agvWrkMastService;
     @Autowired
     ApiLogService apiLogService;
+    @Autowired
+    private WrkMastExecuteService wrkMastExecuteService;
+    @Autowired
+    private AgvBasDevpService agvBasDevpService;
 
     @PostMapping("/task/event/status")
     @AppAuth(memo = "ESS浠诲姟鍥炶皟")
     public R taskEventStaus(@RequestBody AgvTaskCallBackParam param, HttpServletRequest request){
 
-        apiLogService.save(
-                "ESS浠诲姟鍥炶皟",
-                "/phyzwms/agv/task/event/status",
-                null,
-                null,
-                JSON.toJSONString(JSONObject.toJSONString(param)),
-                null,
-                true
-        );
+
 
 
         //save api log (appkey 鍚庣画娣诲姞)
+
+        R r = new R(0, "鎴愬姛");
 
         AppAuthUtil.auth("",param, request);
         int wrkNo = Integer.parseInt(param.getTaskCode());
@@ -80,33 +81,84 @@
         if(Cools.isEmpty(agvWrkMast)){
             agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",param.getPodCode()));
             if (Cools.isEmpty(agvWrkMast)){
-                return R.error("浠诲姟缂栧彿閿欒");
+                r = R.error("浠诲姟缂栧彿閿欒");
+                logPost(param,JSONObject.toJSONString(r),false);
+                return r;
             }
         }
+        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){
+                        r = R.error("浠诲姟鐘舵�乄rkSts鍙傛暟鏈夎,WrkSts:"+wrkMastExecute.getWrkSts$());
+                        logPost(param,"浠诲姟鐘舵�乄rkSts鍙傛暟鏈夎,WrkSts:"+wrkMastExecute.getWrkSts$()+JSONObject.toJSONString(r),false);
+                        return r;
+                    } else {
+                        wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsCode());
+                        wrkMastExecuteService.updateById(wrkMastExecute);
+                    }
+                }else {
+                    r = R.error("浠诲姟寮傚父");
+                    logPost(param,JSONObject.toJSONString(r),false);
 
-        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;
+                }
+            }catch (Exception e){
+                r = R.error(""+e.getMessage());
+                logPost(param,JSONObject.toJSONString(r),false);
+                return r;
+            }
+        }else {
+            if(agvWrkMast.getWrkSts() >= 205){
+                r = R.error("褰撳墠浠诲姟宸插畬鎴�");
+                logPost(param,JSONObject.toJSONString(r),false);
+                return r;
+            }
+
+            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) {
+                r = R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎");
+                logPost(param,JSONObject.toJSONString(r),false);
+                return r;
+            } catch (InvocationTargetException e) {
+                log.error(e.getMessage());
+                r = R.error(""+e.getMessage());
+                logPost(param,JSONObject.toJSONString(r),false);
+                return r;
+            } catch (IllegalAccessException e) {
+                log.error(e.getMessage());
+                r = R.error(""+e.getMessage());
+                logPost(param,JSONObject.toJSONString(r),false);
+                return r;
+            }
         }
-        return R.ok();
+        logPost(param,JSONObject.toJSONString(r),true);
+        return r;
     }
 
     @PostMapping("/conveyor/loadContainerFinish ")
-    @AppAuth(memo = "鍙栧鍣ㄥ畬鎴愰�氱煡")
+    @AppAuth(memo = "鍙栬揣鏋跺畬鎴愰�氱煡")
     public R loadContainerFinish(@RequestBody Map<String,Object> params){
 
         return R.ok();
     }
+
+    private void logPost( AgvTaskCallBackParam param,String response,boolean success){
+        apiLogService.save(
+                "ESS浠诲姟鍥炶皟",
+                "/phyzwms/agv/task/event/status",
+                null,
+                null,
+                JSON.toJSONString(JSONObject.toJSONString(param)),
+                response,
+                success
+        );
+    }
 }
 
 enum AgvTask{

--
Gitblit v1.9.1