4a9e3da1edfc433e18b5a5995c8eb4822cd3802a.svn-base 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using System.Collections;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Newtonsoft.Json;
  13. using Newtonsoft.Json.Linq;
  14. using Infragistics.Win;
  15. using System.Diagnostics;
  16. namespace Core.LZMes.Client.QCM
  17. {
  18. public partial class QCM0204 : FrmBase
  19. {
  20. #region 初始变量
  21. public string specimenNo = "";//取样编号
  22. public string smpNo = "";//试样号
  23. public string plineCode = "";//产线
  24. #endregion
  25. #region 初始化
  26. public QCM0204()
  27. {
  28. InitializeComponent();
  29. }
  30. //初始化的时候加载列
  31. private void QCM0204_Load(object sender, EventArgs e)
  32. {
  33. // this.DoQuery();
  34. // QueryPhyDescL(); //材质大类描述 下拉框
  35. ValueList v = new ValueList();
  36. v.ValueListItems.Add("HA", "拉伸");
  37. v.ValueListItems.Add("HE", "金相");
  38. v.ValueListItems.Add("HJ", "夹杂");
  39. v.ValueListItems.Add("HD", "硬度");
  40. v.ValueListItems.Add("HC", "冲击");
  41. v.ValueListItems.Add("HB", "弯曲");
  42. v.ValueListItems.Add("HV", "表面粗糙");
  43. v.ValueListItems.Add("HF", "落锤");
  44. v.ValueListItems.Add("HO", "顶锻");
  45. v.ValueListItems.Add("HT", "电磁");
  46. v.ValueListItems.Add("HS", "杯突");
  47. v.ValueListItems.Add("HG", "断口");
  48. v.ValueListItems.Add("HZ", "其他");
  49. v.ValueListItems.Add("HH", "淬透性");
  50. v.ValueListItems.Add("HI", "塔形发纹");
  51. this.phyDescL.ValueList = v.Clone();//材质大类描述
  52. }
  53. #endregion
  54. #region 功能
  55. public override void ToolBar_Click(object sender, string ToolbarKey)
  56. {
  57. switch (ToolbarKey)
  58. {
  59. case "Query":
  60. //this.DoQuery();
  61. break;
  62. case "Add":
  63. //this.DoAdd();
  64. break;
  65. }
  66. }
  67. #region 查询
  68. private void button1_Click(object sender, EventArgs e)
  69. {
  70. this.DoQuery();
  71. }
  72. private void DoQuery()
  73. {
  74. try
  75. {
  76. this.dataSet2.Clear();
  77. string selphyDescL = this.phyDescL.Text; //材质大类
  78. string selphyDescM = this.phyDescM.Text; //材质试样组
  79. string selphyNameS = this.phyNameS.Text; //材质试样组
  80. if (string.IsNullOrEmpty(selphyDescL))
  81. {
  82. this.alert("请选择材质大类项目!!!");
  83. this.phyDescL.Focus();
  84. return;
  85. }
  86. //查询数据库里的数据
  87. CoreClientParam ccp = new CoreClientParam();
  88. DataTable datatable = new DataTable();
  89. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  90. ccp.MethodName = "getQltyBasePhy";
  91. ccp.SourceDataTable = this.dataSet2.Tables[0];
  92. ccp.ServerParams = new object[] { selphyDescL, selphyDescM, selphyNameS, plineCode };
  93. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  94. }
  95. catch (Exception ex)
  96. {
  97. System.Diagnostics.Debug.WriteLine(ex.ToString());
  98. MessageBox.Show("系统出错,请联系管理人员", "警告");
  99. }
  100. }
  101. #endregion
  102. #region 新增
  103. private void button2_Click(object sender, EventArgs e)
  104. {
  105. this.DoAdd();
  106. }
  107. private void DoAdd()
  108. {
  109. try
  110. {
  111. StringBuilder sb = new StringBuilder("[");
  112. Dictionary<string, string> openWith = new Dictionary<string, string>();
  113. int tf = 0;
  114. foreach (UltraGridRow row in this.ultraGrid1.Rows)
  115. {
  116. if (row.Cells["check"].Value.ToString().ToLower() == "true")
  117. {
  118. if (tf == 0)
  119. {
  120. openWith.Add("PHY_NAME_L", row.Cells["PHY_DESC_L"].Value.ToString());//材质大类描述
  121. openWith.Add("PHY_CODE_L", row.Cells["PHY_CODE_L"].Value.ToString());
  122. openWith.Add("PHY_CODE_M", row.Cells["PHY_CODE_M"].Value.ToString());
  123. openWith.Add("PHY_NAME_M", row.Cells["PHY_DESC_M"].Value.ToString());//材质试样组描述
  124. openWith.Add("PHY_CODE_S", row.Cells["PHY_CODE_S"].Value.ToString());
  125. openWith.Add("PHY_NAME_S", row.Cells["PHY_NAME_S"].Value.ToString());//材质检验项名称
  126. openWith.Add("ITEM_CODE_D", row.Cells["ITEM_CODE_D"].Value.ToString());
  127. openWith.Add("ITEM_NAME_D", row.Cells["ITEM_DESC_D"].Value.ToString());//试验方向描述
  128. openWith.Add("ITEM_CODE_T", row.Cells["ITEM_CODE_T"].Value.ToString());
  129. openWith.Add("ITEM_NAME_T", row.Cells["ITEM_DESC_T"].Value.ToString());//试验温度描述
  130. openWith.Add("ITEM_CODE_S", row.Cells["ITEM_CODE_S"].Value.ToString());
  131. openWith.Add("ITEM_NAME_S", row.Cells["ITEM_DESC_S"].Value.ToString());//尺寸/形状描述
  132. openWith.Add("ISJUDGE", "1");//是否判定(1:是,0:否)
  133. openWith.Add("JUDGE_BASIS", "D");//判定依据(A:最小值,B:最大值,C:平均值,D:逐项值判)
  134. openWith.Add("PHY_UNIT", row.Cells["PHY_UNIT"].Value.ToString());//值单位(Rp0.2,MPa...)
  135. openWith.Add("MEMO", row.Cells["MEMO"].Value.ToString()+this.UserInfo.GetUserName());
  136. openWith.Add("ITEM_CODE_L", row.Cells["ITEM_CODE_L"].Value.ToString());//试验位置代码
  137. openWith.Add("ITEM_DESC_L", row.Cells["ITEM_DESC_L"].Value.ToString());
  138. sb.Append(JsonConvert.SerializeObject(openWith));
  139. }
  140. if (tf != 0)
  141. {
  142. sb.Append(",");
  143. openWith["PHY_NAME_L"] = row.Cells["PHY_DESC_L"].Value.ToString();//材质大类描述
  144. openWith["PHY_CODE_L"] = row.Cells["PHY_CODE_L"].Value.ToString();
  145. openWith["PHY_CODE_M"] = row.Cells["PHY_CODE_M"].Value.ToString();
  146. openWith["PHY_NAME_M"] = row.Cells["PHY_DESC_M"].Value.ToString();//材质试样组描述
  147. openWith["PHY_CODE_S"] = row.Cells["PHY_CODE_S"].Value.ToString();
  148. openWith["PHY_NAME_S"] = row.Cells["PHY_NAME_S"].Value.ToString();//材质检验项名称
  149. openWith["ITEM_CODE_D"] = row.Cells["ITEM_CODE_D"].Value.ToString();
  150. openWith["ITEM_NAME_D"] = row.Cells["ITEM_DESC_D"].Value.ToString();//试验方向描述
  151. openWith["ITEM_CODE_T"] = row.Cells["ITEM_CODE_T"].Value.ToString();
  152. openWith["ITEM_NAME_T"] = row.Cells["ITEM_DESC_T"].Value.ToString();//试验温度描述
  153. openWith["ITEM_CODE_S"] = row.Cells["ITEM_CODE_S"].Value.ToString();
  154. openWith["ITEM_NAME_S"] = row.Cells["ITEM_DESC_S"].Value.ToString();//尺寸/形状描述
  155. openWith["ISJUDGE"] = "1";//是否判定(1:是,0:否)
  156. openWith["JUDGE_BASIS"] = "C";//判定依据(A:最小值,B:最大值,C:平均值,D:逐项值判)
  157. openWith["PHY_UNIT"] = row.Cells["PHY_UNIT"].Value.ToString();//值单位(Rp0.2,MPa...)
  158. openWith["MEMO"] = row.Cells["MEMO"].Value.ToString() + this.UserInfo.GetUserName();
  159. openWith["ITEM_CODE_L"] = row.Cells["ITEM_CODE_L"].Value.ToString();//试验位置代码
  160. openWith["ITEM_DESC_L"] = row.Cells["ITEM_DESC_L"].Value.ToString();
  161. sb.Append(JsonConvert.SerializeObject(openWith));
  162. }
  163. tf = tf + 1;
  164. }
  165. }
  166. sb.Append("]");
  167. string sbb = sb.ToString();
  168. //JArray jo = (JArray)JsonConvert.DeserializeObject(sbb);
  169. //查询数据库里的数据
  170. CoreClientParam ccp = new CoreClientParam();
  171. DataTable datatable = new DataTable();
  172. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  173. ccp.MethodName = "addPhyItem";
  174. ccp.ServerParams = new object[] { sbb, specimenNo, smpNo };
  175. ccp.SourceDataTable = this.dataSet2.Tables[0];
  176. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  177. if (ccp.ReturnCode != -1)
  178. {
  179. MessageBox.Show("新增成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  180. }
  181. this.Close();
  182. }
  183. catch (Exception ex)
  184. {
  185. System.Diagnostics.Debug.WriteLine(ex.ToString());
  186. MessageBox.Show("系统出错,请联系管理人员", "警告");
  187. }
  188. }
  189. #endregion
  190. #endregion
  191. #region 其它事件
  192. private void ultraGrid1_AfterHeaderCheckStateChanged(object sender, AfterHeaderCheckStateChangedEventArgs e)
  193. {
  194. ultraGrid1.UpdateData();
  195. }
  196. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  197. {
  198. ultraGrid1.UpdateData();
  199. }
  200. #endregion
  201. #region 下拉框触发事件
  202. private void phyDescL_SelectionChanged(object sender, EventArgs e)
  203. {
  204. QueryPhyDescM();//材质试样组描述 下拉框
  205. // this.DoQuery();
  206. }
  207. private void phyDescM_SelectionChanged(object sender, EventArgs e)
  208. {
  209. QueryPhyNameS();//材质检验项名称 下拉框
  210. // this.DoQuery();
  211. }
  212. private void phyNameS_SelectionChanged(object sender, EventArgs e)
  213. {
  214. //this.DoQuery();
  215. }
  216. #endregion
  217. #region 材质大类描述 下拉框
  218. public void QueryPhyDescL()
  219. {
  220. this.dataSet1.Clear();
  221. CoreClientParam ccp = new CoreClientParam();
  222. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";//调用java地址
  223. ccp.MethodName = "getPhyDescL";//调用的方法
  224. ccp.ServerParams = new object[] { plineCode };
  225. ccp.SourceDataTable = this.dataSet1.Tables[0];
  226. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  227. ValueList VDEFECT_DESC = new ValueList();
  228. for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++)
  229. {
  230. VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["phy_desc_l"].ToString(), ccp.SourceDataTable.Rows[i]["phy_desc_l"].ToString());
  231. }
  232. phyDescL.ValueList = VDEFECT_DESC;
  233. }
  234. #endregion
  235. #region 材质试样组描述 下拉框
  236. public void QueryPhyDescM()
  237. {
  238. this.dataSet1.Clear();
  239. String phyDescLText = phyDescL.Text.ToString().Trim();
  240. CoreClientParam ccp = new CoreClientParam();
  241. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";//调用java地址
  242. ccp.MethodName = "getPhyDescM";//调用的方法
  243. ccp.ServerParams = new object[] { phyDescLText, plineCode };
  244. ccp.SourceDataTable = this.dataSet1.Tables[0];
  245. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  246. ValueList VDEFECT_DESC = new ValueList();
  247. for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++)
  248. {
  249. VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["phy_desc_m"].ToString(), ccp.SourceDataTable.Rows[i]["phy_desc_m"].ToString());
  250. }
  251. phyDescM.ValueList = VDEFECT_DESC;
  252. }
  253. #endregion
  254. #region 材质检验项名称 下拉框
  255. public void QueryPhyNameS()
  256. {
  257. this.dataSet1.Clear();
  258. String phyDescLText = phyDescL.Text.ToString().Trim();
  259. String phyDescMTest = phyDescM.Text.ToString().Trim();
  260. CoreClientParam ccp = new CoreClientParam();
  261. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";//调用java地址
  262. ccp.MethodName = "getPhyNameS";//调用的方法
  263. ccp.ServerParams = new object[] { phyDescLText, phyDescMTest, plineCode };
  264. ccp.SourceDataTable = this.dataSet1.Tables[0];
  265. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  266. ValueList VDEFECT_DESC = new ValueList();
  267. for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++)
  268. {
  269. VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["phy_name_s"].ToString(), ccp.SourceDataTable.Rows[i]["phy_name_s"].ToString());
  270. }
  271. phyNameS.ValueList = VDEFECT_DESC;
  272. }
  273. #endregion
  274. }
  275. }