From 34aa40fffdda9155e77a7991ca8c7691102bb0b8 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期日, 26 四月 2026 11:29:05 +0800
Subject: [PATCH] no message
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 135 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 122 insertions(+), 13 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 aa3be9f..6382f72 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -11,18 +11,22 @@
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.enums.ContainerType;
import com.zy.asrs.enums.LocAreaType;
+import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.asrs.utils.Utils;
+import com.zy.common.constant.MesConstant;
import com.zy.common.model.*;
import com.zy.common.model.enums.IoWorkType;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.properties.SlaveProperties;
import com.zy.common.service.CommonService;
import com.zy.common.web.WcsController;
+import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -104,6 +108,8 @@
private BasStationDetlService basStationDetlService;
@Autowired
private BasAreasService basAreasService;
+ @Autowired
+ private OrderPakoutServiceImpl orderPakoutService;
@Override
@Transactional
@@ -120,6 +126,22 @@
// List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
// List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0));
+
+// BasContainer container = basContainerService.selectOne(new EntityWrapper<BasContainer>().eq("barcode", param.getBarcode()));
+// if (Objects.isNull(container)) {
+// throw new CoolException("瀹瑰櫒缂栫爜鏈淮鎶わ紝璇风淮鎶ゅ悗鍐嶆搷浣滐紒锛�");
+// }
+//
+// Integer whsType = 1;
+// Short lcoType = 1;
+// //鐢ㄤ簬鍒ゆ柇鏂欑鎵樼洏锛屾枡绠憋紝绗兼
+// if (!container.getType().equals(ContainerType.CONTAINER_TYPE_BOX.type)) {
+// whsType = 2;
+// if (container.getType().equals(ContainerType.CONTAINER_TYPE_SALVER.type)) {
+// lcoType = 2;
+// }
+// }
+
StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), sourceStaNo.getDevNo(), findLocNoAttributeVo, locTypeDto);
if (Cools.isEmpty(dto)) {
throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
@@ -341,6 +363,10 @@
// 鑾峰彇璺緞
StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+
+ //绉昏蛋娼滃簱浣嶅湪搴撴垨绌烘澘淇℃伅
+ moveShallowLocByF(staNo, userId, dto, locMast, staDesc, now);
+
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
@@ -398,6 +424,47 @@
}
} else {
throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+ }
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void moveShallowLocByF(BasDevp staNo, Long userId, OutLocDto dto, LocMast locMast, StaDesc staDesc, Date now) {
+ String shallowLoc = Utils.getShallowLoc(locMast.getLocNo(), MesConstant.deepRows);
+ if (!Objects.isNull(shallowLoc)) {
+ LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc));
+ if (locNo.getLocSts().equals(LocStsType.LOC_STS_TYPE_F.type) || locNo.getLocSts().equals(LocStsType.LOC_STS_TYPE_D.type)) {
+ //TODO 鍑哄簱鍓嶅垽鏂槸娴呭簱浣嶆槸鍚︽湁璐э紝濡傛灉鏈夎揣浼樺厛鐢熸垚绉诲簱浠诲姟
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(staDesc.getCrnStn(), true);
+ sourceStaNo.setLocType1(locMast.getLocType1());
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ StartupDto mvDto = commonService.getLocNo(1, staNo.getDevNo(), 2, null, locTypeDto);
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(mvDto.getWorkNo());
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細11.绉诲簱浠诲姟
+ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setIoPri(999D); // 浼樺厛绾э細13
+ wrkMast.setStaNo("");
+ wrkMast.setCrnNo(locNo.getCrnNo());
+ //婧愬簱浣�
+ wrkMast.setSourceLocNo(locNo.getLocNo()); // 婧愬簱浣�
+ //鐩爣搴撲綅
+ wrkMast.setLocNo(mvDto.getLocNo());
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setBarcode(locNo.getBarcode());
+ wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+ if (!wrkMastService.insert(wrkMast)) {
+ throw new CoolException("淇濆瓨绉诲簱宸ヤ綔妗eけ璐ワ紝绉诲簱搴撲綅鍙凤細" + locNo.getLocNo() + "鐩爣搴撲綅鍙凤細" + dto.getLocNo());
+ }
}
}
}
@@ -478,6 +545,7 @@
wrkDetl.setZpallet(wrkMast.getBarcode());
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
+ wrkDetl.setBoxType1(locDto.getBoxType1());
wrkDetl.setBatch(locDto.getBatch());
wrkDetl.setOrderNo(locDto.getOrderNo());
wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
@@ -575,6 +643,7 @@
wrkDetl.setOrderId(checkOrderDetls.getId());
wrkDetl.setZpallet(wrkMast.getBarcode());
wrkDetl.setIoTime(now);
+ wrkDetl.setBoxType1(locDto.getBoxType1());
wrkDetl.setWrkNo(workNo);
wrkDetl.setBatch(locDto.getBatch());
wrkDetl.setOrderNo(locDto.getOrderNo());
@@ -663,8 +732,11 @@
wrkDetl.setWrkNo(workNo)
.setId(null)
.setIoTime(new Date())
+ .setMatnr(locDto.getMatnr())
+ .setMaktx(locDto.getMaktx())
.setOrderNo(locDto.getOrderNo())
.setAnfme(locDto.getAnfme())
+ .setBoxType1(locDto.getBoxType1())
.setZpallet(locCache.getBarcode())
.setBatch(locDto.getBatch())
.setAppeUser(userId)
@@ -678,11 +750,14 @@
// throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
// }
// orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
- OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE, orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
- orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(),
- "1", orderDetl.getBoxType2(), orderDetl.getBoxType3()
- , locDto.getAnfme());
- OrderInAndOutUtil.updateOrder(Boolean.FALSE, orderDetl.getOrderId(), 2L, userId);
+ OrderPakout orderNo = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", orderDetl.getOrderNo()));
+ if (!Objects.isNull(orderNo)) {
+ OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE, orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
+ orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(),
+ "1", orderDetl.getBoxType2(), orderDetl.getBoxType3()
+ , locDto.getAnfme());
+ OrderInAndOutUtil.updateOrder(Boolean.FALSE, orderDetl.getOrderId(), 2L, userId);
+ }
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
@@ -991,6 +1066,7 @@
wrkDetl.sync(locDetl);
wrkDetl.setWrkNo(workNo);
wrkDetl.setIoTime(now);
+ wrkDetl.setBoxType1(locDetl.getBoxType1());
wrkDetl.setAnfme(locDetl.getAnfme());
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
@@ -1109,11 +1185,21 @@
if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) {
if (!locDetl.getAnfme().equals(adjust.getCount())) {
// todo 鐩樼偣璁板綍
- // 淇敼搴撳瓨
- if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(),
- locDetl.getStandby1(), locDetl.getStandby2(), locDetl.getStandby3(), locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3())) {
- throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
+ locDetl.setSuppCode(adjust.getSuppCode());
+ locDetl.setBoxType1(adjust.getBoxType1());
+ locDetl.setAnfme(adjust.getCount());
+ locDetl.setStandby1(adjust.getSuppCode());
+// locDetl.setZpallet(locDetl.getZpallet());
+
+
+ if (!locDetlService.update(locDetl, new EntityWrapper<LocDetl>().eq("loc_no", locDetl.getLocNo()))) {
+ throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getSuppCode() + "渚涘簲鍟嗕慨鏀规暟閲忓け璐�");
}
+ // 淇敼搴撳瓨
+// if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(),
+// locDetl.getStandby1(), locDetl.getStandby2(), locDetl.getStandby3(), locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3())) {
+// throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
+// }
// 淇濆瓨璋冩暣璁板綍
AdjDetl adjDetl = new AdjDetl();
adjDetl.setLocNo(locDetl.getLocNo());
@@ -1125,8 +1211,10 @@
adjDetl.setModiUser(userId);
adjDetl.setAppeTime(now);
adjDetl.setAppeUser(userId);
- adjDetlService.save(adjDetl, userId);
-
+ if (!adjDetlService.insert(adjDetl)) {
+ throw new CoolException("璋冩暣璁板綍淇濆瓨澶辫触锛侊紒");
+ }
+// adjDetlService.save(adjDetl, userId);
if (updateFlag) {
wrkMast.setWrkNo(commonService.getWorkNo(3));
wrkMast.setIoType(23);
@@ -1141,6 +1229,7 @@
WrkDetlLog wrkDetl = new WrkDetlLog();
wrkDetl.sync(locDetl);
wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setBoxType1(locDetl.getBoxType1());
wrkDetl.setIoTime(wrkMast.getIoTime());
wrkDetl.setAnfme(adjust.getCount());
wrkDetl.setAppeTime(now);
@@ -1162,7 +1251,7 @@
// todo 鐩樼偣璁板綍
if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(),
locDetl.getStandby1(), locDetl.getStandby2(), locDetl.getStandby3(), locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3())) {
- throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触");
+// throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触");
}
// 淇濆瓨璋冩暣璁板綍
AdjDetl adjDetl = new AdjDetl();
@@ -1215,6 +1304,9 @@
locDetl.setZpallet(locMast.getBarcode());
locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
+ locDetl.setSuppCode(adjust.getSuppCode());
+ locDetl.setStandby1(adjust.getSuppCode());
+ locDetl.setBoxType1(adjust.getBoxType1());
locDetl.setModiTime(now);
locDetl.setAppeUser(userId);
locDetl.setAppeTime(now);
@@ -1249,6 +1341,7 @@
wrkDetl.sync(locDetl);
wrkDetl.setWrkNo(wrkMast.getWrkNo());
wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setBoxType1(locDetl.getBoxType1());
wrkDetl.setAnfme(adjust.getCount());
wrkDetl.setAppeTime(now);
wrkDetl.setModiTime(now);
@@ -1506,7 +1599,23 @@
wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
-// wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
+// if (wrkMast.getIoType() == 107) {
+// // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+// if (Cools.isEmpty(locMast)) {
+// throw new CoolException("搴撲綅涓嶅瓨鍦�:" + wrkMast.getLocNo());
+// }
+// locMastService.selectOne(new EntityWrapper<LocMast>()
+// .eq("loc_sts", )
+// .eq("whs_type", locMast.getWhsType()));
+//
+//
+// } else {
+// // wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
+// wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+// wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+// }
+ // wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
wrkMast.setModiTime(now);
--
Gitblit v1.9.1