using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using XImagingXhandler.XDAL;
using System.Data;
namespace XCore
{
public class DataExportBll
{
///
/// 生成涂布报告方法的xml节点属性对象
///
/// 涂布报告方法的xml节点
/// 涂布报告方法的xml节点属性对象
public MethodDataExport GenerateMethodDataExport(XmlNode xmlNode)
{
MethodDataExport methodDataExport = new MethodDataExport();
methodDataExport.isrun = xmlNode.SelectSingleNode("isrun").InnerText;
methodDataExport.status = xmlNode.SelectSingleNode("status").InnerText;
methodDataExport.name = xmlNode.SelectSingleNode("name").InnerText;
methodDataExport.label = xmlNode.SelectSingleNode("label").InnerText;
methodDataExport.strIndex = xmlNode.SelectSingleNode("strIndex").InnerText;
methodDataExport.filePath = xmlNode.SelectSingleNode("filePath").InnerText;
methodDataExport.reportColumns = new List();
methodDataExport.reportColumns = GenerateReporColumnList(xmlNode);//根据节点构建移液表
methodDataExport.filePostfix = xmlNode.SelectSingleNode("filePostfix").InnerText;
methodDataExport.fileName = xmlNode.SelectSingleNode("fileName").InnerText;
return methodDataExport;
}
private List GenerateReporColumnList(XmlNode xmlNode)
{
List reportColumns = new List();
XmlNode xmlNode1 = xmlNode.SelectSingleNode("transferDataTable");
if (xmlNode1.ChildNodes[0] != null)
{
for (int j = 0; j < xmlNode1.ChildNodes[0].ChildNodes.Count; j++)
{
ReportColumn reportColumn = new ReportColumn();
reportColumn.reportcolumn_id = xmlNode1.ChildNodes[0].ChildNodes[j].InnerText;
reportColumn.reportcolumn_name = xmlNode1.ChildNodes[1].ChildNodes[j].InnerText;
reportColumn.reportcolumn_sname = xmlNode1.ChildNodes[2].ChildNodes[j].InnerText;
reportColumns.Add(reportColumn);
}
}
return reportColumns;
}
public List GenerateReportColumn()
{
List dropdownNames = new List();
DropdownName dropdownName = new DropdownName();
dropdownName.dropdown_id = "0";
dropdownName.dropdown_name = "CoatingDataId";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "1";
dropdownName.dropdown_name = "SourcePlateID";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "2";
dropdownName.dropdown_name = "SourcePlateBarcode";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "3";
dropdownName.dropdown_name = "SourcePlateWell";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "4";
dropdownName.dropdown_name = "TargetPlateID";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "5";
dropdownName.dropdown_name = "TargetPlateBarcode";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "6";
dropdownName.dropdown_name = "TargetPlateWell";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "7";
dropdownName.dropdown_name = "Volume";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "8";
dropdownName.dropdown_name = "StartActionTime";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "9";
dropdownName.dropdown_name = "EndActionTime";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "10";
dropdownName.dropdown_name = "ExcuteResult";
dropdownNames.Add(dropdownName);
dropdownName = new DropdownName();
dropdownName.dropdown_id = "11";
dropdownName.dropdown_name = "StepIndex";
dropdownNames.Add(dropdownName);
return dropdownNames;
}
#region 构建数据表结构
public DataTable GenerateDataPortStructure()
{
DataTable dataTable=new DataTable();
List dropdownNames = this.GenerateReportColumn();
foreach (DropdownName r in dropdownNames)
{
DataColumn d = new DataColumn();
d.ColumnName = r.dropdown_name;
dataTable.Columns.Add(d);
}
return dataTable;
}
#endregion
}
}