From a4d9d3f23e44099972ea6de8af35152ed96ae8ae Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期一, 23 十二月 2024 12:31:39 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 549 ------------------------------------------------------ 1 files changed, 0 insertions(+), 549 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 0e18857..0fd45f1 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -311,105 +311,6 @@ } /** - * wms鍏ュ簱 - * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 1 ==>> 2 - */ - @Deprecated - public void generateStoreWrkFile0() { - // 鏍规嵁杈撻�佺嚎plc閬嶅巻 - for (DevpSlave devp : slaveProperties.getDevp()) { - // 閬嶅巻鍏ュ簱鍙� - for (DevpSlave.Sta inSta : devp.getInSta()) { - // 鑾峰彇鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - Short workNo = staProtocol.getWorkNo(); - // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() - && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) - && staProtocol.isPakMk()) { - - // 灏哄妫�娴嬪紓甯� - boolean back = false; - String errMsg = ""; - if (staProtocol.isFrontErr()) { - errMsg = "鍓嶈秴闄�"; - back = true; - } - if (!back && staProtocol.isBackErr()) { - errMsg = "鍚庤秴闄�"; - back = true; - } - if (!back && staProtocol.isHighErr()) { - errMsg = "楂樿秴闄�"; - back = true; - } - if (!back && staProtocol.isLeftErr()) { - errMsg = "宸﹁秴闄�"; - back = true; - } - if (!back && staProtocol.isRightErr()) { - errMsg = "鍙宠秴闄�"; - back = true; - } - if (!back && staProtocol.isWeightErr()) { - errMsg = "瓒呴噸"; - back = true; - } - if (!back && staProtocol.isBarcodeErr()) { - errMsg = "鎵爜澶辫触"; - back = true; - } - - // 閫�鍥� - if (back) { - News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); - staProtocol.setWorkNo((short) 32002); - staProtocol.setStaNo(inSta.getBackSta().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - - // led 寮傚父鏄剧ず - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); - if (ledThread != null) { - MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); - } - continue; - } - - // 鍒ゆ柇閲嶅宸ヤ綔妗� - WrkMast wrkMast = wrkMastMapper.selectPakInStep11(inSta.getStaNo()); - if (wrkMast == null) { continue; } - - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - - // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - if (result) { - // 鏇存柊宸ヤ綔涓绘。 - wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋 - wrkMast.setModiTime(new Date()); - if (wrkMastMapper.updateById(wrkMast) == 0) { - News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", wrkMast.getWrkNo()); - } - } else { - News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); - } - } - } - } - } - - /** * 鎷f枡銆佸苟鏉垮啀鍏ュ簱 */ @Transactional @@ -529,49 +430,6 @@ } catch (Exception e) { e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - } - } - } - - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * 鎷f枡銆佸苟鏉垮啀鍏ュ簱(325銆�331銆�333銆�339) - */ - @Transactional - public synchronized void stnToCrnStnPick2(){ - try { - for (DevpSlave devp : slaveProperties.getDevp()) { - // 閬嶅巻鎷f枡鍏ュ簱鍙� - for (DevpSlave.Sta pickSta : devp.getPickInSta2()) { - // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - if (staProtocol.isAutoing() - && staProtocol.isLoading() - && staProtocol.isInEnable() - && (staProtocol.getWorkNo() > 0) - && staProtocol.isPakMk()) { - - WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol.getWorkNo().intValue()); - if (wrkMast == null) { - continue; - } - if (wrkMast.getSteNo() == null) { - wrkMast.setSteNo(1); - wrkMastMapper.updateById(wrkMast); - staProtocol.setStaNo((short) 341);//鍐欏叆鐩爣绔� - staProtocol.setPakMk(false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } } } @@ -2506,413 +2364,6 @@ } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * AGV琛ヨ揣 => 鐢熸垚鍏ュ簱閫氱煡妗� - */ - public synchronized void robotGenerateAgvTask() { - try { - //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿 - for (DevpSlave devp : slaveProperties.getDevp()) { - // 鑾峰彇鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(300); - if (staProtocol == null) { - continue; - } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() != 0) { - //鏌ヨ鏄惁鏈夊伐浣滄。 - WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol.getWorkNo().intValue()); - if (wrkMast == null) { - continue; - } - - if (wrkMast.getWrkSts() != 25) {//25.鎻愬崌鏈烘惉杩愬畬鎴� - continue; - } - - if (wrkMast.getMk() != null && wrkMast.getMk().equals("Y")) {//鏍囪涓篩琛ㄧず闇�瑕佺敤鍒版満姊拌噦鎷f枡 - Short targetSta = null;//鐩爣绔� - //鍒ゆ柇鏈烘鑷傛嫞鏂欑珯鏄惁绌洪棽 - StaProtocol staProtocol303 = devpThread.getStation().get(303); - StaProtocol staProtocol317 = devpThread.getStation().get(317); - - List<WrkMast> wrkMasts303 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 25).eq("sta_no", 303)); - List<WrkMast> wrkMasts317 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 25).eq("sta_no", 317)); - if (staProtocol303.isAutoing() && !staProtocol303.isLoading() && wrkMasts303.isEmpty()) { - //鑷姩銆佹棤鐗� - targetSta = (short) 303; - } else if (staProtocol317.isAutoing() && !staProtocol317.isLoading() && wrkMasts317.isEmpty()) { - //鑷姩銆佹棤鐗� - targetSta = (short) 317; - } else { - continue;//娌℃湁绌洪棽绔欑偣 - } - - if (wrkMast.getStaNo() != 303 && wrkMast.getStaNo() != 317) { - //鍚慉GV鍙戣捣缁勬墭璇锋眰 - try { - HashMap<String, Object> param = new HashMap<>(); - param.put("wrkNo", wrkMast.getWrkNo()); - String response = new HttpHandler.Builder() - .setUri(wmsUrl) - .setPath("/rpc/replenishment") - .setJson(JSON.toJSONString(param)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - Integer code = jsonObject.getInteger("code"); - if (code.equals(200)) {//AGV缁勬墭鎴愬姛 - //瑕嗙洊宸ヤ綔妗g洰鏍囩珯 - wrkMast.setStaNo(targetSta.intValue()); - wrkMast.setShuttleNo(null);//閲婃斁灏忚溅 - wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈� - if (wrkMastMapper.updateById(wrkMast) > 0) { - //鍚�300绔欏啓鍏ョ洰鏍囩珯 - staProtocol = staProtocol.clone(); - staProtocol.setStaNo(targetSta);//绉诲姩鍒扮洰鏍囩珯 - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - try { - Thread.sleep(500); - } catch (Exception e) { - e.printStackTrace(); - } - continue; - } - } - } catch (Exception e) { -// e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - } - -// //瑕嗙洊宸ヤ綔妗g洰鏍囩珯 -// wrkMast.setStaNo(targetSta.intValue()); -// wrkMast.setShuttleNo(null);//閲婃斁灏忚溅 -// wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈� -// if (wrkMastMapper.updateById(wrkMast) > 0) { -// //鍚�300绔欏啓鍏ョ洰鏍囩珯 -// staProtocol = staProtocol.clone(); -// staProtocol.setStaNo(targetSta);//绉诲姩鍒扮洰鏍囩珯 -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// try { -// Thread.sleep(500); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// continue; -// } - } - } - } - } - } catch (Exception e) { -// e.printStackTrace(); - } - } - - /** - * AGV琛ヨ揣 => 鏈烘鑷傛嫞鏂� - */ - public synchronized void agvRestockByRobot() { - try { - //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿 - for (DevpSlave devp : slaveProperties.getDevp()) { - // 鑾峰彇鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol303 = devpThread.getStation().get(303); - StaProtocol staProtocol317 = devpThread.getStation().get(317); - if (staProtocol303 == null || staProtocol317 == null) { - continue; - } - - if (staProtocol303.isAutoing() && staProtocol303.isLoading() && staProtocol303.getWorkNo() != 0) { - //璋冨害鏈烘鑷� - //鏌ヨ鏄惁鏈夊伐浣滄。 - WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol303.getWorkNo().intValue()); - if (wrkMast == null) { - continue; - } - List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); - if (wrkDetls.isEmpty()) { - continue; - } - - if (wrkMast.getInvWh() == null) { - boolean result = RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "303"); - if (result) { - wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔� - wrkMastMapper.updateById(wrkMast); - } - } - } - - if (staProtocol317.isAutoing() && staProtocol317.isLoading() && staProtocol317.getWorkNo() != 0) { - //璋冨害鏈烘鑷� - //鏌ヨ鏄惁鏈夊伐浣滄。 - WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol317.getWorkNo().intValue()); - if (wrkMast == null) { - continue; - } - List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); - if (wrkDetls.isEmpty()) { - continue; - } - if (wrkMast.getInvWh() == null) { - boolean result = RobotUtils.sendTask(staProtocol317.getWorkNo().toString(), wrkDetls.size(), "317"); - if (result) { - wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔� - wrkMastMapper.updateById(wrkMast); - } - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * AGV琛ヨ揣(閫氱煡AGV鍙栬揣) - */ - public synchronized void agvRestockInto() { - try { - //妫�娴�309鍜�312绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗� - for (DevpSlave devp : slaveProperties.getDevp()) { - // 鑾峰彇鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol309 = devpThread.getStation().get(309); - StaProtocol staProtocol312 = devpThread.getStation().get(312); - if (staProtocol309 == null || staProtocol312 == null) { - continue; - } - - if (staProtocol309.isAutoing() && staProtocol309.isLoading() && staProtocol309.isInEnable()) { - // 鑾峰彇鏉$爜鎵弿浠俊鎭� - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 9);//308绔欐潯鐮佸櫒 - if (barcodeThread == null) { - continue; - } - String barcode = barcodeThread.getBarcode(); - if (!Cools.isEmpty(barcode)) { - //閫氱煡AGV鍙栬揣 - boolean result = agvRestockCall("301-1", barcode); - log.info("鏈烘鑷傞�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); - if (result) { - barcodeThread.setBarcode(""); - } - } - } - - if (staProtocol312.isAutoing() && staProtocol312.isLoading() && staProtocol312.isInEnable()) { - // 鑾峰彇鏉$爜鎵弿浠俊鎭� - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 10);//311绔欐潯鐮佸櫒 - if (barcodeThread == null) { - continue; - } - String barcode = barcodeThread.getBarcode(); - if (!Cools.isEmpty(barcode)) { - //閫氱煡AGV鍙栬揣 - boolean result = agvRestockCall("302-1", barcode); - log.info("鏈烘鑷傞�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); - if (result) { - barcodeThread.setBarcode(""); - } - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - //閫氱煡AGV鍙栬揣 - private boolean agvRestockCall(String staNo, String barcode) { - try { - HashMap<String, Object> param = new HashMap<>(); - param.put("devNo", staNo); - param.put("containerCode", barcode); - String response = new HttpHandler.Builder() - .setUri(wmsUrl) - .setPath("/rpc/start") - .setJson(JSON.toJSONString(param)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - News.info("鎮寕绾匡紝WMS杩斿洖缁撴灉锛�" + jsonObject); - Integer code = jsonObject.getInteger("code"); - if (code.equals(200)) {//鍛煎彨AGV - return true; - } - } catch (Exception e) { - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - } - return false; - } - - //閫氱煡WMS褰撳墠鎷f枡绔欑偣淇℃伅 - private boolean agvCureentCall(String staNo, String barcode) { - try { - HashMap<String, Object> param = new HashMap<>(); - param.put("devNo", staNo); - param.put("containerCode", barcode); - String response = new HttpHandler.Builder() - .setUri(wmsUrl) - .setPath("/rpc/current/containerCode") - .setJson(JSON.toJSONString(param)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - News.info("鎮寕绾匡紝WMS杩斿洖缁撴灉锛�" + jsonObject); - Integer code = jsonObject.getInteger("code"); - if (code.equals(200)) {//鍛煎彨AGV - return true; - } - } catch (Exception e) { - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - } - return false; - } - - /** - * AGV琛ヨ揣(鎮寕绾块�氱煡AGV鍙栬揣) - */ - public synchronized void agvRestockIntoByHangingWire() { - try { - //妫�娴�350鍜�351鎵爜鍣� - int[] barcodeStaNo = {11, 12,14,16,18,20};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒 - for (int staNo : barcodeStaNo) { - // 鑾峰彇鏉$爜鎵弿浠俊鎭� - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, staNo); - if (barcodeThread == null) { - continue; - } - String barcode = barcodeThread.getBarcode(); - if (!Cools.isEmpty(barcode)) { - if (barcode.contains("NoRead")) { - continue; - } - - String agvStaNo = null; - if (staNo == 11) { - agvStaNo = "303-1"; - } else if(staNo == 12){ - agvStaNo = "304-1"; - } else if(staNo == 14){ - agvStaNo = "311-1"; - } else if(staNo == 16){ - agvStaNo = "313-1"; - } else if(staNo == 18){ - agvStaNo = "315-1"; - } else if(staNo == 20){ - agvStaNo = "317-1"; - } - //閫氱煡AGV鍙栬揣 - boolean result = agvRestockCall(agvStaNo, barcode); - if (result) { - barcodeThread.setBarcode(""); - } - log.info(barcodeThread.getSlave().getId() + "鍙锋壂鐮佸櫒锛岄�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * AGV鎷f枡绔欑偣淇℃伅 - */ - public synchronized void agvCurrentContainerCodeInfoWire() { - try { - //妫�娴�350鍜�351鎵爜鍣� - int[] barcodeStaNo = {13, 15,17,19};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒 - for (int staNo : barcodeStaNo) { - // 鑾峰彇鏉$爜鎵弿浠俊鎭� - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, staNo); - if (barcodeThread == null) { - continue; - } - String barcode = barcodeThread.getBarcode(); - if (!Cools.isEmpty(barcode)) { - if (barcode.contains("NoRead")) { - continue; - } - - String agvStaNo = null; - if (staNo == 13) { - agvStaNo = "CS-310"; - } else if(staNo == 15){ - agvStaNo = "CS-311"; - } else if(staNo == 17){ - agvStaNo = "CS-312"; - } else if(staNo == 19){ - agvStaNo = "CS-313"; - } - //閫氱煡WMS褰撳墠瀹瑰櫒鐮� - boolean result = agvCureentCall(agvStaNo, barcode); - if (result) { - barcodeThread.setBarcode(""); - } - log.info(barcodeThread.getSlave().getId() + "鍙锋壂鐮佸櫒锛岄�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - // 300绔欐嫞鏂� - public void pick300() { - try { - //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿 - for (DevpSlave devp : slaveProperties.getDevp()) { - // 鑾峰彇鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(300); - if (staProtocol == null) { - continue; - }else { - staProtocol = staProtocol.clone(); - } - - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() != 0) { - //鏌ヨ鏄惁鏈夊伐浣滄。 - WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol.getWorkNo().intValue()); - if (wrkMast == null) { - continue; - } - - if (wrkMast.getWrkSts() != 29) {//29.鍑哄簱瀹屾垚 - continue; - } - - if (wrkMast.getMk() == null) { - Integer sourceStaNo = wrkMast.getSourceStaNo();//婧愮珯 - Integer staNo = wrkMast.getStaNo();//鐩爣绔� - //瑕嗙洊宸ヤ綔妗g洰鏍囩珯 - wrkMast.setStaNo(sourceStaNo); - wrkMast.setSourceStaNo(staNo); - wrkMast.setMk("N"); - if (wrkMastMapper.updateById(wrkMast) > 0) { - //鍚�300绔欏啓鍏ョ洰鏍囩珯 - staProtocol = staProtocol.clone(); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue());//绉诲姩鍒扮洰鏍囩珯 - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - try { - Thread.sleep(500); - } catch (Exception e) { - e.printStackTrace(); - } - } - } } } } catch (Exception e) { -- Gitblit v1.9.1