From f0c7f4ba26a8bcb4e551c50d6d9468edb542c063 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期日, 27 十月 2024 14:07:05 +0800 Subject: [PATCH] 优化手动结束包装支持打印入库标签 --- Tiger.Business.MES/Transaction/Position.cs | 43 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 36 insertions(+), 7 deletions(-) diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index 5035f38..415cecb 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -62,6 +62,7 @@ public WorkBatch CurBatch { get; set; } public IWorkBatch WorkBatch => CurBatch; public List<MES_WIP_DATA> CurWipSNs { get; set; } = new(); + public List<MES_WIP_DATA> LastWipSNs { get; set; } = new(); public string CurSN => (CurWipSNs.Any() ? (CurWipSNs.First().TRAY_SN.IsNullOrEmpty() ? CurWipSNs.First().SN : CurWipSNs.First().TRAY_SN) : ""); public List<MES_WIP_HIS> CurWipSNHiss { get; set; } = new(); public List<MES_WIP_DFT> CurDefects { get; set; } = new(); @@ -479,6 +480,9 @@ throw dbTran.ErrorException; } } + //璁板綍鏈�鍚庢垚鍔熻繃绔欑殑鏉$爜 + LastWipSNs.Clear(); + LastWipSNs.AddRange(CurWipSNs); } protected void DoSaveToDB() @@ -538,7 +542,7 @@ /// <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 action) + public string GetPrintProcessValue(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_VAR lv, List<BAS_LABEL_VAR> lvars, IWorkAction curAction) { var pv = labelPVs.FirstOrDefault(q => q.VAR_CODE == lv.VAR_VALUE); if (!pv.IsNullOrEmpty()) @@ -562,12 +566,12 @@ case "GetPackNumber": return GetLabelVarWo(lv, WorkBatch.WO.ORDER_NO); case "GetBoxQR": - return action is PackingAction ? GetBoxCode(lvars, action as PackingAction) : ""; + return curAction is PackingAction ? GetBoxCode(lvars, curAction as PackingAction) : ""; case "GetCardQR": - return action is PackingAction ? GetCardOrBoxQR(GetCardCode(lvars), lvars, action as PackingAction) : ""; + return curAction is PackingAction ? GetCardOrBoxQR(GetCardCode(lvars), lvars, curAction as PackingAction) : ""; case "GetCardSN": List<string> minPkgList = new List<string>(); - var _pkaction = action is PackingAction ? action as PackingAction : null; + var _pkaction = curAction is PackingAction ? curAction as PackingAction : null; if (_pkaction != null) { minPkgList = GetMinPkgList(_pkaction); @@ -583,7 +587,7 @@ return GetLabelVarWo(lv, WorkBatch.WO.Customer?.CUST_NAME_CN); case "GetHWDate": List<string> list = new List<string>(); - var _action = action is PackingAction ? action as PackingAction : null; + var _action = curAction is PackingAction ? curAction as PackingAction : null; if (_action != null) { list = GetMinPkgList(_action); @@ -591,7 +595,7 @@ return GetHuaWeiWeek(WorkBatch.Batch.ORDER_NO, list); case "GetQty": List<string> qtylist = new List<string>(); - var _qtyAction = action is PackingAction ? action as PackingAction : null; + var _qtyAction = curAction is PackingAction ? curAction as PackingAction : null; if (_qtyAction != null) { qtylist = GetMinPkgList(_qtyAction); @@ -611,7 +615,7 @@ return GetLabelVarWo(lv, ""); case "GetLOTNO": string _lotnos = ""; - var _orderAction = action is PackingAction ? action as PackingAction : null; + var _orderAction = curAction is PackingAction ? curAction as PackingAction : null; if (_orderAction != null) { var snList = _orderAction.GetMinPackageList(_orderAction.CurPkg.Item).Select(q => q.FLOW_SN).ToList(); @@ -816,6 +820,31 @@ } } #endregion + #region 鏉$爜瑙勫垯鏂规硶 + /// <summary> + /// 鑾峰彇鏍规嵁鏉$爜瑙勫垯鐢熸垚鏉$爜 + /// </summary> + /// <param name="ruleCode"></param> + /// <param name="curAction"></param> + /// <returns></returns> + public string GenerateSN(string ruleCode, IWorkAction curAction) + { + var rule = Biz.CodeRule[ruleCode ?? ""]; + if (!rule.IsNullOrEmpty()) + { + switch (rule.RULE_CODE) + { + case "WhiteBoxNo": + return rule.Generate("W", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; + case "CartonNo": + return rule.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; + default: + return rule.Generate().Data.ToString() ?? ""; + } + } + return ""; + } + #endregion #region 鍖呰涓撶敤鏂规硶 /// <summary> /// 鏍规嵁浼犲叆鐨勫寘瑁呭璞¤繑鍥炴墍鏈夌殑鍖呰瀹炰綋鍒楄〃 -- Gitblit v1.9.3