/*******************************************************************************
* Copyright(c) 2015 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:F_RPT_080113.cs
* 2.功能描述:BOM物料检验明细表
* 编辑履历:
* 作者 日期 版本 修改内容
* 秦祺 2024/01/04 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.DataModels;
using Dongke.IBOSS.PRD.Client.PMModule;
using Dongke.IBOSS.PRD.WCF.DataModels;
using Dongke.IBOSS.PRD.WCF.Proxys;
namespace Dongke.IBOSS.PRD.Client.ReportModule
{
public partial class F_RPT_080113 : DKDockPanelBase
{
#region 成员变量
// 窗体的单例模式
private static F_RPT_080113 _instance;
#endregion
#region 构造函数
public F_RPT_080113()
{
InitializeComponent();
// 窗体显示的Title
this.Text = "BOM物料检验明细表";
this.btnSearch.Text = ButtonText.BTN_SEARCH;
this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION;
this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS;
}
#endregion
#region 单例模式
///
/// 单例模式,防止重复创建窗体
///
public static F_RPT_080113 Instance
{
get
{
if (_instance == null || _instance.IsDisposed)
{
_instance = new F_RPT_080113();
}
return _instance;
}
}
#endregion
#region 事件处理
///
/// 窗体加载事件
///
///
///
private void F_RPT_080113_Load(object sender, EventArgs e)
{
try
{
// 加载权限
FormPermissionManager.FormPermissionControl(this.Name, this,
LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
this.dtpCreateTimeBegin.Value = DateTime.Now.Date;
this.dtpCreateTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
// 设置表格不自动创建列
this.dgvBarcodeIdnrk.AutoGenerateColumns = false;
// 检验值
DataTable dtNoOnlyCodeFlag = new DataTable();
dtNoOnlyCodeFlag.Columns.Add("valueid", typeof(int));
dtNoOnlyCodeFlag.Columns.Add("CheckValue", typeof(string));
DataRow drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
drNoOnlyCodeFlag["valueid"] = 0;
drNoOnlyCodeFlag["CheckValue"] = "";
dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
drNoOnlyCodeFlag["valueid"] = 1;
drNoOnlyCodeFlag["CheckValue"] = "装配正确";
dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
drNoOnlyCodeFlag["valueid"] = 2;
drNoOnlyCodeFlag["CheckValue"] = "装配错误";
dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
drNoOnlyCodeFlag["valueid"] = 3;
drNoOnlyCodeFlag["CheckValue"] = "漏装";
dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
drNoOnlyCodeFlag = dtNoOnlyCodeFlag.NewRow();
drNoOnlyCodeFlag["valueid"] = 4;
drNoOnlyCodeFlag["CheckValue"] = "多装";
dtNoOnlyCodeFlag.Rows.Add(drNoOnlyCodeFlag);
this.cbCheckValue.DisplayMember = "CheckValue";
this.cbCheckValue.ValueMember = "valueid";
this.cbCheckValue.DataSource = dtNoOnlyCodeFlag;
this.cbCheckValue.SelectedValue = 0;
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 自动适应列宽
///
///
///
private void tsbtnAdaptive_Click(object sender, EventArgs e)
{
this.dgvBarcodeIdnrk.AutoResizeColumns();
this.SummaryDataView.AutoResizeColumns();
}
///
/// 窗体关闭事件
///
///
///
private void F_RPT_080113_FormClosed(object sender, FormClosedEventArgs e)
{
_instance = null;
}
///
/// 关闭按钮
///
///
///
private void tsbtnClose_Click(object sender, EventArgs e)
{
this.Close();
}
private DataSet GetSearch(string barcode,string Matnr,string IdnrkName,DateTime BeginTime, DateTime EndTime,object CheckValue,int selectIndex)
{
ServiceResultEntity sre = null;
if (selectIndex == 0)
{
this.SummaryDataView.DataSource = null;
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "F_RPT_080113";
cre.Name = "GetBOMDSummary";
cre.Properties["BarCode"] = barcode.Trim();
cre.Properties["Matnr"] = Matnr.Trim();
cre.Properties["IdnrkName"] = IdnrkName.Trim();
cre.Properties["CreateTimeBegin"] = BeginTime;
cre.Properties["CreateTimeEnd"] = EndTime;
cre.Properties["CHECKVALUE"] = CheckValue;
sre = DoAsync(() =>
{
return PCModuleProxyNew.Service.HandleRequest(cre);
});
if (sre.Data != null && sre.Data.Tables.Count > 0 && sre.Data.Tables[0].Rows.Count > 0)
{
this.SummaryDataView.DataSource = sre.Data.Tables[0];
tsbtnAdaptive_Click(null, null);
}
else
{
// 提示未查找到数据
MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
if (selectIndex == 1)
{
this.dgvBarcodeIdnrk.DataSource = null;
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "F_RPT_080113";
cre.Name = "GetBOMDetailData";
cre.Properties["BarCode"] = barcode;
cre.Properties["Matnr"] = Matnr;
cre.Properties["IdnrkName"] = IdnrkName;
cre.Properties["CreateTimeBegin"] = BeginTime;
cre.Properties["CreateTimeEnd"] = EndTime;
cre.Properties["CHECKVALUE"] = CheckValue;
sre = DoAsync(() =>
{
return PCModuleProxyNew.Service.HandleRequest(cre);
});
if (sre.Data != null && sre.Data.Tables.Count > 0 && sre.Data.Tables[0].Rows.Count > 0)
{
dgvBarcodeIdnrk.DataSource = sre.Data.Tables[0];
tsbtnAdaptive_Click(null, null);
}
else
{
// 提示未查找到数据
MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
return sre.Data;
}
///
/// 查询按钮事件
///
///
///
private void btnSearch_Click(object sender, EventArgs e)
{
try
{ //调用查询方法
GetSearch(this.txtBarCode.Text.Trim(), this.txtMatnr.Text.Trim(), this.txtIdnrkName.Text.Trim(), this.dtpCreateTimeBegin.Value,
Convert.ToDateTime(this.dtpCreateTimeEnd.Value).AddSeconds(1), this.cbCheckValue.SelectedValue, tabControl.SelectedIndex);
}
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)
{
this.txtIdnrkName.Text = "";
this.txtMatnr.Text = "";
this.dtpCreateTimeBegin.Value = DateTime.Now.Date;
this.dtpCreateTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
this.txtBarCode.Text = "";
this.cbCheckValue.SelectedValue = 0;
}
private void SummaryDataView_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{ //获取当前选择行数据;
DataGridViewRow dgvr = this.SummaryDataView.CurrentRow;
string barcode = dgvr.Cells["BARCODES"].Value.ToString();
this.dgvBarcodeIdnrk.DataSource = null;
this.tabControl.SelectTab(1);
GetSearch(dgvr.Cells["BARCODES"].Value.ToString(), null, null, this.dtpCreateTimeBegin.Value,
Convert.ToDateTime(this.dtpCreateTimeEnd.Value).AddSeconds(1), 0, 1);
}
#endregion
}
}