schangxiang@126.com
2024-09-05 09a12e1094e90fe83c5578de64b56e9237c60507
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_OP0501.cs
@@ -91,7 +91,7 @@
                                var path = ConfigHelper.GetConfigString("WorkPeiceIDPath");//打码机打码二维码路径
                                //扫描共享目录并将新的文件扫描返回  一般节拍在15秒左右(可以确认一下)
                                //扫描修改时间在上次扫描时间之前10秒到当前时间的之间的文件
                                var dataTime = CommonManager.Instance.CheackPath(Environment.CurrentDirectory + "\\LastModifyTime\\OP05-LastScapTime.txt", 4,-10);
                                var dataTime = CommonManager.Instance.CheackPath(Environment.CurrentDirectory + "\\LastModifyTime\\OP05-LastScapTime.txt", 4, -10);
                                var scapEndTime = DateTimeHelper.GetDateTime();
                                var newFiles = FileHelper.DetectNewFilesCSV(path, 60, Convert.ToDateTime(dataTime), scapEndTime);
@@ -104,7 +104,7 @@
                                    threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                                    Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure),
                                        $"{_dataCaptureConfig.WorkingProcedure}工序读取工控机中二维码信息,文件名:{file.FullName}");
                                    DataTable dt = null;
                                    DataTable dt = null;
                                    dt = CSVHelper.ReadCSV(file.FullName);
                                    if (dt == null)
                                    {
@@ -166,9 +166,9 @@
                                            }
                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure),
                                                $"{_dataCaptureConfig.WorkingProcedure}工序读取工控机中二维码信息,工件最新时间:{(cache==null?"无缓存":cache.ToString())}");
                                                $"{_dataCaptureConfig.WorkingProcedure}工序读取工控机中二维码信息,工件最新时间:{(cache == null ? "无缓存" : cache.ToString())}");
                                            for (int i = dt.Rows.Count - 1; i >= 0; i--)
                                            {
                                            {//降序,即优先读取最后一条数据
                                                string timeValue = " ";
                                                try
                                                {
@@ -183,14 +183,14 @@
                                                    {
                                                        if (j == 0)
                                                        {
                                                            if(currrentTime>DateTimeHelper.GetDateTime().AddHours(-10))
                                                            if (currrentTime > DateTimeHelper.GetDateTime().AddHours(-10))
                                                            {
                                                                lasttime = currrentTime;
                                                            }
                                                        }
                                                        var oldTime = DateTime.Now.AddMinutes(-10);
                                                        if (currrentTime <= oldTime)
                                                        {
                                                        {//如果excel里的时间要比 当前前10分钟时间要早,那么我就忽略不处理。
                                                            break;
                                                        }
                                                        filteredRows[j] = dt.Rows[i];
@@ -199,7 +199,7 @@
                                                    {
                                                        var cacheTime = Convert.ToDateTime(cache);
                                                        if (currrentTime <= cacheTime)
                                                        {
                                                        {//如果excel里的时间要比 我缓存中的时间要早,那么我就忽略不处理。
                                                            break;
                                                        }
                                                        filteredRows[j] = dt.Rows[i];
@@ -221,7 +221,7 @@
                                                }
                                            }
                                            filteredRows = filteredRows.Where(item=>item!=null).ToArray();
                                            filteredRows = filteredRows.Where(item => item != null).ToArray();
                                            // 设置缓存值
                                            DateTime absoluteExpiration = DateTime.Now.AddDays(30);
                                            TimeSpan slidingExpiration = TimeSpan.FromMinutes(20);
@@ -244,7 +244,7 @@
                                                dataTime = file.LastAccessTime.ToString();
                                                writer.Write(dataTime);
                                            }
                                            Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"读取到{filteredRows.Count()}行数据,时间范围是{filteredRows[j-1]["时间"]}-{filteredRows[0]["时间"]}");
                                            Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"读取到{filteredRows.Count()}行数据,时间范围是{filteredRows[j - 1]["时间"]}-{filteredRows[0]["时间"]}");
                                        }
                                        //// 工件号(二维码值)
@@ -266,16 +266,19 @@
                                        //wplog.EquipmentID = WorkingProcedure;
                                        wplog.Remarks = "cs";
                                        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.UpdatedUserName = Environment.MachineName + "自动" + Thread.CurrentThread.ManagedThreadId.ToString();
                                        wplog.IsDeleted = false;
                                        wplog.EquipmentID = _dataCaptureConfig.EquipmentID;
                                        wplog.OnlineTime = DateTimeHelper.GetDateTime();//给上线时间用
                                        wplog.QualityState = 1;
                                        //wplog.QualityState = 1;
                                        wplog.QualityState = (int)QualityStateEnum.OK;//默认合格,OP05默认合格
                                        wplog.ProcessingDuration = 1;
                                        wplog.MachineToolState = 1;
                                        wplog.AlertType = 1;
@@ -314,7 +317,7 @@
                                //Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"扫描完成,共扫描到:({fileCount.Count()})个文件");
                            }
                            //SystemValue.value_OP0501 = value.ToString();
                        }
                        }
                    }
                    catch (Exception ex)
                    {
@@ -343,7 +346,7 @@
                SystemValue.lbl_Alert_OP0501 = $"{_dataCaptureConfig.WorkingProcedure}工序打标完成标记,读取工控机中打印二维码信息,不做校验,请确认配置信息!";
                Log4NetHelper.WriteInfoLog(LogType.PLCOP05, $"{_dataCaptureConfig.WorkingProcedure}工序打标完成标记,读取工控机中打印二维码信息,不做校验,请确认配置异常");
            }
        }
    }