From 4d0a406c204d3a9c590fc713a6dc2fce60b9d012 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 05 八月 2025 21:25:47 +0800
Subject: [PATCH] 库单上要显示工作口, 需要已组好的排在后面,未组的排前面

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 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 302f67a..e22e623 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;
@@ -19,10 +21,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.SimpleDateFormat;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
+import java.util.*;
 
 @Service("orderService")
 public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
@@ -39,6 +38,8 @@
     private OrderNoRuleService orderNoRuleService;
     @Autowired
     private OrderUtils orderUtils;
+    @Autowired
+    private WaitPakinService waitPakinService;
 
     @Override
     @Transactional
@@ -67,6 +68,9 @@
         Order order = new Order();
         order.setOrderNo(orderNo);
         order.setOrderType(param.getOrderType());
+        order.setCustomer(param.getCustomer());
+        order.setPhone(param.getPhone());
+        order.setAddress(param.getAddress());
         order.setOrderSettle(OrderSettleType.INIT.val());
         order.setIoPri(orderUtils.getIoPri());
         order.setOrderTime(format.format(new Date()));
@@ -132,6 +136,11 @@
                 throw new CoolException("鏇存柊鏄庣粏绱㈠紩澶辫触");
             }
 
+            mat.setUtiliz(Objects.isNull(mat.getUtiliz()) ? 0 : mat.getUtiliz() + 1);
+
+            if (!matService.updateById(mat)) {
+                throw new CoolException("鐗╂枡浣跨敤鐜囦慨鏀瑰け璐ワ紒锛�");
+            }
         }
 
         return true;
@@ -252,6 +261,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);
         //鍒犻櫎鏄庣粏
@@ -292,7 +305,17 @@
     }
 
     @Override
-    public List<OrderInfoDto> getDetlForOrderId(Long id) {
-        return this.baseMapper.getDetlForOrderId(id);
+    public List<OrderInfoDto> getDetlForOrderId(Long id, String matnr) {
+        if (!Objects.isNull(matnr)) {
+            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>()
+                    .eq(StringUtils.isNotBlank(matnr), Mat::getMatnr, matnr), false);
+            if (Objects.isNull(mat)) {
+                return this.baseMapper.getDetlForOrderId(id, null);
+            } else {
+                return this.baseMapper.getDetlForOrderId(id, mat.getId());
+            }
+        } else {
+            return this.baseMapper.getDetlForOrderId(id, null);
+        }
     }
 }

--
Gitblit v1.9.1