/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_MST_0212.cs * 2.功能描述:分配到工序节点 * 编辑履历: * 作者 日期 版本 修改内容 * 王鑫 2014/09/12 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Windows.Forms; using Dongke.IBOSS.PRD.WCF.Proxys; using Dongke.IBOSS.PRD.WCF.Proxys.SystemModuleService; using Dongke.IBOSS.PRD.Basics.BaseControls; using Dongke.IBOSS.PRD.Client.CommonModule; using Dongke.IBOSS.PRD.Client.Controls; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.Client.DataModels; namespace Dongke.IBOSS.PRD.Client.SystemModule { /// /// 分配到工序节点 /// public partial class F_MST_0212 : DKDockPanelBase { #region 成员变量 // 单例模式 private static F_MST_0212 _instance; // 选中的ID private int? _userid; private string _userCode; #endregion #region 构造函数 public F_MST_0212(int? UserId, string UserCode) { InitializeComponent(); this.Text = "分配到工序节点"; this.btnSave.Text = ButtonText.BTN_SAVE; this.btnCancel.Text = ButtonText.BTN_CLOSE; this._userid = UserId; this._userCode = UserCode; } #endregion #region 事件 /// /// 窗体加载事件 /// /// /// private void F_MST_0212_Load(object sender, EventArgs e) { try { // 按钮权限控制 FormPermissionManager.FormPermissionControl(this.Name, this, LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); //查询已选的数据 if (this._userid > 0) { ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_MST_0212"; cre.Name = "GetProcedureID"; cre.Properties["userID"] = this._userid; ServiceResultEntity sre = DoAsync(() => { return PCModuleProxyNew.Service.HandleRequest(cre); }); if (sre.Status == Constant.ServiceResultStatus.Success) { this.dgvAlreadyProcedure.DataSource = sre.Data.Tables[0]; } } } catch (Exception ex) { throw ex; } } /// /// 自适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { this.dgvProcedure.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgvAlreadyProcedure.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } /// /// 清空条件 /// /// /// private void btnClearCondition_Click(object sender, EventArgs e) { } /// /// 查询 /// /// /// private void tsbtnSearch_Click(object sender, EventArgs e) { if (this._userid > 0) { //this.dgvPackingBOM.DataSource = null; // 调用服务器端获取数据集 ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PC_1301"; cre.Name = "GetProcedure"; cre.Properties["onlyflag"] = "0"; cre.Properties["ProcedureName"] = this.txtProcedure.Text; ServiceResultEntity sre = DoAsync(() => { return PCModuleProxyNew.Service.HandleRequest(cre); }); if (sre.Status == Constant.ServiceResultStatus.Success) { if (sre.Data.Tables[0] != null && sre.Data.Tables[0].Rows.Count > 0) { for (int i = 0; i < sre.Data.Tables[0].Rows.Count; i++) { sre.Data.Tables[0].Rows[i]["Check1"] = 0; } } this.dgvProcedure.DataSource = sre.Data.Tables[0]; } } } /// /// 保存 /// /// /// private void btnSave_Click(object sender, EventArgs e) { try { //过滤出来的已勾选项 DataTable dataTable = new DataTable(); DataTable alreadyDataTable = new DataTable(); DataTable saveTable = new DataTable(); if (this.dgvProcedure.DataSource != null && ((DataTable)this.dgvProcedure.DataSource).Rows.Count > 0) { DataTable idnrktypeTable = ((DataTable)this.dgvProcedure.DataSource).Copy(); if (idnrktypeTable != null && idnrktypeTable.Rows.Count > 0) { string filter = "Check1 = 1"; idnrktypeTable.DefaultView.RowFilter = filter; dataTable = idnrktypeTable.DefaultView.ToTable(); } } if (this.dgvAlreadyProcedure.DataSource != null && ((DataTable)this.dgvAlreadyProcedure.DataSource).Rows.Count > 0) { DataTable alreadyidnrktypeTable = ((DataTable)this.dgvAlreadyProcedure.DataSource).Copy(); if (alreadyidnrktypeTable != null && alreadyidnrktypeTable.Rows.Count > 0) { string filter = "AlreadyCheck = 1"; alreadyidnrktypeTable.DefaultView.RowFilter = filter; alreadyDataTable = alreadyidnrktypeTable.DefaultView.ToTable(); } } if (dataTable != null && dataTable.Rows.Count > 0) { saveTable = dataTable.Copy(); if (alreadyDataTable != null && alreadyDataTable.Rows.Count > 0) { foreach (DataRow row in alreadyDataTable.Rows) { //去重 string filter = "procedureName = '" + row["procedureName"] + "'"; dataTable.DefaultView.RowFilter = filter; DataTable newTable = dataTable.DefaultView.ToTable(); if (newTable == null || newTable.Rows.Count == 0) { saveTable.ImportRow(row); } } } } else { if (alreadyDataTable != null && alreadyDataTable.Rows.Count > 0) { saveTable = alreadyDataTable.Copy(); } } // 调用服务器端获取数据集 ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_MST_0212"; cre.Name = "SaveProcedureData"; cre.Properties["UserID"] = this._userid; saveTable.TableName = "saveTable"; DataSet ds = new DataSet(); ds.Tables.Add(saveTable.Copy()); cre.Data = ds; ServiceResultEntity sre = DoAsync(() => { return PCModuleProxyNew.Service.HandleRequest(cre); }); if (sre.Status == Constant.ServiceResultStatus.Success) { this.Close(); } } catch (Exception ex) { this.btnSave.Enabled = true; this.btnCancel.Enabled = true; // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 关闭 /// /// /// private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } /// /// 释放窗体 /// /// /// private void F_MST_0212_FormClosed(object sender, FormClosedEventArgs e) { _instance = null; } #endregion #region 私有方法 #endregion } }