QCM0206.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  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 System.Collections;
  10. using CoreFS.CA06;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Infragistics.Win;
  13. using Newtonsoft.Json;
  14. using Newtonsoft.Json.Linq;
  15. namespace Core.LZMes.Client.QCM
  16. {
  17. public partial class QCM0206 : FrmBase
  18. {
  19. #region 初始变量
  20. public string specimenNo;//取样编号
  21. public string smpNo;//试样号
  22. public string batchNo;//轧批号
  23. public string designKey;//订单号
  24. public string steelCode;//牌号
  25. public string thick;//规格
  26. #endregion
  27. public QCM0206()
  28. {
  29. InitializeComponent();
  30. }
  31. private void QCM0206_Load(object sender, EventArgs e)
  32. {
  33. this.MinimumSize = new Size(1300, 650);
  34. // this.MaximumSize = new Size(2000, 1000);
  35. this.textBox1.Text = batchNo;//轧批号
  36. this.DoQuery();//查询被引用项目
  37. this.DoQueryNew();//引用项目
  38. this.QueryDesignKey();//订单号 牌号 规格
  39. }
  40. public override void ToolBar_Click(object sender, string ToolbarKey)
  41. {
  42. switch (ToolbarKey)
  43. {
  44. case "Query":
  45. this.DoQuery();
  46. break;
  47. case "InExport":
  48. break;
  49. }
  50. }
  51. #region 查询按钮
  52. private void button1_Click(object sender, EventArgs e)
  53. {
  54. this.DoQuery();
  55. }
  56. #endregion
  57. #region 全选
  58. private void checkBox2_CheckedChanged(object sender, EventArgs e)
  59. {
  60. foreach (UltraGridRow ugr in this.ultraGrid2.Rows.Where(p => p.IsFilteredOut == false).ToList())
  61. {
  62. if (checkBox2.Checked)
  63. {
  64. ugr.Cells["check"].Value = "True";
  65. }
  66. else
  67. {
  68. ugr.Cells["check"].Value = "False";
  69. }
  70. }
  71. }
  72. #endregion
  73. #region 查询当前取样编号项目
  74. private void DoQueryNew()
  75. {
  76. try
  77. {
  78. Hashtable ht = new Hashtable();
  79. ht.Add("SPECIMEN_NO", specimenNo);
  80. CoreClientParam ccp = new CoreClientParam();
  81. this.dataSet1.Clear();
  82. ccp.ServerName = "QCM.JHY01.JHY0102.QuerryJhyQtly";
  83. ccp.MethodName = "getRgYitem";
  84. ccp.SourceDataTable = this.dataSet1.Tables[0];
  85. ccp.ServerParams = new object[] { ht };
  86. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  87. ClsControlPack.RefreshAndAutoSize(ultraGrid1);
  88. }
  89. catch (Exception ex)
  90. {
  91. System.Diagnostics.Debug.WriteLine(ex.ToString());
  92. MessageBox.Show("查询异常!","警告");
  93. }
  94. }
  95. #endregion
  96. #region 被引用项目
  97. private void DoQuery()
  98. {
  99. try
  100. {
  101. String B_DESIGN_KEY = "";
  102. String B_STEEL_CODE = "";
  103. String B_THICK = "";
  104. if (!String.IsNullOrEmpty(this.txt_design_key.Text.ToString()))
  105. {
  106. B_DESIGN_KEY = this.txt_design_key.Text.ToString();
  107. }
  108. else
  109. {
  110. B_DESIGN_KEY = "全部";
  111. }
  112. if (!String.IsNullOrEmpty(this.txt_steel_code.Text.ToString()))
  113. {
  114. B_STEEL_CODE = this.txt_steel_code.Text.ToString();
  115. }
  116. else
  117. {
  118. B_STEEL_CODE = "全部";
  119. }
  120. if (!String.IsNullOrEmpty(this.txt_thick.Text.ToString()))
  121. {
  122. B_THICK = this.txt_thick.Text.ToString();
  123. }
  124. else
  125. {
  126. B_THICK = "全部";
  127. }
  128. Hashtable ht = new Hashtable();
  129. ht.Add("SPECIMEN_NO", specimenNo);//引用取样编号
  130. ht.Add("THICK", thick);//规格
  131. ht.Add("BATCH_NO", batchNo);//轧批号
  132. ht.Add("B_DESIGN_KEY", B_DESIGN_KEY);//被引用订单号
  133. ht.Add("B_STEEL_CODE", B_STEEL_CODE);//被引用牌号
  134. ht.Add("B_THICK", B_THICK);//被引用规格
  135. CoreClientParam ccp = new CoreClientParam();
  136. this.dataSet2.Clear();
  137. ccp.ServerName = "QCM.JHY01.JHY0102.QuerryJhyQtly";
  138. ccp.MethodName = "getRgBYitem";
  139. ccp.SourceDataTable = this.dataSet2.Tables[0];
  140. ccp.ServerParams = new object[] { ht };
  141. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  142. ClsControlPack.RefreshAndAutoSize(ultraGrid2);
  143. }
  144. catch (Exception ex)
  145. {
  146. System.Diagnostics.Debug.WriteLine(ex.ToString());
  147. MessageBox.Show("查询异常!", "警告");
  148. }
  149. }
  150. #endregion
  151. #region 订单号 牌号 规格
  152. public void QueryDesignKey()
  153. {
  154. this.dataSet3.Clear();
  155. Hashtable ht = new Hashtable();
  156. ht.Add("BATCH_NO", batchNo);//轧批号
  157. ht.Add("THICK", thick);//规格
  158. CoreClientParam ccp = new CoreClientParam();
  159. ccp.ServerName = "QCM.JHY01.JHY0102.QuerryJhyQtly";//调用java地址
  160. ccp.MethodName = "getQueryDesignKey";//调用的方法
  161. ccp.ServerParams = new object[] { ht };
  162. ccp.SourceDataTable = this.dataSet3.Tables[0];
  163. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  164. ValueList VDEFECT_DESC = new ValueList();
  165. ValueList VDEFECT_DESC2 = new ValueList();
  166. ValueList VDEFECT_DESC3 = new ValueList();
  167. VDEFECT_DESC.ValueListItems.Add("全部", "全部");
  168. VDEFECT_DESC2.ValueListItems.Add("全部", "全部");
  169. VDEFECT_DESC3.ValueListItems.Add("全部", "全部");
  170. for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++)
  171. {
  172. VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["DESIGN_KEY"].ToString(), ccp.SourceDataTable.Rows[i]["DESIGN_KEY"].ToString());
  173. VDEFECT_DESC2.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["STEEL_CODE"].ToString(), ccp.SourceDataTable.Rows[i]["STEEL_CODE"].ToString());
  174. VDEFECT_DESC3.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["THICK"].ToString(), ccp.SourceDataTable.Rows[i]["THICK"].ToString());
  175. }
  176. txt_design_key.ValueList = VDEFECT_DESC;
  177. txt_steel_code.ValueList = VDEFECT_DESC2;
  178. txt_thick.ValueList = VDEFECT_DESC3;
  179. }
  180. #endregion
  181. #region 引用已选实绩 取样编号:SPECIMEN_NO 材质项目项:PHY_CODE_S GUID 判定记录号:PHY_ID
  182. private void button2_Click(object sender, EventArgs e)
  183. {
  184. StringBuilder sb = new StringBuilder("[");
  185. Dictionary<string, string> openWith = new Dictionary<string, string>();
  186. int tf = 0;
  187. foreach (UltraGridRow row in this.ultraGrid2.Rows)
  188. {
  189. if (row.Cells["check"].Value.ToString().ToLower() == "true")
  190. {
  191. if (tf == 0)
  192. {
  193. openWith.Add("SPECIMEN_NO", row.Cells["SPECIMEN_NO"].Value.ToString());//取样编号
  194. openWith.Add("PHY_CODE_S", row.Cells["PHY_CODE_S"].Value.ToString());//材质项目项
  195. openWith.Add("PHY_NAME_S", row.Cells["PHY_NAME_S"].Value.ToString());//材质项目项
  196. openWith.Add("THICK", row.Cells["THICK"].Value.ToString());//规格
  197. openWith.Add("GUID", row.Cells["GUID"].Value.ToString());//GUID
  198. openWith.Add("PHY_ID", row.Cells["PHY_ID"].Value.ToString());//判定记录号
  199. openWith.Add("CREATE_NAME", this.UserInfo.GetUserName().ToString());//操作人
  200. openWith.Add("SEND_ID", this.UserInfo.GetUserID().ToString());//操作人
  201. sb.Append(JsonConvert.SerializeObject(openWith));
  202. }
  203. if (tf != 0)
  204. {
  205. sb.Append(",");
  206. openWith["SPECIMEN_NO"] = row.Cells["SPECIMEN_NO"].Value.ToString();
  207. openWith["PHY_CODE_S"] = row.Cells["PHY_CODE_S"].Value.ToString();
  208. openWith["PHY_NAME_S"] = row.Cells["PHY_NAME_S"].Value.ToString();
  209. openWith["THICK"] = row.Cells["THICK"].Value.ToString();
  210. openWith["GUID"] = row.Cells["GUID"].Value.ToString();
  211. openWith["PHY_ID"] = row.Cells["PHY_ID"].Value.ToString();
  212. openWith["CREATE_NAME"] = this.UserInfo.GetUserName().ToString();
  213. openWith["SEND_ID"] = this.UserInfo.GetUserID().ToString();
  214. sb.Append(JsonConvert.SerializeObject(openWith));
  215. }
  216. tf = tf + 1;
  217. }
  218. }
  219. sb.Append("]");
  220. string sbb = sb.ToString();
  221. if (tf==0)
  222. {
  223. this.alert("未选择被引用项目!!!");
  224. return;
  225. }
  226. UltraGridRow row1 = this.ultraGrid1.ActiveRow;
  227. if (row1 == null)
  228. {
  229. this.alert("没有找到引用项目!!!");
  230. return;
  231. }
  232. String num1 = row1.Cells["NUMB"].Value.ToString();//引用项目数
  233. int num2=int.Parse(num1);
  234. //被引用数 大于 引用数
  235. if (tf > num2)
  236. {
  237. this.alert("勾选的被引用项目数[" + tf + "]大于引用项目数[" + num2 + "]");
  238. return;
  239. }
  240. //查询数据库里的数据
  241. CoreClientParam ccp = new CoreClientParam();
  242. ccp.ServerName = "QCM.JHY01.JHY0102.QuerryJhyQtly";
  243. ccp.MethodName = "getBYITEM";
  244. ccp.ServerParams = new object[] { sbb, specimenNo };
  245. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  246. if (ccp.ReturnCode != -1)
  247. {
  248. MessageBox.Show("引用成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  249. this.Close();
  250. }
  251. }
  252. #endregion
  253. private void ultraGrid2_InitializeRow(object sender, InitializeRowEventArgs e)
  254. {
  255. //不合格显示颜色
  256. if (e.Row.Cells["IS_PASS"].Value.ToString().Equals("不合格"))
  257. {
  258. e.Row.Appearance.BackColor = Color.Red;//红色
  259. }
  260. }
  261. }
  262. }