From 93674068e900b95726ef1ab9fd4dd61b50a1cb2f Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 12 六月 2024 09:56:45 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 50 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 c12b79e..0a596ab 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()));
}
@@ -228,7 +237,7 @@
checkOrderQty(order,combMat);
}
- DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(), combMat.getIsoseq(),combMat.getContainerCode(),param.getLocType());
+ DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(), combMat.getIsoseq(),combMat.getContainerCode(),param.getLocType(),combMat.getProcessSts());
//鍚屼竴璐ф灦涓嬬浉鍚岀墿鏂欎俊鎭拰鎵瑰彿杞负涓�涓叆搴撻�氱煡妗�
if (DetlDto.has(detlDtos, detlDto)) {
DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(), detlDto.getCsocode(), detlDto.getIsoseq(),detlDto.getContainerCode());
@@ -284,6 +293,8 @@
waitPakin.setDeadTime(detlDto.getIsoseq());
waitPakin.setLocType(detlDto.getLocType());
+
+ waitPakin.setProcessSts(detlDto.getProcessSts());
waitPakin.setAppeUser(userId);
@@ -394,15 +405,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,7 +425,7 @@
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("褰撳墠妤煎眰娌℃湁绌哄簱浣�");
}
@@ -492,10 +503,16 @@
@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("宸ヤ綔鐘舵�佷笉绗﹀悎绂诲満鏉′欢");
@@ -537,8 +554,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)) {
@@ -547,7 +570,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);
//鍏ュ嚭搴撶被鍨�
@@ -573,10 +596,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("");
@@ -598,6 +627,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());
@@ -631,6 +666,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