From 8d5c70aef9cbacbcc412d73c4b730e21f94e6514 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期一, 30 六月 2025 09:04:10 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java | 92 +++++++++++++++++++++++++++++++++------------ 1 files changed, 67 insertions(+), 25 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 94eb972..5fde269 100644 --- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java @@ -5,9 +5,7 @@ import com.core.common.Cools; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.domain.enums.WorkNoType; -import com.zy.asrs.entity.LocMast; -import com.zy.asrs.entity.TaskWrk; -import com.zy.asrs.entity.TaskWrkReport; +import com.zy.asrs.entity.*; import com.zy.asrs.entity.wms.StorageEscalationParam; import com.zy.asrs.entity.wms.WmsResult; import com.zy.asrs.service.*; @@ -19,8 +17,8 @@ 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; @Slf4j @Service("toWmsService") @@ -62,6 +60,9 @@ @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; + @Value("${wms.executionStatusReport}") + private String executionStatusReport; + @Value("${wms.code}") private String code; @@ -83,50 +84,90 @@ } @Override + 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(); 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); - } - } + 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鎶ラ敊锛寋}", e.getMessage()); + 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 = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn()); String locNo = result.getLocNo(); Date now = new Date(); TaskWrk taskWrk = new TaskWrk(); @@ -135,6 +176,7 @@ taskWrk.setWrkNo(workNo1); taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟鐘舵�侊細娲惧彂 taskWrk.setCreateTime(now); + taskWrk.setAssignTime(now); taskWrk.setIoType(1);//浠诲姟绫诲瀷 taskWrk.setIoPri(13);//浼樺厛绾� taskWrk.setBarcode(barcode);//鏉$爜 @@ -142,13 +184,13 @@ taskWrk.setCrnNo(locMast.getCrnNo()); taskWrk.setTargetPoint(locNo); taskWrk.setStartPoint(startPoint + ""); - taskWrk.setCrnNo(result.getCrnNo()); if (taskWrk.getIoType() == 1) { taskWrk.setWrkSts(2); if (!Cools.isEmpty(taskWrk.getTargetPoint())) { taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint()); } } + taskWrkService.insert(taskWrk); return taskWrk; } -- Gitblit v1.9.1