From 849409866c1372f5daf7becf9aec054922e260b2 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期五, 14 二月 2025 13:20:23 +0800
Subject: [PATCH] 兼容四期
---
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++----
1 files changed, 75 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 f286e4d..ececff1 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -4,11 +4,11 @@
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.exception.CoolException;
+import com.zy.asrs.constant.AsrsConstants;
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.asrs.utils.OrderUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.service.AgvCommonService;
import lombok.Synchronized;
@@ -797,14 +797,8 @@
agvWrkMastLogService.save(agvWrkMast);
agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
String sourceLocNo = agvWrkMast.getSourceLocNo();
- //AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
- // TODO: 鍥涙湡
+ AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
- String factory = null;
- if (!Cools.isEmpty(agvWrkDetls)) {
- factory = OrderUtils.getFactory(agvWrkDetls.get(0).getThreeCode());
- }
- AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory);
if (newLocMast == null) {
throw new CoolException("鏃犲彲鐢ㄥ簱浣�");
}
@@ -849,6 +843,77 @@
return "ok";
}
+ /*
+ * 纭鍔犲伐瀹屾垚
+ */
+ @Override
+ @Transactional
+ public String processedV2(AgvMobileStartPakin param, Long userId) {
+ Date now = new Date();
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()).eq("loc_no", param.getDevNo()));
+ if (Cools.isEmpty(agvWrkMast)) {
+ throw new CoolException("鏆傛棤褰撳墠璐ф灦鐨勫伐浣滄。");
+ }
+ if (agvWrkMast.getWrkSts() != 205) {
+ throw new CoolException("褰撳墠浠诲姟鏈畬鎴愶紝璇风‘璁�");
+ }
+ //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+ agvWrkMastLogService.save(agvWrkMast);
+ agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
+ String sourceLocNo = agvWrkMast.getSourceLocNo();
+ // TODO: 鍥涙湡
+ List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
+ String factory = param.getFactory();
+ AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory);
+ if (newLocMast == null) {
+ throw new CoolException("鏃犲彲鐢ㄥ簱浣�");
+ }
+ agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo());
+ agvWrkMast.setLocNo(newLocMast.getLocNo());
+ agvWrkMast.setIoType(57);
+ agvWrkMast.setWrkSts(201L);
+ agvWrkMast.setModiUser(userId);
+ agvWrkMast.setModiTime(now);
+ agvWrkMast.setIoTime(now);
+ // 鎵撴爣璁帮紝鑻ュ簱浣嶄笉澶燂紝鍏ュ簱鍒板埆鐨勬ゼ灞傦紝閭d箞闇�瑕佽法灞傜Щ搴�
+ if (!Cools.isEmpty(factory)) {
+ if (newLocMast.getLev1() == 1 && !factory.equals(AsrsConstants.SANCHANG)) {
+ agvWrkMast.setCtnNo("1");
+ } else if (newLocMast.getLev1() == 2 && !factory.equals(AsrsConstants.ERCHANG)) {
+ agvWrkMast.setCtnNo("2");
+ }
+ }
+ if (!agvWrkMastService.update(agvWrkMast, new EntityWrapper<AgvWrkMast>().eq("wrk_no", agvWrkMast.getWrkNo()))) {
+ throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+ }
+
+ // 鏇存柊婧愮珯鐐� + 鐩爣搴撲綅鐘舵�� + 鍘嗗彶婧愬簱浣�
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(), "R", param.getBarcode(), agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(newLocMast.getLocNo(), "S", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(sourceLocNo, "O", "", (short) 30);
+ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", sourceLocNo));
+
+ agvWrkDetls.forEach(agvWrkDetl -> {
+ for (AgvWrkDetl wrkDetl : param.getWrkDetls()) {
+ if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) {
+ agvWrkDetl.setAnfme(wrkDetl.getAnfme());
+ break;
+ }
+ }
+ agvWrkDetl.setProcessSts(2);
+ agvWrkDetl.setOrderNo(agvWrkDetl.getOrderNo().substring(2));
+ agvWrkDetl.setModiUser(userId);
+ agvWrkDetl.setModiTime(now);
+ agvWrkDetl.setIoTime(now);
+ if (!agvWrkDetlService.update(agvWrkDetl, new EntityWrapper<AgvWrkDetl>()
+ .eq("matnr", agvWrkDetl.getMatnr())
+ .eq("three_code", agvWrkDetl.getThreeCode())
+ .eq("supp_code", param.getBarcode()))) {
+ throw new CoolException("鏇存柊宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ return "ok";
+ }
/*
* 绔欑偣鍥為��
@@ -912,7 +977,8 @@
} else {
orderDetl = orderDetls.get(0);
}
- orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
+ double v = orderDetl.getQty() - agvWrkDetl.getAnfme();
+ orderDetl.setQty(v < 0 ? 0 : v);
if (!orderDetlService.updateById(orderDetl)) {
throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + orderDetl.getOrderNo() + orderDetl.getMatnr());
}
--
Gitblit v1.9.1