From 3743cba51af30aef646e620531509d7ba350b08e Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 10 九月 2024 09:13:33 +0800
Subject: [PATCH] #
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java | 69 ++++++++++++++++++++++++++++++++--
1 files changed, 64 insertions(+), 5 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 d00cda0..e050386 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,6 +1,7 @@
package com.zy.asrs.wms.asrs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.param.CreateOrderParam;
@@ -8,6 +9,7 @@
import com.zy.asrs.wms.asrs.mapper.OrderMapper;
import com.zy.asrs.wms.asrs.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zy.asrs.wms.utils.OrderUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,16 +30,40 @@
private OrderDetlService orderDetlService;
@Autowired
private OrderDetlFieldService orderDetlFieldService;
+ @Autowired
+ private OrderNoRuleService orderNoRuleService;
+ @Autowired
+ private OrderUtils orderUtils;
+
+ @Override
+ @Transactional
+ public boolean createOrder(List<CreateOrderParam> list) {
+ for (CreateOrderParam orderParam : list) {
+ createOrder(orderParam);
+ }
+ return true;
+ }
@Override
@Transactional
public boolean createOrder(CreateOrderParam param) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ List<Order> orderList = this.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo()));
+ if (!orderList.isEmpty()) {
+ throw new CoolException("璁㈠崟宸插瓨鍦�");
+ }
+
+ String orderNo = param.getOrderNo();
+ if (Cools.isEmpty(param.getOrderNo())) {
+ orderNo = orderNoRuleService.getOrderNo(param.getOrderType().intValue());
+ }
+
Order order = new Order();
- order.setOrderNo(param.getOrderNo());
+ order.setOrderNo(orderNo);
order.setOrderType(param.getOrderType());
order.setOrderSettle(param.getOrderSettle());
+ order.setIoPri(orderUtils.getIoPri());
order.setOrderTime(format.format(new Date()));
order.setCreateTime(new Date());
order.setCreateBy(9527L);
@@ -50,6 +76,14 @@
double anfme = Double.parseDouble(map.get("anfme").toString());
String batch = map.get("batch").toString();
String matnr = map.get("matnr").toString();
+ Double qty = 0D;
+ Double workQty = 0D;
+ if (map.containsKey("qty")) {
+ qty = Double.parseDouble(map.get("qty").toString());
+ }
+ if (map.containsKey("workQty")) {
+ workQty = Double.parseDouble(map.get("workQty").toString());
+ }
String memo = map.getOrDefault("memo", "").toString();
Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
if (mat == null) {
@@ -60,8 +94,8 @@
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
orderDetl.setAnfme(anfme);
- orderDetl.setQty(0D);
- orderDetl.setWorkQty(0D);
+ orderDetl.setQty(qty);
+ orderDetl.setWorkQty(workQty);
orderDetl.setBatch(batch);
orderDetl.setMatId(mat.getId());
orderDetl.setMemo(memo);
@@ -95,8 +129,7 @@
@Override
public boolean updateOrder(UpdateOrderParam param) {
- Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.getOrderNo()));
- order.setOrderNo(param.getOrderNo());
+ Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getId, param.getOrderId()));
order.setOrderType(param.getOrderType());
order.setOrderSettle(param.getOrderSettle());
order.setUpdateTime(new Date());
@@ -110,6 +143,8 @@
double anfme = Double.parseDouble(map.get("anfme").toString());
String batch = map.get("batch").toString();
String matnr = map.get("matnr").toString();
+ Double qty = Double.parseDouble(map.get("qty").toString());
+ Double workQty = Double.parseDouble(map.get("workQty").toString());
String memo = map.getOrDefault("memo", "").toString();
Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
if (mat == null) {
@@ -136,6 +171,8 @@
}else {
orderDetl.setOrderNo(order.getOrderNo());
orderDetl.setAnfme(anfme);
+ orderDetl.setQty(qty);
+ orderDetl.setWorkQty(workQty);
orderDetl.setBatch(batch);
orderDetl.setMemo(memo);
orderDetl.setUpdateTime(new Date());
@@ -198,4 +235,26 @@
}
return true;
}
+
+ @Override
+ public boolean checkOrderComplete(Long orderId) {
+ Order order = this.getById(orderId);
+ if (order == null) {
+ return false;
+ }
+
+ boolean complete = true;
+ List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId));
+ if(orderDetls.isEmpty()) {
+ complete = false;
+ }
+
+ for (OrderDetl orderDetl : orderDetls) {
+ if (!orderDetl.getAnfme().equals(orderDetl.getQty())) {
+ complete = false;
+ }
+ }
+
+ return complete;
+ }
}
--
Gitblit v1.9.1