/******************************************************************************* * Copyright(c) 2015 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_PC_0702.cs * 2.功能描述:员工关联 * 编辑履历: * 作者 日期 版本 修改内容 * 袁新成 2015/04/17 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Reflection; 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.Client.Controls; using Dongke.IBOSS.PRD.Client.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.Proxys; namespace Dongke.IBOSS.PRD.Client.PCModule { /// /// 员工关联 /// public partial class F_PC_0702 : DKDockPanelBase { #region 成员变量 // 单例模式 private static F_PC_0702 _instance; // 正在查询 private bool _isSearching = false; // 选中的ID private int? _procedureId; // 选中的名称 private string _procedureName; #endregion #region 构造函数 public F_PC_0702() { InitializeComponent(); } public F_PC_0702(int? ProcedureId, string ProcedureName) { InitializeComponent(); if (ProcedureId == null) { this.Text = "新建成检材料报损配置"; } else { this.Text = "编辑成检材料报损配置"; } this.btnSave.Text = ButtonText.BTN_SAVE; this.btnCancel.Text = ButtonText.BTN_CLOSE; this._procedureId = ProcedureId; this._procedureName = ProcedureName; } #endregion #region 单例模式 /// /// 单例模式,防止重复创建窗体 /// public static F_PC_0702 Instance { get { if (_instance == null) { _instance = new F_PC_0702(); } return _instance; } } #endregion #region 事件 /// /// 搜索按钮事件 /// /// /// private void btnSave_Click(object sender, EventArgs e) { try { //过滤出来的已勾选项 DataTable dataTable = new DataTable(); DataTable alreadyDataTable = new DataTable(); DataTable saveTable = new DataTable(); if (this.dgvIdnrktype.DataSource != null && ((DataTable)this.dgvIdnrktype.DataSource).Rows.Count > 0) { DataTable idnrktypeTable = ((DataTable)this.dgvIdnrktype.DataSource).Copy(); if (idnrktypeTable != null && idnrktypeTable.Rows.Count > 0) { string filter = "Check1 = 1"; idnrktypeTable.DefaultView.RowFilter = filter; dataTable = idnrktypeTable.DefaultView.ToTable(); } } if (this.dgvAlreadyIdnrktype.DataSource != null && ((DataTable)this.dgvAlreadyIdnrktype.DataSource).Rows.Count > 0) { DataTable alreadyidnrktypeTable = ((DataTable)this.dgvAlreadyIdnrktype.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 = "idnrktype = '" + row["idnrktype"]+"'"; 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_PC_0702"; cre.Name = "SavePackingBOMData"; cre.Properties["ProcedureId"] = this._procedureId; 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 F_PC_0702_Load(object sender, EventArgs e) { // 按钮权限控制 FormPermissionManager.FormPermissionControl(this.Name, this, LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); //查询已选的数据 if (this._procedureId > 0) { ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PC_0701"; cre.Name = "GetProcedureIdnrktype"; cre.Properties["PROCEDUREID"] = this._procedureId; ServiceResultEntity sre = DoAsync(() => { return PCModuleProxyNew.Service.HandleRequest(cre); }); if (sre.Status == Constant.ServiceResultStatus.Success) { this.dgvAlreadyIdnrktype.DataSource = sre.Data.Tables[0]; } } } /// /// 关闭按钮事件 /// /// /// private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } /// /// 释放窗体 /// /// /// private void F_PC_0702_FormClosed(object sender, FormClosedEventArgs e) { _instance = null; } /// /// 查询 /// /// /// private void tsbtnSearch_Click(object sender, EventArgs e) { if (this._procedureId > 0) { //this.dgvPackingBOM.DataSource = null; // 调用服务器端获取数据集 ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PC_0701"; cre.Name = "GetIdnrktype"; cre.Properties["PROCEDUREID"] = this._procedureId; cre.Properties["PROCEDURENAME"] = this.txtIdnrktype.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; sre.Data.Tables[0].Rows[i]["SCANFLAG"] = 0; } } this.dgvIdnrktype.DataSource = sre.Data.Tables[0]; } } } /// /// 清空条件 /// /// /// private void btnClearCondition_Click(object sender, EventArgs e) { } /// /// 自适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { } /// /// /// /// /// private void dgvIdnrktype_Sorted(object sender, EventArgs e) { this.dgvIdnrktype.IsSetInputColumnsColor = true; } /// /// /// /// /// private void dgvAlreadyIdnrktype_Sorted(object sender, EventArgs e) { this.dgvAlreadyIdnrktype.IsSetInputColumnsColor = true; } #endregion #region 私有方法 #endregion } }