F_PC_0104_1.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:F_PC_0104_1.cs
  5. * 2.功能描述:成型线管理
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 王鑫 2015/09/15 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Windows.Forms;
  14. using Dongke.IBOSS.PRD.Basics.BaseResources;
  15. using Dongke.IBOSS.PRD.Basics.DockPanel;
  16. using Dongke.IBOSS.PRD.Client.CommonModule;
  17. using Dongke.IBOSS.PRD.WCF.DataModels;
  18. using Dongke.IBOSS.PRD.WCF.Proxys;
  19. using Dongke.IBOSS.PRD.WCF.Proxys.PCModuleService;
  20. namespace Dongke.IBOSS.PRD.Client.PCModule
  21. {
  22. public partial class F_PC_0104_1 : DockPanelBase
  23. {
  24. #region 成员变量
  25. // 单例模式使用
  26. private static F_PC_0104_1 _instance;
  27. // 成型线集合
  28. private List<GroutingLineEntity> _groutingLineList = new List<GroutingLineEntity>();
  29. //选择的成型线状态
  30. private int? _mouldStatus;
  31. // 最后选择行
  32. private int _selecedRow;
  33. #endregion
  34. #region 构造函数
  35. /// <summary>
  36. /// 构造函数
  37. /// </summary>
  38. public F_PC_0104_1()
  39. {
  40. InitializeComponent();
  41. // 为控件名赋值
  42. this.btnSearch.Text = ButtonText.BTN_SEARCH;
  43. this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION;
  44. this.tsbtnAdd.Text = ButtonText.TSBTN_ADD;
  45. this.tsbtnEdit.Text = ButtonText.TSBTN_EDIT;
  46. this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
  47. this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
  48. // this.tsbtnQueryRecord.Text = ButtonText.TSBTN_QUERYRECORD;
  49. this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS;
  50. this.tsbtnDisable.Text = ButtonText.TSBTN_DISABLE;
  51. this.Text = FormTitles.F_PC_0104;
  52. }
  53. #endregion
  54. #region 单例模式
  55. /// <summary>
  56. /// 单例模式,防止重复创建窗体
  57. /// </summary>
  58. public static F_PC_0104_1 Instance
  59. {
  60. get
  61. {
  62. if (_instance == null)
  63. {
  64. _instance = new F_PC_0104_1();
  65. }
  66. return _instance;
  67. }
  68. }
  69. #endregion
  70. #region 事件处理
  71. /// <summary>
  72. /// 页面加载事件
  73. /// </summary>
  74. /// <param name="sender"></param>
  75. /// <param name="e"></param>
  76. private void F_PC_0104_Load(object sender, System.EventArgs e)
  77. {
  78. try
  79. {
  80. // 加载权限
  81. FormPermissionManager.FormPermissionControl(this.Name, this,
  82. Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
  83. Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
  84. // 为成型线绑定数据源
  85. this.BindMouldType();
  86. // 设置日期控件不可用
  87. this.SetBeginTimePickerEnable(false);
  88. this.SetEndTimePickerEnable(false);
  89. #region 设置下拉列表框的数据源-车间
  90. DataTable dtWorkShop = new DataTable();
  91. dtWorkShop.Columns.Add("WorkShopId");
  92. dtWorkShop.Columns.Add("WorkShopValue");
  93. DataRow drNull = dtWorkShop.NewRow();
  94. drNull["WorkShopId"] = 0;
  95. drNull["WorkShopValue"] = "";
  96. dtWorkShop.Rows.Add(drNull);
  97. drNull = dtWorkShop.NewRow();
  98. drNull["WorkShopId"] = 1;
  99. drNull["WorkShopValue"] = "A";
  100. dtWorkShop.Rows.Add(drNull);
  101. drNull = dtWorkShop.NewRow();
  102. drNull["WorkShopId"] = 2;
  103. drNull["WorkShopValue"] = "B";
  104. dtWorkShop.Rows.Add(drNull);
  105. drNull = dtWorkShop.NewRow();
  106. drNull["WorkShopId"] = 3;
  107. drNull["WorkShopValue"] = "C";
  108. dtWorkShop.Rows.Add(drNull);
  109. drNull = dtWorkShop.NewRow();
  110. drNull["WorkShopId"] = 4;
  111. drNull["WorkShopValue"] = "高压";
  112. dtWorkShop.Rows.Add(drNull);
  113. drNull = dtWorkShop.NewRow();
  114. drNull["WorkShopId"] = 5;
  115. drNull["WorkShopValue"] = "干补";
  116. dtWorkShop.Rows.Add(drNull);
  117. drNull = dtWorkShop.NewRow();
  118. drNull["WorkShopId"] = 6;
  119. drNull["WorkShopValue"] = "补码";
  120. dtWorkShop.Rows.Add(drNull);
  121. this.cbWorkShop.DataSource = dtWorkShop;
  122. this.cbWorkShop.ValueMember = "WorkShopId";
  123. this.cbWorkShop.DisplayMember = "WorkShopValue";
  124. #endregion
  125. }
  126. catch (Exception ex)
  127. {
  128. // 对异常进行共通处理
  129. ExceptionManager.HandleEventException(this.ToString(),
  130. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  131. }
  132. }
  133. /// <summary>
  134. /// 自动列宽按钮按下处理
  135. /// </summary>
  136. /// <param name="sender"></param>
  137. /// <param name="e"></param>
  138. private void tsbtnAdaptive_Click(object sender, EventArgs e)
  139. {
  140. this.dgvGroutingLine.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
  141. this.dgvGroutingLineDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
  142. }
  143. /// <summary>
  144. /// 开始日期条件选中状态改变处理事件
  145. /// </summary>
  146. /// <param name="sender"></param>
  147. /// <param name="e"></param>
  148. private void cbStartTime_CheckedChanged(object sender, EventArgs e)
  149. {
  150. this.SetBeginTimePickerEnable(this.cbStartTime.Checked);
  151. }
  152. /// <summary>
  153. /// 结束日期条件选中状态改变处理事件
  154. /// </summary>
  155. /// <param name="sender"></param>
  156. /// <param name="e"></param>
  157. private void cbEndTime_CheckedChanged(object sender, EventArgs e)
  158. {
  159. this.SetEndTimePickerEnable(this.cbEndTime.Checked);
  160. }
  161. /// <summary>
  162. /// 查询按钮按下处理
  163. /// </summary>
  164. /// <param name="sender"></param>
  165. /// <param name="e"></param>
  166. private void btnSearch_Click(object sender, EventArgs e)
  167. {
  168. try
  169. {
  170. this._mouldStatus = Convert.ToInt32(this.lstcbxGMouldStatus.SelectedValue);
  171. // if (this.lstcbxGMouldStatus.SelectedValue.ToString()!="-1")
  172. //DataSet dsGroutingLine = (DataSet)DoAsync(new AsyncMethod(() =>
  173. //{
  174. // return GetGroutingLine();
  175. //}));
  176. DataSet dsGroutingLine = GetGroutingLine();
  177. if (dsGroutingLine != null && dsGroutingLine.Tables.Count > Constant.INT_IS_ZERO)
  178. {
  179. // 控制明细不查询
  180. this.Tag = false;
  181. this.dgvGroutingLine.DataSource = dsGroutingLine.Tables[0];
  182. if (dsGroutingLine.Tables[0].Rows.Count > Constant.INT_IS_ZERO)
  183. {
  184. // 定位当前行
  185. if (this.dgvGroutingLine.Rows.Count > this._selecedRow)
  186. {
  187. this.dgvGroutingLine.Rows[this._selecedRow].Selected = true;
  188. this.dgvGroutingLine.CurrentCell =
  189. this.dgvGroutingLine.Rows[this._selecedRow].Cells["GroutingLineCode"];
  190. }
  191. else if (this.dgvGroutingLine.Rows.Count <= this._selecedRow)
  192. {
  193. this._selecedRow = dgvGroutingLine.Rows.Count - 1;
  194. this.dgvGroutingLine.CurrentCell =
  195. this.dgvGroutingLine.Rows[this.dgvGroutingLine.Rows.Count - 1].Cells["GroutingLineCode"];
  196. this.dgvGroutingLine.Rows[dgvGroutingLine.Rows.Count - 1].Selected = true;
  197. }
  198. this.Tag = true;
  199. // 查明细
  200. this.dgvGroutingLine_SelectionChanged(null, null);
  201. this.dgvGroutingLine.Focus();
  202. }
  203. else
  204. {
  205. // 清空明细中的数据
  206. this.dgvGroutingLineDetail.DataSource = null;
  207. // 提示未查找到数据
  208. MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
  209. MessageBoxButtons.OK, MessageBoxIcon.Information);
  210. }
  211. }
  212. // 设置按钮可用状态
  213. }
  214. catch (Exception ex)
  215. {
  216. // 对异常进行共通处理
  217. ExceptionManager.HandleEventException(this.ToString(),
  218. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  219. }
  220. }
  221. /// <summary>
  222. /// 清空查询条件处理
  223. /// </summary>
  224. /// <param name="sender"></param>
  225. /// <param name="e"></param>
  226. private void btnClearCondition_Click(object sender, EventArgs e)
  227. {
  228. this.txtBuildingNo.Text = "";
  229. this.txtFloorNo.Text = "";
  230. this.txtGroutingLineNo.Text = "";
  231. this.lstcbxGMouldStatus.Text = "";
  232. this.lstcbxGMouldStatus.SelectedValue = "1";
  233. this.txtGroutingLineCode.Text = "";
  234. this.txtGroutingLineName.Text = "";
  235. this.cbStartTime.Checked = false;
  236. this.cbEndTime.Checked = false;
  237. this.txtBeginUsedDateStart.Enabled = false;
  238. this.txtBeginUsedDateEnd.Enabled = false;
  239. this.txtEndUsedDateStart.Enabled = false;
  240. this.txtEndUsedDateEnd.Enabled = false;
  241. this.txtRemarks.Text = "";
  242. this.txtGroutingUserCode.Text = null;
  243. this.cbWorkShop.SelectedValue = null;
  244. this.goodscodeText.Text = "";
  245. this.scbGoods.ClearValue();
  246. this.txtBeginUsedDateStart.Value = DateTime.Now;
  247. this.txtBeginUsedDateEnd.Value = DateTime.Now;
  248. this.txtEndUsedDateStart.Value = DateTime.Now;
  249. this.txtEndUsedDateEnd.Value = DateTime.Now;
  250. this.scbGMouldType.ClearValue();
  251. this.chkEnable.Checked = true;
  252. this.chkDisable.Checked = false;
  253. }
  254. /// <summary>
  255. /// 窗体关闭事件处理
  256. /// </summary>
  257. /// <param name="sender"></param>
  258. /// <param name="e"></param>
  259. private void tsbtnClose_Click(object sender, System.EventArgs e)
  260. {
  261. this.Close();
  262. }
  263. /// <summary>
  264. /// 窗体关闭后,释放单例模式
  265. /// </summary>
  266. /// <param name="sender"></param>
  267. /// <param name="e"></param>
  268. private void F_PC_0104_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
  269. {
  270. _instance = null;
  271. }
  272. /// <summary>
  273. /// 双击某成型线进行编辑
  274. /// </summary>
  275. /// <param name="sender"></param>
  276. /// <param name="e"></param>
  277. private void dgvGroutingLine_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  278. {
  279. }
  280. /// <summary>
  281. /// 添加新成型线
  282. /// </summary>
  283. /// <param name="sender"></param>
  284. /// <param name="e"></param>
  285. private void tsbtnAdd_Click(object sender, EventArgs e)
  286. {
  287. try
  288. {
  289. F_PC_0102_1_1 frmFPC0102 = new F_PC_0102_1_1();
  290. DialogResult dialogresult = frmFPC0102.ShowDialog();
  291. if (dialogresult.Equals(DialogResult.OK))
  292. {
  293. this.dgvGroutingLine.DataSource = null;
  294. //DataSet dsGroutingLine = (DataSet)DoAsync(new AsyncMethod(() =>
  295. //{
  296. // return GetGroutingLine();
  297. //}));
  298. DataSet dsGroutingLine = GetGroutingLine();
  299. if (dsGroutingLine != null)
  300. {
  301. if (dsGroutingLine.Tables.Count != Constant.INT_IS_ZERO)
  302. {
  303. this.dgvGroutingLine.DataSource = ((DataSet)dsGroutingLine).Tables[0];
  304. this.dgvGroutingLine.ReadOnly = true;
  305. }
  306. }
  307. }
  308. }
  309. catch (Exception ex)
  310. {
  311. // 对异常进行共通处理
  312. ExceptionManager.HandleEventException(this.ToString(),
  313. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  314. }
  315. }
  316. /// <summary>
  317. /// 编辑选中成型线
  318. /// </summary>
  319. /// <param name="sender"></param>
  320. /// <param name="e"></param>
  321. private void tsbtnEdit_Click(object sender, EventArgs e)
  322. {
  323. try
  324. {
  325. DataGridViewRow currentRow = this.dgvGroutingLine.CurrentRow;
  326. if (currentRow != null)
  327. {
  328. int GroutingLineId = Convert.ToInt32(currentRow.Cells["GroutingLineId"].Value);
  329. F_PC_0103_1 frmFPC0103 = new F_PC_0103_1(GroutingLineId);
  330. DialogResult dialogresult = frmFPC0103.ShowDialog();
  331. if (dialogresult.Equals(DialogResult.OK))
  332. {
  333. this.dgvGroutingLine.DataSource = null;
  334. DataSet dsGroutingLine = GetGroutingLine();
  335. // object obResult = DoAsync(new Dongke.IBOSS.PRD.Basics.DockPanel.AsyncMethod(GetGroutingLine));
  336. //if (obResult != null)
  337. //{
  338. //DataSet dsGroutingLine = (DataSet)obResult;
  339. if (dsGroutingLine.Tables.Count != Constant.INT_IS_ZERO)
  340. {
  341. this.dgvGroutingLine.DataSource = dsGroutingLine.Tables[0];
  342. this.dgvGroutingLine.ReadOnly = true;
  343. }
  344. //}
  345. }
  346. }
  347. }
  348. catch (Exception ex)
  349. {
  350. // 对异常进行共通处理
  351. ExceptionManager.HandleEventException(this.ToString(),
  352. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  353. }
  354. }
  355. /// <summary>
  356. /// 选择某成型线查看模具明细
  357. /// </summary>
  358. /// <param name="sender"></param>
  359. /// <param name="e"></param>
  360. private void dgvGroutingLine_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
  361. {
  362. try
  363. {
  364. if (e.RowIndex == -Constant.INT_IS_ONE || e.ColumnIndex == -Constant.INT_IS_ONE)
  365. {
  366. return;
  367. }
  368. int GroutingLineID = Convert.ToInt32(this.dgvGroutingLine.Rows[e.RowIndex].Cells["GroutingLineID"].Value);
  369. this.BindDetailInfo(GroutingLineID);
  370. this.dgvGroutingLine.Focus();
  371. }
  372. catch (Exception ex)
  373. {
  374. // 对异常进行共通处理
  375. ExceptionManager.HandleEventException(this.ToString(),
  376. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  377. }
  378. }
  379. /// <summary>
  380. /// 打开履历查询界面
  381. /// </summary>
  382. /// <param name="sender"></param>
  383. /// <param name="e"></param>
  384. private void tsbtnQueryRecord_Click(object sender, EventArgs e)
  385. {
  386. try
  387. {
  388. if (this.dgvGroutingLine.CurrentCell != null)
  389. {
  390. int GroutingLineID = Convert.ToInt32(this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["GroutingLineID"].Value);
  391. string GroutingLineCode = this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["GroutingLineCode"].Value.ToString();
  392. F_PC_0105_1 frmFPC0105 = new F_PC_0105_1(GroutingLineID, GroutingLineCode);
  393. DialogResult dialogresult = frmFPC0105.ShowDialog();
  394. }
  395. else
  396. {
  397. F_PC_0105_1 frmFPC0105 = new F_PC_0105_1();
  398. DialogResult dialogresult = frmFPC0105.ShowDialog();
  399. }
  400. }
  401. catch (Exception ex)
  402. {
  403. // 对异常进行共通处理
  404. ExceptionManager.HandleEventException(this.ToString(),
  405. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  406. }
  407. }
  408. /// <summary>
  409. /// 成型线列头点击事件
  410. /// </summary>
  411. /// <param name="sender"></param>
  412. /// <param name="e"></param>
  413. private void dgvGroutingLine_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
  414. {
  415. //try
  416. //{
  417. // if (this.dgvGroutingLine.SelectedRows.Count != Constant.INT_IS_ZERO)
  418. // {
  419. // int GroutingLineID = Convert.ToInt32(this.dgvGroutingLine.SelectedRows[0].Cells["GroutingLineID"].Value);
  420. // this.BindDetailInfo(GroutingLineID);
  421. // }
  422. //}
  423. //catch (Exception ex)
  424. //{
  425. // // 对异常进行共通处理
  426. // ExceptionManager.HandleEventException(this.ToString(),
  427. // System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  428. //}
  429. }
  430. #endregion
  431. #region 私有方法
  432. /// <summary>
  433. /// 为页面的成型线类型绑定数据源
  434. /// </summary>
  435. private void BindMouldType()
  436. {
  437. try
  438. {
  439. //DataTable dtDataSourse = new DataTable();
  440. //dtDataSourse.Columns.Add("GMouldType", System.Type.GetType("System.String"));
  441. //dtDataSourse.Columns.Add("GMouldTypeName", System.Type.GetType("System.String"));
  442. //for (int i = 0; i < Constant.ConGMouldStatusCount; i++)
  443. //{
  444. // DataRow drRow = dtDataSourse.NewRow();
  445. // drRow["GMouldType"] = Constant.ConGMouldStatus[i, 0];
  446. // drRow["GMouldTypeName"] = Constant.ConGMouldStatus[i, 1];
  447. // dtDataSourse.Rows.Add(drRow);
  448. //}
  449. //this.lstcbxGMouldStatus.ListBox.DisplayMember = "GMouldTypeName";
  450. //this.lstcbxGMouldStatus.ListBox.ValueMember = "GMouldType";
  451. //this.lstcbxGMouldStatus.ListBox.DataSource = dtDataSourse;
  452. //2022年3月25日 17:03:00 by feiy 增加成型线类别查询条件(1:试验线 0:普通线)
  453. // 绑定数据源
  454. this.TestFlag.DataSource = GetTestFlagTable();
  455. // 默认选中有效数据
  456. object[] checkValueFlags = new object[] { Constant.INT_IS_ZERO };
  457. this.TestFlag.SelectedValues = checkValueFlags;
  458. // 调用服务器端获取数据集
  459. ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new AsyncMethod(() =>
  460. {
  461. return PCModuleProxyNew.Service.GetFPC0101IData();
  462. }));
  463. if (sre.Status == Constant.ServiceResultStatus.Success)
  464. {
  465. if (sre.Data.Tables[1].Rows.Count > Constant.INT_IS_ZERO)
  466. {
  467. DataRow dr = sre.Data.Tables[1].NewRow();
  468. dr["GMouldStatusName"] = "";
  469. dr["GMouldStatusID"] = -1;
  470. sre.Data.Tables[1].Rows.InsertAt(dr, 0);
  471. this.lstcbxGMouldStatus.DisplayMember = "GMouldStatusName";
  472. this.lstcbxGMouldStatus.ValueMember = "GMouldStatusID";
  473. this.lstcbxGMouldStatus.DataSource = sre.Data.Tables[1];
  474. this.lstcbxGMouldStatus.SelectedValue = "1";
  475. }
  476. }
  477. }
  478. catch (Exception ex)
  479. {
  480. throw ex;
  481. }
  482. }
  483. /// <summary>
  484. /// 设置开始使用时间可用状态
  485. /// </summary>
  486. /// <param name="isEnable">
  487. /// false:不可用
  488. /// true:可用
  489. /// </param>
  490. private void SetBeginTimePickerEnable(bool isEnable)
  491. {
  492. this.txtBeginUsedDateStart.Enabled = isEnable;
  493. this.txtBeginUsedDateEnd.Enabled = isEnable;
  494. }
  495. /// <summary>
  496. /// 设置结束使用时间可用状态
  497. /// </summary>
  498. /// <param name="isEnable">
  499. /// false:不可用
  500. /// true:可用
  501. /// </param>
  502. private void SetEndTimePickerEnable(bool isEnable)
  503. {
  504. this.txtEndUsedDateStart.Enabled = isEnable;
  505. this.txtEndUsedDateEnd.Enabled = isEnable;
  506. }
  507. /// <summary>
  508. /// 根据条件取得成型线数据
  509. /// </summary>
  510. /// <returns></returns>
  511. private DataSet GetGroutingLine()
  512. {
  513. try
  514. {
  515. this.dgvGroutingLine.AutoGenerateColumns = false;
  516. GroutingLineEntity groutingLineEntity = new GroutingLineEntity();
  517. groutingLineEntity.VALUEFLAG = 1;
  518. groutingLineEntity.Purview = "5";
  519. groutingLineEntity.BUILDINGNO = this.txtBuildingNo.Text.Trim();
  520. groutingLineEntity.FLOORNO = this.txtFloorNo.Text.Trim();
  521. groutingLineEntity.GROUTINGLINENO = this.txtGroutingLineNo.Text.Trim();
  522. //if (this.lstcbxGMouldStatus.SelectedValue.ToString()!="-1")
  523. if (_mouldStatus != -1)
  524. {
  525. groutingLineEntity.MouldStatus = _mouldStatus;
  526. }
  527. groutingLineEntity.GROUTINGLINECODE = this.txtGroutingLineCode.Text.Trim();
  528. groutingLineEntity.GROUTINGLINENAME = this.txtGroutingLineName.Text.Trim();
  529. if (this.cbStartTime.Checked)
  530. {
  531. groutingLineEntity.BEGINUSEDDATE = Convert.ToDateTime(this.txtBeginUsedDateStart.Text.Trim());
  532. groutingLineEntity.BEGINUSEDDATEEND = Convert.ToDateTime(this.txtBeginUsedDateEnd.Text.Trim()).AddHours(23)
  533. .AddMinutes(59).AddSeconds(59);
  534. }
  535. if (this.cbEndTime.Checked)
  536. {
  537. groutingLineEntity.ENDUSEDDATE = Convert.ToDateTime(this.txtEndUsedDateStart.Text.Trim());
  538. groutingLineEntity.ENDUSEDDATEEND = Convert.ToDateTime(this.txtEndUsedDateEnd.Text.Trim()).AddHours(23)
  539. .AddMinutes(59).AddSeconds(59);
  540. }
  541. groutingLineEntity.REMARKS = this.txtRemarks.Text.Trim();
  542. if (scbGMouldType.SearchedPKMember != 0)
  543. {
  544. groutingLineEntity.MOULDTYPEID = this.scbGMouldType.SearchedPKMember;
  545. }
  546. groutingLineEntity.USERCODE = this.txtGroutingUserCode.Text.Trim();
  547. if (this.chkEnable.Checked == this.chkDisable.Checked)
  548. {
  549. groutingLineEntity.ValueFlag2 = "A";
  550. }
  551. else if (this.chkEnable.Checked)
  552. {
  553. groutingLineEntity.ValueFlag2 = "1";
  554. }
  555. else if (this.chkDisable.Checked)
  556. {
  557. groutingLineEntity.ValueFlag2 = "2";
  558. }
  559. groutingLineEntity.TestFlags = this.TestFlag.SelectedValues;
  560. // 产品编码 产品名称 车间 250306
  561. groutingLineEntity.GoodsCode = this.goodscodeText.Text;
  562. groutingLineEntity.GoodsIDS = this.scbGoods.CheckedPKMember;
  563. groutingLineEntity.NewWorkShop = this.cbWorkShop.Text;
  564. // return PCModuleProxy.Service.GetGroutingLine(groutingLineEntity);
  565. // if (this.lstcbxGMouldStatus.SelectedValue.ToString()!="-1")
  566. DataSet dsGroutingLine = (DataSet)DoAsync(new AsyncMethod(() =>
  567. {
  568. return PCModuleProxy.Service.GetGroutingLine(groutingLineEntity);
  569. }));
  570. return dsGroutingLine;
  571. }
  572. catch (Exception ex)
  573. {
  574. throw ex;
  575. }
  576. }
  577. /// <summary>
  578. /// 将成型线DataSet数据集转入集合中
  579. /// </summary>
  580. /// <param name="dsLine"></param>
  581. private void DataTableToListByLine(DataSet dsLine)
  582. {
  583. try
  584. {
  585. this._groutingLineList.Clear();
  586. foreach (DataRow drFor in dsLine.Tables[0].Rows)
  587. {
  588. GroutingLineEntity lineEntity = new GroutingLineEntity();
  589. lineEntity.GROUTINGLINEID = Convert.ToInt32(drFor["GROUTINGLINEID"]);
  590. lineEntity.BUILDINGNO = drFor["BUILDINGNO"].ToString();
  591. lineEntity.FLOORNO = drFor["FLOORNO"].ToString();
  592. lineEntity.GROUTINGLINENO = drFor["GROUTINGLINENO"].ToString();
  593. lineEntity.GROUTINGLINECODE = drFor["GROUTINGLINECODE"].ToString();
  594. lineEntity.GROUTINGLINENAME = drFor["GROUTINGLINENAME"].ToString();
  595. lineEntity.MOULDQUANTITY = Convert.ToDecimal(drFor["MOULDQUANTITY"]);
  596. lineEntity.MOULDTYPEID = Convert.ToInt32(drFor["GMOULDTYPEID"]);
  597. lineEntity.USERID = Convert.ToInt32(drFor["USERID"]);
  598. lineEntity.BEGINUSEDDATE = Convert.ToDateTime(drFor["BEGINUSEDDATE"]);
  599. if (drFor["ENDUSEDDATE"].ToString() != string.Empty)
  600. {
  601. lineEntity.ENDUSEDDATE = Convert.ToDateTime(drFor["ENDUSEDDATE"].ToString());
  602. }
  603. lineEntity.MouldStatus = Convert.ToInt32(drFor["GMouldStatus"]);
  604. lineEntity.REMARKS = drFor["REMARKS"].ToString();
  605. lineEntity.ACCOUNTID = Convert.ToInt32(drFor["ACCOUNTID"]);
  606. lineEntity.VALUEFLAG = Convert.ToInt32(drFor["VALUEFLAG"]);
  607. lineEntity.CREATETIME = Convert.ToDateTime(drFor["CREATETIME"]);
  608. lineEntity.CREATEUSERID = Convert.ToInt32(drFor["CREATEUSERID"]);
  609. lineEntity.UPDATETIME = Convert.ToDateTime(drFor["UPDATETIME"]);
  610. lineEntity.UPDATEUSERID = Convert.ToInt32(drFor["UPDATEUSERID"]);
  611. lineEntity.OPTIMESTAMP = Convert.ToDateTime(drFor["OPTIMESTAMP"]);
  612. lineEntity.MOULDTYPENAME = drFor["GMOULDTYPENAME"].ToString();
  613. this._groutingLineList.Add(lineEntity);
  614. }
  615. }
  616. catch (Exception ex)
  617. {
  618. throw ex;
  619. }
  620. }
  621. /// <summary>
  622. /// 根据成型线ID获取明细信息
  623. /// </summary>
  624. private void BindDetailInfo(int GroutingLineID)
  625. {
  626. try
  627. {
  628. this.dgvGroutingLineDetail.AutoGenerateColumns = false;
  629. //DataSet dsDetail = (DataSet)DoAsync(new Dongke.IBOSS.PRD.Basics.DockPanel.AsyncMethod(() =>
  630. //{
  631. // return PCModuleProxy.Service.GetGroutingLineDetailByMainId(GroutingLineID, null, 0);
  632. //}));
  633. DataSet dsDetail = PCModuleProxy.Service.GetGroutingLineDetailByMainId(GroutingLineID, null, 0);
  634. DataView dv = dsDetail.Tables[0].DefaultView;
  635. dv.RowFilter = "valueflag=1";
  636. dsDetail = new DataSet();
  637. dsDetail.Tables.Add(dv.ToTable());
  638. this.dgvGroutingLineDetail.DataSource = dsDetail.Tables[0];
  639. this.dgvGroutingLineDetail.ReadOnly = true;
  640. }
  641. catch (Exception ex)
  642. {
  643. throw ex;
  644. }
  645. }
  646. #endregion
  647. /// <summary>
  648. /// 停用按钮事件
  649. /// </summary>
  650. /// <param name="sender"></param>
  651. /// <param name="e"></param>
  652. private void tsbtnDisable_Click(object sender, EventArgs e)
  653. {
  654. try
  655. {
  656. if (this.dgvGroutingLine.CurrentCell != null)
  657. {
  658. int valueflag = Convert.ToInt32(this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["GMouldStatus"].Value);
  659. int groutingLineID = Convert.ToInt32(this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["groutingLineID"].Value);
  660. if (valueflag == 0)
  661. return;
  662. // 提示用户确认停用
  663. DialogResult msgBoxResult = MessageBox.Show(
  664. string.Format(Messages.MSG_CMN_Q002, "成型线", "停用"), this.Text,
  665. MessageBoxButtons.YesNo, MessageBoxIcon.Question);
  666. if (msgBoxResult == DialogResult.Yes)
  667. {
  668. int returnRow = (int)DoAsync(new AsyncMethod(() =>
  669. {
  670. return PCModuleProxy.Service.SaveGroutingLineValueFlag(groutingLineID, 0);
  671. }));
  672. //修改成功
  673. if (returnRow > 0)
  674. {
  675. MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "成型线", "停用"),
  676. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
  677. btnSearch_Click(sender, e);
  678. }
  679. else
  680. {
  681. MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "成型线", "停用"),
  682. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  683. }
  684. }
  685. }
  686. }
  687. catch (Exception ex)
  688. {
  689. // 对异常进行共通处理
  690. ExceptionManager.HandleEventException(this.ToString(),
  691. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  692. }
  693. }
  694. /// <summary>
  695. /// 启用按钮事件
  696. /// </summary>
  697. /// <param name="sender"></param>
  698. /// <param name="e"></param>
  699. private void tsbtnStart_Click(object sender, EventArgs e)
  700. {
  701. try
  702. {
  703. if (this.dgvGroutingLine.CurrentCell != null)
  704. {
  705. try
  706. {
  707. if (this.dgvGroutingLine.CurrentCell != null)
  708. {
  709. int valueflag = Convert.ToInt32(this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["GMouldStatus"].Value);
  710. int groutingLineID = Convert.ToInt32(this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["groutingLineID"].Value);
  711. if (valueflag == 1)
  712. return;
  713. // 提示用户确认停用
  714. DialogResult msgBoxResult = MessageBox.Show(
  715. string.Format(Messages.MSG_CMN_Q002, "成型线", "启用"), this.Text,
  716. MessageBoxButtons.YesNo, MessageBoxIcon.Question);
  717. if (msgBoxResult == DialogResult.Yes)
  718. {
  719. int returnRow = (int)DoAsync(new AsyncMethod(() =>
  720. {
  721. return PCModuleProxy.Service.SaveGroutingLineValueFlag(groutingLineID, 1);
  722. }));
  723. //修改成功
  724. if (returnRow > 0)
  725. {
  726. MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "成型线", "启用"),
  727. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
  728. btnSearch_Click(sender, e);
  729. }
  730. else
  731. {
  732. MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "成型线", "启用"),
  733. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  734. }
  735. }
  736. }
  737. }
  738. catch (Exception ex)
  739. {
  740. // 对异常进行共通处理
  741. ExceptionManager.HandleEventException(this.ToString(),
  742. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  743. }
  744. }
  745. }
  746. catch (Exception ex)
  747. {
  748. // 对异常进行共通处理
  749. ExceptionManager.HandleEventException(this.ToString(),
  750. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  751. }
  752. }
  753. /// <summary>
  754. /// 模具管理按钮事件
  755. /// </summary>
  756. /// <param name="sender"></param>
  757. /// <param name="e"></param>
  758. private void tsbtnManager_Click(object sender, EventArgs e)
  759. {
  760. try
  761. {
  762. if (this.dgvGroutingLine.CurrentCell != null)
  763. {
  764. int GroutingLineID = Convert.ToInt32(this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["GroutingLineID"].Value);
  765. string GroutingLineCode = this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["GroutingLineCode"].Value.ToString();
  766. F_PC_0101_1_1 frmFPC0101 = F_PC_0101_1_1.Instance;
  767. frmFPC0101.ShowInDockPanel(this.DockPanel);
  768. frmFPC0101.SetGroutingLineIDAndGroutingLineCode(GroutingLineID, GroutingLineCode);
  769. //F_PC_0101_1_1 frmFPC0101 = new F_PC_0101_1_1(GroutingLineID, GroutingLineCode);
  770. //DialogResult dialogresult = frmFPC0101.ShowDialog();
  771. }
  772. else
  773. {
  774. //F_PC_0101_1_1 frmFPC0101 = new F_PC_0101_1_1();
  775. //DialogResult dialogresult = frmFPC0101.ShowDialog();
  776. F_PC_0101_1_1 frmFPC0101 = F_PC_0101_1_1.Instance;
  777. frmFPC0101.ShowInDockPanel(this.DockPanel);
  778. }
  779. }
  780. catch (Exception ex)
  781. {
  782. // 对异常进行共通处理
  783. ExceptionManager.HandleEventException(this.ToString(),
  784. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  785. }
  786. }
  787. private void dgvGroutingLine_SelectionChanged(object sender, EventArgs e)
  788. {
  789. try
  790. {
  791. // 在绑定总表时 不查询明细
  792. if (!Convert.ToBoolean(this.Tag)
  793. || this.dgvGroutingLine.CurrentCell == null)
  794. {
  795. return;
  796. }
  797. // 选中行时查询明细
  798. else
  799. {
  800. if (this.txtBuildingNo.ReadOnly)
  801. {
  802. return;
  803. }
  804. int GroutingLineID = Convert.ToInt32(this.dgvGroutingLine.Rows[this.dgvGroutingLine.CurrentCell.RowIndex].Cells["GroutingLineID"].Value.ToString());
  805. this.BindDetailInfo(GroutingLineID);
  806. this.dgvGroutingLine.Focus();
  807. }
  808. }
  809. catch (Exception ex)
  810. {
  811. // 对异常进行共通处理
  812. ExceptionManager.HandleEventException(this.ToString(),
  813. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  814. }
  815. }
  816. #region 构造有效标识的数据源
  817. /// <summary>
  818. /// 构造有效标识的数据源
  819. /// </summary>
  820. /// <returns></returns>
  821. public static DataTable GetTestFlagTable()
  822. {
  823. DataTable dtValueFlag = new DataTable();
  824. dtValueFlag.Columns.Add("TestFlag");
  825. dtValueFlag.Columns.Add("TestFlagName");
  826. DataRow drow = dtValueFlag.NewRow();
  827. drow["TestFlag"] = Constant.INT_IS_ZERO;
  828. drow["TestFlagName"] = "普通线";
  829. dtValueFlag.Rows.Add(drow);
  830. drow = dtValueFlag.NewRow();
  831. drow["TestFlag"] = Constant.INT_IS_ONE;
  832. drow["TestFlagName"] = "试验线";
  833. dtValueFlag.Rows.Add(drow);
  834. return dtValueFlag;
  835. }
  836. #endregion
  837. }
  838. }