From 38ce5bc7cd58a218f89d8f9ca6aacd7e14d6d93e Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 03 二月 2026 15:53:54 +0800
Subject: [PATCH] 1

---
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java                      |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java                |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java                           |    2 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java      |    4 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java |   38 ++++
 zy-acs-cv/src/main/resources/mapper/JobMapper.xml                                   |   11 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java           |   17 ++
 /dev/null                                                                           |   72 ---------
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java |    2 
 zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java                    |   10 
 zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java                                 |   27 ++
 zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java                     |   23 ++
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java       |   15 -
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java            |   87 ++++++++++
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java                   |   18 ++
 zy-acs-cv/src/main/resources/application.yml                                        |    6 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java            |   12 +
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearOperationHandler.java    |    4 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java |  108 +++++++++++++
 19 files changed, 352 insertions(+), 108 deletions(-)

diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java
new file mode 100644
index 0000000..9861f92
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2023/6/12
+ */
+@Data
+public class ApplyInDto {
+
+    private String staNo;
+
+    private String barcode;
+
+
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java
new file mode 100644
index 0000000..12b5f9d
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2023/6/12
+ */
+@Data
+public class ApplyInRepsonseDto {
+
+    private String loc;
+
+    private String taskNo;
+
+    private String batchNo;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java
index 685036e..61766a1 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java
@@ -10,6 +10,8 @@
 
     private String taskNo;
 
+    private String batchNo;
+
     private String memo;
 
     private String oriLoc;
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
index 7a0fa52..8ed03df 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
@@ -27,14 +27,33 @@
     /**
      * 浠诲姟鍙�
      */
-    @TableField("seq_num")
-    private String seqNum;
+    @TableField("task_no")
+    private String taskNo;
 
+
+    /**
+     * 鎵规鍙�
+     */
+    @TableField("batch_no")
+    private String batchNo;
+    /**
+     * 绔欑偣鍙�
+     */
+    @TableField("sta_no")
+    private String staNo;
+
+    /**
+     * 搴撲綅鍙�
+     */
+    @TableField("loc")
+    private String loc;
     /**
      * 宸ヤ綔鍙凤紝绯荤粺鑷繁缁存姢
      */
     @TableField("job_no")
     private Integer jobNo;
+
+
 
     /**
      * 宸ヤ綔鐘舵��
@@ -44,8 +63,8 @@
     /**
      * 鍏ュ簱鏃堕棿
      */
-    @TableField("in_time")
-    private Date inTime;
+    @TableField("wms_time")
+    private Date wmsTime;
     /**
      * 鍙戠敓浠诲姟鏃堕棿
      */
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
index c238594..96e01a3 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
@@ -13,7 +13,7 @@
 public interface JobMapper extends BaseMapper<Job> {
 
 
-    Job getJobBySeqNum(@Param("seqNum") String seqNum);
+    Job getJobByTaskNo(@Param("seqNum") String seqNum);
 
     Job getJobByJobNo(@Param("workNo") Integer workNo);
 
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java
new file mode 100644
index 0000000..ad1f2a9
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java
@@ -0,0 +1,23 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.controller.vo.ApplyInDto;
+import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
+import com.zy.asrs.controller.vo.OpenBusSubmitParam;
+
+/**
+ * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔℃帴鍙�
+ * Created by vincent on 2020/8/6
+ */
+public interface WmsMainService {
+
+
+
+    /**
+     * 妫�鏌ョ珯鐐圭姸鎬�
+     *
+     * @param applyInDto 绔欑偣缂栧彿
+     * @return 搴撲綅淇℃伅
+     */
+     ApplyInRepsonseDto getLocOfWms(ApplyInDto applyInDto);
+
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
index 467c66c..8cc721e 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
@@ -3,8 +3,11 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.controller.requestParam.StationRequestParam;
+import com.zy.asrs.controller.vo.ApplyInDto;
+import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
 import com.zy.asrs.controller.vo.OpenBusSubmitParam;
 import com.zy.asrs.controller.vo.StationStatus;
 import com.zy.asrs.service.CtuMainService;
@@ -24,7 +27,7 @@
  * Created by vincent on 2020/8/6
  */
 @Slf4j
-@Service("ctuMainService")
+@Service
 @Transactional
 @Data
 public class CtuMainServiceImpl implements CtuMainService {
@@ -107,8 +110,8 @@
                 }
                 log.info("鏈繑鍥炵珯鐐圭姸鎬侊細{}", staNo);
             } else {
-                log.error("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛歿}锛屽搷搴斿唴瀹癸細{}", jsonObject.getInteger("code"), response);
-                throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛�" + jsonObject.getInteger("code"));
+                log.error("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛歿}锛屽搷搴斿唴瀹癸細{}", jsonObject.getInteger(code), response);
+                throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛�" + jsonObject.getInteger(code));
             }
         } catch (CoolException e) {
             log.error("璋冪敤绔欑偣鐘舵�佹帴鍙e紓甯�", e);
@@ -118,4 +121,7 @@
         }
         return null;
     }
+
+
+
 }
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
index 96dc870..662ac51 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
@@ -22,7 +22,7 @@
 
     @Override
     public Job getJobBySeqNum(String seqNum) {
-        return baseMapper.getJobBySeqNum(seqNum);
+        return baseMapper.getJobByTaskNo(seqNum);
     }
 
     @Override
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java
new file mode 100644
index 0000000..3622d04
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java
@@ -0,0 +1,87 @@
+package com.zy.asrs.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.core.exception.CoolException;
+import com.zy.asrs.controller.requestParam.StationRequestParam;
+import com.zy.asrs.controller.vo.ApplyInDto;
+import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
+import com.zy.asrs.controller.vo.OpenBusSubmitParam;
+import com.zy.asrs.controller.vo.StationStatus;
+import com.zy.asrs.service.CtuMainService;
+import com.zy.asrs.service.WmsMainService;
+import com.zy.common.utils.HttpHandler;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
+ * Created by vincent on 2020/8/6
+ */
+@Slf4j
+@Service
+@Transactional
+@Data
+public class WmsMainServiceImpl implements WmsMainService {
+
+
+    @Value("${ctu.url}")
+    private String wmsUrl;
+
+
+
+    @Value("${ctu.sendTask}")
+    private String apply;
+
+    private String code ="code";
+
+    private String dataCode ="data";
+
+    private Integer codeValue =200;
+
+    private Integer timeout = 1200;
+
+
+
+    /**
+     * 妫�鏌ョ珯鐐圭姸鎬�
+     *
+     * @param applyInDto 绔欑偣缂栧彿
+     * @return 搴撲綅淇℃伅
+     */
+    public ApplyInRepsonseDto getLocOfWms(ApplyInDto applyInDto) {
+        String response = "";
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(wmsUrl)
+                    .setPath(apply)
+                    .setTimeout(timeout, TimeUnit.SECONDS)
+                    .setJson(JSON.toJSONString(applyInDto))
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger(code).equals(codeValue)) {
+                log.info("WMS杩斿洖鏁版嵁锛歿}", response);
+                JSONArray data = jsonObject.getJSONArray(dataCode);
+                return JSONObject.parseObject(data.toString(), ApplyInRepsonseDto.class);
+            } else {
+                log.error("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛歿}锛屽搷搴斿唴瀹癸細{}", jsonObject.getInteger(code), response);
+                throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛�" + jsonObject.getInteger(code));
+            }
+        } catch (CoolException e) {
+            log.error("璋冪敤绔欑偣鐘舵�佹帴鍙e紓甯�", e);
+            throw e;
+        } catch (Exception e) {
+            log.error("妫�鏌ョ珯鐐圭姸鎬佸け璐ワ紝鏉$爜缂栧彿锛歿},绔欑偣锛歿}", applyInDto.getBarcode(),applyInDto.getStaNo(), e);
+        }
+        return null;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java b/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
index 93953c4..c465e02 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
@@ -1,13 +1,17 @@
 package com.zy.core.enums;
 
 public enum ConveyorStateType {
-
+    //鍑哄簱璁惧涓婅蛋
     OUTBOUND,
+    //妯℃嫙鐢ㄦ埛
     FAKEUSER,
+    //鍏ュ簱鐢宠
+    APPLYLOC,
+    //鍏ュ簱璁惧涓婅蛋
     INBOUND,
-    FAKEWMS,
-    FAKETASK,
+    //娓呴櫎杈撻�佺嚎涓婄殑淇″彿
     CLEARSIGNAL,
+    //鍙戦�佷换鍔$粰RCS
     SENDTASK;
 
 
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
new file mode 100644
index 0000000..9bcf311
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
@@ -0,0 +1,108 @@
+package com.zy.core.operation.handler;
+
+import com.core.exception.CoolException;
+import com.zy.asrs.controller.vo.ApplyInDto;
+import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.service.CtuMainService;
+import com.zy.asrs.service.JobService;
+import com.zy.asrs.service.WmsMainService;
+import com.zy.asrs.service.WrkLastnoService;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.operation.OperationHandler;
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.Date;
+
+/**
+ * 鍏ュ簱
+ */
+@Slf4j
+@Component
+public class AppleLocOperationHandler implements OperationHandler {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+
+    @Autowired
+    private WrkLastnoService wrkLastnoService;
+
+    @Autowired
+    private WmsMainService wmsMainService;
+
+    @Autowired
+    private JobService jobService;
+
+
+    @Override
+    public ConveyorStateType getType() {
+        return ConveyorStateType.APPLYLOC;
+    }
+
+    @Override
+    public synchronized void execute(CtuOperationConfig config) {
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                // 閬嶅巻鍏ュ簱鍙�
+                for (DevpSlave.Sta inSta : devp.getInSta()) {
+                    // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
+
+                    if (staProtocol == null) {
+                        return;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+                    if (!staProtocol.isLoading()) {
+                        return;
+                    }
+                    if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
+                        Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(), 2);
+                        if (job != null) {
+                            ApplyInDto applyInDto=new ApplyInDto();
+                            applyInDto.setStaNo(inSta.getStaNo()+"");
+                            applyInDto.setBarcode(barcodeThread.getBarcode());
+                            //TODO
+                            ApplyInRepsonseDto locOfWms =new ApplyInRepsonseDto();
+                            locOfWms.setTaskNo(System.currentTimeMillis()+"");
+                            locOfWms.setBatchNo(System.currentTimeMillis()+"");
+                            //ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyInDto);
+                            if (locOfWms != null) {
+                                job.setLoc(locOfWms.getLoc());
+                                job.setTaskNo(locOfWms.getTaskNo());
+                                job.setBatchNo(locOfWms.getBatchNo());
+                                job.setStaNo(inSta.getTargetSta()+"");
+                                job.setJobSts(4);
+                                job.setWmsTime(new Date());
+                                jobService.updateById(job);
+                            }else {
+                                log.info("WMS鏈繑鍥炲簱浣嶄俊鎭紝{}",applyInDto);
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearOperationHandler.java
index f69034b..4b44360 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearOperationHandler.java
@@ -48,7 +48,7 @@
     }
 
     @Override
-    public void execute(CtuOperationConfig config) {
+    public synchronized void execute(CtuOperationConfig config) {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -68,7 +68,7 @@
                     }
                     if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
                         Job job = jobService.getJobByJobNo(staProtocol.getWorkNo());
-                        if (job != null && job.getJobSts() >= 5) {
+                        if (job != null && job.getJobSts() >= 6) {
                             String s = ctuMainService.checkStationStatus(takeSta.getStaNo());
                             staProtocol.setWorkNo(0);
                             staProtocol.setStaNo(0);
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
index c4227f8..f2202b5 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
@@ -46,7 +46,7 @@
     }
 
     @Override
-    public void execute(CtuOperationConfig config) {
+    public synchronized void execute(CtuOperationConfig config) {
 
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeWmsOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeWmsOperationHandler.java
deleted file mode 100644
index 5ad9617..0000000
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeWmsOperationHandler.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.zy.core.operation.handler;
-
-import com.core.common.DateUtils;
-import com.zy.asrs.controller.vo.OpenBusSubmitParam;
-import com.zy.asrs.controller.vo.TaskDto;
-import com.zy.asrs.entity.Job;
-import com.zy.asrs.service.CtuMainService;
-import com.zy.asrs.service.JobService;
-import com.zy.asrs.service.WrkLastnoService;
-import com.zy.core.enums.ConveyorStateType;
-import com.zy.core.operation.OperationHandler;
-import com.zy.core.properties.CtuOperationConfig;
-import com.zy.core.properties.SlaveProperties;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-/**
- * 妯℃嫙WMS
- */
-@Slf4j
-@Component
-public class FakeWmsOperationHandler implements OperationHandler {
-
-    @Autowired
-    private SlaveProperties slaveProperties;
-
-
-    @Autowired
-    private WrkLastnoService wrkLastnoService;
-
-    @Autowired
-    private CtuMainService ctuMainService;
-
-    @Autowired
-    private JobService jobService;
-
-
-    @Override
-    public ConveyorStateType getType() {
-        return ConveyorStateType.FAKEWMS;
-    }
-
-    @Override
-    public void execute(CtuOperationConfig config) {
-        List<Job> jobs = jobService.listJobByJobSts(5);
-        for (Job job : jobs) {
-            OpenBusSubmitParam openBusSubmitParam = new OpenBusSubmitParam();
-            openBusSubmitParam.setBatchNo(DateUtils.convert(new Date()));
-            List<TaskDto> taskList = new ArrayList<>();
-            TaskDto taskDto = new TaskDto();
-            taskDto.setTaskNo("SSX-RK" + job.getJobNo());
-            taskDto.setOriSta("1007");
-            taskDto.setPriority(9527);
-            taskList.add(taskDto);
-            openBusSubmitParam.setTasks(taskList);
-            boolean b = ctuMainService.sendTask(openBusSubmitParam);
-            if (b) {
-                job.setJobSts(6);
-                job.setRcsTime(new Date());
-                jobService.updateById(job);
-                log.info("浠诲姟鍙戦�佺粰RCS鎴愬姛," + job.getSeqNum() + " - " + job.getJobNo());
-            } else {
-                log.info("浠诲姟鍙戦�佺粰RCS澶辫触," + job.getSeqNum() + " - " + job.getJobNo());
-            }
-        }
-    }
-}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
index 2beb955..1512cee 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
@@ -50,7 +50,7 @@
     }
 
     @Override
-    public void execute(CtuOperationConfig config) {
+    public synchronized void execute(CtuOperationConfig config) {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -71,20 +71,19 @@
                     if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
                         //StaProtocol targetStaProtocol = devpThread.getStation().get(inSta.getTargetSta());
                         //if (targetStaProtocol.getWorkNo() == 0 && targetStaProtocol.isAutoing() && !targetStaProtocol.isLoading()) {
-                            Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(), 2);
+                            Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(), 4);
                             if (job != null) {
                                 Integer workNo = staProtocol.getWorkNo();
                                 Integer targetSta = inSta.getTargetSta();
-                                staProtocol.setWorkNo(0);
-                                staProtocol.setStaNo(0);
-                                MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
-                                Thread.sleep(1500L);
+//                                staProtocol.setWorkNo(0);
+//                                staProtocol.setStaNo(0);
+//                                MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+//                                Thread.sleep(1500L);
                                 staProtocol.setWorkNo(workNo);
                                 staProtocol.setStaNo(targetSta);
                                 boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
                                 if (result) {
-                                    job.setJobSts(4);
-                                    job.setInTime(new Date());
+                                    job.setJobSts(5);
                                     if (!jobService.updateById(job)) {
                                         throw new CoolException("鏇存柊杈撻�佺嚎浠诲姟澶辫触," + " - " + staProtocol.getWorkNo());
                                     }
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
index 1098286..2da19d4 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
@@ -49,7 +49,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void execute(CtuOperationConfig config) {
+    public synchronized void execute(CtuOperationConfig config) {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -78,7 +78,7 @@
                                 staProtocol.setWorkNo(workNo);
                                 staProtocol.setStaNo(releaseSta.getTargetSta());
                                 Job job = new Job();
-                                job.setSeqNum(seqNum);
+                                job.setTaskNo(seqNum);
                                 job.setJobNo(workNo);
                                 job.setJobSts(2);
                                 if (!jobService.insert(job)) {
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
index a644e6f..3a54bd2 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
@@ -1,6 +1,11 @@
 package com.zy.core.operation.handler;
 
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.zy.asrs.controller.vo.OpenBusSubmitParam;
+import com.zy.asrs.controller.vo.TaskDto;
 import com.zy.asrs.entity.Job;
+import com.zy.asrs.service.CtuMainService;
 import com.zy.asrs.service.JobService;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.ConveyorStateType;
@@ -15,6 +20,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 鍙戦�佷换鍔$粰RCS
@@ -31,13 +40,16 @@
     private JobService jobService;
 
 
+    @Autowired
+    private CtuMainService ctuMainService;
+
     @Override
     public ConveyorStateType getType() {
         return ConveyorStateType.SENDTASK;
     }
 
     @Override
-    public void execute(CtuOperationConfig config) {
+    public synchronized void execute(CtuOperationConfig config) {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -57,9 +69,27 @@
                     }
                     if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
                         Job job = jobService.getJobByJobNo(staProtocol.getWorkNo());
-                        if (job != null && job.getJobSts() == 4) {
-                            job.setJobSts(5);
-                            jobService.updateById(job);
+                        if (job != null && job.getJobSts() == 5) {
+                            OpenBusSubmitParam openBusSubmitParam = new OpenBusSubmitParam();
+                            openBusSubmitParam.setBatchNo(DateUtils.convert(new Date()));
+                            List<TaskDto> taskList = new ArrayList<>();
+                            TaskDto taskDto = new TaskDto();
+                            taskDto.setTaskNo(job.getTaskNo());
+                            taskDto.setBatchNo(job.getBatchNo());
+                            taskDto.setOriSta(job.getStaNo());
+                            taskDto.setDestLoc(job.getLoc());
+                            //TODO
+                            taskDto.setPriority(9527);
+                            taskList.add(taskDto);
+                            openBusSubmitParam.setTasks(taskList);
+                            if (ctuMainService.sendTask(openBusSubmitParam)) {
+                                job.setJobSts(7);
+                                job.setRcsTime(new Date());
+                                jobService.updateById(job);
+                                log.info("浠诲姟鍙戦�佺粰RCS鎴愬姛," + job.getTaskNo() + " - " + job.getJobNo());
+                            } else {
+                                log.info("浠诲姟鍙戦�佺粰RCS澶辫触," + job.getTaskNo() + " - " + job.getJobNo());
+                            }
                         }
                     }
                 }
diff --git a/zy-acs-cv/src/main/resources/application.yml b/zy-acs-cv/src/main/resources/application.yml
index 7f49dc6..013266b 100644
--- a/zy-acs-cv/src/main/resources/application.yml
+++ b/zy-acs-cv/src/main/resources/application.yml
@@ -30,10 +30,10 @@
         max-retries: 3
         retry-delay: 500
       - type: FAKEUSER
-        mark: 30
+        mark: 20
         max-retries: 2
         retry-delay: 300
-      - type: FAKEWMS
+      - type: APPLYLOC
         mark: 30
         max-retries: 2
         retry-delay: 300
@@ -42,7 +42,7 @@
         max-retries: 3
         retry-delay: 500
       - type: CLEARSIGNAL
-        mark: 60
+        mark: 50
         max-retries: 2
         retry-delay: 300
       - type: SENDTASK
diff --git a/zy-acs-cv/src/main/resources/mapper/JobMapper.xml b/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
index c73e8d1..38f06e4 100644
--- a/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
+++ b/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
@@ -5,10 +5,13 @@
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Job">
         <id column="id" property="id"/>
-        <result column="seq_num" property="seqNum"/>
+        <result column="task_no" property="taskNo"/>
+        <result column="batch_no" property="batchNo"/>
+        <result column="loc" property="loc"/>
+        <result column="sta_no" property="staNo"/>
         <result column="job_no" property="jobNo"/>
         <result column="job_sts" property="jobSts"/>
-        <result column="in_time" property="inTime"/>
+        <result column="wms_time" property="wmsTime"/>
         <result column="rcs_time" property="rcsTime"/>
         <result column="status" property="status"/>
         <result column="deleted" property="deleted"/>
@@ -20,10 +23,10 @@
         <result column="memo" property="memo"/>
     </resultMap>
 
-    <select id="getJobBySeqNum" resultMap="BaseResultMap">
+    <select id="getJobByTaskNo" resultMap="BaseResultMap">
         select *
         from cv_job
-        where seq_num = #{seqNum}
+        where task_no = #{seqNum}
     </select>
 
 

--
Gitblit v1.9.1