From c0da15f6c25210ad17993c8fc829c92ab8113fa1 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期二, 09 九月 2025 13:45:19 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 147 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 111 insertions(+), 36 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 fcc6307..117747c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -8,11 +8,15 @@ import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.ArmTaskAssignmentParam; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; +import com.zy.asrs.utils.PostMesDataUtils; import com.zy.asrs.utils.RouteUtils; import com.zy.asrs.utils.Utils; import com.zy.asrs.utils.VersionUtils; +import com.zy.asrs.utils.core.ReturnT; +import com.zy.common.constant.ArmConstant; import com.zy.common.model.LocTypeDto; import com.zy.common.model.MatDto; import com.zy.common.model.SearchLocParam; @@ -93,6 +97,10 @@ private WrkMastService wrkMastService; @Autowired private BasRgvMapService basRgvMapService; + @Autowired + private BasArmService basArmService; + @Autowired + private BasArmMastService basArmMastService; @Value("${wms.url}") private String wmsUrl; @@ -813,51 +821,63 @@ } else { staProtocolIn = staProtocolIn.clone(); } - StaProtocol staProtocolOut = devpThread.getStation().get(1015); - if (staProtocolOut == null) { - continue; - } else { - staProtocolOut = staProtocolOut.clone(); - } - if(staProtocolOut.getWorkNo() != null && staProtocolOut.getStaNo() == 4006){ - WrkMast wrkMastOut = wrkMastMapper.selectByWrkNo(staProtocolOut.getWorkNo()); - WrkMast wrkMast = wrkMastMapper.selectByWrkNo(9997); - if(wrkMast == null){ + int[] outStaNos = {1015, 2016}; + for (int outStaNo : outStaNos) { + StaProtocol staProtocolOut = devpThread.getStation().get(outStaNo);// 鐩樼偣鍑哄簱琛旀帴绔欑偣锛堝彲鑳芥槸 1015锛屼篃鍙兘鏄� 2016锛� + if (staProtocolOut == null) { continue; + } else { + staProtocolOut = staProtocolOut.clone(); } - try { - TransplantWork param = new TransplantWork(); - param.setWorkNo(wrkMastOut.getWrkNo()); - param.setBarcode(wrkMastOut.getBarcode()); - param.setSourceStaNo(1015); - param.setStaNo(wrkMastOut.getStaNo()); - String response = new HttpHandler.Builder() - .setUri(wmsUrl) - .setPath("/rpc/auto/TransplantingIn/v1") - .setJson(JSON.toJSONString(param)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - staProtocolOut.setWorkNo(9997); - devpThread.setPakMk(staProtocolOut.getSiteId(), false); - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolOut)); - if (!result) { - throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); - } + if (staProtocolOut.getWorkNo() != null && staProtocolOut.getStaNo() == 4006) { + WrkMast wrkMastOut = wrkMastMapper.selectByWrkNo(staProtocolOut.getWorkNo()); + WrkMast wrkMast = wrkMastMapper.selectByWrkNo(9997); + if (wrkMastOut == null) { + continue; } + if (wrkMast != null) { + News.info("宸插瓨鍦ㄦ枩琛椾换鍔★紝绛夊緟浠诲姟瀹屾垚"); + continue; + } + try { + TransplantWork param = new TransplantWork(); + param.setWorkNo(wrkMastOut.getWrkNo()); + param.setBarcode(wrkMastOut.getBarcode()); + param.setSourceStaNo(outStaNo); + param.setStaNo(wrkMastOut.getStaNo()); - } catch (Exception e) { - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + String response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setPath("/rpc/auto/TransplantingOut/v1") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + staProtocolOut.setWorkNo(9997); + devpThread.setPakMk(staProtocolOut.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolOut)); + + if (!result) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); + } + } + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } } } - if(staProtocolIn.getWorkNo() != null &&staProtocolIn.getStaNo() != 4001){ WrkMast wrkMastIn = wrkMastMapper.selectByWrkNo(staProtocolIn.getWorkNo()); WrkMast wrkMast = wrkMastMapper.selectByWrkNo(9996); - if(wrkMast == null){ + if(wrkMastIn == null){ + continue; + } + if(wrkMast != null){ + News.info("宸插瓨鍦ㄦ枩琛椾换鍔★紝绛夊緟浠诲姟瀹屾垚"); continue; } try { @@ -868,7 +888,7 @@ param.setStaNo(wrkMastIn.getStaNo()); String response = new HttpHandler.Builder() .setUri(wmsUrl) - .setPath("/rpc/auto/TransplantingOut/v1") + .setPath("/rpc/auto/TransplantingIn/v1") .setJson(JSON.toJSONString(param)) .build() .doPost(); @@ -4171,4 +4191,59 @@ } } + + + + /* + * arm浠诲姟涓嬪彂 + * */ + public synchronized void armTaskAssignment() { + try{ + List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<>()); + for (BasArm basArm : basArmList) { + if (basArm.getStatus()!=1){ + continue; + } + try{ + List<BasArmMast> basArmMastListRuning = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("arm_no", basArm.getArmNo()) + .eq("sorting_line", basArm.getSortingLine()) + .eq("status", 1) + ); + if (basArmMastListRuning.isEmpty()){ + List<BasArmMast> basArmMastList = basArmMastService.selectList( + new EntityWrapper<BasArmMast>() + .eq("arm_no", basArm.getArmNo()) + .eq("sorting_line", basArm.getSortingLine()) + .eq("status", 0) + ); + if (basArmMastList.isEmpty()){ + continue; + } + if (basArmMastList.size()>1){ + log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫媶鐮佸灈浠诲姟寮傚父绂佹涓嬪彂锛侊紒锛佷换鍔″緟鎵ц鏁伴噺澶т簬1锛侊紒锛�"); + continue; + } + for (BasArmMast basArmMast:basArmMastList) { + ArmTaskAssignmentParam armTaskAssignmentParam = new ArmTaskAssignmentParam(basArmMast.getSortingLine()); + //璁剧疆宸ヤ綔绌洪棿灏辩华 + ReturnT<String> result = new PostMesDataUtils().postMesData("鏈烘鑷傛姄鍙栦换鍔�",ArmConstant.ARM_URL, ArmConstant.ARM_WORKSPACE, armTaskAssignmentParam); + if (result.getCode()==200){ + basArmMast.setStatus(1); + basArmMastService.updateById(basArmMast); + } else { + log.error("鏈烘鑷傛姄鍙栦换鍔★細"+JSON.toJSON(basArmMast)+"===銆嬩换鍔′俊鎭笅鍙戝け璐�"); + } + } + } + } catch (Exception e){ + log.error("arm缂栧彿锛�"+basArm.getArmNo()+"====銆嬫媶鐮佸灈浠诲姟涓嬪彂澶辫触"+e.getMessage()); + } + } + }catch (Exception e){ + log.error("arm浠诲姟涓嬪彂澶辫触"+e.getMessage()); + } + } + } -- Gitblit v1.9.1