/******************************************************************************* * 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 } }