From 72b8b115d6f4f6b174ad9cf76184ee9829239d3e Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 24 十月 2024 10:46:20 +0800 Subject: [PATCH] 获取重打标签信息 --- Tiger.Business.MES/Transaction/Position.cs | 65 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 20 deletions(-) diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index 7059542..7c5b570 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -538,7 +538,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()) @@ -552,38 +552,38 @@ case "GetSN": return CurSN; case "GetBAS_ITEM": - return WorkBatch.Product.CUST_PROD_CODE; + return GetLabelVarWo(lv, WorkBatch.Product.CUST_PROD_CODE); case "GetItemName": - return WorkBatch.Product.ITEM_NAME; + return GetLabelVarWo(lv, WorkBatch.Product.ITEM_NAME); case "GetCustomer": - return WorkBatch.Batch.Customer.ToJson(); + return GetLabelVarWo(lv, WorkBatch.Batch.Customer.ToJson()); case "GetSalesOrder": - return WorkBatch.WO.SALES_ORDER; + return GetLabelVarWo(lv, WorkBatch.WO.SALES_ORDER); case "GetPackNumber": - return WorkBatch.WO.ORDER_NO; + 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); } return string.Join("\r\n", minPkgList); case "GetDescription": - return WorkBatch.Product.ITEM_DESC; + return GetLabelVarWo(lv, WorkBatch.Product.ITEM_DESC); case "GetFengZ": - return WorkBatch.Product.ExtInfo.Packaging; + return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo.Packaging); case "GetPAndO": - return WorkBatch.WO.SALES_CONTRACT; + return GetLabelVarWo(lv, WorkBatch.WO.SALES_CONTRACT); case "GetLTD": - return WorkBatch.WO.Customer?.CUST_NAME_CN; + 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 +591,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 +611,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(); @@ -626,7 +626,7 @@ } return ""; case "GetNOTES": - return WorkBatch.Product.ExtInfo?.Remark; + return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Remark); case "GetXH": return GetCardCode(lvars); case "GetCardNo": @@ -634,9 +634,9 @@ case "GetCardTotal": return ""; case "GetModelSpec": //Model+绌烘牸+SPEC, - return $"{WorkBatch.Product.ExtInfo?.Model} {WorkBatch.Product.SPEC}"; + return GetLabelVarWo(lv, $"{WorkBatch.Product.ExtInfo?.Model} {WorkBatch.Product.SPEC}"); case "GetDATE": - return $"{DateTime.Now.ToString("yyyy/MM/dd")}"; + return GetLabelVarWo(lv, $"{DateTime.Now.ToString("yyyy/MM/dd")}"); default: return ""; } @@ -699,7 +699,7 @@ } else { - result = value.IsNullOrEmpty() ? (labelVarwos.Count > 0 ? labelVarwos.First().DEFAULT_VALUE : "") : value; + result = value.IsNullOrEmpty() ? (labelVarwos.Count > 0 ? labelVarwos.First(q => q.WORK_ORDER.IsNullOrEmpty()).DEFAULT_VALUE : "") : value; } return result; } @@ -816,6 +816,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