From be5373a650a8a40e808ab1664e59c60807809a7c Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期日, 21 十二月 2025 08:50:58 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 137 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 126 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 3f81f37..b19268d 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -99,6 +99,9 @@
@Autowired
private ApiLogService apiLogService;
+ @Autowired
+ private WrkDetlLogService wrkDetlLogService;
+
@Resource
private MatMapper matMapper;
@@ -116,6 +119,14 @@
@Resource
private BasCrnpMapper basCrnpMapper;
+
+ @Resource
+ private ReviewService reviewService;
+
+
+ @Resource
+ private ReviewDetlService reviewDetlService;
+
@Override
@Transactional
@@ -1254,6 +1265,43 @@
if (zpalletCount2 > 0) {
throw new CoolException("鍖呰缁勫彿宸插瓨鍦細" + obj.getPackageGroupNo());
}
+
+ // 鍗峰彿
+ HashMap<String, Object> yy = new HashMap<>();
+ // 绠卞彿
+ HashMap<String, Object> zz = new HashMap<>();
+ List<GwmsGenerateInventoryDto.Rolls> rolls = obj.getRolls();
+ for (GwmsGenerateInventoryDto.Rolls roll : rolls) {
+ barcodeCount2 = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("model", roll.getRollNo()));
+ if (barcodeCount2 > 0) {
+ throw new CoolException("鍗峰彿宸插瓨鍦ㄥ伐浣滄。锛堣緭閫佺嚎锛夛細" + roll.getRollNo());
+ }
+ zpalletCount2 = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("model", roll.getRollNo()));
+ if (zpalletCount2 > 0) {
+ throw new CoolException("鍗峰彿宸插瓨鍦ㄥ簱瀛橈細" + roll.getRollNo());
+ }
+
+ barcodeCount2 = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("unit", roll.getBoxNo()));
+ if (barcodeCount2 > 0) {
+ throw new CoolException("绠卞彿宸插瓨鍦ㄥ伐浣滄。锛堣緭閫佺嚎锛夛細" + roll.getBoxNo());
+ }
+ zpalletCount2 = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("unit", roll.getBoxNo()));
+ if (zpalletCount2 > 0) {
+ throw new CoolException("绠卞彿宸插瓨鍦ㄥ簱瀛橈細" + roll.getBoxNo());
+ }
+
+ if (yy.get(roll.getRollNo()) != null) {
+ throw new CoolException("鏄庣粏涓瓨鍦�2鏉$浉鍚岀殑鍗峰彿锛�" + roll.getRollNo());
+ } else {
+ yy.put(roll.getRollNo(), roll.getRollNo());
+ }
+
+ if (zz.get(roll.getBoxNo()) != null) {
+ throw new CoolException("鏄庣粏涓瓨鍦�2鏉$浉鍚岀殑绠卞彿锛�" + roll.getBoxNo());
+ } else {
+ zz.put(roll.getBoxNo(), roll.getBoxNo());
+ }
+ }
if (xx.get(obj.getPackageGroupNo()) != null) {
throw new CoolException("鏄庣粏涓瓨鍦�2鏉$浉鍚岀殑鍖呰缁勫彿锛�" + obj.getPackageGroupNo());
} else {
@@ -1535,7 +1583,7 @@
return "鍑哄簱缁撴灉涓婃姤鎴愬姛";
}
- private void ckjgsbPushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+ public void ckjgsbPushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
GwmsGenerateInventoryDto gwmsGenerateInventoryDto = new GwmsGenerateInventoryDto();
gwmsGenerateInventoryDto.setWarehouseType(4);
gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode());
@@ -1562,8 +1610,8 @@
matList.setStockType(wrkMast.getStaNo() == 2041 ? "杩斾慨鍑哄簱" : "鎴愬搧鍑哄簱");
matList.setBoxType(wrkDetl.getColor());
matList.setRollType(wrkDetl.getManu());
- matList.setWideInWidth(wrkDetl.getSku());
- matList.setThickness(wrkDetl.getItemNum());
+ matList.setWideInWidth(wrkDetl.getItemNum());
+ matList.setThickness(wrkDetl.getSku());
List<GwmsGenerateInventoryDto.Rolls> rollsList = new ArrayList<>();
GwmsGenerateInventoryDto.Rolls roll = new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(),
wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(),
@@ -1645,7 +1693,7 @@
// 瀵绘壘绌烘墭鐩樺簱浣嶏紝鍏堟壘娴呭簱浣�
List<LocMast> locMasts;
locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D")
- .orderAsc(Arrays.asList("row1", "lev1", "bay1")).in("crn_no", crnNoList).in("row1", 3, 4, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23));
+ .orderAsc(Arrays.asList("row1", "lev1", "bay1")).in("crn_no", crnNoList).in("row1", 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23));
if (locMasts.isEmpty()) {
locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D")
.orderAsc(Arrays.asList("row1", "lev1", "bay1")).in("crn_no", crnNoList).in("row1", 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24));
@@ -1673,7 +1721,7 @@
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
- wrkMast.setIoPri(10D);
+ wrkMast.setIoPri(14D);
wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
@@ -2348,6 +2396,70 @@
@Override
@Transactional
+ public R groupOrderConfirmV2(GroupOrderConfirmParam param) {
+ // 1. 鏌ヨ鍗曟嵁鏄惁瀛樺湪
+ String time = DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F);
+ Review review = reviewService.selectOne(new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber()));
+ if (review == null) {
+ review = new Review();
+ review.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+ review.setOrderNo(param.getGroupOrderNumber());
+ review.setOrderTime(time);
+ review.setDefNumber("绯荤粺鍚屾");
+ review.setSettle(1L);
+ review.setStatus(1);
+ review.setCreateBy(9527L);
+ review.setCreateTime(new Date());
+
+ reviewService.insert(review);
+ review = reviewService.selectOne(new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber()));
+ } else {
+ // 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬�
+ review.setSettle(1L);
+ reviewService.updateById(review);
+ }
+ reviewService.delete(
+ new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber())
+ );
+
+ // 2. 涓�涓�瀵瑰簲閬嶅巻
+ List<GroupOrderConfirmParam.PackageGroupNo> pkgList = param.getPackageGroupNos();
+ List<GroupOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
+
+ int size = Math.min(pkgList.size(), volList.size()); // 闃叉瓒婄晫
+ for (int i = 0; i < size; i++) {
+ GroupOrderConfirmParam.PackageGroupNo pg = pkgList.get(i);
+ GroupOrderConfirmParam.VolumeNumber vn = volList.get(i);
+
+ // 鏌ヨ鏄惁宸插瓨鍦ㄨ detl
+ ReviewDetl detl = reviewDetlService.selectOne(new EntityWrapper<ReviewDetl>().eq("order_no", param.getGroupOrderNumber()).eq("brand", pg.getPackageGroupNo()).eq("model", vn.getVolumeNumber()));
+
+ if (detl == null) {
+ List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>().eq("brand", pg.getPackageGroupNo()).eq("model", vn.getVolumeNumber()));
+ detl = new ReviewDetl();
+ if (wrkDetlLogs != null && !wrkDetlLogs.isEmpty() && wrkDetlLogs.size() >= 1) {
+ detl.setSpecs(wrkDetlLogs.get(0).getSpecs());
+ detl.setBatch(wrkDetlLogs.get(0).getBatch());
+ detl.setAnfme(wrkDetlLogs.get(0).getAnfme());
+ detl.setMatnr(wrkDetlLogs.get(0).getMatnr());
+ detl.setMaktx(wrkDetlLogs.get(0).getMaktx());
+ detl.setUnit(wrkDetlLogs.get(0).getUnit());
+ detl.setDeadTime(wrkDetlLogs.get(0).getModiTime$());
+ }
+ detl.setOrderId(review.getId());
+ detl.setOrderNo(param.getGroupOrderNumber());
+ detl.setCreateTime(new Date());
+ detl.setBrand(pg.getPackageGroupNo()); // 鍖呰缁勫彿
+ detl.setModel(vn.getVolumeNumber()); // 鍗峰彿
+ reviewDetlService.insert(detl);
+ }
+ }
+ return R.ok("缁勮揣纭鎴愬姛");
+ }
+
+
+ @Override
+ @Transactional
public R returnOrder(ReturnOrderConfirmParam param) {
if (Cools.isEmpty(param.getOrderNumber())) {
param.setOrderNumber("THCK" + DateUtils.convert(new Date(), DateUtils.yyyyMMdd));
@@ -2365,6 +2477,7 @@
order.setCreateTime(new Date());
order.setSettle(1L);
order.setDocType(26L);
+ order.setMemo(param.getMemo());
orderMapper.insert(order);
} else {
// 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬�
@@ -2394,6 +2507,7 @@
detl.setAnfme(1.0);
detl.setBrand(param.getPackageGroupNo()); // 鍖呰缁勫彿
detl.setModel(vn.getVolumeNumber()); // 鍗峰彿
+ detl.setMemo(param.getMemo());
orderDetlMapper.insert(detl);
} else {
throw new RuntimeException("璇ュ崟鎹殑鍗峰彿宸插瓨鍦�," + vn.getVolumeNumber());
@@ -2405,7 +2519,7 @@
@Override
@Transactional
- public R unQualifiedOrder(ReturnOrderConfirmParam param) {
+ public R unQualifiedOrder(UnQualifiedOrderConfirmParam param) {
if (Cools.isEmpty(param.getOrderNumber())) {
param.setOrderNumber("UQCK" + DateUtils.convert(new Date(), DateUtils.yyyyMMdd));
}
@@ -2422,6 +2536,7 @@
order.setCreateTime(new Date());
order.setSettle(1L);
order.setDocType(27L);
+ order.setMemo(param.getMemo());
orderMapper.insert(order);
} else {
// 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬�
@@ -2433,14 +2548,14 @@
// 2. 涓�涓�瀵瑰簲閬嶅巻
- List<ReturnOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
+ List<UnQualifiedOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
for (int i = 0; i < volList.size(); i++) {
- ReturnOrderConfirmParam.VolumeNumber vn = volList.get(i);
+ UnQualifiedOrderConfirmParam.VolumeNumber vn = volList.get(i);
// 鏌ヨ鏄惁宸插瓨鍦ㄨ detl
- OrderDetl detl = orderDetlMapper.selectByOrderNoAndPkgGroupNoAndVolumeNo(
- param.getOrderNumber(), param.getPackageGroupNo(), vn.getVolumeNumber()
+ OrderDetl detl = orderDetlMapper.selectByOrderNoAndVolumeNo(
+ param.getOrderNumber(), vn.getVolumeNumber()
);
if (detl == null) {
@@ -2449,8 +2564,8 @@
detl.setOrderNo(param.getOrderNumber());
detl.setCreateTime(new Date());
detl.setAnfme(1.0);
- detl.setBrand(param.getPackageGroupNo()); // 鍖呰缁勫彿
detl.setModel(vn.getVolumeNumber()); // 鍗峰彿
+ detl.setMemo(param.getMemo());
orderDetlMapper.insert(detl);
} else {
throw new RuntimeException("璇ュ崟鎹殑鍗峰彿宸插瓨鍦�," + vn.getVolumeNumber());
--
Gitblit v1.9.1