From fc429d289d311225fcd8dc288fb882bb7087a726 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 30 四月 2025 15:12:31 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 156 ++++++++++++++++++++++++++++------------------------
1 files changed, 84 insertions(+), 72 deletions(-)
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 f20e742..97ca482 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -10,7 +10,6 @@
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.Result;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.CommandUtils;
@@ -42,6 +41,7 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.io.IOException;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -96,9 +96,7 @@
@Value("${wms.inboundTaskApplyPath}")
private String inboundTaskApplyPath;
@Value("${wms.TaskExecCallback}")
- private String TaskExecCallback;
- @Value("${wms.taskStatusFeedbackPath}")
- private String taskStatusFeedbackPath;
+ private String taskExecCallback;
public synchronized void generateStoreWrkFile1() {
try {
@@ -167,13 +165,13 @@
}
HashMap<String, Object> requestParam = new HashMap<>();
- requestParam.put("BoxNo", barcode);//鎵樼洏鐮�
- requestParam.put("TerminalNo", inSta.getStaNo());//鍏ュ簱鍙�
+ requestParam.put("barcode", barcode);//鎵樼洏鐮�
+ requestParam.put("stationCode", inSta.getStaNo());//鍏ュ簱鍙�
if (back) {
- requestParam.put("WCSStatus", 1);//澶辫触
- requestParam.put("WCSErrorMessage", errMsg);//澶辫触鍘熷洜
+ requestParam.put("wcsStatus", 1);//澶辫触
+ requestParam.put("wcsErrorMessage", errMsg);//澶辫触鍘熷洜
}else {
- requestParam.put("WCSStatus", 0);//鎴愬姛
+ requestParam.put("wcsStatus", 0);//鎴愬姛
}
String response = "";
@@ -186,6 +184,10 @@
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code") != 200) {
+ log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
+ continue;
+ }
if (back) {
devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -193,73 +195,78 @@
continue;
}
- int returnStatus = Integer.parseInt(jsonObject.get("ReturnStatus").toString());
- if (returnStatus == 0) {
- Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
- // 鍒涙柊涓�涓叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
- if(taskWrk != null) {
- log.info("浠诲姟锛�" + result.getTaskNo() + "宸茬粡瀛樺湪");
- continue;
- }
+ JSONObject result = jsonObject.getJSONObject("data");
+ Integer resultWrkNo = result.getInteger("wrkNo");
+ Integer resultStaNo = result.getInteger("stnNo");
+ String resultLocNo = result.getString("locNo");
- String locNo = Utils.getLocNo(result.getRow(), result.getFloor(), result.getColumn());
- LocMast locMast = locMastService.selectByLocNo(locNo);
- if (locMast == null) {
- log.info(locNo + "搴撲綅涓嶅瓨鍦�");
- continue;
- }
+ // 鍒涙柊涓�涓叆搴撳伐浣滄。
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(String.valueOf(resultWrkNo));
+ if(taskWrk != null) {
+ log.info("浠诲姟锛�" + resultWrkNo + "宸茬粡瀛樺湪");
+ continue;
+ }
- if (!locMast.getLocSts().equals("O")) {
- log.info(locNo + "搴撲綅涓嶅浜庣┖搴撲綅");
- continue;
- }
+ LocMast locMast = locMastService.selectByLocNo(resultLocNo);
+ if (locMast == null) {
+ log.info(resultLocNo + "搴撲綅涓嶅瓨鍦�");
+ continue;
+ }
- Date now = new Date();
- taskWrk = new TaskWrk();
- taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
- taskWrk.setWrkNo(commonService.getWorkNo(WorkNoType.PAKIN.type));//鑾峰彇鍏ュ簱宸ヤ綔鍙�
- taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
- taskWrk.setWrkSts(2);//2.璁惧涓婅蛋
- taskWrk.setCreateTime(now);
- taskWrk.setIoType(1);//浠诲姟绫诲瀷
- taskWrk.setIoPri(13);//浼樺厛绾�
- taskWrk.setBarcode(barcode);//鏉$爜
- taskWrk.setCrnNo(locMast.getCrnNo());
- taskWrk.setTargetPoint(locNo);
- taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
- if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
- taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
- }
+ if (!locMast.getLocSts().equals("O")) {
+ log.info(resultLocNo + "搴撲綅涓嶅浜庣┖搴撲綅");
+ continue;
+ }
- if (!taskWrkService.insert(taskWrk)) {
- log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触");
- continue;
- }
+ Date now = new Date();
+ taskWrk = new TaskWrk();
+ taskWrk.setTaskNo(String.valueOf(resultWrkNo));//浠诲姟鍙�
+ taskWrk.setWrkNo(commonService.getWorkNo(WorkNoType.PAKIN.type));//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+ taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+ taskWrk.setWrkSts(2);//2.璁惧涓婅蛋
+ taskWrk.setCreateTime(now);
+ taskWrk.setIoType(1);//浠诲姟绫诲瀷
+ taskWrk.setIoPri(13);//浼樺厛绾�
+ taskWrk.setBarcode(barcode);//鏉$爜
+ taskWrk.setCrnNo(locMast.getCrnNo());
+ taskWrk.setTargetPoint(resultLocNo);
+ taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
+ if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+ taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+ }
- locMast.setLocSts("S");
- locMast.setModiTime(new Date());
- locMastService.updateById(locMast);
+ if (!taskWrkService.insert(taskWrk)) {
+ log.info("浠诲姟锛�" + resultWrkNo + "浠诲姟鍒涘缓澶辫触");
+ continue;
+ }
- 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));
+ locMast.setLocSts("S");
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
- //涓婃姤
- HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("TaskNo", taskWrk.getTaskNo());
+ 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));
- NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
- customDataDto.setUri(wmsUrl);
- customDataDto.setPath(taskStatusFeedbackPath);
- customDataDto.setData(JSON.toJSONString(hashMap));
- boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto);
- if(notifyResult) {
- taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟娲惧彂
- taskWrkService.updateById(taskWrk);
- }
+ //涓婃姤
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("taskNo", taskWrk.getTaskNo());
+ hashMap.put("status", TaskStatusType.DISTRIBUTE.id);
+ hashMap.put("ioType", 1);
+ hashMap.put("barcode", taskWrk.getBarcode());
+ hashMap.put("reportTime", format.format(new Date()));
+
+ NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
+ customDataDto.setUri(wmsUrl);
+ customDataDto.setPath(taskExecCallback);
+ customDataDto.setData(JSON.toJSONString(hashMap));
+ boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto);
+ if(notifyResult) {
+ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟娲惧彂
+ taskWrkService.updateById(taskWrk);
}
} catch (Exception e) {
log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触");
@@ -597,12 +604,17 @@
}
//涓婃姤-鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("TaskNo", taskWrk.getTaskNo());
+ hashMap.put("taskNo", taskWrk.getTaskNo());
+ hashMap.put("status", TaskStatusType.DISTRIBUTE.id);
+ hashMap.put("ioType", 2);
+ hashMap.put("barcode", taskWrk.getBarcode());
+ hashMap.put("reportTime", format.format(new Date()));
NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
customDataDto.setUri(wmsUrl);
- customDataDto.setPath(taskStatusFeedbackPath);
+ customDataDto.setPath(taskExecCallback);
customDataDto.setData(JSON.toJSONString(hashMap));
boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto);
if(notifyResult) {
@@ -690,7 +702,7 @@
response = new HttpHandler.Builder()
// .setHeaders(headParam)
.setUri(wmsUrl)
- .setPath(taskStatusFeedbackPath)
+ .setPath(taskExecCallback)
.setJson(JSON.toJSONString(headParam))
.build()
.doPost();
@@ -706,7 +718,7 @@
// throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触");
}finally {
apiLogService.save("wcs娲惧彂绉诲簱浠诲姟涓婃姤wms"
- , wmsUrl + taskStatusFeedbackPath
+ , wmsUrl + taskExecCallback
, null
, "127.0.0.1"
, JSON.toJSONString(headParam)
--
Gitblit v1.9.1