/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_PM_0504.cs * 2.功能描述:新建装窑车漏扫计件 * 编辑履历: * 作者 日期 版本 修改内容 * chenxy 2019/12/10 1.00 设计窗体布局 *******************************************************************************/ using System; using System.Collections.Generic; using System.Data; using System.Windows.Forms; using Dongke.IBOSS.PRD.Basics.BaseControls; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Basics.Library; using Dongke.IBOSS.PRD.Client.CommonModule; using Dongke.IBOSS.PRD.Client.Controls.FormCommon; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.Proxys; namespace Dongke.IBOSS.PRD.Client.PMModule { /// /// 新建装窑车计件 /// public partial class F_PM_0504 : FormBase { #region 成员变量 // 工序ID private int _procedureID; //窗体名称 private string _fromTitle; // 工序实体类 ProcedureEntity _procedureDataEntity; // 生产数据实体类 List _productionDataEntity = new List(); // 数据源Table private DataTable _dataSourceTable = null; // 添加行数据源 private DataTable _collectType = null; // 当前操作实体 ProductionDataEntity _productionEntity = new ProductionDataEntity(); // 配置文件的全路径 private string _iniFilePath = LocalPath.RootPath + Constant.INI_FILE_NAME; //窑车最大装载数 private int MaxGoodsNum = 0; // 是否有商标 private int? _isLogo = null; // 是否有商标编码 private string _isLogoCode = ""; // 是否有商标名称 private string _isLogoName = ""; private DataSet _KilntInfo = null; #endregion #region 构造函数 /// /// 构造函数 /// public F_PM_0504() { InitializeComponent(); } /// /// 构造函数 /// /// 工序编号 /// 窗体名称 public F_PM_0504(int procedureID, string fromTitle) { InitializeComponent(); this._procedureID = procedureID; this._fromTitle = fromTitle; this.SetFromTitleInfo(); } #endregion #region 属性 /// /// 绑定GridView数据源 /// public DataTable DataSourceTable { set { _dataSourceTable = value; } get { if (_dataSourceTable == null) { _dataSourceTable = new DataTable("Table1"); _dataSourceTable.Columns.Add("BarCode"); _dataSourceTable.Columns.Add("GoodsID"); _dataSourceTable.Columns.Add("GoodsCode"); _dataSourceTable.Columns.Add("GoodsName"); _dataSourceTable.Columns.Add("UserID"); _dataSourceTable.Columns.Add("UserCode"); _dataSourceTable.Columns.Add("UserName"); _dataSourceTable.Columns.Add("KilnID"); _dataSourceTable.Columns.Add("KilnCode"); _dataSourceTable.Columns.Add("KilnName"); _dataSourceTable.Columns.Add("KilnCarID"); _dataSourceTable.Columns.Add("KilnCarCode"); _dataSourceTable.Columns.Add("KilnCarName"); _dataSourceTable.Columns.Add("KilnCarPosition", typeof(decimal)); _dataSourceTable.Columns.Add("IsSave");//是否保存,为了的在此车上有此产品时显示出来(1不保存,只是查看) _dataSourceTable.Columns.Add("Status");//登车状态,只是查看 _dataSourceTable.Columns.Add("IsPublicBody"); _dataSourceTable.Columns.Add("MouldCode"); _dataSourceTable.Columns.Add("GroutingUserCode"); _dataSourceTable.Columns.Add("GroutingNum"); _dataSourceTable.Columns.Add("GroutingDate", typeof(DateTime)); _dataSourceTable.Columns.Add("LogoID"); _dataSourceTable.Columns.Add("LogoCodeName"); return _dataSourceTable; } else { return _dataSourceTable; } } } /// /// 添加行数据源 /// public DataTable DataSourceCollectTypeTable { set { _collectType = value; } get { if (_collectType == null) { _collectType = new DataTable("Table2"); _collectType.Columns.Add("BarCode"); _collectType.Columns.Add("GoodsID"); _collectType.Columns.Add("GoodsCode"); _collectType.Columns.Add("GoodsName"); _collectType.Columns.Add("UserID"); _collectType.Columns.Add("UserCode"); _collectType.Columns.Add("UserName"); _collectType.Columns.Add("KilnID"); _collectType.Columns.Add("KilnCode"); _collectType.Columns.Add("KilnName"); _collectType.Columns.Add("KilnCarID"); _collectType.Columns.Add("KilnCarCode"); _collectType.Columns.Add("KilnCarName"); _collectType.Columns.Add("KilnCarPosition", typeof(decimal)); return _collectType; } else { return _collectType; } } } #endregion #region 事件 /// /// 窗体加载事件 /// /// /// private void F_PM_0504_Load(object sender, EventArgs e) { try { dtpFiredDate.Value = DateTime.Now.Date; //string getKiln = Utility.ReadIniFile(Constant.INI_SECTION_SETTINGS, // Constant.INI_KEY_KILN_CODE, this._iniFilePath); string getKiln = Utility.ReadIniFile(Constant.INI_SECTION_SETTINGS, Constant.INI_KEY_KILN_CODE, LocalPath.LocalINIFilePath); _KilntInfo = SystemModuleProxy.Service.GetAllKilntInfo(); if (getKiln != string.Empty) { this.txtKiln.Text = getKiln; if (this.txtKiln.Text.Trim() != "") { //DataSet dsResultAccount = (DataSet)DoAsync(new BaseAsyncMethod(() => //{ // return SystemModuleProxy.Service.GetAllKilntInfo(); //})); DataSet dsResultAccount = _KilntInfo; if (dsResultAccount != null && dsResultAccount.Tables[0].Rows.Count > 0) { DataView dv = dsResultAccount.Tables[0].DefaultView; dv.RowFilter = "ValueFlag=1 and KilnCode='" + this.txtKiln.Text.Trim() + "'"; DataTable dt = dv.ToTable(); if (dt.Rows.Count == 0) { // 提示信息 //MessageBox.Show("不存在此窑炉编号", // this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtKiln.SelectAll(); this.txtKiln.Focus(); //return; _productionEntity.KilnID = null; _productionEntity.KilnCode = null; } else { _productionEntity.KilnID = Convert.ToInt32(dt.Rows[0]["KilnID"]); _productionEntity.KilnCode = this.txtKiln.Text.Trim(); } } } this.txtKilnCarCode.Focus(); } else { this.txtKiln.Focus(); } // 加载权限 FormPermissionManager.FormPermissionControl(this.Name, this, Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); DataTable tKilnCarInfo = GetMSTKilnCarPositionInfo(); this.cmbKilnCarPosition.DataSource = tKilnCarInfo; this.cmbKilnCarPosition.DisplayMember = "DictionaryValue"; this.cmbKilnCarPosition.ValueMember = "DictionaryID"; this._productionEntity.UserID = Constant.INT_IS_NEGATIE_ONE; this._productionEntity.KilnCarID = Constant.INT_IS_NEGATIE_ONE; this.dgvProduction.DataSource = DataSourceTable; this.KilnCarPosition.DisplayMember = "DictionaryValue"; this.KilnCarPosition.ValueMember = "DictionaryID"; this.KilnCarPosition.DataSource = tKilnCarInfo.Copy(); this.dgvProduction.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; // 获取工序明细数据 //ProcedureEntity procedureDataEntity = (ProcedureEntity)DoAsync(new BaseAsyncMethod(() => //{ // return PMModuleProxy.Service.GetProcedureDataEntityByID(this._procedureID); //})); ProcedureEntity procedureDataEntity = PMModuleProxy.Service.GetProcedureDataEntityByID(this._procedureID); this._procedureDataEntity = procedureDataEntity; // 设置控件禁用或启用 SetControlEnable(); //this.txtUserCode.Focus(); } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 窗体关闭事件 /// /// /// private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } /// /// 窗体关闭事件 /// /// /// private void tsbtnClose_Click(object sender, EventArgs e) { this.Close(); } /// /// 自动适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { this.dgvProduction.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } /// /// 条形码按键事件 /// /// /// private void txtBarcode_KeyPress(object sender, KeyPressEventArgs e) { try { if (this.txtBarcode.ReadOnly) { return; } if (!this.txtFiredBatchNo.ReadOnly) { e.Handled = true; txtBarcode.Clear(); // 提示信息 MessageBox.Show("请输入窑车烧成批次号", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtFiredBatchNo.Focus(); return; } if ((int)e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE) // 按了回车键 { //if (this.txtUserCode.Text.Trim() == string.Empty) //{ // this.txtUserCode.Focus(); // this.txtBarcode.Text = string.Empty; // return; //} //if (this.txtKilnCarCode.Text.Trim() == string.Empty) //{ // this.txtKilnCarCode.Focus(); // this.txtBarcode.Text = string.Empty; // return; //} //if (this.txtBarcode.Text.Trim() == string.Empty) //{ // this.txtBarcode.SelectAll(); // this.txtBarcode.Focus(); // return; //} DataRow[] drRows = this.DataSourceTable.Select("BarCode='" + this.txtBarcode.Text.Trim() + "'"); if (drRows.Length == Constant.INT_IS_ZERO) { // 校验条码 获取校验条码信 DataSet dsCheckBarcode = (DataSet)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxy.Service.CheckBarcode(this._procedureID, this.txtBarcode.Text.Trim()); })); if (dsCheckBarcode != null && dsCheckBarcode.Tables[Constant.INT_IS_ZERO].Rows.Count > Constant.INT_IS_ZERO) { if (dsCheckBarcode.Tables[Constant.INT_IS_ZERO].Rows[Constant.INT_IS_ZERO] [Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString() != string.Empty) { // 表示有错误 //MessageBox.Show(string.Format(dsCheckBarcode.Tables[Constant.INT_IS_ZERO].Rows[Constant.INT_IS_ZERO] // [Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString(), // this.txtBarcode.Text.Trim(), "产品条码"), // this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); //this.txtBarcode.SelectAll(); //this.txtBarcode.Focus(); //return; if (dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_missFlag.ToString()].ToString() == "0") { // 表示有错误 MessageBox.Show(string.Format(dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString(), this.txtBarcode.Text.Trim(), "产品条码"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { S_CMN_020 frmscmn020 = new S_CMN_020(Convert.ToInt32(dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_missFlag.ToString()]) , dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString()); frmscmn020.ShowDialog(); } this.txtBarcode.Focus(); this.txtBarcode.SelectAll(); return; } else { this.DataSourceTable.AcceptChanges(); if (this.DataSourceTable.Rows.Count > Constant.INT_IS_ZERO) { if (this.MaxGoodsNum > 0 && this.DataSourceTable.Rows.Count >= this.MaxGoodsNum) { // 提示信息 MessageBox.Show("超出登车产品最大装载数量" + this.MaxGoodsNum.ToString(), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } if (dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_logoID.ToString()].ToString() != "") { this._isLogo = Convert.ToInt32(dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_logoID.ToString()]); this._isLogoCode = dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_logoCode.ToString()].ToString(); this._isLogoName = dsCheckBarcode.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_logoName.ToString()].ToString(); } // 生产数据实体 ProductionDataEntity procedureDataEntity = new ProductionDataEntity(); procedureDataEntity.Barcode = this.txtBarcode.Text.Trim(); // 产品条码 procedureDataEntity.GoodsID = Convert.ToInt32(dsCheckBarcode.Tables[Constant.INT_IS_ZERO].Rows[Constant.INT_IS_ZERO] [Constant.BarCodeResultTableColumns.out_goodsID.ToString()]); procedureDataEntity.GoodsCode = dsCheckBarcode.Tables[Constant.INT_IS_ZERO].Rows[Constant.INT_IS_ZERO] [Constant.BarCodeResultTableColumns.out_goodsCode.ToString()].ToString(); procedureDataEntity.GoodsName = dsCheckBarcode.Tables[Constant.INT_IS_ZERO].Rows[Constant.INT_IS_ZERO] [Constant.BarCodeResultTableColumns.out_goodsName.ToString()].ToString(); procedureDataEntity.UserID = this._productionEntity.UserID; procedureDataEntity.UserCode = this._productionEntity.UserCode; procedureDataEntity.UserName = this._productionEntity.UserName; procedureDataEntity.KilnID = this._productionEntity.KilnID; procedureDataEntity.KilnCode = this._productionEntity.KilnCode; procedureDataEntity.KilnName = this._productionEntity.KilnName; procedureDataEntity.KilnCarID = this._productionEntity.KilnCarID; procedureDataEntity.KilnCarCode = this._productionEntity.KilnCarCode; procedureDataEntity.KilnCarName = this._productionEntity.KilnCarName; procedureDataEntity.KilnCarPosition = Convert.ToInt32(this.cmbKilnCarPosition.SelectedValue); procedureDataEntity.ValueFlag = Constant.ValueFlag.Effective.GetHashCode(); procedureDataEntity.LogoID = this._isLogo; //if (this._procedureDataEntity.CollectType == (int)Constant.ProcedureCollectType.Point) // 单点采集 直接保存 //{ // this.CollectTypeTwo(procedureDataEntity); //} //else //{ this.CollectTypeOne(procedureDataEntity, dsCheckBarcode); // 集中采集 //} this.txtBarcode.Text = string.Empty; this.txtBarcode.Focus(); } } } else { this.txtBarcode.Text = ""; } } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 控件数据校验时发生 /// /// /// private void txtUserCode_Validating(object sender, System.ComponentModel.CancelEventArgs e) { try { if (txtUserCode.Text.Trim() == string.Empty) // 如果未添加数据,则此项获取焦点 { this.txtUserCode.IsMustInput = true; this.txtUserCode.SelectAll(); e.Cancel = true; return; } else if (!this.txtUserCode.ReadOnly) { SUserEntity userEntity = new SUserEntity(); userEntity.UserCode = this.txtUserCode.Text.Trim(); // 是否存在此用户编码的生产工号 CheckProcedureUserResult MsgCheckProcedureUser = (CheckProcedureUserResult)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxy.Service.CheckProcedureUser(this._procedureID, this.txtUserCode.Text.Trim()); })); if (MsgCheckProcedureUser != null) { if (!string.IsNullOrEmpty(MsgCheckProcedureUser.ErrMsg)) { MessageBox.Show(MsgCheckProcedureUser.ErrMsg, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtUserCode.SelectAll(); e.Cancel = true; return; } // 有此生产工号 if (this._productionEntity.UserID != -Constant.INT_IS_ONE) { if (MsgCheckProcedureUser.UserID != this._productionEntity.UserID) { this.SaveDataInfo(); } } this._productionEntity.UserID = MsgCheckProcedureUser.UserID; this._productionEntity.UserCode = MsgCheckProcedureUser.UserCode; this._productionEntity.UserName = MsgCheckProcedureUser.UserName; this.txtUserCode.ReadOnly = true; } } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } private void txtKiln_Validating(object sender, System.ComponentModel.CancelEventArgs e) { try { if (string.IsNullOrWhiteSpace(this.txtKiln.Text) || this.txtKiln.ReadOnly) { return; } //DataSet dsResultAccount = (DataSet)DoAsync(new BaseAsyncMethod(() => //{ // return SystemModuleProxy.Service.GetAllKilntInfo(); //})); //DataSet dsResultAccount = SystemModuleProxy.Service.GetAllKilntInfo(); DataSet dsResultAccount = _KilntInfo; if (dsResultAccount != null && dsResultAccount.Tables[0].Rows.Count > 0) { DataView dv = dsResultAccount.Tables[0].DefaultView; dv.RowFilter = "ValueFlag=1 and KilnCode='" + this.txtKiln.Text.Trim() + "'"; DataTable dt = dv.ToTable(); if (dt.Rows.Count == 0) { _productionEntity.KilnID = null; _productionEntity.KilnCode = null; e.Cancel = true; this.txtKiln.SelectAll(); // 提示信息 MessageBox.Show("不存在此窑炉编号", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { _productionEntity.KilnID = Convert.ToInt32(dt.Rows[0]["KilnID"]); _productionEntity.KilnCode = this.txtKiln.Text.Trim(); } // 保存业务系统配置 Utility.WriteIniFile(Constant.INI_SECTION_SETTINGS, Constant.INI_KEY_KILN_CODE, this.txtKiln.Text.Trim(), this._iniFilePath); // 验证烧成批次 if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCode) || this._productionEntity.KilnID == null || this._productionEntity.KilnID == -1) { return; } if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCarCode) || this._productionEntity.KilnCarID == null || this._productionEntity.KilnCarID == -1) { return; } if (string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text)) { return; } this.CheckFiredBatchNo(); } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } private void txtKiln_KeyPress(object sender, KeyPressEventArgs e) { try { if ((int)e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE) // 按了回车键 { this.txtKilnCarCode.Focus(); } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } private void txtKilnCarCode_KeyPress(object sender, KeyPressEventArgs e) { try { if ((int)e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE) // 按了回车键 { this.dtpFiredDate.Focus(); } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 控件数据校验时发生 /// /// /// private void txtKilnCarCode_Validating(object sender, System.ComponentModel.CancelEventArgs e) { try { if (string.IsNullOrWhiteSpace(this.txtKilnCarCode.Text) || this.txtKilnCarCode.ReadOnly) { return; } ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PM_0504"; cre.Name = "CheckKilnCar"; cre.Properties["kilncarcode"] = this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim(); cre.Properties["procedureID"] = this._procedureID; ServiceResultEntity sre = PMModuleProxyNew.Service.HandleRequest(cre); this._productionEntity.KilnCarID = null; this._productionEntity.KilnCarCode = null; if (sre == null) { this.txtKilnCarCode.SelectAll(); e.Cancel = true; MessageBox.Show("此窑车不存在", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (sre.Status == Constant.ServiceResultStatus.Other) { this.txtKilnCarCode.SelectAll(); e.Cancel = true; MessageBox.Show(sre.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } this._productionEntity.KilnCarID = Convert.ToInt32(sre.Result); this._productionEntity.KilnCarCode = this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim(); //this.txtKilnCarCode.ReadOnly = true; //this.txtKiln.ReadOnly = true; // 验证烧成批次 if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCode) || this._productionEntity.KilnID == null || this._productionEntity.KilnID == -1) { return; } if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCarCode) || this._productionEntity.KilnCarID == null || this._productionEntity.KilnCarID == -1) { return; } if (string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text)) { return; } this.CheckFiredBatchNo(); } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } private void dtpFiredDate_Validating(object sender, System.ComponentModel.CancelEventArgs e) { // 验证烧成批次 if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCode) || this._productionEntity.KilnID == null || this._productionEntity.KilnID == -1) { return; } if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCarCode) || this._productionEntity.KilnCarID == null || this._productionEntity.KilnCarID == -1) { return; } if (string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text)) { return; } this.CheckFiredBatchNo(); } /// /// 删除按钮事件 /// /// /// private void tsbtnDelete_Click(object sender, EventArgs e) { if (this.dgvProduction.CurrentCell != null) { if (this.dgvProduction.Rows[this.dgvProduction.CurrentCell.RowIndex].Cells["Status"].Value.ToString() != "己登车") { this.DataSourceTable.Rows[this.dgvProduction.CurrentCell.RowIndex].Delete(); } } } /// /// 保存按钮事件 /// /// /// private void btnSave_Click(object sender, EventArgs e) { try { this.SaveDataInfo(); } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 窗体关闭时事件 /// /// /// private void F_PM_0504_FormClosing(object sender, FormClosingEventArgs e) { if (this.btnSave.Visible) { try { this.DataSourceTable.AcceptChanges(); this.DataSourceCollectTypeTable.Clear(); if (this.DataSourceTable.Rows.Count > Constant.INT_IS_ZERO) { if (DataSourceTable.Select("IsSave<>1").Length > 0) { 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); } } } /// /// 鼠标单击事件 /// /// /// private void txtUserCode_MouseClick(object sender, MouseEventArgs e) { if (this.txtUserCode.Text.Trim() != string.Empty) { this.txtUserCode.SelectAll(); } } /// /// 生产工号回车事件 /// /// /// private void txtUserCode_KeyPress(object sender, KeyPressEventArgs e) { //if ((int)e.KeyChar == 13) // 按了回车键 //{ // this.txtKilnCarCode.Focus(); //} } #endregion #region 私有方法 /// /// 设置窗体按钮的文本信息 /// private void SetFromTitleInfo() { this.Text = "漏扫补件【" + this._fromTitle + "】"; this.tsbtnDelete.Text = ButtonText.TSBTN_DELETE; //自动适应列宽 this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE; //关闭 this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE; this.btnSave.Text = ButtonText.BTN_SAVE; this.btnCancel.Text = ButtonText.BTN_CLOSE; } /// /// 设置控件禁用或启用 /// private void SetControlEnable() { if (this._procedureDataEntity != null) { //if (this._procedureDataEntity.CollectType == (int)Constant.ProcedureCollectType.Togather) //{ // this.txtUserCode.Enabled = true; // this.tsbtnDelete.Visible = true; // this.tsbtnDelete.Enabled = true; // this.btnSave.Visible = true; //} //else { this.tsbtnDelete.Visible = true; this.tsbtnDelete.Enabled = true; this.txtUserCode.Enabled = true; this.txtUserCode.ReadOnly = true; this._productionEntity.UserID = Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserID; this._productionEntity.UserCode = Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserCode; this._productionEntity.UserName = Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserName; this.txtUserCode.Text = this._productionEntity.UserCode; this.btnSave.Visible = true; // 此工号是否能生产工序 CheckProcedureUserResult checkProcedureUser = (CheckProcedureUserResult)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxy.Service.CheckProcedureUser(this._procedureID, Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserCode); })); if (checkProcedureUser != null) { if (!string.IsNullOrEmpty(checkProcedureUser.ErrMsg)) { // 此工号不允许生产工序 MessageBox.Show(checkProcedureUser.ErrMsg, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.Close(); return; } } } } } /// /// 获取窑车位置字典表数据 /// /// public DataTable GetMSTKilnCarPositionInfo() { DataTable dtDicInfo = (DataTable)DoAsync(new BaseAsyncMethod(() => { return CommonModuleProxy.Service.GetDataDictionaryByType(Constant.TPC_TPC003); })); return dtDicInfo; } /// /// 单点采集模式 /// /// private void CollectTypeTwo(ProductionDataEntity procedureDataEntity) { try { #region 单点采集 // 添加行就可以 并保存 // 保存到数据库 DataSourceCollectTypeTable.Rows.Clear(); DataRow drCollectType = DataSourceCollectTypeTable.NewRow(); drCollectType["BarCode"] = procedureDataEntity.Barcode; drCollectType["GoodsID"] = procedureDataEntity.GoodsID; drCollectType["GoodsCode"] = procedureDataEntity.GoodsCode; drCollectType["GoodsName"] = procedureDataEntity.GoodsName; drCollectType["UserID"] = procedureDataEntity.UserID; drCollectType["UserCode"] = procedureDataEntity.UserCode; drCollectType["UserName"] = procedureDataEntity.UserName; drCollectType["KilnID"] = procedureDataEntity.KilnID; drCollectType["KilnCode"] = procedureDataEntity.KilnCode; drCollectType["KilnName"] = procedureDataEntity.KilnName; drCollectType["KilnCarID"] = procedureDataEntity.KilnCarID; drCollectType["KilnCarCode"] = procedureDataEntity.KilnCarCode; drCollectType["KilnCarName"] = procedureDataEntity.KilnCarName; drCollectType["KilnCarPosition"] = procedureDataEntity.KilnCarPosition; DataSourceCollectTypeTable.Rows.Add(drCollectType); DataTable returnString = (DataTable)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxy.Service.AddWorkPiece(this._procedureID, DataSourceCollectTypeTable); } )); DataRow dr = this.DataSourceTable.NewRow(); dr["BarCode"] = procedureDataEntity.Barcode; dr["GoodsID"] = procedureDataEntity.GoodsID; dr["GoodsCode"] = procedureDataEntity.GoodsCode; dr["GoodsName"] = procedureDataEntity.GoodsName; dr["UserID"] = procedureDataEntity.UserID; dr["UserCode"] = procedureDataEntity.UserCode; dr["UserName"] = procedureDataEntity.UserName; dr["KilnID"] = procedureDataEntity.KilnID; dr["KilnCode"] = procedureDataEntity.KilnCode; dr["KilnName"] = procedureDataEntity.KilnName; dr["KilnCarID"] = procedureDataEntity.KilnCarID; dr["KilnCarCode"] = procedureDataEntity.KilnCarCode; dr["KilnCarName"] = procedureDataEntity.KilnCarName; dr["KilnCarPosition"] = procedureDataEntity.KilnCarPosition; this.DataSourceTable.Rows.Add(dr); this.dgvProduction.CurrentCell = null; this.dgvProduction.Rows[dgvProduction.RowCount - 1].Selected = true; this.dgvProduction.CurrentCell = this.dgvProduction.Rows[dgvProduction.RowCount - 1].Cells[0]; #endregion } catch (Exception ex) { throw ex; } } /// ///集中采集模式 /// /// private void CollectTypeOne(ProductionDataEntity procedureDataEntity,DataSet dsGroutingProduct) { try { #region 集中采集 DataRow[] drRows = this.DataSourceTable.Select("BarCode='" + procedureDataEntity.Barcode + "'"); if (drRows.Length > Constant.INT_IS_ZERO) { this.txtBarcode.Text = ""; return; } // 由产品条码获取注浆信息 //DataSet dsGroutingProduct = (DataSet)DoAsync(new BaseAsyncMethod(() => //{ // return PMModuleProxy.Service.GetGroutingProducttByBarCode(procedureDataEntity.Barcode); //})); DataRow dr = this.DataSourceTable.NewRow(); dr["BarCode"] = procedureDataEntity.Barcode; dr["GoodsID"] = procedureDataEntity.GoodsID; dr["GoodsCode"] = procedureDataEntity.GoodsCode; dr["GoodsName"] = procedureDataEntity.GoodsName; dr["UserID"] = procedureDataEntity.UserID; dr["UserCode"] = procedureDataEntity.UserCode; dr["UserName"] = procedureDataEntity.UserName; dr["KilnID"] = procedureDataEntity.KilnID; dr["KilnCode"] = procedureDataEntity.KilnCode; dr["KilnName"] = procedureDataEntity.KilnName; dr["KilnCarID"] = procedureDataEntity.KilnCarID; dr["KilnCarCode"] = procedureDataEntity.KilnCarCode; dr["KilnCarName"] = procedureDataEntity.KilnCarName; dr["KilnCarPosition"] = procedureDataEntity.KilnCarPosition; dr["MouldCode"] = dsGroutingProduct.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_mouldCode.ToString()]; dr["GroutingUserCode"] = dsGroutingProduct.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()]; dr["GroutingNum"] = dsGroutingProduct.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_groutingNum.ToString()]; dr["GroutingDate"] = Convert.ToDateTime(dsGroutingProduct.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_groutingdate.ToString()]); dr["IsPublicBody"] = dsGroutingProduct.Tables[0].Rows[0][Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()].ToString() != "1" ? 0 : 1; dr["LogoID"] = procedureDataEntity.LogoID; dr["LogoCodeName"] = this._isLogoName + "[" + this._isLogoCode + "]"; this.DataSourceTable.Rows.Add(dr); this.dgvProduction.CurrentCell = null; this.dgvProduction.Rows[dgvProduction.RowCount - 1].Selected = true; this.dgvProduction.CurrentCell = this.dgvProduction.Rows[dgvProduction.RowCount - 1].Cells[0]; #endregion } catch (Exception ex) { throw ex; } } /// /// 保存数据到数据库 /// private void SaveDataInfo() { this.DataSourceTable.AcceptChanges(); this.DataSourceCollectTypeTable = null; if (this.DataSourceTable.Rows.Count > Constant.INT_IS_ZERO) { //if (this.MaxGoodsNum > 0 && this.DataSourceTable.Rows.Count > this.MaxGoodsNum) //{ // // 提示信息 // MessageBox.Show("超出登车产品最大装载数量" + this.MaxGoodsNum.ToString(), // this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); // return; //} foreach (DataRow drproductionData in this.DataSourceTable.Rows) { if (drproductionData["IsSave"].ToString() != "1") { DataRow drCollectType = DataSourceCollectTypeTable.NewRow(); drCollectType["BarCode"] = drproductionData["BarCode"]; //drCollectType["GoodsID"] = drproductionData["GoodsID"]; //drCollectType["GoodsCode"] = drproductionData["GoodsCode"]; //drCollectType["GoodsName"] = drproductionData["GoodsName"]; //drCollectType["UserID"] = drproductionData["UserID"]; //drCollectType["UserCode"] = drproductionData["UserCode"]; //drCollectType["UserName"] = drproductionData["UserName"]; //drCollectType["KilnID"] = drproductionData["KilnID"]; //drCollectType["KilnCode"] = drproductionData["KilnCode"]; //drCollectType["KilnName"] = drproductionData["KilnName"]; //drCollectType["KilnCarID"] = drproductionData["KilnCarID"]; //drCollectType["KilnCarCode"] = drproductionData["KilnCarCode"]; //drCollectType["KilnCarName"] = drproductionData["KilnCarName"]; drCollectType["KilnCarPosition"] = drproductionData["KilnCarPosition"]; DataSourceCollectTypeTable.Rows.Add(drCollectType); } } if (DataSourceCollectTypeTable.Rows.Count == 0) { // 提示信息 MessageBox.Show("以上产品已经登车", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string KilnCarBatchNo = string.Format("{0}#{1}#{2}#{3}", this._productionEntity.KilnCode, this._productionEntity.KilnCarCode, this.dtpFiredDate.Value.Value.ToString("yyyyMMdd"), this.txtFiredBatchNo.DataValue.Value.ToString("000")); ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PM_0504"; cre.Name = "SetKilnCarMissing"; cre.Properties["KilnID"] = this._productionEntity.KilnID.Value; cre.Properties["KilnCarID"] = this._productionEntity.KilnCarID.Value; cre.Properties["FiredDate"] = this.dtpFiredDate.Value.Value; cre.Properties["KilnCarBatchNo"] = KilnCarBatchNo; cre.Properties["ProcedureID"] = this._procedureID; cre.Properties["ModelType"] = this._procedureDataEntity.ModelType; cre.Data = new DataSet(); cre.Data.Tables.Add(DataSourceCollectTypeTable); ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxyNew.Service.HandleRequest(cre); })); if (sre == null) { // 提示信息 MessageBox.Show("操作失败", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (sre.Status != Constant.ServiceResultStatus.Success) { MessageBox.Show(sre.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // 提示信息 MessageBox.Show(string.Format(Messages.MSG_CMN_I001, this.Text, "保存"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtBarcode.Clear(); this._productionDataEntity.Clear(); this.DataSourceTable.Rows.Clear(); this.txtKilnCarCode.Clear(); this.txtFiredBatchNo.Clear(); this._productionEntity = new ProductionDataEntity(); this.txtKilnCarCode.ReadOnly = false; this.txtKiln.ReadOnly = false; this.dtpFiredDate.Enabled = true; this.txtFiredBatchNo.ReadOnly = false; } } #endregion private void btnOk_Click(object sender, EventArgs e) { this.btnOk.Focus(); if (this.txtFiredBatchNo.ReadOnly) { return; } try { btnOk.Tag = 1; if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCode) || this._productionEntity.KilnID == null || this._productionEntity.KilnID == -1) { MessageBox.Show("没有输入窑炉", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtKiln.Focus(); return; } if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCarCode) || this._productionEntity.KilnCarID == null || this._productionEntity.KilnCarID == -1) { MessageBox.Show("没有输入窑车", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtKilnCarCode.Focus(); return; } if (string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text)) { MessageBox.Show("没有输入烧成批次", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtFiredBatchNo.Focus(); return; } this.CheckFiredBatchNo(); } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } finally { btnOk.Tag = null; btnOk.Enabled = true; } } private void CheckFiredBatchNo() { string KilnCarBatchNo = string.Format("{0}#{1}#{2}#{3}", this._productionEntity.KilnCode, this._productionEntity.KilnCarCode, this.dtpFiredDate.Value.Value.ToString("yyyyMMdd"), this.txtFiredBatchNo.DataValue.Value.ToString("000")); ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PM_0504"; cre.Name = "CheckKilnCarBatchNo"; cre.Properties["KilnID"] = this._productionEntity.KilnID.Value; cre.Properties["KilnCarID"] = this._productionEntity.KilnCarID.Value; cre.Properties["FiredDate"] = this.dtpFiredDate.Value.Value; cre.Properties["KilnCarBatchNo"] = KilnCarBatchNo; cre.Properties["ProcedureID"] = this._procedureID; cre.Properties["ModelType"] = this._procedureDataEntity.ModelType; //ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() => //{ // return PMModuleProxyNew.Service.HandleRequest(cre); //})); ServiceResultEntity sre = PMModuleProxyNew.Service.HandleRequest(cre); if (sre == null) { MessageBox.Show("此窑车烧成批次不存在", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (sre.Status == Constant.ServiceResultStatus.Other) { MessageBox.Show(sre.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } this.txtKilnCarCode.ReadOnly = true; this.txtKiln.ReadOnly = true; this.txtFiredBatchNo.ReadOnly = true; this.dtpFiredDate.Enabled = false; } private void txtFiredBatchNo_KeyPress(object sender, KeyPressEventArgs e) { try { if ((int)e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE) // 按了回车键 { this.btnOk.Focus(); } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } private void txtFiredBatchNo_Validating(object sender, System.ComponentModel.CancelEventArgs e) { try { if (this.txtFiredBatchNo.ReadOnly || string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text)) { return; } // 验证烧成批次 if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCode) || this._productionEntity.KilnID == null || this._productionEntity.KilnID == -1) { return; } if (string.IsNullOrWhiteSpace(this._productionEntity.KilnCarCode) || this._productionEntity.KilnCarID == null || this._productionEntity.KilnCarID == -1) { return; } if (string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text)) { return; } this.CheckFiredBatchNo(); } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } } }