Просмотр исходного кода

靠墙第二层自动门:
1.靠墙门关闭的时候,靠墙第二层自动门打开
2.叉车取货完东边的模具,靠墙第二层自动门关闭

k 2 лет назад
Родитель
Сommit
9f48e818bb

+ 6 - 0
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/thread/AutoRfidReaderTask.java

@@ -76,6 +76,8 @@ public class AutoRfidReaderTask {
                 autoDoorClient.sendClose(doorNo);
 //                log.info("发送关门指令!{},{}", isOutdoor, isOutdoor ? closeOutDoorNum : closeInDoorNum);
                 if (isOutdoor) {
+                    // 关闭墙外同时 打开墙里第二层自动门
+                    autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
                     closeOutDoorNum++;
                 } else {
                     closeInDoorNum++;
@@ -88,6 +90,8 @@ public class AutoRfidReaderTask {
         if (contains) {
             autoDoorClient.sendOpen(doorNo);
             if (isOutdoor) {
+                // 打开墙外同时 关闭墙里第二层自动门(应该大部分时间多是关闭的)
+//                autoDoorClient.sendClose(AutoDoorClient.AUTO_DOOR_NO.C);
                 closeOutDoorNum = 0;
             } else {
                 closeInDoorNum = 0;
@@ -100,6 +104,8 @@ public class AutoRfidReaderTask {
                 autoDoorClient.sendClose(doorNo);
 //                log.info("发送关门指令!{},{}", isOutdoor, isOutdoor ? closeOutDoorNum : closeInDoorNum);
                 if (isOutdoor) {
+                    // 关闭墙外同时 打开墙里第二层自动门
+                    autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
                     closeOutDoorNum++;
                 } else {
                     closeInDoorNum++;

+ 7 - 0
warewms-ams/src/main/java/com/ruoyi/ams/task/service/impl/WcsTaskServiceImpl.java

@@ -23,6 +23,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.hard.modbus.tcp.AutoDoorClient;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -61,6 +62,8 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
     private IInvLotAttService iInvLotAttService;
     @Autowired
     private IAmsTaskService iAmsTaskService;
+    @Autowired
+    private AutoDoorClient autoDoorClient;
 
     //任务状态翻译
     private String codeConvert(int code) {
@@ -360,6 +363,10 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
                             log.info("不能重复取货," + taskNo);
                             return;
                         }
+                        // 如果是接驳位(模具-东)的点位取货完成 反馈关闭靠墙第二层自动门
+                        if (wcsTask.getLocationFrom().equals(Constant.LOC_MJ_EAST.toString())) {
+                            autoDoorClient.sendClose(AutoDoorClient.AUTO_DOOR_NO.C);
+                        }
                         // 解锁起始库位
                         baseLocationInfoService.unLockLocationStockStatus(Long.parseLong(wcsTask.getLocationFrom())
                                 , Constant.WAREHOUSE_ID, updateBy);

+ 6 - 0
warewms-base/src/main/java/com/ruoyi/base/constant/Constant.java

@@ -8,6 +8,12 @@ package com.ruoyi.base.constant;
 public class Constant {
     public static final String CUSTOMER_ID = "default";
     public static final Long WAREHOUSE_ID = 1L;
+
+    /**
+     * 接驳位(模具-东)库位ID
+     * 这个点在叉车取货完成之后需要发送关闭自动门的命令
+     */
+    public static final Integer LOC_MJ_EAST = 10047;
     /**
      * 入库缓存区到接驳位
      */