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

175 lines
7.4 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
{
/// <summary>
/// 获取Truy对象整体的数据
/// </summary>
/// <param name="_trayGuid"></param>
/// <returns></returns>
public TrayCoatingThickness GetTrayCoatingThickness(string _trayGuid)
{
TrayCoatingThickness trayCoatingThickness = new TrayCoatingThickness();
try
{
//根据TrayID获取对应内外编号
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)
{
//一次查询整个数据对象
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());
}
trayCoatingThickness.Tray = listCoatingData[0];
trayCoatingThickness.TrayInner = listCoatingData[1];
trayCoatingThickness.RingInner = listCoatingData[2];
trayCoatingThickness.RingOuter = listCoatingData[3];
//一次查询单个对象,临时屏蔽,后续删除
//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="_trayGuid"></param>
/// <param name="isGetOK"></param>
/// <returns></returns>
public CoatingData GetCoatingData(string _trayGuid, out bool isGetOK)
{
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>
public bool UpTrayNumberData(TrayCoatingThickness trayCoatingThickness, string trayID, List<CoatingData> coatingData)
{
List<string> cmdList = new List<string>();
cmdList.Add(Cmd_data_insert(trayCoatingThickness, trayID));
string str = cmd_main_insert;
for (int i = 0; i < coatingData.Count; i++)
{
if (i == (coatingData.Count-1))
str += Cmd_main_insert(coatingData[i], trayID);
else
str += Cmd_main_insert(coatingData[i], trayID)+",";
}
foreach (var item in coatingData)
{
cmdList.Add(Cmd_main_insert(item, trayID));
}
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;
}
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>
private string Cmd_main_insert(CoatingData coatingData,string trayID)
{
return $"'{trayID}'," +
$"'{coatingData.Number}'," +
$"'{coatingData.PM_Model}'," +
$"'{coatingData.Current}'," +
$"'{coatingData.MAX}'," +
$"'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'," +
$"'{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}')";
}
}
}