From a8bb23b90b99f1898c2a0d0335115c69a6db761d Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 24 一月 2026 08:33:19 +0800
Subject: [PATCH] 添加了联结器库特殊站点时调用AGV特殊模板,添加人员入侵系统检测到有人时急停AGV的接口,修复AGV工作档没有任务号的漏洞

---
 src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
index 468d906..d49c220 100644
--- a/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MesServiceImpl.java
@@ -1,23 +1,21 @@
 package com.zy.asrs.service.impl;
 
-import com.alibaba.excel.util.DateUtils;
 import com.alibaba.excel.util.StringUtils;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.mes.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.rcs.*;
 import com.zy.asrs.mapper.AgvInfoMapper;
 import com.zy.asrs.mapper.MatItemBarcodeMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.OrderInAndOutUtil;
-import com.zy.common.model.DetlDto;
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.service.CommonService;
 import lombok.extern.slf4j.Slf4j;
@@ -30,16 +28,22 @@
 import javax.annotation.Resource;
 import java.text.ParseException;
 import java.util.*;
-import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 @Slf4j
 @Service
 public class MesServiceImpl implements MesService {
-
     @Value("${mes.url}")
     public String MES_URL;
+
+    // 娴峰悍RCS鍦板潃
+    @Value("${hik.url}")
+    private String HIK_URL;
+
+    // 鍗庢檽RCS鍦板潃
+    @Value("${hx.url}")
+    private String HX_URL;
+
     @Value("${wms.currentName}")
     public String WMS_CURRENT_NAME;
     @Value("${wms.wmsTransStartStation1}")
@@ -243,7 +247,7 @@
             OrderPakin orderPakin = new OrderPakin();
             orderPakin.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
             orderPakin.setOrderNo(entry.getKey());
-            orderPakin.setOrderTime(com.core.common.DateUtils.convert(now));
+            orderPakin.setOrderTime(DateUtils.convert(now));
             orderPakin.setDocType(docType);
             orderPakin.setSettle(1L);
             orderPakin.setStatus(1);
@@ -553,7 +557,7 @@
             OrderPakin orderPakin = new OrderPakin();
             orderPakin.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
             orderPakin.setOrderNo(mesInApply.getOrderNo());
-            orderPakin.setOrderTime(com.core.common.DateUtils.convert(now));
+            orderPakin.setOrderTime(DateUtils.convert(now));
             orderPakin.setDocType(docType);
             orderPakin.setSettle(settle);
             orderPakin.setStatus(1);
@@ -956,7 +960,7 @@
             OrderPakout orderPakout = new OrderPakout();
             orderPakout.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
             orderPakout.setOrderNo(mesCallOutApply.getOrderNo());
-            orderPakout.setOrderTime(com.core.common.DateUtils.convert(now));
+            orderPakout.setOrderTime(DateUtils.convert(now));
             orderPakout.setDocType(docType.getDocId());
             orderPakout.setSettle(settle);
             orderPakout.setStatus(1);
@@ -978,6 +982,10 @@
 
                     set.add(mesOutApplyItem.getTrayid());
                     Mat mat = matService.selectByMatnr(mesOutApplyItem.getItemno());
+                    if (Cools.isEmpty(mat)) {
+                        log.error("鐗╂枡缂栧彿涓嶅瓨鍦�: {}", mesOutApplyItem.getItemno());
+                        throw new CoolException("鐗╂枡缂栧彿涓嶅瓨鍦�: " + mesOutApplyItem.getItemno());
+                    }
                     OrderDetlPakout orderDetlPakout = new OrderDetlPakout();
                     orderDetlPakout.setOrderId(orderPakout.getId());
                     orderDetlPakout.setOrderNo(orderPakout.getOrderNo());
@@ -1027,7 +1035,7 @@
             OrderPakin orderPakin = new OrderPakin();
             orderPakin.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
             orderPakin.setOrderNo(mesCallOutApply.getOrderNo());
-            orderPakin.setOrderTime(com.core.common.DateUtils.convert(now));
+            orderPakin.setOrderTime(DateUtils.convert(now));
             orderPakin.setDocType(docType.getDocId());
             orderPakin.setSettle(1L);
             orderPakin.setStatus(1);
@@ -1108,7 +1116,9 @@
         Date now = new Date();
         Task task = new Task();
         task.setWrkNo(workNo);
-        task.setTaskType("ZX-AGV");
+        //08-1鏄┖鎵樼洏杞簭浠诲姟
+        //08-2鏄墿鏂欒浆搴忎换鍔�
+        task.setTaskType("ZX-AGV-"+transTask.getTransType());
         task.setWrkSts(301L);//301.AGV浠诲姟鍒涘缓
         task.setIoType(3);//3.绔欏埌绔�
         task.setIoPri(10.00);
@@ -1232,7 +1242,7 @@
         if ("Y".equals(allow.getStatus())) {
             String TaskNo = allow.getTaskno();
             if(allow.getTaskno().contains("-")){
-                TaskNo = allow.getTaskno().split("-")[0];
+                TaskNo = allow.getTaskno().substring(0, allow.getTaskno().length() - 2);
             }
             Task task = taskService.selectOne(new EntityWrapper<Task>().eq("task_no", TaskNo));
             if (Cools.isEmpty(task)) {
@@ -1324,7 +1334,7 @@
         if ("Y".equals(allow.getStatus())) {
             String TaskNo = allow.getTaskno();
             if(allow.getTaskno().contains("-")){
-                TaskNo = allow.getTaskno().split("-")[0];
+                TaskNo = allow.getTaskno().substring(0, allow.getTaskno().length() - 2);
             }
             Task task = taskService.selectOne(new EntityWrapper<Task>().eq("task_no", TaskNo));
             if (Cools.isEmpty(task)) {
@@ -1390,6 +1400,27 @@
         return mesReturn;
     }
 
+    @Override
+    public int AGVPause(JSONObject params, int AGVType){
+        MesReturn mesReturn = new MesReturn();
+
+        String hik_url = "api/robot/controller/zone/pause";
+        String hx_url = "";
+        String URL = "";
+        if (AGVType == 1){
+            URL = HIK_URL + hik_url;
+        }else {
+            URL = HX_URL + hx_url;
+        }
+
+        String response = RcsServiceImpl.sendPost(URL, JSONObject.toJSONString(params));
+        JSONObject jsonObject = JSON.parseObject(response);
+        if (!StringUtils.isEmpty(response) && jsonObject.getString("code").equals("SUCCESS")) {
+                return 1;
+        }else
+            return 2;
+    }
+
     // endregion
 
     /**

--
Gitblit v1.9.1