FrmSubContractDP.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. using Core.Mes.Client.Comm.Format;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.YdmStuffManage.Entity;
  5. using CoreFS.CA06;
  6. using Infragistics.Win;
  7. using Infragistics.Win.UltraWinGrid;
  8. using System;
  9. using System.Collections;
  10. using System.Collections.Generic;
  11. using System.ComponentModel;
  12. using System.Data;
  13. using System.Drawing;
  14. using System.Linq;
  15. using System.Text;
  16. using System.Windows.Forms;
  17. namespace Core.StlMes.Client.YdmStuffManage
  18. {
  19. public partial class FrmSubContractDP : FrmBase
  20. {
  21. public FrmSubContractDP()
  22. {
  23. InitializeComponent();
  24. }
  25. private string[] arr = null;
  26. private void FrmSubContractDP_Load(object sender, EventArgs e)
  27. {
  28. DateTime now = DateTime.Now;
  29. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  30. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  31. this.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  32. this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  33. EntityHelper.ShowGridCaption<PlnZyDzMEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  34. EntityHelper.ShowGridCaption<PlnZyDzCEntity>(ultraGrid1.DisplayLayout.Bands[1]);
  35. EntityHelper.ShowGridCaption<FrgEntrustedBillEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  36. arr = BaseMethod.InitLgPermissions(this.ValidDataPurviewIds, "C", this.ob);
  37. }
  38. /// <summary>
  39. /// 重写基类方法
  40. /// </summary>
  41. /// <param name="sender"></param>
  42. /// <param name="ToolbarKey"></param>
  43. public override void ToolBar_Click(object sender, string ToolbarKey)
  44. {
  45. switch (ToolbarKey)
  46. {
  47. case "Query":
  48. doQueryPlan();
  49. break;
  50. case "doQuerySubContractNo":
  51. doQuerySubContractNo();
  52. break;
  53. case "SubContract":
  54. subContract();
  55. break;
  56. case "CancelSubContract":
  57. cancelSubContract();
  58. break;
  59. case "Close":
  60. this.Close();
  61. break;
  62. }
  63. }
  64. /// <summary>
  65. /// 数据验证
  66. /// </summary>
  67. /// <returns></returns>
  68. private bool CheckQuery()
  69. {
  70. if (this.chkPlnStaus.Checked && string.IsNullOrEmpty(this.cmbPlnSatus.Text.Trim()))
  71. {
  72. MessageUtil.ShowWarning("请选择计划状态!");
  73. return false;
  74. }
  75. if(this.chkJugeNo.Checked&&string.IsNullOrEmpty(this.txtJudgeNo.Text.Trim()))
  76. {
  77. MessageUtil.ShowTips("请输入判定炉号!");
  78. return false;
  79. }
  80. return true;
  81. }
  82. /// <summary>
  83. /// 查询锻造炉计划
  84. /// </summary>
  85. private void doQueryPlan()
  86. {
  87. string plnStaus = "";
  88. string startTim = "";
  89. string endTim = "";
  90. if (!CheckQuery())
  91. {
  92. return;
  93. }
  94. if (this.chkTim.Checked)
  95. {
  96. startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  97. endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  98. }
  99. if (this.chkPlnStaus.Checked)
  100. {
  101. plnStaus = this.cmbPlnSatus.Value.ToString();
  102. }
  103. ArrayList parm = new ArrayList();
  104. parm.Add(plnStaus);
  105. List<PlnZyDzMEntity> listSource = EntityHelper.GetData<PlnZyDzMEntity>(
  106. "Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryPlnZyM", new object[] { parm, startTim, endTim, arr }, this.ob);
  107. List<PlnZyDzCEntity> listSource2 = EntityHelper.GetData<PlnZyDzCEntity>(
  108. "Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryPlnZyC", new object[] { }, this.ob);
  109. EntityHelper.AddEntityRelation(listSource, listSource2, "HeatPlanNo", "HeatPlanNo");
  110. PlnZyDzMEntitybindingSource.DataSource = listSource;
  111. }
  112. /// <summary>
  113. /// 查询委托信息
  114. /// </summary>
  115. private void doQuerySubContractNo()
  116. {
  117. string judgeNo = "";
  118. string startTim = "";
  119. string endTim = "";
  120. if (!CheckQuery())
  121. {
  122. return;
  123. }
  124. if (this.chkTim.Checked)
  125. {
  126. startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  127. endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  128. }
  129. if (this.chkJugeNo.Checked)
  130. {
  131. judgeNo = this.txtJudgeNo.Text.Trim();
  132. }
  133. ArrayList parm = new ArrayList();
  134. parm.Add(judgeNo);
  135. List<FrgEntrustedBillEntity> listSource = EntityHelper.GetData<FrgEntrustedBillEntity>(
  136. "Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryEntrust", new object[] { parm, startTim, endTim, arr }, this.ob);
  137. FrgEntrustedBillEntitybindingSource.DataSource = listSource;
  138. }
  139. /// <summary>
  140. /// 委托
  141. /// </summary>
  142. private void subContract()
  143. {
  144. this.ultraGrid1.UpdateData();
  145. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  146. if (checkMagRows.Count() == 0)
  147. {
  148. MessageUtil.ShowTips("请选择需要委托的炉信息!");
  149. return;
  150. }
  151. foreach (UltraGridRow isRow in checkMagRows)
  152. {
  153. if (!isRow.HasChild())
  154. {
  155. MessageUtil.ShowTips("无实际炉计划,不允许委外加工!");
  156. return;
  157. }
  158. }
  159. ArrayList parmList = new ArrayList();
  160. foreach(UltraGridRow uRow in checkMagRows)
  161. {
  162. if (uRow.Cells["SubcontractFlag"].Text.Trim().Equals("已委外"))
  163. {
  164. MessageUtil.ShowTips("该锻造炉计划已委外,不允许重复委外!");
  165. return;
  166. }
  167. if (!uRow.Cells["Planstatus"].Text.Trim().Equals("计划下发"))
  168. {
  169. MessageUtil.ShowTips("该锻造炉计划不是准备状态,不允许委外!");
  170. return;
  171. }
  172. foreach(UltraGridRow row in uRow.ChildBands[0].Rows)
  173. {
  174. PlnZyDzCEntity plnDzCtity = (PlnZyDzCEntity)row.ListObject;
  175. if (plnDzCtity.RealIndoubleNum.ToString3() == "0" || !StringUtil.IsInt(plnDzCtity.RealIndoubleNum.ToString3()))
  176. {
  177. MessageUtil.ShowTips("上料支数需为正整数!");
  178. return;
  179. }
  180. plnDzCtity.WlidIn = uRow.Cells["WlidIn"].Text.ToString();
  181. plnDzCtity.WldescIn = uRow.Cells["WldescIn"].Text.ToString();
  182. plnDzCtity.OutwlId = uRow.Cells["OutwlId"].Text.ToString();
  183. plnDzCtity.OutwlDesc = uRow.Cells["OutwlDesc"].Text.ToString();
  184. plnDzCtity.Gradecode = uRow.Cells["Gradecode"].Text.ToString();
  185. plnDzCtity.Gradename = uRow.Cells["Gradename"].Text.ToString();
  186. plnDzCtity.OutWtOne = decimal.Parse(uRow.Cells["OutWtOne"].Text.ToString());
  187. plnDzCtity.DiameterOut = decimal.Parse(uRow.Cells["DiameterOut"].Text.ToString());
  188. plnDzCtity.LenGpSingleOut = uRow.Cells["LenGpSingleOut"].Text.ToString();
  189. string plnDzCEntity = JSONFormat.Format(plnDzCtity);
  190. parmList.Add(plnDzCEntity);
  191. }
  192. }
  193. CoreClientParam ccp = new CoreClientParam();
  194. ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmSubContractDP";
  195. ccp.MethodName = "subContract";
  196. ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName()};
  197. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  198. if (ccp.ReturnCode != -1)
  199. {
  200. if (ccp.ReturnInfo.Equals("委外加工成功!"))
  201. {
  202. doQueryPlan();
  203. MessageUtil.ShowTips(ccp.ReturnInfo);
  204. }
  205. else
  206. {
  207. MessageUtil.ShowTips(ccp.ReturnInfo);
  208. }
  209. }
  210. }
  211. /// <summary>
  212. /// 取消委托
  213. /// </summary>
  214. private void cancelSubContract()
  215. {
  216. this.ultraGrid2.UpdateData();
  217. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'");
  218. if (checkMagRows.Count() == 0)
  219. {
  220. MessageUtil.ShowTips("请选择需要撤销的委托信息!");
  221. return;
  222. }
  223. ArrayList parmList = new ArrayList();
  224. foreach(UltraGridRow uRow in checkMagRows)
  225. {
  226. FrgEntrustedBillEntity frgEntrustTity = (FrgEntrustedBillEntity)uRow.ListObject;
  227. string frgEntrustEntity = JSONFormat.Format(frgEntrustTity);
  228. parmList.Add(frgEntrustEntity);
  229. }
  230. CoreClientParam ccp = new CoreClientParam();
  231. ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmSubContractDP";
  232. ccp.MethodName = "cancelSubContract";
  233. ccp.ServerParams = new object[] { parmList };
  234. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  235. if (ccp.ReturnCode != -1)
  236. {
  237. if (ccp.ReturnInfo.Equals("撤销成功!"))
  238. {
  239. doQuerySubContractNo();
  240. MessageUtil.ShowTips(ccp.ReturnInfo);
  241. }
  242. else
  243. {
  244. MessageUtil.ShowTips(ccp.ReturnInfo);
  245. }
  246. }
  247. }
  248. private void chkTim_CheckedChanged(object sender, EventArgs e)
  249. {
  250. this.StartTime.Enabled = this.EndTime.Enabled = this.chkTim.Checked;
  251. }
  252. private void chkPlnStaus_CheckedChanged(object sender, EventArgs e)
  253. {
  254. this.cmbPlnSatus.Enabled = this.chkPlnStaus.Checked;
  255. }
  256. private void chkJugeNo_CheckedChanged(object sender, EventArgs e)
  257. {
  258. this.txtJudgeNo.Enabled = this.chkJugeNo.Checked;
  259. }
  260. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  261. {
  262. if (toolMenu == null) return;
  263. if(ultraTabControl1.SelectedTab.Key == "0")
  264. {
  265. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  266. {
  267. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True;
  268. }
  269. if (toolMenu.Toolbars[0].Tools.Exists("doQuerySubContractNo"))
  270. {
  271. toolMenu.Toolbars[0].Tools["doQuerySubContractNo"].InstanceProps.Visible = DefaultableBoolean.False;
  272. }
  273. if (toolMenu.Toolbars[0].Tools.Exists("SubContract"))
  274. {
  275. toolMenu.Toolbars[0].Tools["SubContract"].InstanceProps.Visible = DefaultableBoolean.True;
  276. }
  277. if (toolMenu.Toolbars[0].Tools.Exists("CancelSubContract"))
  278. {
  279. toolMenu.Toolbars[0].Tools["CancelSubContract"].InstanceProps.Visible = DefaultableBoolean.False;
  280. }
  281. this.chkTim.Text = "计划日期";
  282. chkPlnStaus.Visible = true;
  283. cmbPlnSatus.Visible = true;
  284. chkJugeNo.Visible = false;
  285. txtJudgeNo.Visible = false;
  286. }
  287. else if (ultraTabControl1.SelectedTab.Key == "1")
  288. {
  289. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  290. {
  291. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False;
  292. }
  293. if (toolMenu.Toolbars[0].Tools.Exists("doQuerySubContractNo"))
  294. {
  295. toolMenu.Toolbars[0].Tools["doQuerySubContractNo"].InstanceProps.Visible = DefaultableBoolean.True;
  296. }
  297. if (toolMenu.Toolbars[0].Tools.Exists("SubContract"))
  298. {
  299. toolMenu.Toolbars[0].Tools["SubContract"].InstanceProps.Visible = DefaultableBoolean.False;
  300. }
  301. if (toolMenu.Toolbars[0].Tools.Exists("CancelSubContract"))
  302. {
  303. toolMenu.Toolbars[0].Tools["CancelSubContract"].InstanceProps.Visible = DefaultableBoolean.True;
  304. }
  305. this.chkTim.Text = "委托日期";
  306. chkPlnStaus.Visible = false;
  307. cmbPlnSatus.Visible = false;
  308. chkJugeNo.Visible = true;
  309. txtJudgeNo.Visible = true;
  310. }
  311. }
  312. private void FrmSubContractDP_Shown(object sender, EventArgs e)
  313. {
  314. if (toolMenu == null) return;
  315. if (toolMenu.Toolbars[0].Tools.Exists("doQuerySubContractNo"))
  316. {
  317. toolMenu.Toolbars[0].Tools["doQuerySubContractNo"].InstanceProps.Visible = DefaultableBoolean.False;
  318. }
  319. if (toolMenu.Toolbars[0].Tools.Exists("CancelSubContract"))
  320. {
  321. toolMenu.Toolbars[0].Tools["CancelSubContract"].InstanceProps.Visible = DefaultableBoolean.False;
  322. }
  323. chkJugeNo.Visible = false;
  324. txtJudgeNo.Visible = false;
  325. }
  326. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  327. {
  328. this.ultraGrid1.UpdateData();
  329. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  330. if (!uRow.HasParent())
  331. {
  332. if (e.Cell.Column.Key == "CHK" && uRow.Cells["CHK"].Text == "True")
  333. {
  334. foreach (UltraGridRow row in uRow.ChildBands[0].Rows)
  335. {
  336. row.Cells["RealIndoubleNum"].Value = row.Cells["PlanIndoubleNum"].Value.ToString3();
  337. row.Cells["RealIndoubleWt"].Value = row.Cells["PlanIndoubleWt"].Value.ToString3();
  338. }
  339. }
  340. return;
  341. }
  342. if (uRow == null)
  343. {
  344. return;
  345. }
  346. PlnZyDzCEntity plnZyDzCTity = (PlnZyDzCEntity)uRow.ListObject;
  347. if (plnZyDzCTity.RealIndoubleNum.Equals("") || plnZyDzCTity.RealIndoubleNum == null)
  348. {
  349. plnZyDzCTity.RealIndoubleNum = 0;
  350. }
  351. string plnZyDzEntity = JSONFormat.Format(plnZyDzCTity);
  352. if (e.Cell.Column.Key == "RealIndoubleNum")
  353. {
  354. DataTable ds = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmSubContractDP.doQueryWgt", new object[] { plnZyDzEntity }, ob);
  355. if (ds.Rows.Count > 0)
  356. {
  357. ultraGrid1.ActiveRow.Cells["RealIndoubleWt"].Value = ds.Rows[0][0].ToString();
  358. }
  359. }
  360. }
  361. }
  362. }