2023-05-26 16:18:28 +08:00
|
|
|
|
using Aitex.Core.RT.DBCore;
|
|
|
|
|
using MECF.Framework.Common.DataCenter;
|
|
|
|
|
using Sicentury.Core.EventArgs;
|
|
|
|
|
using Sicentury.Core.Tree;
|
|
|
|
|
using Sicentury.Core;
|
|
|
|
|
using System;
|
2023-05-25 19:08:06 +08:00
|
|
|
|
using System.Collections.Generic;
|
2023-05-26 16:18:28 +08:00
|
|
|
|
using System.Data;
|
2023-05-25 19:08:06 +08:00
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
2023-05-26 16:18:28 +08:00
|
|
|
|
using System.Threading;
|
2023-05-25 19:08:06 +08:00
|
|
|
|
using System.Threading.Tasks;
|
2023-05-26 16:18:28 +08:00
|
|
|
|
using MECF.Framework.Common.Equipment;
|
2023-05-25 19:08:06 +08:00
|
|
|
|
|
|
|
|
|
namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.MfcCalculation
|
|
|
|
|
{
|
|
|
|
|
public class MfcSqlHelp
|
|
|
|
|
{
|
2023-05-26 16:18:28 +08:00
|
|
|
|
public static void Query(string module,string tabName, string name)
|
|
|
|
|
{
|
2023-05-31 10:29:25 +08:00
|
|
|
|
var daySlices =DateRangeHelper.SplitInToHours(new DateRangeHelper(DateTime.Now.Date, DateTime.Now.Date.AddDays(1).AddTicks(-1)), 12);
|
|
|
|
|
List<string> cmdList = new List<string>();
|
|
|
|
|
foreach (var range in daySlices)
|
|
|
|
|
{
|
|
|
|
|
string tableName = module;
|
|
|
|
|
var ts = range.Diff;
|
|
|
|
|
for (var day = 0; day <= ts.Days; day++)
|
|
|
|
|
{
|
|
|
|
|
var tblName = $"{range.Start.AddDays(day):yyyyMMdd}.{tableName}";
|
|
|
|
|
var sql = new StringBuilder();
|
|
|
|
|
// 检查表名是否存在,否则SQL执行出错。
|
|
|
|
|
bool b = CheckTableExists(tblName);
|
|
|
|
|
if (true)
|
|
|
|
|
{
|
|
|
|
|
sql.Append("select \"time\" AS InternalTimeStamp");
|
|
|
|
|
// 添加待查询的列
|
|
|
|
|
sql.Append("," + $"\"{module}.{tabName}.{name}.FeedBack\"");
|
|
|
|
|
sql.Append($" from \"{tblName}\" ");
|
|
|
|
|
|
|
|
|
|
if (day < ts.Days)
|
|
|
|
|
sql.Append(" UNION ");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string st = sql.ToString();
|
|
|
|
|
|
|
|
|
|
sql.Append(
|
|
|
|
|
$" where \"time\" between {range.Start.Ticks} and {range.End.Ticks} order by InternalTimeStamp asc");
|
|
|
|
|
|
|
|
|
|
cmdList.Add(sql.ToString());
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-05-25 19:08:06 +08:00
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
//string tableName = module;
|
|
|
|
|
//var ts = dateRange.Diff;
|
|
|
|
|
//for (var day = 0; day <= ts.Days; day++)
|
|
|
|
|
//{
|
|
|
|
|
// var tblName = $"{dateRange.Start.AddDays(day):yyyyMMdd}.{tableName}";
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
// // 检查表名是否存在,否则SQL执行出错。
|
|
|
|
|
// bool b = CheckTableExists(tblName);
|
|
|
|
|
// if (true)
|
|
|
|
|
// {
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
// sql.Append("select \"time\" AS InternalTimeStamp");
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
// // 添加待查询的列
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
// sql.Append("," + $"\"{module}.{tabName}.{name}.FeedBack\"");
|
|
|
|
|
// sql.Append($" from \"{tblName}\" ");
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
// if (day < ts.Days)
|
|
|
|
|
// sql.Append(" UNION ");
|
|
|
|
|
// }
|
|
|
|
|
//}
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
//string st=sql.ToString();
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
2023-05-31 10:29:25 +08:00
|
|
|
|
//sql.Append(
|
|
|
|
|
//$" where \"time\" between {dateRange.Start.Ticks} and {dateRange.End.Ticks} order by InternalTimeStamp asc");
|
2023-05-26 16:18:28 +08:00
|
|
|
|
|
|
|
|
|
//string cmdID = $"select * from tray_thickness_data where wafer_guid = '{name}'";
|
|
|
|
|
//DataSet dataSet = DB.ExecuteDataset(cmdID);
|
|
|
|
|
|
|
|
|
|
//var dt = SearchSingleDbTable("PM1", "PM1", new DateRangeHelper(DateTime.Now.AddMinutes(-60), DateTime.Now.AddMinutes(60)));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static bool CheckTableExists(string tableName)
|
|
|
|
|
{
|
|
|
|
|
var sql =
|
|
|
|
|
$"SELECT EXISTS ( SELECT FROM pg_tables WHERE schemaname = 'public' AND tablename = '{tableName}' );";
|
|
|
|
|
var table = DB.ExecuteDataset(sql);
|
|
|
|
|
if (table == null)
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
if (table.Tables[0].Rows.Count <= 0)
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
var value = table.Tables[0].Rows.ToString();
|
|
|
|
|
if (value.ToLower() == "true")
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2023-05-25 19:08:06 +08:00
|
|
|
|
}
|
|
|
|
|
}
|