From 94e6a3b240b6a972408dcb6719ba2a1df0e7746e Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期三, 08 十一月 2023 16:18:59 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 73 ++++++++++++++++++++++++++++++++---- 1 files changed, 65 insertions(+), 8 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 8189a55..8d7fccf 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -96,6 +96,8 @@ @Value("${test.url}") private String testUrl; + @Autowired + private WrkMastService wrkMastService; /** * 缁勬墭 @@ -908,6 +910,7 @@ // return; } + // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� @@ -1060,10 +1063,21 @@ * 搴撲綅绉昏浆 */ public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol){ + //鑾峰彇鎵�鏈夌Щ搴撲换鍔� + List<WrkMast> wrkMasts=wrkMastMapper.selectLocMoves(slave.getId()); // 鑾峰彇宸ヤ綔妗d俊鎭� WrkMast wrkMast = wrkMastMapper.selectLocMove(slave.getId()); + if(Cools.isEmpty(wrkMasts)){ + return; + } if (null == wrkMast) { return; + } + for (WrkMast wm: wrkMasts) { + if(wm.getMk().equals('Y')){ + wrkMast=wm; + break; + } } // 鑾峰彇婧愬簱浣嶄俊鎭� LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo()); @@ -2348,6 +2362,7 @@ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); if(null != devpThread){ for (int i = 0; i < 48; i++){ + boolean fig=false; //鏌ヨ鍦ㄥ簱鍜岄绾﹀嚭搴� LocMast locMast=locMastService.selectztgx("F","R",i); if(!Cools.isEmpty(locMast)){ @@ -2365,21 +2380,45 @@ //testMast.setStatus //"鐘舵�� 0: 寰呯敵璇� 1: 鐢宠涓� 2: 宸插鏍� 3:娴嬭瘯涓� 4:瀹屾垚 5:绉诲簱 6:鐏" - if(devpThread.startSignal[i][0]==1){ + if(devpThread.startSignal[i][0]==8){ testMast.setStatus(1); + locMast.setPackStatus(1); testMast.setModiTime(new Date()); - }else if(devpThread.startSignal[i][0]==2){ + }else if(devpThread.startSignal[i][0]==2 && locMast.getPackStatus()!=2){ testMast.setStatus(3); + locMast.setPackStatus(2); testMast.setModiTime(new Date()); + //NG杞琌K闇�瑕佽繕鍘熸簮搴撲綅鍜岀洰鏍囧簱浣嶇姸鎬侊紝OK杞琋G 鍒犻櫎浠诲姟妗� + WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>() + .eq("source_loc_no",locMast.getLocNo()) + .eq("wrk_sts",11)); + if(!Cools.isEmpty(wrkMast)){ + if(wrkMast.getWrkSts()==11){ + if(wrkMast.getIoType()==11){ + LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo())); + locMast1.setLocSts("O"); + locMastService.update(locMast1,new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo())); + } + wrkMastMapper.delete(new EntityWrapper<WrkMast>() + .eq("wrk_no",wrkMast.getWrkNo())); + locMast.setLocSts("F"); + wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no",wrkMast.getWrkNo())); + if(!locMastService.update(locMast,new EntityWrapper<LocMast>() + .eq("channel",i+1))){ + log.error("淇敼娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast); + }else{ + fig=true; + } + }} }else if(devpThread.startSignal[i][0]==3){ locMast.setPackStatus(7); testMast.setModiTime(new Date()); - }else if(devpThread.startSignal[i][0]==4 && testMast.getStatus()!=4){ + }else if(devpThread.startSignal[i][0]==4 && testMast.getStatus()!=4&&locMast.getFireStatus()!=1&&testMast.getStatus()!=6){ locMast.setPackStatus(3); testMast.setStatus(4); testMast.setModiTime(new Date()); testMastService.insertPackQualified(true,new Date(),testMast.getBarcode()); - }else if(devpThread.startSignal[i][0]==5 && testMast.getStatus()!=4){ + }else if(devpThread.startSignal[i][0]==5 && testMast.getStatus()!=4&&locMast.getFireStatus()!=1&&testMast.getStatus()!=6){ locMast.setPackStatus(4); testMast.setStatus(4); testMast.setModiTime(new Date()); @@ -2391,16 +2430,26 @@ //閫氶亾鍚姩鎸夐挳鐘舵�侊紝1:鍙互鍚姩鍑哄簱鎴栬�呯Щ搴擄紝0:涓嶈兘鍚姩鍑哄簱鎴栬�呯Щ搴� locMast.setCtnKind(devpThread.startSignal[i][2]); if(devpThread.startSignal[i][2]==1){ + WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no",locMast.getLocNo())); + if(!Cools.isEmpty(wrkMast)){ + wrkMast.setMk("Y"); + if(!wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>() + .eq("source_loc_no",locMast.getLocNo()))){ + log.error("淇敼浠诲姟妗e惎鍔ㄦ寜閽姸鎬侊紝浠诲姟妗g姸鎬佸け璐�"+wrkMast.getSourceLocNo(),wrkMast); + } + } if(!locMastService.update(locMast,new EntityWrapper<LocMast>() .eq("loc_sts","R") .eq("channel",i+1))){ log.error("淇敼鍚姩鎸夐挳鐘舵�侊紝娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast); } }else if(!locMast.getLocSts().equals("R")){ - if(!locMastService.update(locMast,new EntityWrapper<LocMast>() - .eq("loc_sts","F") - .eq("channel",i+1))){ - log.error("淇敼娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast); + if(!fig){ + if(!locMastService.update(locMast,new EntityWrapper<LocMast>() + .eq("loc_sts","F") + .eq("channel",i+1))){ + log.error("淇敼娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast); + } } if(!testMastService.update(testMast,new EntityWrapper<TestMast>() .eq("loc_no",locMast.getLocNo()) @@ -2410,12 +2459,18 @@ } } } + //褰撳厖鏀剧數搴撲綅涓篛绌哄簱浣嶆椂 + //搴撲綅鐘舵�佹敼涓�8绌洪棽 //缁橮LC鍐欐秷闃蹭俊鍙� for (int i=0;i<48;i++){ LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>().eq("channel",i+1)); TestMast testMast=testMastService.selectOne(new EntityWrapper<TestMast>() .eq("loc_no",locMast.getLocNo()) .eq("user_id",locMast.getBarcode())); + if((locMast.getLocSts().equals("O")||locMast.getLocSts().equals("S"))&&devpThread.startSignal[i][0]!=8){ + Thread.sleep(1000); + MessageQueue.offer(SlaveType.Devp, 1, new Task(6,locMast.getChannel()-1)); + } try{ if(locMast.getFireStatus()!=devpThread.startSignal[i][1]){ messageQueueOffer2(i,(short)((int)locMast.getFireStatus()),SlaveType.Devp, devp.getId()); @@ -2436,6 +2491,8 @@ } } + + } } -- Gitblit v1.9.1