From adaa2609713c19b036f9487264d77b16715fd492 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期五, 20 九月 2024 01:04:21 +0800
Subject: [PATCH] 物料接口增加保存扩展信息字段

---
 Tiger.Business.MES/iERP/U9C_MES.cs      |   44 +++++++++++++++++++++++++++++++++++++++++---
 Tiger.Business/MES/Biz.WorkBatch.cs     |    2 +-
 Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs |    2 ++
 3 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/Tiger.Business.MES/iERP/U9C_MES.cs b/Tiger.Business.MES/iERP/U9C_MES.cs
index a422654..3de96f6 100644
--- a/Tiger.Business.MES/iERP/U9C_MES.cs
+++ b/Tiger.Business.MES/iERP/U9C_MES.cs
@@ -12,6 +12,8 @@
 using Tiger.IBusiness;
 using Microsoft.AspNetCore.Http;
 using Tiger.Model.Minsun;
+using Org.BouncyCastle.Asn1.Tsp;
+using Tiger.Model.Entitys.MES.Position;
 
 namespace Tiger.Business.MES
 {
@@ -31,6 +33,7 @@
             var list = db.Queryable<dynamic>().AS("mes_ItemMaster").Where("ModifiedOn > @startTime And ModifiedOn < @endTime", new { startTime = input.startTime, endTime = input.endTime }).ToList();
             var orgs = Biz.Db.Queryable<SYS_ORGANIZATION>().ToList();
             List<BAS_ITEM> items = new();
+            var itemExts = new List<BAS_ITEM_EXT>();
             if (list != null && list.Count > 0)
             {
                 foreach (var item in list)
@@ -60,6 +63,20 @@
                             RULE_CODE = di["BarRule"] == null ? "" : di["BarRule"].ToString(),
                         };
                         items.Add(basItem);
+                        var extInfo = new BAS_ITEM_EXT()
+                        {
+                            ITEM_ID = basItem.ID,
+                            ITEM_CODE = (di["Code"] ?? "").ToString(),
+                            Model = (di["Model"] ?? "").ToString(),
+                            Input = (di["Input"] ?? "").ToString(),
+                            Display = (di["Display"] ?? "").ToString(),
+                            OutPut = (di[" OutPut"] ?? "").ToString(),
+                            Power = (di["Power"] ?? "").ToString(),
+                            Accuracy = (di["Accuracy"] ?? "").ToString(),
+                            Remark = (di["Remark"] ?? "").ToString(),
+                            Packaging = (di["Packaging"] ?? "").ToString(),
+                        };
+                        itemExts.Add(extInfo);
                     }
                 }
             }
@@ -77,7 +94,7 @@
                         db.Utilities.PageEach(items, 1000, pageList =>
                         {
                             var y = db.Storageable(pageList, "U9C")
-                                   .WhereColumns(t => new { t.ITEM_CODE, t.GHOST_ROW })
+                                   .WhereColumns(t => new { t.ID, t.GHOST_ROW })
                                    .ToStorage();
                             y.BulkCopy();
                             y.BulkUpdate();
@@ -86,13 +103,34 @@
                     else
                     {
                         var s = db.Storageable(items, "U9C")
-                               .WhereColumns(t => new { t.ITEM_CODE, t.GHOST_ROW })
+                               .WhereColumns(t => new { t.ID, t.GHOST_ROW })
                                .ToStorage();
                         s.AsInsertable.ExecuteCommand();
                         s.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
                     }
                 }
-
+                if (itemExts.Any())
+                {
+                    if (itemExts.Count > 150)
+                    {
+                        db.Utilities.PageEach(itemExts, 1000, pageList =>
+                        {
+                            var y = db.Storageable(pageList, "U9C")
+                                   .WhereColumns(t => new { t.ITEM_ID, t.GHOST_ROW })
+                                   .ToStorage();
+                            y.BulkCopy();
+                            y.BulkUpdate();
+                        });
+                    }
+                    else
+                    {
+                        var s = db.Storageable(itemExts, "U9C")
+                               .WhereColumns(t => new { t.ITEM_ID, t.GHOST_ROW })
+                               .ToStorage();
+                        s.AsInsertable.ExecuteCommand();
+                        s.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
+                    }
+                }
             });
             if (!dbTran.IsSuccess)
             {
diff --git a/Tiger.Business/MES/Biz.WorkBatch.cs b/Tiger.Business/MES/Biz.WorkBatch.cs
index d7ddd99..e56ae10 100644
--- a/Tiger.Business/MES/Biz.WorkBatch.cs
+++ b/Tiger.Business/MES/Biz.WorkBatch.cs
@@ -71,7 +71,7 @@
             private void GetBatchInfo()
             {
                 WO = Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == OrderNo).IncludesAllFirstLayer().First();
-                Product = Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == WO.ITEM_CODE && q.AUTH_ORG == WO.AUTH_ORG).First();
+                Product = Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == WO.ITEM_CODE && q.AUTH_ORG == WO.AUTH_ORG).IncludesAllFirstLayer().First();
                 Batch = Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(q => q.ORDER_NO == OrderNo && q.ACT_LINE == LineCode &&
                                     (q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() || q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Working.GetValue())).First();
                 Customer = Biz.Db.Queryable<BAS_CUSTOMER>().Where(q => q.CUST_CODE == WO.CUST_CODE).First();
diff --git a/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs b/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs
index 7494f6f..61fd052 100644
--- a/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs
+++ b/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs
@@ -154,6 +154,8 @@
 		[Navigate(typeof(MappingClass), nameof(MappingClass.BAS_ITEMId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
 		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
+        [Navigate(NavigateType.OneToOne, nameof(ID), nameof(BAS_ITEM_EXT.ITEM_ID), "GHOST_ROW = 0")]//涓�瀵逛竴 ClassAId鏄疊AS_ITEM_EXT绫婚噷闈㈢殑澶栭敭ID瀛楁
+        public BAS_CUSTOMER ExtInfo { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
         #endregion
 
         #region 鏋氫妇鍙橀噺

--
Gitblit v1.9.3