290 lines
8.9 KiB
C#
290 lines
8.9 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.ComponentModel;
|
|||
|
|
using System.Data;
|
|||
|
|
using System.Drawing;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Windows.Forms;
|
|||
|
|
using WMS.Frm.Base;
|
|||
|
|
using WMS.Common;
|
|||
|
|
|
|||
|
|
using WMS.Model.Base;
|
|||
|
|
using WMS.Model.SystemManage;
|
|||
|
|
using System.Text.RegularExpressions;
|
|||
|
|
using WMS.Business;
|
|||
|
|
using WMS.Business.Base;
|
|||
|
|
|
|||
|
|
namespace WMS.FrmBaseData
|
|||
|
|
{
|
|||
|
|
public partial class FrmPalletHandle : FormBase
|
|||
|
|
{
|
|||
|
|
#region 全局变量声明
|
|||
|
|
|
|||
|
|
//获得前一界面 双击或点击修改的 行数据
|
|||
|
|
public PalletModel SourceModel;
|
|||
|
|
int workflag;
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 构造传参 和 加载窗体
|
|||
|
|
//构造函数传参 0:新增 1:修改
|
|||
|
|
public FrmPalletHandle(int flag, PalletModel model)
|
|||
|
|
{
|
|||
|
|
SourceModel = model;
|
|||
|
|
workflag = flag;
|
|||
|
|
InitializeComponent();
|
|||
|
|
FormValue();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//窗体加载
|
|||
|
|
private void FrmPalletHandle_Load(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
//绑定实体数据
|
|||
|
|
bgsData.DataSource = SourceModel;
|
|||
|
|
//加载类型下拉列表 Model Pallet_Type (ID)
|
|||
|
|
lkpPalletType.LoadData();
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 事件
|
|||
|
|
|
|||
|
|
#region 确认按钮 事件
|
|||
|
|
private void btnAccept_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
//数据验证
|
|||
|
|
if (!Grid_ValidatRow())
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
//当为新增时 进行验证是否存在相同编号
|
|||
|
|
if (workflag == 0)
|
|||
|
|
{
|
|||
|
|
if (!ExistPalletID())
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
//确定事件方法
|
|||
|
|
btnSave();
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 关闭按钮 事件
|
|||
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
DialogResult dr = MessageBox.Show("是否要关闭此窗体", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
|
|||
|
|
if (dr == DialogResult.Yes)
|
|||
|
|
this.Close();
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 焦点leave 事件
|
|||
|
|
private void txtPalletLong_Leave(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
//绑定体积
|
|||
|
|
CheckConst();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void txtPalletWidth_Leave(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
CheckConst();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void txtPalletHeight_Leave(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
CheckConst();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region decimal类型文本框 click事件
|
|||
|
|
private void txtPalletLong_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
//设置光标起始位置
|
|||
|
|
this.txtPalletLong.SelectionStart = 0;
|
|||
|
|
this.txtPalletLong.SelectAll();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void txtPalletWidth_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
this.txtPalletWidth.SelectionStart = 0;
|
|||
|
|
this.txtPalletWidth.SelectAll();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void txtPalletHeight_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
this.txtPalletHeight.SelectionStart = 0;
|
|||
|
|
this.txtPalletHeight.SelectAll();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void txtVolume_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
this.txtPalletLong.SelectionStart = 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void txtBearWeight_Click(object sender, EventArgs e)
|
|||
|
|
{
|
|||
|
|
this.txtBearWeight.SelectionStart = 0;
|
|||
|
|
this.txtBearWeight.SelectAll();
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 辅助方法
|
|||
|
|
|
|||
|
|
#region 构造函数传参判断 方法
|
|||
|
|
//窗体传值判断0:新增 1:修改 方法
|
|||
|
|
private void FormValue()
|
|||
|
|
{
|
|||
|
|
//当为新增时 将版本号带出
|
|||
|
|
if (workflag == 0)
|
|||
|
|
{
|
|||
|
|
SourceModel.VERSION = "version1.0";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//当为修改时 将编号设置为不可更改
|
|||
|
|
if (workflag == 1)
|
|||
|
|
{
|
|||
|
|
this.txtPalletID.Properties.ReadOnly = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 数据验证
|
|||
|
|
//数据验证
|
|||
|
|
public bool Grid_ValidatRow()
|
|||
|
|
{
|
|||
|
|
#region 托盘编号验证
|
|||
|
|
//托盘编号验证
|
|||
|
|
if ((this.txtPalletID.Text.Trim() == "") || (txtPalletID.Text.Trim() == null))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("请输入托盘编号");
|
|||
|
|
txtPalletID.Focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
if (!string.IsNullOrEmpty(this.txtPalletID.Text.Trim()))
|
|||
|
|
{
|
|||
|
|
Regex reg = new Regex(@"^([a-z]|[A-Z]|[0-9])+$");
|
|||
|
|
if (!reg.IsMatch(this.txtPalletID.Text.Trim()))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("托盘编号只能输入字母或数字!");
|
|||
|
|
txtPalletID.Focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
//拼音简称验证
|
|||
|
|
if (!string.IsNullOrEmpty(this.txtPYName.Text.Trim()))
|
|||
|
|
{
|
|||
|
|
Regex reg = new Regex(@"^([a-z]|[A-Z]|[0-9])+$");
|
|||
|
|
if (!reg.IsMatch(this.txtPYName.Text.Trim()))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("拼音简称只能输入字母或数字!");
|
|||
|
|
txtPYName.Focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//托盘名称验证
|
|||
|
|
if ((this.txtPalletName.Text.Trim() == "") || (this.txtPalletName.Text.Trim() == null))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("请输入托盘名称!");
|
|||
|
|
txtPalletName.Focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//托盘类型验证
|
|||
|
|
if (string.IsNullOrEmpty(this.lkpPalletType.EditValue.ToString()))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("请选择托盘类型!");
|
|||
|
|
this.lkpPalletType.Focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//宽度不能长于长度验证
|
|||
|
|
if (!string.IsNullOrEmpty(this.txtPalletLong.Text.Trim()) && !string.IsNullOrEmpty(this.txtPalletWidth.Text.Trim()))
|
|||
|
|
{
|
|||
|
|
if (Convert.ToDecimal(this.txtPalletLong.Text.Trim()) < Convert.ToDecimal(this.txtPalletWidth.Text.Trim()))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("宽度不能大于长度,请重新输入!");
|
|||
|
|
this.txtPalletWidth.Focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 相同编号是否存在验证
|
|||
|
|
//验证是否存在相同编号
|
|||
|
|
private bool ExistPalletID()
|
|||
|
|
{
|
|||
|
|
PalletModel strmodel = Newtonsoft.Json.JsonConvert.DeserializeObject<PalletModel>(this.txtPalletID.Text.Trim());
|
|||
|
|
List<PalletModel> list = IBussFactory<BussPallet>.Instance().GetPalletList(strmodel);
|
|||
|
|
foreach (PalletModel model in list)
|
|||
|
|
{
|
|||
|
|
if (model.PALLET_ID == this.txtPalletID.Text.Trim())
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("已存在相同编号,请重新输入");
|
|||
|
|
this.txtPalletID.Text = string.Empty;
|
|||
|
|
this.txtPalletID.Focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 确认按钮方法
|
|||
|
|
// 确认按钮方法 0:新增 1:修改
|
|||
|
|
private void btnSave()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
if (workflag == 0 || workflag == 1)
|
|||
|
|
{
|
|||
|
|
List <BaseCtlGoodsModel> ass = (List<BaseCtlGoodsModel>)bgsData.DataSource;
|
|||
|
|
string errtex= IBussFactory<BussBaseCtlGoods>.Instance().Operator(ass, workflag);
|
|||
|
|
if (!string.IsNullOrEmpty(errtex))
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("操作失败!");
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
SystemCommon.ShowInfoMessageBox("操作成功!");
|
|||
|
|
this.Close();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#region 体积计算
|
|||
|
|
//计算体积
|
|||
|
|
decimal volum, volumRound;
|
|||
|
|
public void CheckConst()
|
|||
|
|
{
|
|||
|
|
string Plong = this.txtPalletLong.Text;
|
|||
|
|
string Pwidth = this.txtPalletWidth.Text;
|
|||
|
|
string Pheigth = this.txtPalletHeight.Text;
|
|||
|
|
|
|||
|
|
if (!string.IsNullOrEmpty(Plong) && !string.IsNullOrEmpty(Pwidth) && !string.IsNullOrEmpty(Pheigth))
|
|||
|
|
{
|
|||
|
|
volum = Convert.ToDecimal(Plong) * Convert.ToDecimal(Pwidth) * Convert.ToDecimal(Pheigth);
|
|||
|
|
volumRound = Math.Round(volum, 2);
|
|||
|
|
}
|
|||
|
|
this.txtVolume.Text = volumRound.ToString();
|
|||
|
|
//bingdingSource 绑定体积 (勿忘)
|
|||
|
|
SourceModel.VOLUME = Convert.ToDecimal(this.txtVolume.Text);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|