using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using System.Collections; using Core.Mes.Client.Comm.Control; using Infragistics.Win; namespace Core.StlMes.Client.Lims.Data.Mat { public partial class FrmMatGetSamplePlan : FrmBase { private DataTable m_dtSelectItems; public FrmMatGetSamplePlan() { InitializeComponent(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); publicUltraGridBase1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框 ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; publicUltraGridBase2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框 ultraGrid6.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; publicUltraGridDetail2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; } private void FrmMatGetSamplePlan_Load(object sender, EventArgs e) { InitColumns(); } private void InitColumns() { publicUltraGridBase1.PublicUltraGridBaseActive += new EventHandler(publicUltraGridBase1_PublicUltraGridBaseActive);//调用委托事件 publicUltraGridBase1.InitColumnsBase(new string[] { "CHECK_NO", "ORDER_NO", "DELIVERY_SUB_ID", "BATCH_NO", "DELIVERY_LOCATION", "ITEM_NAME", "STANDARDS_CODE", "PRODUCT_STD", "SUPP_NAME", "WEIGHT", "WEIGHT_UNIT", "CONSIGN_TIME", "GET_SAMPLE_STD", "GET_SAMPLE_STD_DESC" }, true, null);//, "DELIVERY_SUB_ID", "CONSIGN_TIME" publicUltraGridBase2.PublicUltraGridBaseActive += new EventHandler(publicUltraGridBase2_PublicUltraGridBaseActive); publicUltraGridBase2.InitColumnsBase(new string[] { "CHECK_NO", "ORDER_NO", "DELIVERY_SUB_ID", "BATCH_NO", "DELIVERY_LOCATION", "ITEM_NAME", "STANDARDS_CODE", "PRODUCT_STD", "SUPP_NAME", "WEIGHT", "WEIGHT_UNIT", "CONSIGN_TIME", "GET_SAMPLE_STD", "GET_SAMPLE_STD_DESC" }, true, null); publicUltraGridDetail1.AddColumns(0, null, publicUltraGridDetail1.DataTable); publicUltraGridDetail1.setColumnShowOrHidden(new string[] { "GET_SAMPLE_NAME", "GET_SAMPLE_TIME" }, false); publicUltraGridDetail2.AddColumns(0, null, publicUltraGridDetail2.DataTable); string[] arrColumnsItem = new string[] { "MAT_CODE", "MAT_NAME", "STDMIN_SIGN", "STDMIN", "STDMAX_SIGN", "STDMAX", "CHECK_CYCLE", "JUDGE_TYPE_CODE", "JUDGE_TYPE", "CHECK_CONDITION", "REMARK" }; string[] arrCaptionItem = new string[] { "检验项", "检验项", "下限符号", "下限", "上限符号", "上限", "检验周期", "验收方式", "验收方式", "试验要求", "备注" }; PublicMat.InitColumns(arrColumnsItem, arrCaptionItem, dataTable3, ultraGrid3, new string[] { "MAT_CODE", "JUDGE_TYPE_CODE" }, false, null); PublicMat.InitColumns(arrColumnsItem, arrCaptionItem, dataTable6, ultraGrid6, new string[] { "MAT_CODE", "JUDGE_TYPE_CODE" }, false, null); } void publicUltraGridBase1_PublicUltraGridBaseActive(object sender, EventArgs e) { QueryCheckConsignDetailItems(); } //查询检验委托明细信息 private void QueryCheckConsignDetailItems() { try { ArrayList arrayList = new ArrayList(); arrayList.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.QueryCheckConsignDetail", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { publicUltraGridDetail1.DataTable.Rows.Clear(); dataTable3.Rows.Clear(); return; } m_dtSelectItems = dt.Copy(); GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid3);//刷新Grid } catch (Exception ex) { MessageUtil.ShowWarning(ex.Message); return; } } void publicUltraGridBase2_PublicUltraGridBaseActive(object sender, EventArgs e) { QueryGetSampleRecord(); QueryCheckConsignDetailItemsShow(); } //查询检验委托明细信息 private void QueryCheckConsignDetailItemsShow() { try { ArrayList arrayList = new ArrayList(); arrayList.Add(publicUltraGridBase2.Ur.Cells["CHECK_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.QueryCheckConsignDetail", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { publicUltraGridDetail2.DataTable.Rows.Clear(); dataTable7.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable6, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid6);//刷新Grid } catch (Exception ex) { MessageUtil.ShowWarning(ex.Message); return; } } //查询取样记录 public void QueryGetSampleRecord() { ArrayList arrayList = new ArrayList(); arrayList.Add(publicUltraGridBase2.Ur.Cells["CHECK_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.QueryGetSampleRecord", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable2.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable6, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid6);//刷新Grid //PublicMat.RefreshAndAutoSizeColumns(ultraGrid6, new string[] { "SAMPLE_NO" }, false); //DataTable dts = PublicMat.GetSelectDt(dt, "SAMPLE_NO IS NOT NULL").DefaultView.ToTable(true, "SAMPLE_NO"); GridHelper.CopyDataToDatatable(PublicMat.GetSelectDt(dt, "SAMPLE_NO IS NOT NULL").DefaultView.ToTable(true, "SAMPLE_NO", "GET_SAMPLE_NAME", "GET_SAMPLE_TIME", "GET_SAMPLE_SHIFT", "GET_SAMPLE_CLASS", "GET_SAMPLE_WEIGHT", "GET_SMALL_COUNT", "GET_SAMPLE_COUNT", "GET_SAMPLE_DEPT", "GET_SAMPLE_AREA", "GET_SAMPLE_REMARK"), publicUltraGridDetail2.DataTable, true);//把dt复制给dataTable1//去掉重复 GridHelper.RefreshAndAutoSize(publicUltraGridDetail2.Ug);//刷新Grid } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { //新增、修改修约值、审核、删除、退出 switch (ToolbarKey) { case "Query": if (ultraTabControl1.SelectedTab.Index == 0) { QueryCheckConsignBase(publicUltraGridBase1, "0"); } else if (ultraTabControl1.SelectedTab.Index == 1) { QueryCheckConsignBase(publicUltraGridBase2, "1"); } break; case "Add": AddCheckConsignDetail(); break; case "Update": UpdateCheckConsignDetail(); break; case "Delete": DeleteCheckConsignDetail(); break; case "View": ViewZbsPosition(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } private void ViewZbsPosition() { UltraGridRow ur; if (ultraTabControl1.SelectedTab.Index == 0) { ur = publicUltraGridBase1.Ur; } else { ur = publicUltraGridBase2.Ur; } if (ur == null) { MessageUtil.ShowWarning("请选择一条需要查看质保书的记录!"); return; } string strZBS = ur.Cells["FILE_POSITION"].Text.Trim(); string path = strZBS; if (path == "") { MessageUtil.ShowWarning("文件路径为空!"); return; } if (PublicMat.ViewFilePosition(this.ob, path) == false)//不允许删除 { } } //查询检验委托基本信息 private void QueryCheckConsignBase(PublicUltraGridBase publicUltraGridBase, string strFlag) { try { publicUltraGridBase.QueryCheckConsignBase("mat.FrmMatGetSamplePlan", matQueryBase1.GetQueryInfo(strFlag), this.ob); if (publicUltraGridBase == publicUltraGridBase1 && publicUltraGridBase1.Ug.Rows.Count == 0) { dataTable3.Rows.Clear(); publicUltraGridDetail1.DataTable.Rows.Clear(); } else if (publicUltraGridBase == publicUltraGridBase2 && publicUltraGridBase2.Ug.Rows.Count == 0) { dataTable6.Rows.Clear(); publicUltraGridDetail2.DataTable.Rows.Clear(); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void AddCheckConsignDetail() { try { publicUltraGridDetail1.Ug.UpdateData(); if (ultraTabControl1.SelectedTab.Index != 0) { MessageUtil.ShowWarning("只有在未取样编制页才能进行新增操作!"); return; } if (publicUltraGridBase1.Ur == null || publicUltraGridBase1.Ur.Activated == false) { MessageUtil.ShowWarning("请选择需要新增的数据!"); return; } if (dataTable3 == null || dataTable3.Rows.Count == 0) { MessageUtil.ShowWarning("此检验编号没有对应的检验项请刷新重试!"); return; } if (publicUltraGridDetail1.DataTable.Rows.Count == 0) { MessageUtil.ShowWarning("取样未完成不能新增!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes) { string strCHECK_NO = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text;//检验委托编号 string strBATCH_NO = publicUltraGridBase1.Ur.Cells["BATCH_NO"].Text; string strGET_SAMPLE_STD = publicUltraGridBase1.Ur.Cells["GET_SAMPLE_STD"].Text; string strGET_SAMPLE_STD_DESC = publicUltraGridBase1.Ur.Cells["GET_SAMPLE_STD_DESC"].Text; ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List ArrayList alBase = new ArrayList();//基础表list ArrayList alBaseDetail = new ArrayList(); //DataRow[] arrDr; foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows) { //存检验编号、试样号 alBaseDetail = new ArrayList(); alBaseDetail.Add(strCHECK_NO); alBaseDetail.Add(dr["SAMPLE_NO"].ToString()); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(""); alBaseDetail.Add(strGET_SAMPLE_STD); alBaseDetail.Add(strGET_SAMPLE_STD_DESC); alBaseDetail.Add(UserInfo.GetUserName()); //alBaseDetail.Add(arrDr[0]["GET_SAMPLE_TIME"].ToString()); alBaseDetail.Add(dr["GET_SAMPLE_SHIFT"].ToString()); alBaseDetail.Add(dr["GET_SAMPLE_CLASS"].ToString()); alBaseDetail.Add(dr["GET_SAMPLE_WEIGHT"].ToString()); alBaseDetail.Add(dr["GET_SMALL_COUNT"].ToString()); alBaseDetail.Add("1"); alBaseDetail.Add(dr["GET_SAMPLE_DEPT"].ToString()); alBaseDetail.Add(dr["GET_SAMPLE_AREA"].ToString()); alBaseDetail.Add(dr["GET_SAMPLE_REMARK"].ToString()); alBase.Add(alBaseDetail); } ArrayList alBaseInfo = new ArrayList();//基础表list ArrayList alBaseInfoDetail = new ArrayList(); alBaseInfoDetail.Add("1"); alBaseInfoDetail.Add("0"); alBaseInfoDetail.Add(strCHECK_NO); alBaseInfo.Add(alBaseInfoDetail); ArrayList alDelete = new ArrayList();//基础表list ArrayList alDeleteDetail = new ArrayList(); alDeleteDetail.Add(strCHECK_NO); alDelete.Add(alDeleteDetail); ArrayList alDetail = new ArrayList();//明细表list ArrayList alDetailParams = new ArrayList(); publicUltraGridDetail1.Ug.UpdateData(); if (publicUltraGridDetail1.DataTable.Rows.Count > 0 && m_dtSelectItems != null && m_dtSelectItems.Rows.Count > 0) { foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows) { if (dr["SAMPLE_NO"].ToString().Trim() != "") { foreach (DataRow drSel in m_dtSelectItems.Rows) { //!!!需要检验的检验项才新增进DETAIL表 if (drSel["JUDGE_TYPE_CODE"].ToString().Trim() == "409001" || drSel["JUDGE_TYPE"].ToString().Trim() == "检验") { alDetailParams = new ArrayList(); alDetailParams.Add(strCHECK_NO); alDetailParams.Add(strBATCH_NO);//批次号 alDetailParams.Add(dr["SAMPLE_NO"].ToString().Trim()); alDetailParams.Add(drSel["MAT_CODE"].ToString().Trim()); alDetailParams.Add(drSel["MAT_NAME"].ToString().Trim()); alDetailParams.Add(drSel["MAT_TYPE"].ToString().Trim()); alDetailParams.Add(drSel["MAT_UNIT"].ToString().Trim()); alDetailParams.Add(drSel["VALUE_TYPE"].ToString().Trim()); alDetailParams.Add(drSel["DEPT_ID"].ToString().Trim()); alDetailParams.Add(drSel["ADD_CONDITION"].ToString().Trim()); alDetailParams.Add(drSel["COMPLEX_TYPE"].ToString().Trim()); alDetailParams.Add(drSel["MAT_FORMULA"].ToString().Trim()); alDetailParams.Add(drSel["STDMIN_SIGN"].ToString().Trim()); alDetailParams.Add(drSel["STDMIN"].ToString().Trim()); alDetailParams.Add(drSel["STDMAX_SIGN"].ToString().Trim()); alDetailParams.Add(drSel["STDMAX"].ToString().Trim()); alDetailParams.Add(drSel["CHECK_CYCLE"].ToString().Trim()); alDetailParams.Add(drSel["JUDGE_TYPE_CODE"].ToString().Trim()); alDetailParams.Add(drSel["JUDGE_TYPE"].ToString().Trim()); alDetailParams.Add(drSel["CHECK_CONDITION"].ToString().Trim()); alDetailParams.Add(drSel["STD_TYPE"].ToString().Trim()); alDetail.Add(alDetailParams); } } } } } if (alDetail.Count == 0) { return; } alAll.Add(alBaseInfo); alAll.Add(alDelete); alAll.Add(alDetail); alAll.Add(alBase); PublicServer.SetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.AddCheckConsignDetail", new Object[] { strCHECK_NO, alAll }, this.ob); QueryCheckConsignBase(publicUltraGridBase1, "0"); MessageUtil.ShowTips("新增成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void UpdateCheckConsignDetail() { } private void DeleteCheckConsignDetail() { try { if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowWarning("只有在已取样编制页才能进行删除操作!"); return; } if (publicUltraGridBase2.Ur == null) { MessageUtil.ShowWarning("请选择需要删除的数据!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes) { string strCHECK_NO = publicUltraGridBase2.Ur.Cells["CHECK_NO"].Text.Trim(); ArrayList alAll = new ArrayList(); ArrayList alBaseDetail = new ArrayList(); alBaseDetail.Add("0"); alBaseDetail.Add("1"); alBaseDetail.Add(strCHECK_NO); ArrayList alDelete = new ArrayList(); alDelete.Add(strCHECK_NO); alAll.Add(alBaseDetail); alAll.Add(alDelete); PublicServer.SetData("com.steering.lims.data.mat.FrmMatGetSamplePlan.DeleteCheckConsignDetail", new Object[] { strCHECK_NO, alAll }, this.ob); QueryCheckConsignBase(publicUltraGridBase2, "1"); MessageUtil.ShowTips("删除成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key.ToString()) { case "Add": AddSampleNo(); break; case "Cancel": CancelSampleNo(); break; } } private void AddSampleNo() { if (publicUltraGridDetail1.DataTable.Columns.Contains("SAMPLE_NO")) { if (publicUltraGridBase1.Ur != null) { DataRow dr = publicUltraGridDetail1.DataTable.NewRow(); int count = publicUltraGridDetail1.DataTable.Rows.Count; string strSample_No = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim() + "-" + (count + 1).ToString(); dr["SAMPLE_NO"] = strSample_No; dr["GET_SAMPLE_SHIFT"] = UserInfo.GetUserOrderText(); dr["GET_SAMPLE_CLASS"] = UserInfo.GetUserGroupText(); publicUltraGridDetail1.DataTable.Rows.Add(dr); } } } private void CancelSampleNo() { if (publicUltraGridDetail1.Ur != null) { int count = publicUltraGridDetail1.DataTable.Rows.Count; int index = publicUltraGridDetail1.Ug.Rows.IndexOf(publicUltraGridDetail1.Ur); for (int i = 0; i < count - index; i++) { publicUltraGridDetail1.DataTable.Rows.RemoveAt(index); } } } private void FrmMatGetSamplePlan_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (ultraTabControl1.SelectedTab.Index == 0) { if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Clear")) { toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False; } } else if (ultraTabControl1.SelectedTab.Index == 1) { if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Clear")) { toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False; } } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (ultraTabControl1.SelectedTab.Index == 0) { if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Clear")) { toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False; } } else if (ultraTabControl1.SelectedTab.Index == 1) { if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Clear")) { toolMenu.Toolbars[0].Tools["Clear"].InstanceProps.Visible = DefaultableBoolean.False; } } } } }