From 945764de58898661a3f3197e58353141b5deaf91 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期三, 22 十月 2025 16:21:15 +0800 Subject: [PATCH] 侧面输送线出入库流程对接 --- src/main/java/com/zy/asrs/task/TaskReportScheduler.java | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java index 7cffabb..f0a65bf 100644 --- a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java @@ -31,12 +31,14 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * 瀹氭椂灏嗕换鍔�(瀹屾垚銆佸彇娑�)杞垚鏃ュ織 @@ -64,6 +66,9 @@ @Value("${wms.completeDevpTask}") private String completeDevpTask; + @Value("${wms.reportPalletizingCompleted}") + private String reportPalletizingCompleted; + @Resource private TaskWrkMapper taskWrkMapper; @@ -81,8 +86,74 @@ add(301);add(302);add(303);add(304);add(305);add(306);add(307);add(308); }}; + // 渚ч潰鐮佺洏瀹屾垚涓婃姤wms + @Scheduled(cron = "0/3 * * * * ? ") + public synchronized void reportPalletizingCompleted() { + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + if (devpThread != null) { + Map<Integer, StaProtocol> staProtocolMap = devpThread.getStation(); + int[] siteArray = new int[]{203, 207, 212}; + for (int site : siteArray) { + StaProtocol staProtocol = staProtocolMap.get(site); + if (staProtocol != null) { + short mpCompletedFlag = staProtocol.getMpCompletedFlag(); + if (mpCompletedFlag == 1) { + TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(staProtocol.getWorkNo())); + if (taskWrk != null) { + + // 璇锋眰浣� + JSONObject request = new JSONObject(); + request.put("site", site); + + String response = ""; + boolean bool = false; + try { + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(reportPalletizingCompleted) + .setJson(JSON.toJSONString(request)) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + JSONObject jsonObject = JSON.parseObject(response); + if (Integer.parseInt(String.valueOf(jsonObject.get("code"))) == 200) { + bool = true; + // 鎺ㄩ�侀槦鍒� + boolean offer = MessageQueue.offer(SlaveType.Devp, 4, new Task(1, staProtocol)); + if (offer) { + // 鏇存柊鏁版嵁搴� + taskWrk.setMpCompletedReport(1); + taskWrkMapper.updateById(taskWrk); + } else { + log.error("渚ч潰鐮佺洏瀹屾垚涓婃姤wms鎺ㄩ�侀槦鍒楀け璐ワ紝绔欑偣锛歿}锛屼换鍔″彿锛歿}", site, staProtocol.getWorkNo()); + } + } + } + } catch (Exception e) { + log.error("渚ч潰鐮佺洏瀹屾垚涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); + } finally { + apiLogService.save("渚ч潰鐮佺洏瀹屾垚涓婃姤wms" + , wmsUrl + reportPalletizingCompleted + , null + , "127.0.0.1" + , JSON.toJSONString(request) + , response + , bool + ); + } + } else { + log.error("渚ч潰鐮佺洏瀹屾垚涓婃姤wms娌℃湁鎵惧埌璇ヤ换鍔★紝绔欑偣锛歿}锛屼换鍔″彿锛歿}", site, staProtocol.getWorkNo()); + } + } + } + } + } + } + // WMS鍒嗛厤鍏ュ簱搴撲綅寮傚父涓婃姤 @Scheduled(cron = "0/5 * * * * ? ") + @Transactional public synchronized void locationAssignmentExceptionEscalation() { List<TaskWrk> taskWrkList = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts", 5)); -- Gitblit v1.9.1