From 24fdf37d2189e357b7b348f234e6e0b0c3884f03 Mon Sep 17 00:00:00 2001
From: yangyang
Date: 星期二, 15 七月 2025 15:56:03 +0800
Subject: [PATCH] no message

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 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 8c4ccf6..020951a 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
@@ -532,6 +532,11 @@
         return mergePreviewDtos;
     }
 
+    /**
+     * 娉㈡鍑哄簱棰勮
+     * @param param
+     * @return
+     */
     @Transactional(rollbackFor = Exception.class)
     public List<MergePreviewResultDto> orderOutMergeLocPreview(List<MergePreviewDto> param) {
         if (param == null) {
@@ -567,7 +572,7 @@
             //鏌ヨ骞冲簱涓鍚堟潯浠剁殑搴撳瓨
             List<LocDetl> locs = locDetlService.queryFlatStock(pars.getMatnr(), pars.getBatch(), pars.getFieldParams());
             if (!locs.isEmpty()) {
-                double anfme = pars.getAnfme() - pars.getWorkQty();
+                Double anfme = pars.getAnfme() - pars.getWorkQty();
                 for (LocDetl detl : locs) {
                     Loc loc = locService.getById(detl.getLocId());
                     if (loc == null) {
@@ -582,7 +587,7 @@
                     locDto.setLocNo(detl.getLocNo());
                     locDto.setTypeId(LocAreaTypeSts.LOC_AREA_TYPE_FLAT.id);
                     locDto.setLocDetlId(detl.getId());
-                    locDto.setAnfme(detl.getAnfme());
+                    locDto.setAnfme(detl.getAnfme() - detl.getWorkQty());
                     locDto.setWorkQty(detl.getWorkQty());
                     locDtos.add(locDto);
                     //搴撲綅瀹為檯鍙敤鏁伴噺
@@ -591,8 +596,8 @@
                         continue;
                     }
                     //娉㈡鏁伴噺鍑忓幓搴撲綅鍙敤鏁伴噺鍚庯紝鐩堜綑鏁伴噺
-                    anfme = anfme - surplusQty;
-                    if (anfme > 0) {
+                    anfme = Math.round((anfme - surplusQty) * 10000) / 10000.0;
+                    if (anfme.compareTo(0.0) > 0) {
                         //褰撳墠鍙娇鐢ㄦ暟閲�
                         resultDto.setFetchQty(surplusQty);
                         //浣欎笅闇�姹傛暟閲�

--
Gitblit v1.9.1