From 8c998a765b56cba071e4d41f417589f6c0159dce Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 19 十一月 2024 20:33:53 +0800 Subject: [PATCH] 获取出货信息更新 --- Tiger.Business.MES/BIZ/BIZ_MES_WO.cs | 96 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 89 insertions(+), 7 deletions(-) diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs index 9052669..e494d65 100644 --- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs +++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs @@ -19,6 +19,7 @@ using System.Net.NetworkInformation; using Tiger.Model.MES.Yada; using static Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser; +using Tiger.Model.Minsun; namespace Tiger.Business.MES { @@ -604,22 +605,44 @@ /// </summary> /// <param name="wo"></param> /// <returns></returns> - public async Task<ApiAction> GetShipList(string wo, string orgCode) + public async Task<ApiAction<ShippingOutput>> GetShipList(ShippingInput input) { - var result = new ApiAction(); + var result = new ApiAction<ShippingOutput>(); try { DbClient db = Biz.DataSource["YadaU9C"].Client; - var org = await Biz.Db.Queryable<SYS_ORGANIZATION>().Where(q=>q.ORG_CODE == orgCode).FirstAsync(); - var shipList = db.Queryable<mes_ShipList>().Where(q => q.MoDoc.Equals(wo) && SqlFunc.DateIsSame(q.BusinessDate, DateTime.Now) && q.Status == 2 && q.Org == org.ID.ToInt64()).ToList(); - if (shipList.Any()) + var org = await Biz.Db.Queryable<SYS_ORGANIZATION>().Where(q => q.ORG_CODE == input.orgCode).FirstAsync(); + string wo = input.wo; + if (!input.SN.IsNullOrEmpty() && input.wo.IsNullOrEmpty()) { + var woSn = Biz.Db.Queryable<BIZ_MES_WO_SN>().Where(q => q.SN == input.SN || q.FLOW_SN == input.SN).First(); + if (!woSn.IsNullOrEmpty()) { + wo = woSn.WORK_ORDER; + } + } + var ship = db.Queryable<mes_ShipList>().Where(q => q.MoDoc.Equals(wo) && q.Org == org.ID.ToInt64()).First(); + if (!ship.IsNullOrEmpty()) { - result.Data = shipList[0].ShipQty; + result.Data = ship.BusinessDate.Date == DateTime.Now.Date ? new() + { + ShipDoc = ship.ShipDoc, + ShippingQty = ship.ShipQty, + Tag = "Customer" + } : new() + { + ShipDoc = ship.ShipDoc, + ShippingQty = ship.ShipQty, + Tag = "InStoreLabel" + }; result.LocaleMsg = new($"鍑鸿揣淇℃伅瀛樺湪锛�"); } else { - result.Data = "InStoreLabel"; + result.Data = new() + { + ShipDoc = "", + ShippingQty = 0, + Tag = "InStoreLabel" + }; } } catch (Exception ex) @@ -662,5 +685,64 @@ } return result; } + + /// <summary> + /// 鐢熸垚鍏ュ簱鑾峰彇鏉$爜宸ュ崟淇℃伅鍙婂寘瑁呬俊鎭� + /// </summary> + /// <param name="code"></param> + /// <returns></returns> + public async Task<ApiAction<InStoreInfo>> GetErpProdInBth(string code) + { + var result = new ApiAction<InStoreInfo>(); + try + { + //寰楀埌宸ュ崟鏉$爜璁板綍 + var woSns = await Biz.Db.Queryable<BIZ_MES_WO_SN>().Where(q => q.OUTER_SN == code).ToListAsync(); + if (woSns.Count == 0) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"鏉$爜涓嶅瓨鍦紒"); + return result; + } + var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == woSns[0].WORK_ORDER ).IncludesAllFirstLayer().FirstAsync(); + if (wo == null) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"鏉$爜瀵瑰簲鐨勫伐鍗曚笉瀛樺湪"); + return result; + } + InStoreInfo inStoreInfo = new() { + ErpProdInBth= new() { + WORK_ORDER = wo.ORDER_NO, + BATCH_NO = woSns[0].BATCH_NO, + ITEM_CODE = wo.ITEM_CODE, + ITEM_NAME = wo.ItemInfo?.ITEM_NAME, + SCAN_QTY = woSns.Count + }, + ProdInBatch = new() + { + WORK_ORDER = wo.ORDER_NO, + BATCH_NO = woSns[0].BATCH_NO, + ITEM_CODE = wo.ITEM_CODE, + ITEM_NAME = wo.ItemInfo?.ITEM_NAME, + PLAN_QTY = wo.PLAN_QTY, + SCAN_QTY = woSns.Count + }, + InStoreScanInfo = new() { + SN = code, + WORK_ORDER = wo.ORDER_NO, + BATCH_NO = woSns[0].BATCH_NO, + SCAN_QTY = woSns.Count + } + }; + result.Data = inStoreInfo; + result.LocaleMsg = new($"鑾峰彇鏉$爜[{code}]宸ュ崟淇℃伅鍙婂寘瑁呬俊鎭垚鍔�"); + } + catch (Exception ex) + { + result.CatchExceptionWithLog(ex, $"鑾峰彇鏉$爜[{code}]宸ュ崟淇℃伅鍙婂寘瑁呬俊鎭紓甯�"); + } + return result; + } } } -- Gitblit v1.9.3