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 | 73 ++++++++++++++++++++++++++++++++++--
1 files changed, 68 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 45d002c..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,10 +9,12 @@
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;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -27,14 +30,41 @@
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);
boolean result = this.save(order);
@@ -46,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) {
@@ -56,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);
@@ -91,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());
@@ -106,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) {
@@ -132,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());
@@ -194,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