Sic.Framework/MECF.Framework.UI.Client/TrayThickness/HistoryData/HistoryCoatingSqlHelp.cs

175 lines
7.3 KiB
C#
Raw Normal View History

2023-05-22 18:32:18 +08:00
using Aitex.Core.RT.DBCore;
using Aitex.Core.RT.Log;
using DocumentFormat.OpenXml.Office.Word;
2023-05-22 18:32:18 +08:00
using MECF.Framework.Common.DataCenter;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace MECF.Framework.UI.Client.TrayThickness.HistoryData
{
public class HistoryCoatingSqlHelp
{
public List<CoatingData> QueryUpdate()//从数据库整体更新所有数据,在初始化和数据操作后更新
{
List<CoatingData> coatingDataList = new List<CoatingData>();
string cmd = $"select * from tray_thickness_main order by creat_time desc";
2023-05-22 18:32:18 +08:00
try
{
var dt = QueryDataClient.Instance.Service.QueryData(cmd);//只能界面用
2023-05-22 18:32:18 +08:00
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i].ItemArray.Length != 0)
{
string str = dt.Rows[i]["tray_number"].ToString();
CoatingData coatingData = new CoatingData()
{
Number = dt.Rows[i]["tray_number"].ToString(),
MAX = dt.Rows[i]["tray_max_thickness"].ToString(),
PM_Model = dt.Rows[i]["pm_number"].ToString(),
Current = dt.Rows[i]["tray_coating_thickness"].ToString(),
CreatTime = dt.Rows[i]["creat_time"].ToString(),
Label = dt.Rows[i]["tray_label"].ToString(),
Index = $"Tray { i / 4 + 1 }"
2023-05-22 18:32:18 +08:00
};
coatingDataList.Add(coatingData);
}
else
coatingDataList.Add(new CoatingData());
}
}
catch (Exception)
{
return null;
}
return coatingDataList;
}
public bool GrowTray(string wafer_guid, double GrowthRate, double Seconds)//Tray更新增长厚度
{
//
try
{
string tray_numbers = "";
string sSql = "select * from tray_thickness_data where wafer_guid like '" + wafer_guid.Trim() + "'";
DataSet ds = DB.ExecuteDataset(sSql);
if (ds == null)
2023-05-22 18:32:18 +08:00
{
return false;
}
if (ds.Tables[0].Rows.Count == 0)
2023-05-22 18:32:18 +08:00
{
return false;
}
tray_numbers = "'" + ds.Tables[0].Rows[0]["tray_number"].ToString() + "','" + ds.Tables[0].Rows[0]["tray_inner_number"].ToString() + "','" + ds.Tables[0].Rows[0]["ring_inner_number"].ToString() + "','" + ds.Tables[0].Rows[0]["ring_outer_number"].ToString() + "'";
2023-05-22 18:32:18 +08:00
//
double GrowthValue = GrowthRate * Seconds / 3600; //μm
string sGrowthValue = string.Format("{0:N2}", GrowthValue);
string sDate = DateTime.Now.ToLongDateString();
string sTime = DateTime.Now.ToLongTimeString();
string[] gCmd = {string.Format("update tray_thickness_main set tray_coating_thickness = tray_coating_thickness + {0} where tray_number in ({1}) ",sGrowthValue,tray_numbers)
};
return DB.ExcuteTransAction(gCmd.ToList<string>());
}
catch (Exception ex)
{
LOG.Write(ex, 2, "WaferDataRecorderEx.cs", "UpdatePMInfoByPMNumberTrans");
return false;
}
}
public bool GrowPM(string pmName, double GrowthRate, double Seconds)//PM更新增长厚度
{
try
{
string tray_numbers = "";
string sSql = "select * from tray_thickness_data where wafer_guid like 'PM' ";
DataSet ds = DB.ExecuteDataset(sSql);
if (ds == null)
2023-05-22 18:32:18 +08:00
{
return false;
}
if (ds.Tables[0].Rows.Count == 0)
2023-05-22 18:32:18 +08:00
{
return false;
}
if (pmName == "PM1")
{
tray_numbers = $"'{ds.Tables[0].Rows[0]["tray_number"].ToString()}','{ds.Tables[0].Rows[0]["tray_inner_number"].ToString()}'";
2023-05-22 18:32:18 +08:00
}
else
{
tray_numbers = $"'{ds.Tables[0].Rows[0]["ring_inner_number"].ToString()}','{ds.Tables[0].Rows[0]["ring_outer_number"].ToString()}'";
2023-05-22 18:32:18 +08:00
}
//
double GrowthValue = GrowthRate * Seconds / 3600; //μm
string sGrowthValue = string.Format("{0:N2}", GrowthValue);
string sDate = DateTime.Now.ToLongDateString();
string sTime = DateTime.Now.ToLongTimeString();
string[] gCmd = {
string.Format("update tray_thickness_main set tray_coating_thickness = tray_coating_thickness + {0} where tray_number in ({1}) ",sGrowthValue,tray_numbers)
};
return DB.ExcuteTransAction(gCmd.ToList<string>());
}
catch (Exception ex)
{
LOG.Write(ex, 2, "WaferDataRecorderEx.cs", "UpdatePMInfoByPMNumberTrans");
return false;
}
}
public List<string> Get_Coating_MAX(string wafer_guid)
{
List<string> inforList = new List<string>();//返回查询到的数据集合
string _id = wafer_guid.Contains("PM") ? "PM" : wafer_guid;
string sSql = $"select * from tray_thickness_data where wafer_guid like '{_id}'";
DataSet ds = DB.ExecuteDataset(sSql);
if (ds == null)
2023-05-22 18:32:18 +08:00
{
return null;
2023-05-22 18:32:18 +08:00
}
if (ds.Tables[0].Rows.Count == 0)
2023-05-22 18:32:18 +08:00
{
return null;
}
string cmd = "select tray_coating_thickness , tray_max_thickness from tray_thickness_main where ";
if (wafer_guid == "PM1")
{
cmd += $"tray_number='{ds.Tables[0].Rows[0]["tray_number"].ToString()}' " +
$"or tray_number = '{ds.Tables[0].Rows[0]["tray_inner_number"].ToString()}'";
}
else if (wafer_guid == "PM2")
{
cmd += $"tray_number = '{ds.Tables[0].Rows[0]["ring_inner_number"].ToString()}' " +
$"or tray_number = '{ds.Tables[0].Rows[0]["ring_outer_number"].ToString()}'";
}
else
{
cmd += $"tray_number='{ds.Tables[0].Rows[0]["tray_number"].ToString()}' " +
$"or tray_number = '{ds.Tables[0].Rows[0]["tray_inner_number"].ToString()}' " +
$"OR tray_number = '{ds.Tables[0].Rows[0]["ring_inner_number"].ToString()}' " +
$"or tray_number = '{ds.Tables[0].Rows[0]["ring_outer_number"].ToString()}'";
}
ds = DB.ExecuteDataset(cmd);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string str = ds.Tables[0].Rows[i]["tray_coating_thickness"].ToString();
string tray_max_thickness = ds.Tables[0].Rows[i]["tray_max_thickness"].ToString();
inforList.Add(str);
inforList.Add(tray_max_thickness);
}
return inforList;
2023-05-22 18:32:18 +08:00
}
}
}