From 2420648a1522c2e1cd8138bb43dd7d46a6561a1a Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期三, 25 九月 2024 23:37:04 +0800
Subject: [PATCH] 厂内码客户码绑定增加包装工单和成品料号

---
 Tiger.Business.MES/iERP/U9C_MES.cs |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/Tiger.Business.MES/iERP/U9C_MES.cs b/Tiger.Business.MES/iERP/U9C_MES.cs
index a422654..fd5bc3c 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)
             {
@@ -138,7 +176,7 @@
                             ITEM_CODE = basItem != null ? basItem.ITEM_CODE : "",
                             CREATE_TIME = di["CreatedOn"].ToDateTime(),
                             UPDATE_TIME = di["ModifiedOn"].ToDateTime(),
-                            PLAN_START_TIME = di["CheckDate"].ToDateTime(),
+                            PLAN_START_TIME = di["CreatedOn"].ToDateTime(),
                             STATUS = 0,
                             AUTH_ORG = orgs.Where(x => x.ID == orgId).Select(q => q.ORG_CODE).FirstOrDefault(),
                             SALES_ORDER = di["SrcDoc_SrcDocNo"] == null ? "" : di["SrcDoc_SrcDocNo"].ToString(),
@@ -385,6 +423,7 @@
                                 WORK_ORDER = di["MoDoc"].ToString(),
                                 CUST_SN = di["OutBarCode"] == null ? "" : di["OutBarCode"].ToString(),
                                 FLOW_SN = di["InBarCode"] == null ? "" : di["InBarCode"].ToString(),
+                                ITEM_CODE = di["ItemCode"] == null ? "" : di["ItemCode"].ToString(),
                                 CREATE_TIME = di["CreatedOn"].ToDateTime(),
                                 UPDATE_TIME = di["ModifiedOn"].ToDateTime(),
                                 AUTH_ORG = _MES_WO?.AUTH_ORG,

--
Gitblit v1.9.3