using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; using System; using System.Collections; using System.Data; using System.Drawing; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class FrmProcessProparameters : FrmBase { public FrmProcessProparameters() { InitializeComponent(); } private void FrmProcessProparameters_Load(object sender, EventArgs e) { BandCmbControlPoint(); BandCmbProcessParameters(); } /// /// 工序点数据绑定 /// private void BandCmbControlPoint() { //初始化编辑区域工序点下拉框CoreBandProcess DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProcessProparameters.CoreBandProcess", new Object[] { }, this.ob); if (dt != null && dt.Rows.Count > 0) { //PROCESS_CODE,PROCESS_DESC cmbControlPoint.DataSource = dt; //PROCESS_CODE,PROCESS_DESC cmbControlPoint.DisplayMember = "PROCESS_DESC"; cmbControlPoint.ValueMember = "PROCESS_CODE"; //当前选中行。 cmbControlPoint.SelectedIndex = 0; } } /// /// 工艺参数数据绑定 /// private void BandCmbProcessParameters() { //初始化编辑区域工艺参数下拉框CoreBandProcessParameters DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProcessProparameters.CoreBandProcessParameters", new Object[] { }, this.ob); if (dt != null && dt.Rows.Count > 0) { //CRAFTITEM_CODE,CRAFTITEM_DESC CRAFT_CODE,CRAFTITEM_DESC cmbGycs.DataSource = dt; cmbGycs.DisplayMember = "CRAFTITEM_DESC"; cmbGycs.ValueMember = "CRAFT_CODE"; cmbGycs.SelectedIndex = 0; } } /// /// 平台封装ToolBar /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": doQuery(); break; case "doAdd": doAdd(); break; case "doModify": doModify(); break; case "doDelete": this.doDeleteOrResume(true); break; case "doResume": this.doDeleteOrResume(false); break; case "Close": this.Close(); break; } } /// /// 效验有效字段 /// /// private bool ValidInput() { if (string.IsNullOrEmpty(txtProcess_Desc.Text.Trim())) { MessageBox.Show("请输入描述!", "提示"); return false; } return true; } /// /// 查询 /// private void doQuery() { bool validFlag = chkValid.Checked; string titleName = txtTitleName.Text.Trim(); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProcessProparameters.getLineList", new Object[] { validFlag, titleName }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); //不同颜色区分是否有效数据 Infragistics.Win.UltraWinGrid.UltraGridRow row = null; for (int i = 0; i < ultraGrid1.Rows.Count; i++) { row = ultraGrid1.Rows[i]; if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("1")) { row.Appearance.ForeColor = Color.Red; } else { row.Appearance.ForeColor = Color.Black; } } } /// /// 新增 /// private void doAdd() { if (ValidInput()) { try { ArrayList parm = new ArrayList(); //PROCESS_CODE,PROCESS_DESC,STATION_CODE,STATION_DESC,CRAFTITEM_CODE,CRAFTITEM_DESC,ALLOW_COUNT //txtProcess_Desc,txtStation_Code,txtCraftitem_Code,txtAllow_Count string processCode = GridHelper.AutoCode(this.dataTable1); parm.Add(processCode); parm.Add(txtProcess_Desc.Text); parm.Add(cmbControlPoint.Value.ToString()); parm.Add(cmbControlPoint.Text.ToString()); parm.Add(cmbGycs.Value.ToString()); parm.Add(cmbGycs.Text.ToString()); //单个参数维护个数,也许是后台自动生成的。 parm.Add(txtAllow_Count.Text.ToString()); parm.Add(this.UserInfo.GetUserName()); parm.Add(txtMemo.Text); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreProcessProparameters"; ccp.MethodName = "doAdd"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; doQuery(); //高亮显示新增的数据 Infragistics.Win.UltraWinGrid.UltraGridRow row = null; for (int i = 0; i < ultraGrid1.Rows.Count; i++) { row = ultraGrid1.Rows[i]; if (row.Cells["PROCESS_CODE"].Value.ToString().Equals(processCode)) { row.Activate(); break; } } } catch (Exception ex) { MessageBox.Show(ex.Message, "提示"); } } } /// /// 修改 /// private void doModify() { if (ultraGrid1.ActiveRow == null) { MessageBox.Show("请选择需要修改的数据!", "提示"); return; } if (ValidInput()) { //确认修改吗? if (MessageBox.Show("是否确认修改选中的数据!", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { return; } ArrayList parm = new ArrayList(); string processCode = ultraGrid1.ActiveRow.Cells["PROCESS_CODE"].Value.ToString(); parm.Add(txtProcess_Desc.Text); parm.Add(cmbControlPoint.Value.ToString()); parm.Add(cmbControlPoint.Text.ToString()); parm.Add(cmbGycs.Value.ToString()); parm.Add(cmbGycs.Text.ToString()); //单个参数维护个数,也许是后台自动生成的。 parm.Add(txtAllow_Count.Text.ToString()); parm.Add(this.UserInfo.GetUserName()); parm.Add(txtMemo.Text); parm.Add(processCode); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.qcm.CoreProcessProparameters"; ccp.MethodName = "doModify"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; doQuery(); //高亮显示新增的数据 Infragistics.Win.UltraWinGrid.UltraGridRow row = null; for (int i = 0; i < ultraGrid1.Rows.Count; i++) { row = ultraGrid1.Rows[i]; if (row.Cells["PROCESS_CODE"].Value.ToString().Equals(processCode)) { row.Activate(); break; } } } } /// /// GRID ROW激活时信息带至编辑区 /// /// /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { Infragistics.Win.UltraWinGrid.UltraGridRow row = ultraGrid1.ActiveRow; if (row != null) { //PROCESS_CODE,PROCESS_DESC,STATION_CODE,STATION_DESC,CRAFTITEM_CODE,CRAFTITEM_DESC,ALLOW_COUNT //txtProcess_Desc,txtStation_Code,txtCraftitem_Code,txtAllow_Count //工序名称 txtProcess_Desc.Text = row.Cells["PROCESS_DESC"].Value.ToString(); //工序点代码 cmbControlPoint.Value = row.Cells["STATION_CODE"].Value.ToString(); //工艺参数代码 cmbGycs.Value = row.Cells["CRAFTITEM_CODE"].Value.ToString(); //单个参数维护个数 txtAllow_Count.Text = row.Cells["ALLOW_COUNT"].Value.ToString(); //备注 txtMemo.Text = row.Cells["MEMO"].Value.ToString(); } } /// /// 删除或恢复 /// /// true删除 false恢复 private void doDeleteOrResume(bool isDelete) { ultraGrid1.UpdateData(); ArrayList param = new ArrayList(); string processCode = ultraGrid1.ActiveRow.Cells["PROCESS_CODE"].Value.ToString(); param.Add(processCode); if (param.Count > 0 && MessageBox.Show("是否确认" + (isDelete ? "删除" : "恢复") + "选中的数据!", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { try { int count = ServerHelper.SetData("com.steering.pss.qcm.CoreProcessProparameters.deleteLineInfo", new Object[] { param, UserInfo.GetUserName(), isDelete }, this.ob); if (count > 0) { doQuery(); Infragistics.Win.UltraWinGrid.UltraGridRow rowD = null; for (int i = 0; i < ultraGrid1.Rows.Count; i++) { rowD = ultraGrid1.Rows[i]; if (rowD.Cells["PROCESS_CODE"].Value.ToString().Equals(processCode)) { rowD.Activate(); break; } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "提示"); } } } } }