F_PM_0101.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:F_PM_0101.cs
  5. * 2.功能描述:注浆登记一览
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 陈晓野 2015/03/25 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Data;
  12. using System.Data.SqlTypes;
  13. using System.Reflection;
  14. using System.Windows.Forms;
  15. using Dongke.IBOSS.PRD.Basics.BaseControls;
  16. using Dongke.IBOSS.PRD.Basics.BaseResources;
  17. using Dongke.IBOSS.PRD.Client.CommonModule;
  18. using Dongke.IBOSS.PRD.Client.Controls;
  19. using Dongke.IBOSS.PRD.Client.DataModels;
  20. using Dongke.IBOSS.PRD.WCF.DataModels;
  21. using Dongke.IBOSS.PRD.WCF.Proxys;
  22. namespace Dongke.IBOSS.PRD.Client.PMModule
  23. {
  24. /// <summary>
  25. /// 注浆登记一览
  26. /// </summary>
  27. public partial class F_PM_0101 : DKDockPanelBase
  28. {
  29. #region 成员变量
  30. // 单例模式
  31. private static F_PM_0101 _instance;
  32. #endregion
  33. #region 构造函数
  34. /// <summary>
  35. /// 注浆日报一览窗体构造
  36. /// </summary>
  37. private F_PM_0101()
  38. {
  39. this.InitializeComponent();
  40. this.InitializeControls();
  41. }
  42. #endregion
  43. #region 单例模式
  44. /// <summary>
  45. /// 单例模式,防止重复创建窗体
  46. /// </summary>
  47. public static F_PM_0101 Instance
  48. {
  49. get
  50. {
  51. if (_instance == null)
  52. {
  53. _instance = new F_PM_0101();
  54. }
  55. return _instance;
  56. }
  57. }
  58. #endregion
  59. #region 事件
  60. /// <summary>
  61. /// 窗体加载
  62. /// </summary>
  63. private void F_PM_0101_Load(object sender, EventArgs e)
  64. {
  65. try
  66. {
  67. // 按钮权限控制
  68. FormPermissionManager.FormPermissionControl(this.Name, this,
  69. LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
  70. LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
  71. // 获取成型线类型数据并绑定到控件上
  72. ServiceResultEntity sre = this.DoAsync<ServiceResultEntity>(() =>
  73. {
  74. return PMModuleProxyNew.Service.GetFPM0101IData();
  75. }
  76. );
  77. if (sre.Data != null && sre.Data.Tables.Count > 0)
  78. {
  79. this.cboGroutingLineType.DataSource = sre.Data.Tables[0];
  80. }
  81. this.cboGroutingLineType.SelectedValue = null;
  82. this.chkTestMouldFlag.AllItemCheck();
  83. #region 设置下拉列表框的数据源-车间
  84. DataTable dtWorkShop = new DataTable();
  85. dtWorkShop.Columns.Add("WorkShopId");
  86. dtWorkShop.Columns.Add("WorkShopValue");
  87. DataRow drNull = dtWorkShop.NewRow();
  88. drNull["WorkShopId"] = 0;
  89. drNull["WorkShopValue"] = "";
  90. dtWorkShop.Rows.Add(drNull);
  91. drNull = dtWorkShop.NewRow();
  92. drNull["WorkShopId"] = 1;
  93. drNull["WorkShopValue"] = "A";
  94. dtWorkShop.Rows.Add(drNull);
  95. drNull = dtWorkShop.NewRow();
  96. drNull["WorkShopId"] = 2;
  97. drNull["WorkShopValue"] = "B";
  98. dtWorkShop.Rows.Add(drNull);
  99. drNull = dtWorkShop.NewRow();
  100. drNull["WorkShopId"] = 3;
  101. drNull["WorkShopValue"] = "C";
  102. dtWorkShop.Rows.Add(drNull);
  103. drNull = dtWorkShop.NewRow();
  104. drNull["WorkShopId"] = 4;
  105. drNull["WorkShopValue"] = "高压";
  106. dtWorkShop.Rows.Add(drNull);
  107. drNull = dtWorkShop.NewRow();
  108. drNull["WorkShopId"] = 5;
  109. drNull["WorkShopValue"] = "干补";
  110. dtWorkShop.Rows.Add(drNull);
  111. drNull = dtWorkShop.NewRow();
  112. drNull["WorkShopId"] = 6;
  113. drNull["WorkShopValue"] = "补码";
  114. dtWorkShop.Rows.Add(drNull);
  115. this.cbWorkShop.DataSource = dtWorkShop;
  116. this.cbWorkShop.ValueMember = "WorkShopId";
  117. this.cbWorkShop.DisplayMember = "WorkShopValue";
  118. #endregion
  119. }
  120. catch (Exception ex)
  121. {
  122. // 对异常进行共通处理
  123. ExceptionManager.HandleEventException(this.ToString(),
  124. MethodBase.GetCurrentMethod().Name, this.Text, ex);
  125. }
  126. }
  127. /// <summary>
  128. /// 清空条件
  129. /// </summary>
  130. private void btnClearCondition_Click(object sender, EventArgs e)
  131. {
  132. this.txtRemarks.Clear();
  133. this.txtGoodsCode.Clear();
  134. this.txtGoodsName.Clear();
  135. this.txtGroutingLineCode.Clear();
  136. this.txtGroutingLineName.Clear();
  137. this.txtGroutingMouldCode.Clear();
  138. this.txtGroutingUser.Clear();
  139. this.chkGroutingFlag.AllItemCheck();
  140. this.chkScrapFlag.AllItemCheck();
  141. this.chkBarcodeFlag.AllItemCheck();
  142. this.txtGroutingDateBegin.Value = DateTime.Now.Date;
  143. this.txtGroutingDateEnd.Value = DateTime.Now.Date;
  144. this.cboGroutingLineType.SelectedValue = null;
  145. this.txtGroutingBatchNo.Clear();
  146. this.chkDeliverTime.Checked = false;
  147. this.chkDeliverFlag.ClearItemCheck();
  148. this.chkTestMouldFlag.AllItemCheck();
  149. this.cbWorkShop.SelectedValue = null;
  150. this.txtGroutingLineNo.Clear();
  151. }
  152. /// <summary>
  153. /// 查询数据
  154. /// </summary>
  155. private void btnSearch_Click(object sender, System.EventArgs e)
  156. {
  157. try
  158. {
  159. this.dgvGroutingDaily.DataSource = null;
  160. this.dgvGroutingDaily.DataSource = this.GetSearchData();
  161. }
  162. catch (Exception ex)
  163. {
  164. // 对异常进行共通处理
  165. ExceptionManager.HandleEventException(this.ToString(),
  166. MethodBase.GetCurrentMethod().Name, this.Text, ex);
  167. }
  168. }
  169. /// <summary>
  170. /// 添加新注浆日报
  171. /// </summary>
  172. /// <param name="sender"></param>
  173. /// <param name="e"></param>
  174. private void tsbtnAdd_Click(object sender, EventArgs e)
  175. {
  176. try
  177. {
  178. F_PM_0102 frmFPM0102 = new F_PM_0102();
  179. DialogResult dialogresult = frmFPM0102.ShowDialog();
  180. if (dialogresult == DialogResult.OK)
  181. {
  182. string groutingDailyIDs = frmFPM0102.GroutingDailyIDs;
  183. this.dgvGroutingDaily.DataSource = null;
  184. this.dgvGroutingDaily.DataSource = this.GetSearchData();
  185. //this.btnSearch_Click(sender, e);
  186. }
  187. }
  188. catch (Exception ex)
  189. {
  190. // 对异常进行共通处理
  191. ExceptionManager.HandleEventException(this.ToString(),
  192. MethodBase.GetCurrentMethod().Name, this.Text, ex);
  193. }
  194. }
  195. /// <summary>
  196. /// 编辑注浆日报
  197. /// </summary>
  198. private void tsbtnEdit_Click(object sender, EventArgs e)
  199. {
  200. try
  201. {
  202. DataGridViewRow currentRow = this.dgvGroutingDaily.CurrentRow;
  203. if (currentRow != null)
  204. {
  205. int dailyId = Convert.ToInt32(currentRow.Cells["GroutingDailyID"].Value);
  206. F_PM_0102 frmFPM0102 = new F_PM_0102(dailyId);
  207. DialogResult dialogresult = frmFPM0102.ShowDialog();
  208. if (dialogresult == DialogResult.OK)
  209. {
  210. //this.btnSearch_Click(sender, e);
  211. string groutingDailyIDs = dailyId.ToString();// frmFPM0102.GroutingDailyIDs;
  212. this.dgvGroutingDaily.DataSource = null;
  213. this.dgvGroutingDaily.DataSource = this.GetSearchData();
  214. }
  215. }
  216. else
  217. {
  218. DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_001);
  219. }
  220. }
  221. catch (Exception ex)
  222. {
  223. // 对异常进行共通处理
  224. ExceptionManager.HandleEventException(this.ToString(),
  225. MethodBase.GetCurrentMethod().Name, this.Text, ex);
  226. }
  227. }
  228. /// <summary>
  229. /// 编辑注浆日报
  230. /// </summary>
  231. private void dgvGroutingDaily_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  232. {
  233. if (e.RowIndex < 0 || e.ColumnIndex < 0)
  234. {
  235. return;
  236. }
  237. this.tsbtnEdit_Click(sender, null);
  238. }
  239. /// <summary>
  240. /// 绑定条码
  241. /// </summary>
  242. /// <param name="sender"></param>
  243. /// <param name="e"></param>
  244. private void tsbtnBindBarCode_Click(object sender, EventArgs e)
  245. {
  246. try
  247. {
  248. //F_PM_0103 frmPM0103 = new F_PM_0103();
  249. //DialogResult dialogResult = frmPM0103.ShowDialog();
  250. //if (dialogResult == DialogResult.OK)
  251. //{
  252. // this.btnSearch_Click(sender, e);
  253. //}
  254. int dailyId = 0;
  255. DataGridViewRow currentRow = this.dgvGroutingDaily.CurrentRow;
  256. if (currentRow != null)
  257. {
  258. dailyId = Convert.ToInt32(currentRow.Cells["GroutingDailyID"].Value);
  259. }
  260. F_PM_0103 frmPM0103 = new F_PM_0103(dailyId);
  261. DialogResult dialogResult = frmPM0103.ShowDialog();
  262. //if (dialogResult == DialogResult.OK)
  263. //{
  264. // this.btnSearch_Click(sender, e);
  265. //}
  266. if (frmPM0103.GroutingDailyIDs != null && frmPM0103.GroutingDailyIDs.Count > 0)
  267. {
  268. string ids = string.Join(",", frmPM0103.GroutingDailyIDs);
  269. this.dgvGroutingDaily.DataSource = null;
  270. // 调用服务器端获取数据集
  271. ServiceResultEntity sre = DoAsync<ServiceResultEntity>(() =>
  272. {
  273. return PMModuleProxyNew.Service.GetFPM0101SData(ids);
  274. }
  275. );
  276. if (sre.Status == Constant.ServiceResultStatus.Success)
  277. {
  278. this.dgvGroutingDaily.DataSource = sre.Data.Tables[0];
  279. }
  280. }
  281. }
  282. catch (Exception ex)
  283. {
  284. // 对异常进行共通处理
  285. ExceptionManager.HandleEventException(this.ToString(),
  286. MethodBase.GetCurrentMethod().Name, this.Text, ex);
  287. }
  288. }
  289. /// <summary>
  290. /// 重启3#高压注浆线按钮点击事件
  291. /// </summary>
  292. /// <param name="sender"></param>
  293. /// <param name="e"></param>
  294. private void tsbtnReStartGroutingLine_Click(object sender, EventArgs e)
  295. {
  296. try
  297. {
  298. F_PM_0107 frm = new F_PM_0107();
  299. frm.ShowDialog();
  300. }
  301. catch (Exception ex)
  302. {
  303. // 对异常进行共通处理
  304. ExceptionManager.HandleEventException(this.ToString(),
  305. MethodBase.GetCurrentMethod().Name, this.Text, ex);
  306. }
  307. }
  308. /// <summary>
  309. /// 关闭按钮事件
  310. /// </summary>
  311. /// <param name="sender"></param>
  312. /// <param name="e"></param>
  313. private void tsbtnClose_Click(object sender, EventArgs e)
  314. {
  315. this.Close();
  316. }
  317. /// <summary>
  318. /// 自动列宽事件
  319. /// </summary>
  320. /// <param name="sender"></param>
  321. /// <param name="e"></param>
  322. private void tsbtnAdaptive_Click(object sender, EventArgs e)
  323. {
  324. this.dgvGroutingDaily.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
  325. }
  326. /// <summary>
  327. /// 窗体关闭
  328. /// </summary>
  329. /// <param name="sender"></param>
  330. /// <param name="e"></param>
  331. private void F_PM_0101_FormClosed(object sender, FormClosedEventArgs e)
  332. {
  333. _instance = null;
  334. }
  335. #endregion
  336. #region 私有方法
  337. /// <summary>
  338. /// 初始化控件
  339. /// </summary>
  340. private void InitializeControls()
  341. {
  342. this.Text = FormTitles.F_PM_0101;
  343. this.tsbtnAdd.Text = ButtonText.TSBTN_ADD;
  344. this.tsbtnEdit.Text = ButtonText.TSBTN_EDIT;
  345. this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
  346. this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
  347. this.tsbtnReStartGroutingLine.Text = ButtonText.TSBTN_RESTARTGROUTINGLINE;
  348. this.btnSearch.Text = ButtonText.BTN_SEARCH;
  349. this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION;
  350. this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS;
  351. this.chkGroutingFlag.AllItemCheck();
  352. this.chkScrapFlag.AllItemCheck();
  353. this.chkBarcodeFlag.AllItemCheck();
  354. this.dgvGroutingDaily.AutoGenerateColumns = false;
  355. this.dgvGroutingDaily.ReadOnly = true;
  356. }
  357. /// <summary>
  358. /// 根据界面查询条件获取数据集
  359. /// </summary>
  360. private DataTable GetSearchData()
  361. {
  362. try
  363. {
  364. FPM0101_SE se = new FPM0101_SE();
  365. se.GroutingLineCode = this.txtGroutingLineCode.Text;
  366. se.GroutingLineName = this.txtGroutingLineName.Text;
  367. se.GroutingMouldCode = this.txtGroutingMouldCode.Text;
  368. se.GoodsCode = this.txtGoodsCode.Text;
  369. se.GoodsName = this.txtGoodsName.Text;
  370. se.Remarks = this.txtRemarks.Text;
  371. se.GroutingDateBegin = this.txtGroutingDateBegin.Value.Date;
  372. se.GroutingDateEnd = this.txtGroutingDateEnd.Value.Date;
  373. if (this.txtGroutingBatchNo.DataValue.HasValue)
  374. {
  375. se.GroutingBatchNo = System.Convert.ToInt32(this.txtGroutingBatchNo.DataValue);
  376. }
  377. if (this.cboGroutingLineType.SelectedValue != null)
  378. {
  379. se.GMouldTypeID = Convert.ToInt32(this.cboGroutingLineType.SelectedValue);
  380. }
  381. object[] groutingFlags = this.chkGroutingFlag.SelectedValues;
  382. if (groutingFlags.Length == 1)
  383. {
  384. se.GroutingFlag = groutingFlags[0].ToString();
  385. }
  386. object[] scrapFlags = this.chkScrapFlag.SelectedValues;
  387. if (scrapFlags.Length == 1)
  388. {
  389. se.ScrapFlag = scrapFlags[0].ToString();
  390. }
  391. object[] barcodeFlags = this.chkBarcodeFlag.SelectedValues;
  392. if (barcodeFlags.Length == 1)
  393. {
  394. se.BarCodeFlag = barcodeFlags[0].ToString();
  395. }
  396. se.GroutingUserCode = this.txtGroutingUser.Text;
  397. object[] deliverFlag = this.chkDeliverFlag.SelectedValues;
  398. if (deliverFlag.Length == 1)
  399. {
  400. se.DeliverFlag = deliverFlag[0].ToString();
  401. }
  402. if (this.chkDeliverTime.Checked)
  403. {
  404. se.DeliverTimeBegin = this.dtpDeliverTimeBegin.Value;
  405. se.DeliverTimeEnd = this.dtpDeliverTimeEnd.Value;
  406. }
  407. else {
  408. se.DeliverTimeBegin = SqlDateTime.MinValue.Value;
  409. se.DeliverTimeEnd = SqlDateTime.MaxValue.Value.AddDays(-1);
  410. }
  411. object[] testMouldFlags = this.chkTestMouldFlag.SelectedValues;
  412. if (testMouldFlags.Length == 1)
  413. {
  414. se.TestMouldFlag = testMouldFlags[0].ToString();
  415. }
  416. // 工段250306
  417. se.GroutingLineNo = this.txtGroutingLineNo.Text;
  418. // 车间250306
  419. if (this.cbWorkShop.Text != string.Empty)
  420. {
  421. se.WorkShop = this.cbWorkShop.Text.ToString();
  422. }
  423. // 调用服务器端获取数据集
  424. ServiceResultEntity sre = DoAsync<ServiceResultEntity>(() =>
  425. {
  426. return PMModuleProxyNew.Service.GetFPM0101SData(se);
  427. }
  428. );
  429. if (sre.Status == Constant.ServiceResultStatus.Success)
  430. {
  431. return sre.Data.Tables[0];
  432. }
  433. return null;
  434. }
  435. catch (Exception ex)
  436. {
  437. throw ex;
  438. }
  439. }
  440. #endregion
  441. private void chkDeliverTime_CheckedChanged(object sender, EventArgs e)
  442. {
  443. this.dtpDeliverTimeBegin.Enabled = this.chkDeliverTime.Checked;
  444. this.dtpDeliverTimeEnd.Enabled = this.chkDeliverTime.Checked;
  445. if (!this.chkDeliverTime.Checked)
  446. {
  447. this.dtpDeliverTimeBegin.Value = DateTime.Now.Date;
  448. this.dtpDeliverTimeEnd.Value = DateTime.Now.Date;
  449. }
  450. }
  451. private void tsbtnUnLast_Click(object sender, EventArgs e)
  452. {
  453. try
  454. {
  455. F_PM_0106 f_PM_0106 = new F_PM_0106();
  456. f_PM_0106.ShowDialog();
  457. }
  458. catch (Exception ex)
  459. {
  460. // 对异常进行共通处理
  461. ExceptionManager.HandleEventException(this.ToString(),
  462. MethodBase.GetCurrentMethod().Name, this.Text, ex);
  463. }
  464. }
  465. private void gbxCondition_Enter(object sender, EventArgs e)
  466. {
  467. }
  468. }
  469. }