From a6b762e09d8a7de57a7a76d3dfc3dd23b969ae1e Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 15 五月 2024 21:10:14 +0800 Subject: [PATCH] #二楼 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 200 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 145 insertions(+), 55 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 c8e653d..08a9a18 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -2521,6 +2521,9 @@ //宸ヤ綅涓�浠诲姟 for (RgvSlave.Sta inStn : rgvSlave.getInStn()){ + if (rgvSlave.getId() == 1 && inStn.getSourceStaNo() == 2114){ + continue; + } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId()); StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo()); if (staProtocol == null) { @@ -2553,6 +2556,9 @@ if (souSta1 == inStn.getSourceStaNo()){ continue; } + if (rgvSlave.getId() == 1 && inStn.getSourceStaNo() == 1014){ + continue; + } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId()); StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo()); if (staProtocol == null) { @@ -2569,7 +2575,7 @@ continue; } workNo2 = wrkMast.getWrkNo(); - souSta2 = inStn.getSourceStaNo().shortValue(); + souSta2 = Utils.getRgvStaNo(rgvSlave.getId(),staProtocol.getSiteId()); sta2 = Utils.getRgvEndStaNo(rgvSlave.getId(),wrkMast.getStaNo()); work2 = true; devpThread.setPakMk(inStn.getSourceStaNo(),false); @@ -2646,16 +2652,37 @@ if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING && rgvProtocol.getLoaded1() == 0) { try { - Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); - WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); - if (Cools.isEmpty(wrkMastSta1)){ - log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); - }else { - if (wrkMastSta1.getWrkType() == 8 ){ - wrkMastSta1.setWrkSts(3); - wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3, new RgvCommand())); + log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); + if (offer){ + //瀹屾垚rgv浠诲姟 + Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); + WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); + if (Cools.isEmpty(wrkMastSta1)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); + }else { + if (wrkMastSta1.getWrkType() == 8 ){ + wrkMastSta1.setWrkSts(3); + wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + } + } + + //瀹屾垚宸ヤ綔妗d换鍔� + if (rgvSlave.getId() != 1){ + WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1()); + if (Cools.isEmpty(wrkMast)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); + }else { + if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ + Date date = new Date(); + wrkMast.setWrkSts(14L); + wrkMast.setModiTime(date); + wrkMastService.updateById(wrkMast); + } + } } } + }catch (Exception e){ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); @@ -2663,26 +2690,47 @@ } - MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3,new RgvCommand())); - log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); + } //宸ヤ綅浜屼换鍔″畬鎴� if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING2 && rgvProtocol.getLoaded2() == 0) { try { - Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2()); - WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); - if (Cools.isEmpty(wrkMastSta1)){ - log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); - }else { - if (wrkMastSta1.getWrkType() == 9 ){ - wrkMastSta1.setWrkSts(3); - wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); - }else if (wrkMastSta1.getWrkType() == 1){ - wrkMastSta1.setWrkSts(3); - wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4, new RgvCommand())); + log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); + if (offer){ + //瀹屾垚rgv浠诲姟 + Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no2", rgvProtocol.getTaskNo2()); + WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); + if (Cools.isEmpty(wrkMastSta1)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); + }else { + if (wrkMastSta1.getWrkType() == 9 ){ + wrkMastSta1.setWrkSts(3); + wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + }else if (wrkMastSta1.getWrkType() == 1){ + wrkMastSta1.setWrkSts(3); + wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + } } + + //瀹屾垚宸ヤ綔妗d换鍔� + if (rgvSlave.getId() != 1){ + WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2()); + if (Cools.isEmpty(wrkMast)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); + }else { + if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ + Date date = new Date(); + wrkMast.setWrkSts(14L); + wrkMast.setModiTime(date); + wrkMastService.updateById(wrkMast); + } + } + } + } + }catch (Exception e){ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); continue; @@ -2690,8 +2738,7 @@ - MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4,new RgvCommand())); - log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); + } } } @@ -2712,7 +2759,7 @@ //宸ヤ綅涓�浠诲姟瀹屾垚 if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.OUTSTN1 && rgvProtocol.getLoaded1() == 1) { - WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo1()); + WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvSlave.getId(), rgvProtocol.getTaskNo1()); WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1()); if (Cools.isEmpty(wrkMastSta)){ log.error("鏈煡璇㈠埌rgv宸ヤ綔浠诲姟锛宺gv缂栧彿{},宸ヤ綔鍙穥}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); @@ -2731,7 +2778,12 @@ } if (staProtocol.isAutoing() && !staProtocol.isLoading() && staProtocol.isPakMk()){ staProtocol.setWorkNo(wrkMastSta.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + if (rgvSlave.getId() == 3 && outStn.getStaPlcId() == 6){ + staProtocol.setStaNo((short)2401); + }else { + staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + } + MessageQueue.offer(SlaveType.Devp, outStn.getStaPlcId(), new Task(2, staProtocol)); } } @@ -2739,16 +2791,16 @@ //宸ヤ綅浜屼换鍔″畬鎴� if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.OUTSTN8 && rgvProtocol.getLoaded2() == 1) { - WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo2()); + WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo2(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo2()); WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2()); if (Cools.isEmpty(wrkMastSta)){ log.error("鏈煡璇㈠埌rgv宸ヤ綔浠诲姟锛宺gv缂栧彿{},宸ヤ綔鍙穥}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); continue; } for (RgvSlave.Sta outStn :rgvSlave.getOutStn()){ - if (wrkMastSta.getStaEnd() != outStn.getStaNo()){ + if (!Objects.equals(Utils.getStaNo(rgvSlave.getId(), wrkMastSta.getStaEnd()), outStn.getStaNo())){ continue; - } + }//鍒ゆ柇鏄惁涓哄伐浣滄。绔欑偣 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, outStn.getStaPlcId()); StaProtocol staProtocol = devpThread.getStation().get(outStn.getStaNo()); if (staProtocol == null) { @@ -2868,16 +2920,37 @@ if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING && rgvProtocol.getLoaded1() == 0) { try { - Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); - WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); - if (Cools.isEmpty(wrkMastSta1)){ - log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); - }else { - if (wrkMastSta1.getWrkType() == 8 ){ - wrkMastSta1.setWrkSts(3); - wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3, new RgvCommand())); + log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); + if (offer){ + + Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); + WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); + if (Cools.isEmpty(wrkMastSta1)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); + }else { + if (wrkMastSta1.getWrkType() == 8 ){ + wrkMastSta1.setWrkSts(3); + wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + } } + + //瀹屾垚宸ヤ綔妗d换鍔� + WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1()); + if (Cools.isEmpty(wrkMast)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); + }else { + if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ + Date date = new Date(); + wrkMast.setWrkSts(14L); + wrkMast.setModiTime(date); + wrkMastService.updateById(wrkMast); + } + } + + } + }catch (Exception e){ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); @@ -2885,26 +2958,44 @@ } - MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3,new RgvCommand())); - log.info("{}鍙穜gv宸ヤ綅涓�宸ヤ綔瀹屾垚澶嶄綅,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); + } //宸ヤ綅浜屼换鍔″畬鎴� if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING2 && rgvProtocol.getLoaded2() == 0) { try { - Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2()); - WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); - if (Cools.isEmpty(wrkMastSta1)){ - log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); - }else { - if (wrkMastSta1.getWrkType() == 9 ){ - wrkMastSta1.setWrkSts(3); - wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); - }else if (wrkMastSta1.getWrkType() == 1){ - wrkMastSta1.setWrkSts(3); - wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4, new RgvCommand())); + log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); + if (offer){ + Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2()); + WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); + if (Cools.isEmpty(wrkMastSta1)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅浜屼换鍔℃湭鎵惧埌瀵瑰簲宸ヤ綔浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); + }else { + if (wrkMastSta1.getWrkType() == 9 ){ + wrkMastSta1.setWrkSts(3); + wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + }else if (wrkMastSta1.getWrkType() == 1){ + wrkMastSta1.setWrkSts(3); + wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); + } } + + //瀹屾垚宸ヤ綔妗d换鍔� + WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2()); + if (Cools.isEmpty(wrkMast)){ + log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鏈壘鍒板搴攔gv浠诲姟,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); + }else { + if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ + Date date = new Date(); + wrkMast.setWrkSts(14L); + wrkMast.setModiTime(date); + wrkMastService.updateById(wrkMast); + } + } + } + }catch (Exception e){ log.error("瀹屾垚{}鍙疯溅宸ヤ綅涓�浠诲姟鍑洪敊!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); @@ -2913,17 +3004,16 @@ - MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4,new RgvCommand())); - log.info("{}鍙穜gv宸ヤ綅浜屽伐浣滃畬鎴愬浣�,宸ヤ綔鍙�:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); + } } } public boolean rgvTaskSave(RgvCommand command){ - Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1()); - WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); +// Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1()); + List<WrkMastSta> wrkMastSta1 = wrkMastStaService.selectBywrkNoHistoricalTasks(command.getRgvNo(),command.getTaskNo1(),command.getTaskNo2()); if (!Cools.isEmpty(wrkMastSta1)){ - wrkMastStaService.delete(wrkMastStaWrapper); + wrkMastStaService.deleteBatchIds(wrkMastSta1); } WrkMastSta wrkMastSta = new WrkMastSta(); wrkMastSta.setWrkNo(Long.valueOf(command.getTaskNo1())); -- Gitblit v1.9.1