From 86722aca20973a1e73d0a446c124eb6a5790496b Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 17 十二月 2024 09:34:17 +0800
Subject: [PATCH] 任务优化,工单状态修改优化

---
 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs |   22 ++++++++++------------
 1 files changed, 10 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..575ea7f 100644
--- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
+++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -292,6 +292,9 @@
                         _woBatch.CHANGE_USER = input.UserId;
                         _woBatch.CHANGE_TIME = DateTime.Now;
                     }
+                    if (!Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.WorkOrder && x.STATUS> BIZ_MES_WO_BATCH.STATUSs.Init.GetValue()).Any()) {
+                        _wo.STATUS = BIZ_MES_WO.STATUSs.Init.GetValue();
+                    }
                 }
                 else
                 {
@@ -311,6 +314,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() && _wo.STATUS == BIZ_MES_WO.STATUSs.Init.GetValue())
+                    {
+                        db.Updateable(_wo, input.UserId).UpdateColumns(x => new { x.STATUS, x.UPDATE_USER, x.UPDATE_TIME }).ExecuteCommand();
                     }
                 });
                 if (!dbTran.IsSuccess)
@@ -710,7 +717,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 +731,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,

--
Gitblit v1.9.3