From 98a5b92067720b662a3f5e9d9aed61abdda1d729 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期二, 13 五月 2025 15:02:36 +0800
Subject: [PATCH] 优化了一些已知问题

---
 Tiger.Business.WMS/Common/WmsTask.cs |   37 +++++++++++++++++++++----------------
 1 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/Tiger.Business.WMS/Common/WmsTask.cs b/Tiger.Business.WMS/Common/WmsTask.cs
index 518fb91..cd85fa3 100644
--- a/Tiger.Business.WMS/Common/WmsTask.cs
+++ b/Tiger.Business.WMS/Common/WmsTask.cs
@@ -358,9 +358,9 @@
                                             //濡傛灉鏈変紶鍏ヨ揣鏋讹紝鍒欏彧鍏佽璐ф灦鐨勭墿鏂�
                                             .WhereIF(!option.ShelfID.IsNullOrEmpty(), (q, p, w, r, s, l) => q.SHELF_ID == option.ShelfID && q.AUTH_ORG == auth.CurOrg)
                                             //浼樺厛浣跨敤搴撳瓨姹犱腑鐨勭墿鏂�
-                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IsNullOrEmpty(p.ID))
+                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IIF(SqlFunc.IsNullOrEmpty(p.ID), 1, 0))
                                             //浼樺厛浣跨敤灏炬暟鐗╂枡(鎴枡鎴栬�呴��鏂欎箣鍚庣殑鐗╂枡)
-                                            //.OrderByDescending((q, p, w, r, s, l) => q.SN.Contains("_C") || q.SN.Contains("_T"))
+                                            //.OrderByDescending((q, p, w, r, s, l) => SqlFunc.IIF(q.SN.Contains("_C") || q.SN.Contains("_T"), 1, 0))
                                             //澶囨枡绛栫暐锛氭寜鐢熶骇鏃ユ湡鍏堣繘鍏堝嚭
                                             .OrderByIF(option.Strategy.HasFlag(WMS_ITEM_POOL.STRATEGYs.FIFO), (q, p, w, r, s, l) => q.PROD_DATE)
                                             //鎸夌敓浜ф棩鏈熷厛杩涘厛鍑猴紝鍐嶆寜鐗╂枡鏁伴噺浠庡皬鍒板ぇ锛�
@@ -444,9 +444,9 @@
                                             //濡傛灉鏈変紶鍏ヨ揣鏋讹紝鍒欏彧鍏佽璐ф灦鐨勭墿鏂�
                                             .WhereIF(!option.ShelfID.IsNullOrEmpty(), (q, p, w, r, s, l) => q.SHELF_ID == option.ShelfID && q.AUTH_ORG == auth.CurOrg)
                                             //浼樺厛浣跨敤搴撳瓨姹犱腑鐨勭墿鏂�
-                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IsNullOrEmpty(p.ID))
+                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IIF(SqlFunc.IsNullOrEmpty(p.ID), 1, 0))
                                             //浼樺厛浣跨敤灏炬暟鐗╂枡(鎴枡鎴栬�呴��鏂欎箣鍚庣殑鐗╂枡)
-                                            //.OrderByDescending((q, p, w, r, s, l) => q.SN.Contains("_C") || q.SN.Contains("_T"))
+                                            //.OrderByDescending((q, p, w, r, s, l) => SqlFunc.IIF(q.SN.Contains("_C") || q.SN.Contains("_T"), 1, 0))
                                             //澶囨枡绛栫暐锛氭寜鐢熶骇鏃ユ湡鍏堣繘鍏堝嚭
                                             .OrderByIF(option.Strategy.HasFlag(WMS_ITEM_POOL.STRATEGYs.FIFO), (q, p, w, r, s, l) => q.PROD_DATE)
                                             //鎸夌敓浜ф棩鏈熷厛杩涘厛鍑猴紝鍐嶆寜鐗╂枡鏁伴噺浠庡皬鍒板ぇ锛�
@@ -769,22 +769,27 @@
         /// <summary>
         /// 璁剧疆褰撳墠鐗╂枡鐨勯粯璁ゅ偍浣�
         /// </summary>
-        public ApiAction<ScanOutput> SetDefaultLocation(DbClient db, BAS_ITEM Item, WMS_LOCATION location)
+        public ApiAction<ScanOutput> SetDefaultLocation(DbClient db, BAS_ITEM Item, WMS_LOCATION location, long RcvLineId)
         {
             var action = new ApiAction<ScanOutput>(new ScanOutput());
 
             //璋冪敤璁剧疆榛樿鍌ㄤ綅鎺ュ彛
-            //var iInput = new CreateRcvLineLocationInput
-            //{
-
-            //};
-            //var result = await DI.Resolve<IWMS_U9C>().CreateRcvLineLocation(iInput);
-            //if (!result.IsSuccessed)
-            //{
-            //    action.IsSuccessed = false;
-            //    action.LocaleMsg = result.LocaleMsg;
-            //}
-            //else
+            var iInput = new CreateRcvLineLocationInput
+            {
+                IsLogin = true,
+                RcvLineLocationParam = new()
+                {
+                    RcvLineId = RcvLineId,
+                    BinCode = location.LOCATION_CODE,
+                }
+            };
+            var result =  DI.Resolve<IWMS_U9C>().CreateRcvLineLocation(iInput).Result;
+            if (!result.IsSuccessed)
+            {
+                action.IsSuccessed = false;
+                action.LocaleMsg = result.LocaleMsg;
+            }
+            else
             {
                 Item.DEFAULT_LOCATION = location.LOCATION_CODE;
                 db.Updateable(Item, UserCode).UpdateColumns(q => new { q.DEFAULT_LOCATION, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();

--
Gitblit v1.9.3