using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Judge.Commons; using CoreFS.CA06; using Infragistics.Win; using System; using System.Collections.Generic; using System.Data; namespace Core.StlMes.Client.Judge.Forms { public partial class ImportMeltingDataFrm : FrmBase { private Dal _d; public ImportMeltingDataFrm() { InitializeComponent(); } private void ImportMeltingDataFrm_Load(object sender, EventArgs e) { _d = new Dal(ob); labelDateTimePicker1.DateTimePicker.Value = DateTime.Now.Date.AddDays(-3); labelDateTimePicker2.DateTimePicker.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1); labelDateTimePicker1.Checked = true; ValueList list = new ValueList(); list.ValueListItems.Add("00", "未判"); list.ValueListItems.Add("20", "已判"); ultraGrid1.DisplayLayout.Bands[0].Columns["lgJudgeFlag"].ValueList = list; } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": Query(); break; case "Import": Import(); break; case "SaveJudge": SaveJudge(); break; } } private void Query() { string stoveNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : ""; string judgeStoveNo = labelTextBox2.Checked ? labelTextBox2.Text.Trim() : ""; string timeB = labelDateTimePicker1.Checked ? labelDateTimePicker1.Value.ToString("yyyy-MM-dd hh:mm:ss") : ""; string timeE = labelDateTimePicker1.Checked ? labelDateTimePicker2.Value.ToString("yyyy-MM-dd hh:mm:ss") : ""; DataTable dt = _d.GetTableByXmlId("QcmJhyElementsDAL.importMeltingQuery", stoveNo, judgeStoveNo, timeB, timeE); GridHelper.CopyDataToDatatable(dt, dataTable1, true); GridHelper.RefreshAndAutoSize(ultraGrid1); } private void Import() { DataTable excelDt = ExcelHelper.ExcelToDataTable(true, false); if (excelDt == null || excelDt.Rows.Count == 0) { return; } WaitingForm2 wf = new WaitingForm2("正在导入,请稍后...."); try { Dictionary dic = new Dictionary(); dic.Add("Sender", "createName"); dic.Add("ylcode", "stoveNo"); dic.Add("Lcode", "judgeStoveNo"); dic.Add("sample", "sampleNo"); dic.Add("ec", "c"); dic.Add("esi", "si"); dic.Add("emn", "mn"); dic.Add("ep", "p"); dic.Add("es", "s"); dic.Add("eni", "ni"); dic.Add("ecr", "cr"); dic.Add("emo", "mo"); dic.Add("ecu", "cu"); dic.Add("eal", "al"); dic.Add("ev", "v"); dic.Add("enb", "nb"); dic.Add("eti", "ti"); dic.Add("eb", "b"); dic.Add("epb", "pb"); dic.Add("esn", "sn"); dic.Add("eas", "asn"); dic.Add("esb", "sb"); dic.Add("ebi", "bi"); dic.Add("eo", "o"); dic.Add("en", "n"); dic.Add("eh", "h"); dic.Add("eca", "ca"); dic.Add("ew", "w"); dic.Add("ezr", "zr"); dic.Add("ezn", "zn"); dic.Add("eco", "co"); dic.Add("alt", "alt"); dic.Add("als", "als"); dic.Add("ece", "ce"); DataTable dt = new DataTable(); foreach (DataColumn dc in excelDt.Columns) { if (!dic.ContainsKey(dc.ColumnName)) continue; dt.Columns.Add(dic[dc.ColumnName]); } foreach (DataRow excelDr in excelDt.Rows) { DataRow dr = dt.NewRow(); foreach (DataColumn excelDC in excelDt.Columns) { if (!dic.ContainsKey(excelDC.ColumnName)) continue; string value = excelDr[excelDC.ColumnName].ToString().Trim().ToUpper() == "NULL" ? "" : excelDr[excelDC.ColumnName].ToString().Trim(); if (excelDC.ColumnName == "sample" && value == "") { value = "601"; } if (excelDC.ColumnName == "ylcode" && value == "") { value = excelDr["Lcode"].ToString().Trim(); } if (excelDC.ColumnName == "Lcode" && value == "") { value = excelDr["ylcode"].ToString().Trim(); } dr[dic[excelDC.ColumnName]] = value; } dt.Rows.Add(dr); } List jsons = new List(); foreach (DataRow dr in dt.Rows) { string json = JsonHelper.ToJson(dr); jsons.Add(json); } _d.Set("com.steering.pss.judge.Bll.BllImportMeltingData.ImportMelting", jsons); } finally { wf.Close(); } MessageUtil.ShowTips("导入成功!"); } private void SaveJudge() { var row = ultraGrid1.ActiveRow; _d.Set("com.steering.pss.judge.Bll.BllImportMeltingData.SaveLgJudge", row.GetValue("stoveNo")); MessageUtil.ShowTips("保存成功!"); } private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e) { labelDateTimePicker2.DateTimePicker.Enabled = labelDateTimePicker1.Checked; } } }