schangxiang@126.com
2024-09-05 0850ca67bbc4b7581a595ab985904f7acb8ecb5e
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -183,7 +183,7 @@
                                info.Remarks = $"工件二维码第一次出现的工序{loginfo.WorkingProcedure}不是OP05,数据缺失,请确认情况并做相应处理!";
                            }
                            else
                            {
                            {//OP05工序
                                info.QualityState = (int)QualityStateEnum.OK;//此处需要注意,判断所有工序质量,然后再赋值 //默认合格,OP05默认是合格
                                info.Remarks = "OP05新增工件信息";
                            }
@@ -203,6 +203,12 @@
                                return;
                            }
                        }
                        if ((info.WorkingProcedureCurrent.Equals("OP05") && isAddWorkPieceInfo == false))
                        {
                            //如果是OP05的,并且是 不需要新增 表WorkPieceInfo,那么就不需要更新表 WorkPieceInfo
                        }
                        else
                        {
                        info.WorkingProcedureStartTime = DateTimeHelper.GetDateTime();//
                        info.WorkingProcedureEndTime = null;
                        info.WorkPieceState = (int)WorkPieceState.WIP;
@@ -213,10 +219,13 @@
                        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;
                        info.WorkingProcedureCurrent = loginfo.WorkingProcedure;
                        info.Remarks = $"{info.WorkingProcedureCurrent}工件上线";
                        }
                        //修复下 op35 同一个件 下线时间跟下一个上线时间一模一样的问题  【Editby shaocx,2024-08-27】
                        var isNeedAddNewProcess = true;
@@ -274,8 +283,18 @@
                            new_process.Remarks = "";
                            new_process.MyRemarks = "读码上线时,每次扫描上线都插入追溯表";
                            if (loginfo.WorkingProcedure.Equals("OP05"))
                            {
                            {//特殊处理OP05工序
                                new_process.EndTime = new_process.StartTime;
                                //如果已经存在其他工序,那么就必须要按照其他工序的时间往前推数据 【Editby shaocx,2024-09-05】
                                var op05OtherProccss = db.WorkPieceProcess.Where(o => o.WorkPieceID == loginfo.WorkPieceID).OrderBy(x => x.StartTime).FirstOrDefault();
                                if (op05OtherProccss != null)
                                {//说明有,那么时间就按照这个时间往前推
                                    var _time = op05OtherProccss.StartTime.AddHours(-1);
                                    new_process.StartTime = _time;
                                    new_process.EndTime = _time;
                                    new_process.CreatedTime = _time;
                                    new_process.UpdatedTime = _time;
                            }
                            db.WorkPieceProcess.Add(new_process);
                        }
@@ -386,6 +405,7 @@
                    }
                }
                }
                catch (Exception e)
                {
                    loginfo.Remarks = $"读取二维码{loginfo.WorkPieceID ?? "空"}更新数据异常{e.Message}";