FrmQueryScrapBack.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  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 Core.Mes.Client.Comm.Server;
  13. using Infragistics.Win.UltraWinEditors;
  14. using Infragistics.Win.UltraWinGrid;
  15. using System.Collections;
  16. using Core.Mes.Client.Comm.Format;
  17. using Infragistics.Win;
  18. using System.Text.RegularExpressions;
  19. namespace Core.StlMes.Client.ZGMil.Result
  20. {
  21. public partial class FrmQueryScrapBack :FrmBase
  22. {
  23. private string Departm = "";//部门
  24. private string PlineCode = "";//产线
  25. public FrmQueryScrapBack()
  26. {
  27. InitializeComponent();
  28. }
  29. private void FrmQueryScrapBack_Load(object sender, EventArgs e)
  30. {
  31. DateTime now = DateTime.Now;
  32. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  33. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  34. NativeMethodNew na = new NativeMethodNew(this.ob);
  35. Departm = UserInfo.GetDepartment();
  36. PlineCode = na.GetPCode(Departm);//获取 用户 对应的产线
  37. RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  38. RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  39. EntityHelper.ShowGridCaption<MilSlabScrapEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  40. InitBaseResult();
  41. }
  42. /// <summary>
  43. /// 将下拉框绑定到GRID列
  44. /// </summary>
  45. /// <param name="uce">下拉框(已经初始化完成)</param>
  46. /// <param name="ColumnName">列名</param>
  47. /// <param name="con">空间集合(每次只需填入this.Controls)</param>
  48. /// <param name="ug">GRID</param>
  49. /// <param name="i">GRID的第几层结构</param>
  50. static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i)
  51. {
  52. con.Add(uce);
  53. uce.Visible = false;
  54. ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce;
  55. ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  56. SetComboItemHeight(uce);
  57. }
  58. /// <summary>
  59. /// 设置UltraComboEditor中的中文和非中文统一高度。
  60. /// </summary>
  61. /// <param name="cmb"></param>
  62. public static void SetComboItemHeight(UltraComboEditor cmb)
  63. {
  64. foreach (ValueListItem item in cmb.Items)
  65. {
  66. if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
  67. {
  68. item.Appearance.FontData.SizeInPoints = 9.0F;
  69. }
  70. else
  71. {
  72. item.Appearance.FontData.SizeInPoints = 10.5F;
  73. }
  74. }
  75. }
  76. UltraComboEditor ridResult = new UltraComboEditor();
  77. /// <summary>
  78. /// 加载处理结果
  79. /// </summary>
  80. private void InitBaseResult()
  81. {
  82. ClsBaseInfo.FillComBaseInfo(ridResult, "5002", ob, true);
  83. }
  84. /// <summary>
  85. /// 重写基类方法
  86. /// </summary>
  87. /// <param name="sender"></param>
  88. /// <param name="ToolbarKey"></param>
  89. public override void ToolBar_Click(object sender, string ToolbarKey)
  90. {
  91. switch (ToolbarKey)
  92. {
  93. case "Query":
  94. doQueryData();
  95. break;
  96. case "DoDistribution":
  97. doDistribution();
  98. break;
  99. case "DoScrap":
  100. doScrap();
  101. break;
  102. case "DoScrapBack":
  103. doScrapBack();
  104. break;
  105. case "RetrunWarehouse":
  106. retrunWarehouse();
  107. break;
  108. case "RetrunWarehouseBack":
  109. retrunWarehouseBack();
  110. break;
  111. case "Close":
  112. this.Close();
  113. break;
  114. }
  115. }
  116. /// <summary>
  117. /// 分配重量
  118. /// </summary>
  119. private void doDistribution()
  120. {
  121. this.ultraGrid1.UpdateData();
  122. this.ultraGrid2.UpdateData();
  123. double dbz = Double.Parse(this.ultraGrid1.ActiveRow.Cells["Dbz"].ToString3());
  124. double inputWeight = 0.0;
  125. double inputWeightTep = 0.0;
  126. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  127. if (checkMagRows.Count() == 0)
  128. {
  129. MessageUtil.ShowTips("请选择需要返库的信息!");
  130. return;
  131. }
  132. ArrayList parm = new ArrayList();
  133. foreach (UltraGridRow uRow in checkMagRows)
  134. {
  135. inputWeight += Double.Parse(uRow.Cells["InputWeight"].Text.ToString3());
  136. }
  137. for (int i = 0; i < this.ultraGrid2.Rows.Count; i++)
  138. {
  139. if(i+1<this.ultraGrid2.Rows.Count)
  140. {
  141. inputWeightTep += dbz * Double.Parse(this.ultraGrid2.Rows[i].Cells["ACT_LEN"].Value.ToString3()) * Double.Parse(this.ultraGrid2.Rows[i].Cells["ACT_COUNT"].Value.ToString3());
  142. this.ultraGrid2.Rows[i].Cells["ACT_WEIGHT"].Value = dbz * Double.Parse(this.ultraGrid2.Rows[i].Cells["ACT_LEN"].Value.ToString3()) * Double.Parse(this.ultraGrid2.Rows[i].Cells["ACT_COUNT"].Value.ToString3());
  143. }
  144. else
  145. {
  146. this.ultraGrid2.Rows[i].Cells["ACT_WEIGHT"].Value = inputWeight - inputWeightTep;
  147. }
  148. }
  149. }
  150. /// <summary>
  151. /// 查询
  152. /// </summary>
  153. private void doQueryData()
  154. {
  155. string regStartTim = "";
  156. string regEndTim = "";
  157. string heatNo = "";
  158. NativeMethodNew na = new NativeMethodNew(this.ob);
  159. string plinCode = na.GetPCode(this.UserInfo.GetDepartment());
  160. if (this.chkRegTime.Checked)
  161. {
  162. regStartTim = RegStartTime.Value.ToString();
  163. regEndTim = RegEndTime.Value.ToString();
  164. }
  165. if (this.chkFurnace.Checked)
  166. {
  167. heatNo = this.txtFurnace.Text.Trim();
  168. }
  169. ArrayList parm = new ArrayList();
  170. parm.Add(heatNo);
  171. parm.Add(plinCode);
  172. List<MilSlabScrapEntity> listSource = EntityHelper.GetData<MilSlabScrapEntity>(
  173. "com.steering.mes.zgmil.coup.FrmQueryScrapBack.doQueryData", new object[] { parm, regStartTim, regEndTim, this.ultraOptionSet2.CheckedItem.DataValue.ToString() }, this.ob);
  174. MilSlabScrapEntitybindingSource.DataSource = listSource;
  175. }
  176. /// <summary>
  177. /// 撤销返库
  178. /// </summary>
  179. private void retrunWarehouseBack()
  180. {
  181. this.ultraGrid1.UpdateData();
  182. int m = 0;
  183. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  184. if (checkMagRows.Count() == 0)
  185. {
  186. MessageUtil.ShowTips("请选择需要撤销返库的信息!");
  187. return;
  188. }
  189. ArrayList parm = new ArrayList();
  190. foreach (UltraGridRow uRow in checkMagRows)
  191. {
  192. if (uRow.Cells["HandleResult"].Text.Trim().Equals("返库") && uRow.Cells["Flag"].Text.Trim().Equals("已处理"))
  193. {
  194. m = m + 1;
  195. }
  196. MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject;
  197. string milSlabTity = JSONFormat.Format(milSlabEntity);
  198. parm.Add(milSlabTity);
  199. }
  200. if (m == 0)
  201. {
  202. MessageUtil.ShowTips("请选择需要撤销返库的信息!");
  203. return;
  204. }
  205. if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销返库?") == DialogResult.No)
  206. {
  207. return;
  208. }
  209. ArrayList parm2 = new ArrayList();
  210. parm2.Add(this.UserInfo.GetUserName());
  211. parm2.Add(this.UserInfo.GetUserGroup());
  212. parm2.Add(this.UserInfo.GetUserOrder());
  213. parm2.Add(PlineCode);
  214. CoreClientParam ccp = new CoreClientParam();
  215. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack";
  216. ccp.MethodName = "retrunWarehouseBack";
  217. ccp.ServerParams = new object[] { parm, parm2 };
  218. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  219. if (ccp.ReturnCode != -1)
  220. {
  221. if (ccp.ReturnInfo.Equals("撤销返库成功!"))
  222. {
  223. doQueryData();
  224. }
  225. MessageUtil.ShowTips(ccp.ReturnInfo);
  226. }
  227. else
  228. {
  229. MessageUtil.ShowTips(ccp.ReturnInfo);
  230. }
  231. }
  232. /// <summary>
  233. /// 返库
  234. /// </summary>
  235. private void retrunWarehouse()
  236. {
  237. this.ultraGrid1.UpdateData();
  238. this.ultraGrid2.UpdateData();
  239. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  240. if (checkMagRows.Count() == 0)
  241. {
  242. MessageUtil.ShowTips("请选择需要修改的信息!");
  243. return;
  244. }
  245. ArrayList parm = new ArrayList();
  246. foreach(UltraGridRow uRow in checkMagRows)
  247. {
  248. if (uRow.Cells["Flag"].Text.Trim().Equals("已处理"))
  249. {
  250. MessageUtil.ShowTips("已处理的数据不能修改!");
  251. return;
  252. }
  253. MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject;
  254. string milSlabTity = JSONFormat.Format(milSlabEntity);
  255. parm.Add(milSlabTity);
  256. }
  257. ArrayList parmBack = new ArrayList();
  258. foreach (UltraGridRow uRow in ultraGrid2.Rows)
  259. {
  260. ArrayList parmBack1 = new ArrayList();
  261. parmBack1.Add(uRow.Cells["FIX_NUM"].ToString());
  262. parmBack1.Add(uRow.Cells["FIX_LEN"].ToString());
  263. parmBack1.Add(uRow.Cells["ACT_LEN"].ToString());
  264. parmBack1.Add(uRow.Cells["ACT_COUNT"].ToString());
  265. parmBack1.Add(uRow.Cells["ACT_WEIGHT"].ToString());
  266. parmBack.Add(parmBack1);
  267. }
  268. if (MessageUtil.ShowYesNoAndQuestion("是否确认返库?") == DialogResult.No)
  269. {
  270. return;
  271. }
  272. ArrayList parm2 = new ArrayList();
  273. parm2.Add(this.UserInfo.GetUserName());
  274. parm2.Add(this.UserInfo.GetUserGroup());
  275. parm2.Add(this.UserInfo.GetUserOrder());
  276. parm2.Add(PlineCode);
  277. CoreClientParam ccp = new CoreClientParam();
  278. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack";
  279. ccp.MethodName = "retrunWarehouse";
  280. ccp.ServerParams = new object[] { parm, parm2, parmBack };
  281. ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
  282. if (ccp.ReturnCode != -1)
  283. {
  284. if (ccp.ReturnInfo.Equals("返库成功!"))
  285. {
  286. MessageUtil.ShowTips(ccp.ReturnInfo);
  287. doQueryData();
  288. }
  289. else
  290. {
  291. MessageUtil.ShowTips(ccp.ReturnInfo);
  292. }
  293. }
  294. else
  295. {
  296. MessageUtil.ShowTips(ccp.ReturnInfo);
  297. }
  298. }
  299. /// <summary>
  300. /// 确认废品
  301. /// </summary>
  302. private void doScrap()
  303. {
  304. this.ultraGrid1.UpdateData();
  305. int m = 0;
  306. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  307. if (checkMagRows.Count() == 0)
  308. {
  309. MessageUtil.ShowTips("请选择需要修改的信息!");
  310. return;
  311. }
  312. ArrayList parm = new ArrayList();
  313. foreach (UltraGridRow uRow in checkMagRows)
  314. {
  315. if (uRow.Cells["Flag"].Text.Trim().Equals("已处理"))
  316. {
  317. MessageUtil.ShowTips("已处理的数据不能修改!");
  318. return;
  319. }
  320. MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject;
  321. string milSlabTity = JSONFormat.Format(milSlabEntity);
  322. parm.Add(milSlabTity);
  323. }
  324. if (MessageUtil.ShowYesNoAndQuestion("是否确认废?") == DialogResult.No)
  325. {
  326. return;
  327. }
  328. ArrayList parm2 = new ArrayList();
  329. parm2.Add(this.UserInfo.GetUserName());
  330. parm2.Add(this.UserInfo.GetUserGroup());
  331. parm2.Add(this.UserInfo.GetUserOrder());
  332. parm2.Add(PlineCode);
  333. CoreClientParam ccp = new CoreClientParam();
  334. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack";
  335. ccp.MethodName = "doScrap";
  336. ccp.ServerParams = new object[] { parm, parm2 };
  337. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  338. if (ccp.ReturnCode != -1)
  339. {
  340. if (ccp.ReturnInfo.Equals("确认成功!"))
  341. {
  342. MessageUtil.ShowTips(ccp.ReturnInfo);
  343. doQueryData();
  344. }
  345. else
  346. {
  347. MessageUtil.ShowTips(ccp.ReturnInfo);
  348. }
  349. }
  350. else
  351. {
  352. MessageUtil.ShowTips(ccp.ReturnInfo);
  353. }
  354. }
  355. /// <summary>
  356. /// 撤销确认废品
  357. /// </summary>
  358. private void doScrapBack()
  359. {
  360. this.ultraGrid1.UpdateData();
  361. int m = 0;
  362. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  363. if (checkMagRows.Count() == 0)
  364. {
  365. MessageUtil.ShowTips("请选择需要修改的信息!");
  366. return;
  367. }
  368. ArrayList parm = new ArrayList();
  369. foreach (UltraGridRow uRow in checkMagRows)
  370. {
  371. if (uRow.Cells["HandleResult"].Text.Trim().Equals(""))
  372. {
  373. m = m + 1;
  374. }
  375. if (uRow.Cells["Flag"].Text.Trim().Equals("已处理"))
  376. {
  377. MessageUtil.ShowTips("已处理的数据不能修改!");
  378. return;
  379. }
  380. MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject;
  381. string milSlabTity = JSONFormat.Format(milSlabEntity);
  382. parm.Add(milSlabTity);
  383. }
  384. if (m > 0)
  385. {
  386. MessageUtil.ShowTips("请选择处理结果!");
  387. return;
  388. }
  389. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.No)
  390. {
  391. return;
  392. }
  393. ArrayList parm2 = new ArrayList();
  394. parm2.Add(this.UserInfo.GetUserName());
  395. parm2.Add(this.UserInfo.GetUserGroup());
  396. parm2.Add(this.UserInfo.GetUserOrder());
  397. parm2.Add(PlineCode);
  398. CoreClientParam ccp = new CoreClientParam();
  399. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack";
  400. ccp.MethodName = "doScrapBack";
  401. ccp.ServerParams = new object[] { parm, parm2 };
  402. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  403. if (ccp.ReturnCode != -1)
  404. {
  405. if (ccp.ReturnInfo.Equals("撤销成功!"))
  406. {
  407. MessageUtil.ShowTips(ccp.ReturnInfo);
  408. doQueryData();
  409. }
  410. else
  411. {
  412. MessageUtil.ShowTips(ccp.ReturnInfo);
  413. }
  414. }
  415. else
  416. {
  417. MessageUtil.ShowTips(ccp.ReturnInfo);
  418. }
  419. }
  420. private void chkFurnace_CheckedChanged(object sender, EventArgs e)
  421. {
  422. this.txtFurnace.Enabled = this.chkFurnace.Checked;
  423. }
  424. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  425. {
  426. foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
  427. {
  428. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  429. {
  430. uRow.Cells["CHK"].Value = true;
  431. }
  432. }
  433. }
  434. private void chkRegTime_CheckedChanged(object sender, EventArgs e)
  435. {
  436. this.RegStartTime.Enabled = this.chkRegTime.Checked;
  437. this.RegEndTime.Enabled = this.chkRegTime.Checked;
  438. }
  439. private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e)
  440. {
  441. }
  442. }
  443. }