2023-06-09 17:20:52 +08:00
|
|
|
|
using System;
|
2023-04-23 10:22:46 +08:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace MECF.Framework.UI.Client.TrayThickness
|
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
public class PMDataViewManager
|
2023-04-23 10:22:46 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
PMCoatingThickness PMData;
|
|
|
|
|
PMDataViewSqlHelp pmDataHelp = new PMDataViewSqlHelp();
|
|
|
|
|
private string PMGuid;
|
|
|
|
|
public PMDataViewManager(PMCoatingThickness pmData, string pmGuid)
|
2023-04-23 10:22:46 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
PMData = pmData;
|
|
|
|
|
PMGuid = pmGuid;
|
2023-04-23 10:22:46 +08:00
|
|
|
|
}
|
|
|
|
|
public void UpTrayCoatingThickness()
|
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
PMCoatingThickness _pmCoatingThickness = pmDataHelp.GetTrayCoatingThickness(PMGuid);
|
|
|
|
|
if (_pmCoatingThickness != null )
|
|
|
|
|
{
|
|
|
|
|
PMData.MinorCycle.Update(_pmCoatingThickness.MinorCycle);
|
|
|
|
|
PMData.MajorCycle.Update(_pmCoatingThickness.MajorCycle);
|
|
|
|
|
}
|
2023-04-23 10:22:46 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 界面数据设置到数据库
|
|
|
|
|
/// </summary>
|
2023-05-30 19:06:32 +08:00
|
|
|
|
public bool SET(out string reason)
|
2023-04-23 10:22:46 +08:00
|
|
|
|
{
|
2023-05-30 19:06:32 +08:00
|
|
|
|
reason = "";
|
|
|
|
|
|
|
|
|
|
// 校验托盘组件数据
|
2023-06-09 17:20:52 +08:00
|
|
|
|
if (!PMData.Validate(out reason))
|
2023-05-30 19:06:32 +08:00
|
|
|
|
return false;
|
|
|
|
|
|
2023-04-23 10:22:46 +08:00
|
|
|
|
List<CoatingData> coatingDataList = new List<CoatingData>()
|
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
PMData.MinorCycle,
|
|
|
|
|
PMData.MajorCycle,
|
2023-04-23 10:22:46 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//检查单个环对象是否存在空数据
|
|
|
|
|
foreach (var item in coatingDataList)
|
|
|
|
|
{
|
|
|
|
|
if (item.GetType().GetProperties()
|
|
|
|
|
.Where(pi => pi.PropertyType == typeof(string))
|
|
|
|
|
.Select(pi => (string)pi.GetValue(item))
|
2023-05-30 19:06:32 +08:00
|
|
|
|
.Any(string.IsNullOrEmpty))
|
2023-04-23 10:22:46 +08:00
|
|
|
|
{
|
2023-05-30 19:06:32 +08:00
|
|
|
|
reason = $"Please check empty value";
|
2023-04-23 10:22:46 +08:00
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-06-09 17:20:52 +08:00
|
|
|
|
var ret = pmDataHelp.UpTrayNumberData(PMData, PMGuid, coatingDataList);
|
2023-05-30 19:06:32 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
reason = "Failed to write tray Info. to database.";
|
|
|
|
|
return ret;
|
2023-04-23 10:22:46 +08:00
|
|
|
|
}
|
2023-05-30 19:06:32 +08:00
|
|
|
|
|
2023-04-23 10:22:46 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户输入数据时,去数据库查询更新到界面
|
|
|
|
|
/// </summary>
|
2023-05-30 19:06:32 +08:00
|
|
|
|
/// <param name="part"></param>
|
|
|
|
|
public void LoadCoatingData(string part)
|
2023-04-23 10:22:46 +08:00
|
|
|
|
{
|
|
|
|
|
|
2023-05-30 19:06:32 +08:00
|
|
|
|
switch (part)
|
2023-04-23 10:22:46 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
case "MinorCycle":
|
|
|
|
|
ForUpCoatingData(PMData.MinorCycle.SerialNumber, PMData.MinorCycle);
|
2023-04-23 10:22:46 +08:00
|
|
|
|
break;
|
2023-06-09 17:20:52 +08:00
|
|
|
|
case "MajorCycle":
|
|
|
|
|
ForUpCoatingData(PMData.MajorCycle.SerialNumber, PMData.MajorCycle);
|
2023-04-23 10:22:46 +08:00
|
|
|
|
break;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
2023-06-09 17:20:52 +08:00
|
|
|
|
|
2023-04-23 10:22:46 +08:00
|
|
|
|
}
|
2023-06-09 17:20:52 +08:00
|
|
|
|
|
2023-05-30 19:06:32 +08:00
|
|
|
|
private void ForUpCoatingData(string number, CoatingData data)
|
2023-04-23 10:22:46 +08:00
|
|
|
|
{
|
2023-06-09 17:20:52 +08:00
|
|
|
|
var coatingData = pmDataHelp.GetCoatingData(number, out var isExistedInDb);
|
2023-05-30 19:06:32 +08:00
|
|
|
|
if (isExistedInDb)
|
|
|
|
|
{
|
|
|
|
|
data.Update(coatingData);
|
|
|
|
|
}
|
2023-04-23 10:22:46 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|