From 626deed5a6d673ea417fa50b7e61d23aec09a247 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 10 七月 2025 14:13:24 +0800
Subject: [PATCH] no message
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java | 81 +++++++++++++++++++++++++---------------
1 files changed, 51 insertions(+), 30 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
index 7c134b5..1adf5de 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
@@ -76,24 +76,23 @@
@Autowired
private OrderDetlMapper orderDetlMapper;
@Autowired
- private WaveSeedMapper waveSeedMapper;
+ private WaveSeedService waveSeedMapper;
@Autowired
private WaveSeedLogService waveSeedLogService;
@Autowired
private OrderDetlLogService orderDetlLogService;
-
@Autowired
private PlatformDetlService platformDetlService;
@Autowired
private PlatformDetlLogService platformDetlLogService;
-
@Override
@Transactional(rollbackFor = Exception.class)
public boolean batchMergeOrders(BatchMergeOrdersParam ordersParam) {
-
- Loc locServiceOne = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, ordersParam.getMergeNo()), false);
+ Loc locServiceOne = locService.getOne(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getLocStsId, 1)
+ .eq(Loc::getBarcode, ordersParam.getMergeNo()), false);
if (!Objects.isNull(locServiceOne)) {
throw new CoolException("鎵樼洏宸插叆搴擄紝涓嶈兘鍐嶇粍鎵橈紒锛�");
}
@@ -176,7 +175,6 @@
if (!locService.updateById(loc)) {
throw new CoolException("搴撲綅鏇存柊澶辫触锛侊紒");
}
-
List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, shelvesParams.getBarcode()));
if (waitPakins.isEmpty()) {
throw new CoolException("褰撳墠鎷栫洏娌℃湁缁勬嫋妗�!!");
@@ -204,6 +202,16 @@
}
//淇敼鐘舵�佷负鍏ュ簱涓�
pakin.setIoStatus(1);
+
+ OrderDetl detl = orderDetlService.getById(pakin.getDetlId());
+ if (Objects.isNull(detl)) {
+ throw new CoolException("鏁版嵁閿欒锛氬崟鎹槑缁嗕笉瀛樺湪锛侊紒");
+ }
+ Double qty = Math.round((detl.getQty() + pakin.getAnfme()) * 1000) / 1000.0;
+ detl.setQty(qty);
+ if (!orderDetlService.updateById(detl)) {
+ throw new CoolException("鍗曟嵁鏄庣粏淇敼澶辫触锛侊紒");
+ }
});
//鍒犻櫎缁勬嫋妗o紝鍔犲叆鍘嗗彶缁勬嫋妗�
@@ -217,30 +225,41 @@
}
});
-
//閫氳繃缁勬嫋璁㈠崟ID鑾峰彇璁㈠崟锛屽苟鍒犻櫎鍘熷崟鎹紝鍔犲叆鍗曟嵁鍘嗗彶妗�
Set<Long> list = waitPakins.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet());
List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getId, list));
- //璁㈠崟鍏ュ巻鍙叉。
orders.forEach(order -> {
-// if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
-// throw new CoolException("褰撳墠璁㈠崟绫诲瀷:" + order.getOrderType() + ",涓嶅彲鍋氬钩搴撲笂鏋舵搷浣滐紒锛�");
-// }
- //淇敼璁㈠崟鐘舵�佷负宸插畬鎴�
- order.setOrderSettle(OrderSettleType.COMPLETE.val());
- OrderLog orderLog = new OrderLog();
- BeanUtils.copyProperties(order, orderLog);
- orderLog.setId(null);
- if (!orderLogService.save(orderLog)) {
- throw new CoolException("鍘嗗彶鍗曟嵁鏇存柊澶辫触锛侊紒");
+ List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
+ Double sum = detls.stream().mapToDouble(OrderDetl::getQty).sum();
+ Double summed = detls.stream().mapToDouble(OrderDetl::getWorkQty).sum();
+ Double v = Math.round((sum + summed) * 1000) / 1000.0;
+ Double anfme = detls.stream().mapToDouble(OrderDetl::getAnfme).sum();
+ if (v.compareTo(anfme) == 0.0) {
+ order.setOrderSettle(OrderSettleType.COMPLETE.val());
+ if (! orderService.updateById(order)) {
+ throw new CoolException("鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
}
});
+// //璁㈠崟鍏ュ巻鍙叉。
+// orders.forEach(order -> {
+//// if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
+//// throw new CoolException("褰撳墠璁㈠崟绫诲瀷:" + order.getOrderType() + ",涓嶅彲鍋氬钩搴撲笂鏋舵搷浣滐紒锛�");
+//// }
+// //淇敼璁㈠崟鐘舵�佷负宸插畬鎴�
+// order.setOrderSettle(OrderSettleType.COMPLETE.val());
+// OrderLog orderLog = new OrderLog();
+// BeanUtils.copyProperties(order, orderLog);
+// orderLog.setId(null);
+// if (!orderLogService.save(orderLog)) {
+// throw new CoolException("鍘嗗彶鍗曟嵁鏇存柊澶辫触锛侊紒");
+// }
+// });
// //鍒犻櫎璁㈠崟鏁版嵁
// if (!orderService.removeBatchByIds(orders)) {
// throw new CoolException("璁㈠崟鍒犻櫎澶辫触锛侊紒");
// }
-
// List<OrderDetl> detls = orderDetlMapper.selectList(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, list));
// List<OrderDetlLog> detlLogs = new ArrayList<>();
// detls.forEach(delt ->{
@@ -251,7 +270,6 @@
// detlLog.setId(null);
// detlLogs.add(detlLog);
// });
-
// //璁㈠崟鏄庣粏杞巻鍙叉。
// if (!orderDetlLogService.saveBatch(detlLogs)) {
// throw new CoolException("璁㈠崟鏄庣粏杞巻鍙插け璐ワ紒锛�");
@@ -407,15 +425,14 @@
.setOrderId(order.getId())
.setSiteStatus(CacheSiteStatusType.R.id)
.setBarcode(param.get("barcode").toString());
- if (cacheSiteMapper.updateById(siteNo) < 1) {
+ if (!cacheSiteService.saveOrUpdate(siteNo)) {
throw new CoolException("璁㈠崟鎾浣嶇粦瀹氬け璐ワ紒锛�" );
}
- int update = waveSeedMapper.update(new LambdaUpdateWrapper<WaveSeed>()
+ if (!waveSeedMapper.update(new LambdaUpdateWrapper<WaveSeed>()
.eq(WaveSeed::getOrderNo, order.getOrderNo())
.set(WaveSeed::getSiteId, siteNo.getId())
- .set(WaveSeed::getSiteNo, siteNo.getSiteNo()));
- if (update < 1) {
+ .set(WaveSeed::getSiteNo, siteNo.getSiteNo()))) {
throw new CoolException("鎾绔欑偣鏇存柊澶辫触锛侊紒");
}
} else {
@@ -497,14 +514,14 @@
throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�");
}
} else { //閮ㄥ垎鎷h揣
- byId.setQty(order.getWorkQty() + byId.getQty());
+ byId.setQty(Math.round((order.getWorkQty() + byId.getQty()) * 1000) / 1000.0);
byId.setWorkQty(0.0);
if (!orderDetlService.updateById(byId)) {
throw new CoolException("閮ㄥ垎鎷f枡鏄庣粏鏇存柊澶辫触锛侊紒");
}
}
- List<WaveSeed> waveSeeds = waveSeedMapper.selectList(new LambdaQueryWrapper<WaveSeed>().eq(WaveSeed::getOrderDetlId, order.getId()));
+ List<WaveSeed> waveSeeds = waveSeedMapper.list(new LambdaQueryWrapper<WaveSeed>().eq(WaveSeed::getOrderDetlId, order.getId()));
//fixme 璁㈠崟鏄庣粏鏈挱绉嶏紝榛樿鍙彂璐�
if (!waveSeeds.isEmpty()) {
ArrayList<WaveSeedLog> waveSeedLogs = new ArrayList<>();
@@ -517,11 +534,15 @@
if (!waveSeedLogService.saveBatch(waveSeedLogs)) {
throw new CoolException("娉㈡槑鍘嗗彶妗d繚瀛樺け璐ワ紒锛�");
}
+
+ List<Long> list = waveSeeds.stream().map(WaveSeed::getId).collect(Collectors.toList());
+ //鍒犻櫎鎾鏄庣粏淇℃伅
+ if (!waveSeedMapper.removeByIds(list)) {
+ throw new CoolException("鎾鏄庣粏鍒犻櫎鎼虹▼锛侊紒");
+ }
+
}
- //鍒犻櫎鎾鏄庣粏淇℃伅
- if (waveSeedMapper.deleteByIds(waveSeeds) < 1) {
- throw new CoolException("鎾鏄庣粏鍒犻櫎鎼虹▼锛侊紒");
- }
+
});
orderList.forEach(one -> {
--
Gitblit v1.9.1