/*******************************************************************************
* Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:F_PM_2406.cs
* 2.功能描述:变更单号整板
* 编辑履历:
* 作者 日期 版本 修改内容
* 付斌 2018/08/06 1.00 新建
*******************************************************************************/
using System;
using System.Data;
using System.Windows.Forms;
using Dongke.IBOSS.PRD.Basics.BaseControls;
using Dongke.IBOSS.PRD.Basics.BaseResources;
using Dongke.IBOSS.PRD.Client.CommonModule;
using Dongke.IBOSS.PRD.WCF.DataModels;
using Dongke.IBOSS.PRD.WCF.Proxys;
namespace Dongke.IBOSS.PRD.Client.PMModule
{
public partial class F_PM_2406 : FormBase
{
#region 成员变量
private DataTable _dataSourceTable; // 数据源Table
#endregion
#region 属性
///
/// 绑定GridView数据源
///
public DataTable DataSourceTable
{
set
{
_dataSourceTable = value;
}
get
{
if (_dataSourceTable == null)
{
_dataSourceTable = new DataTable("dataSourceTable");
_dataSourceTable.Columns.Add("BarCode");
_dataSourceTable.Columns.Add("FinishedBarCode");
_dataSourceTable.Columns.Add("logoid");
_dataSourceTable.Columns.Add("logocode");
_dataSourceTable.Columns.Add("logoname");
_dataSourceTable.Columns.Add("goodscode");
_dataSourceTable.Columns.Add("UserID");
_dataSourceTable.Columns.Add("GroutingUserCode");
_dataSourceTable.Columns.Add("MouldCode");
_dataSourceTable.Columns.Add("GroutingDate", typeof(DateTime));
_dataSourceTable.Columns.Add("DeliverTime", typeof(DateTime));
_dataSourceTable.Columns.Add("GoodsModel");
_dataSourceTable.Columns.Add("PlateLimitNum");
_dataSourceTable.Columns.Add("OrderNo");
_dataSourceTable.Columns.Add("FHTime", typeof(DateTime));
_dataSourceTable.Columns.Add("FHUserCode");
return _dataSourceTable;
}
else
{
return _dataSourceTable;
}
}
}
#endregion
#region 构造函数
///
/// 构造函数
///
public F_PM_2406()
{
InitializeComponent();
this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
this.btnSave.Text = ButtonText.BTN_SAVE;
this.btnCancel.Text = ButtonText.BTN_CANCEL;
}
#endregion
#region 事件
///
/// 窗体加载事件
///
///
///
private void F_PM_2406_Load(object sender, EventArgs e)
{
try
{
this.dgvProduction.AutoGenerateColumns = false;
this.dgvProduction.DataSource = DataSourceTable;
// 加载权限
FormPermissionManager.FormPermissionControl(this.Name, this,
DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
// 加载订单数据源
DataSet dsResultLogo = (DataSet)DoAsync(new BaseAsyncMethod(() =>
{
return PMModuleProxy.Service.GetOrderList(new OrderEntity());
}));
if (dsResultLogo != null && dsResultLogo.Tables[0].Rows.Count > 0)
{
DataView dv = dsResultLogo.Tables[0].DefaultView;
dv.RowFilter = "ValueFlag=1";
DataTable dtNew = dv.ToTable();
DataRow dr = dtNew.NewRow();
dr["OrderID"] = -1;
dr["OrderNo"] = string.Empty;
dtNew.Rows.InsertAt(dr, 0);
this.cmbLogo.DataSource = dtNew;
this.cmbLogo.ValueMember = "OrderID";
this.cmbLogo.DisplayMember = "OrderNo";
}
this.btnSave.Enabled = false;
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 条形码按键事件
///
///
///
private void txtBarcode_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
if (this.txtBarcode.ReadOnly)
{
return;
}
if ((int)e.KeyChar == 13) // 按了回车键
{
this.btnSave.Visible = false;
if (this.txtBarcode.Text.Trim() == "")
{
MessageBox.Show("产品条码不能为空", this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.txtBarcode.Focus();
return;
}
// 异步处理,获取信息
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "F_PM_2406";
cre.Name = "FinishedHandoverBarcode";
cre.Properties["Barcode"] = this.txtBarcode.Text.Trim();
cre.Properties["HandoverFlag"] = 1;
// 调用服务器端获取数据集
ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
{
return PMModuleProxyNew.Service.HandleRequest(cre);
}));
if (!(sre.Status == Constant.ServiceResultStatus.Success))
{
// 提示未查找到数据
MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (sre.Result + "" == "-1")
{
// 提示未查找到数据
MessageBox.Show(sre.Message, this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (Convert.ToInt32(sre.Result) > 0 && sre.Data.Tables[0].Rows.Count > 0)
{
this.dgvProduction.DataSource = sre.Data.Tables[0];
_dataSourceTable = sre.Data.Tables[0];
this.btnSave.Visible = true;
this.btnSave.Enabled = true;
}
else
{
MessageBox.Show(sre.Message, this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.txtBarcode.SelectAll();
return;
}
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 生产订单号回车事件
///
///
///
private void txtOrderNo_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
if (this.txtOrderNo.ReadOnly)
{
return;
}
if ((int)e.KeyChar == 13) // 按了回车键
{
DataTable dt = this.cmbLogo.DataSource as DataTable;
if (dt != null && dt.Rows.Count > 0)
{
DataRow[] dr = dt.Select("OrderNo='" + this.txtOrderNo.Text.Trim() + "'");
if (dr.Length > 0)
{
this.cmbLogo.SelectedValue = Convert.ToInt32(dr[0]["OrderID"]);
}
else
{
this.cmbLogo.SelectedIndex = 0;
}
this.txtOrderNo.Text = string.Empty;
}
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 保存按钮事件
///
///
///
private void btnSave_Click(object sender, EventArgs e)
{
try
{
this.DataSourceTable.AcceptChanges();
if (this.cmbLogo.SelectedValue.ToString() == "-1")
{
MessageBox.Show("请选择生产订单",
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.cmbLogo.Focus();
return;
}
ClientRequestEntity cre = new ClientRequestEntity();
cre.NameSpace = "F_PM_2406";
cre.Name = "SetHandoveredOrder";
string barcodes = string.Empty;
foreach (DataGridViewRow row in this.dgvProduction.Rows)
{
barcodes += row.Cells["BarCode"].Value +",";
}
cre.Properties["Barcodes"] = barcodes.Substring(0, barcodes.Length-1);
cre.Properties["OrderID"] = Convert.ToInt32(this.cmbLogo.SelectedValue);
// 异步处理
ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
{
return PMModuleProxyNew.Service.HandleRequest(cre);
}));
if (Convert.ToInt32(sre.Result) < 0)
{
MessageBox.Show(sre.Message,
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
// 提示信息
MessageBox.Show(string.Format(Messages.MSG_CMN_I001, this.Text, "保存"),
this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
this.txtBarcode.Text = string.Empty;
this.DataSourceTable.Rows.Clear();
this.cmbLogo.SelectedValue = -1;
this.txtOrderNo.Text = string.Empty;
this.btnSave.Visible = false;
this.btnSave.Enabled = false;
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
///
/// 自动适应列宽
///
///
///
private void tsbtnAdaptive_Click(object sender, EventArgs e)
{
this.dgvProduction.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}
///
/// 窗体关闭事件
///
///
///
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
///
/// 窗体关闭时事件
///
///
///
private void F_PM_0302_FormClosing(object sender, FormClosingEventArgs e)
{
if (this.btnSave.Visible)
{
try
{
this.DataSourceTable.AcceptChanges();
if (this.DataSourceTable.Rows.Count > Constant.INT_IS_ZERO && !"-1".Equals(this.cmbLogo.SelectedValue + ""))
{
DialogResult result = MessageBox.Show(Messages.MSG_CMN_Q001, this.Text,
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
// 保存数据
btnSave_Click(sender, e);
}
else if (result == DialogResult.Cancel)
{
e.Cancel = true;
}
}
}
catch (Exception ex)
{
// 对异常进行共通处理
ExceptionManager.HandleEventException(this.ToString(),
System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
}
}
}
#endregion
}
}