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 System.Collections; using Infragistics.Win.UltraWinGrid; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Infragistics.Win; using System.Diagnostics; namespace Core.LZMes.Client.QCM { public partial class QCM0204 : FrmBase { #region 初始变量 public string specimenNo = "";//取样编号 public string smpNo = "";//试样号 public string plineCode = "";//产线 #endregion #region 初始化 public QCM0204() { InitializeComponent(); } //初始化的时候加载列 private void QCM0204_Load(object sender, EventArgs e) { // this.DoQuery(); // QueryPhyDescL(); //材质大类描述 下拉框 ValueList v = new ValueList(); v.ValueListItems.Add("HA", "拉伸"); v.ValueListItems.Add("HE", "金相"); v.ValueListItems.Add("HJ", "夹杂"); v.ValueListItems.Add("HD", "硬度"); v.ValueListItems.Add("HC", "冲击"); v.ValueListItems.Add("HB", "弯曲"); v.ValueListItems.Add("HV", "表面粗糙"); v.ValueListItems.Add("HF", "落锤"); v.ValueListItems.Add("HO", "顶锻"); v.ValueListItems.Add("HT", "电磁"); v.ValueListItems.Add("HS", "杯突"); v.ValueListItems.Add("HG", "断口"); v.ValueListItems.Add("HZ", "其他"); v.ValueListItems.Add("HH", "淬透性"); v.ValueListItems.Add("HI", "塔形发纹"); this.phyDescL.ValueList = v.Clone();//材质大类描述 } #endregion #region 功能 public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": //this.DoQuery(); break; case "Add": //this.DoAdd(); break; } } #region 查询 private void button1_Click(object sender, EventArgs e) { this.DoQuery(); } private void DoQuery() { try { this.dataSet2.Clear(); string selphyDescL = this.phyDescL.Text; //材质大类 string selphyDescM = this.phyDescM.Text; //材质试样组 string selphyNameS = this.phyNameS.Text; //材质试样组 if (string.IsNullOrEmpty(selphyDescL)) { this.alert("请选择材质大类项目!!!"); this.phyDescL.Focus(); return; } //查询数据库里的数据 CoreClientParam ccp = new CoreClientParam(); DataTable datatable = new DataTable(); ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample"; ccp.MethodName = "getQltyBasePhy"; ccp.SourceDataTable = this.dataSet2.Tables[0]; ccp.ServerParams = new object[] { selphyDescL, selphyDescM, selphyNameS, plineCode }; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); MessageBox.Show("系统出错,请联系管理人员", "警告"); } } #endregion #region 新增 private void button2_Click(object sender, EventArgs e) { this.DoAdd(); } private void DoAdd() { try { StringBuilder sb = new StringBuilder("["); Dictionary openWith = new Dictionary(); int tf = 0; foreach (UltraGridRow row in this.ultraGrid1.Rows) { if (row.Cells["check"].Value.ToString().ToLower() == "true") { if (tf == 0) { openWith.Add("PHY_NAME_L", row.Cells["PHY_DESC_L"].Value.ToString());//材质大类描述 openWith.Add("PHY_CODE_L", row.Cells["PHY_CODE_L"].Value.ToString()); openWith.Add("PHY_CODE_M", row.Cells["PHY_CODE_M"].Value.ToString()); openWith.Add("PHY_NAME_M", row.Cells["PHY_DESC_M"].Value.ToString());//材质试样组描述 openWith.Add("PHY_CODE_S", row.Cells["PHY_CODE_S"].Value.ToString()); openWith.Add("PHY_NAME_S", row.Cells["PHY_NAME_S"].Value.ToString());//材质检验项名称 openWith.Add("ITEM_CODE_D", row.Cells["ITEM_CODE_D"].Value.ToString()); openWith.Add("ITEM_NAME_D", row.Cells["ITEM_DESC_D"].Value.ToString());//试验方向描述 openWith.Add("ITEM_CODE_T", row.Cells["ITEM_CODE_T"].Value.ToString()); openWith.Add("ITEM_NAME_T", row.Cells["ITEM_DESC_T"].Value.ToString());//试验温度描述 openWith.Add("ITEM_CODE_S", row.Cells["ITEM_CODE_S"].Value.ToString()); openWith.Add("ITEM_NAME_S", row.Cells["ITEM_DESC_S"].Value.ToString());//尺寸/形状描述 openWith.Add("ISJUDGE", "1");//是否判定(1:是,0:否) openWith.Add("JUDGE_BASIS", "D");//判定依据(A:最小值,B:最大值,C:平均值,D:逐项值判) openWith.Add("PHY_UNIT", row.Cells["PHY_UNIT"].Value.ToString());//值单位(Rp0.2,MPa...) openWith.Add("MEMO", row.Cells["MEMO"].Value.ToString()+this.UserInfo.GetUserName()); openWith.Add("ITEM_CODE_L", row.Cells["ITEM_CODE_L"].Value.ToString());//试验位置代码 openWith.Add("ITEM_DESC_L", row.Cells["ITEM_DESC_L"].Value.ToString()); sb.Append(JsonConvert.SerializeObject(openWith)); } if (tf != 0) { sb.Append(","); openWith["PHY_NAME_L"] = row.Cells["PHY_DESC_L"].Value.ToString();//材质大类描述 openWith["PHY_CODE_L"] = row.Cells["PHY_CODE_L"].Value.ToString(); openWith["PHY_CODE_M"] = row.Cells["PHY_CODE_M"].Value.ToString(); openWith["PHY_NAME_M"] = row.Cells["PHY_DESC_M"].Value.ToString();//材质试样组描述 openWith["PHY_CODE_S"] = row.Cells["PHY_CODE_S"].Value.ToString(); openWith["PHY_NAME_S"] = row.Cells["PHY_NAME_S"].Value.ToString();//材质检验项名称 openWith["ITEM_CODE_D"] = row.Cells["ITEM_CODE_D"].Value.ToString(); openWith["ITEM_NAME_D"] = row.Cells["ITEM_DESC_D"].Value.ToString();//试验方向描述 openWith["ITEM_CODE_T"] = row.Cells["ITEM_CODE_T"].Value.ToString(); openWith["ITEM_NAME_T"] = row.Cells["ITEM_DESC_T"].Value.ToString();//试验温度描述 openWith["ITEM_CODE_S"] = row.Cells["ITEM_CODE_S"].Value.ToString(); openWith["ITEM_NAME_S"] = row.Cells["ITEM_DESC_S"].Value.ToString();//尺寸/形状描述 openWith["ISJUDGE"] = "1";//是否判定(1:是,0:否) openWith["JUDGE_BASIS"] = "C";//判定依据(A:最小值,B:最大值,C:平均值,D:逐项值判) openWith["PHY_UNIT"] = row.Cells["PHY_UNIT"].Value.ToString();//值单位(Rp0.2,MPa...) openWith["MEMO"] = row.Cells["MEMO"].Value.ToString() + this.UserInfo.GetUserName(); openWith["ITEM_CODE_L"] = row.Cells["ITEM_CODE_L"].Value.ToString();//试验位置代码 openWith["ITEM_DESC_L"] = row.Cells["ITEM_DESC_L"].Value.ToString(); sb.Append(JsonConvert.SerializeObject(openWith)); } tf = tf + 1; } } sb.Append("]"); string sbb = sb.ToString(); //JArray jo = (JArray)JsonConvert.DeserializeObject(sbb); //查询数据库里的数据 CoreClientParam ccp = new CoreClientParam(); DataTable datatable = new DataTable(); ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample"; ccp.MethodName = "addPhyItem"; ccp.ServerParams = new object[] { sbb, specimenNo, smpNo }; ccp.SourceDataTable = this.dataSet2.Tables[0]; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageBox.Show("新增成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None); } this.Close(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); MessageBox.Show("系统出错,请联系管理人员", "警告"); } } #endregion #endregion #region 其它事件 private void ultraGrid1_AfterHeaderCheckStateChanged(object sender, AfterHeaderCheckStateChangedEventArgs e) { ultraGrid1.UpdateData(); } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); } #endregion #region 下拉框触发事件 private void phyDescL_SelectionChanged(object sender, EventArgs e) { QueryPhyDescM();//材质试样组描述 下拉框 // this.DoQuery(); } private void phyDescM_SelectionChanged(object sender, EventArgs e) { QueryPhyNameS();//材质检验项名称 下拉框 // this.DoQuery(); } private void phyNameS_SelectionChanged(object sender, EventArgs e) { //this.DoQuery(); } #endregion #region 材质大类描述 下拉框 public void QueryPhyDescL() { this.dataSet1.Clear(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";//调用java地址 ccp.MethodName = "getPhyDescL";//调用的方法 ccp.ServerParams = new object[] { plineCode }; ccp.SourceDataTable = this.dataSet1.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); ValueList VDEFECT_DESC = new ValueList(); for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++) { VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["phy_desc_l"].ToString(), ccp.SourceDataTable.Rows[i]["phy_desc_l"].ToString()); } phyDescL.ValueList = VDEFECT_DESC; } #endregion #region 材质试样组描述 下拉框 public void QueryPhyDescM() { this.dataSet1.Clear(); String phyDescLText = phyDescL.Text.ToString().Trim(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";//调用java地址 ccp.MethodName = "getPhyDescM";//调用的方法 ccp.ServerParams = new object[] { phyDescLText, plineCode }; ccp.SourceDataTable = this.dataSet1.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); ValueList VDEFECT_DESC = new ValueList(); for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++) { VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["phy_desc_m"].ToString(), ccp.SourceDataTable.Rows[i]["phy_desc_m"].ToString()); } phyDescM.ValueList = VDEFECT_DESC; } #endregion #region 材质检验项名称 下拉框 public void QueryPhyNameS() { this.dataSet1.Clear(); String phyDescLText = phyDescL.Text.ToString().Trim(); String phyDescMTest = phyDescM.Text.ToString().Trim(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";//调用java地址 ccp.MethodName = "getPhyNameS";//调用的方法 ccp.ServerParams = new object[] { phyDescLText, phyDescMTest, plineCode }; ccp.SourceDataTable = this.dataSet1.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); ValueList VDEFECT_DESC = new ValueList(); for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++) { VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["phy_name_s"].ToString(), ccp.SourceDataTable.Rows[i]["phy_name_s"].ToString()); } phyNameS.ValueList = VDEFECT_DESC; } #endregion } }