From 2446d71ec7c273625cb21878a6638934dd79fa53 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 16 七月 2025 09:35:54 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 70 +++++++++++++++++++++++++++++-----
1 files changed, 59 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 53eed73..ae419d8 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -15,6 +15,7 @@
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.*;
@@ -325,15 +326,6 @@
ioType = dto.isAll() ? 101 : 103;
} else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
ioType = 107;
- if (Cools.isEmpty(checkOrderNo)) {
- checkOrderNo = DateUtils.createTimeStamp();
- InventoryCheckOrder checkOrder = new InventoryCheckOrder();
- checkOrder.setCreateBy(userId);
- checkOrder.setStatus("1");
- checkOrder.setCreateTime(new Date());
- checkOrder.setOrderNo(checkOrderNo);
- checkOrderService.insert(checkOrder);
- }
}
assert ioType != null;
// 鑾峰彇搴撲綅
@@ -346,9 +338,38 @@
// }
// 鑾峰彇璺緞
- StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+ List<StaDesc> staDescs = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+ StaDesc staDesc = staDescs.get(0);
+ if (locMast.getCrnNo() == 1) {
+ int finalCrnStn = 1016;
+ if (locMast.getRow1() <= 3) {
+ finalCrnStn = 1013;
+ }
+
+ for (StaDesc desc : staDescs) {
+ if (desc.getCrnStn() == finalCrnStn) {
+ staDesc = desc;
+ break;
+ }
+ }
+ }
+
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+
+ if (ioType == 107) {
+ if (Cools.isEmpty(checkOrderNo)) {
+ checkOrderNo = DateUtils.createTimeStamp() + "_" + workNo;
+ InventoryCheckOrder checkOrder = new InventoryCheckOrder();
+ checkOrder.setCreateBy(userId);
+ checkOrder.setStatus("1");
+ checkOrder.setArea(String.valueOf(workNo));
+ checkOrder.setCreateTime(new Date());
+ checkOrder.setOrderNo(checkOrderNo);
+ checkOrderService.insert(checkOrder);
+ }
+ }
+
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -394,7 +415,11 @@
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
if (ioType == 107) {
- List<InventoryCheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrderNo).eq("loc_no", dto.getLocNo()));
+ List<InventoryCheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+ .eq("order_no", checkOrderNo)
+ .eq("loc_no", dto.getLocNo())
+ .eq("batch", wrkDetl.getBatch())
+ );
if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) {
throw new CoolException("璇ュ簱浣嶇殑鐩樼偣浠诲姟宸茬粡娣诲姞鍒颁簡璇ュ簱浣嶄腑");
}
@@ -405,6 +430,8 @@
checkOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
checkOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
checkOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
+ checkOrderDetl.setArea(String.valueOf(workNo));
+ checkOrderDetl.setCwarehouseid(wrkDetl.getStandby1());
checkOrderDetl.setIoTime(new Date());
checkOrderDetl.setStatus("0");
checkOrderDetlService.insert(checkOrderDetl);
@@ -481,6 +508,19 @@
, locDto.getStandby1(), locDto.getStandby2(), locDto.getStandby3(), locDto.getBoxType1(), locDto.getBoxType2(), locDto.getBoxType3());
}
+
+ Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>()
+ .eq("loc_no", wrkMast.getSourceLocNo())
+ .eq("matnr", orderDetlPakout.getMatnr());
+ if (!Cools.isEmpty(locDto.getBatch())) {
+ wrapper.eq("batch", locDto.getBatch());
+ }
+ if (!Cools.isEmpty(orderDetlPakout.getSpecs())) {
+ wrapper.eq("specs", orderDetlPakout.getSpecs());
+ }
+
+ LocDetl locDetl = locDetlService.selectOne(wrapper);
+
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(orderDetlPakout);
wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -494,6 +534,14 @@
wrkDetl.setModiTime(now);
wrkDetl.setModiUser(userId);
wrkDetl.setThreeCode(orderDetlPakout.getId() + "");
+ wrkDetl.setSupp(orderPakout.getCstmrName());
+ wrkDetl.setStockNum(locDetl.getAnfme());//搴撳瓨
+ wrkDetl.setStockNum2(locDetl.getWeight());//杈呭簱瀛�
+ wrkDetl.setKpCstmrName(orderPakout.getKpCstmrName());
+
+ //璁$畻杈呮暟閲�
+ Double weight = MatUtils.calcWeight(wrkDetl.getMatnr(), wrkDetl.getAnfme());
+ wrkDetl.setWeight(weight);
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
--
Gitblit v1.9.1