From 37fc700892a509346d5be0a1af2d3de1fe8d3a9e Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 20 八月 2024 18:38:10 +0800 Subject: [PATCH] 一些更改 --- Tiger.Business.MES/Transaction/Position.cs | 93 +++++++++++++++++++++++++--------------------- 1 files changed, 51 insertions(+), 42 deletions(-) diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index 33bcf88..d4b8184 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -56,7 +56,7 @@ public WorkBatch CurBatch { get; set; } public IWorkBatch WorkBatch => CurBatch; public List<MES_WIP_DATA> CurWipSNs { get; set; } = new(); - public string CurSN => CurWipSNs.Any() ? (CurWipSNs.First().TRAY_SN.IsNullOrEmpty() ? CurWipSNs.First().SN : CurWipSNs.First().TRAY_SN) : ""; + 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(); public Dictionary<string, object> Context { get; set; } = new(); @@ -73,7 +73,8 @@ public bool NeedTemporaryStoreDBCommitAction { get; set; } = false; protected List<Action> DBCommitList { get; set; } = new(); protected List<Position> NodeCommitList { get; set; } = new(); - + protected Dictionary<string, OperInfo> OperInfoDic { get; set; } = new(); + protected OperInfo CurOperInfo { get; set; } #endregion Propertys & Variables #region Functions @@ -125,6 +126,11 @@ WoContext.WoBatchDic.Add(wb.Batch.BATCH_NO, wb); } CurBatch = WoContext.GetBatch(input.OrderNo, CurLine.LINE_CODE); + if (!OperInfoDic.ContainsKey(CurBatch.Batch.BATCH_NO)) + { + OperInfoDic.Add(CurBatch.Batch.BATCH_NO, new()); + } + action.Data = new { WorkOrder = CurBatch.WO, Bacth = CurBatch.Batch }; } catch (Exception ex) @@ -181,6 +187,24 @@ CurWipSNHiss.Clear(); CurStep = null; CurDefects.Clear(); + } + + /// <summary> + /// 璁剧疆褰撳墠鏉$爜鐨勫伐搴忎俊鎭� + /// </summary> + public OperInfo SetOperNodeInfo(OperInfo info) + { + if (CurWipSNs.Any()) + { + info.CurNode = CurWipSNs.First().NODE_NAME; + info.NextNode = string.Join(",", CurBatch.GetNextNodes(CurWipSNs.First()).Select(q => q.NODE_NAME)); + } + else + { + info.CurNode = " 鈥� "; + info.NextNode = " 鈥� "; + } + return info; } /// <summary> @@ -335,50 +359,35 @@ /// </summary> protected void SaveStepsCommitActionToDB() { - ////淇濆瓨宸ユ鐨勬暟鎹簱鎻愪氦鎿嶄綔鍒版彁浜ゆ搷浣滃垪琛� - //foreach (var step in Steps.OrderBy(q => q.Sequence)) - //{ - // DBCommitList.Add(step.DBSubmitAction); - //} - ////濡傛灉涓嶉渶瑕佷复鏃跺瓨鍌ㄦ暟鎹簱鎻愪氦鎿嶄綔锛屽垯鎶婃彁浜ゆ搷浣滃垪琛ㄦ彁浜ゅ埌鏁版嵁搴� - //if (!NeedTemporaryStoreDBCommitAction) - //{ - // //鎭㈠涓存椂瀛樺偍鏍囪涓篺alse - // NeedTemporaryStoreDBCommitAction = false; - - // var dbTran = GetCommitDB().UseTran(() => - // { - // //鍦ㄥ悓涓�涓簨鍔′腑淇濆瓨鎵�鏈夊伐姝ョ殑鏁版嵁 - // foreach (var action in DBCommitList) - // { - // action.Invoke(); - // } - // }); - // if (dbTran.IsSuccess) - // { - // //淇濆瓨鎴愬姛鍒欐竻绌烘彁浜ゆ搷浣滃垪琛� - // DBCommitList.Clear(); - // } - // else - // { - // //鎶涘嚭寮傚父 - // throw dbTran.ErrorException; - // } - //} - if (NeedTemporaryStoreDBCommitAction) + //淇濆瓨宸ユ鐨勬暟鎹簱鎻愪氦鎿嶄綔鍒版彁浜ゆ搷浣滃垪琛� + foreach (var step in Steps.OrderBy(q => q.Sequence)) { - NodeCommitList.Add(this.MemberwiseClone() as Position); + DBCommitList.Add(step.DBSubmitAction); } - else + //濡傛灉涓嶉渶瑕佷复鏃跺瓨鍌ㄦ暟鎹簱鎻愪氦鎿嶄綔锛屽垯鎶婃彁浜ゆ搷浣滃垪琛ㄦ彁浜ゅ埌鏁版嵁搴� + if (!NeedTemporaryStoreDBCommitAction) { - //淇濆瓨鎴愬姛鍒欐竻绌烘彁浜ゆ搷浣滃垪琛� - foreach (var item in NodeCommitList) + //鎭㈠涓存椂瀛樺偍鏍囪涓篺alse + NeedTemporaryStoreDBCommitAction = false; + + var dbTran = GetCommitDB().UseTran(() => { - item?.DoSaveToDB(); - item?.Dispose(); + //鍦ㄥ悓涓�涓簨鍔′腑淇濆瓨鎵�鏈夊伐姝ョ殑鏁版嵁 + foreach (var action in DBCommitList) + { + action.Invoke(); + } + }); + if (dbTran.IsSuccess) + { + //淇濆瓨鎴愬姛鍒欐竻绌烘彁浜ゆ搷浣滃垪琛� + DBCommitList.Clear(); } - DoSaveToDB(); - NodeCommitList.Clear(); + else + { + //鎶涘嚭寮傚父 + throw dbTran.ErrorException; + } } } @@ -490,7 +499,7 @@ switch (pv.VAR_METHOD) { case "GetCartonGenerate": - return Biz.CodeRule[lv.BARCODE_RULE].Generate($"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString(); + return Biz.CodeRule[lv.BARCODE_RULE ?? ""]?.Generate($"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? ""; default: return ""; } -- Gitblit v1.9.3