From 8ce4dcbd701b40165b0dbf365f667932cf2a8916 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 06 三月 2026 08:21:15 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |  100 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 62 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index f76c634..404c5a9 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -127,11 +127,7 @@
                             locDetl = new LocDetl();
                             locDetl.sync(wrkDetl);
                             locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
-                            if (!Objects.isNull(wrkMast.getWrkCode())) {
-                                locDetl.setAnfme(wrkDetl.getRealQty());
-                            } else {
-                                locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
-                            }
+                            locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
                             locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
@@ -144,8 +140,33 @@
 
                         //鍒ゆ柇鍖归厤缂栫爜涓嶄负绌猴紝涓斾换鍔$紪鐮佸寘鍚�-2锛岀‘璁や负鏈変笂缁勪换鍔�
                         if (!Objects.isNull(wrkMast.getWrkCode())) {
-                            //涓嶉渶瑕佹洿鏂板崟鎹俊鎭紙瀛愪换鍔℃棤鍗曟嵁
+                            //TODO 鑾峰彇101鍑哄簱 涓讳换鍔℃。鎬绘暟閲� - 瀛愪换鍔℃。鐨勫疄闄呮暟閲� = 褰撳墠浣滀笟瀹屾垚鏁伴噺
+                            WrkDetl selectOne = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
 
+                            Double v = Math.round((selectOne.getStockQty() - selectOne.getAnfme()) * 10000) / 10000.0;
+
+                            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), null, null, null, null,
+                                    null, null, null);
+
+                            if (!Objects.isNull(orderDetlPakout)) {
+                                orderDetlPakout.setQty(v);
+                                if (!orderDetlPakoutService.updateById(orderDetlPakout)) {
+                                    throw new CoolException("鍗曟嵁瀹屾垚鏁伴噺淇敼澶辫触锛侊紒");
+                                }
+                            }
+                            int indexOf = wrkMast.getWrkCode().indexOf("-1");
+                            if (indexOf != -1) {
+                                String wrkNo = wrkMast.getWrkCode().substring(0, indexOf);
+                                WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo));
+                                if (Objects.isNull(mast)) {
+
+                                    throw new CoolException("鏁版嵁閿欒锛屼富浠诲姟妗d笉瀛樺湪鎴栧凡鍒犻櫎锛侊紒");
+                                }
+                                mast.setWrkCode(null);
+                                if (!wrkMastService.updateById(mast)) {
+                                    throw new CoolException("鍘熶换鍔℃。鍒犻櫎澶辫触锛侊紒");
+                                }
+                            }
                         } else {
                             //姝e父鍗曟嵁鎵嶅瓨瀛樺叆搴撳崟锛屼綔鍏ュ簱鍗曟嵁淇℃伅鏇存柊
                             // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
@@ -448,24 +469,27 @@
         }
 
         /***/
-        if (!Objects.isNull(wrkMast.getWrkCode())) {
-            LocMast lcmst = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
-            lcmst.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
-            if (!locMastService.updateById(lcmst)) {
-                throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-            }
+        if (wrkMast.getIoType() !=2){
+            if (!Objects.isNull(wrkMast.getWrkCode())) {
+                LocMast lcmst = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+                lcmst.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
+                if (!locMastService.updateById(lcmst)) {
+                    throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
 
-            LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo()));
-            if (Objects.isNull(bLocNo)) {
-                throw new CoolException("宸ヤ綅涓嶅瓨鍦� 锛侊紒");
-            }
-            bLocNo.setLocType(LocStsType.LOC_STS_TYPE_O.type);
-            if (!locAroundBindService.updateById(bLocNo)) {
-                throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-            }
+                LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo()));
+                if (Objects.isNull(bLocNo)) {
+                    throw new CoolException("宸ヤ綅涓嶅瓨鍦� 锛侊紒");
+                }
+                bLocNo.setLocType(LocStsType.LOC_STS_TYPE_O.type);
+                if (!locAroundBindService.updateById(bLocNo)) {
+                    throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
 
-            locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+                locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+            }
         }
+
 
         return SUCCESS;
     }
@@ -528,22 +552,22 @@
                 case 101:
                     //濡傛灉wrkCode涓嶄负绌猴紝琛ㄧず鏄伐浣滃彴鍙揣,濡傛灉涓嶄负绌鸿蛋绉诲簱閫昏緫
                     //todo 鍒ゆ柇濡傛灉搴撲綅鎵�灞炰笉鏄悓涓�涓爢鍨涙満鍙凤紝闇�鍐嶇敓鎴愪竴涓柊鐨勫叆搴撲换鍔�
-                    if (!Objects.isNull(wrkMast.getWrkCode())) {
-                        //TODO 绉诲簱
-//                        workService.locMove(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), wrkMast.getAppeUser());
-
-                        movLoc(wrkMast);
-
-                        //淇敼宸ヤ綅搴撴��
-                        LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getLocNo()));
-                        if (Objects.isNull(bLocNo)) {
-                            throw new CoolException("鏁版嵁閿欒锛� 鐩爣宸ヤ綅涓嶅瓨鍦紒锛�");
-                        }
-                        bLocNo.setLocType(LocStsType.LOC_STS_TYPE_F.type);
-                        if (!locAroundBindService.updateById(bLocNo)) {
-                            throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-                        }
-                    } else {
+//                    if (!Objects.isNull(wrkMast.getWrkCode())) {
+//                        //TODO 绉诲簱
+////                        workService.locMove(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), wrkMast.getAppeUser());
+//
+////                        movLoc(wrkMast);
+//
+//                        //淇敼宸ヤ綅搴撴��
+//                        LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getLocNo()));
+//                        if (Objects.isNull(bLocNo)) {
+//                            throw new CoolException("鏁版嵁閿欒锛� 鐩爣宸ヤ綅涓嶅瓨鍦紒锛�");
+//                        }
+//                        bLocNo.setLocType(LocStsType.LOC_STS_TYPE_F.type);
+//                        if (!locAroundBindService.updateById(bLocNo)) {
+//                            throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+//                        }
+//                    } else {
 //                    // 鍑哄簱纭淇″彿浣�
 //                    if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
 //                        return SUCCESS;
@@ -592,7 +616,7 @@
                                 return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                             }
                         }
-                    }
+//                    }
                     break;
                 // 骞舵澘閫斾腑鎹℃枡
                 case 108:

--
Gitblit v1.9.1