using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Infragistics.Win.UltraWinGrid; using System.Collections; using Core.Mes.Client.Comm; using Core.Mes.Client.Comm.Tool; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; using Core.Mes.Client.Comm.Control; //基本信息显示Grid namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec { public partial class PublicUltraGridBase : UserControl { public event EventHandler PublicUltraGridBaseActive; //private DataTable dataTable; public DataTable DataTable { get { return dataTable1; } set { dataTable1 = value; } } //private UltraGrid ug; public UltraGrid Ug { get { return ultraGrid1; } set { ultraGrid1 = value; } } private UltraGridRow ur; public UltraGridRow Ur { get { return ur; } set { ur = value; } } public PublicUltraGridBase() { InitializeComponent(); } private void PublicUltraGridBase_Load(object sender, EventArgs e) { } public void InitColumnsPipeBase(string[] show, bool isShow, string[] ope) { string[] arrColumnsBase = new string[] { "FLAG", "FLAG_DESC", "CHECK_NO", "FLAG_ISZT", "SAMPLE_NO", "CONTRACT_NO", "CRAFT_SOURCE", "ISPRODUCER_DESC", "HEAT_NO", "LOT_NO", "STEEL_GRADE", "STEEL_NO", "PRODUCT_STD", "DIMATER", "HEIGHT", "PIPE_SIZE", "CRAFT_FILE_NO", "CRAFT_PATH", "PRODUCT_NAME", "BUCKLE_TYPE", "PROCESS_STATUS", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "XSS", "JG_RECEIVE_NAME", "JG_RECEIVE_TIME", "ISPRODUCER", "SPEC_REQ", "IS_RUSH", "REMARK", "DEPT_ID", "PROOF_RING_NO1", "PROOF_RING_NO2", "PROOF_RING_NO3", "CHECK_TIME", "CIC", "PROCESS_CODE" }; string[] arrCaptionBase = new string[] { "状态", "状态", "检验编号", "是否在途", "试样号", "合同号", "委托类型", "是否监制", "炉号", "生产批号", "钢级", "钢号", "技术标准", "外径", "壁厚", "规格", "工艺文件号", "工艺文件路径", "品名", "扣型", "工艺状态", "委托单位", "委托人", "委托时间", "小时数", "加工确认人", "加工确认时间", "是否监制", "特殊要求", "是否加急", "备注", "所属实验室", "应力环号1", "应力环号2", "应力环号3", "试验时间", "CIC", "工序" }; PublicPipeAndOutdec.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1); setColumnShowOrHidden(show, isShow);//显示列 setOtherColumnReadOnly(ope);//可编辑列 } public void InitColumnsOutdecBase(string[] show, bool isShow, string[] ope) { string[] arrColumnsBase = new string[] { "CHK", "FLAG", "FLAG_DESC", "CHECK_NO", "SAMPLE_NO", "CONTROL_NO", "SAMPLE_NAME", "STEEL_GRADE_NO", "TOTAL_LARGE_SAMPLE_SIZE", "SAMPLE_SIZE", "LARGE_SAMPLE_COUNT", "HEAT_NO", "TOTAL_SAMPLE_NO", "OTHER_DESC", "LARGE_SAMPLE_STATE", "CHECK_TYPE", "CHECK_BASE", "SURPLUS", "SURPLUS_STATE", "PROMISE_FINISH_TIME", "CHECK_PRICE", "REPORT_TYPE", "GET_REPORT_WAY", "CONSIGN_DEPT", "CONSIGN_ADDRESS", "POSTCODE", "PHONE", "FAX", "CHECK_DEPT", "CHECK_ADDRESS", "CONSIGN_NAME", "CONSIGN_TIME", "JC_RECEIVE_NAME", "JC_RECEIVE_TIME", "CONSIGNDEPT_SEND_NAME", "CONSIGNDEPT_SEND_TIME", "JG_RECEIVE_NAME", "JG_RECEIVE_NAME", "REMARK", "DEPT_ID", "PROOF_RING_NO1", "PROOF_RING_NO2", "PROOF_RING_NO3", "CHECK_TIME" }; string[] arrCaptionBase = new string[] { "选择", "状态", "状态", "检验编号", "试样号", "受控编号", "样品名称", "钢号/钢级", "规格", "规格", "数量(个数)", "炉号", "样品编号", "其他说明", "样品状态", "检验类别", "检验依据", "余样处理方式", "余样情况", "检验完成时间约定", "检验费用", "报告类型", "取报告方式", "委托方全称", "通信地址", "邮编", "电话", "传真", "主检单位", "地址", "委托方授权人签字", "委托时间", "检验单位接受人", "接受日期", "送样人", "送样时间", "加工接样人", "加工接样时间", "备注", "所属实验室", "应力环号1", "应力环号2", "应力环号3", "录入时间" }; PublicPipeAndOutdec.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1); setColumnShowOrHidden(show, isShow);//显示列 setOtherColumnReadOnly(ope);//可编辑列 } //查询检验委托基本信息 /// /// 查询检验委托基本信息 /// /// /// /// public void QueryCheckConsignBase(string path, ArrayList arrayList, OpeBase ob) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBase", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH")) { foreach (UltraGridRow dr in ultraGrid1.Rows) { if (dr.Cells["IS_RUSH"].Text.Trim() == "是") { dr.Appearance.BackColor = Color.Gold;//LightGray灰色 } } } //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } //查询检验委托基本信息 /// /// 查询检验委托基本信息(天淮) /// /// /// /// public void QueryCheckConsignBaseTH(string path, ArrayList arrayList, OpeBase ob) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseTH", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH")) { foreach (UltraGridRow dr in ultraGrid1.Rows) { if (dr.Cells["IS_RUSH"].Text.Trim() == "是") { dr.Appearance.BackColor = Color.Gold;//LightGray灰色 } } } //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } /// /// 查询检验委托基本信息(试样号) /// /// /// /// public void QueryCheckConsignBaseSampleNo(string path, ArrayList arrayList, OpeBase ob) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseSampleNo", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH")) { foreach (UltraGridRow dr in ultraGrid1.Rows) { if (dr.Cells["IS_RUSH"].Text.Trim() == "是") { dr.Appearance.BackColor = Color.Gold;//LightGray灰色 } } } //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } /// /// 查询检验委托基本信息(加工样品交接时间) /// /// /// /// public void QueryCheckConsignBaseJgReceiveTime(string path, ArrayList arrayList, OpeBase ob) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseJgReceiveTime", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH")) { foreach (UltraGridRow dr in ultraGrid1.Rows) { if (dr.Cells["IS_RUSH"].Text.Trim() == "是") { dr.Appearance.BackColor = Color.Gold;//LightGray灰色 } } } } public void QueryCheckConsignBase2(string path, ArrayList arrayList, OpeBase ob) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBase", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH")) { foreach (UltraGridRow dr in ultraGrid1.Rows) { if (dr.Cells["IS_RUSH"].Text.Trim() == "是") { dr.Appearance.BackColor = Color.Gold;//LightGray灰色 } } } GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } //查询检验委托明细信息 /// /// 查询检验委托明细信息 /// /// /// /// /// public void QueryCheckConsignBaseDetail_Distinct(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetail_Distinct", arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId, plineCodes }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 //if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("CHECK_NO")) //{ // ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_NO"].Width = 100;//设置列宽 //} //if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("SAMPLE_NO")) //{ // ultraGrid1.DisplayLayout.Bands[0].Columns["SAMPLE_NO"].Width = 80;//设置列宽 //} GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } //查询检验委托明细信息 /// /// 查询检验委托明细信息 /// /// /// /// /// public void QueryCheckConsignBaseDetail_DistinctDB(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetail_DistinctDB", arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId, plineCodes }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } public void QueryCheckConsignBaseDetail_DistinctFS(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes, string flag) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetail_DistinctFS", arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId, plineCodes }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid Color Color1 = Color.LightYellow; Color Color2 = Color.LightGreen; //未录入查询不变颜色 if (!flag.Equals("2")) { for (int i = 0; i < this.ultraGrid1.Rows.Count; i++) { if (i == 0) { this.ultraGrid1.Rows[i].Appearance.BackColor = Color1; } else { string a = DateTime.Parse(this.ultraGrid1.Rows[i].Cells["CHECK_TIME"].Value.ToString()).ToString("yyyy-MM-dd"); if (DateTime.Parse(this.ultraGrid1.Rows[i].Cells["CHECK_TIME"].Value.ToString()).ToString("yyyy-MM-dd") != DateTime.Parse(this.ultraGrid1.Rows[i - 1].Cells["CHECK_TIME"].Value.ToString()).ToString("yyyy-MM-dd")) { this.ultraGrid1.Rows[i].Appearance.BackColor = this.ultraGrid1.Rows[i - 1].Appearance.BackColor == Color1 ? Color2 : Color1; } else { this.ultraGrid1.Rows[i].Appearance.BackColor = this.ultraGrid1.Rows[i - 1].Appearance.BackColor; } } } } } public void UpdateCheckConsignBase(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition) { ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(strFlag); alBaseParams.Add(user);//收样人 alBaseParams.Add(strDate);//收样时间 //alBaseParams.Add(""); alBaseParams.Add("");//样品备注row["SAMPLE_REMARK"].ToString() alBaseParams.Add(strCondition); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignBase", new Object[] { alBase }, ob); } public void UpdateCheckConsignBase(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition, string strSample_Remark) { ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(strFlag); alBaseParams.Add(user);//收样人 alBaseParams.Add(strDate);//收样时间 alBaseParams.Add(strSample_Remark); alBaseParams.Add(strSample_Remark); alBaseParams.Add(strCondition); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignBase", new Object[] { alBase }, ob); } public void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { ur = ultraGrid1.ActiveRow; if (PublicUltraGridBaseActive != null) { //ur = ultraGrid1.ActiveRow; PublicUltraGridBaseActive(sender, e);//调用委托事件 } } //初始化列 /// /// 初始化列 /// /// /// public void InitColumns(string[] arrColumns, string[] arrCaption) { PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable1); } //设置列是否隐藏 /// /// 设置列是否隐藏 /// /// /// public void setColumnShowOrHidden(string[] keys, bool isShow) { PublicPipeAndOutdec.setColumnShowOrHidden(ultraGrid1, keys, isShow); } //可编辑列 /// /// 可编辑列 /// /// public void setOtherColumnReadOnly(string[] keys) { PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid1, keys); } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { PublicPipeAndOutdec.SelectRow(ultraGrid1); } /// /// grid全部打勾 /// public void MakeAllDataCheck() { foreach (UltraGridRow row in ultraGrid1.Rows) { row.Cells["CHK"].Value = true; } } private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e) { if (dataTable1.Columns.Contains("JG_PRINT_COUNT")) { if (int.Parse(e.Row.Cells["JG_PRINT_COUNT"].Value.ToString3()) > 0) { e.Row.Appearance.BackColor = Color.LightGreen; } } if (dataTable1.Columns.Contains("FLAG_SH")) { if (e.Row.Cells["FLAG_SH"].Value.ToString() != "未审核") { e.Row.Appearance.BackColor = Color.LightGreen; } } } internal void Export(string title) { GridHelper.ulGridToExcel(ultraGrid1, title); } } }