From 1e1e9bb19e595f65e35de48d91ae436a89147ec9 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期五, 03 一月 2025 16:32:11 +0800 Subject: [PATCH] 添加AGV告警处理及回调接口 --- src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 82 +++++++++++++++++++++++++---------------- 1 files changed, 50 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java index c2c10bf..4adb66f 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java @@ -43,9 +43,9 @@ //绉诲簱绫诲瀷鏁扮粍 private static final List<Integer> MOVE_TYPE_List = new ArrayList<Integer>() {{ add(11); - add(101); add(12); - add(53); + //add(53); + add(101); add(103); add(108); add(111); @@ -135,6 +135,26 @@ } + Integer pltType = agvWrkMast.getPltType(); + if (Cools.isEmpty(pltType)) { + AgvLocMast agvLocMast; + if (!Cools.isEmpty(agvWrkMast.getLocNo())) { + agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo()); + if (agvLocMast != null) { + pltType = agvLocMast.getPltType(); + } + } + if (!Cools.isEmpty(agvWrkMast.getSourceLocNo())) { + agvLocMast = agvLocMastService.selectById(agvWrkMast.getSourceLocNo()); + if (agvLocMast != null) { + pltType = agvLocMast.getPltType(); + } + } + if (pltType != null) { + agvWrkMast.setPltType(pltType); + } + log.info("宸ヤ綔鍙�--{},浠撳簱缂栫爜锛歿}", agvWrkMast.getWrkNo(), agvWrkMast.getPltType()); + } agvWrkMast.setModiTime(new Date()); //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚 agvWrkMast.setWrkSts(207L); @@ -339,12 +359,13 @@ if (!isJSON(orderNo)) { //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚 - orderService.checkComplete(orderNo, agvWrkMast.getPltType()); + orderService.checkComplete(orderNo, pltType); } else { List<Map> maps = JSONArray.parseArray(orderNo, Map.class); + Integer finalPltType = pltType; maps.forEach(map -> { String o = map.get("orderNo").toString(); - orderService.checkComplete(o, agvWrkMast.getPltType()); + orderService.checkComplete(o, finalPltType); }); } @@ -409,7 +430,7 @@ //璐ф灦绫诲瀷 wrkMast.setWhsType(Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2))); - wrkMast.setAppeUser(9527L); + wrkMast.setAppeUser(agvWrkMast.getAppeUser()); wrkMast.setAppeTime(now); wrkMast.setModiUser(9527L); wrkMast.setModiTime(now); @@ -706,32 +727,27 @@ if (Cools.isEmpty(agvWrkDetls)) { return; } + List<AgvWrkDetl> data = new ArrayList<>(); //鍖哄垎涓嶅悓浠诲姟绫诲瀷鐨勪笂鎶ユ柟寮� - - if (IN_TYPE_LIST.contains(agvWrkMast.getIoType())) { - String barcode = agvWrkMast.getBarcode(); - if (barcode.startsWith("20") || barcode.startsWith("21") || barcode.startsWith("40")) { - reportMesPakinOrder(agvWrkMast, agvWrkDetls); + for (AgvWrkDetl agvWrkDetl : agvWrkDetls) { + if (agvWrkDetl.getMatnr().compareTo("39") <= 0) { + data.add(agvWrkDetl); } } - if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) { - String barcode = agvWrkMast.getBarcode(); - if (barcode.startsWith("20") || barcode.startsWith("21") || barcode.startsWith("40")) { - reportMesPakoutOrder(agvWrkMast, agvWrkDetls); + if (!data.isEmpty()) { + if (IN_TYPE_LIST.contains(agvWrkMast.getIoType())) { + reportMesPakinOrder(agvWrkMast, data); } +// if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) { +// reportMesPakoutOrder(agvWrkMast, data); +// } +// if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) { +// generateMesParam(agvWrkMast, data); +// } } - if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) { - String barcode = agvWrkMast.getBarcode(); - if (agvWrkMast == null || agvWrkMast.getBarcode() == null) { - return; - } - if (barcode.startsWith("20") || barcode.startsWith("21") || barcode.startsWith("40")) { - generateMesParam(agvWrkMast, agvWrkDetls); - } - } - } + private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls) { @@ -757,7 +773,7 @@ iteam.setLineNo(orderDetl.getItemNum()); iteam.setSupplierCode(order.getSalesman()); iteam.setUnit(agvWrkDetl.getUnit()); - + iteam.setRemark(agvWrkDetl.getThreeCode()); iteams.add(iteam); mesBuyPakinReportParam.setCode(orderNo); @@ -804,11 +820,11 @@ MesOrderReportParam param = new MesOrderReportParam(); List<MesOrderReportParam.TransferOrderItem> transferOrderItems = new ArrayList<>(); - List<MesOrderReportParam.TransferOrderItem.InventoryDetail> inventoryDetails = new ArrayList<>(); - List<MesOrderReportParam.RecordCustomFieldBaseCO.CustomField> customFields = new ArrayList<>(); + + //MesOrderReportParam.RecordCustomFieldBaseCO.CustomField customFields = new MesOrderReportParam.RecordCustomFieldBaseCO.CustomField(); MesOrderReportParam.RecordCustomFieldBaseCO recordCustomFieldBaseCO = new MesOrderReportParam.RecordCustomFieldBaseCO(); - recordCustomFieldBaseCO.setCustomFields(customFields); + //recordCustomFieldBaseCO.setCustomFields(customFields); param.setRecordCustomFieldBaseCO(recordCustomFieldBaseCO); //娣诲姞transferOrderItem灞炴�� @@ -823,11 +839,12 @@ transferOrderItem.setTargetLocationCode(getTargetLocationByFloor(floor)); } transferOrderItems.add(transferOrderItem); - transferOrderItem.setInventoryDetails(inventoryDetails); + param.setTransferOrderItems(transferOrderItems); for (AgvWrkDetl agvWrkDetl : agvWrkDetls) { + List<MesOrderReportParam.TransferOrderItem.InventoryDetail> inventoryDetails = new ArrayList<>(); MesOrderReportParam.TransferOrderItem.InventoryDetail inventoryDetail = new MesOrderReportParam.TransferOrderItem.InventoryDetail(); //娣诲姞amount灞炴�� MesOrderReportParam.TransferOrderItem.InventoryDetail.Amount amount = new MesOrderReportParam.TransferOrderItem.InventoryDetail.Amount(agvWrkDetl.getAnfme(), agvWrkDetl.getUnit(), null); @@ -841,12 +858,13 @@ inventoryDetail.setQcStatus(1); inventoryDetail.setStorageStatus(1); inventoryDetails.add(inventoryDetail); + transferOrderItem.setInventoryDetails(inventoryDetails); //娣诲姞閿�鍞鍗曞彿 MesOrderReportParam.RecordCustomFieldBaseCO.CustomField customField = new MesOrderReportParam.RecordCustomFieldBaseCO.CustomField("workOrderCode__c", agvWrkDetl.getThreeCode().trim()); - customFields.add(customField); + //customFields.add(customField); + recordCustomFieldBaseCO.setCustomFields(customField); + doHttpRequest(param, getMesTokenInfo(), "涓婃姤mes璋冩嫧淇℃伅", url, orderReportPath, null, "127.0.0.1"); } - - doHttpRequest(param, getMesTokenInfo(), "涓婃姤mes璋冩嫧淇℃伅", url, orderReportPath, null, "127.0.0.1"); } -- Gitblit v1.9.1