From febdf3b4775ce990fc80f671513d0c56ab9a42b6 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 07 七月 2025 16:12:23 +0800
Subject: [PATCH] no message
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java | 132 ++++++++++++++++++++++++++++++-------------
1 files changed, 92 insertions(+), 40 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 ec41b71..804f426 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
@@ -92,6 +92,11 @@
@Override
@Transactional(rollbackFor = Exception.class)
public boolean batchMergeOrders(BatchMergeOrdersParam ordersParam) {
+ Loc locServiceOne = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, ordersParam.getMergeNo()), false);
+ if (!Objects.isNull(locServiceOne)) {
+ throw new CoolException("鎵樼洏宸插叆搴擄紝涓嶈兘鍐嶇粍鎵橈紒锛�");
+ }
+
Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, ordersParam.getOrderNo()));
if (Objects.isNull(order)) {
throw new CoolException("璁㈠崟涓嶅瓨鍦紒锛�");
@@ -170,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("褰撳墠鎷栫洏娌℃湁缁勬嫋妗�!!");
@@ -198,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紝鍔犲叆鍘嗗彶缁勬嫋妗�
@@ -205,56 +219,69 @@
WaitPakinLog pakinLog = new WaitPakinLog();
BeanUtils.copyProperties(waitPakin, pakinLog);
pakinLog.setIoStatus(1);
+ pakinLog.setId(null);
if (!waitPakinLogService.saveOrUpdate(pakinLog)) {
throw new CoolException("缁勬嫋鍘嗗彶妗f洿鏂板け璐�");
}
});
- if (!waitPakinService.removeBatchByIds(waitPakins)) {
- throw new CoolException("缁勬嫋妗e垹闄ゅけ璐ワ紒锛�");
- }
//閫氳繃缁勬嫋璁㈠崟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);
- 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("鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
}
});
- //鍒犻櫎璁㈠崟鏁版嵁
- if (!orderService.removeBatchByIds(orders)) {
- 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 ->{
+// OrderDetlLog detlLog = new OrderDetlLog();
+// BeanUtils.copyProperties(delt, detlLog);
+// detlLog.setQty(delt.getWorkQty());
+// detlLog.setWorkQty(0.0);
+// detlLog.setId(null);
+// detlLogs.add(detlLog);
+// });
+// //璁㈠崟鏄庣粏杞巻鍙叉。
+// if (!orderDetlLogService.saveBatch(detlLogs)) {
+// throw new CoolException("璁㈠崟鏄庣粏杞巻鍙插け璐ワ紒锛�");
+// }
+//
+// //鍒犻櫎璁㈠崟鏄庣粏鏁版嵁
+// if (!orderDetlService.remove(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, list))) {
+// throw new CoolException("璁㈠崟鏄庣粏鍒犻櫎澶辫触锛侊紒");
+// }
+ if (!waitPakinService.removeBatchByIds(waitPakins)) {
+ throw new CoolException("缁勬嫋妗e垹闄ゅけ璐ワ紒锛�");
}
-
- List<OrderDetl> detls = orderDetlMapper.selectList(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, list));
- List<OrderDetlLog> detlLogs = new ArrayList<>();
- detls.forEach(delt ->{
- OrderDetlLog detlLog = new OrderDetlLog();
- BeanUtils.copyProperties(delt, detlLog);
- detlLog.setQty(delt.getWorkQty());
- detlLog.setWorkQty(0.0);
- detlLogs.add(detlLog);
- });
-
- //璁㈠崟鏄庣粏杞巻鍙叉。
- if (!orderDetlLogService.saveBatch(detlLogs)) {
- throw new CoolException("璁㈠崟鏄庣粏杞巻鍙插け璐ワ紒锛�");
- }
-
- //鍒犻櫎璁㈠崟鏄庣粏鏁版嵁
- if (!orderDetlService.remove(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, list))) {
- throw new CoolException("璁㈠崟鏄庣粏鍒犻櫎澶辫触锛侊紒");
- }
-
return true;
}
@@ -394,7 +421,10 @@
if (Objects.isNull(order)) {
throw new CoolException("缁戝畾璁㈠崟涓嶅瓨鍦紒锛�");
}
- siteNo.setOrderNo(order.getOrderNo()).setOrderId(order.getId()).setSiteStatus(CacheSiteStatusType.R.id).setBarcode(param.get("barcode").toString());
+ siteNo.setOrderNo(order.getOrderNo())
+ .setOrderId(order.getId())
+ .setSiteStatus(CacheSiteStatusType.R.id)
+ .setBarcode(param.get("barcode").toString());
if (cacheSiteMapper.updateById(siteNo) < 1) {
throw new CoolException("璁㈠崟鎾浣嶇粦瀹氬け璐ワ紒锛�" );
}
@@ -410,7 +440,7 @@
if (StringUtil.isNullOrEmpty(siteNo.getOrderNo())) {
throw new CoolException("褰撳墠鎾绔欑偣鏈粦瀹氳鍗曪紒锛�");
}
- siteNo.setOrderId(null).setOrderNo(null).setSiteNo("0");
+ siteNo.setOrderId(null).setOrderNo(null).setBarcode(null).setSiteNo("0");
if (cacheSiteMapper.updateById(siteNo) < 1) {
throw new CoolException("璁㈠崟涓庢挱绉嶄綅瑙g粦澶辫触锛侊紒" );
}
@@ -554,4 +584,26 @@
return R.ok("鍙戣揣瀹屾垚锛侊紒");
}
+ /**
+ * @author Ryan
+ * @date 2025/6/28
+ * @description: 鑾峰彇骞冲簱鎺ㄨ崘搴撲綅
+ * @version 1.0
+ */
+ @Override
+ public R getRecommendLocs() {
+ return locService.getRecommengLocs();
+ }
+
+ /**
+ * @author Ryan
+ * @date 2025/6/28
+ * @description: 鏌ヨ鐗╂枡淇℃伅
+ * @version 1.0
+ */
+ @Override
+ public R getMatsByCode(String matnr) {
+ return R.ok().add(matService.list(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)));
+ }
+
}
--
Gitblit v1.9.1