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