FrmJgUseStock.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. using com.steering.pss.plnsaleord.jggxpln.model;
  2. using Core.Mes.Client.Comm.Control;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using CoreFS.CA06;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Windows.Forms;
  15. namespace Core.StlMes.Client.PlnSaleOrd.JGGXPln
  16. {
  17. public partial class FrmJgUseStock : FrmBase
  18. {
  19. /// <summary>
  20. /// 接箍订单号
  21. /// </summary>
  22. private string proPlanId = "";
  23. /// <summary>
  24. /// 接箍订单分组号
  25. /// </summary>
  26. private string jgGroupId = "";
  27. private bool isChecked = false;
  28. public bool IsChecked
  29. {
  30. get { return isChecked; }
  31. set { isChecked = value; }
  32. }
  33. public FrmJgUseStock(string _proPlanId, string _jgGroupId, OpeBase _ob)
  34. {
  35. this.ob = _ob;
  36. proPlanId = _proPlanId;
  37. jgGroupId = _jgGroupId;
  38. InitializeComponent();
  39. }
  40. private void ultraToolbarsManager1_ToolClick(object sender,
  41. Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  42. {
  43. switch (e.Tool.Key)
  44. {
  45. case "Query":
  46. DoQuery();
  47. break;
  48. case "OutBound":
  49. OutBound();
  50. break;
  51. case "DeleteMatJg":
  52. DoDeleteMatJg();
  53. break;
  54. case "Close":
  55. this.Close();
  56. break;
  57. default:
  58. break;
  59. }
  60. }
  61. private void FrmJgUseStock_Load(object sender, EventArgs e)
  62. {
  63. Init();
  64. RefresDate();
  65. }
  66. /// <summary>
  67. /// 初始化
  68. /// </summary>
  69. private void Init()
  70. {
  71. PlanComm.setGridActivation(ultraGridMatJg.DisplayLayout.Bands[0], "CHC", "CHECKED_NUM");
  72. PlanComm.setGridSummarySet(ultraGridMatJg, 0, "CHECKED_NUM", "PIECES");
  73. PlanComm.setGridSummarySet(ultraGridMatJg, 3, "WEIGHT");
  74. PlanComm.setGridActivation(ultraGridMatButtress.DisplayLayout.Bands[0], "CHC");
  75. PlanComm.setGridSummarySet(ultraGridMatButtress, 0, "PIECES");
  76. PlanComm.setGridSummarySet(ultraGridMatButtress, 3, "WEIGHT");
  77. PlanComm.setGridDigitalCol(ultraGridMatJg.DisplayLayout.Bands[0], 5, 0, "CHECKED_NUM", "PIECES");
  78. PlanComm.setGridDigitalCol(ultraGridMatJg.DisplayLayout.Bands[0], 5, 2, "WEIGHT",
  79. "OUTDIAMETER", "WALLTHICK", "CHECK_J_VAL", "AIMLENGTH", "SINGLEWEIGHT");
  80. PlanComm.setGridDigitalCol(ultraGridMatButtress.DisplayLayout.Bands[0], 5, 0, "PIECES");
  81. PlanComm.setGridDigitalCol(ultraGridMatButtress.DisplayLayout.Bands[0], 5, 2, "WEIGHT",
  82. "OUTDIAMETER", "WALLTHICK", "CHECK_J_VAL", "AIMLENGTH", "SINGLEWEIGHT");
  83. Core.StlMes.Client.PlnSaleOrd.PlanStove.CommHelper.SetColumnAutoFitSize1(this.ultraGridMatButtress.DisplayLayout.Bands[0]);
  84. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_COPPER"].Style
  85. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  86. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_DETECTION"].Style
  87. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  88. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_BLAST"].Style
  89. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  90. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_BONDERIZING"].Style
  91. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  92. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_COPPER"].Style
  93. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  94. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_DETECTION"].Style
  95. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  96. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_BLAST"].Style
  97. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  98. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_BONDERIZING"].Style
  99. = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  100. }
  101. /// <summary>
  102. /// 刷新
  103. /// </summary>
  104. private void RefresDate()
  105. {
  106. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch.selectBaseInfoSort",
  107. new object[] { "408403" }, this.ob);
  108. DataTable dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch.selectBaseInfoSort",
  109. new object[] { "408401" }, this.ob);
  110. DataTable dt3 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch.selectBaseInfoSort",
  111. new object[] { "408404" }, this.ob);
  112. DataTable dt4 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch.selectBaseInfoSort",
  113. new object[] { "408402" }, this.ob);
  114. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_COPPER"].ValueList
  115. = PlanComm.GeneralValuelist(ref dt1, "BASECODE", "BASENAME");
  116. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_DETECTION"].ValueList
  117. = PlanComm.GeneralValuelist(ref dt2, "BASECODE", "BASENAME");
  118. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_BLAST"].ValueList
  119. = PlanComm.GeneralValuelist(ref dt3, "BASECODE", "BASENAME");
  120. ultraGridMatJg.DisplayLayout.Bands[0].Columns["DEMAND_BONDERIZING"].ValueList
  121. = PlanComm.GeneralValuelist(ref dt4, "BASECODE", "BASENAME");
  122. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_COPPER"].ValueList
  123. = PlanComm.GeneralValuelist(ref dt1, "BASECODE", "BASENAME");
  124. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_DETECTION"].ValueList
  125. = PlanComm.GeneralValuelist(ref dt2, "BASECODE", "BASENAME");
  126. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_BLAST"].ValueList
  127. = PlanComm.GeneralValuelist(ref dt3, "BASECODE", "BASENAME");
  128. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_BONDERIZING"].ValueList
  129. = PlanComm.GeneralValuelist(ref dt4, "BASECODE", "BASENAME");
  130. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_COPPER_LK"].ValueList
  131. = PlanComm.GeneralValuelist(ref dt1, "BASECODE", "BASENAME");
  132. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_DETECTION_LK"].ValueList
  133. = PlanComm.GeneralValuelist(ref dt2, "BASECODE", "BASENAME");
  134. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_BLAST_LK"].ValueList
  135. = PlanComm.GeneralValuelist(ref dt3, "BASECODE", "BASENAME");
  136. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DEMAND_BONDERIZING_LK"].ValueList
  137. = PlanComm.GeneralValuelist(ref dt4, "BASECODE", "BASENAME");
  138. DataTable dtstatus = new DataTable();
  139. dtstatus.Columns.Add("Status");
  140. dtstatus.Columns.Add("Text");
  141. dtstatus.Rows.Add("0","待处理");
  142. dtstatus.Rows.Add("1","已处理");
  143. dtstatus.Rows.Add("2","无要求");
  144. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["IMPRESS_DEAL_STATUS"].ValueList
  145. = PlanComm.GeneralValuelist(ref dtstatus, "Status", "Text");
  146. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["COPPER_DEAL_STATUS"].ValueList
  147. = PlanComm.GeneralValuelist(ref dtstatus, "Status", "Text");
  148. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["DETECT_DEAL_STATUS"].ValueList
  149. = PlanComm.GeneralValuelist(ref dtstatus, "Status", "Text");
  150. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["BLAST_DEAL_STATUS"].ValueList
  151. = PlanComm.GeneralValuelist(ref dtstatus, "Status", "Text");
  152. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["PLT_CU_DEAL_STATUS"].ValueList
  153. = PlanComm.GeneralValuelist(ref dtstatus, "Status", "Text");
  154. ultraGridMatButtress.DisplayLayout.Bands[0].Columns["PHOS_DEAL_STATUS"].ValueList
  155. = PlanComm.GeneralValuelist(ref dtstatus, "Status", "Text");
  156. DoQuery();
  157. }
  158. /// <summary>
  159. /// 查询
  160. /// </summary>
  161. private void DoQuery()
  162. {
  163. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch.getPlnGxJgMStatus",
  164. new object[] { proPlanId, jgGroupId }, this.ob);
  165. if (dt != null && dt.Rows.Count > 0)
  166. {
  167. int matchNum = 0;
  168. int jgNum = 0;
  169. int.TryParse(dt.Rows[0]["MATCHNUM_JG"].ToString(), out matchNum);
  170. int.TryParse(dt.Rows[0]["GROUP_NUM"].ToString(), out jgNum);
  171. ultraNumericBoundNum.Value = matchNum;
  172. ultraNumericJgNum.Value = jgNum;
  173. }
  174. DataTable dtMat = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch.queryMatch",
  175. new object[] { proPlanId, jgGroupId }, this.ob);
  176. GridHelper.CopyDataToDatatable(dtMat, dataTable1, true);
  177. DataTable dtButtress = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch.queryJgMButtress",
  178. new object[] { proPlanId, jgGroupId }, this.ob);
  179. GridHelper.CopyDataToDatatable(dtButtress, dataTable2, true);
  180. }
  181. /// <summary>
  182. /// 利库
  183. /// </summary>
  184. private void OutBound()
  185. {
  186. IQueryable<UltraGridRow> ugrs = null;
  187. List<CouplingMatButtressEntity> list = new List<CouplingMatButtressEntity>();
  188. isChecked = true;
  189. ultraGridMatJg.UpdateData();
  190. ugrs = ultraGridMatJg.Rows.AsQueryable().Where(" CHC = 'True'");
  191. if (ugrs.Count() == 0)
  192. {
  193. MessageUtil.ShowTips("未勾选任何利库材料。");
  194. return;
  195. }
  196. foreach (UltraGridRow ugr in ugrs)
  197. {
  198. CouplingMatButtressEntity matButtEntity = new CouplingMatButtressEntity();
  199. int jgNum = 0;
  200. int.TryParse(ugr.Cells["CHECKED_NUM"].Value.ToString(), out jgNum);
  201. if (jgNum <= 0)
  202. {
  203. MessageUtil.ShowTips("利库个数不能小于0。(材料:"
  204. + ugr.Cells["MAT_NO"].Value.ToString() + ")。");
  205. return;
  206. }
  207. matButtEntity.ProPlanId = proPlanId;
  208. matButtEntity.JgGroupId = jgGroupId;
  209. matButtEntity.MatNo = ugr.Cells["MAT_NO"].Value.ToString();
  210. matButtEntity.MatNoXh = ugr.Cells["MAT_NO_XH"].Value.ToString();
  211. matButtEntity.Pieces = jgNum.ToString();
  212. matButtEntity.CreateName = UserInfo.GetUserName();
  213. list.Add(matButtEntity);
  214. }
  215. CoreClientParam ccp = new CoreClientParam();
  216. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch";
  217. ccp.MethodName = "outBound";
  218. ccp.ServerParams = new object[] { list, proPlanId, jgGroupId, UserInfo.GetUserName() };
  219. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  220. if (ccp.ReturnCode != -1)
  221. {
  222. if (ccp.ReturnObject != null)
  223. {
  224. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  225. }
  226. }
  227. DoQuery();
  228. }
  229. /// <summary>
  230. /// 删除出库记录
  231. /// </summary>
  232. private void DoDeleteMatJg()
  233. {
  234. IQueryable<UltraGridRow> ugrs = null;
  235. List<CouplingMatButtressEntity> list = new List<CouplingMatButtressEntity>();
  236. isChecked = true;
  237. ultraGridMatButtress.UpdateData();
  238. ugrs = ultraGridMatButtress.Rows.AsQueryable().Where(" CHC = 'True'");
  239. if (ugrs.Count() == 0)
  240. {
  241. MessageUtil.ShowTips("未勾选任何出库记录。");
  242. return;
  243. }
  244. foreach (UltraGridRow ugr in ugrs)
  245. {
  246. CouplingMatButtressEntity matButtEntity = new CouplingMatButtressEntity();
  247. matButtEntity.MatNo = ugr.Cells["MAT_NO"].Value.ToString();
  248. matButtEntity.MatNoXh = ugr.Cells["MAT_NO_XH"].Value.ToString();
  249. list.Add(matButtEntity);
  250. }
  251. CoreClientParam ccp = new CoreClientParam();
  252. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.CoreJgMPropMatch";
  253. ccp.MethodName = "deleteMatJg";
  254. ccp.ServerParams = new object[] { list, proPlanId, jgGroupId, UserInfo.GetUserName() };
  255. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  256. if (ccp.ReturnCode != -1)
  257. {
  258. if (ccp.ReturnObject != null)
  259. {
  260. MessageUtil.ShowTips(ccp.ReturnObject.ToString());
  261. }
  262. }
  263. DoQuery();
  264. }
  265. /// <summary>
  266. /// 出库个数更新
  267. /// </summary>
  268. private void getOutBoundNum()
  269. {
  270. int sumJgNum = 0;
  271. IQueryable<UltraGridRow> ugrs = null;
  272. ultraGridMatJg.UpdateData();
  273. ugrs = ultraGridMatJg.Rows.AsQueryable().Where(" CHC = 'True' ");
  274. if (ugrs.Count() == 0)
  275. {
  276. ultraNumericOutBound.Value = 0;
  277. return;
  278. }
  279. foreach (UltraGridRow ugr in ugrs)
  280. {
  281. int jgNum = 0;
  282. int.TryParse(ugr.Cells["CHECKED_NUM"].Value.ToString(), out jgNum);
  283. sumJgNum += jgNum;
  284. }
  285. ultraNumericOutBound.Value = sumJgNum;
  286. }
  287. private void ultraGridMatJg_CellChange(object sender, CellEventArgs e)
  288. {
  289. if (e.Cell.Column.Key.Equals("CHC") || e.Cell.Column.Key.Equals("CHECKED_NUM"))
  290. {
  291. getOutBoundNum();
  292. }
  293. if (e.Cell.Column.Key.Equals("CHC"))
  294. {
  295. e.Cell.Row.Update();
  296. if (Convert.ToBoolean(e.Cell.Row.Cells["CHC"].Text))
  297. {
  298. int jgNum = 0;
  299. int.TryParse(e.Cell.Row.Cells["PIECES"].Value.ToString(), out jgNum);
  300. e.Cell.Row.Cells["CHECKED_NUM"].Value = jgNum;
  301. }
  302. else
  303. {
  304. e.Cell.Row.Cells["CHECKED_NUM"].Value = 0;
  305. }
  306. }
  307. }
  308. private void ultraGridMatJg_AfterHeaderCheckStateChanged(object sender,
  309. AfterHeaderCheckStateChangedEventArgs e)
  310. {
  311. if (e.Column.Key.Equals("CHC"))
  312. {
  313. getOutBoundNum();
  314. }
  315. }
  316. private void ultraGridMatJg_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  317. {
  318. foreach (UltraGridRow uRow in ultraGridMatJg.Selected.Rows)
  319. {
  320. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  321. {
  322. uRow.Cells["CHC"].Value = true;
  323. }
  324. }
  325. getOutBoundNum();
  326. }
  327. private void ultraGridMatJg_ClickCell(object sender, ClickCellEventArgs e)
  328. {
  329. int matchNum = 0;
  330. UltraGridRow ugr = e.Cell.Row;
  331. if (ugr == null)
  332. {
  333. return;
  334. }
  335. int.TryParse(ugr.Cells["PIECES"].Value.ToString(), out matchNum);
  336. ugr.Cells["CHECKED_NUM"].Column.MaxValue = matchNum;
  337. }
  338. private void ultraGridMatButtress_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  339. {
  340. foreach (UltraGridRow uRow in ultraGridMatButtress.Selected.Rows)
  341. {
  342. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  343. {
  344. uRow.Cells["CHC"].Value = true;
  345. }
  346. }
  347. }
  348. }
  349. }