/******************************************************************************* * Copyright(c) 2015 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_RPT_080102.cs * 2.功能描述:成型工产量明细表 * 编辑履历: * 作者 日期 版本 修改内容 * 王鑫 2016/01/25 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Windows.Forms; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Client.CommonModule; using Dongke.IBOSS.PRD.Client.Controls; using Dongke.IBOSS.PRD.Client.Controls.FormCommon; using Dongke.IBOSS.PRD.Client.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.Proxys; namespace Dongke.IBOSS.PRD.Client.ReportModule { public partial class F_RPT_080102 : DKDockPanelBase { #region 成员变量 // 窗体的单例模式 private static F_RPT_080102 _instance; #endregion #region 构造函数 public F_RPT_080102() { InitializeComponent(); // 窗体显示的Title this.Text = FormTitles.F_RPT_080102; this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE; this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE; this.btnSearch.Text = ButtonText.BTN_SEARCH; this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION; this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS; } #endregion #region 单例模式 /// /// 单例模式,防止重复创建窗体 /// public static F_RPT_080102 Instance { get { if (_instance == null || _instance.IsDisposed) { _instance = new F_RPT_080102(); } return _instance; } } #endregion #region 事件处理 /// /// 窗体加载事件 /// /// /// private void F_RPT_010201_1_Load(object sender, EventArgs e) { try { // 加载权限 // 加载权限 //this.dgv2.AutoGenerateColumns = true; FormPermissionManager.FormPermissionControl(this.Name, this, LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); // 设置表格不自动创建列 this.dgv1.AutoGenerateColumns = false; // 设置表格不自动创建列 this.dgv2.AutoGenerateColumns = false; // 设置表格不自动创建列 this.dgv3.AutoGenerateColumns = false; dtpStartTime.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1); dtpEndTime.Value = dtpStartTime.Value.AddMonths(1).AddSeconds(-1); } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 窗体关闭事件 /// /// /// private void F_RPT_010201_1_FormClosed(object sender, FormClosedEventArgs e) { _instance = null; } /// /// 关闭按钮 /// /// /// private void tsbtnClose_Click(object sender, EventArgs e) { this.Close(); } /// /// 查询按钮事件 /// /// /// private void btnSearch_Click(object sender, EventArgs e) { try { //if(this.txtDefectDeductionNum.Text.Trim()=="") //{ // MessageBox.Show("交坯差相差天数不能为空!", this.Text, // MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} //if (this.dkProcedureSearchBox1.Text.Trim() == "") //{ // MessageBox.Show("入窑数统计工序不能为空!", this.Text, // MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} //if (this.dkProcedureSearchBox3.Text.Trim() == "") //{ // MessageBox.Show("质量登记工序不能为空!", this.Text, // MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} //if (this.dkProcedureSearchBox2.Text.Trim() == "") //{ // MessageBox.Show("出窑数统计工序不能为空!", this.Text, // MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} // 清除数据表格列 //foreach (DataGridViewTextBoxColumn rr in this.dgv2.Columns) //{ // if(rr.Tag!=null && rr.Name.ToString()=="-100") // { // rr.Visible = false; // } //} if ((this.dtpEndTime.Value - this.dtpStartTime.Value).Days > 40) { MessageBox.Show("统计时间间隔不能大于40天", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.dtpEndTime.Focus(); return; } this.dgv1.DataSource = null; this.dgv2.AutoGenerateColumns = false; this.dgv2.DataSource = null; this.dgv3.DataSource = null; for (int i = 0; i < this.dgv2.Columns.Count; i++) { if (this.dgv2.Columns[i].Tag != null && this.dgv2.Columns[i].Tag.ToString() == "-100") { this.dgv2.Columns[i].Visible = false; // this.dgv2.Columns.Remove(this.dgv2.Columns[i].Name); } } DataSet ds = this.GetSearchData(); if (ds != null) { this.dgv1.DataSource = ds.Tables[0]; for (int i = 0; i < ds.Tables[1].Columns.Count; i++) { if (ds.Tables[1].Columns[i].ColumnName.StartsWith("D")) { DataGridViewTextBoxColumn rr = new DataGridViewTextBoxColumn(); string substring1 = ds.Tables[1].Columns[i].ColumnName.Replace("D","").TrimStart().Substring(0, 2); string substring2 = ds.Tables[1].Columns[i].ColumnName.Replace("D", "").TrimStart().Substring(2, 2); rr.Name = substring1 + "月" + substring2+"日" ; rr.DataPropertyName = ds.Tables[1].Columns[i].ColumnName; rr.Tag = "-100"; rr.DefaultCellStyle = this.ActualDefect.DefaultCellStyle; rr.FillWeight = (float)(0.001); //if (!this.dgv2.Columns.Contains(ds.Tables[1].Columns[i].ColumnName)) //{ this.dgv2.Columns.Add(rr); //} } else if (ds.Tables[1].Columns[i].ColumnName == "M") { DataGridViewTextBoxColumn rr2 = new DataGridViewTextBoxColumn(); rr2.Name = "月结"; rr2.DataPropertyName = ds.Tables[1].Columns[i].ColumnName; rr2.DefaultCellStyle = this.ActualDefect.DefaultCellStyle; rr2.Tag = "-100"; rr2.FillWeight = (float)(0.001); //if (!this.dgv2.Columns.Contains("月结")) //{ this.dgv2.Columns.Add(rr2); //} } else if (ds.Tables[1].Columns[i].ColumnName == "MD") { DataGridViewTextBoxColumn rr3 = new DataGridViewTextBoxColumn(); rr3.Name = "天数"; rr3.DataPropertyName = ds.Tables[1].Columns[i].ColumnName; rr3.DefaultCellStyle = this.ActualDefect.DefaultCellStyle; rr3.Tag = "-100"; rr3.FillWeight = (float)(0.001); //if (!this.dgv2.Columns.Contains("天数")) //{ this.dgv2.Columns.Add(rr3); // } } else if (ds.Tables[1].Columns[i].ColumnName == "M1") { DataGridViewTextBoxColumn rr4 = new DataGridViewTextBoxColumn(); rr4.Name = "上半月交坯"; rr4.DataPropertyName = ds.Tables[1].Columns[i].ColumnName; rr4.DefaultCellStyle = this.ActualDefect.DefaultCellStyle; rr4.Tag = "-100"; rr4.FillWeight = (float)(0.001); //if (!this.dgv2.Columns.Contains("上半月交坯")) //{ this.dgv2.Columns.Add(rr4); // } } else if (ds.Tables[1].Columns[i].ColumnName == "M2") { DataGridViewTextBoxColumn rr5 = new DataGridViewTextBoxColumn(); rr5.Name = "下半月交坯"; rr5.DataPropertyName = ds.Tables[1].Columns[i].ColumnName; rr5.DefaultCellStyle = this.ActualDefect.DefaultCellStyle; rr5.Tag = "-100"; rr5.FillWeight = (float)(0.001); //if (!this.dgv2.Columns.Contains("下半月交坯")) //{ this.dgv2.Columns.Add(rr5); //} } } this.dgv2.DataSource = ds.Tables[1]; this.dgv3.DataSource = ds.Tables[2]; } //this.dgvReportModule.DataSource = this.GetSearchData(); } catch (Exception ex) { this.btnSearch.Enabled = true; this.btnClearCondition.Enabled = true; // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 清空条件按钮事件 /// /// /// private void btnClearCondition_Click(object sender, EventArgs e) { dtpStartTime.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); dtpEndTime.Value = dtpStartTime.Value.AddMonths(1).AddSeconds(-1); //this.txtDefectDeductionNum.Text = "2"; this.dkProcedureSearchBox1.ClearControl(); this.dkProcedureSearchBox3.ClearControl(); this.dkProcedureSearchBox4.ClearControl(); this.dkProcedureSearchBox2.ClearControl(); this.dkDefectSearchBox1.ClearControl(); this.dkDefectFineSearchBox1.ClearControl(); } /// /// 自动适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { this.dgv1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgv2.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgv3.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } #endregion #region 私有方法 /// /// 根据界面查询条件获取数据集 /// private DataSet GetSearchData() { try { RPT080102_SE se = new RPT080102_SE(); //se.startDateTime = new DateTime(this.dtpStartTime.Value.Year, this.dtpStartTime.Value.Month, 1); //se.endDateTime = new DateTime(this.dtpStartTime.Value.Year, this.dtpStartTime.Value.Month, 1).AddDays(DateTime.DaysInMonth(this.dtpStartTime.Value.Year, this.dtpStartTime.Value.Month)).AddDays(-1); se.startDateTime = this.dtpStartTime.Value; se.endDateTime = this.dtpEndTime.Value; //se.DeliverMudDValue = txtDefectDeductionNum.Text.Trim() == "" ? 0 : Convert.ToInt32(txtDefectDeductionNum.Text.Trim()); se.IntoProcedureIDS = dkProcedureSearchBox1.ProcedureIDS == null ? string.Empty : dkProcedureSearchBox1.ProcedureIDS; se.OutProcedureIDS = dkProcedureSearchBox2.ProcedureIDS == null ? string.Empty : dkProcedureSearchBox2.ProcedureIDS; se.ProcedureIDS = dkProcedureSearchBox3.ProcedureIDS == null ? string.Empty : dkProcedureSearchBox3.ProcedureIDS; se.DefectFineIDS = dkDefectFineSearchBox1.DefectFineIDS == null ? string.Empty : dkDefectFineSearchBox1.DefectFineIDS; se.DefectIDS = dkDefectSearchBox1.DefectIDS == null ? string.Empty : dkDefectSearchBox1.DefectIDS; se.DeliverProcedureIDS = dkProcedureSearchBox4.ProcedureIDS == null ? string.Empty : dkProcedureSearchBox4.ProcedureIDS; // 调用服务器端获取数据集 ServiceResultEntity sre = DoAsync(() => { return ReportModuleProxy.Service.GetRPT080102SData(se); } ); if (sre.Status == Constant.ServiceResultStatus.Success) { if (sre.Data.Tables[0].Rows.Count <= Constant.INT_IS_ZERO) { // 提示未查找到数据 MessageBox.Show(Messages.MSG_CMN_I002, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); //清空数据 return null; } return sre.Data; } return null; } catch (Exception ex) { throw ex; } } /// /// 漏扫工号按钮事件 /// /// /// private void tsbtnMissed_Click(object sender, EventArgs e) { try { //if (this.dgvReportModule.CurrentRow != null) //{ // if (this.dgvReportModule.CurrentRow.Cells["BarCode"].Value.ToString() != "--") // { // int missid = Convert.ToInt32(this.dgvReportModule.CurrentRow.Cells["MissID"].Value); // string groutingusercode = this.dgvReportModule.CurrentRow.Cells["MissUserCode"].Value.ToString(); // S_CMN_020 frm202 = new S_CMN_020(missid, "", groutingusercode); // frm202.ShowDialog(); // } //} } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } #endregion } }