From 07bb95e4e2fa1082048d9c50ba7e3c2563e91b00 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 04 十二月 2024 14:58:46 +0800 Subject: [PATCH] 入库单更新 --- Tiger.Business.MES/iERP/U9C_MES.cs | 4 Tiger.Business.MES/iERP/MES_U9C.cs | 316 ++++++++++++++++++++++++++-------------------------- Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs | 3 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs | 2 4 files changed, 165 insertions(+), 160 deletions(-) diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs index 4fed14a..83c7f2b 100644 --- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs +++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs @@ -710,7 +710,7 @@ 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(); + var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == woSns[0].WORK_ORDER ).IncludesAllFirstLayer().IncludesAllSecondLayer(q => q._ItemInfos).FirstAsync(); if (wo == null) { result.IsSuccessed = false; diff --git a/Tiger.Business.MES/iERP/MES_U9C.cs b/Tiger.Business.MES/iERP/MES_U9C.cs index 4130575..ef3c5ad 100644 --- a/Tiger.Business.MES/iERP/MES_U9C.cs +++ b/Tiger.Business.MES/iERP/MES_U9C.cs @@ -64,137 +64,139 @@ } //淇濆瓨鎴愬姛锛岃皟鐢║9C鎺ュ彛-娴嬭瘯鐢� - //int i = 1; - //List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths = new List<BIZ_ERP_PROD_IN_BTH>(); - //foreach (var item in input.RcvRptDocBases.Where(q => q.Status != "Y")) - //{ - // var ErpProdInBth = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>().Where(q => q.WORK_ORDER == item.WorkOrder).First(); - // item.Status = "Y"; - // if (!ErpProdInBth.IsNullOrEmpty()) - // { - // ErpProdInBth.ORDER_NO = $"XX001-{i}"; - // ErpProdInBth.IS_HANDLED = "Y"; - // ErpProdInBth.HANDLED_DATE = DateTime.Now; - // ErpProdInBths.Add(ErpProdInBth); - // } - // foreach (var p in input.PrintJsons) - // { - // var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault(); - // if (!d.IsNullOrEmpty()) - // { - // d.ORDER_NO = $"XX001-{i}"; - // d.STATUS = "Y"; - // } - // } - // i++; - //} - //var _db = Biz.Db; - //var _dbTran = _db.UseTran(() => - //{ - // _db.Updateable(ErpProdInBths, "U9C_RcvRptDocCreate").UpdateColumns(x => new { x.ORDER_NO, x.REMARK, x.IS_HANDLED, x.HANDLED_DATE }).ExecuteCommand(); - //}); - //if (!dbTran.IsSuccess) - //{ - // action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触"); - // Logger.Interface.Error(action.Message); - // IsSuccessed = false; - //} - //input.ErpProdInBths = ErpProdInBths; + int i = 1; + List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths = new List<BIZ_ERP_PROD_IN_BTH>(); + foreach (var item in input.RcvRptDocBases.Where(q => q.Status != "Y")) + { + var ErpProdInBth = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>().Where(q => q.WORK_ORDER == item.WorkOrder).First(); + item.Status = "Y"; + if (!ErpProdInBth.IsNullOrEmpty()) + { + ErpProdInBth.ORDER_NO = $"YDRKD241200006"; + ErpProdInBth.IS_HANDLED = "Y"; + ErpProdInBth.HANDLED_DATE = DateTime.Now; + ErpProdInBths.Add(ErpProdInBth); + } + foreach (var p in input.PrintJsons) + { + var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault(); + if (!d.IsNullOrEmpty()) + { + d.ORDER_NO = $"YDRKD241200006"; + d.STATUS = "Y"; + } + } + i++; + } + var _db = Biz.Db; + var _dbTran = _db.UseTran(() => + { + _db.Updateable(ErpProdInBths, "U9C_RcvRptDocCreate").UpdateColumns(x => new { x.ORDER_NO, x.REMARK, x.IS_HANDLED, x.HANDLED_DATE }).ExecuteCommand(); + }); + if (!dbTran.IsSuccess) + { + action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触"); + Logger.Interface.Error(action.Message); + IsSuccessed = false; + } + input.ErpProdInBths = ErpProdInBths; //淇濆瓨鎴愬姛锛岃皟鐢║9C鎺ュ彛 - if (IsSuccessed) - { - var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode=admin{secret}"); - if (u9CLoginResult.Success) - { - var token = u9CLoginResult.Data; - Logger.Interface.Info($"U9C鐧诲綍token: {token}"); - List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths = new List<BIZ_ERP_PROD_IN_BTH>(); - foreach (var item in input.RcvRptDocBases.Where(q => q.Status != "Y")) - { - List<RcvRptDocCreateParam> param = new() { - new() { - CompleteList = new(){ - new CompleteList - { - MOKey = new MOKey { DocNo = item.WorkOrder }, - Wh = new Wh { Code = item.WhCode }, - DescFlexField = new DescFlexField { PrivateDescSeg1 = item.PkgQty.ToString() }, - Item = new Item { Code = item.ItemCode }, - CompleteQty = item.CompleteQty, - OutputType = item.OutputType, - StorageType = item.StorageType, - DocState = item.DocState, - } - } - } - }; - var response = await HttpHelper.PostAsync(RcvRptDocCreateUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", token } }); - var result = JsonConvert.DeserializeObject<U9CResult>(response.Message); - var ErpProdInBth = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>().Where(q => q.WORK_ORDER == item.WorkOrder).First(); - if (result != null) - { - if (result.Success && result.Data[0].m_isSucess) - { - Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}"); - item.Status = "Y"; - if (!ErpProdInBth.IsNullOrEmpty()) - { - ErpProdInBth.ORDER_NO = result.Data[0].m_code; - ErpProdInBth.IS_HANDLED = "Y"; - ErpProdInBth.HANDLED_DATE = DateTime.Now; - ErpProdInBths.Add(ErpProdInBth); - } - foreach (var p in input.PrintJsons) - { - var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS !="P").FirstOrDefault(); - if (!d.IsNullOrEmpty()) - { - d.ORDER_NO = result.Data[0].m_code; - d.STATUS = "Y"; - } - } - Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟垚鍔�"); - } - else - { - action.IsSuccessed = false; - action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}"); - item.Status = "F"; - if (!ErpProdInBth.IsNullOrEmpty()) - { - ErpProdInBth.REMARK = result.Data[0].m_errorMsg; - ErpProdInBth.IS_HANDLED = "F"; - ErpProdInBth.HANDLED_DATE = DateTime.Now; - ErpProdInBths.Add(ErpProdInBth); - } - foreach (var p in input.PrintJsons) - { - var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS != "P").FirstOrDefault(); - if (!d.IsNullOrEmpty()) - { - d.ORDER_NO = result.Data[0].m_code; - d.STATUS = "F"; - } - } - Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曞け璐�:{result.Data[0].m_errorMsg}"); - } - } - } - var _db = Biz.Db; - var _dbTran = _db.UseTran(() => - { - _db.Updateable(ErpProdInBths, "U9C_RcvRptDocCreate").UpdateColumns(x => new { x.ORDER_NO, x.REMARK, x.IS_HANDLED, x.HANDLED_DATE }).ExecuteCommand(); - }); - if (!dbTran.IsSuccess) - { - action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触"); - Logger.Interface.Error(action.Message); - IsSuccessed = false; - } - input.ErpProdInBths = ErpProdInBths; - } - } + //if (IsSuccessed) + //{ + // var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}"); + // if (u9CLoginResult.Success) + // { + // var token = u9CLoginResult.Data; + // Logger.Interface.Info($"U9C鐧诲綍token: {token}"); + // List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths = new List<BIZ_ERP_PROD_IN_BTH>(); + // foreach (var item in input.RcvRptDocBases.Where(q => q.Status != "Y")) + // { + // List<RcvRptDocCreateParam> param = new() { + // new() { + // CompleteList = new(){ + // new CompleteList + // { + // MOKey = new MOKey { DocNo = item.WorkOrder }, + // Wh = new Wh { Code = item.WhCode }, + // DescFlexField = new DescFlexField { PrivateDescSeg1 = item.PkgQty.ToString() }, + // Item = new Item { Code = item.ItemCode }, + // CompleteQty = item.CompleteQty, + // OutputType = item.OutputType, + // StorageType = item.StorageType, + // DocState = item.DocState, + // } + // }, + // Remark = "鎺ュ彛鐢熸垚", + // BusinessDate = DateTime.Now, + // } + // }; + // var response = await HttpHelper.PostAsync(RcvRptDocCreateUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", token } }); + // var result = JsonConvert.DeserializeObject<U9CResult>(response.Message); + // var ErpProdInBth = Biz.Db.Queryable<BIZ_ERP_PROD_IN_BTH>().Where(q => q.WORK_ORDER == item.WorkOrder).First(); + // if (result != null) + // { + // if (result.Success && result.Data[0].m_isSucess) + // { + // Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}"); + // item.Status = "Y"; + // if (!ErpProdInBth.IsNullOrEmpty()) + // { + // ErpProdInBth.ORDER_NO = result.Data[0].m_code; + // ErpProdInBth.IS_HANDLED = "Y"; + // ErpProdInBth.HANDLED_DATE = DateTime.Now; + // ErpProdInBths.Add(ErpProdInBth); + // } + // foreach (var p in input.PrintJsons) + // { + // var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS != "P").FirstOrDefault(); + // if (!d.IsNullOrEmpty()) + // { + // d.ORDER_NO = result.Data[0].m_code; + // d.STATUS = "Y"; + // } + // } + // Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟垚鍔�"); + // } + // else + // { + // action.IsSuccessed = false; + // action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}"); + // item.Status = "F"; + // if (!ErpProdInBth.IsNullOrEmpty()) + // { + // ErpProdInBth.REMARK = result.Data[0].m_errorMsg; + // ErpProdInBth.IS_HANDLED = "F"; + // ErpProdInBth.HANDLED_DATE = DateTime.Now; + // ErpProdInBths.Add(ErpProdInBth); + // } + // foreach (var p in input.PrintJsons) + // { + // var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS != "P").FirstOrDefault(); + // if (!d.IsNullOrEmpty()) + // { + // d.ORDER_NO = result.Data[0].m_code; + // d.STATUS = "F"; + // } + // } + // Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曞け璐�:{result.Data[0].m_errorMsg}"); + // } + // } + // } + // var _db = Biz.Db; + // var _dbTran = _db.UseTran(() => + // { + // _db.Updateable(ErpProdInBths, "U9C_RcvRptDocCreate").UpdateColumns(x => new { x.ORDER_NO, x.REMARK, x.IS_HANDLED, x.HANDLED_DATE }).ExecuteCommand(); + // }); + // if (!dbTran.IsSuccess) + // { + // action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触"); + // Logger.Interface.Error(action.Message); + // IsSuccessed = false; + // } + // input.ErpProdInBths = ErpProdInBths; + // } + //} input.labels = GetLabels(input.PrintJsons); action.Data = input; } @@ -212,68 +214,68 @@ int j = 1; foreach (var p in printJsons) { - BAS_LABEL_TEMP label = Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == "InstoreTemplate").First(); - foreach (var item in label.Variables.OrderBy(q => q.VAR_TYPE == BAS_LABEL_VAR.VAR_TYPEs.BarcodeGenerate.GetValue() ? 0 : 1)) + BAS_LABEL_TEMP label = Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == "InstoreTemplate").IncludesAllFirstLayer().First(); + foreach (var v in p.Items.Where(q => q.STATUS != "F" && q.STATUS != "P")) { - foreach (var v in p.Items.Where(q=>q.STATUS !="F" && q.STATUS !="P")) + foreach (var item in label.Variables) { - if (item.VAR_NAME.StartsWith("RcvDoc")) + if (item.VAR_NAME == "PageNum") + { + item.Value = $"绗瑊i}椤�"; + } + if (item.VAR_NAME == "PageSize") + { + item.Value = $"鍏眥printJsons.Count}椤�"; + } + if (item.VAR_NAME == "BusinessDate") + { + item.Value = DateTime.Now.ToString("yyyy.MM.dd"); + } + if (item.VAR_NAME == $"RcvDoc{j}") { item.Value = v.ORDER_NO; } - if (item.VAR_NAME.StartsWith("SoDoc")) + if (item.VAR_NAME == $"SoDoc{j}") { item.Value = v.SALES_ORDER; } - if (item.VAR_NAME.StartsWith("MoDoc")) + if (item.VAR_NAME == $"MoDoc{j}") { item.Value = v.WORK_ORDER; } - if (item.VAR_NAME.StartsWith("ItemCode")) + if (item.VAR_NAME == $"ItemCode{j}") { item.Value = v.ITEM_CODE; } - if (item.VAR_NAME.StartsWith("Description")) + if (item.VAR_NAME == $"Description{j}") { item.Value = v.ITEM_NAME; } - if (item.VAR_NAME.StartsWith("BoxQty")) + if (item.VAR_NAME == $"BoxQty{j}") { item.Value = v.PLAN_QTY.ToString(); } - if (item.VAR_NAME.StartsWith("InQty")) + if (item.VAR_NAME == $"InQty{j}") { item.Value = v.SCAN_QTY.ToString(); } - if (item.VAR_NAME.StartsWith("RcvQrCode")) + if (item.VAR_NAME == $"RcvQrCode{j}") { item.Value = v.ORDER_NO.ToString(); } - if (item.VAR_NAME.StartsWith("SapCode")) + if (item.VAR_NAME == $"SapCode{j}") { item.Value = v.SapCode; } - if (item.VAR_NAME.StartsWith("Seq")) + if (item.VAR_NAME == $"Seq{j}") { - item.Value = i.ToString(); + item.Value = j.ToString(); } - i++; } - if (item.VAR_NAME == "PageNum") - { - item.Value = j.ToString(); - } - if (item.VAR_NAME == "PageSize") - { - item.Value = printJsons.Count.ToString(); - } - if (item.VAR_NAME == "BusinessDate") - { - item.Value = DateTime.Now.ToString("yyyyy.MM.dd"); - } + j++; } + i++; labels.Add(label); - j++; } return labels; } diff --git a/Tiger.Business.MES/iERP/U9C_MES.cs b/Tiger.Business.MES/iERP/U9C_MES.cs index 48b6654..c385d69 100644 --- a/Tiger.Business.MES/iERP/U9C_MES.cs +++ b/Tiger.Business.MES/iERP/U9C_MES.cs @@ -505,7 +505,7 @@ .WhereColumns(t => new { t.CUST_SN, t.GHOST_ROW }) .ToStorage(); y.AsInsertable.ExecuteCommand(); - y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand(); + y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.CUST_CODE,q.WORK_ORDER,q.CUST_SN,q.FLOW_SN,q.ITEM_CODE,q.CREATE_TIME,q.UPDATE_TIME,q.UPDATE_USER,q.AUTH_ORG}).ExecuteCommand(); }); } else @@ -514,7 +514,7 @@ .WhereColumns(t => new { t.CUST_SN, t.GHOST_ROW }) .ToStorage(); s.AsInsertable.ExecuteCommand(); - s.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand(); + s.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.CUST_CODE, q.WORK_ORDER, q.CUST_SN, q.FLOW_SN, q.ITEM_CODE, q.CREATE_TIME, q.UPDATE_TIME, q.UPDATE_USER, q.AUTH_ORG }).ExecuteCommand(); } } diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs index 580581f..cc170b5 100644 --- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs +++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs @@ -42,6 +42,7 @@ public List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths { get; set; } public List<InStorePrintJson> PrintJsons { get; set; } public List<BAS_LABEL_TEMP> labels { get; set; } + public string userId { get; set; } } public class InStorePrintJson @@ -80,6 +81,8 @@ public class RcvRptDocCreateParam { public List<CompleteList> CompleteList { get; set; } + public string Remark { get; set; } + public DateTime BusinessDate { get; set; } } public class CompleteList -- Gitblit v1.9.3