FrmMchSourcApp.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.Mcp.Control.Base;
  5. using CoreFS.CA06;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Collections.Generic;
  10. using System.ComponentModel;
  11. using System.Data;
  12. using System.Drawing;
  13. using System.Linq;
  14. using System.Text;
  15. using System.Windows.Forms;
  16. namespace Core.StlMes.Client.Mcp.Mch.MchResult
  17. {
  18. public partial class FrmMchSourcApp : FrmBase
  19. {
  20. public FrmMchSourcApp()
  21. {
  22. InitializeComponent();
  23. }
  24. private void FrmMchSourcApp_Load(object sender, EventArgs e)
  25. {
  26. DateTime now = DateTime.Now;
  27. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  28. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  29. this.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  30. this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  31. }
  32. /// <summary>
  33. /// 重写基类方法
  34. /// </summary>
  35. /// <param name="sender"></param>
  36. /// <param name="ToolbarKey"></param>
  37. public override void ToolBar_Click(object sender, string ToolbarKey)
  38. {
  39. switch (ToolbarKey)
  40. {
  41. case "Query":
  42. DoQuery();
  43. break;
  44. case "AppThrough":
  45. DoAppThrough();
  46. break;
  47. case "AppNotThrough":
  48. DoAppNotThrough();
  49. break;
  50. case "OutsourcReturn":
  51. DoOutsourcReturn();
  52. break;
  53. case "Export":
  54. GridHelper.ulGridToExcel(ultraGrid1, "委外审批信息");
  55. break;
  56. case "Close":
  57. this.Close();
  58. break;
  59. }
  60. }
  61. /// <summary>
  62. /// 查询
  63. /// </summary>
  64. private void DoQuery()
  65. {
  66. if (!CheckQuery()) return;
  67. string startTime = "";
  68. string endTime = "";
  69. string judgeNo = "";
  70. string batchNo = "";
  71. string strat = "";
  72. if (chkTim.Checked)
  73. {
  74. startTime = StartTime.Value.ToString();
  75. endTime = EndTime.Value.ToString();
  76. }
  77. if (chkJugeHeatNo.Checked)
  78. {
  79. judgeNo = txtJugeNo.Text.ToString().Trim();
  80. }
  81. if (chkBatch.Checked)
  82. {
  83. batchNo = txtBatch.Text.ToString().Trim();
  84. }
  85. if (chkStrat.Checked)
  86. {
  87. strat = cmbStrat.Value.ToString();
  88. }
  89. ArrayList list = new ArrayList();
  90. list.Add(startTime);
  91. list.Add(endTime);
  92. list.Add(judgeNo);
  93. list.Add(batchNo);
  94. list.Add(strat);
  95. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMchSourcApp.doQuery", new object[] { list }, this.ob);
  96. GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);
  97. }
  98. /// <summary>
  99. /// 审批通过
  100. /// </summary>
  101. private void DoAppThrough()
  102. {
  103. string plineCode="";
  104. string plineName = "";
  105. string spNote = "";
  106. this.ultraGrid1.UpdateData();
  107. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  108. if (checkMagRows.Count() == 0)
  109. {
  110. MessageUtil.ShowTips("请勾选需要审批通过的委外信息!");
  111. return;
  112. }
  113. FrmOutSouCon subCon = new FrmOutSouCon(this.ob);
  114. if (subCon.ShowDialog() == DialogResult.OK)
  115. {
  116. spNote=subCon.Remark;//审批说明
  117. plineCode = subCon.PlinCode;
  118. plineName = subCon.PlineName;
  119. }
  120. else
  121. {
  122. return;
  123. }
  124. ArrayList parm2 = new ArrayList();
  125. foreach (UltraGridRow row in checkMagRows)
  126. {
  127. ArrayList parm = new ArrayList();
  128. parm.Add(spNote);
  129. parm.Add(plineCode);
  130. parm.Add(plineName);
  131. parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString());
  132. parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString());
  133. parm.Add(this.UserInfo.GetUserName());
  134. parm.Add(this.UserInfo.GetUserGroup());
  135. parm.Add(this.UserInfo.GetUserOrder());
  136. parm2.Add(parm);
  137. }
  138. if (MessageUtil.ShowYesNoAndQuestion("是否确认审批通过?") == DialogResult.No) return;
  139. CoreClientParam ccp = new CoreClientParam();
  140. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp";
  141. ccp.MethodName = "doAppThrough";
  142. ccp.ServerParams = new object[] { parm2 };
  143. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  144. if (ccp.ReturnCode != -1)
  145. {
  146. MessageUtil.ShowTips(ccp.ReturnInfo);
  147. if (ccp.ReturnInfo.Equals("审批通过成功!"))
  148. {
  149. DoQuery();
  150. }
  151. }
  152. }
  153. /// <summary>
  154. /// 审批不通过
  155. /// </summary>
  156. private void DoAppNotThrough()
  157. {
  158. string plineCode = "";
  159. string plineName = "";
  160. string spNote = "";
  161. this.ultraGrid1.UpdateData();
  162. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  163. if (checkMagRows.Count() == 0)
  164. {
  165. MessageUtil.ShowTips("请勾选需要审批不通过的委外信息!");
  166. return;
  167. }
  168. if (MessageUtil.ShowYesNoAndQuestion("是否确认审批不通过?") == DialogResult.No) return;
  169. FrmOutSouCon subCon = new FrmOutSouCon(this.ob);
  170. if (subCon.ShowDialog() == DialogResult.OK)
  171. {
  172. spNote = subCon.Remark;//审批说明
  173. plineCode = subCon.PlinCode;
  174. plineName = subCon.PlineName;
  175. }
  176. else
  177. {
  178. return;
  179. }
  180. ArrayList parm2 = new ArrayList();
  181. foreach (UltraGridRow row in checkMagRows)
  182. {
  183. ArrayList parm = new ArrayList();
  184. parm.Add(spNote);
  185. parm.Add(plineCode);
  186. parm.Add(plineName);
  187. parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString());
  188. parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString());
  189. parm.Add(this.UserInfo.GetUserName());
  190. parm.Add(this.UserInfo.GetUserGroup());
  191. parm.Add(this.UserInfo.GetUserOrder());
  192. parm.Add(row.Cells["RESULT_NO"].Text.ToString());
  193. parm2.Add(parm);
  194. }
  195. CoreClientParam ccp = new CoreClientParam();
  196. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp";
  197. ccp.MethodName = "doAppNotThrough";
  198. ccp.ServerParams = new object[] { parm2 };
  199. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  200. if (ccp.ReturnCode != -1)
  201. {
  202. MessageUtil.ShowTips(ccp.ReturnInfo);
  203. if (ccp.ReturnInfo.Equals("审批不通过成功!"))
  204. {
  205. DoQuery();
  206. }
  207. }
  208. }
  209. /// <summary>
  210. /// 委外回报
  211. /// </summary>
  212. private void DoOutsourcReturn()
  213. {
  214. this.ultraGrid1.UpdateData();
  215. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  216. if (checkMagRows.Count() == 0)
  217. {
  218. MessageUtil.ShowTips("请勾选需要回报的委外信息!");
  219. return;
  220. }
  221. ArrayList parm2 = new ArrayList();
  222. foreach (UltraGridRow row in checkMagRows)
  223. {
  224. if (row.Cells["HB_COMPLETE_NUM"].Value.ToString().Equals("0"))
  225. {
  226. MessageUtil.ShowTips("请输入委外回报支数!");
  227. return;
  228. }
  229. if (row.Cells["HB_COMPLETE_WT"].Value.ToString().Equals("0"))
  230. {
  231. MessageUtil.ShowTips("请输入委外回报重量!");
  232. return;
  233. }
  234. ArrayList parm = new ArrayList();
  235. parm.Add(row.Cells["HB_COMPLETE_NUM"].Value.ToString());
  236. parm.Add(row.Cells["HB_COMPLETE_WT"].Value.ToString());
  237. parm.Add(row.Cells["HB_FP_NUM"].Text.ToString());
  238. parm.Add(row.Cells["HB_FP_WT"].Text.ToString());
  239. parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString());
  240. parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString());
  241. parm.Add(this.UserInfo.GetUserName());
  242. parm.Add(this.UserInfo.GetUserGroup());
  243. parm.Add(this.UserInfo.GetUserOrder());
  244. parm.Add(row.Cells["RESULT_NO"].Text.ToString());
  245. parm2.Add(parm);
  246. }
  247. if (MessageUtil.ShowYesNoAndQuestion("是否确认委外回报?") == DialogResult.No) return;
  248. CoreClientParam ccp = new CoreClientParam();
  249. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp";
  250. ccp.MethodName = "doOutsourcReturn";
  251. ccp.ServerParams = new object[] { parm2 };
  252. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  253. if (ccp.ReturnCode != -1)
  254. {
  255. MessageUtil.ShowTips(ccp.ReturnInfo);
  256. if (ccp.ReturnInfo.Equals("委外回报成功!"))
  257. {
  258. DoQuery();
  259. }
  260. }
  261. }
  262. /// <summary>
  263. /// 数据验证
  264. /// </summary>
  265. /// <returns></returns>
  266. private bool CheckQuery()
  267. {
  268. if (DataTimeUtil.JudgeTime(DateTime.Parse(StartTime.Value.ToString()), DateTime.Parse(EndTime.Value.ToString())) == 0)
  269. {
  270. MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!");
  271. return false;
  272. }
  273. if (this.chkJugeHeatNo.Checked && string.IsNullOrEmpty(this.txtJugeNo.Text.Trim()))
  274. {
  275. MessageUtil.ShowWarning("请输入炉号!");
  276. return false;
  277. }
  278. if (this.chkBatch.Checked && string.IsNullOrEmpty(this.txtBatch.Text.Trim()))
  279. {
  280. MessageUtil.ShowWarning("请输入生产批号!");
  281. return false;
  282. }
  283. if (this.chkStrat.Checked && string.IsNullOrEmpty(this.cmbStrat.Text.Trim()))
  284. {
  285. MessageUtil.ShowWarning("请选择委外状态!");
  286. return false;
  287. }
  288. return true;
  289. }
  290. private void chkTim_CheckedChanged(object sender, EventArgs e)
  291. {
  292. if (chkTim.Checked) { StartTime.Enabled = true; EndTime.Enabled = true; } else { StartTime.Enabled = false; EndTime.Enabled = false; }
  293. if (chkJugeHeatNo.Checked) { txtJugeNo.Enabled = true; } else { txtJugeNo.Enabled = false; }
  294. if (chkBatch.Checked) { txtBatch.Enabled = true; } else { txtBatch.Enabled = false; }
  295. if (chkStrat.Checked) { cmbStrat.Enabled = true; } else { cmbStrat.Enabled = false; }
  296. }
  297. /// <summary>
  298. /// ultraGrid1改变事件
  299. /// </summary>
  300. /// <param name="sender"></param>
  301. /// <param name="e"></param>
  302. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  303. {
  304. //委外回报合格支
  305. if (e.Cell.Column.Key.Equals("HB_COMPLETE_NUM"))
  306. {
  307. if (e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value == null)
  308. {
  309. e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0";
  310. }
  311. else
  312. {
  313. ultraGrid1.UpdateData();
  314. string hbConNum = e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString();
  315. if (!StringUtil.IsInt(hbConNum) || hbConNum == "0")
  316. {
  317. e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0";
  318. }
  319. if (int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString()) > int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString()))
  320. {
  321. e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0";
  322. }
  323. e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = ((double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Value.ToString()) / int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString())) * int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString())).ToString("f3");
  324. e.Cell.Row.Cells["HB_FP_NUM"].Value = int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString()) - int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString());
  325. e.Cell.Row.Cells["HB_FP_WT"].Value = (double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Value.ToString()) - double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString())).ToString("f3");
  326. }
  327. }
  328. //委外回报合格吨
  329. if (e.Cell.Column.Key.Equals("HB_COMPLETE_WT"))
  330. {
  331. if (e.Cell.Row.Cells["HB_COMPLETE_WT"].Value == null)
  332. {
  333. e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0";
  334. }
  335. else
  336. {
  337. ultraGrid1.UpdateData();
  338. string hbConWt = e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString();
  339. if (!StringUtil.IsFloat(hbConWt) || hbConWt == "0")
  340. {
  341. e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0";
  342. }
  343. if (double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString()) > double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Text.ToString()))
  344. {
  345. e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0";
  346. }
  347. e.Cell.Row.Cells["HB_FP_WT"].Value = (double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Text.ToString()) - double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString())).ToString("f3");
  348. }
  349. }
  350. }
  351. }
  352. }