From 9e70e03376aa1d7b86baef15e2ddfe3641fc0cb8 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期五, 03 一月 2025 11:06:55 +0800 Subject: [PATCH] 优化代码结构,改进打印和计划处理逻辑 --- Tiger.Business.MES/BIZ/BIZ_MES_WO.cs | 133 +++++++++++++++++++++++--------------------- 1 files changed, 70 insertions(+), 63 deletions(-) diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs index bc96d92..7067aa3 100644 --- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs +++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs @@ -789,76 +789,83 @@ { DbClient db = Biz.DataSource["YadaU9C"].Client; var moPickLists = db.Queryable<mes_MOPickList>().Where(q => q.MoDocNo == code).OrderBy(q => q.DocLineNO).ToList(); - var ids = moPickLists.Select(x => SqlFunc.ToString(x.ItemMaster)).ToList(); - var items = Biz.Db.Queryable<BAS_ITEM>().Where(q => ids.Contains(q.ID)).IncludesAllFirstLayer().ToList(); - var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == code).IncludesAllFirstLayer().FirstAsync(); - SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = code }); - var routeList = Biz.Db.Ado.UseStoredProcedure().SqlQuery<V_MES_WO_PTREE>("SP_MES_GET_WO_PTREE", pars);//杩斿洖List - var routeStr = string.Join("->", routeList.Where(q => q.type == "Node" && q.name != "瀹屽伐").OrderBy(x=>x.seq).Select(q=>q.name).ToList()); List<WoFlowCardPrintJson> woFlowCardPrintJson = new(); - //鐢熸垚鎵撳嵃瀹炰綋 - int i = 1; - string Model = moPickLists.Where(q => q.IssueStyleName == "鎺ㄥ紡").First()?.ItemModel; - string MoRemark = moPickLists[0]?.MoRemark; - string SoRemark = moPickLists[0]?.SoRemark; - string Customer = moPickLists[0]?.Customer; - string DemandCode = moPickLists[0]?.DemandCode; - WoFlowCardPrintJson printJson = new() + if (moPickLists.Count>0) { - ID = Guid.NewGuid().ToString("N"), - OrderNo = code, - Status = wo.STATUS.GetEnum<BIZ_MES_WO.STATUSs>().GetDesc(), - Model = Model, - ItemCode = wo.ITEM_CODE, - ItemDesc = wo.ItemInfo?.ITEM_DESC, - SapCode = wo.ItemInfo?.ExtInfo?.SapCode, - Qty = wo.PLAN_QTY, - SoRemark = wo.SALES_REMARK, - MoRemark= MoRemark, - Customer = Customer, - DemandCode= DemandCode, - RouteStr = routeStr, - Items = new() { } - }; - foreach (var item in moPickLists) - { - PrintWoPickList list = new() + var ids = moPickLists.Select(x => SqlFunc.ToString(x.ItemMaster)).ToList(); + var items = Biz.Db.Queryable<BAS_ITEM>().Where(q => ids.Contains(q.ID)).IncludesAllFirstLayer().ToList(); + var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == code).IncludesAllFirstLayer().FirstAsync(); + SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = code }); + var routeList = Biz.Db.Ado.UseStoredProcedure().SqlQuery<V_MES_WO_PTREE>("SP_MES_GET_WO_PTREE", pars);//杩斿洖List + var routeStr = string.Join("->", routeList.Where(q => q.type == "Node" && q.name != "瀹屽伐").OrderBy(x => x.seq).Select(q => q.name).ToList()); + //鐢熸垚鎵撳嵃瀹炰綋 + int i = 1; + int n = 1; + string Model = moPickLists.Where(q => q.IssueStyleName == "鎺ㄥ紡").FirstOrDefault()?.ItemModel; + string MoRemark = moPickLists[0]?.MoRemark; + string SoRemark = moPickLists[0]?.SoRemark; + string Customer = moPickLists[0]?.Customer; + string DemandCode = moPickLists[0]?.DemandCode; + WoFlowCardPrintJson printJson = new() { - LineNo = item.DocLineNO, - SapCode = item.SapCode, - ItemCode = item.Code, - ItemDesc = items.Where(q => q.ID == SqlFunc.ToString(item.ItemMaster)).FirstOrDefault()?.ITEM_DESC, - PickQty = item.ActualReqQty, - LineRemark = item.Remark, - WhCode = item.InventoryInfoCode, - WhCode07 = item.PictureCode, - Method = item.IssueStyleName, + ID = Guid.NewGuid().ToString("N"), + OrderNo = code, + Status = wo.STATUS.GetEnum<BIZ_MES_WO.STATUSs>().GetDesc(), + Model = Model, + ItemCode = wo.ITEM_CODE, + ItemDesc = wo.ItemInfo?.ITEM_DESC, + SapCode = wo.ItemInfo?.ExtInfo?.SapCode, + Qty = wo.PLAN_QTY, + SoRemark = SoRemark, + MoRemark = MoRemark, + Customer = Customer, + DemandCode = DemandCode, + RouteStr = routeStr, + Items = new() { } }; - printJson.Items.Add(list); - if (i % 11 == 0) + foreach (var item in moPickLists) + { + PrintWoPickList list = new() + { + LineNo = item.DocLineNO, + SapCode = item.SapCode, + ItemCode = item.Code, + ItemDesc = items.Where(q => q.ID == SqlFunc.ToString(item.ItemMaster)).FirstOrDefault()?.ITEM_DESC, + PickQty = item.ActualReqQty, + LineRemark = item.Remark, + WhCode = item.InventoryInfoCode, + WhCode07 = item.PictureCode, + Method = item.IssueStyleName, + }; + printJson.Items.Add(list); + if (i == 8 || n % 11 == 0) + { + if (i == 8) { n = 0; } + woFlowCardPrintJson.Add(printJson); + printJson = new() + { + ID = Guid.NewGuid().ToString("N"), + OrderNo = code, + ItemCode = wo.ITEM_CODE, + ItemDesc = wo.ItemInfo?.ITEM_DESC, + SapCode = wo.ItemInfo?.ExtInfo?.SapCode, + Qty = wo.PLAN_QTY, + Model = Model, + MoRemark = MoRemark, + SoRemark = SoRemark, + Customer = Customer, + DemandCode = DemandCode, + RouteStr = routeStr, + Items = new() { } + }; + } + i++; + n++; + } + if (printJson.Items.Count > 0) { woFlowCardPrintJson.Add(printJson); - printJson = new() - { - ID = Guid.NewGuid().ToString("N"), - OrderNo = code, - ItemCode = wo.ITEM_CODE, - ItemDesc = wo.ItemInfo?.ITEM_DESC, - SapCode = wo.ItemInfo?.ExtInfo?.SapCode, - Qty = wo.PLAN_QTY, - Model = Model, - MoRemark = MoRemark, - Customer = Customer, - DemandCode = DemandCode, - RouteStr = routeStr, - Items = new() { } - }; } - i++; - } - if (printJson.Items.Count > 0 ) - { - woFlowCardPrintJson.Add(printJson); } action.Data = woFlowCardPrintJson; } -- Gitblit v1.9.3