FrmEntrustBal.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Drawing;
  5. using System.Linq;
  6. using System.Windows.Forms;
  7. using Core.Mes.Client.Comm.Control;
  8. using Core.Mes.Client.Comm.Server;
  9. using Core.Mes.Client.Comm.Tool;
  10. using Core.StlMes.Client.Mcp.Treatment.Entity;
  11. using CoreFS.CA06;
  12. using Infragistics.Win;
  13. using Infragistics.Win.UltraWinGrid;
  14. namespace Core.StlMes.Client.Mcp.Treatment.Report
  15. {
  16. public partial class FrmEntrustBal : FrmBase
  17. {
  18. private string[] items = { };
  19. public FrmEntrustBal()
  20. {
  21. InitializeComponent();
  22. this.IsLoadUserView = true;
  23. }
  24. private string[] plineCodes = new string[] { };
  25. protected override void OnLoad(EventArgs e)
  26. {
  27. base.OnLoad(e);
  28. DataTable dt = ServerHelper.GetData(
  29. "com.steering.mes.mcp.common.PlanService.getBaseInfo",
  30. new object[] { "7029" },
  31. ob);
  32. DataRow dr = dt.NewRow();
  33. dt.Rows.InsertAt(dr, 0);
  34. ucePayDepartment.DataSource = dt;
  35. ucePayDepartment.ValueMember = "BASECODE";
  36. ucePayDepartment.DisplayMember = "BASENAME";
  37. comm.RefreshAndAutoSizeWithHeader(ultraGrid1);
  38. dtBathYear.Value = DateTime.Now;
  39. plineCodes = comm.InitDropPlinePowerW(cboPline, this.ValidDataPurviewIds, ob);
  40. plineCodes = comm.InitDropPlinePowerW(cboPline1, this.ValidDataPurviewIds, ob);
  41. items = this.CustomInfo.ToString2().Split(',');
  42. }
  43. public override void ToolBar_Click(object sender, string ToolbarKey)
  44. {
  45. switch (ToolbarKey)
  46. {
  47. case "Query":
  48. Query();
  49. break;
  50. case "Update":
  51. Update();
  52. break;
  53. case "Settle":
  54. Settle();
  55. break;
  56. case "CancelSettle":
  57. CancelSettle();
  58. break;
  59. case "Export":
  60. Export();
  61. break;
  62. case "Close":
  63. this.Close();
  64. break;
  65. }
  66. }
  67. private void Update()
  68. {
  69. ultraGrid1.UpdateData();
  70. List<string> updateData= dataTable1.AsEnumerable().Where(p => (bool) p["CHK"]).Select(p =>
  71. p["SUBCONTRACT_NO"].ToString2() + "," +
  72. p["SUBCONTRACT_NO_SEQ"].ToString2() + "," +
  73. p["PROJECT_CODE"].ToString2() + "," +
  74. p["PROJECT_TYPE"].ToString2() + "," +
  75. p["PAY_DEPARTMENT_CODE"].ToString2() + "," +
  76. p["BAL_PRICE"].ToString2() + "," +
  77. p["BAL_PRICE_TOTAL"].ToString2() )
  78. .ToList();
  79. if (!updateData.Any())
  80. {
  81. MessageBox.Show("请勾选需要修改的数据");
  82. return;
  83. }
  84. var ccp = new CoreClientParam();
  85. ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust";
  86. ccp.MethodName = "doUpdateSettle";
  87. ccp.ServerParams = new object[]
  88. {
  89. updateData
  90. };
  91. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  92. if (ccp.ReturnCode != -1)
  93. {
  94. MessageUtil.ShowTips(ccp.ReturnInfo);
  95. if (ccp.ReturnInfo.Equals("修改成功!"))
  96. {
  97. Query();
  98. }
  99. }
  100. }
  101. private void Settle()
  102. {
  103. ultraGrid1.UpdateData();
  104. List<string> updateData = dataTable1.AsEnumerable().Where(p => (bool)p["CHK"]).Select(p =>
  105. p["SUBCONTRACT_NO"].ToString2() + "," +
  106. p["SUBCONTRACT_NO_SEQ"].ToString2() + "," +
  107. p["PROJECT_CODE"].ToString2() + "," +
  108. p["PROJECT_TYPE"].ToString2() + "," +
  109. p["PAY_DEPARTMENT_CODE"].ToString2() + "," +
  110. p["BAL_PRICE"].ToString2() + "," +
  111. p["BAL_PRICE_TOTAL"].ToString2() + "," +
  112. p["PRO_NUM"].ToString2() + "," +
  113. p["PRO_WT"].ToString2() + "," +
  114. p["INCISION_NUM"].ToString2() + "," +
  115. p["BUNDLING_NUM"].ToString2()
  116. )
  117. .ToList();
  118. if (!updateData.Any())
  119. {
  120. MessageBox.Show("请勾选需要结算的数据");
  121. return;
  122. }
  123. var ccp = new CoreClientParam();
  124. ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust";
  125. ccp.MethodName = "Settle";
  126. ccp.ServerParams = new object[]
  127. {
  128. updateData
  129. };
  130. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  131. if (ccp.ReturnCode != -1)
  132. {
  133. MessageUtil.ShowTips(ccp.ReturnInfo);
  134. if (ccp.ReturnInfo.Equals("结算成功!"))
  135. {
  136. Query();
  137. }
  138. }
  139. }
  140. private void CancelSettle()
  141. {
  142. ultraGrid2.UpdateData();
  143. List<string> updateData = dataTable2.AsEnumerable().Select(p =>
  144. p["SUBCONTRACT_NO"].ToString2() + "," +
  145. p["SUBCONTRACT_NO_SEQ"].ToString2() + "," +
  146. p["PROJECT_CODE"].ToString2() + "," +
  147. p["PROJECT_TYPE"].ToString2() + "," +
  148. p["PAY_DEPARTMENT_CODE"].ToString2() + "," +
  149. p["BAL_PRICE"].ToString2() + "," +
  150. p["BAL_PRICE_TOTAL"].ToString2())
  151. .ToList();
  152. if (!updateData.Any())
  153. {
  154. MessageBox.Show("请勾选需要撤销结算的数据");
  155. return;
  156. }
  157. var ccp = new CoreClientParam();
  158. ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust";
  159. ccp.MethodName = "CancelSettle";
  160. ccp.ServerParams = new object[]
  161. {
  162. updateData
  163. };
  164. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  165. if (ccp.ReturnCode != -1)
  166. {
  167. MessageUtil.ShowTips(ccp.ReturnInfo);
  168. if (ccp.ReturnInfo.Equals("撤销结算成功!"))
  169. {
  170. Query();
  171. }
  172. }
  173. }
  174. private void Export()
  175. {
  176. string title = "";
  177. title += "外委加工明细" + dtBathYear.Value.ToString("yyyyMM");
  178. GridHelper.ulGridToExcel(tbcMain.SelectedTab.Index==0? ultraGrid1: ultraGrid2, title);
  179. }
  180. private void Query()
  181. {
  182. WaitingForm2 wf = new WaitingForm2("正在查询,请稍候....");
  183. try
  184. {
  185. this.Cursor = Cursors.WaitCursor;
  186. if (tbcMain.SelectedTab.Index == 0)
  187. {
  188. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.common.frmEntrust.doQuerUnBal",
  189. new object[]
  190. {
  191. ucePlineCode.Checked && cboPline.CheckedItems.Count > 0 ? cboPline.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : plineCodes
  192. ,items
  193. }, this.ob);
  194. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
  195. comm.RefreshAndAutoSizeWithHeader(ultraGrid1, new string[] { "" });
  196. }
  197. else
  198. {
  199. DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.common.frmEntrust.doQuerBal",
  200. new object[]
  201. {
  202. dtBathYear.Value.ToString("yyyyMM"), ucePlineCode1.Checked && cboPline1.CheckedItems.Count > 0 ? cboPline1.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : plineCodes,
  203. items
  204. }, this.ob);
  205. GridHelper.CopyDataToDatatable(ref dt2, ref dataTable2, true);
  206. comm.RefreshAndAutoSizeWithHeader(ultraGrid2, new string[] {""});
  207. }
  208. }
  209. catch (Exception)
  210. {
  211. }
  212. finally
  213. {
  214. wf.Close();
  215. this.Cursor = Cursors.Default;
  216. }
  217. }
  218. private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  219. {
  220. bool CanEdit = e.Row.Cells["PROJECT_STATUS"].Value.ToString2() == "00";
  221. EnableEdit(CanEdit, e.Row.Cells["PROJECT_TYPE"]);
  222. EnableEdit(CanEdit, e.Row.Cells["PAY_DEPARTMENT_CODE"]);
  223. EnableEdit(CanEdit, e.Row.Cells["BAL_PRICE"]);
  224. EnableEdit(CanEdit, e.Row.Cells["BAL_PRICE_TOTAL"]);
  225. }
  226. private void EnableEdit(bool CanEdit,UltraGridCell cell)
  227. {
  228. if (CanEdit)
  229. {
  230. cell.Activation = Activation.AllowEdit;
  231. cell.Appearance.BackColor = Color.FromArgb(255, 224, 192);
  232. cell.IgnoreRowColActivation = true;
  233. }
  234. else
  235. {
  236. cell.Activation = Activation.ActivateOnly;
  237. cell.Appearance.ResetBackColor();
  238. cell.IgnoreRowColActivation = true;
  239. }
  240. }
  241. private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
  242. {
  243. }
  244. private void tbcMain_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  245. {
  246. if (toolMenu == null) return;
  247. if (toolMenu.Toolbars[0].Tools.Exists("Update"))
  248. toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = tbcMain.SelectedTab.Index == 0
  249. ? DefaultableBoolean.True
  250. : DefaultableBoolean.False;
  251. if (toolMenu.Toolbars[0].Tools.Exists("Settle"))
  252. toolMenu.Toolbars[0].Tools["Settle"].InstanceProps.Visible = tbcMain.SelectedTab.Index == 0
  253. ? DefaultableBoolean.True
  254. : DefaultableBoolean.False;
  255. if (toolMenu.Toolbars[0].Tools.Exists("CancelSettle"))
  256. toolMenu.Toolbars[0].Tools["CancelSettle"].InstanceProps.Visible = tbcMain.SelectedTab.Index == 1
  257. ? DefaultableBoolean.True
  258. : DefaultableBoolean.False;
  259. }
  260. private void FrmEntrustBal_Load(object sender, EventArgs e)
  261. {
  262. tbcMain_SelectedTabChanged(null, null);
  263. }
  264. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  265. {
  266. foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
  267. {
  268. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  269. {
  270. uRow.Cells["CHK"].Value = true;
  271. }
  272. }
  273. }
  274. }
  275. }