From a1e94379b115721b2e604070dc48063b8016f72f Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 21 十月 2025 19:32:59 +0800
Subject: [PATCH] 侧面输送线出库码盘信息对接
---
src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java | 126 +++++++++++++++++++++++++++++++++++------
1 files changed, 107 insertions(+), 19 deletions(-)
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 59ee1da..5fde269 100644
--- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
@@ -3,40 +3,39 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
-import com.zy.asrs.entity.TaskWrk;
-import com.zy.asrs.entity.TaskWrkReport;
+import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.domain.enums.WorkNoType;
+import com.zy.asrs.entity.*;
import com.zy.asrs.entity.wms.StorageEscalationParam;
import com.zy.asrs.entity.wms.WmsResult;
import com.zy.asrs.service.*;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.utils.Synchro;
-import com.zy.core.properties.SlaveProperties;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.io.IOException;
import java.util.Date;
+import java.util.concurrent.TimeUnit;
-@Service
+@Slf4j
+@Service("toWmsService")
public class ToWmsServiceImpl implements ToWmsService {
-
@Autowired
private TaskWrkService taskWrkService;
- @Autowired
- private SlaveProperties slaveProperties;
+
+
@Autowired
private TaskWrkReportService taskWrkReportService;
- @Autowired
- private StaDescService staDescService;
+
@Autowired
private CommonService commonService;
+
@Autowired
private LocMastService locMastService;
- @Autowired
- private BasDevpService basDevpService;
@Autowired
@@ -61,6 +60,9 @@
@Value("${wms.taskStatusFeedbackPath}")
private String taskStatusFeedbackPath;
+ @Value("${wms.executionStatusReport}")
+ private String executionStatusReport;
+
@Value("${wms.code}")
private String code;
@@ -82,29 +84,115 @@
}
@Override
- public WmsResult getLocNoFromWms(StorageEscalationParam wmsParam) {
+ public void addReportLog(TaskWrkLog taskWrk) {
+ TaskWrkReport taskWrkReport = new TaskWrkReport();
+ Synchro.Copy(taskWrk, taskWrkReport);
+ taskWrkReport.setCreateTime(new Date());
+ taskWrkReportService.insert(taskWrkReport);
+ }
+
+
+ @Override
+ public void addReportLog(WrkMast taskWrk) {
+ TaskWrkReport taskWrkReport = new TaskWrkReport();
+ Synchro.Copy(taskWrk, taskWrkReport);
+ taskWrkReport.setCreateTime(new Date());
+ taskWrkReportService.insert(taskWrkReport);
+ }
+
+ @Override
+ public TaskWrk getLocNoFromWms(StorageEscalationParam wmsParam) {
String response = "";
Boolean success = false;
try {
response = new HttpHandler.Builder()
.setUri(wmsUrl)
+ .setTimeout(30, TimeUnit.SECONDS)
.setPath(inboundTaskApplyPath)
.setJson(JSON.toJSONString(wmsParam))
.build()
.doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) {
- WmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
- return result;
+ if (!Cools.isEmpty(response)) {
+ JSONObject jsonObject = JSON.parseObject(response);
+ if ("700".equals(jsonObject.get(code).toString())) {
+ TaskWrk taskWrk=new TaskWrk();
+ taskWrk.setWrkNo(-1);
+ return taskWrk;
+ } else if (successCode.equals(jsonObject.get(code).toString())) {
+ WmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
+ return createInTask(result, wmsParam.getBarcode(), wmsParam.getStationCode());
+ }
}
- } catch (IOException e) {
-
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.info("璇锋眰wms鎶ラ敊锛屽叆鍙傦細{},寮傚父锛歿}", JSON.toJSONString(wmsParam), e.getMessage());
} finally {
addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success);
}
return null;
}
+ @Override
+ public void executionStatusReport(String taskNo, Integer wrkSts) {
+ String response = "";
+ boolean bool = false;
+ JSONObject param = new JSONObject();
+ try {
+ log.info("浠诲姟鎵ц鐘舵�佷笂鎶ワ紝浠诲姟鍙凤細{}锛屾墽琛岀姸鎬侊細{}", taskNo, wrkSts);
+ param.put("taskNo", taskNo);
+ param.put("wrkSts", wrkSts);
+ response = new HttpHandler.Builder()
+ // .setHeaders(headParam)
+ .setUri(wmsUrl)
+ .setPath(executionStatusReport)
+ .setJson(param.toJSONString())
+ .build()
+ .doPost();
+ if (!Cools.isEmpty(response)) {
+ bool = true;
+ }
+
+ } catch (Exception e) {
+ log.error("浠诲姟鎵ц鐘舵�佷笂鎶ュ紓甯�" + e);
+ } finally {
+ apiLogService.save("浠诲姟鐘舵�佷笂鎶�"
+ , wmsUrl + executionStatusReport
+ , null
+ , "127.0.0.1"
+ , param.toJSONString()
+ , response
+ , bool
+ );
+ }
+ }
+
+
+ private TaskWrk createInTask(WmsResult result, String barcode, Integer startPoint) {
+ String locNo = result.getLocNo();
+ 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.DISTRIBUTE.id);//浠诲姟鐘舵�侊細娲惧彂
+ taskWrk.setCreateTime(now);
+ taskWrk.setAssignTime(now);
+ taskWrk.setIoType(1);//浠诲姟绫诲瀷
+ taskWrk.setIoPri(13);//浼樺厛绾�
+ taskWrk.setBarcode(barcode);//鏉$爜
+ LocMast locMast = locMastService.selectByLocNo(locNo);
+ taskWrk.setCrnNo(locMast.getCrnNo());
+ taskWrk.setTargetPoint(locNo);
+ taskWrk.setStartPoint(startPoint + "");
+ if (taskWrk.getIoType() == 1) {
+ taskWrk.setWrkSts(2);
+ if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+ taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+ }
+ }
+ taskWrkService.insert(taskWrk);
+ return taskWrk;
+ }
private void addApiLog(String nameSpace, String url, String param, String response, Boolean success) {
apiLogService.save(nameSpace, url, null, "127.0.0.1", param, response, success);
--
Gitblit v1.9.1