using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.PlnSaleOrd { public partial class FrmBaseModelLen : FrmBase { public FrmBaseModelLen() { InitializeComponent(); } private void FrmBaseModelLen_Load(object sender, EventArgs e) { getModelCode(); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": DoQuery(); break; case "doAdd": DoAdd(); break; case "doModify": DoUpdate(); break; case "doDelete": DoDelete(); break; case "Export": GridHelper.ulGridToExcel(GridStorage, "扣型与长度加长关系"); break; case "Close": this.Close(); break; } } /// /// 查询 /// private void DoQuery() { string modelCode = ""; string groupNo = ""; if (chkModel.Checked) { if (cmbModel.Text.Equals("")) { MessageUtil.ShowTips("请选择扣型!"); return; } else { if (cmbModel.SelectedItem == null) { MessageUtil.ShowTips("请重新输入或选择下拉框中的扣型!"); return; } modelCode = cmbModel.Value.ToString(); } } DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQuery", new Object[] { modelCode }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); GridHelper.RefreshAndAutoSize(GridStorage); } private bool conditions() { if (cmbModelt.Text.Equals("")) { MessageUtil.ShowTips("扣型不能为空,请选择!"); return false; } else { if (cmbModelt.SelectedItem == null) { MessageUtil.ShowTips("请输入或选择下拉框存在的扣型!"); return false; } } if (!txtLenToleraMin.Text.Equals("") && !txtLenToleraMax.Text.Equals("")) { if (double.Parse(txtLenToleraMin.Text.Trim()) > double.Parse(txtLenToleraMax.Text.Trim())) { MessageUtil.ShowTips("长度公差范围有误,请重新输入!"); return false; } } if (!txtDiameterMin.Text.Equals("") && !txtDiameterMax.Text.Equals("")) { if (double.Parse(txtDiameterMin.Text.Trim()) > double.Parse(txtDiameterMax.Text.Trim())) { MessageUtil.ShowTips("外径范围有误,请重新输入!"); return false; } } if (!txtWallthickMin.Text.Equals("") && !txtWallthickMax.Text.Equals("")) { if (double.Parse(txtWallthickMin.Text.Trim()) > double.Parse(txtWallthickMax.Text.Trim())) { MessageUtil.ShowTips("壁厚范围有误,请重新输入!"); return false; } } if (!txtLenLongerMin.Text.Equals("") && !txtLenLongerMax.Text.Equals("")) { if (double.Parse(txtLenLongerMin.Text.Trim()) > double.Parse(txtLenLongerMax.Text.Trim())) { MessageUtil.ShowTips("长度加长范围有误,请重新输入!"); return false; } } return true; } /// /// 新增 /// private void DoAdd() { if(!conditions())return; string cmbModelCode = ""; string cmbModelName = ""; if (cmbModelt.Text.Equals("")) { MessageUtil.ShowTips("扣型不能为空,请选择!"); return; } else { if (cmbModelt.SelectedItem == null) { MessageUtil.ShowTips("请输入或选择下拉框存在的扣型!"); return; } cmbModelCode = cmbModelt.Value.ToString(); cmbModelName = cmbModelt.Text.Trim(); } if (txtLenLongerMin.Text.Trim() == "" || txtLenLongerMax.Text.Trim() == "") { MessageUtil.ShowTips("长度公差不能为空,请选择!"); return; } if (txtDiameterMin.Text.Trim() == "" || txtDiameterMax.Text.Trim() == "") { MessageUtil.ShowTips("外径不能为空,请选择!"); return; } if (txtWallthickMin.Text.Trim() == "" || txtWallthickMax.Text.Trim() == "") { MessageUtil.ShowTips("壁厚不能为空,请选择!"); return; } if (jgNum.SelectedItem == null) { MessageUtil.ShowTips("加工分切数不能为空,请选择!"); return; } //查询是否扣型重复 DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQueryNew", new Object[] { cmbModelCode, txtLenLongerMin.Text.Trim(),txtLenLongerMax.Text.Trim(), txtDiameterMin.Text.Trim(),txtDiameterMax.Text.Trim(), txtWallthickMin.Text.Trim(),txtWallthickMax.Text.Trim(), jgNum.Value.ToString()}, this.ob); if (dt.Rows.Count > 0) { string repeat = dt.Rows[0][0].ToString(); if (repeat != "") { MessageUtil.ShowTips("你选择的数据已存在,请重新选择!"); return; } } if (MessageBox.Show("是否新增数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return; //查询最大ID DataTable dtMax = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQueryMaxId", null, this.ob); string idMax = "KXJC00001"; if (dtMax.Rows.Count > 0) { idMax = dtMax.Rows[0]["ID_MAX"].ToString(); } ArrayList parm = new ArrayList(); parm.Add(idMax); parm.Add(txtLenToleraMin.Text.ToString().Trim()); parm.Add(txtLenToleraMax.Text.ToString().Trim()); parm.Add(cmbModelCode); parm.Add(cmbModelName); parm.Add(this.UserInfo.GetUserName()); parm.Add(txtMemo.Text.ToString().Trim()); parm.Add(txtDiameterMin.Text.ToString().Trim()); parm.Add(txtDiameterMax.Text.ToString().Trim()); parm.Add(txtWallthickMin.Text.ToString().Trim()); parm.Add(txtWallthickMax.Text.ToString().Trim()); parm.Add(txtLenLongerMin.Text.ToString().Trim()); parm.Add(txtLenLongerMax.Text.ToString().Trim()); parm.Add(jgNum.Value.ToString()); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen"; ccp.MethodName = "doAdd"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips("新增成功!"); DoQuery(); } /// /// 修改 /// private void DoUpdate() { UltraGridRow row = GridStorage.ActiveRow; if (row == null) return; string cmbModelCode = ""; string cmbModelName = ""; if (cmbModelt.Text.Equals("")) { MessageUtil.ShowTips("扣型不能为空,请选择!"); return; } else { if (cmbModelt.SelectedItem == null) { MessageUtil.ShowTips("请输入或选择下拉框存在的扣型!"); return; } cmbModelCode = cmbModelt.Value.ToString(); cmbModelName = cmbModelt.Text.Trim(); } if (txtLenLongerMin.Text.Trim() == "" || txtLenLongerMax.Text.Trim() == "") { MessageUtil.ShowTips("长度公差不能为空,请选择!"); return; } if (txtDiameterMin.Text.Trim() == "" || txtDiameterMax.Text.Trim() == "") { MessageUtil.ShowTips("外径不能为空,请选择!"); return; } if (txtWallthickMin.Text.Trim() == "" || txtWallthickMax.Text.Trim() == "") { MessageUtil.ShowTips("壁厚不能为空,请选择!"); return; } if (jgNum.SelectedItem == null) { MessageUtil.ShowTips("加工分切数不能为空,请选择!"); return; } //查询是否扣型重复 DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQueryNew", new Object[] { cmbModelCode, txtLenLongerMin.Text.Trim(),txtLenLongerMax.Text.Trim(), txtDiameterMin.Text.Trim(),txtDiameterMax.Text.Trim(), txtWallthickMin.Text.Trim(),txtWallthickMax.Text.Trim(), jgNum.Value.ToString()}, this.ob); if (dt.Rows.Count > 0) { string repeat = dt.Rows[0][0].ToString(); if (repeat != row.Cells["ID"].Value.ToString()) { MessageUtil.ShowTips("你选择的数据已存在,请重新选择!"); return; } } if (MessageBox.Show("是否修改选择数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return; ArrayList parm = new ArrayList(); parm.Add(txtLenToleraMin.Text.ToString().Trim()); parm.Add(txtLenToleraMax.Text.ToString().Trim()); parm.Add(cmbModelCode); parm.Add(cmbModelName); parm.Add(this.UserInfo.GetUserName()); parm.Add(txtMemo.Text.ToString().Trim()); parm.Add(txtDiameterMin.Text.ToString().Trim()); parm.Add(txtDiameterMax.Text.ToString().Trim()); parm.Add(txtWallthickMin.Text.ToString().Trim()); parm.Add(txtWallthickMax.Text.ToString().Trim()); parm.Add(txtLenLongerMin.Text.ToString().Trim()); parm.Add(txtLenLongerMax.Text.ToString().Trim()); parm.Add(jgNum.Value.ToString()); parm.Add(row.Cells["ID"].Text.ToString()); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen"; ccp.MethodName = "doUpdate"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips("修改成功!"); DoQuery(); } /// /// 删除 /// private void DoDelete() { UltraGridRow row = GridStorage.ActiveRow; if (row == null) return; ArrayList parm = new ArrayList(); parm.Add(row.Cells["ID"].Value.ToString()); if (MessageBox.Show("是否删除选择数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen"; ccp.MethodName = "doDelete"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips("删除成功!"); DoQuery(); } /// /// 产线扣型 /// private void getModelCode() { DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.queryModel", null, this.ob); cmbModel.DataSource = dt; cmbModel.DisplayMember = "MODEL_DESC"; cmbModel.ValueMember = "MODEL_CODE"; ClsBaseInfo.SetComboItemHeight(cmbModel); cmbModelt.DataSource = dt; cmbModelt.DisplayMember = "MODEL_DESC"; cmbModelt.ValueMember = "MODEL_CODE"; ClsBaseInfo.SetComboItemHeight(cmbModelt); } private void chkModel_CheckedChanged(object sender, EventArgs e) { if (chkModel.Checked) { cmbModel.Enabled = true; } else { cmbModel.Enabled = false; } } private void GridStorage_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = GridStorage.ActiveRow; if (row == null) return; cmbModelt.Value = row.Cells["MODEL_DESC"].Text.ToString(); txtLenToleraMin.Text = row.Cells["LEN_TOLERA_MIN"].Text.ToString(); txtLenToleraMax.Text = row.Cells["LEN_TOLERA_MAX"].Text.ToString(); txtDiameterMin.Text = row.Cells["DIAMETER_MIN"].Text.ToString(); txtDiameterMax.Text = row.Cells["DIAMETER_MAX"].Text.ToString(); txtWallthickMin.Text = row.Cells["WALLTHICK_MIN"].Text.ToString(); txtWallthickMax.Text = row.Cells["WALLTHICK_MAX"].Text.ToString(); txtLenLongerMin.Text = row.Cells["LEN_LONGER_MIN"].Text.ToString(); txtLenLongerMax.Text = row.Cells["LEN_LONGER_MAX"].Text.ToString(); txtMemo.Value = row.Cells["MEMO"].Text.ToString(); jgNum.Value = row.Cells["JG_NUM"].Text.ToString(); } private void txtLenToleraMin_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtLenToleraMin); } private void txtLenToleraMax_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtLenToleraMax); } public void NumberTextbox(object sender, KeyPressEventArgs e, TextBox txtBox) { if (e.KeyChar == (char)13) { e.Handled = true; SendKeys.Send("{tab}"); return; } //允许输入数字、小数点、删除键和负号 if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e.KeyChar != (char)('-')) { MessageUtil.ShowTips("请输入正确的数字!"); txtBox.Text = ""; e.Handled = true; return; } if (e.KeyChar == (char)('-')) { if ((sender as TextBox).Text != "") { MessageUtil.ShowTips("请输入正确的数字!"); txtBox.Text = ""; e.Handled = true; return; } } //小数点只能输入一次 if (e.KeyChar == (char)('.') && ((TextBox)sender).Text.IndexOf('.') != -1) { MessageUtil.ShowTips("请输入正确的数字!"); txtBox.Text = ""; e.Handled = true; return; } //第一位不能为小数点 if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "") { MessageUtil.ShowTips("请输入正确的数字!"); txtBox.Text = ""; e.Handled = true; return; } //第一位是0,第二位必须为小数点 if (e.KeyChar != (char)('.') && e.KeyChar != 8 && ((TextBox)sender).Text == "0") { MessageUtil.ShowTips("请输入正确的数字!"); txtBox.Text = ""; e.Handled = true; return; } //第一位是负号,第二位不能为小数点 if (((TextBox)sender).Text == "-" && e.KeyChar == (char)('.')) { MessageUtil.ShowTips("请输入正确的数字!"); txtBox.Text = ""; e.Handled = true; return; } } private void txtDiameterMin_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtDiameterMin); } private void txtDiameterMax_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtDiameterMax); } private void txtWallthickMin_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtWallthickMin); } private void txtWallthickMax_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtWallthickMax); } private void txtLenLongerMin_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtLenLongerMin); } private void txtLenLongerMax_KeyPress(object sender, KeyPressEventArgs e) { NumberTextbox(sender, e, txtLenLongerMax); } } }