From 8b9b604e379f92dc61fb55e1454b7f1d107428d9 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 16 六月 2025 16:14:17 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/utils/CommandUtils.java | 112 ++++++++++
src/main/java/com/zy/asrs/controller/SiteController.java | 4
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 383 +++++++++++++++++-----------------
src/main/java/com/zy/asrs/entity/param/Result.java | 21 +
src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java | 78 +++---
src/main/resources/application-prod.yml | 14 +
pom.xml | 2
src/main/java/com/zy/asrs/service/ToWmsService.java | 4
8 files changed, 382 insertions(+), 236 deletions(-)
diff --git a/pom.xml b/pom.xml
index f8501f5..6db2168 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zy</groupId>
- <artifactId>scwcs</artifactId>
+ <artifactId>wcs</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 183e4c1..741daa3 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -48,8 +48,8 @@
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
Map<String, Object> map2 = new HashMap<>();
map2.put("floor", 2);
- map2.put("modeVal", devpThread.ioModeOf1F.id);
- map2.put("modeDesc", devpThread.ioModeOf1F.desc);
+ map2.put("modeVal", devpThread.ioModeOf1F1.id);
+ map2.put("modeDesc", devpThread.ioModeOf1F1.desc);
res.add(map2);
}
return R.ok().add(res);
diff --git a/src/main/java/com/zy/asrs/entity/param/Result.java b/src/main/java/com/zy/asrs/entity/param/Result.java
new file mode 100644
index 0000000..94e8945
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/Result.java
@@ -0,0 +1,21 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class Result {
+ /**
+ * 鍒嗛厤鐨勮揣浣嶆墍灞炰换鍔D
+ */
+ private String taskNo;
+ /**
+ * 搴撲綅鍙�
+ */
+ private String locNo;
+ /**
+ * 鍫嗗灈鏈虹紪鍙�
+ */
+ private Integer crnNo;
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ToWmsService.java b/src/main/java/com/zy/asrs/service/ToWmsService.java
index 5a8fc50..ee50a3c 100644
--- a/src/main/java/com/zy/asrs/service/ToWmsService.java
+++ b/src/main/java/com/zy/asrs/service/ToWmsService.java
@@ -1,10 +1,10 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.TaskWrk;
-import com.zy.asrs.entity.wms.StorageEscalationParam;
+import com.zy.asrs.entity.param.StorageEscalationParam;
import com.zy.asrs.entity.wms.WmsResult;
-public interface ToWmsService {
+public interface ToWmsService {
void addReportLog(TaskWrk taskWrk);
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 8e98ef9..01f354a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,7 +12,6 @@
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.Result;
import com.zy.asrs.entity.param.StorageEscalationParam;
import com.zy.asrs.entity.param.TaskOverToWms;
import com.zy.asrs.mapper.BasCrnErrorMapper;
@@ -388,172 +387,172 @@
}
}
- //鎷f枡鍥炲簱
- public synchronized void PickingAndReturningToTheWarehouse() throws IOException, InterruptedException {
- try {
- // 鏍规嵁杈撻�佺嚎plc閬嶅巻
- for (DevpSlave devp : slaveProperties.getDevp()) {
- // 閬嶅巻鍏ュ簱鍙�
- for (DevpSlave.Sta inSta : devp.getPickSta()) {
- StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
- // 鑾峰彇鍏ュ簱绔欎俊鎭�
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- Short workNo = staProtocol.getWorkNo();
- //led
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
- // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
- if (staProtocol.isAutoing() && staProtocol.isLoading()
- && staProtocol.isInEnable()
- && staProtocol.isPakMk()) {
- // 鑾峰彇鏉$爜鎵弿浠俊鎭�
- String BoxNo = "";
- //绔欑偣鎷f枡鍥炲簱浠诲姟鏄細鏈変竴鏉�
- TaskWrk taskWrkk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("start_point", staProtocol.getSiteId()));
- if (!Cools.isEmpty(taskWrkk)) {
- continue;
- }
- if (!staProtocol.isEmptyMk() && staProtocol.getWorkNo() < 9990) {
-
- TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("wrk_no", workNo));
-
- if (!Cools.isEmpty(taskWrk1)) {
- BoxNo = taskWrk1.getBarcode();
- } else {
- TaskWrkLog taskWrkLog = taskWrkLogService.selectOne(new EntityWrapper<TaskWrkLog>().eq("wrk_no", workNo).orderBy("modi_time", false));
- if (taskWrkLog != null) {
- BoxNo = taskWrkLog.getBarcode();
- }
- }
- }
- log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
- storageEscalationParam.setBoxNo(BoxNo);
- //鏄惁婊℃澘 1婊℃澘 0绌烘澘
- storageEscalationParam.setStaType(staProtocol.isEmptyMk() ? 0 : 1);
- //搴撲綅绫诲瀷 1楂樺簱浣� 0浣庡簱浣�
- storageEscalationParam.setLocType(staProtocol.isHigh() ? 1 : 0);
- storageEscalationParam.setTerminalNo(staProtocol.getSiteId());
- String response = "";
- Boolean success = false;
- try {
- response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath(inboundTaskApplyPath)
- .setJson(JSON.toJSONString(storageEscalationParam))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
-
- if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) {
- Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
-
- // 鍒涙柊涓�涓叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
- if (Cools.isEmpty(taskWrk)) {
- taskWrk = createTask1(result, BoxNo, staProtocol.getSiteId());
- if (Cools.isEmpty(taskWrk)) {
- log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
- } else {
- taskWrkService.insert(taskWrk);
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("TaskNo", taskWrk.getTaskNo());
- try {
- //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
- response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath(taskStatusFeedbackPath)
- .setJson(JSON.toJSONString(hashMap))
- .build()
- .doPost();
- JSONObject jsonObject1 = JSON.parseObject(response);
- Boolean bool = false;
- if (jsonObject1.get("ReturnStatus").equals(0)) {
- taskWrk.setStatus(2);//娲惧彂浠诲姟
- bool = true;
- taskWrkService.updateById(taskWrk);
- }
- apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
- , wmsUrl + TaskExecCallback
- , null
- , "127.0.0.1"
- , JSON.toJSONString(hashMap)
- , response
- , bool
- );
- } catch (Exception e) {
-
- }
- }
- } else {
- // led 寮傚父鏄剧ず
- if (ledThread != null) {
- String errorMsg = "浠诲姟宸插瓨鍦紒锛侊紒锛�";
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
- }
- staProtocol.setWorkNo((short) 9991);
- staProtocol.setStaNo(inSta.getBackSta().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }
-
- } else {
- // led 寮傚父鏄剧ず
- if (ledThread != null) {
- String errorMsg = jsonObject.getString("ErrorMessage");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
- }
- staProtocol.setWorkNo((short) 9991);
- staProtocol.setStaNo(inSta.getBackSta().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }
-
- } catch (Exception e) {
- log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触");
- log.error("寮傚父淇℃伅鎵撳嵃锛�" + e);
- try {
- BasDevp basDevp = basDevpService.selectById(inSta.getStaNo());
- if (Cools.isEmpty(basDevp)) {
- log.error("绔欑偣鍙峰紓甯�" + inSta.getStaNo());
- } else if (basDevp.getStaErr() != 0) {
- basDevp.setStaErr(2);
- basDevpService.updateById(basDevp);
- }
- } catch (Exception e1) {
- // 閫�鍥�
- log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1);
- }
- } finally {
- apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
- , wmsUrl + inboundTaskApplyPath
- , null
- , "127.0.0.1"
- , JSON.toJSONString(storageEscalationParam)
- , response
- , success
- );
- }
- log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(BoxNo));
- log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(response));
- }
- }
- }
- } catch (Exception e) {
- log.error("generateStoreWrkFile e", e);
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- }
+// //鎷f枡鍥炲簱
+// public synchronized void PickingAndReturningToTheWarehouse() throws IOException, InterruptedException {
+// try {
+// // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+// for (DevpSlave devp : slaveProperties.getDevp()) {
+// // 閬嶅巻鍏ュ簱鍙�
+// for (DevpSlave.Sta inSta : devp.getPickSta()) {
+// StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
+// // 鑾峰彇鍏ュ簱绔欎俊鎭�
+// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+// StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+// if (staProtocol == null) {
+// continue;
+// } else {
+// staProtocol = staProtocol.clone();
+// }
+// Short workNo = staProtocol.getWorkNo();
+// //led
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+//
+// // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+// if (staProtocol.isAutoing() && staProtocol.isLoading()
+// && staProtocol.isInEnable()
+// && staProtocol.isPakMk()) {
+// // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+// String BoxNo = "";
+// //绔欑偣鎷f枡鍥炲簱浠诲姟鏄細鏈変竴鏉�
+// TaskWrk taskWrkk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("start_point", staProtocol.getSiteId()));
+// if (!Cools.isEmpty(taskWrkk)) {
+// continue;
+// }
+// if (!staProtocol.isEmptyMk() && staProtocol.getWorkNo() < 9990) {
+//
+// TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("wrk_no", workNo));
+//
+// if (!Cools.isEmpty(taskWrk1)) {
+// BoxNo = taskWrk1.getBarcode();
+// } else {
+// TaskWrkLog taskWrkLog = taskWrkLogService.selectOne(new EntityWrapper<TaskWrkLog>().eq("wrk_no", workNo).orderBy("modi_time", false));
+// if (taskWrkLog != null) {
+// BoxNo = taskWrkLog.getBarcode();
+// }
+// }
+// }
+// log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
+// storageEscalationParam.setBoxNo(BoxNo);
+// //鏄惁婊℃澘 1婊℃澘 0绌烘澘
+// storageEscalationParam.setStaType(staProtocol.isEmptyMk() ? 0 : 1);
+// //搴撲綅绫诲瀷 1楂樺簱浣� 0浣庡簱浣�
+// storageEscalationParam.setLocType(staProtocol.isHigh() ? 1 : 0);
+// storageEscalationParam.setTerminalNo(staProtocol.getSiteId());
+// String response = "";
+// Boolean success = false;
+// try {
+// response = new HttpHandler.Builder()
+// .setUri(wmsUrl)
+// .setPath(inboundTaskApplyPath)
+// .setJson(JSON.toJSONString(storageEscalationParam))
+// .build()
+// .doPost();
+// JSONObject jsonObject = JSON.parseObject(response);
+//
+// if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) {
+// Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
+//
+// // 鍒涙柊涓�涓叆搴撳伐浣滄。
+// TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
+// if (Cools.isEmpty(taskWrk)) {
+// taskWrk = createTask1(result, BoxNo, staProtocol.getSiteId());
+// if (Cools.isEmpty(taskWrk)) {
+// log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
+// } else {
+// taskWrkService.insert(taskWrk);
+// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+// .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+// staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+// staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// HashMap<String, Object> hashMap = new HashMap<>();
+// hashMap.put("TaskNo", taskWrk.getTaskNo());
+// try {
+// //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+// response = new HttpHandler.Builder()
+// .setUri(wmsUrl)
+// .setPath(taskStatusFeedbackPath)
+// .setJson(JSON.toJSONString(hashMap))
+// .build()
+// .doPost();
+// JSONObject jsonObject1 = JSON.parseObject(response);
+// Boolean bool = false;
+// if (jsonObject1.get("ReturnStatus").equals(0)) {
+// taskWrk.setStatus(2);//娲惧彂浠诲姟
+// bool = true;
+// taskWrkService.updateById(taskWrk);
+// }
+// apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
+// , wmsUrl + TaskExecCallback
+// , null
+// , "127.0.0.1"
+// , JSON.toJSONString(hashMap)
+// , response
+// , bool
+// );
+// } catch (Exception e) {
+//
+// }
+// }
+// } else {
+// // led 寮傚父鏄剧ず
+// if (ledThread != null) {
+// String errorMsg = "浠诲姟宸插瓨鍦紒锛侊紒锛�";
+// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+// }
+// staProtocol.setWorkNo((short) 9991);
+// staProtocol.setStaNo(inSta.getBackSta().shortValue());
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// }
+//
+// } else {
+// // led 寮傚父鏄剧ず
+// if (ledThread != null) {
+// String errorMsg = jsonObject.getString("ErrorMessage");
+// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+// }
+// staProtocol.setWorkNo((short) 9991);
+// staProtocol.setStaNo(inSta.getBackSta().shortValue());
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// }
+//
+// } catch (Exception e) {
+// log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触");
+// log.error("寮傚父淇℃伅鎵撳嵃锛�" + e);
+// try {
+// BasDevp basDevp = basDevpService.selectById(inSta.getStaNo());
+// if (Cools.isEmpty(basDevp)) {
+// log.error("绔欑偣鍙峰紓甯�" + inSta.getStaNo());
+// } else if (basDevp.getStaErr() != 0) {
+// basDevp.setStaErr(2);
+// basDevpService.updateById(basDevp);
+// }
+// } catch (Exception e1) {
+// // 閫�鍥�
+// log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1);
+// }
+// } finally {
+// apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
+// , wmsUrl + inboundTaskApplyPath
+// , null
+// , "127.0.0.1"
+// , JSON.toJSONString(storageEscalationParam)
+// , response
+// , success
+// );
+// }
+// log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(BoxNo));
+// log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(response));
+// }
+// }
+// }
+// } catch (Exception e) {
+// log.error("generateStoreWrkFile e", e);
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// }
+// }
public synchronized void generateStoreWrkFile() throws IOException, InterruptedException {
try {
@@ -1705,31 +1704,31 @@
return response;
}
- private TaskWrk createTask1(Result result, String barcode, Integer staNo) {
- String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
-
- Date now = new Date();
- TaskWrk taskWrk = new TaskWrk();
- int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
- taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
- taskWrk.setWrkNo(workNo1);
- taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
- taskWrk.setCreateTime(now);
- taskWrk.setIoType(1);//浠诲姟绫诲瀷 鍏ュ簱
- taskWrk.setIoPri(13);//浼樺厛绾�
- taskWrk.setBarcode(barcode);//鏉$爜
- taskWrk.setTargetPoint(locNo);
- taskWrk.setStartPoint(staNo + "");
- taskWrk.setCrnNo(Integer.valueOf(result.getAlley()));//鍫嗗灈鏈哄彿
-
- if (taskWrk.getIoType() == 1) {
- taskWrk.setWrkSts(2);
- if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
- taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
- }
- }
- return taskWrk;
- }
+// private TaskWrk createTask1(Result result, String barcode, Integer staNo) {
+// String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
+//
+// Date now = new Date();
+// TaskWrk taskWrk = new TaskWrk();
+// int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+// taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
+// taskWrk.setWrkNo(workNo1);
+// taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+// taskWrk.setCreateTime(now);
+// taskWrk.setIoType(1);//浠诲姟绫诲瀷 鍏ュ簱
+// taskWrk.setIoPri(13);//浼樺厛绾�
+// taskWrk.setBarcode(barcode);//鏉$爜
+// taskWrk.setTargetPoint(locNo);
+// taskWrk.setStartPoint(staNo + "");
+// taskWrk.setCrnNo(Integer.valueOf(result.getAlley()));//鍫嗗灈鏈哄彿
+//
+// if (taskWrk.getIoType() == 1) {
+// taskWrk.setWrkSts(2);
+// if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+// taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+// }
+// }
+// return taskWrk;
+// }
private TaskWrk createTask(GetWmsDto dto, String barcode) {
String wcsLocNo = dto.getLocNo();
diff --git a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
index 94eb972..6f10a9c 100644
--- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
@@ -8,7 +8,7 @@
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.TaskWrk;
import com.zy.asrs.entity.TaskWrkReport;
-import com.zy.asrs.entity.wms.StorageEscalationParam;
+import com.zy.asrs.entity.param.StorageEscalationParam;
import com.zy.asrs.entity.wms.WmsResult;
import com.zy.asrs.service.*;
import com.zy.common.service.CommonService;
@@ -84,44 +84,44 @@
@Override
public TaskWrk getLocNoFromWms(StorageEscalationParam wmsParam) {
- String response = "";
- Boolean success = false;
- try {
- response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath(inboundTaskApplyPath)
- .setJson(JSON.toJSONString(wmsParam))
- .build()
- .doPost();
- if (!Cools.isEmpty(response)) {
- JSONObject jsonObject = JSON.parseObject(response);
- if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) {
- //鏈変簺涓夋柟wms绯荤粺涓嶈兘鍙婃椂杩斿洖搴撲綅鍙凤紝杩欐椂鍊欏氨闇�瑕�
- //ZWmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
- TaskWrk taskWrk = null;
- int i = 1;
- while (i < 10) {
- taskWrk = taskWrkService.selectByBarcode(wmsParam.getBarcode());
- if (taskWrk != null) {
- break;
- }
- try {
- i++;
- Thread.sleep(500L);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- }
- return taskWrk;
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- log.info("璇锋眰wms鎶ラ敊锛寋}", e.getMessage());
- } finally {
- addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success);
- }
- return null;
+// String response = "";
+// Boolean success = false;
+// try {
+// response = new HttpHandler.Builder()
+// .setUri(wmsUrl)
+// .setPath(inboundTaskApplyPath)
+// .setJson(JSON.toJSONString(wmsParam))
+// .build()
+// .doPost();
+// if (!Cools.isEmpty(response)) {
+// JSONObject jsonObject = JSON.parseObject(response);
+// if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) {
+// //鏈変簺涓夋柟wms绯荤粺涓嶈兘鍙婃椂杩斿洖搴撲綅鍙凤紝杩欐椂鍊欏氨闇�瑕�
+// //ZWmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
+// TaskWrk taskWrk = null;
+// int i = 1;
+// while (i < 10) {
+// taskWrk = taskWrkService.selectByBarcode(wmsParam.getBarcode());
+// if (taskWrk != null) {
+// break;
+// }
+// try {
+// i++;
+// Thread.sleep(500L);
+// } catch (InterruptedException e) {
+// throw new RuntimeException(e);
+// }
+// }
+// return taskWrk;
+// }
+// }
+// } catch (IOException e) {
+// e.printStackTrace();
+// log.info("璇锋眰wms鎶ラ敊锛寋}", e.getMessage());
+// } finally {
+// addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success);
+// }
+ return null;
}
diff --git a/src/main/java/com/zy/asrs/utils/CommandUtils.java b/src/main/java/com/zy/asrs/utils/CommandUtils.java
new file mode 100644
index 0000000..fbe4ec3
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/CommandUtils.java
@@ -0,0 +1,112 @@
+package com.zy.asrs.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.CommandInfo;
+import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.service.CommandInfoService;
+import com.zy.asrs.service.TaskWrkService;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.enums.CommandStatusType;
+import com.zy.core.enums.CommandType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.Task;
+import com.zy.core.model.command.CommandPackage;
+import com.zy.core.model.command.CrnCommand;
+import com.zy.core.model.protocol.StaProtocol;
+
+import java.util.Date;
+
+public class CommandUtils {
+
+ public static boolean offer(SlaveType type, Integer id, Task task) {
+ return offer(type, id, task, true);
+ }
+
+ public static boolean offer(SlaveType type, Integer id, Task task, Boolean auto) {
+ CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
+ if (commandInfoService == null) {
+ return false;
+ }
+ TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
+ if (taskWrkService == null) {
+ return false;
+ }
+
+ CommandInfo commandInfo = null;
+ TaskWrk taskWrk = null;
+ int wrkNo = 0;//宸ヤ綔鍙�
+ String taskNo = null;//浠诲姟鍙�
+
+ if (type == SlaveType.Crn) {
+ CommandPackage<CrnCommand> commandPackage = new CommandPackage<>();
+ CrnCommand command = (CrnCommand) task.getData();
+ wrkNo = command.getTaskNo();
+ if (auto && wrkNo != 0) {
+ taskWrk = taskWrkService.selectByWrkNo(wrkNo);
+ taskNo = taskWrk.getTaskNo();
+ }
+
+ commandInfo = new CommandInfo();
+ commandInfo.setWrkNo(wrkNo);
+ commandInfo.setTaskNo(taskNo);
+ commandInfo.setCommandStatus(CommandStatusType.CREATE.id);
+ commandInfo.setStartTime(new Date());
+ commandInfo.setDevice(SlaveType.Crn.toString());
+ commandInfo.setCommandType(auto ? CommandType.AUTO.id : CommandType.MANUAL.id);
+
+ commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护
+
+ command.setCommandId(commandInfo.getId());
+ commandPackage.setWrkNo(wrkNo);
+ commandPackage.setDevice("鍫嗗灈鏈�");
+ commandPackage.setCommand(command);//淇濆瓨鍛戒护鎶ユ枃
+ commandInfo.setCommand(JSON.toJSONString(commandPackage));
+ commandInfoService.updateById(commandInfo);
+
+ if (!auto) {
+ //灏嗘寚浠よ繘琛屾姇閫�
+ if (!MessageQueue.offer(type, id, task)) {
+ return false;
+ }
+ }
+ return true;
+ } else if (type == SlaveType.Devp) {
+ CommandPackage<StaProtocol> commandPackage = new CommandPackage<>();
+ StaProtocol staProtocol = (StaProtocol) task.getData();
+ wrkNo = staProtocol.getWorkNo();
+ if (auto && wrkNo != 0) {
+ taskWrk = taskWrkService.selectByWrkNo(wrkNo);
+ taskNo = taskWrk.getTaskNo();
+ }
+
+ commandInfo = new CommandInfo();
+ commandInfo.setWrkNo(wrkNo);
+ commandInfo.setTaskNo(taskNo);
+ commandInfo.setCommandStatus(CommandStatusType.CREATE.id);
+ commandInfo.setStartTime(new Date());
+ commandInfo.setDevice(SlaveType.Devp.toString());
+ commandInfo.setCommandType(auto ? CommandType.AUTO.id : CommandType.MANUAL.id);
+
+ commandInfoService.insert(commandInfo);//鎻掑叆鎸囦护
+
+ staProtocol.setCommandId(commandInfo.getId());
+ commandPackage.setCommand(staProtocol);
+ commandPackage.setWrkNo(wrkNo);
+ commandPackage.setDevice("杈撻�佺嚎");
+ commandInfo.setCommand(JSON.toJSONString(commandPackage));//淇濆瓨鍛戒护鎶ユ枃
+ commandInfoService.updateById(commandInfo);
+
+ if (!auto) {
+ //灏嗘寚浠よ繘琛屾姇閫�
+ if (!MessageQueue.offer(type, id, task)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ return false;
+ }
+
+}
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index d90d3da..c9aa539 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -23,6 +23,20 @@
lev: 1
backSta: 100
devpPlcId: 1
+
+ devp[0]:
+ id: 1
+ ip:
+ rack: 0
+ port: 102
+ slot: 0
+ emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0
+ staNo: 100
+ inSta[0]: #鍏ュ簱鍙�1
+ staNo: 100
+ outSta[0]: #鍑哄簱鍙�1
+ staNo: 100
+
--
Gitblit v1.9.1