From 2f7c2cf530721226082cb4fb7efe10ddc22070f6 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期二, 11 六月 2024 10:29:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 65 ++++++++++++++++++++++++++++---- 1 files changed, 56 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index 90ee6f0..8d9c2ba 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -9,6 +9,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; +import com.zy.asrs.utils.CodeDetectionUtil; import com.zy.common.model.DetlDto; import com.zy.common.service.AgvCommonService; import lombok.Synchronized; @@ -68,6 +69,9 @@ if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { throw new CoolException(BaseRes.PARAM); } + if (!CodeDetectionUtil.barcodeDetection(param.getBarcode())){ + throw new CoolException(param.getBarcode() + "璐ф灦鐮佹湁璇紝璇锋纭壂鐮侊紒锛侊紒"); + } param.setContainerType(Short.valueOf(param.getBarcode().substring(0,2))); // //妫�鏌ユ槸鍚﹀凡瀛樺湪鐩稿悓鐨勮揣鏋舵潯鐮侊紝瀛樺湪鍒欐姏鍑哄紓甯� @@ -116,10 +120,16 @@ Date now = new Date(); List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", pickParams.getLocNo())); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", pickParams.getWrkNo())); + + if (Cools.isEmpty(agvWrkMast)){ + return "澶辫触锛屾湭鏌ュ埌宸ヤ綔涓绘。锛屽伐浣滃彿锛�"+pickParams.getWrkNo(); + } for (PickParam.Pick pick : pickParams.getPicks()) { if (pick.getCount().equals(0D)) continue; Double count = 0.0D; AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()).eq("supp_code",pick.getSuppCode())); + if (Cools.isEmpty(agvWrkDetl)) { AgvWrkDetl wrkDetl = new AgvWrkDetl(); Mat mat = matService.selectByMatnr(pick.getMatnr()); @@ -129,7 +139,7 @@ wrkDetl.sync(mat); wrkDetl.setWrkNo(pickParams.getWrkNo()); wrkDetl.setOrderNo(pick.getOrderNo()); - wrkDetl.setIoTime(now); + wrkDetl.setIoTime(agvWrkMast.getIoTime()); wrkDetl.setAnfme(pick.getCount()); // 鏁伴噺 wrkDetl.setSuppCode(pick.getSuppCode()); // 璐ф灦鏉$爜 wrkDetl.setAppeUser(userId); @@ -167,7 +177,6 @@ } } if (agvLocDetls.size() == sameNumber) { - AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", pickParams.getWrkNo())); agvWrkMast.setIoType(101); agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", pickParams.getWrkNo())); } @@ -394,15 +403,15 @@ } } else { if (agvLocMast.getFloor() != floor) { - if (floor==1 && agvLocMast.getFloor()!=1){ - ioType = 121; - }else { +// if (floor==1 && agvLocMast.getFloor()!=1){ +// ioType = 121; +// }else { if (agvLocMast.getFloor() == 1) { throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒"); } else { ioType = 12; } - } +// } } else { ioType = 11; } @@ -414,14 +423,18 @@ throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor); + AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,true); if (Cools.isEmpty(locMast)) { throw new CoolException("褰撳墠妤煎眰娌℃湁绌哄簱浣�"); } //鐢熸垚宸ヤ綔妗� AgvWrkMast mast = new AgvWrkMast(); //宸ヤ綔鐘舵�� - mast.setWrkSts(201L); + if (ioType==121) { + mast.setWrkSts(11L); + }else { + mast.setWrkSts(201L); + } //鍏ュ嚭搴撶被鍨� mast.setIoType(ioType); mast.setIoTime(now); @@ -462,6 +475,7 @@ } }); } + // 濡傛灉褰撳墠浠诲姟鏄澹充簩涓夋ゼ鍥為��涓�妤肩殑 鍥炴粴璋冩嫧鍗� if (ioType == 12 && locMast.getFloor() == 1) { List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); @@ -487,10 +501,19 @@ @Synchronized public String allocationOut(AgvMobileStartPakin param, Long userId) { Date now = new Date(); + if(Cools.isEmpty(param.getBarcode())) { + throw new CoolException("璇疯緭鍏ヨ揣鏋剁爜"); + } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", param.getDevNo())); Integer oldWrkNo = agvWrkMast.getWrkNo(); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); + } + if (!agvWrkMast.getBarcode().equals(param.getBarcode())) { + throw new CoolException("褰撳墠璐ф灦鐮佷笌浠诲姟涓嶅尮閰�"); + } + if (!agvWrkMast.getWrkSts().equals(207L)) { + throw new CoolException("宸ヤ綔鐘舵�佷笉绗﹀悎绂诲満鏉′欢"); } //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� @@ -529,8 +552,14 @@ public String allocationIn(AgvMobileStartPakin param, Long userId) { Date now = new Date(); AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); + if (Cools.isEmpty(agvWrkMast)) { + throw new CoolException("鏆傛棤褰撳墠璐ф灦鐮佺殑浠诲姟"); + } if (agvWrkMast.getIoType() != 111) { throw new CoolException("闈炴墜鍔ㄨ皟鎷ㄤ换鍔★紝涓嶆敮鎸佹鍔熻兘"); + } + if (!Cools.isEmpty(agvWrkMast.getSourceLocNo())) { + throw new CoolException("褰撳墠璐ф灦鐮佷换鏈夋簮搴撲綅锛岃纭"); } AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(param.getDevNo()); if (Cools.isEmpty(agvWrkMast)) { @@ -539,7 +568,7 @@ if (agvWrkMast.getCrnNo() != agvBasDevp.getFloor()) { throw new CoolException("璇风Щ鍔ㄥ埌->" + agvWrkMast.getCrnNo() + "妤煎叆搴撶偣鍏ュ簱"); } - AgvLocMast locNo = agvCommonService.getLocNo(3, 1); + AgvLocMast locNo = agvCommonService.getLocNo(3, 1,false,true); //宸ヤ綔鐘舵�� agvWrkMast.setWrkSts(211L); //鍏ュ嚭搴撶被鍨� @@ -565,10 +594,16 @@ @Synchronized public String empOut(AgvMobileStartPakin param, Long userId) { Date now = new Date(); + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException("璇疯緭鍏ヨ揣鏋剁爜"); + } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); Integer oldWrkNo = agvWrkMast.getWrkNo(); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); + } + if (!agvWrkMast.getBarcode().equals(param.getBarcode())) { + throw new CoolException("褰撳墠璐ф灦鐮佷笌浠诲姟涓嶅尮閰�"); } agvWrkMast.setWrkSts(213L); agvWrkMast.setSourceLocNo(""); @@ -590,6 +625,12 @@ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); + } + if (agvWrkMast.getIoType() != 113) { + throw new CoolException("褰撳墠宸ヤ綔绫诲瀷涓嶈兘绌烘灦杩涘満"); + } + if (agvWrkMast.getWrkSts() != 213) { + throw new CoolException("褰撳墠宸ヤ綔绫诲瀷涓嶈兘绌烘灦杩涘満"); } agvWrkMast.setWrkSts(214L); agvWrkMast.setSourceLocNo(param.getDevNo()); @@ -623,6 +664,12 @@ @Override @Transactional public String doBack(AgvMobileStartPakin param, Long userId) { + if (Cools.isEmpty(param.getBarcode()) || !CodeDetectionUtil.barcodeDetection(param.getBarcode())){ + throw new CoolException(param.getBarcode() + "璐ф灦鐮佹湁璇紝璇锋纭壂鐮侊紒锛侊紒"); + } + if (Cools.isEmpty(param.getDevNo()) || !CodeDetectionUtil.carCodeDetection(param.getDevNo())){ + throw new CoolException(param.getDevNo() + "灏忚溅鍦扮爜鏈夎锛岃姝g‘鎵爜锛侊紒锛�"); + } Date now = new Date(); AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", param.getDevNo())); AgvWrkMast agvWrkMastSource = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); -- Gitblit v1.9.1