FrmQueryRidResult.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  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. using Core.StlMes.Client.ZGMil.Common;
  20. namespace Core.StlMes.Client.ZGMil.Result
  21. {
  22. public partial class FrmQueryRidResult :FrmBase
  23. {
  24. private string Departm = "";//部门
  25. private string PlineCode = "";//产线
  26. private string[] plineCodes = { };
  27. private string[] arrId = { };
  28. public FrmQueryRidResult()
  29. {
  30. InitializeComponent();
  31. this.IsLoadUserView = true;
  32. }
  33. private void FrmQueryRidResult_Load(object sender, EventArgs e)
  34. {
  35. DateTime now = DateTime.Now;
  36. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  37. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  38. NativeMethodNew na = new NativeMethodNew(this.ob);
  39. Departm = UserInfo.GetDepartment();
  40. PlineCode = na.GetPCode(Departm);//获取 用户 对应的产线
  41. plineCodes = BaseMethod.GetPlineCode(ValidDataPurviewIds, ob);
  42. arrId = this.ValidDataPurviewIds;
  43. RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  44. RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  45. EntityHelper.ShowGridCaption<MilSlabScrapEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  46. DataTable ds = ServerHelper.GetData("com.steering.mes.signature.WarehousePermissions.getWarehousePermissionsStore", new object[] { arrId }, ob);
  47. if (ds != null && ds.Rows.Count > 0)
  48. {
  49. ultraSTORAGE_NO.DataSource = ds;
  50. ultraSTORAGE_NO.ValueMember = "STORAGE_NO";
  51. ultraSTORAGE_NO.DisplayMember = "STORAGE_NAME";
  52. }
  53. InitBaseResult();
  54. }
  55. /// <summary>
  56. /// 将下拉框绑定到GRID列
  57. /// </summary>
  58. /// <param name="uce">下拉框(已经初始化完成)</param>
  59. /// <param name="ColumnName">列名</param>
  60. /// <param name="con">空间集合(每次只需填入this.Controls)</param>
  61. /// <param name="ug">GRID</param>
  62. /// <param name="i">GRID的第几层结构</param>
  63. static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i)
  64. {
  65. con.Add(uce);
  66. uce.Visible = false;
  67. ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce;
  68. ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  69. SetComboItemHeight(uce);
  70. }
  71. /// <summary>
  72. /// 设置UltraComboEditor中的中文和非中文统一高度。
  73. /// </summary>
  74. /// <param name="cmb"></param>
  75. public static void SetComboItemHeight(UltraComboEditor cmb)
  76. {
  77. foreach (ValueListItem item in cmb.Items)
  78. {
  79. if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
  80. {
  81. item.Appearance.FontData.SizeInPoints = 9.0F;
  82. }
  83. else
  84. {
  85. item.Appearance.FontData.SizeInPoints = 10.5F;
  86. }
  87. }
  88. }
  89. UltraComboEditor ridResult = new UltraComboEditor();
  90. /// <summary>
  91. /// 加载处理结果
  92. /// </summary>
  93. private void InitBaseResult()
  94. {
  95. ClsBaseInfo.FillComBaseInfo(ridResult, "5002", ob, true);
  96. FrmQueryRidResult.BindColumn(ridResult, "handleResult", this.Controls, this.ultraGrid1, 0);
  97. }
  98. /// <summary>
  99. /// 重写基类方法
  100. /// </summary>
  101. /// <param name="sender"></param>
  102. /// <param name="ToolbarKey"></param>
  103. public override void ToolBar_Click(object sender, string ToolbarKey)
  104. {
  105. switch (ToolbarKey)
  106. {
  107. case "Query":
  108. doQueryData();
  109. break;
  110. case "Update":
  111. updateRidResult();
  112. break;
  113. case "Back":
  114. RegoodBack();
  115. break;
  116. case "doSaveMemo":
  117. doSaveMemo();
  118. break;
  119. case "Close":
  120. this.Close();
  121. break;
  122. }
  123. }
  124. ///
  125. private void doSaveMemo()
  126. {
  127. this.ultraGrid1.UpdateData();
  128. int m = 0;
  129. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  130. if (checkMagRows.Count() == 0)
  131. {
  132. MessageUtil.ShowTips("请选择需要修改的信息!");
  133. return;
  134. }
  135. ArrayList parm = new ArrayList();
  136. foreach (UltraGridRow uRow in checkMagRows)
  137. {
  138. MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject;
  139. string milSlabTity = JSONFormat.Format(milSlabEntity);
  140. parm.Add(milSlabTity);
  141. }
  142. CoreClientParam ccp = new CoreClientParam();
  143. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryRidResult";
  144. ccp.MethodName = "doSaveMemo";
  145. ccp.ServerParams = new object[] { parm };
  146. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  147. if (ccp.ReturnCode != -1)
  148. {
  149. if (ccp.ReturnInfo.Equals("操作成功!"))
  150. {
  151. doQueryData();
  152. }
  153. MessageUtil.ShowTips(ccp.ReturnInfo);
  154. }
  155. else
  156. {
  157. MessageUtil.ShowTips(ccp.ReturnInfo);
  158. }
  159. }
  160. /// <summary>
  161. /// 查询
  162. /// </summary>
  163. private void doQueryData()
  164. {
  165. string regStartTim = "";
  166. string regEndTim = "";
  167. string heatNo = "";
  168. string processName = "";
  169. NativeMethodNew na = new NativeMethodNew(this.ob);
  170. string plinCode = na.GetPCode(this.UserInfo.GetDepartment());
  171. if (this.chkRegTime.Checked)
  172. {
  173. regStartTim = RegStartTime.Value.ToString();
  174. regEndTim = RegEndTime.Value.ToString();
  175. }
  176. if (this.chkFurnace.Checked)
  177. {
  178. heatNo = this.txtFurnace.Text.Trim();
  179. }
  180. if (this.chkProcess.Checked)
  181. {
  182. processName = this.cmbProcess.Value.ToString();
  183. }
  184. ArrayList parm = new ArrayList();
  185. parm.Add(heatNo);
  186. parm.Add(processName);
  187. List<MilSlabScrapEntity> listSource = EntityHelper.GetData<MilSlabScrapEntity>(
  188. "com.steering.mes.zgmil.coup.FrmQueryRidResult.doQueryData", new object[] { parm, regStartTim, regEndTim, this.ultraOptionSet2.CheckedItem.DataValue.ToString(), plineCodes }, this.ob);
  189. MilSlabScrapEntitybindingSource.DataSource = listSource;
  190. }
  191. /// <summary>
  192. /// 撤销返库
  193. /// </summary>
  194. private void RegoodBack()
  195. {
  196. this.ultraGrid1.UpdateData();
  197. int m = 0;
  198. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  199. if (checkMagRows.Count() == 0)
  200. {
  201. MessageUtil.ShowTips("请选择需要撤销返库的信息!");
  202. return;
  203. }
  204. ArrayList parm = new ArrayList();
  205. foreach (UltraGridRow uRow in checkMagRows)
  206. {
  207. if (uRow.Cells["HandleResult"].Text.Trim().Equals("返库") && uRow.Cells["Flag"].Text.Trim().Equals("已处理"))
  208. {
  209. m = m + 1;
  210. }
  211. MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject;
  212. string milSlabTity = JSONFormat.Format(milSlabEntity);
  213. parm.Add(milSlabTity);
  214. }
  215. //if (m == 0)
  216. //{
  217. // MessageUtil.ShowTips("请选择需要撤销返库的信息!");
  218. // return;
  219. //}
  220. if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销返库?") == DialogResult.No)
  221. {
  222. return;
  223. }
  224. ArrayList parm2 = new ArrayList();
  225. parm2.Add(this.UserInfo.GetUserName());
  226. parm2.Add(this.UserInfo.GetUserGroup());
  227. parm2.Add(this.UserInfo.GetUserOrder());
  228. parm2.Add(PlineCode);
  229. CoreClientParam ccp = new CoreClientParam();
  230. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryRidResult";
  231. ccp.MethodName = "regoodBack";
  232. ccp.ServerParams = new object[] { parm, parm2 };
  233. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  234. if (ccp.ReturnCode != -1)
  235. {
  236. if (ccp.ReturnInfo.Equals("撤销返库成功!"))
  237. {
  238. doQueryData();
  239. }
  240. MessageUtil.ShowTips(ccp.ReturnInfo);
  241. }
  242. else
  243. {
  244. MessageUtil.ShowTips(ccp.ReturnInfo);
  245. }
  246. }
  247. /// <summary>
  248. /// 返库
  249. /// </summary>
  250. private void updateRidResult()
  251. {
  252. this.ultraGrid1.UpdateData();
  253. int m = 0;
  254. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  255. if (checkMagRows.Count() == 0)
  256. {
  257. MessageUtil.ShowTips("请选择需要修改的信息!");
  258. return;
  259. }
  260. ArrayList parm = new ArrayList();
  261. foreach(UltraGridRow uRow in checkMagRows)
  262. {
  263. if (uRow.Cells["HandleResult"].Text.Trim().Equals(""))
  264. {
  265. m = m + 1;
  266. }
  267. if (uRow.Cells["Flag"].Text.Trim().Equals("已处理"))
  268. {
  269. MessageUtil.ShowTips("已处理的数据不能修改!");
  270. return;
  271. }
  272. //if (!uRow.Cells["ProcessNo"].Text.Trim().Contains("锯切") && !uRow.Cells["ActLen"].Text.Trim().Equals(""))
  273. //{
  274. // MessageUtil.ShowTips("不是掉队坯不能写返库长度!");
  275. // return;
  276. //}
  277. PlineCode = uRow.Cells["PlineCode"].Text.Trim();
  278. MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject;
  279. string milSlabTity = JSONFormat.Format(milSlabEntity);
  280. parm.Add(milSlabTity);
  281. }
  282. //if (m > 0)
  283. //{
  284. // MessageUtil.ShowTips("请选择处理结果!");
  285. // return;
  286. //}
  287. if (MessageUtil.ShowYesNoAndQuestion("是否确认返库?") == DialogResult.No)
  288. {
  289. return;
  290. }
  291. String STORAGE_NO = "";
  292. String LOCATION_NO = "";
  293. String LOCATION_NAME = "";
  294. if (ultraCheckEditor1.Checked)
  295. {
  296. if (ultraSTORAGE_NO.SelectedIndex == -1)
  297. {
  298. MessageUtil.ShowTips("没有选择返库仓库,不能返库!");
  299. return;
  300. }
  301. STORAGE_NO = ultraSTORAGE_NO.Value.ToString();
  302. LOCATION_NO = cmbLocationNo.Tag.ToString();
  303. LOCATION_NAME = cmbLocationNo.Text.ToString();
  304. }
  305. else
  306. {
  307. if (PlineCode.Equals("C008"))
  308. {
  309. STORAGE_NO = "TCC7";
  310. LOCATION_NO = "TCC710101";
  311. LOCATION_NAME = "回库料架1-1";
  312. }
  313. else if (PlineCode.Equals("C009"))
  314. {
  315. STORAGE_NO = "TCC5";
  316. LOCATION_NO = "TCC510104";
  317. LOCATION_NAME = "管坯库A区四号料架";
  318. }
  319. else if (PlineCode.Equals("C010"))
  320. {
  321. STORAGE_NO = "TCC6";
  322. LOCATION_NO = "TCC611202";
  323. LOCATION_NAME = "虚拟库位";
  324. }
  325. else if (PlineCode.Equals("C017"))
  326. {
  327. STORAGE_NO = "TCC8";
  328. LOCATION_NO = "TCC811502";
  329. LOCATION_NAME = "虚拟库位一号";
  330. }
  331. else if (PlineCode.Equals("C072"))
  332. {
  333. STORAGE_NO = "TTH1";
  334. LOCATION_NO = "TTH100001";
  335. LOCATION_NAME = "S1A";
  336. }
  337. }
  338. if (ultraBACK_FLAG.SelectedIndex == -1)
  339. {
  340. MessageUtil.ShowTips("没有选择坯料类型,不能返库!");
  341. return;
  342. }
  343. ArrayList parm2 = new ArrayList();
  344. parm2.Add(this.UserInfo.GetUserName());
  345. parm2.Add(this.UserInfo.GetUserGroup());
  346. parm2.Add(this.UserInfo.GetUserOrder());
  347. parm2.Add(PlineCode);
  348. parm2.Add(STORAGE_NO);
  349. parm2.Add(LOCATION_NO);
  350. parm2.Add(LOCATION_NAME);
  351. parm2.Add(ultraBACK_FLAG.Value.ToString());
  352. CoreClientParam ccp = new CoreClientParam();
  353. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryRidResult";
  354. ccp.MethodName = "updateResult";
  355. ccp.ServerParams = new object[] { parm, parm2 };
  356. ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
  357. if (ccp.ReturnCode != -1)
  358. {
  359. if (ccp.ReturnInfo.Equals("返库成功!"))
  360. {
  361. MessageUtil.ShowTips(ccp.ReturnInfo);
  362. doQueryData();
  363. }
  364. else
  365. {
  366. MessageUtil.ShowTips(ccp.ReturnInfo);
  367. }
  368. }
  369. else
  370. {
  371. MessageUtil.ShowTips(ccp.ReturnInfo);
  372. }
  373. }
  374. private void chkFurnace_CheckedChanged(object sender, EventArgs e)
  375. {
  376. this.txtFurnace.Enabled = this.chkFurnace.Checked;
  377. }
  378. private void chkProcess_CheckedChanged(object sender, EventArgs e)
  379. {
  380. this.cmbProcess.Enabled = this.chkProcess.Checked;
  381. }
  382. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  383. {
  384. foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
  385. {
  386. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  387. {
  388. uRow.Cells["CHK"].Value = true;
  389. }
  390. }
  391. }
  392. private void chkRegTime_CheckedChanged(object sender, EventArgs e)
  393. {
  394. this.RegStartTime.Enabled = this.chkRegTime.Checked;
  395. this.RegEndTime.Enabled = this.chkRegTime.Checked;
  396. }
  397. private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
  398. {
  399. this.ultraSTORAGE_NO.Enabled = ultraCheckEditor1.Checked;
  400. this.cmbLocationNo.Enabled = ultraCheckEditor1.Checked;
  401. }
  402. private void cmbLocationNo_EditorButtonClick(object sender, EditorButtonEventArgs e)
  403. {
  404. DataTable dt = ServerHelper.GetData("com.steering.mes.signature.WarehousePermissions.getLocationNoByStorageNo",
  405. new object[] { ultraSTORAGE_NO.Value.ToString() }, ob);
  406. dt.Columns["LOCATION_NAME"].Caption = "料位名称";
  407. BaseInfoPopup baseInfo = new BaseInfoPopup(dt, "LOCATION_NAME", "LOCATION_NO");
  408. baseInfo.Shown += new EventHandler((a, b) =>
  409. {
  410. var actRow = baseInfo.UltraGrid1.Rows.AsQueryable().Where(
  411. c => c.GetValue("LOCATION_NO") == this.cmbLocationNo.Tag.ToString2()).FirstOrDefault();
  412. if (actRow != null) actRow.Activate();
  413. });
  414. if (baseInfo.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  415. {
  416. cmbLocationNo.Tag = baseInfo.ChoicedRow.GetValue("LOCATION_NO");
  417. cmbLocationNo.Text = baseInfo.ChoicedRow.GetValue("LOCATION_NAME");
  418. //this.ultraGrid3.ActiveCell.Value = baseInfo.ChoicedRow.GetValue("LOCATION_NAME");
  419. //this.ultraGrid3.ActiveCell.Row.Cells["LOCATION_NO"].Value = baseInfo.ChoicedRow.GetValue("LOCATION_NO");
  420. }
  421. }
  422. }
  423. }