服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-09-29 23d5fc6ea22d8acef338bf70c8c5399d5cdff0bd
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.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,13 +176,15 @@
                            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(),
                            SALES_REMARK = di["SoLineMemo"] == null ? "" : di["SoLineMemo"].ToString(),
                            SERIAL_NO = di["MoSerial"] == null ? "" : di["MoSerial"].ToString(),
                            SN_PREFIX = di["InBarHead"] == null ? "" : di["InBarHead"].ToString(),
                            CUST_PREFIX = di["OutBarHead"] == null ? "" : di["OutBarHead"].ToString(),
                            SALES_CONTRACT = di["Contracts"] == null ? "" : di["Contracts"].ToString(),
                        };
                        if (!Biz.Db.Queryable<BIZ_MES_WO>().Any(x => x.ORDER_NO == woItem.ORDER_NO && (x.STATUS > 0 || x.ROUTE_STATUS > 0)))
                        {
@@ -385,6 +425,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,