Sic.Framework/MECF.Framework.UI.Client/TrayThickness/TrayDataViewSqlHelp.cs

175 lines
7.4 KiB
C#
Raw Normal View History

using MECF.Framework.Common.DataCenter;
using MECF.Framework.UI.Core.TrayCoating;
using System;
using System.Collections.Generic;
using System.Data;
namespace MECF.Framework.UI.Client.TrayThickness
{
/// <summary>
/// TrayDataViewSqlHelp
/// 1查询整个Tray对象数据
/// 2插入或者更新整个Tray对象数据
/// </summary>
public class TrayDataViewSqlHelp
{
/// <summary>
/// 获取Truy对象整体的数据
/// </summary>
2023-05-22 09:54:40 +08:00
/// <param name="_trayGuid"></param>
/// <returns></returns>
2023-05-22 09:54:40 +08:00
public TrayCoatingThickness GetTrayCoatingThickness(string _trayGuid)
{
TrayCoatingThickness trayCoatingThickness = new TrayCoatingThickness();
try
{
//根据TrayID获取对应内外编号
2023-05-22 09:54:40 +08:00
string cmdID = $"select * from tray_thickness_data where wafer_guid = '{_trayGuid}'";
DataTable DataTable = QueryDataClient.Instance.Service.QueryData(cmdID);
if (DataTable != null && DataTable.Rows.Count > 0)
{
2023-05-22 09:54:40 +08:00
//一次查询整个数据对象
List<CoatingData> listCoatingData = new List<CoatingData>();
string cmd = "select * from tray_thickness_main where " +
$"tray_number='{DataTable.Rows[0]["tray_number"].ToString()}' " +
$"or tray_number = '{DataTable.Rows[0]["tray_inner_number"].ToString()}' " +
$"OR tray_number = '{DataTable.Rows[0]["ring_inner_number"].ToString()}' " +
$"or tray_number = '{DataTable.Rows[0]["ring_outer_number"].ToString()}'";
var dt = QueryDataClient.Instance.Service.QueryData(cmd);
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()
};
listCoatingData.Add(coatingData);
}
else
listCoatingData.Add(new CoatingData());
}
2023-05-22 09:54:40 +08:00
trayCoatingThickness.Tray = listCoatingData[0];
trayCoatingThickness.TrayInner = listCoatingData[1];
trayCoatingThickness.RingInner = listCoatingData[2];
trayCoatingThickness.RingOuter = listCoatingData[3];
2023-05-22 09:54:40 +08:00
//一次查询单个对象,临时屏蔽,后续删除
//trayCoatingThickness.Tray = GetCoatingData(tray_number, out _);
//trayCoatingThickness.TrayInner = GetCoatingData(tray_inner_number, out _);
//trayCoatingThickness.RingInner = GetCoatingData(ring_inner_number, out _);
//trayCoatingThickness.RingOuter = GetCoatingData(ring_outer_number, out _);
}
return trayCoatingThickness;
}
catch (Exception)
{
return trayCoatingThickness;
}
}
/// <summary>
/// 获取单个环的数据
/// </summary>
2023-05-22 09:54:40 +08:00
/// <param name="_trayGuid"></param>
/// <param name="isGetOK"></param>
/// <returns></returns>
2023-05-22 09:54:40 +08:00
public CoatingData GetCoatingData(string _trayGuid, out bool isGetOK)
{
2023-05-22 09:54:40 +08:00
string cmd = $"select * from tray_thickness_main where tray_number = '{_trayGuid}'";
DataTable DataTable = QueryDataClient.Instance.Service.QueryData(cmd);
if (DataTable != null && DataTable.Rows.Count > 0)
{
CoatingData coatingData = new CoatingData()
{
Number = DataTable.Rows[0]["tray_number"].ToString(),
MAX = DataTable.Rows[0]["tray_max_thickness"].ToString(),
PM_Model = DataTable.Rows[0]["pm_number"].ToString(),
Current = DataTable.Rows[0]["tray_coating_thickness"].ToString()
};
isGetOK = true;
return coatingData;
}
isGetOK = false;
return new CoatingData();
}
/// <summary>
/// 保存用户输入的数据到数据库
/// </summary>
/// <param name="trayCoatingThickness"></param>
/// <param name="trayID"></param>
2023-05-22 09:54:40 +08:00
public bool UpTrayNumberData(TrayCoatingThickness trayCoatingThickness, string trayID, List<CoatingData> coatingData)
{
List<string> cmdList = new List<string>();
2023-05-22 09:54:40 +08:00
cmdList.Add(Cmd_data_insert(trayCoatingThickness, trayID));
2023-05-22 09:54:40 +08:00
string str = cmd_main_insert;
for (int i = 0; i < coatingData.Count; i++)
{
2023-05-22 09:54:40 +08:00
if (i == (coatingData.Count-1))
str += Cmd_main_insert(coatingData[i], trayID);
else
2023-05-22 09:54:40 +08:00
str += Cmd_main_insert(coatingData[i], trayID)+",";
}
2023-05-22 09:54:40 +08:00
foreach (var item in coatingData)
{
cmdList.Add(Cmd_main_insert(item, trayID));
}
2023-05-22 09:54:40 +08:00
bool result= QueryDataClient.Instance.Service.ExcuteTransAction(cmdList);
return result;
}
/// <summary>
/// Tray中对象编号插入Sql语句拼接
/// </summary>
/// <param name="trayCoatingThickness"></param>
/// <param name="trayID"></param>
/// <returns></returns>
private string Cmd_data_insert(TrayCoatingThickness trayCoatingThickness, string trayID)
{
string cmd_data_insert =
"insert into tray_thickness_data" +
"(wafer_guid,tray_number, tray_inner_number, ring_inner_number, ring_outer_number)" +
$"values ('{trayID}'," +
$"'{trayCoatingThickness.Tray.Number}'," +
$"'{trayCoatingThickness.TrayInner.Number}'," +
$"'{trayCoatingThickness.RingInner.Number}'," +
$"'{trayCoatingThickness.RingOuter.Number}')";
return cmd_data_insert;
}
2023-05-22 09:54:40 +08:00
string cmd_main_insert = "insert into tray_thickness_main" +
"(tray_number,pm_number, tray_coating_thickness, tray_max_thickness,creat_time,alter_time)" +
$"values";
/// <summary>
/// 每个环对应的数据插入Sql语句拼接
/// </summary>
/// <param name="coatingData"></param>
/// <returns></returns>
2023-05-22 09:54:40 +08:00
private string Cmd_main_insert(CoatingData coatingData,string trayID)
{
2023-05-22 09:54:40 +08:00
return $"'{trayID}'," +
$"'{coatingData.Number}'," +
$"'{coatingData.PM_Model}'," +
$"'{coatingData.Current}'," +
$"'{coatingData.MAX}'," +
2023-05-22 09:54:40 +08:00
$"'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'," +
$"'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}')";
}
2023-05-22 09:54:40 +08:00
}
}