Sic.Framework-Nanjing-Baishi/MECF.Framework.UI.Client/TrayThickness/TrayDataViewSqlHelp.cs

184 lines
7.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
private string tray_number, tray_inner_number, ring_inner_number, ring_outer_number;
/// <summary>
/// 获取Truy对象整体的数据
/// </summary>
/// <param name="_trayID"></param>
/// <returns></returns>
public TrayCoatingThickness GetTrayCoatingThickness(string _trayID)
{
TrayCoatingThickness trayCoatingThickness = new TrayCoatingThickness();
try
{
//根据TrayID获取对应内外编号
string cmdID = $"select * from tray_thickness_data where wafer_guid = '{_trayID}'";
DataTable DataTable = QueryDataClient.Instance.Service.QueryData(cmdID);
if (DataTable != null && DataTable.Rows.Count > 0)
{
tray_number = DataTable.Rows[0]["tray_number"].ToString();
tray_inner_number = DataTable.Rows[0]["tray_inner_number"].ToString();
ring_inner_number = DataTable.Rows[0]["ring_inner_number"].ToString();
ring_outer_number = DataTable.Rows[0]["ring_outer_number"].ToString();
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>
/// <param name="_trayID"></param>
/// <param name="isGetOK"></param>
/// <returns></returns>
public CoatingData GetCoatingData(string _trayID, out bool isGetOK)
{
string cmd = $"select * from tray_thickness_main where tray_number = '{_trayID}'";
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>
public void UpTrayNumberData(TrayCoatingThickness trayCoatingThickness, string trayID, List<CoatingData> coatingData)
{
List<string> cmdList = new List<string>();
string cmdID = $"select * from tray_thickness_data where wafer_guid = '{trayID}'";
DataTable DataTable = QueryDataClient.Instance.Service.QueryData(cmdID);
if (DataTable != null && DataTable.Rows.Count > 0)
cmdList.Add(Cmd_update(trayCoatingThickness, trayID));
else
cmdList.Add(Cmd_data_insert(trayCoatingThickness, trayID));
foreach (var item in coatingData)
{
cmdID = $"select * from tray_thickness_main where tray_number = '{item.Number}'";
DataTable = QueryDataClient.Instance.Service.QueryData(cmdID);
if (DataTable != null && DataTable.Rows.Count > 0)
cmdList.Add(Cmd_main_update(item));
else
cmdList.Add(Cmd_main_insert(item));
}
QueryDataClient.Instance.Service.ExcuteTransAction(cmdList);
}
/// <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;
}
/// <summary>
/// Tray中对象编号更新Sql语句拼接
/// </summary>
/// <param name="trayCoatingThickness"></param>
/// <param name="trayID"></param>
/// <returns></returns>
private string Cmd_update(TrayCoatingThickness trayCoatingThickness, string trayID)
{
string cmd_update =
$"update tray_thickness_data set " +
$"tray_number = '{trayCoatingThickness.Tray.Number}', " +
$"tray_inner_number= '{trayCoatingThickness.TrayInner.Number}'," +
$"ring_inner_number= '{trayCoatingThickness.RingInner.Number}'," +
$"ring_outer_number= '{trayCoatingThickness.RingOuter.Number}'" +
$"where wafer_guid = '{trayID}'";
return cmd_update;
}
/// <summary>
/// 每个环对应的数据插入Sql语句拼接
/// </summary>
/// <param name="coatingData"></param>
/// <returns></returns>
private string Cmd_main_insert(CoatingData coatingData)
{
string cmd_main_insert = "insert into tray_thickness_main" +
"(tray_number,pm_number, tray_coating_thickness, tray_max_thickness,last_date,last_time)" +
$"values ('{coatingData.Number}'," +
$"'{coatingData.PM_Model}'," +
$"'{coatingData.Current}'," +
$"'{coatingData.MAX}'," +
$"'{DateTime.Now.ToString("yyyy-MM-dd")}'," +
$"'{DateTime.Now.ToString("HH:mm:ss")}')";
return cmd_main_insert;
}
/// <summary>
/// 每个环对应的数据更新Sql语句拼接
/// </summary>
/// <param name="coatingData"></param>
/// <returns></returns>
private string Cmd_main_update(CoatingData coatingData)
{
string cmd_main_update =
$"update tray_thickness_main set " +
$"pm_number= '{coatingData.PM_Model}'," +
$"tray_coating_thickness= '{coatingData.Current}'," +
$"tray_max_thickness= '{coatingData.MAX}'," +
$"last_date= '{DateTime.Now.ToString("yyyy-MM-dd")}'," +
$"last_time= '{DateTime.Now.ToString("HH:mm:ss")}' " +
$"where tray_number = '{coatingData.Number}'";
return cmd_main_update;
}
}
}