From e9152bae00b01fc80000d44f726f337084215748 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 21 五月 2025 10:19:18 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 95 +++++++++++++---------------------------------- 1 files changed, 26 insertions(+), 69 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 9004e48..eb847be 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -7,6 +7,7 @@ import com.core.exception.CoolException; import com.zy.asrs.domain.dto.NotifyCustomDataDto; import com.zy.asrs.domain.enums.NotifyMsgType; +import com.zy.asrs.domain.enums.RedisKeyType; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.entity.*; @@ -18,15 +19,12 @@ import com.zy.asrs.utils.Utils; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; +import com.zy.common.utils.RedisUtil; import com.zy.core.CrnThread; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.*; -import com.zy.core.enums.DevpType.DevpRequestType; -import com.zy.core.enums.DevpType.DevpStateType; -import com.zy.core.enums.DevpType.DevpTrayType; -import com.zy.core.enums.DevpType.DevpWorkType; import com.zy.core.model.CrnSlave; import com.zy.core.model.DevpSlave; import com.zy.core.model.Task; @@ -76,13 +74,9 @@ @Autowired private TaskWrkService taskWrkService; @Autowired - private ConfigService configService; - @Autowired private StaDescMapper staDescMapper; @Autowired private CommandInfoService commandInfoService; - @Autowired - private OpenServiceImpl openServiceImpl; @Autowired private StaDescService staDescService; @Autowired @@ -93,6 +87,8 @@ private CrnOperaUtils crnOperaUtils; @Autowired private NotifyUtils notifyUtils; + @Autowired + private RedisUtil redisUtil; @Value("${wms.count}") private Integer maxCount; @Value("${wms.url}") @@ -116,8 +112,6 @@ } else { staProtocol = staProtocol.clone(); } - Short workNo = staProtocol.getWorkNo().shortValue(); - Short stano = staProtocol.getStaNo(); // 灏哄妫�娴嬪紓甯� boolean back = false; @@ -166,6 +160,11 @@ } String barcode = barcodeThread.getBarcode(); + if (Cools.isEmpty(barcode)) { + log.info("鍏ュ簱淇″彿婊¤冻锛屾墭鐩樼爜涓虹┖"); + continue; + } + TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode)); if (taskWrk1 != null) { log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�"); @@ -185,6 +184,11 @@ String response = ""; Boolean success = false; try { + Object object = redisUtil.get(RedisKeyType.IN_TASK_LOCK.key); + if(object != null) { + continue; + } + response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath(inboundTaskApplyPath) @@ -192,14 +196,18 @@ .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code") != 200) { - log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject)); - continue; - } + redisUtil.set(RedisKeyType.IN_TASK_LOCK.key, "lock", 5); + if (jsonObject.getInteger("code") == 200) { - if (back) { - devpThread.setPakMk(staProtocol.getSiteId(), false); + } else if (jsonObject.getInteger("code") == 500) { + log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject)); + + staProtocol.setWorkNo(9997); + staProtocol.setStaNo(inSta.getBackSta().shortValue()); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + continue; + }else { + log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject)); continue; } @@ -319,7 +327,7 @@ for (CrnSlave crnSlave : slaveProperties.getCrn()) { // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) { - List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); + List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("type_no", 2).eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); for (StaDesc staDesc : staDescs) { try { // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 @@ -525,28 +533,6 @@ continue; } - LocMast locMast=locMastService.selectByLocNo(taskWrk.getStartPoint()); - //鍒ゆ柇鍏跺簱浣嶆槸鍚︿负娣卞簱浣嶏紝濡傛灉涓烘繁搴撲綅鎵惧叾娴呭簱浣嶆槸閮芥湁璐� - if(locMast.getRow1()==1||locMast.getRow1()==5){ - LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("row1", (locMast.getRow1()+1)) - .eq("bay1",locMast.getBay1()) - .eq("lev1",locMast.getLev1()).eq("loc_sts","F")); - if (!Cools.isEmpty(locMast1)){ - log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); - continue; - } - }else if(locMast.getRow1()==4||locMast.getRow1()==8){ - LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("row1", (locMast.getRow1()-1)) - .eq("bay1",locMast.getBay1()) - .eq("lev1",locMast.getLev1()).eq("loc_sts","F")); - if (!Cools.isEmpty(locMast1)){ - log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); - continue; - } - } - // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); @@ -564,7 +550,7 @@ } // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� - if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") + if (staProtocol.isAutoing() && staProtocol.isOutEnable() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") ) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -822,42 +808,13 @@ if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) { taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚 taskWrk.setStatus(5);//瀹岀粨 - - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); - locMast.setLocSts("F");//F.鍦ㄥ簱 - locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� - locMast.setModiTime(new Date()); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) { taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚 taskWrk.setStatus(5);//瀹岀粨 - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); - locMast.setLocSts("O");//O.绌哄簱浣� - locMast.setBarcode("");//鎵樼洏鐮� - locMast.setModiTime(new Date()); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) { taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚 taskWrk.setStatus(5);//瀹岀粨 - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); - locMast.setLocSts("F");//F.鍦ㄥ簱 - locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� - locMast.setModiTime(new Date()); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); - - LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint()); - locMast1.setLocSts("O");//O.绌哄簱浣� - locMast1.setBarcode("");//鎵樼洏鐮� - locMast1.setModiTime(new Date()); - locMast1.setModiUser(9999L); - locMastService.updateById(locMast1); } taskWrkService.updateById(taskWrk); } -- Gitblit v1.9.1