From f04d2a8fce3ffe25ea0b43ed16fd4f65a2574468 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 03 9月 2024 10:03:19 +0800 Subject: [PATCH] //修正:查询的工序是当前线程的工序,而不是当前数据的工序 【Editby shaocx,2024-09-03】 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 35 +++++++++++++++++++++++++++++++---- 1 files changed, 31 insertions(+), 4 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs index 6c27978..bfd5f84 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs @@ -190,6 +190,7 @@ info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime(); info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; info.CreatedUserName = loginfo.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForCreatedUserName(ref info, loginfo.DataCapturePointCname); info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); info = ParseQRCode(info); isAddWorkPieceInfo = true; @@ -210,6 +211,7 @@ info.QualityStateUpdateTime = loginfo.UpdatedTime.Value.LocalDateTime; info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); info.UpdatedUserName = loginfo.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref info, loginfo.DataCapturePointCname); info.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); info.WorkPieceCurrentPosition = loginfo.WorkingProcedure; info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2; @@ -230,6 +232,7 @@ { pro.EndTime = DateTimeHelper.GetDateTime(); pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); pro.Remarks = "鍙堜竴娆′笂绾匡紝鏇存柊缁撴潫鏃堕棿"; } @@ -253,8 +256,10 @@ new_process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); new_process.CreatedUserName = loginfo.MonitoringPoint; + new_process.DataCapturePointCname = loginfo.DataCapturePointCname; new_process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); new_process.UpdatedUserName = loginfo.MonitoringPoint; + new_process.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; new_process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); new_process.OperationType = OperationType.鐢熶骇.ToString(); new_process.Remarks = ""; @@ -550,6 +555,7 @@ pieceInfo.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime(); pieceInfo.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; pieceInfo.CreatedUserName = ResetUpdatedUserName(logMiddle); + SystemBussinessHelper.SetWorkPieceInfoMiddleForCreatedUserName(ref pieceInfo, logMiddle.DataCapturePointCname); pieceInfo.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); pieceInfo.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();// pieceInfo.WorkingProcedureEndTime = null; @@ -606,6 +612,8 @@ #endregion //UpdateKnifeToolLift(db, loginfo);//鏇存柊鍒�鍏峰鍛戒俊鎭� } + + pieceInfo.WorkingProcedureCurrent = logMiddle.WorkingProcedure;//鏇存柊褰撳墠宸ュ簭 銆怑ditby shaocx,2024-09-03銆� pieceInfo.WorkPieceState = (int)WorkPieceState.WIP;//鎺ㄥ嚭鍚庡拰SPC鎶芥鍚� 璐ㄩ噺褰曞叆鏃剁姸鎬佷慨鏀瑰洖鍦ㄥ埗鍝� pieceInfo.EquipmentID = logMiddle.EquipmentID; pieceInfo.QualityStateUpdateUser = logMiddle.UpdatedUserName; @@ -613,6 +621,7 @@ pieceInfo.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); pieceInfo.Remarks = $"{logMiddle.WorkingProcedure}璐ㄩ噺妫�娴嬪畬鎴愪慨鏀�"; pieceInfo.UpdatedUserName = ResetUpdatedUserName(logMiddle); + SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref pieceInfo, logMiddle.DataCapturePointCname); pieceInfo.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); if (!(pieceInfo.WorkingProcedureStartTime.HasValue && pieceInfo.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) {//宸ュ簭寮�濮嬫椂闂存病鏈夊垯璧嬪�� @@ -760,7 +769,11 @@ qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime(); } - var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == pieceInfo.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID + //淇锛氭煡璇㈢殑宸ュ簭鏄綋鍓嶇嚎绋嬬殑宸ュ簭锛岃�屼笉鏄綋鍓嶆暟鎹殑宸ュ簭 銆怑ditby shaocx,2024-09-03銆� + //&& o.WorkingProcedureCurrent == pieceInfo.WorkingProcedureCurrent + && o.WorkingProcedureCurrent == logMiddle.WorkingProcedure + && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); if (pro == null || pro.WorkPieceID.Length < 1 || logMiddle.MonitoringPoint.Equals("OP1002") || logMiddle.MonitoringPoint.Equals("OP1003") || logMiddle.MonitoringPoint.Contains("OP2002")) {// OP10 娌℃湁涓婄嚎鎵爜鏋紝绾﹀畾鐢ㄦ祴閲忓畬鎴愪俊鍙峰綋涓婄嚎鏍囪锛屾墍浠ヤ笂绾块渶瑕佷慨鏀圭殑瀛楁鏀捐繖閲� //涓婄嚎鏄瘡娆¢兘鎻掑叆 @@ -787,8 +800,10 @@ process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); process.CreatedUserName = ResetUpdatedUserName(logMiddle); + process.DataCapturePointCname = logMiddle.DataCapturePointCname; process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.UpdatedUserName = ResetUpdatedUserName(logMiddle); + process.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.OperationType = OperationType.鐢熶骇.ToString(); process.QualityDataInfoID = qualityData.Id; @@ -799,6 +814,7 @@ {//鍏朵粬鐨勯兘鍙槸淇敼 pro.QualityDataInfoID = qualityData.Id; pro.UpdatedUserName = ResetUpdatedUserName(logMiddle); + pro.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� @@ -812,7 +828,7 @@ if (logMiddle.WorkingProcedure == "OP60") { pro.CreatedUserName = ResetUpdatedUserName(logMiddle); - + pro.DataCapturePointCname = logMiddle.DataCapturePointCname; } } @@ -843,8 +859,8 @@ } catch (Exception ex) { - loginfo2.Remarks = $"璐ㄩ噺妫�娴嬪畬鎴恵logMiddle.WorkPieceID ?? "绌�"}鏇存柊鏁版嵁寮傚父{ex.Message}++{ex.StackTrace}"; - Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}宸ュ簭鐩戞帶璇荤爜鏍囪 璇诲彇宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細"); + loginfo2.Remarks = $"璐ㄩ噺妫�娴嬪畬鎴�,鏇存柊鏁版嵁寮傚父{ex.Message}"; + Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}璐ㄩ噺妫�娴嬪畬鎴� 宸ヤ欢鐮佹暟鎹甗{logMiddle.WorkPieceID ?? "绌�"}]鏃跺紓甯革細" + ex.Message, ex); } finally { @@ -990,6 +1006,7 @@ } cur_db_info.WorkPieceState = (int)WorkPieceState.NOOKPush; cur_db_info.UpdatedUserName = loginfo.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref cur_db_info, loginfo.DataCapturePointCname); cur_db_info.UpdatedTime = DateTime.Now; cur_db_info.Remarks = "宸ヤ欢NOOK鎺ㄥ嚭"; loginfo2.Remarks = cur_db_info.Remarks; @@ -1032,6 +1049,7 @@ pro.EndTime = DateTimeHelper.GetDateTime(); pro.Remarks = (pro.Remarks ?? "") + "NOOK缁撴潫"; pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); } @@ -1109,6 +1127,7 @@ } cur_db_info.WorkPieceState = (int)WorkPieceState.SPCPush; cur_db_info.UpdatedUserName = loginfo.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref cur_db_info, loginfo.DataCapturePointCname); cur_db_info.UpdatedTime = DateTime.Now; cur_db_info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime(); if (!(cur_db_info.WorkingProcedureStartTime.HasValue && cur_db_info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) @@ -1131,6 +1150,7 @@ pro.EndTime = DateTimeHelper.GetDateTime(); pro.Remarks = (pro.Remarks ?? "") + "SPC鎶芥缁撴潫"; pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); } //姣忔SPC 閮芥彃鍏ヨ拷婧〃 @@ -1142,8 +1162,10 @@ process.QualityState = (int)QualityState.Suspected; process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); process.CreatedUserName = loginfo.MonitoringPoint; + process.DataCapturePointCname = loginfo.DataCapturePointCname; process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.UpdatedUserName = loginfo.MonitoringPoint; + process.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.Remarks = "宸ヤ欢SPC鎶芥鎺ㄥ嚭"; db.WorkPieceProcess.Add(process); @@ -1249,6 +1271,7 @@ info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; info.CreatedUserName = logMiddle.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForCreatedUserName(ref info, logMiddle.DataCapturePointCname); info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); info.WorkingProcedureCurrent = logMiddle.WorkingProcedure; info.WorkingProcedureEndTime = null; @@ -1262,6 +1285,7 @@ logMiddle.WorkingProcedure = info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂 } info.UpdatedUserName = logMiddle.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref info, logMiddle.DataCapturePointCname); info.UpdatedTime = DateTimeHelper.GetDateTime(); info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + logMiddle.WorkingProcedure;//宸插畬鎴愬伐搴� if (!(info.WorkingProcedureStartTime.HasValue && info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) @@ -1386,8 +1410,10 @@ process.QualityState = WorkPieceInfoManager.GetQualityStateValue(logMiddle.QualityState); } process.CreatedUserName = logMiddle.MonitoringPoint; + process.DataCapturePointCname = logMiddle.DataCapturePointCname; process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.UpdatedUserName = logMiddle.MonitoringPoint; + process.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); process.OperationType = OperationType.鐢熶骇.ToString(); process.Remarks = ""; @@ -1414,6 +1440,7 @@ } pro.EndTime = DateTimeHelper.GetDateTime(); pro.UpdatedUserName = logMiddle.MonitoringPoint; + pro.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); if (logMiddle.WorkingProcedure.Equals("OP80")) { -- Gitblit v1.9.3