From 04fd71bcdd2f4d13f7fcb1f59952f6decdbb3d65 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 09 九月 2024 08:23:32 +0800
Subject: [PATCH] #
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 4 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 4839986..8ad4656 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;
@@ -28,14 +29,35 @@
private OrderDetlService orderDetlService;
@Autowired
private OrderDetlFieldService orderDetlFieldService;
+ @Autowired
+ private OrderNoRuleService orderNoRuleService;
+
+ @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.setOrderTime(format.format(new Date()));
@@ -50,8 +72,14 @@
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());
+ 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) {
@@ -98,7 +126,6 @@
@Override
public boolean updateOrder(UpdateOrderParam param) {
Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getId, param.getOrderId()));
- order.setOrderNo(param.getOrderNo());
order.setOrderType(param.getOrderType());
order.setOrderSettle(param.getOrderSettle());
order.setUpdateTime(new Date());
@@ -204,4 +231,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