844184169@qq.com vor 5 Monaten
Ursprung
Commit
62c9143e1a

+ 51 - 22
TeamAAS-VM/Core/Management.cs

@@ -75,8 +75,16 @@ namespace TeamAAS_VP.Core
         /// 超时自动停止秒数
         /// </summary>
         private int _pressureMaxDurationSeconds = 30; //超时自动停止秒数
+        DateTime StartCtqTime =  DateTime.Now;//开始采集Ctq数据的时间
 
-        DateTime StartCtqTime = DateTime.Now;//开始采集Ctq数据的时间
+        /// <summary>
+        /// 上次执行上传csv的日期
+        /// </summary>
+        private DateTime _lastCompressDate = DateTime.MinValue;
+        /// <summary>
+        /// 当天是否上传过csv
+        /// </summary>
+        private bool _hasCompressedToday = false;
         #endregion
 
         #region 属性
@@ -2396,11 +2404,11 @@ namespace TeamAAS_VP.Core
                                                     ppid[i] = ppidItem.Replace("ppid=", "").Trim();
                                                     SendTaskMessage($"ppid:{ppid[i]}", MessageLevel.Info);
                                                 }
-                                                string revisionItem = item.FirstOrDefault(f => f.Contains("revision="));
+                                                string revisionItem = item.FirstOrDefault(f => f.Contains("stage="));
                                                 if (revisionItem != null)
                                                 {
-                                                    revision[i] = revisionItem.Replace("revision=", "").Trim();
-                                                    SendTaskMessage($"revision:{revision[i]}", MessageLevel.Info);
+                                                    revision[i] = revisionItem.Replace("stage=", "").Trim();
+                                                    SendTaskMessage($"stage:{revision[i]}", MessageLevel.Info);
                                                 }
 
                                                 //切换产品
@@ -2501,10 +2509,10 @@ namespace TeamAAS_VP.Core
                                                 ppid[i] = ppidItem.Replace("ppid=", "").Trim();
                                                 SendTaskMessage($"ppid:{ppid[i]}", MessageLevel.Info);
                                             }
-                                            string revisionItem = item.FirstOrDefault(f => f.Contains("revision="));
+                                            string revisionItem = item.FirstOrDefault(f => f.Contains("stage="));
                                             if (revisionItem != null)
                                             {
-                                                revision[i] = revisionItem.Replace("revision=", "").Trim();
+                                                revision[i] = revisionItem.Replace("stage=", "").Trim();
                                                 SendTaskMessage($"revision:{revision[i]}", MessageLevel.Info);
                                             }
 
@@ -2651,7 +2659,7 @@ namespace TeamAAS_VP.Core
                                     #region CSV数据
                                     DFC.Clear();
                                     bool assyPress = resultIndex == 1 ? true : false;
-                                    string midValue = "", saveppid = "";
+                                    string midValue = "NA", saveppid = "NA";
                                     midValue = ((currentProduct.GlobalParamEx.CC1DownLimit + currentProduct.GlobalParamEx.CC1UpLimit) / 2).ToString("F3");
                                     if (stationConfig.SaveCsvPPID) saveppid = ppid[i];
                                     DFC.Add(new DataFormCtq
@@ -2666,7 +2674,7 @@ namespace TeamAAS_VP.Core
                                         PROCESS_END_TIME = serverTimeResult.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
                                         SUPPLIER_NAME = stationConfig.DataInfo.SUPPLIER_NAME,
                                         COMMODITY_TYPE = stationConfig.DataInfo.COMMODITY_TYPE,
-                                        REVISION = stationConfig.DataInfo.REVISION,
+                                        REVISION = stationConfig.DataInfo.REVISION+"_"+ revision[i],
                                         WO = wo[i],
                                         MFG_LOT = stationConfig.DataInfo.MFG_LOT,
                                         MFG_ASSY_LINE = stationConfig.DataInfo.MFG_ASSY_LINE,
@@ -2674,11 +2682,11 @@ namespace TeamAAS_VP.Core
                                         PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
                                         CTQ_UNIT_OF_MEASURE = "mm",
                                         ERROR_MESSAGE = assyPress ? "" : "CC OOS",
-                                        PD_ATTR_01 = midValue,
-                                        PD_ATTR_02 = ProductMainSN[i],
+                                        PD_ATTR_01 = ProductMainSN[i],
+                                        PD_ATTR_02 = midValue,
                                         PD_ATTR_03 = PartSN,
-                                        PD_ATTR_04 = "",
-                                        PD_ATTR_05 = "",
+                                        PD_ATTR_04 = "NA",
+                                        PD_ATTR_05 = "NA",
                                     });
                                     midValue = ((currentProduct.GlobalParamEx.CC2DownLimit + currentProduct.GlobalParamEx.CC2UpLimit) / 2).ToString("F3");
                                     DFC.Add(new DataFormCtq
@@ -2693,7 +2701,7 @@ namespace TeamAAS_VP.Core
                                         PROCESS_END_TIME = serverTimeResult.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
                                         SUPPLIER_NAME = stationConfig.DataInfo.SUPPLIER_NAME,
                                         COMMODITY_TYPE = stationConfig.DataInfo.COMMODITY_TYPE,
-                                        REVISION = stationConfig.DataInfo.REVISION,
+                                        REVISION = stationConfig.DataInfo.REVISION + "_" + revision[i],
                                         WO = wo[i],
                                         MFG_LOT = stationConfig.DataInfo.MFG_LOT,
                                         MFG_ASSY_LINE = stationConfig.DataInfo.MFG_ASSY_LINE,
@@ -2701,11 +2709,11 @@ namespace TeamAAS_VP.Core
                                         PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
                                         CTQ_UNIT_OF_MEASURE = "mm",
                                         ERROR_MESSAGE = assyPress ? "" : "CC OOS",
-                                        PD_ATTR_01 = midValue,
-                                        PD_ATTR_02 = ProductMainSN[i],
+                                        PD_ATTR_01 = ProductMainSN[i],
+                                        PD_ATTR_02 = midValue,
                                         PD_ATTR_03 = PartSN,
-                                        PD_ATTR_04 = "",
-                                        PD_ATTR_05 = "",
+                                        PD_ATTR_04 = "NA",
+                                        PD_ATTR_05 = "NA",
                                     });
                                     midValue = ((currentProduct.GlobalParamEx.DownPressure.PressureDownLimit + currentProduct.GlobalParamEx.DownPressure.PressureUpLimit) / 2).ToString("F3");
                                     DFC.Add(new DataFormCtq
@@ -2720,7 +2728,7 @@ namespace TeamAAS_VP.Core
                                         PROCESS_END_TIME = serverTimeResult.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
                                         SUPPLIER_NAME = stationConfig.DataInfo.SUPPLIER_NAME,
                                         COMMODITY_TYPE = stationConfig.DataInfo.COMMODITY_TYPE,
-                                        REVISION = stationConfig.DataInfo.REVISION,
+                                        REVISION = stationConfig.DataInfo.REVISION + "_" + revision[i],
                                         WO = wo[i],
                                         MFG_LOT = stationConfig.DataInfo.MFG_LOT,
                                         MFG_ASSY_LINE = stationConfig.DataInfo.MFG_ASSY_LINE,
@@ -2728,11 +2736,11 @@ namespace TeamAAS_VP.Core
                                         PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
                                         CTQ_UNIT_OF_MEASURE = "kg",
                                         ERROR_MESSAGE = assyPress ? "" : "Assy_Pressure OOS",
-                                        PD_ATTR_01 = midValue,
-                                        PD_ATTR_02 = ProductMainSN[i],
+                                        PD_ATTR_01 = ProductMainSN[i],
+                                        PD_ATTR_02 = midValue,
                                         PD_ATTR_03 = PartSN,
-                                        PD_ATTR_04 = "",
-                                        PD_ATTR_05 = "",
+                                        PD_ATTR_04 = "NA",
+                                        PD_ATTR_05 = "NA",
                                     });
                                     #endregion
                                     //cc-复检cc,assypress-组装站压力
@@ -2769,6 +2777,7 @@ namespace TeamAAS_VP.Core
                                                     {
                                                         DateTime dt = DateTime.Now;
                                                         string filename = $"{ProductMainSN[i]}_{dt.ToString("yyyyMMddHHmmss")}";
+                                                        string csvfilename = $"{i}_{stationConfig.DeviceName}_{dt.ToString("yyyy-MM-dd")}";
                                                         var device = _configService.GetDeviceInfo();
                                                         (bool isSuc, string resp) = await _mesService.SendFtpFileAsync(ProductMainSN[i], filename);
                                                         if (isSuc)
@@ -2785,6 +2794,26 @@ namespace TeamAAS_VP.Core
                                                             string target_log = Path.Combine(filePath, Path.GetFileName(source_log));
                                                             File.Copy(source_log, target_log, true);
                                                             CompressionImage(filePath, filename, device.Station, device.FixtureId);
+
+                                                            //上传csv
+                                                            bool isAfter20 = dt.Hour >= 20;
+                                                            //判断是否是新的一天
+                                                            bool isNewDay = dt.Date != _lastCompressDate.Date;
+                                                            //当天还没执行过压缩
+                                                            if (isAfter20 && isNewDay && !_hasCompressedToday)
+                                                            {
+                                                                // 执行压缩
+                                                                CompressionImage(source_csv, csvfilename, device.Station, device.FixtureId);
+                                                                _lastCompressDate = dt;
+                                                                _hasCompressedToday = true;
+                                                                LogHelper.WriteLogMes("csv上传数据成功");
+                                                                SendTaskMessage($"csv上传数据成功", MessageLevel.Debug);
+                                                            }
+                                                            // 跨天后重置当天执行标记
+                                                            if (!isNewDay && _hasCompressedToday)
+                                                            {
+                                                                _hasCompressedToday = false;
+                                                            }
                                                         }
                                                         else
                                                         {

+ 2 - 2
TeamAAS-VM/Services/MesService.cs

@@ -102,11 +102,11 @@ namespace TeamAAS_VP.Services
             string url = "";
             if (device.F == "PTL")
             {
-                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&comp={device.comp}:{comp}&p=message,sn,wo,model_num,color,ppid,revision";
+                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&comp={device.comp}:{comp}&p=message,sn,wo,model_num,color,ppid,stage";
             }
             else
             {
-                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&p=message,sn,wo,model_num,color,ppid,revision";
+                url = $"{device.MesUrl}?c=QUERY_RECORD&line={device.Line}&station={device.Station}&fixtureid={device.FixtureId}&sn={sn}&p=message,sn,wo,model_num,color,ppid,stage";
             }
 
             LogHelper.WriteLogMes($"¡¾Ñ¯ÎÊURL¡¿{url}");

+ 4 - 2
TeamAAS-VM/Services/RemoteCommandService.cs

@@ -1855,6 +1855,7 @@ namespace TeamAAS_VP.Services
             await SetLightBeforePhoto(procedure);
             try
             {
+                string dis = "";
                 //拍照失败时,需要多次拍照
                 for (int i = 0; i < procedure.FeederFailLimit; i++)
                 {
@@ -1879,17 +1880,18 @@ namespace TeamAAS_VP.Services
                     if (!Found)
                     {
                         SendTaskMessage(Lang.拍照NG, MessageLevel.Debug);
+                        dis = (string)(outputCollection["CC"].Value);
                         continue;
                     }
 
                     SendTaskMessage(Lang.拍照OK, MessageLevel.Debug);
 
                     LogHelper.WriteLogInfo("开始获取视觉输出结果");
-                    string dis = (string)(outputCollection["CC"].Value);
+                     dis = (string)(outputCollection["CC"].Value);
                     return (true, dis);
                 }
                 SendTaskMessage(Lang.多次拍照失败, MessageLevel.Alarm);
-                return (false, "");
+                return (false, "dis");
             }
             catch (Exception ex)
             {