From f4f475fd3c0e066ad82cdc61707f0e8e19583a02 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期四, 25 七月 2024 14:51:43 +0800 Subject: [PATCH] 进入工序时要增加判断过站是否按流程设置,增加非法过站防呆 增加生产不良记录用于记录发现的不良的管理 工序节点跟节点设置增加是否允许不良品进站的字段 --- Tiger.Business.MES/Transaction/PackingNode.cs | 55 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 38 insertions(+), 17 deletions(-) diff --git a/Tiger.Business.MES/Transaction/PackingNode.cs b/Tiger.Business.MES/Transaction/PackingNode.cs index 4699985..20b6f99 100644 --- a/Tiger.Business.MES/Transaction/PackingNode.cs +++ b/Tiger.Business.MES/Transaction/PackingNode.cs @@ -161,11 +161,46 @@ { try { + var curNode = CurBatch.GetNode(PostCode); + //鍒ゆ柇宸ュ崟瀹炴椂鐘舵�佸垽鏂� + var woStatus = CurBatch.CheckStatus(); + if (!woStatus.IsSuccessed) + { + return woStatus; + } + //闈炴硶杩囩珯闃插憜锛氳繘鍏ュ伐搴忔椂瑕佸鍔犲垽鏂潯鐮佹槸鍚︽寜娴佺▼杩囩珯 + var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().Where(q => q.SN == input.SN && q.WORK_ORDER == CurBatch.WO.ORDER_NO).IncludesAllFirstLayer().First() ?? new MES_WIP_DATA() + { + SN = input.SN, + STATUS = MES_WIP_DATA.STATUSs.Init.GetValue(), + ITEM_CODE = CurBatch.WO.ITEM_CODE, + WORK_ORDER = CurBatch.Batch.ORDER_NO, + BATCH_NO = CurBatch.Batch.BATCH_NO, + HOLD_FLAG = "N", + REWORK_FLAG = CurBatch.WO.ORDER_TYPE == BIZ_MES_WO.ORDER_TYPEs.Rework.GetValue() ? "Y" : "N", + FINISHED_FLAG = "N", + INV_FLAG = "N", + DFT_FLAG = "N", + DFT_COUNT = 0, + }; + var canGotoNext = CurBatch.CanGotoNext(input, wipSN, curNode); + if (!canGotoNext.IsSuccessed) + { + return canGotoNext; + } + //if (nextNodes.Any(q => q.ID == curNode.ID)) + //{ + // action.IsSuccessed = false; + // action.Data.CurWO = CurBatch.WO.ORDER_NO; + // action.Data.CurBatch = CurBatch.Batch.BATCH_NO; + // action.LocaleMsg = new($"鏉$爜[{wipSN.SN}]杩囩珯鎵弿閿欒锛岃鍏堥�氳繃浠ヤ笅宸ュ簭锛歿string.Join(", ", nextNodes.Select(q => q.NODE_NAME))}"); + // action.LocaleMsg = new("MES.Transaction.PackingNode.NotNextNodeException", wipSN.SN, string.Join(", ", nextNodes.Select(q => q.NODE_NAME))); + // return action; + //} + //褰撳伐姝ュ垪琛ㄤ负绌猴紝鍒欐墽琛屽綋鍓嶅伐搴忕殑蹇呰閫昏緫褰撲綔绗竴涓伐搴忚妭鐐癸紝瀹屾垚鍚庢寜闇�姹傚垱寤哄悗缁殑宸ユ鍒楄〃 if (Steps.IsNullOrEmpty()) { - var curNode = CurBatch.GetNode(PostCode); - //缁戝畾鏉$爜鍒板伐鍗� if (!CurBatch.WoSNs.Any(q => q.SN == input.SN)) { @@ -176,26 +211,12 @@ STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(), }); } - var woSN = CurBatch.WoSNs.FirstOrDefault(q => q.SN == input.SN); + var woSN = CurBatch.WoSNs.First(q => q.SN == input.SN); woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; woSN.AUTH_PROD = CurLine.LINE_CODE; woSN.BATCH_NO = CurBatch.Batch.BATCH_NO; //鏉$爜杩囩珯 - var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().First(q => q.SN == input.SN && q.BATCH_NO == CurBatch.Batch.BATCH_NO) ?? new MES_WIP_DATA() - { - SN = input.SN, - STATUS = MES_WIP_DATA.STATUSs.Init.GetValue(), - ITEM_CODE = CurBatch.WO.ITEM_CODE, - WORK_ORDER = CurBatch.Batch.ORDER_NO, - BATCH_NO = CurBatch.Batch.BATCH_NO, - HOLD_FLAG = "N", - REWORK_FLAG = CurBatch.WO.ORDER_TYPE == BIZ_MES_WO.ORDER_TYPEs.Rework.GetValue() ? "Y" : "N", - FINISHED_FLAG = "N", - INV_FLAG = "N", - DFT_FLAG = "N", - DFT_COUNT = 0, - }; wipSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; wipSN.AUTH_PROD = CurLine.LINE_CODE; wipSN.STATUS = wipSN.STATUS > 0 ? MES_WIP_DATA.STATUSs.OK.GetValue() : wipSN.STATUS; -- Gitblit v1.9.3