FrmForgingStockInstore.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  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 FrmForgingStockInstore : FrmBase
  20. {
  21. public FrmForgingStockInstore()
  22. {
  23. InitializeComponent();
  24. }
  25. private string[] arr = null;
  26. private void FrmForgingStockInstore_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<FrgLoadingResultEntity>(ultraGrid3.DisplayLayout.Bands[0]);
  36. EntityHelper.ShowGridCaption<YdmGpInlistEntity>(ultraGrid4.DisplayLayout.Bands[0]);
  37. arr = BaseMethod.InitLgPermissions(this.ValidDataPurviewIds,"C",this.ob);
  38. }
  39. /// <summary>
  40. /// 重写基类方法
  41. /// </summary>
  42. /// <param name="sender"></param>
  43. /// <param name="ToolbarKey"></param>
  44. public override void ToolBar_Click(object sender, string ToolbarKey)
  45. {
  46. switch (ToolbarKey)
  47. {
  48. case "Query":
  49. doQueryPlan();
  50. break;
  51. case"doQueryInList":
  52. doQueryInList();
  53. break;
  54. case "EnsureInPut":
  55. EnsureInPutData();
  56. break;
  57. case "CancelInPut":
  58. CancelInPutData();
  59. break;
  60. case "DoBeside":
  61. doBeside();
  62. break;
  63. case"cancelDoBeside":
  64. cancelDoBeside();
  65. break;
  66. case "Close":
  67. this.Close();
  68. break;
  69. }
  70. }
  71. /// <summary>
  72. /// 查询炉计划
  73. /// </summary>
  74. private void doQueryPlan()
  75. {
  76. string[] L1 = new string[] { "HeatPlanNo", "StoveNo" };
  77. string[] L2 = new string[] { "HeatPlanNo", "StoveNo" };
  78. string stoveNo = "";
  79. string startTim = "";
  80. string endTim = "";
  81. if (!CheckQuery()) return;
  82. if (this.chkTim.Checked)
  83. {
  84. startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  85. endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  86. }
  87. if (this.chkStoveNo.Checked)
  88. {
  89. stoveNo = this.txtStoveNo.Text.Trim();
  90. }
  91. ArrayList parm = new ArrayList();
  92. parm.Add(stoveNo);
  93. List<PlnZyDzMEntity> listSource = EntityHelper.GetData<PlnZyDzMEntity>(
  94. "Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.doQueryPlnZyM", new object[] { parm, startTim, endTim, arr, ultraOptionSet2.CheckedItem.DataValue.ToString() }, this.ob);
  95. FrgLoadingResultEntitybindingSource.Clear();
  96. List<PlnZyDzCEntity> listSource2 = EntityHelper.GetData<PlnZyDzCEntity>(
  97. "Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.doQueryPlnZyC", new object[] { parm }, this.ob);
  98. EntityHelper.AddEntityRelation(listSource, listSource2, L1, L2);
  99. PlnZyDzMEntitybindingSource.DataSource = listSource;
  100. }
  101. /// <summary>
  102. /// 查询交库实绩
  103. /// </summary>
  104. private void doQueryInList()
  105. {
  106. string stoveNo = "";
  107. string startTim = "";
  108. string endTim = "";
  109. if (!CheckQuery()) return;
  110. if (this.chkTim.Checked)
  111. {
  112. startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  113. endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  114. }
  115. if (this.chkStoveNo.Checked)
  116. {
  117. stoveNo = this.txtStoveNo.Text.Trim();
  118. }
  119. ArrayList parm = new ArrayList();
  120. parm.Add(stoveNo);
  121. List<YdmGpInlistEntity> listSource = EntityHelper.GetData<YdmGpInlistEntity>(
  122. "Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.doQueryInList", new object[] { parm, startTim, endTim,arr }, this.ob);
  123. YdmGpInlistEntitybindingSource.DataSource = listSource;
  124. }
  125. /// <summary>
  126. /// 数据验证
  127. /// </summary>
  128. /// <returns></returns>
  129. private bool CheckQuery()
  130. {
  131. if (this.chkStoveNo.Checked && string.IsNullOrEmpty(this.txtStoveNo.Text.Trim()))
  132. {
  133. MessageUtil.ShowWarning("请输入判定炉号!");
  134. return false;
  135. }
  136. return true;
  137. }
  138. /// <summary>
  139. /// 交库
  140. /// </summary>
  141. private void EnsureInPutData()
  142. {
  143. this.ultraGrid3.UpdateData();
  144. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  145. string storeNo = "";
  146. string strInBound = "800701";
  147. string departId = ClsLoad.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob);
  148. string departMent = ClsLoad.GetDepartBySectionId(this.UserInfo.GetDeptid(), this.ob);
  149. string[] storeType = new string[4];
  150. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid3.Rows.AsQueryable().Where(" CHK = 'True'");
  151. if (checkMagRows.Count() == 0)
  152. {
  153. MessageUtil.ShowTips("请勾选可交库信息!");
  154. return;
  155. }
  156. if (uRow.Cells["PlineCode"].Text.Equals("C005"))
  157. {
  158. storeNo = "XED1";
  159. }
  160. else
  161. {
  162. MessageUtil.ShowTips("未获取到所在科室,无法交库!");
  163. return;
  164. }
  165. storeType = getStoreType(storeNo);
  166. ArrayList parmList = new ArrayList();
  167. foreach(UltraGridRow row in checkMagRows)
  168. {
  169. FrgLoadingResultEntity frgLoadingEntity = (FrgLoadingResultEntity)row.ListObject;
  170. string frgLoadingTity = JSONFormat.Format(frgLoadingEntity);
  171. parmList.Add(frgLoadingTity);
  172. }
  173. if (MessageUtil.ShowYesNoAndQuestion("是否入库?") == DialogResult.No)
  174. {
  175. return;
  176. }
  177. CoreClientParam ccp = new CoreClientParam();
  178. ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore";
  179. ccp.MethodName = "ensureInPutData";
  180. ccp.ServerParams = new object[] { parmList, storeNo, strInBound, storeType, this.UserInfo.GetUserName(), this.UserInfo.GetDeptid(), this.UserInfo.GetDepartment(), departId, departMent };
  181. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  182. if (ccp.ReturnCode != -1)
  183. {
  184. if (ccp.ReturnInfo.Equals("入库成功!"))
  185. {
  186. doQueryPlan();
  187. MessageUtil.ShowTips(ccp.ReturnInfo);
  188. }
  189. else
  190. {
  191. MessageUtil.ShowTips(ccp.ReturnInfo);
  192. }
  193. }
  194. }
  195. /// <summary>
  196. /// 查询仓库类型
  197. /// </summary>
  198. /// <param name="storeNo"></param>
  199. /// <returns></returns>
  200. private string[] getStoreType(string storeNo)
  201. {
  202. string[] storeType = new string[4];
  203. DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmStuffInputStore.getStoreType", new object[] { storeNo }, ob);
  204. if (dt.Rows.Count > 0)
  205. {
  206. storeType[0] = dt.Rows[0]["STORAGE_ATTR"].ToString();
  207. storeType[1] = dt.Rows[0]["STORAGE_ATTR_NAME"].ToString();
  208. storeType[2] = dt.Rows[0]["STORAGE_TYPE_NO"].ToString();
  209. storeType[3] = dt.Rows[0]["STORAGE_TYPE_NAME"].ToString();
  210. }
  211. return storeType;
  212. }
  213. /// <summary>
  214. /// 撤销交库
  215. /// </summary>
  216. private void CancelInPutData()
  217. {
  218. this.ultraGrid4.UpdateData();
  219. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid4.Rows.AsQueryable().Where(" CHK = 'True'");
  220. if (checkMagRows.Count() == 0)
  221. {
  222. MessageUtil.ShowTips("请勾选需要撤销的入库实绩!");
  223. return;
  224. }
  225. ArrayList parm = new ArrayList();
  226. foreach (UltraGridRow uRow in checkMagRows)
  227. {
  228. YdmGpInlistEntity ydmGpInListEntity = (YdmGpInlistEntity)uRow.ListObject;
  229. string inListTity = JSONFormat.Format(ydmGpInListEntity);
  230. parm.Add(inListTity);
  231. }
  232. if (MessageUtil.ShowYesNoAndQuestion("是否撤销入库?") == DialogResult.No)
  233. {
  234. return;
  235. }
  236. CoreClientParam ccp = new CoreClientParam();
  237. ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore";
  238. ccp.MethodName = "cancelInPutData";
  239. ccp.ServerParams = new object[] { parm };
  240. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  241. if (ccp.ReturnCode != -1)
  242. {
  243. if (ccp.ReturnInfo.Equals("撤销入库成功!"))
  244. {
  245. doQueryInList();
  246. MessageUtil.ShowTips(ccp.ReturnInfo);
  247. }
  248. else
  249. {
  250. MessageUtil.ShowTips(ccp.ReturnInfo);
  251. }
  252. }
  253. }
  254. /// <summary>
  255. /// 结炉
  256. /// </summary>
  257. private void doBeside()
  258. {
  259. this.ultraGrid1.UpdateData();
  260. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  261. if (uRow == null || uRow.HasParent())
  262. {
  263. return;
  264. }
  265. if (!uRow.Cells["NodeEstatus"].Text.Equals("上料完成"))
  266. {
  267. MessageUtil.ShowTips("上料未结炉,不允许结炉!");
  268. return;
  269. }
  270. DataTable ds = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.doQueryLoading", new object[] { uRow.Cells["HeatPlanNo"].Text }, ob);
  271. if (int.Parse(ds.Rows[0][0].ToString()) > 0)
  272. {
  273. MessageUtil.ShowTips("还有未入库的管坯,不允许结炉!");
  274. return;
  275. }
  276. PlnZyDzMEntity plnZyC = (PlnZyDzMEntity)uRow.ListObject;
  277. string plnZyTity = JSONFormat.Format(plnZyC);
  278. ServerHelper.SetData("Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.doBeside", new object[] { plnZyTity }, ob);
  279. doQueryPlan();
  280. MessageUtil.ShowTips("结炉成功!");
  281. }
  282. /// <summary>
  283. /// 撤销结炉
  284. /// </summary>
  285. private void cancelDoBeside()
  286. {
  287. this.ultraGrid1.UpdateData();
  288. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  289. if (uRow == null || uRow.HasParent())
  290. {
  291. return;
  292. }
  293. if (!uRow.Cells["NodeEstatus"].Text.Equals("下线完成"))
  294. {
  295. MessageUtil.ShowTips("下线未结炉,不允许结炉回退!");
  296. return;
  297. }
  298. ArrayList parmList = new ArrayList();
  299. parmList.Add(uRow.Cells["StoveNo"].Text);
  300. parmList.Add(uRow.Cells["JudgeStoveNo"].Text);
  301. parmList.Add(uRow.Cells["ProPlanId"].Text);
  302. parmList.Add(uRow.Cells["GxPlanNo"].Text);
  303. DataTable ds = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.doQueryJudgeApply", new object[] { parmList }, ob);
  304. if (int.Parse(ds.Rows[0][0].ToString()) > 0)
  305. {
  306. MessageUtil.ShowTips("该熔炼炉已有申请判定,不允许结炉回退!");
  307. return;
  308. }
  309. PlnZyDzMEntity plnZyC = (PlnZyDzMEntity)uRow.ListObject;
  310. string plnZyTity = JSONFormat.Format(plnZyC);
  311. ServerHelper.SetData("Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.cancelDoBeside", new object[] { plnZyTity }, ob);
  312. doQueryPlan();
  313. MessageUtil.ShowTips("结炉回退成功!");
  314. }
  315. private void chkTim_CheckedChanged(object sender, EventArgs e)
  316. {
  317. this.StartTime.Enabled = this.EndTime.Enabled = this.chkTim.Checked;
  318. }
  319. private void chkStoveNo_CheckedChanged(object sender, EventArgs e)
  320. {
  321. this.txtStoveNo.Enabled = this.chkStoveNo.Checked;
  322. }
  323. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  324. {
  325. if (toolMenu == null) return;
  326. if(ultraTabControl1.SelectedTab.Key == "0")
  327. {
  328. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  329. {
  330. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True;
  331. }
  332. if (toolMenu.Toolbars[0].Tools.Exists("doQueryInList"))
  333. {
  334. toolMenu.Toolbars[0].Tools["doQueryInList"].InstanceProps.Visible = DefaultableBoolean.False;
  335. }
  336. if (toolMenu.Toolbars[0].Tools.Exists("EnsureInPut"))
  337. {
  338. toolMenu.Toolbars[0].Tools["EnsureInPut"].InstanceProps.Visible = DefaultableBoolean.True;
  339. }
  340. if (toolMenu.Toolbars[0].Tools.Exists("DoBeside"))
  341. {
  342. toolMenu.Toolbars[0].Tools["DoBeside"].InstanceProps.Visible = DefaultableBoolean.True;
  343. }
  344. if (toolMenu.Toolbars[0].Tools.Exists("CancelInPut"))
  345. {
  346. toolMenu.Toolbars[0].Tools["CancelInPut"].InstanceProps.Visible = DefaultableBoolean.False;
  347. }
  348. if (toolMenu.Toolbars[0].Tools.Exists("cancelDoBeside"))
  349. {
  350. toolMenu.Toolbars[0].Tools["cancelDoBeside"].InstanceProps.Visible = DefaultableBoolean.True;
  351. }
  352. this.chkTim.Text = "计划日期";
  353. ultraOptionSet2.Visible = true;
  354. }
  355. else if (ultraTabControl1.SelectedTab.Key == "1")
  356. {
  357. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  358. {
  359. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False;
  360. }
  361. if (toolMenu.Toolbars[0].Tools.Exists("doQueryInList"))
  362. {
  363. toolMenu.Toolbars[0].Tools["doQueryInList"].InstanceProps.Visible = DefaultableBoolean.True;
  364. }
  365. if (toolMenu.Toolbars[0].Tools.Exists("EnsureInPut"))
  366. {
  367. toolMenu.Toolbars[0].Tools["EnsureInPut"].InstanceProps.Visible = DefaultableBoolean.False;
  368. }
  369. if (toolMenu.Toolbars[0].Tools.Exists("DoBeside"))
  370. {
  371. toolMenu.Toolbars[0].Tools["DoBeside"].InstanceProps.Visible = DefaultableBoolean.False;
  372. }
  373. if (toolMenu.Toolbars[0].Tools.Exists("CancelInPut"))
  374. {
  375. toolMenu.Toolbars[0].Tools["CancelInPut"].InstanceProps.Visible = DefaultableBoolean.True;
  376. }
  377. if (toolMenu.Toolbars[0].Tools.Exists("cancelDoBeside"))
  378. {
  379. toolMenu.Toolbars[0].Tools["cancelDoBeside"].InstanceProps.Visible = DefaultableBoolean.False;
  380. }
  381. this.chkTim.Text = "入库日期";
  382. ultraOptionSet2.Visible = false;
  383. }
  384. }
  385. private void FrmForgingStockInstore_Shown(object sender, EventArgs e)
  386. {
  387. if (toolMenu == null) return;
  388. if (toolMenu.Toolbars[0].Tools.Exists("doQueryInList"))
  389. {
  390. toolMenu.Toolbars[0].Tools["doQueryInList"].InstanceProps.Visible = DefaultableBoolean.False;
  391. }
  392. if (toolMenu.Toolbars[0].Tools.Exists("CancelInPut"))
  393. {
  394. toolMenu.Toolbars[0].Tools["CancelInPut"].InstanceProps.Visible = DefaultableBoolean.False;
  395. }
  396. }
  397. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  398. {
  399. UltraGridRow row = this.ultraGrid1.ActiveRow;
  400. if (row == null)
  401. {
  402. return;
  403. }
  404. if (row.HasChild())
  405. {
  406. return;
  407. }
  408. List<FrgLoadingResultEntity> listSource = EntityHelper.GetData<FrgLoadingResultEntity>(
  409. "Core.LgMes.Server.Stuffmanage.FrmForgingStockInstore.doQueryLoadResult", new object[] { row.Cells["HeatPlanNo"].Text, row.Cells["StoveNo"].Text, row.Cells["JudgeStoveNo"].Text }, this.ob);
  410. FrgLoadingResultEntitybindingSource.DataSource = listSource;
  411. foreach(UltraGridRow uRow in this.ultraGrid3.Rows)
  412. {
  413. uRow.Cells["CHK"].Value = "True";
  414. }
  415. }
  416. }
  417. }