/******************************************************************************* * Copyright(c) 2015 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_PC_1302.cs * 2.功能描述:作业指导书工序配置 * 编辑履历: * 作者 日期 版本 修改内容 * 秦祺 2023/06/13 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_1302 : DKDockPanelBase { #region 成员变量 // 单例模式 private static F_PC_1302 _instance; // 正在查询 private bool _isSearching = false; // 选中的ID private int? _soptypeid; // 选中的名称 private string _soptype; #endregion #region 构造函数 public F_PC_1302() { InitializeComponent(); } public F_PC_1302(int? soptypeid, string soptype) { InitializeComponent(); if (soptypeid == null) { this.Text = "新建作业指导书工序配置"; } else { this.Text = "编辑作业指导书工序配置"; } this.btnSave.Text = ButtonText.BTN_SAVE; this.btnCancel.Text = ButtonText.BTN_CLOSE; this._soptypeid = soptypeid; this._soptype = soptype; } #endregion #region 单例模式 /// /// 单例模式,防止重复创建窗体 /// public static F_PC_1302 Instance { get { if (_instance == null) { _instance = new F_PC_1302(); } 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 = "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_PC_1302"; cre.Name = "SaveSOPData"; cre.Properties["SOPTYPEID"] = this._soptypeid; cre.Properties["SOPTYPE"] = this._soptype; 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_1302_Load(object sender, EventArgs e) { // 按钮权限控制 FormPermissionManager.FormPermissionControl(this.Name, this, LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData, LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData); //查询已选的数据 if (this._soptypeid > 0) { ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PC_1301"; cre.Name = "GetProcedure"; cre.Properties["SOPTYPEID"] = this._soptypeid; cre.Properties["onlyflag"] = "1"; 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_1302_FormClosed(object sender, FormClosedEventArgs e) { _instance = null; } /// /// 查询 /// /// /// private void tsbtnSearch_Click(object sender, EventArgs e) { if (this._soptypeid > 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.dgvIdnrktype.DataSource = sre.Data.Tables[0]; } } } /// /// 清空条件 /// /// /// private void btnClearCondition_Click(object sender, EventArgs e) { } /// /// 自适应列宽 /// /// /// private void tsbtnAdaptive_Click(object sender, EventArgs e) { this.dgvAlreadyIdnrktype.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); this.dgvIdnrktype.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } /// /// /// /// /// 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 } }