|
|
@@ -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
|
|
|
{
|