/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_PM_1603.cs * 2.功能描述:半检数据审批 * 编辑履历: * 作者 日期 版本 修改内容 * 王鑫 2014/12/09 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Text; using System.Windows.Forms; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Basics.DockPanel; using Dongke.IBOSS.PRD.Client.CommonModule; using Dongke.IBOSS.PRD.Client.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.Proxys; using Dongke.IBOSS.PRD.WCF.Proxys.PMModuleService; namespace Dongke.IBOSS.PRD.Client.PMModule { /// /// 半检数据审批 /// public partial class F_PM_1603 : DockPanelBase { #region 成员变量 // 窗体的单例模式 private static F_PM_1603 _instance; //权限id集 private string purviews = string.Empty; //实体类 private SemiTestEntity _semiTestEntity; #endregion #region 构造函数 public F_PM_1603() { InitializeComponent(); // 窗体显示的Title this.Text = FormTitles.F_RM_1603; this.tsbtnApprover.Text = ButtonText.TSBTN_AUDIT; this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE; this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE; this.btnSearch.Text = ButtonText.BTN_SEARCH; this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION; } #endregion #region 单例模式 /// /// 单例模式,防止重复创建窗体 /// public static F_PM_1603 Instance { get { if (_instance == null || _instance.IsDisposed) { _instance = new F_PM_1603(); } return _instance; } } #endregion #region 事件处理 /// /// 窗体加载事件 /// /// /// private void F_PM_1603_Load(object sender, EventArgs e) { try { // 加载权限 FormPermissionManager.FormPermissionControl(this.Name, this, LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); // 初始化时间控件为当前日期 this.dtpSemiTestDateStart.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); this.dtpSemiTestDateEnd.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); //操作检验工号权限值 //getPurview(); DataSet dsDefectPosition = (DataSet)DoAsync(new AsyncMethod(() => { return SystemModuleProxy.Service.GetDictionaryData(0, "TPC006"); })); if (dsDefectPosition != null && dsDefectPosition.Tables[0].Rows.Count > Constant.INT_IS_ZERO) { for (int i = 0; i < dsDefectPosition.Tables[0].Rows.Count; i++) { DataGridViewTextBoxColumn dataGridTextBoxColumn = new DataGridViewTextBoxColumn(); dataGridTextBoxColumn.HeaderText = dsDefectPosition.Tables[0].Rows[i]["DictionaryValue"].ToString(); dataGridTextBoxColumn.DataPropertyName = "Col" + dsDefectPosition.Tables[0].Rows[i]["DictionaryID"].ToString(); this.dgvSemiTestDetail.Columns.Add(dataGridTextBoxColumn); } } // 获取半检类别 DataSet dsType = (DataSet)DoAsync(new AsyncMethod(() => { return SystemModuleProxy.Service.GetDictionaryData(0, "TPC007"); })); if (dsType != null && dsType.Tables[0].Rows.Count > Constant.INT_IS_ZERO) { this.dropSemiTestType.DisplayMember = "DictionaryValue"; this.dropSemiTestType.ValueMember = "DictionaryID"; this.dropSemiTestType.DataSource = dsType.Tables[0]; } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 关闭按钮 /// /// /// private void tsbtnClose_Click(object sender, EventArgs e) { this.Close(); } /// /// 窗体关闭事件 /// /// /// private void F_PM_1603_FormClosed(object sender, FormClosedEventArgs e) { _instance = null; } /// /// 自动适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { this.dgvSemiTest.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgvSemiTestDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } /// /// 查询按钮事件 /// /// /// private void btnSearch_Click(object sender, EventArgs e) { try { //获取条件 CreatesearchSemiTestEntity(); DataSet dsSearchSemiTest = (DataSet)DoAsync(new AsyncMethod(() => { return PMModuleProxy.Service.SearchSemiTestList(_semiTestEntity); })); if (dsSearchSemiTest != null) { if (dsSearchSemiTest.Tables[Constant.INT_IS_ZERO].Rows.Count <= Constant.INT_IS_ZERO) { // 提示未查找到数据 MessageBox.Show(Messages.MSG_CMN_I002, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); //清空数据 this.dgvSemiTest.DataSource = null; this.dgvSemiTestDetail.DataSource = null; } else { this.dgvSemiTest.DataSource = dsSearchSemiTest.Tables[0]; } } } catch (Exception ex) { this.btnSearch.Enabled = true; // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 清空条件按钮事件 /// /// /// private void btnClearCondition_Click(object sender, EventArgs e) { this.dtpSemiTestDateStart.Value = DateTime.Now; this.dtpSemiTestDateEnd.Value = DateTime.Now; this.scbUser.ClearValue(); this.dropSemiTestType.SelectedValue = null; this.txtRemarks.Text = ""; } /// /// 半检数据选定项改变事件 /// /// /// private void dgvSemiTest_SelectionChanged(object sender, EventArgs e) { try { if (this.dgvSemiTest.CurrentCell != null) { if (this.txtRemarks.ReadOnly) { return; } this.dgvSemiTestDetail.DataSource = null; int SemiTestID = Convert.ToInt32(this.dgvSemiTest.Rows[this.dgvSemiTest.CurrentCell.RowIndex].Cells["SemiTestID"].Value.ToString()); DataSet dsSemiTestDefect = (DataSet)DoAsync(new AsyncMethod(() => { return PMModuleProxy.Service.SearchSemiTestInfo(SemiTestID); })); if (dsSemiTestDefect != null && dsSemiTestDefect.Tables.Count > Constant.INT_IS_ZERO && dsSemiTestDefect.Tables[0].Rows.Count > Constant.INT_IS_ZERO) { this.dgvSemiTestDetail.DataSource = dsSemiTestDefect.Tables[0]; } } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 审批按钮事件 /// /// /// private void tsbtnApprover_Click(object sender, EventArgs e) { try { if (this.dgvSemiTest.CurrentCell != null) { int SemiTestID = Convert.ToInt32(this.dgvSemiTest.Rows[this.dgvSemiTest.CurrentCell.RowIndex].Cells["SemiTestID"].Value.ToString()); DateTime OPTimeStamp = Convert.ToDateTime(this.dgvSemiTest.Rows[this.dgvSemiTest.CurrentCell.RowIndex].Cells["OPTimeStamp"].Value); int ValidateRow = (int)DoAsync(new AsyncMethod(() => { return PMModuleProxy.Service.ValidateOPTimeStamp(SemiTestID, OPTimeStamp); })); if (ValidateRow == Constant.INT_IS_NEGATIE_ONE) { // 提示信息 MessageBox.Show(string.Format(Messages.MSG_CMN_W012, "半检数据", "审核"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } DialogResult dialogResult = MessageBox.Show(Messages.MSG_PM_Q002, this.Text, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { int row = (int)DoAsync(new AsyncMethod(() => { return PMModuleProxy.Service.UpdateSemiTestByID(SemiTestID, 1); })); // 提示信息 MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "半检数据", "审核"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); // 搜索按钮事件 this.btnSearch_Click(sender, e); } else if (dialogResult == DialogResult.No) { int row = (int)DoAsync(new AsyncMethod(() => { return PMModuleProxy.Service.UpdateSemiTestByID(SemiTestID, 2); })); // 提示信息 MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "半检数据", "审核"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); this.btnSearch_Click(sender, e); } } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } #endregion #region 私有方法 /// /// 搜索条件 /// /// private void CreatesearchReportEntity() { string accountDateStart = this.dtpSemiTestDateStart.Value.ToString("yyyy-MM-dd") + " 0:0:0"; string accountDateEnd = this.dtpSemiTestDateEnd.Value.ToString("yyyy-MM-dd") + " 23:59:59"; } /// /// 获取当前用户的成型线权限 /// protected void getPurview() { try { //StringBuilder sbUserPurview = new StringBuilder(); ////获取用户权限集 //DataSet dsUserPurview = (DataSet)DoAsync(new AsyncMethod(() => //{ // return SystemModuleProxy.Service.GetUserPurview(4, LogInUserInfo.CurrentUser.UserID); //})); ////拼接字符串 //if (dsUserPurview != null) //{ // foreach (DataRow dr in dsUserPurview.Tables[Constant.INT_IS_ZERO].Rows) // { // sbUserPurview.Append(dr[Constant.INT_IS_ZERO].ToString() + ","); // } // if (sbUserPurview.Length != Constant.INT_IS_ZERO) // { // purviews = sbUserPurview.ToString().Substring(Constant.INT_IS_ZERO, sbUserPurview.Length - 1); // this.dkUserInfoSearchBox.UserIDS = purviews; // } //} } catch (Exception ex) { throw ex; } } /// /// 搜索条件 /// /// private void CreatesearchSemiTestEntity() { this._semiTestEntity = new SemiTestEntity(); this._semiTestEntity.TestUserIDS = purviews; this._semiTestEntity.beginDate = Convert.ToDateTime(this.dtpSemiTestDateStart.Value); this._semiTestEntity.endDate = Convert.ToDateTime(this.dtpSemiTestDateEnd.Value).AddDays(1); this._semiTestEntity.Remarks = this.txtRemarks.Text.Trim(); if (scbUser.SearchedPKMember != 0) { this._semiTestEntity.TestUserID = scbUser.SearchedPKMember; } if (this.dropSemiTestType.SelectedValue != null) { this._semiTestEntity.SemiTestType = Convert.ToInt32(this.dropSemiTestType.SelectedValue); } } #endregion } }