schangxiang@126.com
2024-09-05 16e188758b164ed959090dd5149d109b7a9adb92
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs
@@ -85,6 +85,24 @@
                        }
                        else
                        {
                            //获取OP70未结束的工件列表
                            var ooDateTime = Convert.ToDateTime("0001-01-01");
                            var findTime = DateTime.Now.AddHours(-12);
                            List<WorkPieceProcess> noFinishWorkPieceProcessList = null;
                            using (DbModel db = new DbModel())
                            {
                                var dateTime = DateTime.Now;
                                noFinishWorkPieceProcessList = db.WorkPieceProcess.Where(x => x.CreatedTime >= findTime
                                  && x.WorkingProcedureCurrent == WorkingProcedure
                                  && x.EndTime == ooDateTime).ToList();
                            }
                            if (noFinishWorkPieceProcessList?.Count <= 0)
                            {
                                continue;
                            }
                            // threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                            WorkPieceLogMiddle wplog = new WorkPieceLogMiddle();
                            wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
@@ -92,8 +110,9 @@
                            wplog.EquipmentID = _dataCaptureConfig.EquipmentID;
                            wplog.Remarks = WorkingProcedure;
                            wplog.MonitoringPoint = DataCapturePointCode;
                            //wplog.CreatedUserName = DataCapturePointCode;
                            SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname);
                            wplog.CreatedTime = DateTimeHelper.GetDateTime();
                            wplog.CreatedUserName = DataCapturePointCode;
                            wplog.UpdatedTime = DateTimeHelper.GetDateTime();
                            wplog.UpdatedUserName = Environment.MachineName + "自动" + Thread.CurrentThread.ManagedThreadId.ToString();
                            wplog.OnlineTime = DateTimeHelper.GetDateTime();
@@ -134,16 +153,7 @@
                                continue;
                            }
                            //获取OP70未结束的工件列表
                            var ooDateTime = Convert.ToDateTime("0001-01-01");
                            List<WorkPieceProcess> noFinishWorkPieceProcessList = null;
                            using (DbModel db = new DbModel())
                            {
                                var dateTime = DateTime.Now;
                                noFinishWorkPieceProcessList = db.WorkPieceProcess.Where(x => x.CreatedTime >= DateTime.Now.AddHours(-12)
                                  && x.WorkingProcedureCurrent == WorkingProcedure
                                  && x.EndTime == ooDateTime).ToList();
                            }
                            if (noFinishWorkPieceProcessList?.Count > 0)
                            {
                                foreach (var item in noFinishWorkPieceProcessList)
@@ -153,22 +163,9 @@
                                    // threadStatusMonitor.Threadstatue = 1;
                                }
                            }
                            else
                            {
                                Log4NetHelper.WriteInfoLog(LogType.OP7009, $"读取 {DataCapturePointCode}质量信息三个值有值,但是获取OP70未结束的工件列表为空:");
                            }
                        }
                        SystemValue.lbl_Alert_OP1002 = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                        if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
                        {
                            Thread.Sleep(5000);
                        }
                        else
                        {
                            Thread.Sleep(_dataCaptureConfig.DataCaptureFrequency.Value);
                        }
                        Thread.Sleep(5000);
                    }
                    catch (Exception ex)