F_RPT_080113.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. /*******************************************************************************
  2. * Copyright(c) 2015 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:F_RPT_080113.cs
  5. * 2.功能描述:BOM物料检验明细表
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 秦祺 2024/01/04 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Data;
  12. using System.Windows.Forms;
  13. using Dongke.IBOSS.PRD.Basics.BaseResources;
  14. using Dongke.IBOSS.PRD.Client.CommonModule;
  15. using Dongke.IBOSS.PRD.Client.Controls;
  16. using Dongke.IBOSS.PRD.Client.DataModels;
  17. using Dongke.IBOSS.PRD.Client.PMModule;
  18. using Dongke.IBOSS.PRD.WCF.DataModels;
  19. using Dongke.IBOSS.PRD.WCF.Proxys;
  20. namespace Dongke.IBOSS.PRD.Client.ReportModule
  21. {
  22. public partial class F_RPT_080113 : DKDockPanelBase
  23. {
  24. #region 成员变量
  25. // 窗体的单例模式
  26. private static F_RPT_080113 _instance;
  27. #endregion
  28. #region 构造函数
  29. public F_RPT_080113()
  30. {
  31. InitializeComponent();
  32. // 窗体显示的Title
  33. this.Text = "BOM物料检验明细表";
  34. this.btnSearch.Text = ButtonText.BTN_SEARCH;
  35. this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
  36. this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
  37. this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION;
  38. this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS;
  39. }
  40. #endregion
  41. #region 单例模式
  42. /// <summary>
  43. /// 单例模式,防止重复创建窗体
  44. /// </summary>
  45. public static F_RPT_080113 Instance
  46. {
  47. get
  48. {
  49. if (_instance == null || _instance.IsDisposed)
  50. {
  51. _instance = new F_RPT_080113();
  52. }
  53. return _instance;
  54. }
  55. }
  56. #endregion
  57. #region 事件处理
  58. /// <summary>
  59. /// 窗体加载事件
  60. /// </summary>
  61. /// <param name="sender"></param>
  62. /// <param name="e"></param>
  63. private void F_RPT_080113_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. this.dtpCreateTimeBegin.Value = DateTime.Now.Date;
  72. this.dtpCreateTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  73. // 设置表格不自动创建列
  74. this.dgvBarcodeIdnrk.AutoGenerateColumns = false;
  75. // 检验值
  76. DataTable dtNoOnlyCodeFlag = new DataTable();
  77. dtNoOnlyCodeFlag.Columns.Add("valueid", typeof(int));
  78. dtNoOnlyCodeFlag.Columns.Add("CheckValue", typeof(string));
  79. DataRow drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
  80. drNoOnlyCodeFlag["valueid"] = 0;
  81. drNoOnlyCodeFlag["CheckValue"] = "";
  82. dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
  83. drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
  84. drNoOnlyCodeFlag["valueid"] = 1;
  85. drNoOnlyCodeFlag["CheckValue"] = "装配正确";
  86. dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
  87. drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
  88. drNoOnlyCodeFlag["valueid"] = 2;
  89. drNoOnlyCodeFlag["CheckValue"] = "装配错误";
  90. dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
  91. drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
  92. drNoOnlyCodeFlag["valueid"] = 3;
  93. drNoOnlyCodeFlag["CheckValue"] = "漏装";
  94. dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
  95. drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
  96. drNoOnlyCodeFlag["valueid"] = 4;
  97. drNoOnlyCodeFlag["CheckValue"] = "多装";
  98. dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
  99. this.cbCheckValue.DisplayMember = "CheckValue";
  100. this.cbCheckValue.ValueMember = "valueid";
  101. this.cbCheckValue.DataSource = dtNoOnlyCodeFlag;
  102. this.cbCheckValue.SelectedValue = 0;
  103. }
  104. catch (Exception ex)
  105. {
  106. // 对异常进行共通处理
  107. ExceptionManager.HandleEventException(this.ToString(),
  108. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  109. }
  110. }
  111. /// <summary>
  112. /// 自动适应列宽
  113. /// </summary>
  114. /// <param name="sender"></param>
  115. /// <param name="e"></param>
  116. private void tsbtnAdaptive_Click(object sender, EventArgs e)
  117. {
  118. this.dgvBarcodeIdnrk.AutoResizeColumns();
  119. this.SummaryDataView.AutoResizeColumns();
  120. }
  121. /// <summary>
  122. /// 窗体关闭事件
  123. /// </summary>
  124. /// <param name="sender"></param>
  125. /// <param name="e"></param>
  126. private void F_RPT_080113_FormClosed(object sender, FormClosedEventArgs e)
  127. {
  128. _instance = null;
  129. }
  130. /// <summary>
  131. /// 关闭按钮
  132. /// </summary>
  133. /// <param name="sender"></param>
  134. /// <param name="e"></param>
  135. private void tsbtnClose_Click(object sender, EventArgs e)
  136. {
  137. this.Close();
  138. }
  139. private DataSet GetSearch(string barcode,string Matnr,string IdnrkName,DateTime BeginTime, DateTime EndTime,object CheckValue,int selectIndex)
  140. {
  141. ServiceResultEntity sre = null;
  142. if (selectIndex == 0)
  143. {
  144. this.SummaryDataView.DataSource = null;
  145. ClientRequestEntity cre = new ClientRequestEntity();
  146. cre.NameSpace = "F_RPT_080113";
  147. cre.Name = "GetBOMDSummary";
  148. cre.Properties["BarCode"] = barcode.Trim();
  149. cre.Properties["Matnr"] = Matnr.Trim();
  150. cre.Properties["IdnrkName"] = IdnrkName.Trim();
  151. cre.Properties["CreateTimeBegin"] = BeginTime;
  152. cre.Properties["CreateTimeEnd"] = EndTime;
  153. cre.Properties["CHECKVALUE"] = CheckValue;
  154. sre = DoAsync(() =>
  155. {
  156. return PCModuleProxyNew.Service.HandleRequest(cre);
  157. });
  158. if (sre.Data != null && sre.Data.Tables.Count > 0 && sre.Data.Tables[0].Rows.Count > 0)
  159. {
  160. this.SummaryDataView.DataSource = sre.Data.Tables[0];
  161. tsbtnAdaptive_Click(null, null);
  162. }
  163. else
  164. {
  165. // 提示未查找到数据
  166. MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
  167. MessageBoxButtons.OK, MessageBoxIcon.Information);
  168. }
  169. }
  170. if (selectIndex == 1)
  171. {
  172. this.dgvBarcodeIdnrk.DataSource = null;
  173. ClientRequestEntity cre = new ClientRequestEntity();
  174. cre.NameSpace = "F_RPT_080113";
  175. cre.Name = "GetBOMDetailData";
  176. cre.Properties["BarCode"] = barcode;
  177. cre.Properties["Matnr"] = Matnr;
  178. cre.Properties["IdnrkName"] = IdnrkName;
  179. cre.Properties["CreateTimeBegin"] = BeginTime;
  180. cre.Properties["CreateTimeEnd"] = EndTime;
  181. cre.Properties["CHECKVALUE"] = CheckValue;
  182. sre = DoAsync(() =>
  183. {
  184. return PCModuleProxyNew.Service.HandleRequest(cre);
  185. });
  186. if (sre.Data != null && sre.Data.Tables.Count > 0 && sre.Data.Tables[0].Rows.Count > 0)
  187. {
  188. dgvBarcodeIdnrk.DataSource = sre.Data.Tables[0];
  189. tsbtnAdaptive_Click(null, null);
  190. }
  191. else
  192. {
  193. // 提示未查找到数据
  194. MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
  195. MessageBoxButtons.OK, MessageBoxIcon.Information);
  196. }
  197. }
  198. return sre.Data;
  199. }
  200. /// <summary>
  201. /// 查询按钮事件
  202. /// </summary>
  203. /// <param name="sender"></param>
  204. /// <param name="e"></param>
  205. private void btnSearch_Click(object sender, EventArgs e)
  206. {
  207. try
  208. { //调用查询方法
  209. GetSearch(this.txtBarCode.Text.Trim(), this.txtMatnr.Text.Trim(), this.txtIdnrkName.Text.Trim(), this.dtpCreateTimeBegin.Value,
  210. Convert.ToDateTime(this.dtpCreateTimeEnd.Value).AddSeconds(1), this.cbCheckValue.SelectedValue, tabControl.SelectedIndex);
  211. }
  212. catch (Exception ex)
  213. {
  214. this.btnSearch.Enabled = true;
  215. this.btnClearCondition.Enabled = true;
  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.txtIdnrkName.Text = "";
  229. this.txtMatnr.Text = "";
  230. this.dtpCreateTimeBegin.Value = DateTime.Now.Date;
  231. this.dtpCreateTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  232. this.txtBarCode.Text = "";
  233. this.cbCheckValue.SelectedValue = 0;
  234. }
  235. private void SummaryDataView_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
  236. { //获取当前选择行数据;
  237. DataGridViewRow dgvr = this.SummaryDataView.CurrentRow;
  238. string barcode = dgvr.Cells["BARCODES"].Value.ToString();
  239. this.dgvBarcodeIdnrk.DataSource = null;
  240. this.tabControl.SelectTab(1);
  241. GetSearch(dgvr.Cells["BARCODES"].Value.ToString(), null, null, this.dtpCreateTimeBegin.Value,
  242. Convert.ToDateTime(this.dtpCreateTimeEnd.Value).AddSeconds(1), 0, 1);
  243. }
  244. #endregion
  245. }
  246. }