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);
}
}
}