frmInnerMSCRGRD2.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using CoreFS.CA06;
  5. using Infragistics.Win.UltraWinEditors;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Collections.Generic;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Windows.Forms;
  13. namespace Core.StlMes.Client.Qcm
  14. {
  15. /// <summary>
  16. /// 成分内控标准管理
  17. /// </summary>
  18. public partial class frmInnerMSCRGRD2 : FrmBase
  19. {
  20. private string errMesage = "";
  21. //成分基础表数据
  22. private DataTable dtChem = null;
  23. //扣型基础表数据
  24. //private DataTable dtModel = null;
  25. //接箍码基础表数据
  26. private DataTable dtSCJG = null;
  27. //钢种管理基础表数据
  28. private DataTable dtGrade = null;
  29. //标准基础表数据
  30. private DataTable dtBaseStd = null;
  31. //工序基础表数据
  32. private DataTable dtProcess = null;
  33. //成分索引号数字部分
  34. private int _cic = 1;
  35. //成分索引号与序号
  36. private Dictionary<string, int> _diction = new Dictionary<string, int>();
  37. public frmInnerMSCRGRD2()
  38. {
  39. InitializeComponent();
  40. ExceptionHelper.RegistException();
  41. this.StartPosition = FormStartPosition.Manual;
  42. this.Location = new Point(210, 220);
  43. }
  44. private OpeBase _ob;
  45. public OpeBase SetOb
  46. {
  47. get { return _ob; }
  48. set { _ob = value; }
  49. }
  50. private string msc;
  51. public string Msc
  52. {
  53. get { return msc; }
  54. set { msc = value; }
  55. }
  56. private string msc_pline;
  57. public string Msc_pline
  58. {
  59. get { return msc_pline; }
  60. set { msc_pline = value; }
  61. }
  62. private string namerd;
  63. public string NameOrd
  64. {
  65. get { return namerd; }
  66. set { namerd = value; }
  67. }
  68. /// <summary>
  69. /// 查询
  70. /// </summary>
  71. private void DoQuery()
  72. {
  73. ArrayList list = QueryCondition();
  74. //主表查询
  75. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.queryMscStdCic", new Object[] { list }, this._ob);
  76. dataTable2.Clear();
  77. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
  78. //从表查询
  79. DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.queryMscStdChem", new Object[] { list }, this._ob);
  80. GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable2, true);
  81. RefreshMscGrade();
  82. //初始化序号与索引号
  83. _diction = new Dictionary<string, int>();
  84. _cic = 1;
  85. }
  86. private void RefreshMscGrade()
  87. {
  88. ArrayList list = new ArrayList();
  89. list.Add(msc);
  90. list.Add(msc_pline);
  91. DataTable dt = null;
  92. try
  93. {
  94. dt = ServerHelper.GetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.queryMscGrade",
  95. new object[] { list }, _ob);
  96. }
  97. catch
  98. {
  99. return;
  100. }
  101. foreach (DataRow dr in dt.Rows)
  102. {
  103. UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGridMSCRGRD,
  104. new string[] { "CIC" }, new string[] { dr["CIC"].ToString() });
  105. if (rows.Length > 0)
  106. {
  107. rows[0].Cells["CHC"].Value = true;
  108. }
  109. }
  110. ultraGridMSCRGRD.UpdateData();
  111. }
  112. /// <summary>
  113. /// 查询条件
  114. /// </summary>
  115. /// <returns></returns>
  116. private ArrayList QueryCondition()
  117. {
  118. ArrayList list = new ArrayList();
  119. string standName = "";
  120. if (this.ultraCheckStand.Checked)
  121. standName = this.NStandName.Text.Trim();
  122. string processName = "";
  123. if (this.ultraCheckProcess.Checked)
  124. processName = this.ProcessName.Text.Trim();
  125. string gradeName = "";
  126. if (this.ultraCheckGrade.Checked)
  127. gradeName = this.GradeName.Text.Trim();
  128. list.Add(standName);
  129. list.Add(standName);
  130. list.Add(standName);
  131. list.Add(processName);
  132. list.Add(processName);
  133. list.Add(processName);
  134. list.Add(gradeName);
  135. list.Add(gradeName);
  136. list.Add(gradeName);
  137. return list;
  138. }
  139. private void frmInnerChemcs_Load(object sender, EventArgs e)
  140. {
  141. InitAllDownList();
  142. DoQuery();
  143. }
  144. /// <summary>
  145. /// 初始化下限符号
  146. /// </summary>
  147. private void InitStdminSign()
  148. {
  149. DataTable dt = new DataTable();
  150. dt.Columns.Add("STDMIN_SIGN");
  151. DataRow dr1 = dt.NewRow();
  152. dr1["STDMIN_SIGN"] = ">";
  153. DataRow dr2 = dt.NewRow();
  154. dr2["STDMIN_SIGN"] = ">=";
  155. DataRow dr3 = dt.NewRow();
  156. dr3["STDMIN_SIGN"] = "=";
  157. DataRow dr4 = dt.NewRow();
  158. dr4["STDMIN_SIGN"] = "";
  159. dt.Rows.Add(dr1);
  160. dt.Rows.Add(dr2);
  161. dt.Rows.Add(dr3);
  162. dt.Rows.Add(dr4);
  163. ultraStdmin.DataSource = dt;
  164. ultraStdmin.DisplayMember = "STDMIN_SIGN";
  165. }
  166. /// <summary>
  167. /// 初始化上限符号
  168. /// </summary>
  169. private void InitStdmaxSign()
  170. {
  171. DataTable dt = new DataTable();
  172. dt.Columns.Add("STDMAX_SIGN");
  173. DataRow dr1 = dt.NewRow();
  174. dr1["STDMAX_SIGN"] = "<";
  175. DataRow dr2 = dt.NewRow();
  176. dr2["STDMAX_SIGN"] = "<=";
  177. DataRow dr3 = dt.NewRow();
  178. dr3["STDMAX_SIGN"] = "";
  179. dt.Rows.Add(dr1);
  180. dt.Rows.Add(dr2);
  181. dt.Rows.Add(dr3);
  182. ultraStdmax.DataSource = dt;
  183. ultraStdmax.DisplayMember = "STDMAX_SIGN";
  184. }
  185. /// <summary>
  186. /// 初始化所有下拉框
  187. /// </summary>
  188. private void InitAllDownList()
  189. {
  190. try
  191. {
  192. //下限
  193. InitStdminSign();
  194. //上限
  195. InitStdmaxSign();
  196. //成分代码
  197. InitDropList(ref dtChem, ultraChem, "com.steering.pss.qcm.ComBaseQuery.getCombaseChemA", "CHEM_NAME");
  198. //结箍码
  199. InitDropList(ref dtSCJG, ultraSCJG, "com.steering.pss.qcm.ComBaseQuery.getComMSCJG", "SPEC_JG_DESC");
  200. //钢种代码
  201. InitDropList(ref dtGrade, ultraGride, "com.steering.pss.qcm.ComBaseQuery.geComBaseGrade", "GRADENAME");
  202. //标准
  203. InitDropList(ref dtBaseStd, ultraBaseStd, "com.steering.pss.qcm.ComBaseQuery.geComBaseStdN", "STD_NAME");
  204. //工序
  205. InitDropList(ref dtProcess, ultraProcess, "com.steering.pss.qcm.ComBaseQuery.geComBaseProcess", "PROCESS_DESC");
  206. //查询条件初始不可用
  207. this.NStandName.Enabled = false;
  208. this.GradeName.Enabled = false;
  209. this.ProcessName.Enabled = false;
  210. }
  211. catch (Exception)
  212. {
  213. }
  214. }
  215. /// <summary>
  216. /// 初始下拉框
  217. /// </summary>
  218. /// <param name="dt">数据表</param>
  219. /// <param name="uce">下拉框</param>
  220. /// <param name="methodId">方法名</param>
  221. /// <param name="desc">描述</param>
  222. /// <param name="code">代码</param>
  223. private void InitDropList(ref DataTable dt, UltraComboEditor uce, string methodId, string desc)
  224. {
  225. dt = ServerHelper.GetData(methodId, null, this._ob);
  226. DataRow dr = dt.NewRow();
  227. dt.Rows.Add(dr);
  228. if (dt != null && dt.Rows.Count > 0)
  229. {
  230. uce.DataSource = dt;
  231. uce.Text = desc;
  232. uce.DisplayMember = desc;
  233. }
  234. }
  235. /// <summary>
  236. /// 标准名称
  237. /// </summary>
  238. /// <param name="sender"></param>
  239. /// <param name="e"></param>
  240. private void ultraCheckStand_CheckedChanged(object sender, EventArgs e)
  241. {
  242. if (ultraCheckStand.Checked)
  243. this.NStandName.Enabled = true;
  244. else
  245. this.NStandName.Enabled = false;
  246. }
  247. /// <summary>
  248. /// 适用工序
  249. /// </summary>
  250. /// <param name="sender"></param>
  251. /// <param name="e"></param>
  252. private void ultraCheckProcess_CheckedChanged(object sender, EventArgs e)
  253. {
  254. if (ultraCheckProcess.Checked)
  255. this.ProcessName.Enabled = true;
  256. else
  257. this.ProcessName.Enabled = false;
  258. }
  259. /// <summary>
  260. /// 钢种
  261. /// </summary>
  262. /// <param name="sender"></param>
  263. /// <param name="e"></param>
  264. private void ultraCheckGrade_CheckedChanged(object sender, EventArgs e)
  265. {
  266. if (ultraCheckGrade.Checked)
  267. this.GradeName.Enabled = true;
  268. else
  269. this.GradeName.Enabled = false;
  270. }
  271. public void SetModelText(string code, string desc)
  272. {
  273. this.ultraGridMSCRGRD.DisplayLayout.ActiveRow.Cells["MODEL_CODE"].Value = code;
  274. this.ultraGridMSCRGRD.DisplayLayout.ActiveRow.Cells["MODEL_DESC"].Value = desc;
  275. }
  276. private void buttonQUERY_Click(object sender, EventArgs e)
  277. {
  278. DoQuery();
  279. }
  280. private void buttonEsc_Click(object sender, EventArgs e)
  281. {
  282. this.Close();
  283. }
  284. private void buttonInsert_Click(object sender, EventArgs e)
  285. {
  286. add();
  287. }
  288. public void add()
  289. {
  290. ultraGridMSCRGRD.UpdateData();
  291. ArrayList list = new ArrayList();
  292. foreach (UltraGridRow ugrs in this.ultraGridMSCRGRD.Rows)
  293. {
  294. bool chk = bool.Parse(ugrs.Cells["CHC"].Value.ToString());
  295. ArrayList parm = new ArrayList();
  296. parm.Add(chk ? "" : "DELETE");
  297. parm.Add(this.msc);
  298. parm.Add(this.msc_pline);
  299. parm.Add(ugrs.Cells["CIC"].Value.ToString());
  300. parm.Add(ugrs.Cells["GRADECODE"].Value.ToString() == "" ? " " : ugrs.Cells["GRADECODE"].Value.ToString());
  301. parm.Add(ugrs.Cells["GRADENAME"].Value.ToString() == "" ? " " : ugrs.Cells["GRADENAME"].Value.ToString());
  302. parm.Add(ugrs.Cells["GRADECODE"].Value.ToString() == "" ? " " : ugrs.Cells["GRADECODE"].Value.ToString());
  303. parm.Add(ugrs.Cells["GRADENAME"].Value.ToString() == "" ? " " : ugrs.Cells["GRADENAME"].Value.ToString());
  304. parm.Add(ugrs.Cells["STD_CODE_NK"].Value.ToString() == "" ? " " : ugrs.Cells["STD_CODE_NK"].Value.ToString());
  305. parm.Add(ugrs.Cells["STD_NAME_NK"].Value.ToString() == "" ? " " : ugrs.Cells["STD_NAME_NK"].Value.ToString());
  306. parm.Add(namerd);
  307. parm.Add(ugrs.Cells["MEMO"].Value.ToString());
  308. list.Add(parm);
  309. }
  310. try
  311. {
  312. ServerHelper.SetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.insertMscGrade",
  313. new object[] { list }, _ob);
  314. }
  315. catch
  316. {
  317. return;
  318. }
  319. MessageUtil.ShowTips("操作成功!");
  320. this.DialogResult = DialogResult.OK;
  321. }
  322. private void ultraGridMSCRGRD_InitializeRow(object sender, InitializeRowEventArgs e)
  323. {
  324. if (e.Row.Cells["VALIDFLAGNAME"].Value.ToString() == "无效")
  325. {
  326. e.Row.Appearance.ForeColor = Color.Red;
  327. }
  328. }
  329. }
  330. }