From e8cbb2cb2bda1fb0bb60c7a8f29383fcc73eb76c Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 03 7月 2024 09:32:06 +0800 Subject: [PATCH] 2 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs | 653 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 409 insertions(+), 244 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs index 79c33bd..544f483 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs @@ -28,6 +28,7 @@ public static readonly string path = ConfigHelper.GetConfigString("OP80QualityData");//OP80鐨勫湴鍧� public static readonly string query_WorkingProcedureCurrent = "OP80"; public static readonly string _DataCapturePointCode = "OP8002"; + public static readonly string _EquipmentId = "EOP80"; public static readonly LogType logType = LogType.PLCOP80_QC; public OP80QualityDataHandler() @@ -60,6 +61,8 @@ try { Do(); + + Thread.Sleep(1000 * 10); } catch (Exception ex) { @@ -86,8 +89,22 @@ threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString(); threadStatusMonitor.Threadlastmodifytime = DateTime.Now; + var time = DateTimeHelper.GetDateTime(); + + //OP80 闇�瑕佹壂鎻忔枃浠惰鍙栬川閲忎俊鎭� + //鎵弿淇敼鏃堕棿鍦ㄤ笂娆℃壂鎻忔椂闂翠箣鍓�30绉掑埌褰撳墠鏃堕棿鐨勪箣闂寸殑鏂囦欢 + List<FileInfo> allFiles = new List<FileInfo>(); + var newFiles = FileHelper.DetectNewFilesCSV(path, 300, time.AddDays(-30), time.AddDays(1)); + foreach (var file in newFiles) + { + allFiles.Add((FileInfo)file); + } + //files = files.OrderByDescending(o => o.LastWriteTime).ToList(); + allFiles = allFiles.OrderBy(o => o.LastWriteTime).ToList();//鏃堕棿鍗囧簭 + Log4NetHelper.WriteInfoLog(logType, $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢allFiles.Count()}涓�"); + var processList = db.WorkPieceProcess.Where(o => o.WorkingProcedureCurrent == query_WorkingProcedureCurrent && o.GetQcDataFlag == 0 - ).OrderBy(x => x.CreatedTime).ToList(); + ).OrderBy(x => x.CreatedTime).ToList(); foreach (var item in processList) { var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == item.WorkPieceID).FirstOrDefault(); @@ -103,284 +120,432 @@ continue; } - Do_One(db, info, item, qualityData, WorkingProcedure); + var findFiles = allFiles.Where(x => x.Name.Contains(item.WorkPieceID)).OrderByDescending(x => x.LastWriteTime).ToList(); + if (findFiles != null && findFiles.Count > 0) + { + var file = findFiles.First(); + } + + Do_One(false, false, false, allFiles, db, info, item, qualityData, findFiles); Thread.Sleep(1000); + + } + + //澶勭悊鍓╀綑鐨勬枃浠� + if (allFiles.Count() > 0) + { + Log4NetHelper.WriteErrorLog(logType, $" OP80璐ㄩ噺鏁版嵁閲囬泦寮傚父锛氬彂鐜拌澶勭悊鍓╀綑鐨勬枃浠秢allFiles.Count()}浠�"); + foreach (var otherFile in allFiles) + { + DoOtherFile(allFiles, otherFile, db); + Thread.Sleep(1000); + } + } + Thread.Sleep(1000); WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor); } catch (Exception e) { - Log4NetHelper.WriteErrorLog(logType, $" OP80璐ㄩ噺鏁版嵁閲囬泦寮傚父锛歿e.Message} {e.StackTrace}"); + Log4NetHelper.WriteErrorLog(logType, $" OP80璐ㄩ噺鏁版嵁閲囬泦寮傚父锛歿e.Message} {e.StackTrace}", e); } } } - private void Do_One(DbModel db, WorkPieceInfo info, WorkPieceProcess pieceProcess, QualityDataInfo qualityData, string WorkingProcedure) + private void Do_One(bool isAdd_WorkPieceInfo, bool isAdd_WorkPieceProcess, bool isAdd_QualityDataInfo, List<FileInfo> allFiles, DbModel db, WorkPieceInfo info, WorkPieceProcess pieceProcess, QualityDataInfo qualityData, + List<FileInfo> findFiles) { try { - if (WorkingProcedure.Equals("OP80")) + + bool isGetQcSuccess = false; + + + var file = findFiles.First(); + + Log4NetHelper.WriteInfoLog(logType, $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢pieceProcess.WorkPieceID}"); + + WorkPieceLogMiddle logMiddle = new WorkPieceLogMiddle(); + logMiddle.WorkPieceID = pieceProcess.WorkPieceID; + logMiddle.WorkingProcedure = query_WorkingProcedureCurrent; + logMiddle.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + logMiddle.EquipmentID = _dataCaptureConfig.EquipmentID; ; + logMiddle.Remarks = logMiddle.WorkingProcedure; + logMiddle.MonitoringPoint = _DataCapturePointCode; + logMiddle.CreatedTime = DateTimeHelper.GetDateTime(); + logMiddle.CreatedUserName = _DataCapturePointCode; + logMiddle.UpdatedTime = DateTimeHelper.GetDateTime(); + logMiddle.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + logMiddle.IsDeleted = false; + + WorkPieceLog loginfo2 = new WorkPieceLog(); + loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(logMiddle); + + var datatable = CSVHelper.ReadCSVList(file.FullName); + List<string> rowFirst = new List<string>(); + List<string> rowSecond = new List<string>(); + if (datatable.Count == 2) { - var time = DateTimeHelper.GetDateTime(); - - //OP80 闇�瑕佹壂鎻忔枃浠惰鍙栬川閲忎俊鎭� - //鎵弿淇敼鏃堕棿鍦ㄤ笂娆℃壂鎻忔椂闂翠箣鍓�30绉掑埌褰撳墠鏃堕棿鐨勪箣闂寸殑鏂囦欢 - List<FileInfo> files = new List<FileInfo>(); - var newFiles = FileHelper.DetectNewFilesCSV(path, 300, time.AddDays(-7), time.AddDays(1)); - foreach (var file in newFiles) + rowFirst = datatable[0].Split(',').ToList(); + rowSecond = datatable[1].Split(',').ToList(); + if (rowSecond.Count < 11) { - files.Add((FileInfo)file); + return; } - //files = files.OrderByDescending(o => o.LastWriteTime).ToList(); - files = files.OrderBy(o => o.LastWriteTime).ToList();//鏃堕棿鍗囧簭 - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢files.Count()}涓伐浠秢pieceProcess.WorkPieceID} "); - - bool isGetQcSuccess = false; - - foreach (var file in files) - {//鍙栧�掑簭鍖归厤鐨勬枃浠跺悕涓哄伐浠跺彿鐨勬枃浠� - if (file.Name.Contains(pieceProcess.WorkPieceID)) + //鏃ユ湡鍜屾椂闂� 鎵瑰彿/鏍囪瘑鍙� 宓屽鍙�/涓昏酱鍙� 鎿嶄綔绗� 鏂囨湰 娴嬮噺鏈� 杩囩▼鍙傛暟 娴嬮噺绯荤粺 杩囩▼鍙傛暟鍊� 搴忓垪鍙� 闆朵欢璇嗗埆鍙� 1 + OP80Info oP80Info = new OP80Info(); + oP80Info.鏃ユ湡鍜屾椂闂� = rowSecond[0]; + oP80Info.鎵瑰彿 = rowSecond[1]; + oP80Info.宓屽鍙� = rowSecond[2]; + oP80Info.鎿嶄綔绗� = rowSecond[3]; + oP80Info.鏂囨湰 = rowSecond[4]; + oP80Info.娴嬮噺鏈� = rowSecond[5]; + oP80Info.杩囩▼鍙傛暟 = rowSecond[6]; + oP80Info.娴嬮噺绯荤粺 = rowSecond[7]; + oP80Info.杩囩▼鍙傛暟鍊� = rowSecond[8]; + oP80Info.搴忓垪鍙� = rowSecond[9]; + oP80Info.闆朵欢璇嗗埆鍙� = rowSecond[10]; + for (int i = 1; i <= (rowSecond.Count - 11) / 10; i++) + { + if (rowSecond.Count < (11 + i * 10)) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢pieceProcess.WorkPieceID}"); - - WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); - wplog.WorkPieceID = pieceProcess.WorkPieceID; - wplog.WorkingProcedure = _DataCapturePointCode; - wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ; - wplog.Remarks = wplog.WorkingProcedure; - wplog.MonitoringPoint = _DataCapturePointCode; - wplog.CreatedTime = DateTimeHelper.GetDateTime(); - wplog.CreatedUserName = _DataCapturePointCode; - wplog.UpdatedTime = DateTimeHelper.GetDateTime(); - wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); - wplog.IsDeleted = false; - - WorkPieceLog loginfo2 = new WorkPieceLog(); - loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(wplog); - - var datatable = CSVHelper.ReadCSVList(file.FullName); - List<string> rowFirst = new List<string>(); - List<string> rowSecond = new List<string>(); - if (datatable.Count == 2) - { - rowFirst = datatable[0].Split(',').ToList(); - rowSecond = datatable[1].Split(',').ToList(); - if (rowSecond.Count < 11) - { - continue; - } - //鏃ユ湡鍜屾椂闂� 鎵瑰彿/鏍囪瘑鍙� 宓屽鍙�/涓昏酱鍙� 鎿嶄綔绗� 鏂囨湰 娴嬮噺鏈� 杩囩▼鍙傛暟 娴嬮噺绯荤粺 杩囩▼鍙傛暟鍊� 搴忓垪鍙� 闆朵欢璇嗗埆鍙� 1 - OP80Info oP80Info = new OP80Info(); - oP80Info.鏃ユ湡鍜屾椂闂� = rowSecond[0]; - oP80Info.鎵瑰彿 = rowSecond[1]; - oP80Info.宓屽鍙� = rowSecond[2]; - oP80Info.鎿嶄綔绗� = rowSecond[3]; - oP80Info.鏂囨湰 = rowSecond[4]; - oP80Info.娴嬮噺鏈� = rowSecond[5]; - oP80Info.杩囩▼鍙傛暟 = rowSecond[6]; - oP80Info.娴嬮噺绯荤粺 = rowSecond[7]; - oP80Info.杩囩▼鍙傛暟鍊� = rowSecond[8]; - oP80Info.搴忓垪鍙� = rowSecond[9]; - oP80Info.闆朵欢璇嗗埆鍙� = rowSecond[10]; - for (int i = 1; i <= (rowSecond.Count - 11) / 10; i++) - { - if (rowSecond.Count < (11 + i * 10)) - { - break; - } - //鍚嶇О 鐩稿鍊� 鐩稿鍊煎崟浣� 缁濆鍊� 缁濆鍊煎崟浣� 鍚嶄箟鍊� 涓婇檺 涓嬮檺 鐘舵��/绛夌骇 鍒嗛殧绗� - OP80ItemInfo item = new OP80ItemInfo(); - item.鍒嗛殧绗� = rowSecond[1 + i * 10];//渚嬪锛�* 琛ㄥご锛氱姸鎬� - item.鍚嶇О = rowSecond[2 + i * 10];//渚嬪锛歐eight Big End 琛ㄥご锛�* - item.鐩稿鍊� = rowSecond[3 + i * 10];//渚嬪锛�-2.8 琛ㄥご锛氱畝杩� - item.鐩稿鍊煎崟浣� = rowSecond[4 + i * 10];//渚嬪锛歡r 琛ㄥご锛歐eight Big End - item.缁濆鍊� = rowSecond[5 + i * 10];//渚嬪锛�371.66 琛ㄥご锛氭祴閲忓崟浣� - item.缁濆鍊煎崟浣� = rowSecond[6 + i * 10];//渚嬪锛歡r 琛ㄥご锛氱粷瀵瑰�� - item.鍚嶄箟鍊� = rowSecond[7 + i * 10];//渚嬪锛�374.5 琛ㄥご锛氱粷瀵瑰�兼祴閲忓崟浣嶏紙UoM锛� - item.涓婇檺 = rowSecond[8 + i * 10];//渚嬪锛�10.5 琛ㄥご锛氬悕涔夊�� - item.涓嬮檺 = rowSecond[9 + i * 10];//渚嬪锛�-10.5 琛ㄥご锛歎SL鍊� - item.鐘舵�� = rowSecond[10 + i * 10];//渚嬪锛�3 琛ㄥご锛歀SL鍊� - oP80Info.OP80ItemInfolist.Add(item); - if (item.鍚嶇О.Equals("Weight Class") || item.鍚嶇О.Equals("Weight Small End") - || item.鍚嶇О.Equals("Weight Big End") || item.鍚嶇О.Equals("Dime Small_End Class") - || item.鍚嶇О.Equals("Dime Big_End Class")) - { - } - else - { - if (!string.IsNullOrEmpty(item.鐘舵��)) - { - oP80Info.OP80ItemStatusInfolist.Add(item); - } - } - } - if (oP80Info.OP80ItemStatusInfolist.Count > 0) - { - if (oP80Info.OP80ItemStatusInfolist.Any(o => !o.鐘舵��.Equals("OK"))) - { - wplog.QualityStateStr = "NG"; - } - else - { - wplog.QualityStateStr = "OK"; - } - } - else - { - wplog.QualityStateStr = "OK"; - } - - - wplog.OP80QualityFilePath = file.FullName; - wplog.OP80NewCode = oP80Info.鎵瑰彿?.Replace("#", ""); - //澶уご閲嶉噺 - wplog.QualityOP80To1 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Big End")).FirstOrDefault()?.缁濆鍊�; - //灏忓ご閲嶉噺 - wplog.QualityOP80To2 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Small End")).FirstOrDefault()?.缁濆鍊�; - //鎬婚噸 - wplog.QualityOP80To3 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Total Weight")).FirstOrDefault()?.缁濆鍊�; - //寮洸 - wplog.QualityOP80To4 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Bend to A")).FirstOrDefault()?.缁濆鍊�; - //鎵害 - wplog.QualityOP80To5 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Twist to A")).FirstOrDefault()?.缁濆鍊�; - //澶уご鍨傜洿搴� - wplog.QualityOP80To6 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; - //灏忓ご鍨傜洿搴� - wplog.QualityOP80To10 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Sma_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; - //澶уご瀛斿垎缁勭骇鍒� - wplog.QualityOP80To7 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Big_End Class")).FirstOrDefault()?.鐘舵��; - //灏忓ご瀛斿垎缁勭骇鍒� - wplog.QualityOP80To8 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Small_End Class")).FirstOrDefault()?.鐘舵��; - //閲嶉噺缁勫埆 - wplog.QualityOP80To9 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Class")).FirstOrDefault()?.鐘舵��; - //wplog.Remarks = (wplog.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName},鏁版嵁銆恵wplog.OP80NewCode??"绌�"}銆戙�恵wplog.QualityOP80To1 ?? "绌�"}銆戙�恵wplog.QualityOP80To2 ?? "绌�"}銆戙�恵wplog.QualityOP80To3 ?? "绌�"}銆戙�恵wplog.QualityOP80To4 ?? "绌�"}銆戙�恵wplog.QualityOP80To5 ?? "绌�"}銆�"; - - //鏂板OP80鐨勪竴浜涜川閲忔暟鎹� 銆怑ditby shaocx,2024-06-13銆� - wplog.QualityOP80_Houdu = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Thickness")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_ZXJ = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Distance of Two Head")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_DTKYZD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Cylindricity")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_XTSMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Roundn")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_XTXMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Roundn")).FirstOrDefault()?.缁濆鍊�; - - - wplog.QualityOP80_D_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_D_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_D_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_D_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; - //璁$畻澶уご瀛旂洿寰�,澶уご瀛旂洿寰�=锛堝ぇ澶翠笂闈鏂瑰悜鐩村緞+澶уご涓婇潰Y鏂瑰悜鐩村緞+澶уご涓嬮潰X鏂瑰悜鐩村緞+澶уご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 - List<decimal> valueList = new List<decimal>() { - SystemHelper.GetDecimal(wplog.QualityOP80_D_S_X), - SystemHelper.GetDecimal(wplog.QualityOP80_D_S_Y), - SystemHelper.GetDecimal(wplog.QualityOP80_D_X_X), - SystemHelper.GetDecimal(wplog.QualityOP80_D_X_Y), - }; - wplog.QualityOP80_D_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); - - - wplog.QualityOP80_X_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_X_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_X_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_X_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; - //璁$畻灏忓ご瀛旂洿寰�,灏忓ご瀛旂洿寰�=锛堝皬澶翠笂闈鏂瑰悜鐩村緞+灏忓ご涓婇潰Y鏂瑰悜鐩村緞+灏忓ご涓嬮潰X鏂瑰悜鐩村緞+灏忓ご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 - valueList = new List<decimal>(); - valueList = new List<decimal>() { - SystemHelper.GetDecimal(wplog.QualityOP80_X_S_X), - SystemHelper.GetDecimal(wplog.QualityOP80_X_S_Y), - SystemHelper.GetDecimal(wplog.QualityOP80_X_X_X), - SystemHelper.GetDecimal(wplog.QualityOP80_X_X_Y), - }; - wplog.QualityOP80_X_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); - - } - else - { - wplog.Remarks = (wplog.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}寮傚父锛岃鏁颁笉鏄�2琛�"; - } - - - //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� - info.OP80NewCode = wplog.OP80NewCode;//鏇存柊鎴愬搧鍚� - - info.QualityState = (int)((wplog.QualityStateStr.Equals("OK") || wplog.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); - wplog.QualityState = info.QualityState; - info.QualityStateUpdateUser = wplog.UpdatedUserName; - info.QualityStateUpdateTime = wplog.UpdatedTime.Value.LocalDateTime; - info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); - - //var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == wplog.WorkPieceID).FirstOrDefault(); - //if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) - //{//鎻掑叆QualityDataInfo琛� - // qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(wplog); - // db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); - //} - //淇敼QualityDataInfo琛� //閲嶅鏀跺埌璐ㄩ噺淇℃伅锛屼細瑕嗙洊涔嬪墠鐨� - EntityPropHelper<WorkPieceLogMiddle, QualityDataInfo>.CopyProp(wplog, qualityData, WorkPieceInfoManager.GetQualityDataInfoUpdate(wplog.WorkingProcedure, wplog.MonitoringPoint));//鎸囧畾淇敼瀛楁 - - qualityData.QualityStateUpdateUser = info.UpdatedUserName; - qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime; - qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode; - qualityData.OP80QualityState = wplog.QualityState.HasValue ? wplog.QualityState.Value.ToString() : "3"; - qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime(); - qualityData.OP80QualityFilePath = wplog.OP80QualityFilePath; - long op80id = qualityData.Id; - if (op80id > 0) - { - pieceProcess.QualityDataInfoID = op80id; - } - loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿wplog.QualityStateStr ?? "绌�"}"; - if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) - { - info.QualityErrorInfo = $"{wplog.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; - } - else - { - info.QualityErrorInfo = ""; - } - - pieceProcess.GetQcDataCount = (pieceProcess.GetQcDataCount ?? 0) + 1; - pieceProcess.GetQcDataFlag_Remark = "鎵惧埌鏂囦欢"; - pieceProcess.GetQcDataFlag = 1; - - db.WorkPieceLog.Add(WorkPieceInfoManager.GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� - - //杞Щ鏂囦欢 - var toPath = file.FullName.Replace("CA4GC20TD", "CA4GC20TD_COPY"); - File.Move(file.FullName, toPath);//绉诲姩 - - db.SaveChanges(); - - isGetQcSuccess = true; - break; + } + //鍚嶇О 鐩稿鍊� 鐩稿鍊煎崟浣� 缁濆鍊� 缁濆鍊煎崟浣� 鍚嶄箟鍊� 涓婇檺 涓嬮檺 鐘舵��/绛夌骇 鍒嗛殧绗� + OP80ItemInfo item = new OP80ItemInfo(); + item.鍒嗛殧绗� = rowSecond[1 + i * 10];//渚嬪锛�* 琛ㄥご锛氱姸鎬� + item.鍚嶇О = rowSecond[2 + i * 10];//渚嬪锛歐eight Big End 琛ㄥご锛�* + item.鐩稿鍊� = rowSecond[3 + i * 10];//渚嬪锛�-2.8 琛ㄥご锛氱畝杩� + item.鐩稿鍊煎崟浣� = rowSecond[4 + i * 10];//渚嬪锛歡r 琛ㄥご锛歐eight Big End + item.缁濆鍊� = rowSecond[5 + i * 10];//渚嬪锛�371.66 琛ㄥご锛氭祴閲忓崟浣� + item.缁濆鍊煎崟浣� = rowSecond[6 + i * 10];//渚嬪锛歡r 琛ㄥご锛氱粷瀵瑰�� + item.鍚嶄箟鍊� = rowSecond[7 + i * 10];//渚嬪锛�374.5 琛ㄥご锛氱粷瀵瑰�兼祴閲忓崟浣嶏紙UoM锛� + item.涓婇檺 = rowSecond[8 + i * 10];//渚嬪锛�10.5 琛ㄥご锛氬悕涔夊�� + item.涓嬮檺 = rowSecond[9 + i * 10];//渚嬪锛�-10.5 琛ㄥご锛歎SL鍊� + item.鐘舵�� = rowSecond[10 + i * 10];//渚嬪锛�3 琛ㄥご锛歀SL鍊� + oP80Info.OP80ItemInfolist.Add(item); + if (item.鍚嶇О.Equals("Weight Class") || item.鍚嶇О.Equals("Weight Small End") + || item.鍚嶇О.Equals("Weight Big End") || item.鍚嶇О.Equals("Dime Small_End Class") + || item.鍚嶇О.Equals("Dime Big_End Class")) + { } else { - + if (!string.IsNullOrEmpty(item.鐘舵��)) + { + oP80Info.OP80ItemStatusInfolist.Add(item); + } } } - if (isGetQcSuccess == false) + if (oP80Info.OP80ItemStatusInfolist.Count > 0) { - pieceProcess.GetQcDataCount = (pieceProcess.GetQcDataCount ?? 0) + 1; - pieceProcess.GetQcDataFlag_Remark = "娌℃湁鎵惧埌鏂囦欢"; - if (pieceProcess.GetQcDataCount >= 10) + if (oP80Info.OP80ItemStatusInfolist.Any(o => !o.鐘舵��.Equals("OK"))) { - pieceProcess.GetQcDataFlag = 2; + logMiddle.QualityStateStr = "NG"; } - - db.SaveChanges(); - - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢娌℃湁鎵惧埌鎸囧畾宸ヤ欢{info.WorkPieceID}鐨勬枃浠�"); + else + { + logMiddle.QualityStateStr = "OK"; + } } + else + { + logMiddle.QualityStateStr = "OK"; + } + + + logMiddle.OP80QualityFilePath = file.FullName; + logMiddle.OP80NewCode = oP80Info.鎵瑰彿?.Replace("#", ""); + //澶уご閲嶉噺 + logMiddle.QualityOP80To1 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Big End")).FirstOrDefault()?.缁濆鍊�; + //灏忓ご閲嶉噺 + logMiddle.QualityOP80To2 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Small End")).FirstOrDefault()?.缁濆鍊�; + //鎬婚噸 + logMiddle.QualityOP80To3 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Total Weight")).FirstOrDefault()?.缁濆鍊�; + //寮洸 + logMiddle.QualityOP80To4 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Bend to A")).FirstOrDefault()?.缁濆鍊�; + //鎵害 + logMiddle.QualityOP80To5 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Twist to A")).FirstOrDefault()?.缁濆鍊�; + //澶уご鍨傜洿搴� + logMiddle.QualityOP80To6 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; + //灏忓ご鍨傜洿搴� + logMiddle.QualityOP80To10 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Sma_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; + //澶уご瀛斿垎缁勭骇鍒� + logMiddle.QualityOP80To7 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Big_End Class")).FirstOrDefault()?.鐘舵��; + //灏忓ご瀛斿垎缁勭骇鍒� + logMiddle.QualityOP80To8 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Small_End Class")).FirstOrDefault()?.鐘舵��; + //閲嶉噺缁勫埆 + logMiddle.QualityOP80To9 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Class")).FirstOrDefault()?.鐘舵��; + //wplog.Remarks = (wplog.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName},鏁版嵁銆恵wplog.OP80NewCode??"绌�"}銆戙�恵wplog.QualityOP80To1 ?? "绌�"}銆戙�恵wplog.QualityOP80To2 ?? "绌�"}銆戙�恵wplog.QualityOP80To3 ?? "绌�"}銆戙�恵wplog.QualityOP80To4 ?? "绌�"}銆戙�恵wplog.QualityOP80To5 ?? "绌�"}銆�"; + + //鏂板OP80鐨勪竴浜涜川閲忔暟鎹� 銆怑ditby shaocx,2024-06-13銆� + logMiddle.QualityOP80_Houdu = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Thickness")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_ZXJ = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Distance of Two Head")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_DTKYZD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Cylindricity")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_XTSMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Roundn")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_XTXMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Roundn")).FirstOrDefault()?.缁濆鍊�; + + + logMiddle.QualityOP80_D_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_D_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_D_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_D_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + //璁$畻澶уご瀛旂洿寰�,澶уご瀛旂洿寰�=锛堝ぇ澶翠笂闈鏂瑰悜鐩村緞+澶уご涓婇潰Y鏂瑰悜鐩村緞+澶уご涓嬮潰X鏂瑰悜鐩村緞+澶уご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 + List<decimal> valueList = new List<decimal>() { + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_S_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_S_Y), + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_X_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_X_Y), + }; + logMiddle.QualityOP80_D_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); + + + logMiddle.QualityOP80_X_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_X_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_X_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_X_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + //璁$畻灏忓ご瀛旂洿寰�,灏忓ご瀛旂洿寰�=锛堝皬澶翠笂闈鏂瑰悜鐩村緞+灏忓ご涓婇潰Y鏂瑰悜鐩村緞+灏忓ご涓嬮潰X鏂瑰悜鐩村緞+灏忓ご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 + valueList = new List<decimal>(); + valueList = new List<decimal>() { + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_S_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_S_Y), + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_X_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_X_Y), + }; + logMiddle.QualityOP80_X_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); + + } + else + { + logMiddle.Remarks = (logMiddle.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}寮傚父锛岃鏁颁笉鏄�2琛�"; + } + + + //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� + info.OP80NewCode = logMiddle.OP80NewCode;//鏇存柊鎴愬搧鍚� + + info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); + logMiddle.QualityState = info.QualityState; + //鏍规嵁璐ㄩ噺鏁版嵁鍒ゆ柇鏄惁鍚堟牸/涓嶅悎鏍� 銆怑ditby shaocx,2024-06-25銆� + WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); + + //璧嬪�间笉鍚堟牸鍘熷洜 + //TODO:闇�瑕侀厤缃甇P80璐ㄩ噺涓嶅悎鏍肩殑鍘熷洜鏄暐锛燂紵 + WorkPieceInfoManager.SetQualityNoOk_WorkPieceInfo(logMiddle, ref info); + + info.QualityStateUpdateUser = logMiddle.UpdatedUserName; + info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; + info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); + + //var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == wplog.WorkPieceID).FirstOrDefault(); + //if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) + //{//鎻掑叆QualityDataInfo琛� + // qualityData = EntityPropHelper.Mapper<QualityDataInfo, WorkPieceLog>(wplog); + // db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); + //} + //淇敼QualityDataInfo琛� //閲嶅鏀跺埌璐ㄩ噺淇℃伅锛屼細瑕嗙洊涔嬪墠鐨� + EntityPropHelper<WorkPieceLogMiddle, QualityDataInfo>.CopyProp(logMiddle, qualityData, WorkPieceInfoManager.GetQualityDataInfoUpdate(logMiddle, logMiddle.WorkingProcedure, logMiddle.MonitoringPoint));//鎸囧畾淇敼瀛楁 + + qualityData.EquipmentID = _EquipmentId; + qualityData.QualityStateUpdateUser = info.UpdatedUserName; + qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime; + qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode; + qualityData.OP80QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; + qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime(); + qualityData.OP80QualityFilePath = logMiddle.OP80QualityFilePath; + long op80id = qualityData.Id; + if (op80id > 0) + { + pieceProcess.QualityDataInfoID = op80id; + } + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; + if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) + { + info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; + } + else + { + info.QualityErrorInfo = ""; + } + + pieceProcess.GetQcDataCount = (pieceProcess.GetQcDataCount ?? 0) + 1; + pieceProcess.GetQcDataFlag_Remark = "鎵惧埌鏂囦欢"; + pieceProcess.GetQcDataFlag = 1; + pieceProcess.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK; + //璧嬪�间笉鍚堟牸鍘熷洜 + //TODO:闇�瑕侀厤缃甇P80璐ㄩ噺涓嶅悎鏍肩殑鍘熷洜鏄暐锛燂紵 + WorkPieceInfoManager.SetQualityNoOk_WorkPieceProcess(logMiddle, ref pieceProcess); + + pieceProcess.EndTime = file.LastWriteTime;//涓嬬嚎鏃堕棿鏀逛负 鏂囦欢鏈�鍚庝慨鏀规椂闂� 銆怑ditby shaocx,2024-06-17銆� + + db.WorkPieceLog.Add(WorkPieceInfoManager.GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� + + db.QualityDataInfoLog.Add(WorkPieceInfoManager.GetAddQualityDataInfoLog(qualityData));//鎻掑叆璐ㄩ噺鏃ュ織 + + //杞Щ鏂囦欢 + foreach (var item in findFiles) + { + var toPath = item.FullName.Replace("CA4GC20TD", "CA4GC20TD_COPY"); + File.Move(item.FullName, toPath);//绉诲姩 + allFiles.Remove(item);//闆嗗悎绉婚櫎 + } + + if (isAdd_WorkPieceInfo) + { + db.WorkPieceInfo.Add(info); + } + if (isAdd_WorkPieceProcess) + { + db.WorkPieceProcess.Add(pieceProcess); + } + if (isAdd_QualityDataInfo) + { + db.QualityDataInfo.Add(qualityData); + } + + db.SaveChanges(); + + isGetQcSuccess = true; + Log4NetHelper.WriteInfoLog(logType, $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢锛屾垚鍔熷鐞嗕簡鎸囧畾宸ヤ欢{info.WorkPieceID}鐨勬枃浠�"); + + + if (isGetQcSuccess == false) + { + pieceProcess.GetQcDataCount = (pieceProcess.GetQcDataCount ?? 0) + 1; + pieceProcess.GetQcDataFlag_Remark = "娌℃湁鎵惧埌鏂囦欢"; + if (pieceProcess.GetQcDataCount >= 10) + { + pieceProcess.GetQcDataFlag = 2; + } + + db.SaveChanges(); + + Log4NetHelper.WriteErrorLog(logType, $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢娌℃湁鎵惧埌鎸囧畾宸ヤ欢{info.WorkPieceID}鐨勬枃浠�"); } } catch (Exception ex) { - Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"鎸囧畾宸ヤ欢{info.WorkPieceID},OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢鏁版嵁鏃跺紓甯�,閬垮厤宸ュ簭瀹屾垚寮傚父锛�", ex); + Log4NetHelper.WriteErrorLog(logType, $"鎸囧畾宸ヤ欢{info.WorkPieceID},OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢鏁版嵁鏃跺紓甯�,閬垮厤宸ュ簭瀹屾垚寮傚父锛�", ex); } } + + private void DoOtherFile(List<FileInfo> allFiles, FileInfo file, DbModel db) + { + var arr = file.Name.Split('-'); + if (arr.Length > 0) + { + if (string.IsNullOrEmpty(arr[0])) + { + MoveFileToNoNum(allFiles, file); + Log4NetHelper.WriteErrorLog(logType, $" OP80璐ㄩ噺鏁版嵁閲囬泦寮傚父锛氬鐞嗗墿浣欑殑鏂囦欢,杞Щ鍒版病鏈夊崟鍙锋枃浠跺す涓紝{file.Name}"); + return; + } + else + { + if (file.LastWriteTime > DateTime.Now.AddDays(-1)) + { + //褰撳ぉ鍐呯殑鏂囦欢鏆備笉澶勭悊 + return; + } + //濡傛灉鏄�15澶╁墠鐨勬枃浠讹紝鍒欒浆绉诲埌閿欒鏂囦欢澶逛腑 + if (file.LastWriteTime.AddDays(15) < DateTime.Now) + { + MoveFileToNoError(allFiles, file); + Log4NetHelper.WriteErrorLog(logType, $" OP80璐ㄩ噺鏁版嵁閲囬泦寮傚父锛氬鐞嗗墿浣欑殑鏂囦欢,杞Щ鍒伴敊璇枃浠跺す涓紝{file.Name}"); + return; + } + + var pieceID = arr[0]; + if (pieceID == "Err") + { + MoveFileToNoNum(allFiles, file); + Log4NetHelper.WriteErrorLog(logType, $" OP80璐ㄩ噺鏁版嵁閲囬泦寮傚父锛氬鐞嗗墿浣欑殑鏂囦欢,杞Щ鍒版病鏈夊崟鍙锋枃浠跺す涓紝{file.Name}"); + return; + } + //璋冪敤鍏叡澶勭悊鏂规硶 + + + bool isAdd_WorkPieceInfo = false; + bool isAdd_WorkPieceProcess = false; + bool isAdd_QualityDataInfo = false; + + WorkPieceInfo info = db.WorkPieceInfo.Where(o => o.WorkPieceID == pieceID).FirstOrDefault(); + if (info == null) + { + isAdd_WorkPieceInfo = true; + info = new WorkPieceInfo() + { + Id = Yitter.IdGenerator.YitIdHelper.NextId(), + WorkPieceID = pieceID, + WorkingProcedureCurrent = query_WorkingProcedureCurrent, + EquipmentID = _EquipmentId, + CreatedTime = DateTime.Now, + CreatedUserName = _DataCapturePointCode + }; + } + + var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == pieceID).FirstOrDefault(); + if (qualityData == null || qualityData.WorkPieceID.Length < 1 || qualityData.WorkingProcedure.Length < 1) + {//鎻掑叆QualityDataInfo琛� + isAdd_QualityDataInfo = true; + qualityData = new QualityDataInfo() + { + Id = Yitter.IdGenerator.YitIdHelper.NextId(), + WorkPieceID = pieceID, + WorkingProcedure = query_WorkingProcedureCurrent, + CreatedTime = DateTime.Now, + CreatedUserName = _DataCapturePointCode, + EquipmentID = _EquipmentId, + }; + } + + var process = db.WorkPieceProcess.Where(o => o.WorkPieceID == pieceID && o.WorkingProcedureCurrent == info.WorkingProcedureCurrent && o.OperationType == OperationType.鐢熶骇.ToString()).OrderByDescending(o => o.StartTime).FirstOrDefault(); + if (process == null) + { + isAdd_WorkPieceProcess = true; + process = new WorkPieceProcess(); + process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); + process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + process.WorkingProcedureCurrent = query_WorkingProcedureCurrent; + process.StartTime = DateTimeHelper.GetDateTime(); + process.EndTime = file.LastWriteTime; + process.CreatedUserName = _DataCapturePointCode; + process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.UpdatedUserName = _DataCapturePointCode; + process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); + process.OperationType = OperationType.鐢熶骇.ToString(); + process.Remarks = ""; + } + + //璋冪敤鏂规硶 + Do_One(isAdd_WorkPieceInfo, isAdd_WorkPieceProcess, isAdd_QualityDataInfo, allFiles, db, info, process, qualityData, new List<FileInfo>() { file }); + } + } + else + { + //绉婚櫎璇ユ枃浠跺埌CA4GC20TD_NoNum + MoveFileToNoNum(allFiles, file); + Log4NetHelper.WriteErrorLog(logType, $" OP80璐ㄩ噺鏁版嵁閲囬泦寮傚父锛氬鐞嗗墿浣欑殑鏂囦欢,杞Щ鍒版病鏈夊崟鍙锋枃浠跺す涓紝{file.Name}"); + } + } + + private void MoveFileToNoNum(List<FileInfo> allFiles, FileInfo file) + { + //绉婚櫎璇ユ枃浠跺埌CA4GC20TD_NoNum + var toPath = file.FullName.Replace("CA4GC20TD", "CA4GC20TD_NoNum"); + File.Move(file.FullName, toPath);//绉诲姩 + allFiles.Remove(file); + } + + private void MoveFileToNoError(List<FileInfo> allFiles, FileInfo file) + { + //绉婚櫎璇ユ枃浠跺埌CA4GC20TD_NoNum + var toPath = file.FullName.Replace("CA4GC20TD", "CA4GC20TD_Error"); + File.Move(file.FullName, toPath);//绉诲姩 + allFiles.Remove(file); + } } } -- Gitblit v1.9.3