FrmModifyPlnJgM.cs 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  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 Core.Mes.Client.Comm.Control;
  11. using Core.Mes.Client.Comm.Server;
  12. using Core.Mes.Client.Comm;
  13. using com.steering.pss.plan.jgtransa.model;
  14. using System.Collections;
  15. using Infragistics.Win.UltraWinGrid;
  16. using Core.Mes.Client.Comm.Tool;
  17. namespace Core.StlMes.Client.Plan.Order.JGGXPln
  18. {
  19. public partial class FrmModifyPlnJgM : FrmBase
  20. {
  21. /// <summary>
  22. /// 接箍订单号
  23. /// </summary>
  24. private string proPlanId = "";
  25. public FrmModifyPlnJgM()
  26. {
  27. InitializeComponent();
  28. }
  29. public FrmModifyPlnJgM(OpeBase _ob)
  30. {
  31. InitializeComponent();
  32. this.ob = _ob;
  33. }
  34. private void FrmModifyPlnJgM_Load(object sender, EventArgs e)
  35. {
  36. comPlineTimeCtrl1.ComBLL(this.ob);
  37. DoQuery();
  38. }
  39. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  40. {
  41. switch (e.Tool.Key)
  42. {
  43. case "Query":
  44. DoQuery();
  45. break;
  46. case "Modefiy":
  47. DoModify();
  48. break;
  49. case "Close":
  50. this.Close();
  51. break;
  52. }
  53. }
  54. /// <summary>
  55. /// 查询
  56. /// </summary>
  57. private void DoQuery()
  58. {
  59. DateTime date = new DateTime();
  60. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
  61. new object[] { proPlanId }, this.ob);
  62. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  63. {
  64. MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
  65. return;
  66. }
  67. if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
  68. {
  69. MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
  70. return;
  71. }
  72. DateTime.TryParse(dtStatus.Rows[0]["PLAN_TIME_JG"].ToString(), out date);
  73. comPlineTimeCtrl1.DateTimeProdu.Value = date;
  74. comPlineTimeCtrl1.Query(dtStatus.Rows[0]["CODE_JG_BL"].ToString(), dtStatus.Rows[0]["CODE_JG"].ToString());
  75. comPlineTimeCtrl1.setPline(dtStatus.Rows[0]["PLINE_CODE"].ToString());
  76. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDMForD",
  77. new object[] { this.proPlanId }, this.ob);
  78. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  79. PlanComm.setGridActivation(ultraGridGXJGD.DisplayLayout.Bands[0], "PLANNUM");
  80. PlanComm.setGridDigitalCol(ultraGridGXJGD.DisplayLayout.Bands[0], 7, 0, "PLANNUM", "PRODUCED_NUM");
  81. }
  82. /// <summary>
  83. /// 修改
  84. /// </summary>
  85. private void DoModify()
  86. {
  87. try
  88. {
  89. ArrayList list = new ArrayList();
  90. PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity();
  91. DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
  92. new object[] { proPlanId }, this.ob);
  93. if (dtStatus == null || dtStatus.Rows.Count <= 0)
  94. {
  95. MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
  96. return;
  97. }
  98. if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
  99. {
  100. MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
  101. return;
  102. }
  103. int singleCutNun = Convert.ToInt32(dtStatus.Rows[0]["SINGLE_CUT_NUN"]);
  104. int numJg = 0; //订单接箍个数
  105. int numBl = 0; //备料支数
  106. double weightJg = 0;
  107. double weightBl = 0;
  108. double hrCapcty = 0; //小时能力(t/h)
  109. ArrayList param = new ArrayList();
  110. param.Add(dtStatus.Rows[0]["CODE_JG_BL"].ToString());
  111. param.Add(dtStatus.Rows[0]["CODE_JG"].ToString());
  112. param.Add(comPlineTimeCtrl1.Plinecode);
  113. DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJgPlHrCapcty",
  114. new object[] { param }, this.ob);
  115. if (dt != null && dt.Rows.Count > 0)
  116. {
  117. double.TryParse(dt.Rows[0]["HR_CAPCTY"].ToString(), out hrCapcty);
  118. }
  119. foreach (UltraGridRow uRow in ultraGridGXJGD.Rows)
  120. {
  121. PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity();
  122. jgDEntity.ProPlanId = proPlanId;
  123. jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString();
  124. jgDEntity.Plannum = uRow.Cells["PLANNUM"].Value.ToString();
  125. jgDEntity.UpdateName = UserInfo.GetUserName();
  126. jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString();
  127. list.Add(jgDEntity);
  128. numJg += Convert.ToInt32(uRow.Cells["PLANNUM"].Value);
  129. }
  130. //需备料管支数
  131. if ((numJg % singleCutNun) == 0)
  132. {
  133. numBl = numJg / singleCutNun;
  134. }
  135. else
  136. {
  137. numBl = (numJg / singleCutNun) + 1;
  138. }
  139. if (Convert.ToDouble(dtStatus.Rows[0]["BL_NUM"]) <= 0)
  140. {
  141. MessageUtil.ShowError("原接箍订单信息有误!");
  142. return;
  143. }
  144. weightJg = numJg * Convert.ToDouble(dtStatus.Rows[0]["SINGLEWEIGHT"]) / 1000;
  145. weightBl = numBl * Convert.ToDouble(dtStatus.Rows[0]["BL_WEIGHT"]) / Convert.ToDouble(dtStatus.Rows[0]["BL_NUM"]);
  146. jgMEntity.PlanTimeJg = comPlineTimeCtrl1.DateTimeProdu.Value.ToString("yyyy-MM-dd HH:mm:ss");
  147. jgMEntity.ProPlanId = proPlanId;
  148. jgMEntity.PlanNum = numJg.ToString();
  149. jgMEntity.BlNum = numBl.ToString();
  150. jgMEntity.BlWeight = weightBl.ToString();
  151. jgMEntity.UpdateName = UserInfo.GetUserName();
  152. jgMEntity.PlanUsetimeJg = (weightJg * hrCapcty * 60).ToString();//单位分min
  153. jgMEntity.PlineCode = comPlineTimeCtrl1.Plinecode;
  154. jgMEntity.PlineName = comPlineTimeCtrl1.Plinename;
  155. int succed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.doModifyJGDD",
  156. new object[] { list, jgMEntity }, this.ob);
  157. if (succed > 0)
  158. {
  159. MessageUtil.ShowTips("成功!");
  160. }
  161. }
  162. catch (Exception ex)
  163. {
  164. if (!(ex is MESException))
  165. {
  166. MessageBox.Show(ex.Message);
  167. }
  168. }
  169. DoQuery();
  170. }
  171. /// <summary>
  172. /// 接箍订单号
  173. /// </summary>
  174. public string ProPlanId
  175. {
  176. get { return proPlanId; }
  177. set { proPlanId = value; }
  178. }
  179. }
  180. }