From a635f1bbbaf5ebacde78f9d1bcb9b34bc2359902 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 03 9月 2024 11:29:00 +0800 Subject: [PATCH] 增加 MyRemarks 备注 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs | 280 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 170 insertions(+), 110 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 418ff32..944f141 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs @@ -23,32 +23,32 @@ { public class WorkPieceInfoManager { - public static WorkPieceInfo GetWorkPieceInfo(string WorkPieceID) - { - using (DbModel db = new DbModel()) - { - //鏌ヨ鎵�鏈� - var query = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID).FirstOrDefault(); - return query; - } - } + //public static WorkPieceInfo GetWorkPieceInfo(string WorkPieceID) + //{ + // using (DbModel db = new DbModel()) + // { + // //鏌ヨ鎵�鏈� + // var query = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID).FirstOrDefault(); + // return query; + // } + //} - public static long InsertWorkPieceInfo(WorkPieceInfo workPiece) - { - using (DbModel db = new DbModel()) - { - db.WorkPieceInfo.Add(workPiece); - db.SaveChanges(); - return workPiece.Id; - } - } + //public static long InsertWorkPieceInfo(WorkPieceInfo workPiece) + //{ + // using (DbModel db = new DbModel()) + // { + // db.WorkPieceInfo.Add(workPiece); + // db.SaveChanges(); + // return workPiece.Id; + // } + //} - public static WorkPieceLogMiddle GetAddWorkPieceLog(WorkPieceLogMiddle loginfo) - { - loginfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - return loginfo; - } + //public static WorkPieceLogMiddle GetAddWorkPieceLog(WorkPieceLogMiddle loginfo) + //{ + // loginfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + // return loginfo; + //} /// <summary> /// 缁橶orkPieceLog涓婚敭绛夊叕鍏辩殑鐨勫睘鎬ц祴鍊� @@ -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,11 +256,14 @@ 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 = ""; + new_process.MyRemarks = "璇荤爜涓婄嚎鏃讹紝濡傛灉鎵句笉鍒板氨鏂板缓"; if (loginfo.WorkingProcedure.Equals("OP05")) { new_process.EndTime = new_process.StartTime; @@ -550,6 +556,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 +613,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 +622,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"))) {//宸ュ簭寮�濮嬫椂闂存病鏈夊垯璧嬪�� @@ -682,8 +692,8 @@ if (qualityData.OP30QualityStateCH3 == ((int)QualityState.NG).ToString()) { - logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�; - logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶�.ToString(); + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩瓒呭樊; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩瓒呭樊.ToString(); //璧嬪�间笉鍚堟牸鍘熷洜 SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); } @@ -696,8 +706,8 @@ if (qualityData.OP30QualityStateCH4 == ((int)QualityState.NG).ToString()) { - logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ; - logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ.ToString(); + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╄秴宸�; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╄秴宸�.ToString(); //璧嬪�间笉鍚堟牸鍘熷洜 SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); } @@ -710,8 +720,8 @@ if (qualityData.OP30QualityStateCH5 == ((int)QualityState.NG).ToString()) { - logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ; - logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ.ToString(); + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╄秴宸�; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╄秴宸�.ToString(); //璧嬪�间笉鍚堟牸鍘熷洜 SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); } @@ -724,8 +734,8 @@ if (qualityData.OP30QualityStateCH6 == ((int)QualityState.NG).ToString()) { - logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ; - logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ.ToString(); + logMiddle.QualityNoOk = (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╄秴宸�; + logMiddle.QualityNoOkReason = QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╄秴宸�.ToString(); //璧嬪�间笉鍚堟牸鍘熷洜 SetQualityNoOk_WorkPieceInfo(logMiddle, ref pieceInfo); } @@ -760,7 +770,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,18 +801,22 @@ 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; process.Remarks = ""; + process.MyRemarks = "璐ㄩ噺妫�娴嬪畬鎴愭椂锛屽鏋滄壘涓嶅埌灏辨柊寤�"; db.WorkPieceProcess.Add(process); } else {//鍏朵粬鐨勯兘鍙槸淇敼 pro.QualityDataInfoID = qualityData.Id; pro.UpdatedUserName = ResetUpdatedUserName(logMiddle); + pro.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� @@ -812,7 +830,7 @@ if (logMiddle.WorkingProcedure == "OP60") { pro.CreatedUserName = ResetUpdatedUserName(logMiddle); - + pro.DataCapturePointCname = logMiddle.DataCapturePointCname; } } @@ -843,8 +861,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,8 +1008,10 @@ } 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; if (!(cur_db_info.WorkingProcedureStartTime.HasValue && cur_db_info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) { cur_db_info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); @@ -1004,7 +1024,7 @@ qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault(); if (loginfo.WorkingProcedure.Equals("OP35")) {//涓轰簡瑙e喅OP35鐨勯噰闆嗗埌鐨勮川閲忎俊鎭槸OK杩楴OOK鐨勬儏鍐碉紝OP35 NOOK鏃舵洿鏂拌川閲忎俊鎭� - loginfo2.Remarks =$"OP35NOOK鍘熻川閲忎俊鎭瘂(cur_db_info.QualityState.HasValue ? cur_db_info.QualityState.Value.ToString() : "绌�")}"; + loginfo2.Remarks = $"OP35NOOK鍘熻川閲忎俊鎭瘂(cur_db_info.QualityState.HasValue ? cur_db_info.QualityState.Value.ToString() : "绌�")}"; cur_db_info.QualityState = (int)QualityState.NG; if (!cur_db_info.QualityState.Equals(((int)QualityState.OK).ToString())) { @@ -1025,13 +1045,37 @@ } } //鏇存柊涓婁竴宸ュ簭鐨勭粨鏉熸椂闂� - var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && o.WorkingProcedureCurrent == loginfo.WorkingProcedure && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID + && o.WorkingProcedureCurrent == loginfo.WorkingProcedure && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); if (pro != null && pro.WorkPieceID.Length > 0) { pro.EndTime = DateTimeHelper.GetDateTime(); - pro.Remarks = (pro.Remarks ?? "") + "NOOK缁撴潫"; + pro.Remarks = "NOOK缁撴潫"; pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); + } + else + {//濡傛灉鎵句笉鍒板氨鏂板缓 銆怑ditby shaocx,2024-09-03銆� + WorkPieceProcess add_process = new WorkPieceProcess(); + add_process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(cur_db_info); + QualityStateHelper.ResetQualityNoOkForNewProcess(ref add_process); + add_process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + add_process.StartTime = DateTimeHelper.GetDateTime().AddSeconds(-SystemBussinessHelper.MoNiTimeForWorkingProcedure(loginfo.WorkingProcedure)); + add_process.EndTime = DateTimeHelper.GetDateTime(); + //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� + add_process.QualityState = WorkPieceInfoManager.GetQualityStateValue(loginfo.QualityState); + + add_process.CreatedUserName = loginfo.MonitoringPoint; + add_process.DataCapturePointCname = loginfo.DataCapturePointCname; + add_process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + add_process.UpdatedUserName = loginfo.MonitoringPoint; + add_process.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; + add_process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + add_process.OperationType = OperationType.鐢熶骇.ToString(); + add_process.Remarks = "NOOK缁撴潫"; + add_process.MyRemarks = "NOOK缁撴潫鏃讹紝濡傛灉鎵句笉鍒板氨鏂板缓"; + db.WorkPieceProcess.Add(add_process); } QualityStateHelper.SetQualityStateForNoOk(ref cur_db_info, ref pro, ref qualityData); @@ -1108,6 +1152,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"))) @@ -1120,6 +1165,7 @@ cur_db_info.WorkPieceCurrentPositionOrder = cur_db_info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2; } cur_db_info.Remarks = "宸ヤ欢SPC鎶芥鎺ㄥ嚭"; + loginfo2.Remarks = cur_db_info.Remarks; //鏇存柊涓婁竴宸ュ簭鐨勭粨鏉熸椂闂� var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && o.WorkingProcedureCurrent == loginfo.WorkingProcedure @@ -1129,6 +1175,7 @@ pro.EndTime = DateTimeHelper.GetDateTime(); pro.Remarks = (pro.Remarks ?? "") + "SPC鎶芥缁撴潫"; pro.UpdatedUserName = loginfo.MonitoringPoint; + pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); } //姣忔SPC 閮芥彃鍏ヨ拷婧〃 @@ -1140,10 +1187,13 @@ 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鎶芥鎺ㄥ嚭"; + process.MyRemarks = "SPC鏃讹紝鎻掑叆杩芥函琛�"; db.WorkPieceProcess.Add(process); @@ -1222,61 +1272,65 @@ { bool isAddWorkPieceInfo = false; - WorkPieceInfo info = new WorkPieceInfo(); - info = db.WorkPieceInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); - if (info == null || info.WorkPieceID.Length < 1) + WorkPieceInfo db_info = new WorkPieceInfo(); + db_info = db.WorkPieceInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); + if (db_info == null || db_info.WorkPieceID.Length < 1) {//娌℃湁宸ヤ欢淇℃伅锛屼笉鍋氭洿鏂� 锛堜负浜嗘祴璇曞厛鍏堟柊澧烇級 Log4NetHelper.WriteErrorLog(type, $"宸ヤ欢{logMiddle.WorkPieceID} 宸ヤ欢鎺ㄥ嚭宸ュ簭{logMiddle.WorkingProcedure} 娌℃湁鑾峰彇鍒板伐浠朵俊鎭笉鍋氭洿鏂�"); //db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� //db.SaveChanges(); loginfo2 = CommonManager.Instance.GetWorkPieceID(logMiddle, type); - info = EntityPropHelper.Mapper<WorkPieceInfo, WorkPieceLog>(logMiddle); + db_info = EntityPropHelper.Mapper<WorkPieceInfo, WorkPieceLog>(logMiddle); //EntityPropHelper<WorkPieceLog, WorkPieceInfo>.CopyProp(loginfo, info, loginfo.GetWorkPieceInfoDict()); if (!logMiddle.WorkingProcedure.Equals("OP05")) {//褰撳伐浠朵簩缁寸爜绗竴娆″嚭鐜扮殑宸ュ簭涓嶆槸OP05锛屽垯璁剧疆涓哄彲鐤戠姸鎬� - info.QualityState = (int)QualityState.Suspected; - info.QualityErrorInfo = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; - info.Remarks = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + db_info.QualityState = (int)QualityState.Suspected; + db_info.QualityErrorInfo = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; + db_info.Remarks = $"宸ヤ欢浜岀淮鐮佺涓�娆″嚭鐜扮殑宸ュ簭{logMiddle.MonitoringPoint}涓嶆槸OP05,鏁版嵁缂哄け,璇风‘璁ゆ儏鍐靛苟鍋氱浉搴斿鐞嗭紒"; } else { - info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍� - info.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; + db_info.QualityState = (int)QualityState.OK;//姝ゅ闇�瑕佹敞鎰忥紝鍒ゆ柇鎵�鏈夊伐搴忚川閲忥紝鐒跺悗鍐嶈祴鍊� //榛樿鍚堟牸锛孫P05榛樿鏄悎鏍� + db_info.Remarks = "OP05鏂板宸ヤ欢淇℃伅"; } - info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime - info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; - info.CreatedUserName = logMiddle.MonitoringPoint; - info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); - info.WorkingProcedureCurrent = logMiddle.WorkingProcedure; - info.WorkingProcedureEndTime = null; - info = ParseQRCode(info); + db_info.WorkPieceinitOnlineTime = DateTimeHelper.GetDateTime();//WorkPieceInitOnlineTime + db_info.WorkingProcedurePlan = ConfigHelper.GetConfigString("WorkingProcedureAllStr") ?? "OP05OP10OP20OP30OP35OP40OP50OP60OP70OP80"; + db_info.CreatedUserName = logMiddle.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForCreatedUserName(ref db_info, logMiddle.DataCapturePointCname); + db_info.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + db_info.WorkingProcedureCurrent = logMiddle.WorkingProcedure; + db_info.WorkingProcedureEndTime = null; + db_info = ParseQRCode(db_info); isAddWorkPieceInfo = true; } if (logMiddle.WorkingProcedure.Equals("OP10")) { //var WorkingProcedure = (loginfo.MonitoringPoint.Equals("OP1002") ? "OP10" : "OP40"); - loginfo2.WorkingProcedure = info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂 - logMiddle.WorkingProcedure = info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + loginfo2.WorkingProcedure = db_info.WorkingProcedureCurrent;//瑙e喅OP10锛孫P40鍚屼竴涓殑闂 + logMiddle.WorkingProcedure = db_info.WorkingProcedureCurrent; //瑙e喅OP10锛孫P40鍚屼竴涓殑闂 } - info.UpdatedUserName = logMiddle.MonitoringPoint; - info.UpdatedTime = DateTimeHelper.GetDateTime(); - info.WorkingProcedureCompleted = info.WorkingProcedureCompleted + logMiddle.WorkingProcedure;//宸插畬鎴愬伐搴� - if (!(info.WorkingProcedureStartTime.HasValue && info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) + + db_info.WorkingProcedureCurrent = logMiddle.WorkingProcedure;//璧嬪�兼渶鏂板伐搴� 銆怑ditby shaocx,2024-09-03銆� + db_info.UpdatedUserName = logMiddle.MonitoringPoint; + SystemBussinessHelper.SetWorkPieceInfoMiddleForUpdateDataCapturePointCname(ref db_info, logMiddle.DataCapturePointCname); + db_info.UpdatedTime = DateTimeHelper.GetDateTime(); + db_info.WorkingProcedureCompleted = db_info.WorkingProcedureCompleted + logMiddle.WorkingProcedure;//宸插畬鎴愬伐搴� + if (!(db_info.WorkingProcedureStartTime.HasValue && db_info.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) {//鑻ヤ竴鐩存病鏈夊伐搴忓紑濮嬫椂闂达紝鍒欒祴鍊煎綋鍓嶆椂闂� - info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); + db_info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime(); } - info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime(); - info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) / 2; - info.Remarks = $"{logMiddle.WorkingProcedure}宸ュ簭瀹屾垚"; + db_info.WorkingProcedureEndTime = DateTimeHelper.GetDateTime(); + db_info.WorkPieceCurrentPositionOrder = db_info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) / 2; + db_info.Remarks = $"{logMiddle.WorkingProcedure}宸ュ簭瀹屾垚"; long op80id = 0; if (logMiddle.WorkingProcedure.Equals("OP80")) { - info.WorkPieceState = (int)WorkPieceState.FinishedProducts; - info.WorkPieceLastOfflineTime = DateTimeHelper.GetDateTime(); - info.WorkPieceCurrentPosition = "OP80"; - info.CompleteTime = DateTimeHelper.GetDateTime(); - info.OP80NewCode = logMiddle.OP80NewCode; + db_info.WorkPieceState = (int)WorkPieceState.FinishedProducts; + db_info.WorkPieceLastOfflineTime = DateTimeHelper.GetDateTime(); + db_info.WorkPieceCurrentPosition = "OP80"; + db_info.CompleteTime = DateTimeHelper.GetDateTime(); + db_info.OP80NewCode = logMiddle.OP80NewCode; //璐ㄦ鏁版嵁鏀逛负 鑾峰彇鏂囦欢鍚庝慨鏀� 銆怑ditby shaocx,2024-06-15銆� /* @@ -1320,11 +1374,11 @@ else if (logMiddle.WorkingProcedure.Equals("OP30")) { - info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); - logMiddle.QualityState = info.QualityState; - info.QualityStateUpdateUser = logMiddle.UpdatedUserName; - info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; - info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + db_info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); + logMiddle.QualityState = db_info.QualityState; + db_info.QualityStateUpdateUser = logMiddle.UpdatedUserName; + db_info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; + db_info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == logMiddle.WorkPieceID).FirstOrDefault(); if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) @@ -1332,79 +1386,84 @@ qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(logMiddle); db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); } - qualityData.QualityStateUpdateUser = info.UpdatedUserName; - qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime; - qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode; + qualityData.QualityStateUpdateUser = db_info.UpdatedUserName; + qualityData.QualityReceiveTime = db_info.UpdatedTime.Value.LocalDateTime; + qualityData.QualityStateUpdateMode = db_info.QualityStateUpdateMode; qualityData.OP30QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; qualityData.OP30QualityReceiveTime = DateTimeHelper.GetDateTime(); loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; - if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) + if (!db_info.QualityState.Equals(((int)QualityState.OK).ToString())) { - info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; + db_info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; } else { - info.QualityErrorInfo = ""; + db_info.QualityErrorInfo = ""; } } else { //杩欓噷淇OP10銆丱P40 鍥犱负PLC鍏堟帹 SPC鎺ㄥ嚭銆佸啀鎺� 浜у搧涓嬬嚎闂锛屽鑷� 浜у搧涓嬬嚎鏇存柊鏁版嵁鏃讹紝鎶奡PC鏁版嵁瑕嗙洊鐨勯棶棰� 銆怑ditby shaocx,2024-08-27銆� - var isAlow = SystemBussinessHelper.IsAllowUpdateWorkPieceStateToWip(info, db, logMiddle); + var isAlow = SystemBussinessHelper.IsAllowUpdateWorkPieceStateToWip(db_info, db, logMiddle); if (isAlow) { - info.WorkPieceState = (int)WorkPieceState.WIP; + db_info.WorkPieceState = (int)WorkPieceState.WIP; } - if (info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) + 4 <= info.WorkingProcedurePlan.Length) + if (db_info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure) + 4 <= db_info.WorkingProcedurePlan.Length) { - info.WorkPieceCurrentPosition = info.WorkingProcedurePlan.Substring(info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure), 8); + db_info.WorkPieceCurrentPosition = db_info.WorkingProcedurePlan.Substring(db_info.WorkingProcedurePlan.IndexOf(logMiddle.WorkingProcedure), 8); } } - var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID && o.WorkingProcedureCurrent == info.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == logMiddle.WorkPieceID + && o.WorkingProcedureCurrent == db_info.WorkingProcedureCurrent + && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); if (pro == null || pro.WorkPieceID.Length < 1) { - WorkPieceProcess process = new WorkPieceProcess(); - process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); - QualityStateHelper.ResetQualityNoOkForNewProcess(ref process); - process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - process.StartTime = DateTimeHelper.GetDateTime(); - process.EndTime = DateTimeHelper.GetDateTime(); + WorkPieceProcess add_process = new WorkPieceProcess(); + add_process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(db_info); + QualityStateHelper.ResetQualityNoOkForNewProcess(ref add_process); + add_process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + add_process.StartTime = DateTimeHelper.GetDateTime().AddSeconds(-SystemBussinessHelper.MoNiTimeForWorkingProcedure(logMiddle.WorkingProcedure)); + add_process.EndTime = DateTimeHelper.GetDateTime(); if (logMiddle.WorkingProcedure.Equals("OP80")) {//OP80鐨勮川閲忔暟鎹槸鍚庢潵鑾峰彇鏂囦欢鎼炵殑 //璐ㄦ鏁版嵁锛屽啀鑰冭檻 鍙﹀涓ょ鐘舵�� 銆怑ditby shaocx,2024-08-27銆� - QualityStateHelper.SetQualityStateForOP80(logMiddle, ref info, ref process); + QualityStateHelper.SetQualityStateForOP80(logMiddle, ref db_info, ref add_process); } else { //涓嶅啀榛樿璧嬪�间负鍚堟牸 銆怑ditby shaocx,2024-08-16銆� //process.QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value : (int)QualityState.OK;//榛樿鍚堟牸锛屽凡澶勭悊 - process.QualityState = WorkPieceInfoManager.GetQualityStateValue(logMiddle.QualityState); + add_process.QualityState = WorkPieceInfoManager.GetQualityStateValue(logMiddle.QualityState); } - process.CreatedUserName = logMiddle.MonitoringPoint; - process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); - process.UpdatedUserName = logMiddle.MonitoringPoint; - process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); - process.OperationType = OperationType.鐢熶骇.ToString(); - process.Remarks = ""; + add_process.CreatedUserName = logMiddle.MonitoringPoint; + add_process.DataCapturePointCname = logMiddle.DataCapturePointCname; + add_process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + add_process.UpdatedUserName = logMiddle.MonitoringPoint; + add_process.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; + add_process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + add_process.OperationType = OperationType.鐢熶骇.ToString(); + add_process.Remarks = ""; + add_process.MyRemarks = "宸ュ簭瀹屾垚鏃讹紝濡傛灉鎵句笉鍒板氨鏂板缓"; if (logMiddle.WorkingProcedure.Equals("OP80")) { - process.GetQcDataFlag = logMiddle.GetQcDataFlag;//璧嬪�兼爣璁� [Editby shaocx,2024-06-15] + add_process.GetQcDataFlag = logMiddle.GetQcDataFlag;//璧嬪�兼爣璁� [Editby shaocx,2024-06-15] } if (op80id > 0) { - process.QualityDataInfoID = op80id; + add_process.QualityDataInfoID = op80id; } - db.WorkPieceProcess.Add(process); + db.WorkPieceProcess.Add(add_process); } else { if (logMiddle.WorkingProcedure.Equals("OP80")) {//OP80鐨勮川閲忔暟鎹槸鍚庢潵鑾峰彇鏂囦欢鎼炵殑 //璐ㄦ鏁版嵁锛屽啀鑰冭檻 鍙﹀涓ょ鐘舵�� 銆怑ditby shaocx,2024-08-27銆� - QualityStateHelper.SetQualityStateForOP80(logMiddle, ref info, ref pro); + QualityStateHelper.SetQualityStateForOP80(logMiddle, ref db_info, ref pro); } if (op80id > 0) { @@ -1412,6 +1471,7 @@ } pro.EndTime = DateTimeHelper.GetDateTime(); pro.UpdatedUserName = logMiddle.MonitoringPoint; + pro.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; pro.UpdatedTime = DateTimeHelper.GetDateTime(); if (logMiddle.WorkingProcedure.Equals("OP80")) { @@ -1425,9 +1485,9 @@ if (isAddWorkPieceInfo) { - db.WorkPieceInfo.Add(info); + db.WorkPieceInfo.Add(db_info); } - db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(info)); + db.WorkPieceInfoLog.Add(GetAddWorkPieceInfoLog(db_info)); } else { @@ -2405,10 +2465,10 @@ //鐗规畩閫昏緫锛氭寜鐓P30鐨勯『搴忓垽鏂� if (logMiddle.QualityNoOk != null && qualityNoOk != null && ( - qualityNoOk == (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╁ぇ - || qualityNoOk == (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩澶� - || qualityNoOk == (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╁ぇ - || qualityNoOk == (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╁ぇ + qualityNoOk == (int)QualityNoOkEnum.OP30鍘嬭‖濂楀伐浣嶅姏鐭╄秴宸� + || qualityNoOk == (int)QualityNoOkEnum.OP30娑ㄦ柇宸ヤ綅鍔涚煩瓒呭樊 + || qualityNoOk == (int)QualityNoOkEnum.OP30缁堟嫥绱у伐浣嶅姏鐭╄秴宸� + || qualityNoOk == (int)QualityNoOkEnum.OP30棰勬嫥绱у伐浣嶅姏鐭╄秴宸� ) ) { @@ -2697,7 +2757,7 @@ {//鍚堟牸/涓嶅悎鏍肩敱 QualityStateStr鍊煎垽鏂� if (logMiddle.QualityState == (int)QualityState.NG) { - qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涗笉鍚堟牸; + qualityNoOkEnum = QualityNoOkEnum.OP35婊氬帇鍔涜秴宸�; } else { -- Gitblit v1.9.3