Kaynağa Gözat

测试修改

jwk 2 yıl önce
ebeveyn
işleme
9c5ae4cd95

+ 5 - 4
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/AciService.java

@@ -144,10 +144,7 @@ public class AciService {
                             String order = amsHexdefineDetailService.concatOrder(t, basTask);
                             log.info("writeOrder:" + order);
                             if (t.getBusinessType().equals("m") ||
-                                    t.getBusinessType().equals("n") ||
-                                    t.getBusinessType().equals("A4") ||
-                                    t.getBusinessType().equals("A5") ||
-                                    t.getBusinessType().equals("164")
+                                    t.getBusinessType().equals("01")
                             ) {
 
                                 buffer.put(ByteUtil.hexString2ByteArray(order));
@@ -164,6 +161,10 @@ public class AciService {
                                 buffer.flip();
                                 socketChannel.write(buffer);
                                 buffer.clear();
+                                // 修改已发送
+                                t.setAciAccept(1);
+                                t.setRoadway("TS请求反馈任务发送成功!");
+                                amsTaskService.updateAmsTask(t);
                             }
 //                        } catch (Exception e) {
 //                            e.printStackTrace();

+ 20 - 7
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/service/impl/AmsHexdefineDetailServiceImpl.java

@@ -9,12 +9,13 @@ import com.ruoyi.ams.agv.ndc.domain.AmsHexdefineDetail;
 import com.ruoyi.ams.agv.ndc.domain.AmsTask;
 import com.ruoyi.ams.agv.ndc.mapper.AmsHexdefineDetailMapper;
 import com.ruoyi.ams.agv.ndc.service.IAmsHexdefineDetailService;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
  * 任务定义(lp0-lp30)Service业务层处理
- * 
+ *
  * @author ruoyi
  * @date 2022-08-12
  */
@@ -26,7 +27,7 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
 
     /**
      * 查询任务定义(lp0-lp30)
-     * 
+     *
      * @param id 任务定义(lp0-lp30)主键
      * @return 任务定义(lp0-lp30)
      */
@@ -43,7 +44,7 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
 
     /**
      * 查询任务定义(lp0-lp30)列表
-     * 
+     *
      * @param amsHexdefineDetail 任务定义(lp0-lp30)
      * @return 任务定义(lp0-lp30)
      */
@@ -72,7 +73,7 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
 
     /**
      * 新增任务定义(lp0-lp30)
-     * 
+     *
      * @param amsHexdefineDetail 任务定义(lp0-lp30)
      * @return 结果
      */
@@ -84,7 +85,7 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
 
     /**
      * 修改任务定义(lp0-lp30)
-     * 
+     *
      * @param amsHexdefineDetail 任务定义(lp0-lp30)
      * @return 结果
      */
@@ -96,7 +97,7 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
 
     /**
      * 批量删除任务定义(lp0-lp30)
-     * 
+     *
      * @param ids 需要删除的任务定义(lp0-lp30)主键
      * @return 结果
      */
@@ -108,7 +109,7 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
 
     /**
      * 删除任务定义(lp0-lp30)信息
-     * 
+     *
      * @param id 任务定义(lp0-lp30)主键
      * @return 结果
      */
@@ -127,6 +128,9 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
             if (basTask.getColType() == ValType.TEXT.getCode()) {
                 //如果是数字需要进行转换
                 if (basTask.getValType() == 2) {
+                    if (StringUtils.isEmpty(amsTask.getStr(basTask.getColVal()))) {
+                        continue;
+                    }
                     sb.append(String.format("%04X", Integer.parseInt(amsTask.getStr(basTask.getColVal()))));
                 } else {
                     sb.append(basTask.getColVal());
@@ -136,11 +140,20 @@ public class AmsHexdefineDetailServiceImpl implements IAmsHexdefineDetailService
                 if (basTask.getValType() == 1) {
                     //如果是数字需要进行转换,Priority为2位其余4位
                     if (basTask.getColName().equals("Priority")) {
+                        if (StringUtils.isEmpty(amsTask.getStr(basTask.getColVal()))) {
+                            continue;
+                        }
                         sb.append(String.format("%02X", Integer.parseInt(amsTask.getStr(basTask.getColVal()))+ 0x80));
                     }else {
+                        if (StringUtils.isEmpty(amsTask.getStr(basTask.getColVal()))) {
+                            continue;
+                        }
                         sb.append(String.format("%04X", Integer.parseInt(amsTask.getStr(basTask.getColVal()))));
                     }
                 } else {
+                    if (StringUtils.isEmpty(amsTask.getStr(basTask.getColVal()))) {
+                        continue;
+                    }
                     sb.append(amsTask.getStr(basTask.getColVal()));
                 }
             }

+ 7 - 0
warewms-ams/src/main/java/com/ruoyi/ams/agv/ndc/thread/AutoButtonBoxTask.java

@@ -6,6 +6,7 @@ import com.ruoyi.ams.config.domain.dto.AgvCallItemDTO;
 import com.ruoyi.ams.config.domain.dto.LotattDTO;
 import com.ruoyi.base.constant.Constant;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.hard.modbus.tcp.AutoDoorClient;
 import com.ruoyi.hard.modbus.tcp.ButtonBoxClient;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +23,8 @@ public class AutoButtonBoxTask {
     private ButtonBoxClient buttonBoxClient;
     @Autowired
     private IBusinessService businessService;
+    @Autowired
+    private AutoDoorClient autoDoorClient;
 
 
     /**
@@ -72,6 +75,8 @@ public class AutoButtonBoxTask {
         // 灭灯
         buttonBoxClient.writeLamp01Death();
         log.info("按钮1已经灭灯");
+        // 关闭墙外同时 打开墙里第二层自动门
+        autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
     }
 
     /**
@@ -106,5 +111,7 @@ public class AutoButtonBoxTask {
         // 灭灯
         buttonBoxClient.writeLamp02Death();
         log.info("按钮2已经灭灯");
+        // 关闭墙外同时 打开墙里第二层自动门
+        autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
     }
 }

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

@@ -79,7 +79,7 @@ public class AutoRfidReaderTask {
 //                log.info("发送关门指令!{},{}", isOutdoor, isOutdoor ? closeOutDoorNum : closeInDoorNum);
                 if (isOutdoor) {
                     // 关闭墙外同时 打开墙里第二层自动门
-                    autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
+//                    autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
                     closeOutDoorNum++;
                 } else {
                     closeInDoorNum++;
@@ -112,7 +112,7 @@ public class AutoRfidReaderTask {
 //                log.info("发送关门指令!{},{}", isOutdoor, isOutdoor ? closeOutDoorNum : closeInDoorNum);
                 if (isOutdoor) {
                     // 关闭墙外同时 打开墙里第二层自动门
-                    autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
+//                    autoDoorClient.sendOpen(AutoDoorClient.AUTO_DOOR_NO.C);
                     closeOutDoorNum++;
                 } else {
                     closeInDoorNum++;