/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_PM_0502.cs * 2.功能描述:新建装窑车计件 * 编辑履历: * 作者 日期 版本 修改内容 * 陈冰 2014/09/25 1.00 设计窗体布局 *******************************************************************************/ using System; using System.Collections.Generic; using System.Data; using System.IO; 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; using Dongke.IBOSS.PRD.WCF.Proxys.PMModuleService; using Dongke.IBOSS.PRD.WCF.Proxys.SystemModuleService; namespace Dongke.IBOSS.PRD.Client.PMModule { /// /// 新建装窑车计件 /// public partial class F_PM_0502 : 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 = ""; #endregion #region 构造函数 /// /// 构造函数 /// public F_PM_0502() { InitializeComponent(); } /// /// 构造函数 /// /// 工序编号 /// 窗体名称 public F_PM_0502(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_0502_Load(object sender, EventArgs e) { try { //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); if (getKiln != string.Empty) { this.txtKiln.Text = getKiln; if (this.txtKiln.Text.Trim() != "") { DataSet dsResultAccount = (DataSet)DoAsync(new BaseAsyncMethod(() => { return SystemModuleProxy.Service.GetAllKilntInfo(); })); 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; } } } 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); })); 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 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 txtKilnCarCode_Validating(object sender, System.ComponentModel.CancelEventArgs e) { try { if (this.txtKilnCarCode.Text.Trim() == string.Empty) // 如果未添加数据,则此项获取焦点 { //this.txtKilnCarCode.IsMustInput = true; //this.txtKilnCarCode.SelectAll(); //e.Cancel = true; //return; } else if (!this.txtKilnCarCode.ReadOnly) { // 是否存在此用户编码的生产工号 CheckKilnCarResultEntity kilnCarEntity = (CheckKilnCarResultEntity)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxy.Service.CheckKilnCar(this._procedureID, this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim(), this._procedureDataEntity.ModelType); })); if (!string.IsNullOrEmpty(kilnCarEntity.ErrMsg)) { MessageBox.Show(kilnCarEntity.ErrMsg, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); this.txtKilnCarCode.SelectAll(); e.Cancel = true; return; } if (this._productionEntity.KilnID != -Constant.INT_IS_ONE) { if (kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnID != this._productionEntity.KilnID) { this.SaveDataInfo(); } } this._productionEntity.KilnID = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnID; this._productionEntity.KilnCode = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCode; this._productionEntity.KilnName = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnName; this._productionEntity.KilnCarID = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCarID; //this._productionEntity.KilnCarCode = this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim(); this._productionEntity.KilnCarCode = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCarCode; this._productionEntity.KilnCarName = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCarName; this.MaxGoodsNum = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].MaxGoodsNum; this.txtKilnCarCode.ReadOnly = true; this.txtKiln.ReadOnly = true; //获取此窑车上是否有产品,并显示 DataSet dsGoods = (DataSet)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxy.Service.GetKilnCarGoodsByKilnCarID(Convert.ToInt32(this._productionEntity.KilnCarID == null ? 0 : this._productionEntity.KilnCarID)); })); if (dsGoods != null && dsGoods.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsGoods.Tables[0].Rows.Count; i++) { DataRow[] drRows = this.DataSourceTable.Select("BarCode='" + dsGoods.Tables[0].Rows[i]["BarCode"].ToString() + "'"); if (drRows.Length > Constant.INT_IS_ZERO) { this.txtBarcode.Text = ""; continue; } DataRow dr = this.DataSourceTable.NewRow(); dr["BarCode"] = dsGoods.Tables[0].Rows[i]["BarCode"].ToString(); dr["GoodsID"] = dsGoods.Tables[0].Rows[i]["GoodsID"].ToString(); dr["GoodsCode"] = dsGoods.Tables[0].Rows[i]["GoodsCode"].ToString(); dr["GoodsName"] = dsGoods.Tables[0].Rows[i]["GoodsName"].ToString(); dr["UserID"] = dsGoods.Tables[0].Rows[i]["UserID"].ToString(); dr["UserCode"] = dsGoods.Tables[0].Rows[i]["UserCode"].ToString(); dr["UserName"] = dsGoods.Tables[0].Rows[i]["UserName"].ToString(); dr["KilnID"] = dsGoods.Tables[0].Rows[i]["KilnID"].ToString(); dr["KilnCode"] = dsGoods.Tables[0].Rows[i]["KilnCode"].ToString(); dr["KilnName"] = dsGoods.Tables[0].Rows[i]["KilnName"].ToString(); dr["KilnCarID"] = dsGoods.Tables[0].Rows[i]["KilnCarID"].ToString(); dr["KilnCarCode"] = dsGoods.Tables[0].Rows[i]["Kilncarcode"].ToString(); dr["KilnCarName"] = dsGoods.Tables[0].Rows[i]["Kilncarname"].ToString(); dr["KilnCarPosition"] = dsGoods.Tables[0].Rows[i]["KilnCarPosition"].ToString(); dr["IsSave"] = 1; dr["Status"] = "己登车"; dr["MouldCode"] = dsGoods.Tables[0].Rows[i]["MouldCode"]; dr["GroutingUserCode"] = dsGoods.Tables[0].Rows[i]["GroutingUserCode"]; dr["GroutingNum"] = dsGoods.Tables[0].Rows[i]["GroutingNum"]; dr["IsPublicBody"] = dsGoods.Tables[0].Rows[i]["IsPublicBody"].ToString() != "1" ? 0 : 1; dr["GroutingDate"] = Convert.ToDateTime(dsGoods.Tables[0].Rows[i]["GroutingDate"]); dr["LogoCodeName"] = dsGoods.Tables[0].Rows[i]["logoname"] + "[" + dsGoods.Tables[0].Rows[i]["logocode"] + "]"; 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]; } } } } 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 (this._productionEntity.KilnID == null || this._productionEntity.KilnID <= 0) { // 提示信息 MessageBox.Show("请输入窑炉车号", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); 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 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_0502_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.Clear(); 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; } DataTable returnRow = (DataTable)DoAsync(new BaseAsyncMethod(() => { return PMModuleProxy.Service.AddWorkPiece(this._procedureID, DataSourceCollectTypeTable); })); if (returnRow.Rows.Count <= Constant.INT_IS_ZERO) { // 提示信息 MessageBox.Show(Messages.MSG_PM_W012, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (string.IsNullOrEmpty(returnRow.Rows[0][Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString()))//成功 { // 提示信息 MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "新增" + this.Text, "保存"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { // 提示信息 MessageBox.Show(string.Format(returnRow.Rows[0][Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString()), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } this.txtBarcode.Text = ""; this._productionDataEntity.Clear(); this.DataSourceTable.Rows.Clear(); this.txtKilnCarCode.Text = ""; //this.txtKiln.Text = ""; if (this._procedureDataEntity.CollectType == (int)Constant.ProcedureCollectType.Togather) { this.txtUserCode.Text = ""; this.txtUserCode.Focus(); this.txtUserCode.ReadOnly = false; this.txtKilnCarCode.ReadOnly = false; this.txtKiln.ReadOnly = false; this.txtKilnCarCode.Enabled = true; this.txtKiln.Enabled = true; } else { this.txtBarcode.Focus(); this.txtKilnCarCode.ReadOnly = false; this.txtKiln.ReadOnly = false; this.txtKilnCarCode.Enabled = true; this.txtKiln.Enabled = true; } } } #endregion private void txtKiln_Validating(object sender, System.ComponentModel.CancelEventArgs e) { try { if (this.txtKiln.Text.Trim() == string.Empty) { return; } if (this.txtKiln.Text.Trim() != "") { if (!this.txtKiln.ReadOnly) { DataSet dsResultAccount = (DataSet)DoAsync(new BaseAsyncMethod(() => { return SystemModuleProxy.Service.GetAllKilntInfo(); })); 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; } // 保存业务系统配置 Utility.WriteIniFile(Constant.INI_SECTION_SETTINGS, Constant.INI_KEY_KILN_CODE, this.txtKiln.Text.Trim(), this._iniFilePath); } } } } 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) // 按了回车键 { if (this.txtKiln.Text.Trim() == string.Empty) { return; } if (this.txtKiln.Text.Trim() != "") { DataSet dsResultAccount = (DataSet)DoAsync(new BaseAsyncMethod(() => { return SystemModuleProxy.Service.GetAllKilntInfo(); })); 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; } else { // 保存业务系统配置 Utility.WriteIniFile(Constant.INI_SECTION_SETTINGS, Constant.INI_KEY_KILN_CODE, this.txtKiln.Text.Trim(), this._iniFilePath); this.txtKilnCarCode.Focus(); } } } } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } } }