From 141b19dbe2eadbb267379cc3820c45adf45d7b8e Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 23 十二月 2024 19:30:56 +0800
Subject: [PATCH] 取消下发更新状态

---
 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs |   50 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
index 4fed14a..9d3fe8a 100644
--- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
+++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -291,6 +291,14 @@
                         _woBatch.ACT_LINE = input.ActLine;
                         _woBatch.CHANGE_USER = input.UserId;
                         _woBatch.CHANGE_TIME = DateTime.Now;
+                        _wo.STATUS = BIZ_MES_WO.STATUSs.Release.GetValue();
+                    }
+                    else
+                    {
+                        if (input.Status == BIZ_MES_WO_BATCH.STATUSs.Init.GetValue() && !Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.WorkOrder && x.BATCH_NO != input.WoBatch && x.STATUS > BIZ_MES_WO_BATCH.STATUSs.Init.GetValue()).Any())
+                        {
+                            _wo.STATUS = BIZ_MES_WO.STATUSs.Init.GetValue();
+                        }
                     }
                 }
                 else
@@ -311,6 +319,10 @@
                     else
                     {
                         db.Updateable(_woBatch, input.UserId).UpdateColumns(x => new { x.STATUS, x.UPDATE_USER, x.UPDATE_TIME, x.CHANGE_USER, x.CHANGE_TIME }).ExecuteCommand();
+                    }
+                    if (!_wo.IsNullOrEmpty())
+                    {
+                        db.Updateable(_wo, input.UserId).UpdateColumns(x => new { x.STATUS, x.UPDATE_USER, x.UPDATE_TIME }).ExecuteCommand();
                     }
                 });
                 if (!dbTran.IsSuccess)
@@ -710,7 +722,7 @@
                     result.LocaleMsg = new($"鏉$爜涓嶅瓨鍦紒");
                     return result;
                 }
-                var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == woSns[0].WORK_ORDER ).IncludesAllFirstLayer().FirstAsync();
+                var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == woSns[0].WORK_ORDER ).IncludesAllFirstLayer().IncludesAllSecondLayer(q => q._ItemInfos).FirstAsync();
                 if (wo == null)
                 {
                     result.IsSuccessed = false;
@@ -724,21 +736,12 @@
                     ErpProdInBth= new() { 
                         WORK_ORDER = wo.ORDER_NO,
                         BATCH_NO = woSns[0].BATCH_NO,
-                        ITEM_CODE = wo.ITEM_CODE,
-                        ITEM_NAME = wo.ItemInfo?.ITEM_DESC,
-                        SCAN_QTY = woSns.Count
-                    },
-                    ProdInBatch = new()
-                    {
-                        WORK_ORDER = wo.ORDER_NO,
                         SALES_ORDER = wo.SALES_ORDER,
-                        BATCH_NO = woSns[0].BATCH_NO,
                         ITEM_CODE = wo.ITEM_CODE,
-                        SapCode = wo.ItemInfo?.ExtInfo?.SapCode,
                         ITEM_NAME = wo.ItemInfo?.ITEM_DESC,
-                        PLAN_QTY = wo.PLAN_QTY,
+                        SapCode = wo.ItemInfo?.ExtInfo?.SapCode,
                         SCAN_QTY = woSns.Count,
-                        STATUS = "N" //Y-宸茬敓鎴愶紝N-鏈敓鎴愶紝F-澶辫触
+                        IS_HANDLED = "N" //Y-宸茬敓鎴愶紝N-鏈敓鎴愶紝F-澶辫触
                     },
                     InStoreScanInfo = new() { 
                         SN = cartonSn,
@@ -757,5 +760,28 @@
             }
             return result;
         }
+
+        #region 鎻愪氦鍓嶉�氱敤鏂规硶
+        /// <summary>
+        /// 鎻愪氦鍓嶆鏌ユ槸鍚﹀矖浣嶃�佸伐鍗曞拰涓嶈壇浠g爜
+        /// </summary>
+        /// <param name="code"></param>
+        /// <returns></returns>
+        public async Task<ApiAction<CheckCodeOutput>> CheckCode(string code)
+        {
+            var action = new ApiAction<CheckCodeOutput>($"妫�鏌ユ潯鐮亄code}鎴愬姛", new CheckCodeOutput());
+            try
+            {
+                action.Data.Position = DbCache.Cache.Position[code];
+                action.Data.WorkOrder = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == code).FirstAsync();
+                action.Data.Defect = DbCache.Cache.Defect[code];
+            }
+            catch (Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, $"妫�鏌ユ潯鐮亄code}寮傚父");
+            }
+            return action;
+        }
+        #endregion
     }
 }

--
Gitblit v1.9.3