| | |
| | | { |
| | | 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> |
| | | /// 给WorkPieceLog主键等公共的的属性赋值 |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | loginfo.Remarks = (loginfo.Remarks ?? "") + $"{loginfo.WorkPieceID ?? "空"}刀具寿命更新数据异常{ex.Message}"; |
| | | loginfo.Remarks = $"{loginfo.WorkPieceID ?? "空"}刀具寿命更新数据异常{ex.Message}"; |
| | | |
| | | } |
| | | } |
| | |
| | | { |
| | | if (info.WorkingProcedureCurrent.Equals("OP05")) |
| | | { |
| | | loginfo.Remarks = (loginfo.Remarks ?? "") + $"读取二维码{loginfo.WorkPieceID ?? "空"} OP05工序重复读取了"; |
| | | loginfo.Remarks = $"读取二维码{loginfo.WorkPieceID ?? "空"} OP05工序重复读取了"; |
| | | return; |
| | | } |
| | | } |
| | |
| | | info.WorkPieceCurrentPosition = loginfo.WorkingProcedure; |
| | | info.WorkPieceCurrentPositionOrder = info.WorkingProcedurePlan.IndexOf(loginfo.WorkingProcedure) / 2; |
| | | info.WorkingProcedureCurrent = loginfo.WorkingProcedure; |
| | | info.Remarks = info.Remarks ?? "" + $"{info.WorkingProcedureCurrent}工件上线"; |
| | | info.Remarks = $"{info.WorkingProcedureCurrent}工件上线"; |
| | | |
| | | //修复下 op35 同一个件 下线时间跟下一个上线时间一模一样的问题 【Editby shaocx,2024-08-27】 |
| | | var isNeedAddNewProcess = true; |
| | |
| | | if (pro.WorkingProcedureCurrent == loginfo.WorkingProcedure) |
| | | {//表示工序相同 |
| | | isNeedAddNewProcess = false; |
| | | pro.Remarks = (pro.Remarks ?? "") + "又一次上线,更新结束时间"; |
| | | pro.Remarks = "又一次上线,更新结束时间"; |
| | | } |
| | | else |
| | | { |
| | | pro.EndTime = DateTimeHelper.GetDateTime(); |
| | | pro.UpdatedUserName = loginfo.MonitoringPoint; |
| | | pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; |
| | | pro.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | pro.Remarks = (pro.Remarks ?? "") + "又一次上线,更新结束时间"; |
| | | pro.Remarks = "又一次上线,更新结束时间"; |
| | | } |
| | | } |
| | | if (isNeedAddNewProcess) |
| | |
| | | |
| | | 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 = ""; |
| | |
| | | } |
| | | else |
| | | { |
| | | loginfo.Remarks = (loginfo.Remarks ?? "") + $"上线完成读取二维码{loginfo.WorkPieceID ?? "空"}异常"; |
| | | loginfo.Remarks = $"上线完成读取二维码{loginfo.WorkPieceID ?? "空"}异常"; |
| | | Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}上线监控读码标记 读取工件码数据[{loginfo.WorkPieceID ?? "空"}]时异常:"); |
| | | |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | loginfo.Remarks = (loginfo.Remarks ?? "") + $"读取二维码{loginfo.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | loginfo.Remarks = $"读取二维码{loginfo.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}上线监控读码标记 读取工件码数据[{loginfo.WorkPieceID ?? "空"}]时异常:", e); |
| | | } |
| | | finally |
| | |
| | | } |
| | | else |
| | | { |
| | | loginfo2.Remarks = loginfo2.Remarks ?? "" + $"|工件{logMiddle.WorkPieceID} 质量检测完成工序{logMiddle.MonitoringPoint} 没有获取到工件信息不做更新"; |
| | | loginfo2.Remarks = $"|工件{logMiddle.WorkPieceID} 质量检测完成工序{logMiddle.MonitoringPoint} 没有获取到工件信息不做更新"; |
| | | Log4NetHelper.WriteErrorLog(type, $"工件{logMiddle.WorkPieceID} 质量检测完成工序{logMiddle.MonitoringPoint} 没有获取到工件信息不做更新"); |
| | | return; |
| | | } |
| | |
| | | pieceInfo.QualityStateUpdateUser = logMiddle.UpdatedUserName; |
| | | pieceInfo.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; |
| | | pieceInfo.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); |
| | | pieceInfo.Remarks = pieceInfo.Remarks ?? "" + $"{logMiddle.WorkingProcedure}质量检测完成修改"; |
| | | pieceInfo.Remarks = $"{logMiddle.WorkingProcedure}质量检测完成修改"; |
| | | pieceInfo.UpdatedUserName = ResetUpdatedUserName(logMiddle); |
| | | pieceInfo.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); |
| | | if (!(pieceInfo.WorkingProcedureStartTime.HasValue && pieceInfo.WorkingProcedureStartTime > DateTime.Parse("1900/01/01"))) |
| | |
| | | |
| | | 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; |
| | |
| | | {//其他的都只是修改 |
| | | pro.QualityDataInfoID = qualityData.Id; |
| | | pro.UpdatedUserName = ResetUpdatedUserName(logMiddle); |
| | | pro.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; |
| | | pro.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | |
| | | //不再默认赋值为合格 【Editby shaocx,2024-08-16】 |
| | |
| | | if (logMiddle.WorkingProcedure == "OP60") |
| | | { |
| | | pro.CreatedUserName = ResetUpdatedUserName(logMiddle); |
| | | |
| | | pro.DataCapturePointCname = logMiddle.DataCapturePointCname; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"质量检测完成读取二维码{logMiddle.WorkPieceID ?? "空"}异常"; |
| | | loginfo2.Remarks = $"质量检测完成读取二维码{logMiddle.WorkPieceID ?? "空"}异常"; |
| | | Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}工序监控读码标记 读取工件码数据[{logMiddle.WorkPieceID ?? "空"}]时异常:"); |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"质量检测完成{logMiddle.WorkPieceID ?? "空"}更新数据异常{ex.Message}++{ex.StackTrace}"; |
| | | loginfo2.Remarks = $"质量检测完成{logMiddle.WorkPieceID ?? "空"}更新数据异常{ex.Message}++{ex.StackTrace}"; |
| | | Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}工序监控读码标记 读取工件码数据[{logMiddle.WorkPieceID ?? "空"}]时异常:"); |
| | | } |
| | | finally |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"质量:{logMiddle.QualityStateStr ?? "空"}"; |
| | | loginfo2.Remarks = $"质量:{logMiddle.QualityStateStr ?? "空"}"; |
| | | db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//插入工件采集日志表 |
| | | db.SaveChanges(); |
| | | } |
| | |
| | | cur_db_info.UpdatedUserName = loginfo.MonitoringPoint; |
| | | 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(); |
| | |
| | | qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == loginfo.WorkPieceID).FirstOrDefault(); |
| | | if (loginfo.WorkingProcedure.Equals("OP35")) |
| | | {//为了解决OP35的采集到的质量信息是OK还NOOK的情况,OP35 NOOK时更新质量信息 |
| | | loginfo2.Remarks = (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())) |
| | | { |
| | |
| | | pro.EndTime = DateTimeHelper.GetDateTime(); |
| | | pro.Remarks = (pro.Remarks ?? "") + "NOOK结束"; |
| | | pro.UpdatedUserName = loginfo.MonitoringPoint; |
| | | pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; |
| | | pro.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | } |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"工件NOOK推出读取二维码{loginfo.WorkPieceID ?? "空"}异常"; |
| | | loginfo2.Remarks = $"工件NOOK推出读取二维码{loginfo.WorkPieceID ?? "空"}异常"; |
| | | Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}工件NOOK推出读码标记 读取工件码数据[{loginfo.WorkPieceID ?? "空"}]时异常:"); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"读取二维码{loginfo.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | loginfo2.Remarks = $"读取二维码{loginfo.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | } |
| | | |
| | | |
| | |
| | | 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 |
| | |
| | | pro.EndTime = DateTimeHelper.GetDateTime(); |
| | | pro.Remarks = (pro.Remarks ?? "") + "SPC抽检结束"; |
| | | pro.UpdatedUserName = loginfo.MonitoringPoint; |
| | | pro.UpdateDataCapturePointCname = loginfo.DataCapturePointCname; |
| | | pro.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | } |
| | | //每次SPC 都插入追溯表 |
| | |
| | | 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); |
| | |
| | | } |
| | | else |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"工件SPC抽检推出读取二维码{loginfo.WorkPieceID ?? "空"}异常"; |
| | | loginfo2.Remarks = $"工件SPC抽检推出读取二维码{loginfo.WorkPieceID ?? "空"}异常"; |
| | | Log4NetHelper.WriteErrorLog(type, $" {loginfo.WorkingProcedure}工件SPC抽检推出读码标记 读取工件码数据[{loginfo.WorkPieceID ?? "空"}]时异常:"); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"读取二维码{loginfo.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | loginfo2.Remarks = $"读取二维码{loginfo.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | } |
| | | finally |
| | | { |
| | |
| | | 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 = ""; |
| | |
| | | } |
| | | pro.EndTime = DateTimeHelper.GetDateTime(); |
| | | pro.UpdatedUserName = logMiddle.MonitoringPoint; |
| | | pro.UpdateDataCapturePointCname = logMiddle.DataCapturePointCname; |
| | | pro.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | if (logMiddle.WorkingProcedure.Equals("OP80")) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"下线完成读取二维码{logMiddle.WorkPieceID ?? "空"}异常"; |
| | | loginfo2.Remarks = $"下线完成读取二维码{logMiddle.WorkPieceID ?? "空"}异常"; |
| | | Log4NetHelper.WriteErrorLog(type, $" {logMiddle.WorkingProcedure}工序下线 读取工件码数据[{logMiddle.WorkPieceID ?? "空"}]时异常:"); |
| | | |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"读取二维码{logMiddle.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | loginfo2.Remarks = $"读取二维码{logMiddle.WorkPieceID ?? "空"}更新数据异常{e.Message}"; |
| | | } |
| | | db.WorkPieceLog.Add(GetAddWorkPieceLog(loginfo2));//插入工件采集日志表 |
| | | db.SaveChanges(); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"{loginfo2.MonitoringPoint}设备监控更新数据异常{e.Message}.{e.StackTrace}"; |
| | | loginfo2.Remarks = $"{loginfo2.MonitoringPoint}设备监控更新数据异常{e.Message}.{e.StackTrace}"; |
| | | Log4NetHelper.WriteErrorLog(type, $"{loginfo2.MonitoringPoint}设备监控更新数据异常{e.Message}.{e.StackTrace}"); |
| | | } |
| | | |