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