From e046dba174365eb8934ee1e4206f09821145e876 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 21 八月 2025 13:23:22 +0800
Subject: [PATCH] no message
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 52 insertions(+), 8 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
index dc85947..0e703ee 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -1,11 +1,13 @@
package com.zy.asrs.wms.asrs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.dto.OrderInfoDto;
import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
+import com.zy.asrs.wms.asrs.entity.enums.OrderType;
import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
import com.zy.asrs.wms.asrs.entity.param.UpdateOrderParam;
import com.zy.asrs.wms.asrs.mapper.OrderMapper;
@@ -36,19 +38,23 @@
private OrderNoRuleService orderNoRuleService;
@Autowired
private OrderUtils orderUtils;
+ @Autowired
+ private WaitPakinService waitPakinService;
+ @Autowired
+ private LocDetlService locDetlService;
@Override
@Transactional
- public boolean createOrder(List<CreateOrderParam> list) {
+ public boolean createOrder(List<CreateOrderParam> list, Long userId) {
for (CreateOrderParam orderParam : list) {
- createOrder(orderParam);
+ createOrder(orderParam, userId);
}
return true;
}
@Override
@Transactional
- public boolean createOrder(CreateOrderParam param) {
+ public boolean createOrder(CreateOrderParam param, Long userId) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<Order> orderList = this.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo()));
@@ -71,14 +77,15 @@
order.setIoPri(orderUtils.getIoPri());
order.setOrderTime(format.format(new Date()));
order.setCreateTime(new Date());
- order.setCreateBy(9527L);
+ order.setCreateBy(userId);
+ order.setUpdateBy(userId);
boolean result = this.save(order);
if (!result) {
throw new CoolException("鐢熸垚璁㈠崟澶辫触");
}
for (HashMap<String, Object> map : param.getList()) {
- double anfme = Double.parseDouble(map.get("anfme").toString());
+ Double anfme = Double.parseDouble(map.get("anfme").toString());
String batch = map.get("batch").toString();
String matnr = map.get("matnr").toString();
Double qty = 0D;
@@ -89,6 +96,20 @@
if (map.containsKey("workQty")) {
workQty = Double.parseDouble(map.get("workQty").toString());
}
+
+ if (param.getOrderType() == 2) {
+ List<LocDetl> detls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+ .eq(StringUtils.isNotBlank(batch), LocDetl::getBatch, batch)
+ .eq(StringUtils.isNotBlank(matnr), LocDetl::getMatnr, matnr));
+ if (detls.isEmpty()) {
+ throw new CoolException("鐗╂枡锛�" + matnr + "鍓╀綑搴撳瓨浣欎笅锛�0" + "锛屾棤娉曠敓鎴愬嚭搴撳崟!!");
+ }
+ Double sum = detls.stream().mapToDouble(LocDetl::getAnfme).sum();
+ if (anfme.compareTo(sum) > 0) {
+ throw new CoolException("鐗╂枡锛�" + matnr + "鍓╀綑搴撳瓨浣欎笅锛�" + sum + "锛屾棤娉曠敓鎴愬嚭搴撳崟!!");
+ }
+ }
+
String memo = map.getOrDefault("memo", "").toString();
Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
if (mat == null) {
@@ -105,7 +126,8 @@
orderDetl.setMatId(mat.getId());
orderDetl.setMemo(memo);
orderDetl.setCreateTime(new Date());
- orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateBy(userId);
+ orderDetl.setUpdateBy(userId);
boolean save = orderDetlService.save(orderDetl);
if (!save) {
throw new CoolException("璁㈠崟鏄庣粏鍒涘缓澶辫触");
@@ -257,6 +279,10 @@
throw new CoolException("璁㈠崟宸茬粡鐢熸垚娉㈡锛屽垹闄ゅけ璐�");
}
+ List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getOrderId, orderId));
+ if (!waitPakins.isEmpty()) {
+ throw new CoolException("鍗曟嵁宸茬敓鎴愮粍鎵橈紝涓嶅彲鎵ц鍒犻櫎鎿嶄綔锛侊紒");
+ }
//鍒犻櫎璁㈠崟
this.removeById(orderId);
//鍒犻櫎鏄庣粏
@@ -297,7 +323,25 @@
}
@Override
- public List<OrderInfoDto> getDetlForOrderId(Long id) {
- return this.baseMapper.getDetlForOrderId(id);
+ public List<OrderInfoDto> getDetlForOrderId(Long id, String matnr) {
+ if (!Objects.isNull(matnr)) {
+ if (Objects.isNull(matnr)) {
+ return this.baseMapper.getDetlForOrderId(id, null);
+ } else {
+ return this.baseMapper.getDetlForOrderId(id, matnr);
+ }
+ } else {
+ return this.baseMapper.getDetlForOrderId(id, null);
+ }
+ }
+
+ /**
+ * 鎻愪氦瀹岀粨璁㈠崟
+ * @param id
+ * @return
+ */
+ @Override
+ public Order doneOrder(Long id) {
+ return null;
}
}
--
Gitblit v1.9.1