| | |
| | | info.WorkingProcedureCurrent = loginfo.WorkingProcedure; |
| | | info.Remarks = info.Remarks ?? "" + $"{info.WorkingProcedureCurrent}工件上线"; |
| | | |
| | | //修复下 op35 同一个件 下线时间跟下一个上线时间一模一样的问题 【Editby shaocx,2024-08-27】 |
| | | var isNeedAddNewProcess = true; |
| | | var pro = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID && !o.OperationType.Equals("SPC") && (o.EndTime == null || o.EndTime <= DateTime.MinValue)).OrderByDescending(o => o.StartTime).FirstOrDefault(); |
| | | if (pro != null && pro.WorkPieceID.Length > 1) |
| | | { |
| | | pro.EndTime = DateTimeHelper.GetDateTime(); |
| | | pro.UpdatedUserName = loginfo.MonitoringPoint; |
| | | pro.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | pro.Remarks = (pro.Remarks ?? "") + "又一次上线,更新结束时间"; |
| | | if (pro.WorkingProcedureCurrent == loginfo.WorkingProcedure) |
| | | {//表示工序相同 |
| | | isNeedAddNewProcess = false; |
| | | pro.Remarks = (pro.Remarks ?? "") + "又一次上线,更新结束时间"; |
| | | } |
| | | else |
| | | { |
| | | pro.EndTime = DateTimeHelper.GetDateTime(); |
| | | pro.UpdatedUserName = loginfo.MonitoringPoint; |
| | | pro.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | pro.Remarks = (pro.Remarks ?? "") + "又一次上线,更新结束时间"; |
| | | } |
| | | } |
| | | //每次扫描上线都插入追溯表 |
| | | WorkPieceProcess process = new WorkPieceProcess(); |
| | | process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); |
| | | process.StartTime = DateTimeHelper.GetDateTime(); |
| | | |
| | | //不再默认赋值为合格 【Editby shaocx,2024-08-16】 |
| | | //process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;//默认合格,已处理 |
| | | process.QualityState = GetQualityStateValue(info.QualityState); |
| | | |
| | | if (process.WorkingProcedureCurrent == WorkingProcedureForHMI.OP70.ToString()) |
| | | { //特殊处理OP70,因为OP70没有测量,默认合格 [Editby shaocx,2024-07-03] |
| | | process.QualityState = (int)QualityState.OK;//默认合格,OP70默认是合格 |
| | | } |
| | | |
| | | process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | process.CreatedUserName = loginfo.MonitoringPoint; |
| | | process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); |
| | | process.UpdatedUserName = loginfo.MonitoringPoint; |
| | | process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); |
| | | process.OperationType = OperationType.生产.ToString(); |
| | | process.Remarks = ""; |
| | | if (loginfo.WorkingProcedure.Equals("OP05")) |
| | | if (isNeedAddNewProcess) |
| | | { |
| | | process.EndTime = process.StartTime; |
| | | //每次扫描上线都插入追溯表 |
| | | WorkPieceProcess new_process = new WorkPieceProcess(); |
| | | new_process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info); |
| | | new_process.StartTime = DateTimeHelper.GetDateTime(); |
| | | |
| | | //不再默认赋值为合格 【Editby shaocx,2024-08-16】 |
| | | //process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;//默认合格,已处理 |
| | | new_process.QualityState = GetQualityStateValue(info.QualityState); |
| | | |
| | | if (new_process.WorkingProcedureCurrent == WorkingProcedureForHMI.OP70.ToString()) |
| | | { //特殊处理OP70,因为OP70没有测量,默认合格 [Editby shaocx,2024-07-03] |
| | | new_process.QualityState = (int)QualityState.OK;//默认合格,OP70默认是合格 |
| | | } |
| | | |
| | | new_process.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | new_process.CreatedUserName = loginfo.MonitoringPoint; |
| | | new_process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); |
| | | new_process.UpdatedUserName = loginfo.MonitoringPoint; |
| | | new_process.UpdatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local); |
| | | new_process.OperationType = OperationType.生产.ToString(); |
| | | new_process.Remarks = ""; |
| | | if (loginfo.WorkingProcedure.Equals("OP05")) |
| | | { |
| | | new_process.EndTime = new_process.StartTime; |
| | | } |
| | | db.WorkPieceProcess.Add(new_process); |
| | | } |
| | | db.WorkPieceProcess.Add(process); |
| | | |
| | | //db.Database.AutoTransactionsEnabled = false;// 同一个SaveChanges默认事务, 关闭默认事务:... 好像不能用啊,后面再研究吧 |
| | | if (isAddWorkPieceInfo) |