From 40df5d91f800bb8b7be2638c13b4f9292d461221 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期一, 10 三月 2025 18:13:50 +0800 Subject: [PATCH] 增加送货单清点事务 --- Tiger.Business.MES/Transaction/Position.cs | 69 +++++++++++++++++++--------------- 1 files changed, 39 insertions(+), 30 deletions(-) diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index d7fc0b3..7ded706 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -144,8 +144,7 @@ action.LocaleMsg = new("MES.Transaction.Position.SelectOrder.BatchStatusException", input.OrderNo, batch.BATCH_NO, batch.STATUS.GetEnumDesc<BIZ_MES_WO_BATCH.STATUSs>()); return action; } - var wb = new WorkBatch(input.OrderNo).Init(CurLine.LINE_CODE); - WoContext.WoBatchDic.Add(wb.Batch.BATCH_NO, wb); + var wb = WoContext.Add(input.OrderNo, CurLine.LINE_CODE); batchNo = wb.Batch.BATCH_NO; } CurBatch = WoContext.GetBatch(input.OrderNo, CurLine.LINE_CODE, batchNo); @@ -501,8 +500,8 @@ { DBCommitList.Add("AppendSaveAction", new List<Action>()); } - var commitList = DBCommitList["AppendSaveAction"]; - commitList.Add(appendToSave); + var appendList = DBCommitList["AppendSaveAction"]; + appendList.Add(appendToSave); } } @@ -571,12 +570,12 @@ /// <param name="labelPVs">杩囩▼鍙橀噺鍒楄〃</param> /// <param name="label">鏍囩妯℃澘</param> /// <returns></returns> - public BAS_LABEL_TEMP SetLabelVariables(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_TEMP label, IWorkAction action) + public BAS_LABEL_TEMP SetLabelVariables(List<BAS_PROCESS_VAR> labelPVs, BAS_LABEL_TEMP label, IWorkAction action) { return SetLabelVariables(labelPVs, label, action, null); } - public BAS_LABEL_TEMP SetLabelVariables(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_TEMP label, IWorkAction action, WipPkg? CurPkg) + public BAS_LABEL_TEMP SetLabelVariables(List<BAS_PROCESS_VAR> labelPVs, BAS_LABEL_TEMP label, IWorkAction action, WipPkg? CurPkg) { foreach (var item in label.Variables.OrderBy(q => q.VAR_TYPE == BAS_LABEL_VAR.VAR_TYPEs.BarcodeGenerate.GetValue() ? 0 : 1)) { @@ -609,14 +608,14 @@ /// <param name="labelPVs">杩囩▼鍙橀噺鍒楄〃</param> /// <param name="lv">鏍囩妯℃澘鍙橀噺</param> /// <returns></returns> - public string GetPrintProcessValue(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_VAR lv, List<BAS_LABEL_VAR> lvars, IWorkAction curAction, WipPkg? CurPkg) + public string GetPrintProcessValue(List<BAS_PROCESS_VAR> labelPVs, BAS_LABEL_VAR lv, List<BAS_LABEL_VAR> lvars, IWorkAction curAction, WipPkg? CurPkg) { var pv = labelPVs.FirstOrDefault(q => q.VAR_CODE == lv.VAR_VALUE); if (!pv.IsNullOrEmpty()) { - switch (pv.VAR_TYPE.GetEnum<BAS_LABEL_PV.VAR_TYPEs>()) + switch (pv.VAR_TYPE.GetEnum<BAS_PROCESS_VAR.VAR_TYPEs>()) { - case BAS_LABEL_PV.VAR_TYPEs.ServerMethod: + case BAS_PROCESS_VAR.VAR_TYPEs.ServerMethod: { switch (pv.VAR_METHOD) { @@ -651,6 +650,10 @@ { minPkgList = GetMinPkgList(_pkaction); } + if (curAction is PrintInStoreLabel) + { + minPkgList = (curAction as PrintInStoreLabel).CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); + } } return string.Join("\r\n", minPkgList); case "GetDescription": @@ -673,6 +676,10 @@ if (_action != null) { list = _action.CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); + } + if (curAction is PrintInStoreLabel) + { + list = (curAction as PrintInStoreLabel).CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); } } return GetHuaWeiWeek(WorkBatch.Batch.ORDER_NO, list); @@ -707,28 +714,30 @@ case "GetVarByWo": return GetLabelVarWo(lv, ""); case "GetLOTNO": + List<string> snList = new List<string>(); string _lotnos = ""; var _orderAction = curAction is PackingAction ? curAction as PackingAction : null; if (!CurPkg.IsNullOrEmpty()) { - qtylist = CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); + snList = CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); } else { if (_orderAction != null) { - var snList = _orderAction.CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); - //if (!snList.Any()) - { - snList.Add(_orderAction.CurPkg.CustSN?.FLOW_SN); - } - _lotnos = string.Join(",", MainDB.Queryable<MES_CUST_SN>() - .Where((q) => snList.Contains(q.FLOW_SN)) - .Select((q) => q.WORK_ORDER).Distinct().ToList()); - return _lotnos; + snList = _orderAction.CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); + snList.Add(_orderAction.CurPkg.CustSN?.FLOW_SN); + } + if (curAction is PrintInStoreLabel) + { + snList = (curAction as PrintInStoreLabel).CurPkg.Item.GetWipSnList().Select(q => q.Value).ToList(); + snList.Add((curAction as PrintInStoreLabel).CurPkg.CustSN?.FLOW_SN); } } - return ""; + _lotnos = string.Join(",", MainDB.Queryable<MES_CUST_SN>() + .Where((q) => snList.Contains(q.FLOW_SN)) + .Select((q) => q.WORK_ORDER).Distinct().ToList()); + return _lotnos; case "GetNOTES": return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Remark); case "GetXH": @@ -750,9 +759,9 @@ return ""; } } - case BAS_LABEL_PV.VAR_TYPEs.WebApi: + case BAS_PROCESS_VAR.VAR_TYPEs.WebApi: break; - case BAS_LABEL_PV.VAR_TYPEs.StoredProcedure: + case BAS_PROCESS_VAR.VAR_TYPEs.StoredProcedure: break; default: break; @@ -767,21 +776,21 @@ /// <param name="labelPVs"></param> /// <param name="lv"></param> /// <returns></returns> - public string GetGeneratePValue(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_VAR lv) + public string GetGeneratePValue(List<BAS_PROCESS_VAR> labelPVs, BAS_LABEL_VAR lv) { var pv = labelPVs.FirstOrDefault(q => q.VAR_CODE == lv.VAR_VALUE); if (!pv.IsNullOrEmpty()) { - switch (pv.VAR_TYPE.GetEnum<BAS_LABEL_PV.VAR_TYPEs>()) + switch (pv.VAR_TYPE.GetEnum<BAS_PROCESS_VAR.VAR_TYPEs>()) { - case BAS_LABEL_PV.VAR_TYPEs.BarcodeGenerate: + case BAS_PROCESS_VAR.VAR_TYPEs.BarcodeGenerate: { switch (pv.VAR_METHOD) { case "GetCartonGenerate": - return Biz.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; + return Cache.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; case "GetHW21SNGenerate": - return Biz.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate("SN:", "05").Data.ToString() ?? ""; + return Cache.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate("SN:", "05").Data.ToString() ?? ""; default: return ""; } @@ -838,7 +847,7 @@ /// <returns></returns> private string GetBoxCode() { - return Biz.CodeRule["WhiteBoxNo"]?.Generate("W", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; + return Cache.CodeRule["WhiteBoxNo"]?.Generate("W", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; } /// <summary> @@ -847,7 +856,7 @@ /// <returns></returns> private string GetCardCode() { - return Biz.CodeRule["CartonNo"]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; + return Cache.CodeRule["CartonNo"]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; } /// <summary> @@ -957,7 +966,7 @@ /// <returns></returns> public string GenerateSN(string ruleCode, IWorkAction curAction) { - var rule = Biz.CodeRule[ruleCode ?? ""]; + var rule = Cache.CodeRule[ruleCode ?? ""]; if (!rule.IsNullOrEmpty()) { switch (rule.RULE_CODE) -- Gitblit v1.9.3