From e4d5a0e37babc1ae214c34162e58f5084927d301 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期六, 02 十二月 2023 14:26:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/ghtzwcsOld' into ghtzwcsOld --- src/main/java/com/zy/asrs/entity/GetWmsDto.java | 20 ++++++ src/main/java/com/zy/asrs/utils/Utils.java | 21 ++++-- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 81 +++++++++++++++++--------- src/main/java/com/zy/asrs/entity/ToWmsDTO.java | 3 + src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 5 + src/main/resources/application.yml | 2 6 files changed, 94 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/GetWmsDto.java b/src/main/java/com/zy/asrs/entity/GetWmsDto.java new file mode 100644 index 0000000..8e8cf4e --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/GetWmsDto.java @@ -0,0 +1,20 @@ +package com.zy.asrs.entity; + +import lombok.Data; + +@Data +public class GetWmsDto { + + private String warehouseId; //浠撳簱鏍囪瘑 + private String warehouseCode; + //wms鍑哄簱浠诲姟涓嬪彂鎺ュ彛 + private String taskType; //浠诲姟绫诲瀷 CK銆乊K銆丷K銆丳D + private String taskNo; //浠诲姟鍙� + private String taskPriority; //浼樺厛绾� + private String containerCode; //瀹瑰櫒缂栫爜 + private String containerTypeCode; //瀹瑰櫒绫诲瀷 + private String emptyContainer; //鏄惁绌烘墭鐩� Y:鏄� N锛氬惁 + private Integer taskTunnel; //浠诲姟宸烽亾 + private String createTime; //鍒涘缓鏃堕棿 YYYY-MM-DD HH24:MI:SS + private String targetLocationCode; //鐩爣璐т綅 +} diff --git a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java index 7d2618d..e40df4c 100644 --- a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java +++ b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java @@ -1,5 +1,6 @@ package com.zy.asrs.entity; +import io.swagger.models.auth.In; import lombok.Data; import java.util.List; @@ -10,5 +11,7 @@ private String containerCode; private String applyType; private String wharfSource; + + private Integer taskTunnel; private List<Integer> canInboundTunnels; } 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 c66b089..d940a05 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -10,6 +10,7 @@ import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam; +import com.zy.asrs.entity.param.taskCreateParam; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.CommandUtils; @@ -43,10 +44,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔� @@ -93,7 +91,7 @@ private String movePath; - public void generateStoreWrkFile() { + public void generateStoreWrkFile() throws IOException { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� @@ -109,7 +107,7 @@ Short workNo = staProtocol.getWorkNo(); // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() - && !staProtocol.isInEnable() + && staProtocol.isInEnable() && !staProtocol.isEmptyMk() && (workNo >= 0) && staProtocol.isPakMk()) { @@ -166,29 +164,54 @@ } String barcode = barcodeThread.getBarcode(); if(!Cools.isEmpty(barcode)) { -// ToWmsDTO toWmsDTO = new ToWmsDTO(); -// Map<String, Object> map = new HashMap<>(); -// map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2"); -// List<Integer> list = openServiceImpl.getInEnableRoadway(); -// -// //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo()); -// toWmsDTO.setWarehouseId("1688469798893297665"); -// toWmsDTO.setContainerCode(param.getContainerCode()); -// toWmsDTO.setApplyType("TUNNEL"); -// toWmsDTO.setWharfSource(null); -// toWmsDTO.setCanInboundTunnels(list); -// String response = null; -// try { -// response = new HttpHandler.Builder() -// .setHeaders(map) -// .setUri(wmsUrl) -// .setPath("wcsManager/wcsInterface/inboundTaskApply") -// .setJson(JSON.toJSONString(toWmsDTO)) -// .build() -// .doPost(); -// }catch (Exception e){ -// -// } + ToWmsDTO toWmsDTO = new ToWmsDTO(); + Map<String, Object> map = new HashMap<>(); + map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2"); + List<Integer> list = openServiceImpl.getInEnableRoadway(); + TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode).eq("crn_no",inSta.getBarcode())); + if (Cools.isEmpty(taskWrk)){ + continue; + } + if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null && taskWrk.getWrkNo() != null){ + staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); + staProtocol.setStaNo(inSta.getStaNo().shortValue()); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + }else { + //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo()); + toWmsDTO.setWarehouseId("1688469798893297665"); + toWmsDTO.setContainerCode(barcode); + toWmsDTO.setApplyType("TUNNEL_LOCATION"); + toWmsDTO.setTaskTunnel(taskWrk.getCrnNo()); + toWmsDTO.setCanInboundTunnels(list); + String response = null; + try { + response = new HttpHandler.Builder() + .setHeaders(map) + .setUri(wmsUrl) + .setPath("wcsManager/wcsInterface/inboundTaskApply") + .setJson(JSON.toJSONString(toWmsDTO)) + .build() + .doPost(); + }catch (Exception e){ + log.error("wms閫氳澶辫触,"+e.getMessage()); + continue; + } + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class); + + taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode())); + taskWrk.setStartPoint(String.valueOf(inSta.getBackSta())); + if (!taskWrkService.updateById(taskWrk)){ + log.error("淇濆瓨wms搴撲綅鍙峰け璐�"); + } + + }else { + log.error("wms閫氳澶辫触,"+jsonObject.get("msg")); + + } + } + } } diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 6da4410..431c17e 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -184,7 +184,7 @@ map.put(115,4); map.put(119,5); map.put(123,6); - map.put(300,7); + //map.put(301,7); // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� @@ -199,6 +199,9 @@ } Short workNo = staProtocol.getWorkNo(); if (workNo == 0 && !staProtocol.isLoading()){ + if (Cools.isEmpty(map.get(inSta.getStaNo()))){ + continue; + } list.add(map.get(inSta.getStaNo())); } } diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index cc56ed7..b1b7e5c 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -27,25 +27,32 @@ if (split[3].equals("01")){ ints = Arrays.copyOfRange(wcsRow, 0, (wcsRow.length+2-1) / 2); if (split[4].equals("01")){ - ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1); + ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); }else { ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2); } }else { - ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2,wcsRow.length-1 ); + ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2-1,wcsRow.length-1 ); if (split[4].equals("01")){ - ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2); + ints = Arrays.copyOfRange(ints, 0, ints.length / 2); }else { - ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1); + ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); } } int i = ints[0]; String wcsLocNo = ""; - if (i>9){ - wcsLocNo = i+"0"+split[1]+split[2]; + Integer bay = Integer.parseInt(split[1])+1; + String bay2 = ""; + if (bay>9){ + bay2 = bay.toString(); }else { - wcsLocNo = "0"+i+"0"+split[1]+split[2]; + bay2 = "0"+bay; + } + if (i>9){ + wcsLocNo = i+"0"+bay2+split[2]; + }else { + wcsLocNo = "0"+i+"0"+bay2+split[2]; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1bd1127..96400a2 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -49,7 +49,7 @@ # WMS绯荤粺ip #url: 10.32.53.195:8080 # WMS绯荤粺ip - url: w.informfengyun.com:58088/prod-api + url: 10.32.53.195:8080 # 鍏ュ簱浠诲姟鐢宠鎺ュ彛 inboundTaskApplyPath: api/InterFace/get_InterFace_TestStorage # 浠诲姟鐘舵�佸弽棣堟帴鍙� -- Gitblit v1.9.1