Tiger.Business.MES/BIZ/BIZ_MES_WO.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Business.MES/BIZ/BizPrintInstoreDoc.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Business.MES/Transaction/YadaPacking.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Business.MES/iERP/MES_U9C.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Business.MES/iERP/U9C_MES.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Business/Services/Base/TigerJobBase.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -182,18 +182,18 @@ { try { //SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = input.Wo.ORDER_NO, ERR_CODE = 0, ERR_MSG = "" }); //pars[1].Direction = System.Data.ParameterDirection.Output; //pars[2].Direction = System.Data.ParameterDirection.Output; //Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars); //if (pars[1].Value.ToInt32() == 0) //{ // Logger.Default.Info($"工单[{input.Wo.ORDER_NO}]下发完成后保存工艺路线数据到产品[{input.Wo.ITEM_CODE}]的客户[{input.Wo.CUST_CODE ?? ""}]的工艺路线中,{pars[2].Value.ToString()}"); //} //else //{ // Logger.Default.Error($"工单[{input.Wo.ORDER_NO}]下发完成后保存工艺路线数据到产品[{input.Wo.ITEM_CODE}]的客户[{input.Wo.CUST_CODE ?? ""}]的工艺路线出错,{pars[2].Value.ToString()}"); //} SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = input.Wo.ORDER_NO, ERR_CODE = 0, ERR_MSG = "" }); pars[1].Direction = System.Data.ParameterDirection.Output; pars[2].Direction = System.Data.ParameterDirection.Output; Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars); if (pars[1].Value.ToInt32() == 0) { Logger.Default.Info($"工单[{input.Wo.ORDER_NO}]下发完成后保存工艺路线数据到产品[{input.Wo.ITEM_CODE}]的客户[{input.Wo.CUST_CODE ?? ""}]的工艺路线中,{pars[2].Value.ToString()}"); } else { Logger.Default.Error($"工单[{input.Wo.ORDER_NO}]下发完成后保存工艺路线数据到产品[{input.Wo.ITEM_CODE}]的客户[{input.Wo.CUST_CODE ?? ""}]的工艺路线出错,{pars[2].Value.ToString()}"); } } catch (Exception ex) { @@ -734,6 +734,7 @@ SALES_ORDER = wo.SALES_ORDER, BATCH_NO = woSns[0].BATCH_NO, ITEM_CODE = wo.ITEM_CODE, SapCode = wo.ItemInfo?.ExtInfo?.SapCode, ITEM_NAME = wo.ItemInfo?.ITEM_DESC, PLAN_QTY = wo.PLAN_QTY, SCAN_QTY = woSns.Count, Tiger.Business.MES/BIZ/BizPrintInstoreDoc.cs
@@ -32,7 +32,7 @@ var result = new ApiAction<List<BAS_LABEL_TEMP>>(); try { List<BAS_LABEL_TEMP> labels = new List<BAS_LABEL_TEMP>(); int i = 1; int j = 1; foreach (var p in input.printJsons) @@ -75,7 +75,7 @@ } if (item.VAR_NAME.StartsWith("SapCode")) { item.Value = v.ITEM_CODE; item.Value = v.SapCode; } if (item.VAR_NAME.StartsWith("Seq")) { @@ -96,8 +96,10 @@ item.Value = DateTime.Now.ToString("yyyyy.MM.dd"); } } labels.Add(label); j++; } } result.Data = labels; } catch (Exception ex) { Tiger.Business.MES/Transaction/YadaPacking.cs
@@ -70,10 +70,10 @@ // //action.LocaleMsg = new("MES.Transaction.PackingNode.Submit.QtyError", input.Qty); // return SetOutPutMqttMsg(action, input.Locale); //} if (input.Options.ContainsKey("IsPrintCustomerLabel")) { IsPrintCustomerLabel = input.Options["IsPrintCustomerLabel"].ToBoolean(); } //if (input.Options.ContainsKey("IsPrintCustomerLabel")) //{ // IsPrintCustomerLabel = input.Options["IsPrintCustomerLabel"].ToBoolean(); //} //if (input.Options.ContainsKey("ShippingOrder")) //{ Tiger.Business.MES/iERP/MES_U9C.cs
@@ -147,10 +147,11 @@ } foreach (var p in input.PrintJsons) { var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault(); 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($"生成入库单成功"); @@ -166,6 +167,15 @@ 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}"); } @@ -185,6 +195,7 @@ input.ErpProdInBths = ErpProdInBths; } } input.labels = GetLabels(input.PrintJsons); action.Data = input; } catch (System.Exception ex) @@ -194,5 +205,77 @@ Logger.Interface.Info($"/* 入库单接口结束 */\r\n"); //固定写法 return action; } private List<BAS_LABEL_TEMP> GetLabels(List<InStorePrintJson> printJsons) { List<BAS_LABEL_TEMP> labels = new List<BAS_LABEL_TEMP>(); int i = 1; 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)) { foreach (var v in p.Items.Where(q=>q.STATUS !="F" && q.STATUS !="P")) { if (item.VAR_NAME.StartsWith("RcvDoc")) { item.Value = v.ORDER_NO; } if (item.VAR_NAME.StartsWith("SoDoc")) { item.Value = v.SALES_ORDER; } if (item.VAR_NAME.StartsWith("MoDoc")) { item.Value = v.WORK_ORDER; } if (item.VAR_NAME.StartsWith("ItemCode")) { item.Value = v.ITEM_CODE; } if (item.VAR_NAME.StartsWith("Description")) { item.Value = v.ITEM_NAME; } if (item.VAR_NAME.StartsWith("BoxQty")) { item.Value = v.PLAN_QTY.ToString(); } if (item.VAR_NAME.StartsWith("InQty")) { item.Value = v.SCAN_QTY.ToString(); } if (item.VAR_NAME.StartsWith("RcvQrCode")) { item.Value = v.ORDER_NO.ToString(); } if (item.VAR_NAME.StartsWith("SapCode")) { item.Value = v.SapCode; } if (item.VAR_NAME.StartsWith("Seq")) { item.Value = i.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"); } } labels.Add(label); j++; } return labels; } } } Tiger.Business.MES/iERP/U9C_MES.cs
@@ -119,7 +119,7 @@ .WhereColumns(t => new { t.ITEM_ID, t.GHOST_ROW }) .ToStorage(); y.AsInsertable.ExecuteCommand(); y.AsUpdateable.ExecuteCommand(); y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand(); }); } else @@ -208,15 +208,15 @@ db.Storageable(LastRun, "U9C_MES_GetWo").ExecuteCommand(); if (items.Any()) { if (items.Count > 150) if (items.Count > 100) { db.Utilities.PageEach(items, 1000, pageList => db.Utilities.PageEach(items, 100, pageList => { var y = db.Storageable(pageList, "U9C") .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW }) .ToStorage(); y.BulkCopy(); y.BulkUpdate(); y.AsInsertable.ExecuteCommand(); y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand(); }); } else @@ -285,11 +285,7 @@ { if (woList.Any()) { var s = _db.Storageable(woList, "U9C") .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW }) .ToStorage(); s.AsInsertable.ExecuteCommand(); s.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(x => new { x.ROUTE_STATUS}).ExecuteCommand(); _db.Updateable(woList, "U9C").UpdateColumns(x => new { x.ROUTE_STATUS }).ExecuteCommand(); } }); Tiger.Business/Services/Base/TigerJobBase.cs
@@ -125,93 +125,82 @@ { TskJobInput tskJobInput = new TskJobInput(); var dateTime = DateTime.Now; if (Args.Interval > 0) //按时间类型来运行 switch (Args.Type) { tskJobInput.result = true; tskJobInput.input = new() { startTime = dateTime.AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss"), endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), }; } else { //按时间类型来运行 switch (Args.Type) { case TrigArgs.EveryType.Milliseconds: dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery); tskJobInput.result = (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery; tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Seconds: dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery); tskJobInput.result = (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery; tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Minutes: dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery); tskJobInput.result = (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery; tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Hours: dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery); tskJobInput.result = (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery; tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Days: dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Weeks: dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7); tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7; tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Weekdays: dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Months: dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery); tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); tskJobInput.input = new() { startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; } case TrigArgs.EveryType.Milliseconds: dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery; tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Seconds: dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery; tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Minutes: dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery; tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Hours: dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery; tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Days: dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Weeks: dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7; tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Weekdays: dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; case TrigArgs.EveryType.Months: dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery); tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); tskJobInput.input = new() { startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), }; break; } return tskJobInput; } Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -41,6 +41,7 @@ public List<RcvRptDocBase> RcvRptDocBases { get; set; } 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 class InStorePrintJson @@ -57,6 +58,7 @@ public string BATCH_NO { get; set; } public string WORK_ORDER { get; set; } public string ITEM_CODE { get; set; } public string SapCode { get; set; } public string ITEM_NAME { get; set; } public double PLAN_QTY { get; set; } public double SCAN_QTY { get; set; } Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs
@@ -168,6 +168,7 @@ /// </summary> [DisplayName("物料名称")] public string ITEM_NAME { get; set; } public string SapCode { get; set; } /// <summary> /// 计划数量 /// </summary>