From b18a3f58bbad48573a63a298bd6228095c4260a7 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 25 十二月 2023 10:22:37 +0800 Subject: [PATCH] #devp --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 148 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 145 insertions(+), 3 deletions(-) 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 db8b0e1..176130d 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -179,7 +179,6 @@ param.setIoType(1); param.setSourceStaNo(inSta.getStaNo()); param.setLocType1(locTypeDto.getLocType1()); - param.setFull(staProtocol.isFull()); String response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath("/rpc/pakin/loc/v1") @@ -211,6 +210,12 @@ // MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); // } log.error(barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒"); + // led 寮傚父鏄剧ず + ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); + if (ledThread != null) { + String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒"; + MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); + } } else { log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } @@ -811,7 +816,7 @@ LocMast shallowLoc = locMastService.selectById(shallowLocNo); // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒 if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { - WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); if (null == waitWrkMast) { log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); } else { @@ -842,7 +847,7 @@ log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo); continue; } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { - WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); if (null != waitWrkMast && (waitWrkMast.getWrkSts() == 4 || waitWrkMast.getWrkSts() == 5)) { continue; } @@ -2211,4 +2216,141 @@ } } + /** + * 鎵弿纰熺洏鏈鸿嚜鍔ㄥ叆搴撶┖鎵樼洏 + */ + public synchronized void autoEmptyIn() { + for (DevpSlave slave : slaveProperties.getDevp()) { + for (DevpSlave.Sta sta : slave.getAutoEmptyIn()) { + // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, slave.getId()); + StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + + // 绔欑偣鏉′欢鍒ゆ柇 + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() + && staProtocol.isEmptyInPalletRequire() && staProtocol.getWorkNo() == 0) { + List<StaDesc> staDescs = staDescService.selectList(new EntityWrapper<StaDesc>().eq("type_no", 10).eq("stn_no", sta.getStaNo())); + for (StaDesc staDesc:staDescs){ + + BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", staDesc.getCrnStn())); + + if (basDevp.getAutoing().equals("Y") && basDevp.getLoading().equals("N") + && basDevp.getWrkNo() == 0 && basDevp.getCanining().equals("Y")){ +// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 + staProtocol.setWorkNo((short) 9997); +// staProtocol.setStaNo(basDevp.getDevNo().shortValue()); + staProtocol.setStaNo((short) 1013); + devpThread.setPakMk(staProtocol.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); + if (!result) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); + } + return; + } + + } + + +// try { +// LocTypeDto locTypeDto = new LocTypeDto(staProtocol); +// +// SearchLocParam param = new SearchLocParam(); +// param.setIoType(10); +// param.setSourceStaNo(sta.getStaNo()); +// param.setLocType1(locTypeDto.getLocType1()); +// String response = new HttpHandler.Builder() +// .setUri(wmsUrl) +// .setPath("/rpc/pakin/loc/v1") +// .setJson(JSON.toJSONString(param)) +// .build() +// .doPost(); +// JSONObject jsonObject = JSON.parseObject(response); +// if (jsonObject.getInteger("code").equals(200)) { +// StartupDto dto = jsonObject.getObject("data", StartupDto.class); +// +// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 +// staProtocol.setWorkNo(dto.getWorkNo().shortValue()); +// staProtocol.setStaNo(dto.getStaNo().shortValue()); +// devpThread.setPakMk(staProtocol.getSiteId(), false); +// boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); +// if (!result) { +// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); +// } +// } else { +// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// } + } + } + } + } + + /** + * 鎵弿鎷嗙洏鏈鸿嚜鍔ㄥ嚭搴撶┖鎵樼洏 + */ + public synchronized void autoEmptyOut() { + for (DevpSlave slave : slaveProperties.getDevp()) { + for (DevpSlave.Sta sta : slave.getAutoEmptyOut()) { + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, slave.getId()); + StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo()); + if (staProtocol == null) { + return; + } else { + staProtocol = staProtocol.clone(); + } + + if (staProtocol.isAutoing() //鑷姩 + && !staProtocol.isLoading() //鏃犵墿 + && staProtocol.isEmptyOutPalletRequire() //绌烘墭鐩橀渶姹備俊鍙� +// && staProtocol.isEmptyMk() + && staProtocol.getWorkNo() == 0 + ) { + WrkMast pakoutEmpty = wrkMastMapper.selectPakoutEmpty(sta.getStaNo()); + if (null != pakoutEmpty) { + return; + } + List<StaDesc> staDescs = staDescService.selectList(new EntityWrapper<StaDesc>().eq("stn_no", sta.getStaNo())); + for (StaDesc staDesc: staDescs){ + BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", staDesc.getCrnNo())); + if (!basCrnp.getCrnSts().equals(3) || basCrnp.getCrnErr() != 0){ + continue; + } + try { + HashMap<String, Object> map = new HashMap<>(); + map.put("crnNo", staDesc.getCrnNo());//鐩爣绔� + String response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setParams(map) + .setPath("/rpc/auto/emptyOut/v1") + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + JSONObject data = (JSONObject) jsonObject.get("data"); + log.info((String) data.get("msg")); + return; + } else { + log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1","", response); + } + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + + } + } + + } + + } + } -- Gitblit v1.9.1