From ff370ab5aa1f046824e73e1cafab1be6acb13780 Mon Sep 17 00:00:00 2001
From: yangyang
Date: 星期二, 15 七月 2025 15:28:33 +0800
Subject: [PATCH] no message

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java |   81 +++++++++++++++++++++++-----------------
 1 files changed, 46 insertions(+), 35 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 71af48e..f48c31e 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) {
@@ -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);
                         //浣欎笅闇�姹傛暟閲�
@@ -1021,9 +1026,10 @@
      * 鏍规嵁涓嶅悓搴撲綅绫诲瀷鐢熸垚鍑哄簱鎷h揣鍗曟垨CTU浠诲姟妗�
      *
      * @param dto
-     * @param wave
+     * @param
      */
-    private void outStockByArea(OrderOutMergeParamDto dto, Wave wave) {
+    @Transactional(rollbackFor = Exception.class)
+    public void outStockByArea(OrderOutMergeParamDto dto, Wave wave) {
         List<OrderOutMergeParam> params = dto.getList();
         if (params.isEmpty()) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
@@ -1137,9 +1143,12 @@
                 }
 
                 String matUniqueKey = Utils.getMatUniqueKey(taskDetl.getMatnr(), taskDetl.getBatch(), taskDetl.getUniqueField());
-                WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, wave.getId()));
+                logger.error("Matnr------>{}", taskDetl.getMatnr());
+                WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>()
+                        .eq(WaveDetl::getStockIndex, matUniqueKey)
+                        .eq(WaveDetl::getWaveId, wave.getId()));
                 if (waveDetl == null) {
-                    throw new CoolException("娉㈡鏁版嵁涓嶅瓨鍦�");
+                    throw new CoolException("waveId:" + wave.getId()  + "鐗╂枡锛�" + taskDetl.getMatnr() + "娉㈡鏁版嵁涓嶅瓨鍦�");
                 }
                 waveDetl.setWorkQty(waveDetl.getWorkQty() + taskDetl.getAnfme());
                 waveDetl.setUpdateTime(new Date());
@@ -1153,28 +1162,30 @@
                 throw new CoolException("褰撳墠娉㈡璁㈠崟涓嶅瓨鍦紒锛�");
             }
 
-            List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>()
-                    .eq(CacheSite::getSiteStatus, CacheSiteStatusType.O.id).eq(CacheSite::getChannel, task.getTargetSite()));
+//            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("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�");
+//            }
+//
+//            if (cacheSites.size() < orders.size()) {
+//                throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�");
+//            }
 
-            if (cacheSites.isEmpty()) {
-                throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�");
-            }
-
-            if (cacheSites.size() < orders.size()) {
-                throw new CoolException("缂撳瓨绔欑┖闂翠笉瓒筹紝璇风◢鍚庡啀璇�");
-            }
-
-            for (int i = 0; i < orders.size(); i++) {
-                CacheSite cacheSite = cacheSites.get(i);
-                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("缂撳瓨绔欐洿鏂板け璐�");
-                }
-            }
+//            for (int i = 0; i < orders.size(); i++) {
+//                CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, orders.get(i).getId()));
+//                if (Objects.isNull(cacheSite)) {
+//                    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("缂撳瓨绔欐洿鏂板け璐�");
+//                    }
+//                }
+//            }
 
             //搴撲綅F => R
             loc.setLocStsId(LocStsType.R.val());
@@ -1226,7 +1237,7 @@
     /**
      * @author Ryan
      * @date 2025/7/4
-     * @description: 鐢熼潰鎷h揣鏄庣粏
+     * @description: 鐢熸垚鎷h揣鏄庣粏
      * @version 1.0
      */
     @Transactional(rollbackFor = Exception.class)
@@ -1496,12 +1507,12 @@
                 continue;
             }
             OrderOutMergeDto outMergeParam = new OrderOutMergeDto();
-            outMergeParam.setAnfme(outLocDetl.getAnfme())
-                    .setLocNo(outLocDetl.getLocNo())
-                    .setLocDetlId(detl.getId())
-                    .setLocId(detl.getLocId())
-                    .setMatnr(outLocDetl.getMatnr())
-                    .setBatch(detl.getBatch());
+            outMergeParam.setAnfme(outLocDetl.getAnfme());
+            outMergeParam.setLocNo(outLocDetl.getLocNo());
+            outMergeParam.setLocDetlId(detl.getId());
+            outMergeParam.setLocId(detl.getLocId());
+            outMergeParam.setMatnr(outLocDetl.getMatnr());
+            outMergeParam.setBatch(detl.getBatch());
             orders.add(outMergeParam);
 
             //鏍规嵁搴撲綅ID鍒嗙粍

--
Gitblit v1.9.1