FrmFurnace.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  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.Tool;
  11. using Core.StlMes.Client.ZGMil.Entity;
  12. using System.Collections;
  13. using Infragistics.Win.UltraWinGrid;
  14. using Core.Mes.Client.Comm.Format;
  15. using Infragistics.Win;
  16. namespace Core.StlMes.Client.ZGMil.Result
  17. {
  18. public partial class FrmFurnace : FrmBase
  19. {
  20. public FrmFurnace()
  21. {
  22. InitializeComponent();
  23. }
  24. private void FrmFurnace_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. EntityHelper.ShowGridCaption<MilOfflineReslutEntity1>(ultraGrid1.DisplayLayout.Bands[0]);
  32. EntityHelper.ShowGridCaption<MilOfflineGroupEntity1>(ultraGrid2.DisplayLayout.Bands[0]);
  33. }
  34. /// <summary>
  35. /// 重写基类方法
  36. /// </summary>
  37. /// <param name="sender"></param>
  38. /// <param name="ToolbarKey"></param>
  39. public override void ToolBar_Click(object sender, string ToolbarKey)
  40. {
  41. switch (ToolbarKey)
  42. {
  43. case "Query":
  44. doQueryMat();
  45. break;
  46. case "QueryTrack":
  47. doQueryTrack();
  48. break;
  49. case "Furnace":
  50. doFurnace();
  51. break;
  52. case "CancelFurnace":
  53. CancelFurnace();
  54. break;
  55. case "Close":
  56. this.Close();
  57. break;
  58. }
  59. }
  60. /// <summary>
  61. /// 查询下线实绩
  62. /// </summary>
  63. private void doQueryMat()
  64. {
  65. string jugeNo = "";
  66. string lotNo = "";
  67. string startTim = "";
  68. string endTim = "";
  69. string plinCode = "";
  70. NativeMethodNew na = new NativeMethodNew(this.ob);
  71. plinCode = na.GetPCode(this.UserInfo.GetDeptid());
  72. if (!CheckQuery()) return;
  73. if (this.chkTim.Checked)
  74. {
  75. startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  76. endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  77. }
  78. if (this.chkJugeHeatNo.Checked)
  79. {
  80. jugeNo = this.txtJugeNo.Text.Trim();
  81. }
  82. if (this.chkLotNo.Checked)
  83. {
  84. lotNo = this.txtLotNo.Text.Trim();
  85. }
  86. ArrayList parm = new ArrayList();
  87. parm.Add(jugeNo);
  88. parm.Add(lotNo);
  89. List<MilOfflineReslutEntity1> listSource = EntityHelper.GetData<MilOfflineReslutEntity1>(
  90. "com.steering.mes.zgmil.coup.FrmFurnace.doQueryOffLine", new object[] { parm, startTim, endTim, plinCode }, this.ob);
  91. MilOfflineReslutEntity1bindingSource.DataSource = listSource;
  92. }
  93. /// <summary>
  94. /// 查询组炉实绩
  95. /// </summary>
  96. private void doQueryTrack()
  97. {
  98. string jugeNo = "";
  99. string lotNo = "";
  100. string startTim = "";
  101. string endTim = "";
  102. string plinCode = "";
  103. NativeMethodNew na = new NativeMethodNew(this.ob);
  104. plinCode = na.GetPCode(this.UserInfo.GetDeptid());
  105. if (!CheckQuery()) return;
  106. if (this.chkTim.Checked)
  107. {
  108. startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  109. endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  110. }
  111. if (this.chkJugeHeatNo.Checked)
  112. {
  113. jugeNo = this.txtJugeNo.Text.Trim();
  114. }
  115. if (this.chkLotNo.Checked)
  116. {
  117. lotNo = this.txtLotNo.Text.Trim();
  118. }
  119. ArrayList parm = new ArrayList();
  120. parm.Add(jugeNo);
  121. parm.Add(lotNo);
  122. List<MilOfflineGroupEntity1> listSource = EntityHelper.GetData<MilOfflineGroupEntity1>(
  123. "com.steering.mes.zgmil.coup.FrmFurnace.doQueryOffGroup", new object[] { parm, startTim, endTim, plinCode }, this.ob);
  124. MilOfflineGroupEntity1bindingSource.DataSource = listSource;
  125. }
  126. /// <summary>
  127. /// 数据验证
  128. /// </summary>
  129. /// <returns></returns>
  130. private bool CheckQuery()
  131. {
  132. if (this.chkJugeHeatNo.Checked && string.IsNullOrEmpty(this.txtJugeNo.Text.Trim()))
  133. {
  134. MessageUtil.ShowWarning("请输入判定炉号!");
  135. return false;
  136. }
  137. if (this.chkLotNo.Checked && string.IsNullOrEmpty(this.txtLotNo.Text.Trim()))
  138. {
  139. MessageUtil.ShowWarning("请输入批号!");
  140. return false;
  141. }
  142. return true;
  143. }
  144. /// <summary>
  145. /// 组炉批
  146. /// </summary>
  147. private void doFurnace()
  148. {
  149. this.ultraGrid1.UpdateData();
  150. string txtJugeNo = this.txtJudgeStoveNoE.Text.Trim();
  151. string txtLotNo = this.txtLotNoE.Text.Trim();
  152. if (txtJudgeStoveNoE.Equals("") || txtLotNo.Equals(""))
  153. {
  154. MessageUtil.ShowTips("组炉新炉号和新批号不能为空!");
  155. return;
  156. }
  157. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  158. IQueryable<UltraGridRow> checkRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK1 = 'True' AND CHK = 'True'");
  159. if (checkMagRows.Count() == 0)
  160. {
  161. MessageUtil.ShowTips("请勾选需要组炉的炉批信息!");
  162. return;
  163. }
  164. if (checkRows.Count() > 1)
  165. {
  166. MessageUtil.ShowTips("主性能炉批只允许选择一条!");
  167. return;
  168. }
  169. ArrayList parm = new ArrayList();
  170. ArrayList parm1 = new ArrayList();
  171. foreach (UltraGridRow row in checkMagRows)
  172. {
  173. MilOfflineReslutEntity1 milOfflineResultEntity = (MilOfflineReslutEntity1)row.ListObject;
  174. if (milOfflineResultEntity.GroupNum.ToString() == "")
  175. {
  176. MessageUtil.ShowTips("组炉支数不能为空!");
  177. return;
  178. }
  179. if (int.Parse(milOfflineResultEntity.GroupNum.ToString()) > int.Parse(milOfflineResultEntity.OfflineNum.ToString()))
  180. {
  181. MessageUtil.ShowTips("组炉支数不能大于下线支数!");
  182. return;
  183. }
  184. if (milOfflineResultEntity.ZpFlag.ToString() == "已组批")
  185. {
  186. MessageUtil.ShowTips("炉号" + milOfflineResultEntity.JudgeStoveNo.ToString() + "已组炉,不允许重复组炉批!");
  187. return;
  188. }
  189. string milOffTity = JSONFormat.Format(milOfflineResultEntity);
  190. parm.Add(milOffTity);
  191. }
  192. foreach (UltraGridRow uRow in checkRows)
  193. {
  194. MilOfflineReslutEntity1 milOfflineResultEntity1 = (MilOfflineReslutEntity1)uRow.ListObject;
  195. milOfflineResultEntity1.NewJudgeStoveNo = txtJugeNo;
  196. milOfflineResultEntity1.NewLotNo = txtLotNo;
  197. string milOffTity1 = JSONFormat.Format(milOfflineResultEntity1);
  198. parm1.Add(milOffTity1);
  199. }
  200. CoreClientParam ccp = new CoreClientParam();
  201. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmFurnace";
  202. ccp.MethodName = "doFurnace";
  203. ccp.ServerParams = new object[] {parm,parm1,this.UserInfo.GetUserName(),this.UserInfo.GetUserGroup(),this.UserInfo.GetUserOrder() };
  204. ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
  205. if (ccp.ReturnCode != -1)
  206. {
  207. if (ccp.ReturnInfo.Equals("组炉批成功!"))
  208. {
  209. doQueryMat();
  210. MessageUtil.ShowTips(ccp.ReturnInfo);
  211. }
  212. }
  213. else
  214. {
  215. MessageUtil.ShowTips(ccp.ReturnInfo);
  216. }
  217. }
  218. /// <summary>
  219. /// 撤销组炉
  220. /// </summary>
  221. private void CancelFurnace()
  222. {
  223. this.ultraGrid2.UpdateData();
  224. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'");
  225. if (checkMagRows.Count() == 0)
  226. {
  227. MessageUtil.ShowTips("请勾选需要组炉的炉批信息!");
  228. return;
  229. }
  230. ArrayList parm = new ArrayList();
  231. foreach(UltraGridRow uRow in checkMagRows)
  232. {
  233. MilOfflineGroupEntity1 milOffGrouptity1 = (MilOfflineGroupEntity1)uRow.ListObject;
  234. string milOffGroupEntity = JSONFormat.Format(milOffGrouptity1);
  235. parm.Add(milOffGroupEntity);
  236. }
  237. CoreClientParam ccp = new CoreClientParam();
  238. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmFurnace";
  239. ccp.MethodName = "doCancelFurnace";
  240. ccp.ServerParams = new object[] { parm };
  241. ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
  242. if (ccp.ReturnCode != -1)
  243. {
  244. if (ccp.ReturnInfo.Equals("撤销成功!"))
  245. {
  246. doQueryTrack();
  247. MessageUtil.ShowTips(ccp.ReturnInfo);
  248. }
  249. }
  250. else
  251. {
  252. MessageUtil.ShowTips(ccp.ReturnInfo);
  253. }
  254. }
  255. private void FrmFurnace_Shown(object sender, EventArgs e)
  256. {
  257. if (toolMenu == null) return;
  258. if (toolMenu.Toolbars[0].Tools.Exists("QueryTrack"))
  259. {
  260. toolMenu.Toolbars[0].Tools["QueryTrack"].InstanceProps.Visible = DefaultableBoolean.False;
  261. }
  262. if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace"))
  263. {
  264. toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False;
  265. }
  266. }
  267. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  268. {
  269. if (toolMenu == null) return;
  270. if (ultraTabControl1.SelectedTab.Key == "0")
  271. {
  272. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  273. {
  274. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True;
  275. }
  276. if (toolMenu.Toolbars[0].Tools.Exists("Furnace"))
  277. {
  278. toolMenu.Toolbars[0].Tools["Furnace"].InstanceProps.Visible = DefaultableBoolean.True;
  279. }
  280. if (toolMenu.Toolbars[0].Tools.Exists("QueryTrack"))
  281. {
  282. toolMenu.Toolbars[0].Tools["QueryTrack"].InstanceProps.Visible = DefaultableBoolean.False;
  283. }
  284. if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace"))
  285. {
  286. toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False;
  287. }
  288. this.chkTim.Text = "下线时间";
  289. }
  290. else
  291. {
  292. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  293. {
  294. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False;
  295. }
  296. if (toolMenu.Toolbars[0].Tools.Exists("Furnace"))
  297. {
  298. toolMenu.Toolbars[0].Tools["Furnace"].InstanceProps.Visible = DefaultableBoolean.False;
  299. }
  300. if (toolMenu.Toolbars[0].Tools.Exists("QueryTrack"))
  301. {
  302. toolMenu.Toolbars[0].Tools["QueryTrack"].InstanceProps.Visible = DefaultableBoolean.True;
  303. }
  304. if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace"))
  305. {
  306. toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.True;
  307. }
  308. this.chkTim.Text = "组批时间";
  309. }
  310. }
  311. private void chkJugeHeatNo_CheckedChanged(object sender, EventArgs e)
  312. {
  313. this.txtJugeNo.Enabled = this.chkJugeHeatNo.Checked;
  314. }
  315. private void chkLotNo_CheckedChanged(object sender, EventArgs e)
  316. {
  317. this.txtLotNo.Enabled = this.chkLotNo.Checked;
  318. }
  319. private void chkTim_CheckedChanged(object sender, EventArgs e)
  320. {
  321. this.StartTime.Enabled = this.chkTim.Checked;
  322. this.EndTime.Enabled = this.chkTim.Checked;
  323. }
  324. }
  325. }