From bf5d87c751bf4ba9578b5ad93b5018d4bd6d3ccf Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期四, 03 七月 2025 17:10:22 +0800
Subject: [PATCH] 亮灯流程优化

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java |   37 ++++++++++++++++---------------------
 1 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
index b1d6fe3..26e4738 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
@@ -1,16 +1,13 @@
 package com.zy.asrs.wms.asrs.manage;
 
 import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.fasterxml.jackson.datatype.jsr310.DecimalUtils;
 import com.mysql.cj.util.StringUtils;
 import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.asrs.entity.*;
 import com.zy.asrs.wms.asrs.entity.dto.*;
-import com.zy.asrs.wms.asrs.entity.dto.OrderOutMergeDto;
 import com.zy.asrs.wms.asrs.entity.enums.*;
 import com.zy.asrs.wms.asrs.entity.param.*;
-import com.zy.asrs.wms.asrs.entity.*;
 import com.zy.asrs.wms.asrs.service.*;
 import com.zy.asrs.wms.utils.OrderUtils;
 import com.zy.asrs.wms.utils.OutUtils;
@@ -23,11 +20,9 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * 鍑哄簱绠$悊
@@ -589,7 +584,7 @@
                     locDto.setWorkQty(detl.getWorkQty());
                     locDtos.add(locDto);
                     //搴撲綅瀹為檯鍙敤鏁伴噺
-                    double surplusQty = detl.getAnfme() - detl.getWorkQty();
+                    Double surplusQty = Math.round((detl.getAnfme() - detl.getWorkQty()) * 10000) / 10000.0;
                     if (surplusQty <= 0) {
                         continue;
                     }
@@ -940,9 +935,9 @@
 
         /**
          * 娉㈡鍚堝苟鍑哄簱
-         * 1. 鍒ゆ柇鏄钩搴撹繕TCU搴�
+         * 1. 鍒ゆ柇鏄钩搴撹繕CTU搴�
          * 2. 骞冲簱鐢熸垚鎷h揣鍗�
-         * 3. TCU搴撶敓鎴愪换鍔″崟
+         * 3. CTU搴撶敓鎴愪换鍔″崟
          */
         outStockByArea(dto, wave);
 
@@ -1054,12 +1049,10 @@
             //骞冲簱鍑哄簱
             outStockByFlat(flatOrders, wave);
         }
-
         if (!tucOrders.isEmpty()) {
             //CTU鍑哄簱
             outStockByTUC(tucOrders, wave);
         }
-
     }
 
     /**
@@ -1158,7 +1151,8 @@
                 throw new CoolException("褰撳墠娉㈡璁㈠崟涓嶅瓨鍦紒锛�");
             }
 
-            List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).orderByAsc(CacheSite::getChannel));
+            List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>()
+                    .eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).eq(CacheSite::getChannel,task.getTargetSite()));
 
             if (cacheSites.isEmpty()) {
                 throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�");
@@ -1173,6 +1167,7 @@
                 cacheSite.setOrderId(orders.get(i).getId());
                 cacheSite.setOrderNo(orders.get(i).getOrderNo());
                 cacheSite.setSiteStatus(CacheSiteStatusType.R.id);
+                cacheSite.setBarcode(loc.getBarcode());
                 cacheSite.setUpdateTime(new Date());
                 if (!cacheSiteService.updateById(cacheSite)) {
                     throw new CoolException("缂撳瓨绔欐洿鏂板け璐�");
@@ -1436,15 +1431,15 @@
                     }
 
                     CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, order.getId()));
-                    if (cacheSite == null) {
-                        throw new CoolException("缂撳瓨绔欎笉瀛樺湪");
-                    }
-                    cacheSite.setSiteStatus(CacheSiteStatusType.O.id);
-                    cacheSite.setOrderId(null);
-                    cacheSite.setOrderNo(null);
-                    cacheSite.setUpdateTime(new Date());
-                    if (!cacheSiteService.updateById(cacheSite)) {
-                        throw new CoolException("缂撳瓨绔欐竻绌哄け璐�");
+                    if (cacheSite != null) {
+                        cacheSite.setSiteStatus(CacheSiteStatusType.O.id);
+                        cacheSite.setOrderId(null);
+                        cacheSite.setOrderNo(null);
+                        cacheSite.setBarcode(null);
+                        cacheSite.setUpdateTime(new Date());
+                        if (!cacheSiteService.updateById(cacheSite)) {
+                            throw new CoolException("缂撳瓨绔欐竻绌哄け璐�");
+                        }
                     }
                 }
 

--
Gitblit v1.9.1