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 com.hnshituo.pur.vo;
using Infragistics.Win.UltraWinEditors;
using CoreFS.CA06;using Pur.Entity;
using Core.Mes.Client.Comm.Control;
using Pur.require_plan;
using System.Text.RegularExpressions;
using Pur.Entity;
using Pur.PublicTools;
namespace Pur.Balance
{
public partial class FrmPurBasePrice : FrmPmsBase
{
public FrmPurBasePrice()
{
InitializeComponent();
}
private void FrmPurBasePrice_Load(object sender, EventArgs e)
{
clearEdtArea();
QureyBasePriceM();
DataTable dt = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.QueryAtrr",
null, ob);
if (dt == null || dt.Rows.Count == 0)
{
dataTable2.Rows.Clear();
return;
}
//DataRow dr = dt.NewRow();
//dr[0] = "";
//dt.Rows.InsertAt(dr, 0);
edtGradeLevel.DataSource = dt;
edtGradeLevel.DisplayMember = "ATTR_NAME";
edtGradeLevel.ValueMember = "ATTR_CODE";
}
#region toolbar工具栏
//toolbar工具栏加载
public override void ToolBar_Click(object sender, string ToolBarKey)
{
switch (ToolBarKey)
{
case "Query"://查询基价标准主表数据
QureyBasePriceM();
//GetQueryPhysicWH();
break;
case "Add"://增加基价标准主表
AddBasePriceM();
break;
case "Update"://修改基价标准主表
EditBasePriceM();
break;
case "Delete"://删除基价标准主表
DeleteBasePriceM();
break;
case "AddBasePriceC": //新增基价标准明细表
AddBasePriceC();
break;
case "UpdateBasePriceC"://修改基价标准明细表
EditBasePriceC();
break;
case "DeleteBasePriceC"://删除基价标准明细表
DeleteBasePriceC();
break;
case "Close"://关闭窗口
this.Close();
break;
}
}
#endregion
#region 数据库操作
///
/// 删除一条明细
///
private void DeleteBasePriceC()
{
try
{
//判断是否获取到焦点
if (ultraGrid2.ActiveRow != null)
{
string oldstrid = ultraGrid2.ActiveRow.Cells["id"].Value.ToString().Trim();
string oldstrstandid = ultraGrid2.ActiveRow.Cells["standId"].Value.ToString().Trim();
//提示是否需要修改
if (MessageBox.Show("将修改明细表ID为[" + oldstrid + "]的信息?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
//构建实体类
BalanceBasepriceC pc = new BalanceBasepriceC();
pc.Validflag = "1";
pc.Id = oldstrid;
pc.DeleteName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
pc.DeleteTime = DateTime.Now;
pc.DeleteUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
//调用服务接口
CoreResult re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceCService", "doDeteleBasePriceC", new object[] { pc });
if (re.Resultcode == 0)
{
//DataTable tempData = (DataTable)re.Resultdata;
//GridHelper.CopyDataToDatatable(ref re.Resultdata, ref dataTable1, true);
MessageBox.Show("删除成功", "提示");
QureyBasePriceM();
BalanceClassCommon.doActiveSelRow(ultraGrid1, "id", oldstrstandid);
}
else
{
MessageBox.Show("操作失败:" + re.Resultmsg, "提示");
return;
}
}
}
else
{
MessageBox.Show("操作失败:请选择需修改的基价标准行", "提示");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
private void EditBasePriceC()
{
try
{
//判断是否获取到焦点
if (ultraGrid2.ActiveRow != null)
{
string oldstrid = ultraGrid2.ActiveRow.Cells["id"].Value.ToString().Trim();
string oldstrstandid = ultraGrid2.ActiveRow.Cells["standId"].Value.ToString().Trim();
//获取编辑框信息
string strid = edtIdC.Text.ToString().Trim();
string strgradelevel = edtGradeLevel.Text== null ? "" : edtGradeLevel.Text.ToString().Trim();
string strgradevalue = edtGradeLevel.Value == null ? "" : edtGradeLevel.Value.ToString().Trim();
string strpriceval = edtPriceValue.Text.ToString().Trim();
string strremark = edtRemarkC.Text.ToString().Trim();
string oldversionno = edtVersionNo.Text.ToString().Trim();
//获取版本号后五位:
int oldversionno1 = Convert.ToInt32(oldversionno.Remove(0, oldversionno.Length - 4));
int newversionno = oldversionno1 + 1;
// string strversionno = oldversionno.Substring(0, strversionno.Length - 5) + newversionno.ToString();
//校验编辑框信息
if (string.IsNullOrEmpty(strid))
{
MessageBox.Show("操作失败:ID不能为空", "提示");
edtIdC.Focus();
return;
}
if (string.IsNullOrEmpty(strgradelevel) || string.IsNullOrEmpty(strgradevalue))
{
MessageBox.Show("操作失败:请选择品位级别", "提示");
edtGradeLevel.Focus();
return;
}
if (string.IsNullOrEmpty(strpriceval) )
{
MessageBox.Show("操作失败:计价值不能为空", "提示");
edtPriceValue.Focus();
return;
}
if (!Isdecimal(strpriceval))
{
MessageBox.Show("操作失败:计价值需为有效数字", "提示");
edtPriceValue.Focus();
return;
}
if (newversionno>9999)
{
MessageBox.Show("操作失败:该ID的版本号已用完,请联系管理员", "提示");
return;
}
if (string.IsNullOrEmpty(oldversionno))
{
MessageBox.Show("操作失败:获取的版本号出错", "提示");
return;
}
//提示是否需要修改
if (MessageBox.Show("将修改明细表ID为[" + strid + "]的信息?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
//构建实体类
BalanceBasepriceC pc= new BalanceBasepriceC();
pc.Id = strid;
pc.VersionNo = oldversionno;
pc.GradeLevel = strgradelevel;
pc.GradeValue = strgradevalue;
pc.Remark = strremark;
pc.Validflag = "1";
pc.PriceVal = strpriceval;
pc.UpdateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
pc.UpdateTime = DateTime.Now;
pc.UpdateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
//调用服务接口
CoreResult re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceCService", "doUpdateBasePriceC", new object[] { pc });
if (re.Resultcode == 0)
{
//DataTable tempData = (DataTable)re.Resultdata;
//GridHelper.CopyDataToDatatable(ref re.Resultdata, ref dataTable1, true);
MessageBox.Show("修改成功", "提示");
QureyBasePriceM();
BalanceClassCommon.doActiveSelRow(ultraGrid1, "id", oldstrid);
BalanceClassCommon.doActiveSelRow(ultraGrid2, "id", strid);
}
else
{
MessageBox.Show("操作失败:" + re.Resultmsg, "提示");
return;
}
}
}
else
{
MessageBox.Show("操作失败:请选择需修改的基价标准明细行", "提示");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
private void AddBasePriceC()
{
try
{
//判断是否获取到焦点
if (ultraGrid1.ActiveRow != null)
{
string strstandid = ultraGrid1.ActiveRow.Cells["id"].Value.ToString().Trim();
//获取编辑框信息
string strgradelevel = edtGradeLevel.Text == null ? "" : edtGradeLevel.Text.ToString().Trim();
string strgradevalue = edtGradeLevel.Value == null ? "" : edtGradeLevel.Value.ToString().Trim();
string strpriceval = edtPriceValue.Text.ToString().Trim();
string strremark = edtRemark.Text.ToString().Trim();
string versionno = strstandid+"0001";
//校验编辑框信息
if (string.IsNullOrEmpty(strstandid))
{
MessageBox.Show("操作失败:请选择需要新增明细的基价标准行", "提示");
EdtstandId.Focus();
return;
}
if (string.IsNullOrEmpty(strgradelevel) || string.IsNullOrEmpty(strgradevalue))
{
MessageBox.Show("操作失败:请选择品位级别", "提示");
edtGradeLevel.Focus();
return;
}
if (string.IsNullOrEmpty(strpriceval))
{
MessageBox.Show("操作失败:计价值不能为空", "提示");
edtPriceValue.Focus();
return;
}
if (!Isdecimal(strpriceval))
{
MessageBox.Show("操作失败:计价值需为有效数字", "提示");
edtPriceValue.Focus();
return;
}
if (string.IsNullOrEmpty(versionno))
{
MessageBox.Show("操作失败:生成的版本号出错", "提示");
edtVersionNo.Focus();
return;
}
//提示是否需要修改
if (MessageBox.Show("将为ID[" + strstandid + "]的基价标准新增一条明细信息?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
//构建实体类
BalanceBasepriceC pc = new BalanceBasepriceC();
pc.VersionNo = versionno;
pc.StandId = strstandid;
pc.GradeLevel = strgradelevel;
pc.GradeValue = strgradevalue;
pc.Remark = strremark;
pc.Validflag = "1";
pc.PriceVal = strpriceval;
pc.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
pc.CreateTime = DateTime.Now;
pc.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
//调用服务接口
CoreResult re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceCService", "doAddBasePriceC", new object[] { pc });
if (re.Resultcode == 0)
{
//DataTable tempData = (DataTable)re.Resultdata;
//GridHelper.CopyDataToDatatable(ref re.Resultdata, ref dataTable1, true);
MessageBox.Show("新增成功", "提示");
QureyBasePriceM();
BalanceClassCommon.doActiveSelRow(ultraGrid1, "id", strstandid);
BalanceClassCommon.doActiveSelRow(ultraGrid2, "versionNo", versionno);
}
else
{
MessageBox.Show("操作失败:" + re.Resultmsg, "提示");
return;
}
}
}
else
{
MessageBox.Show("操作失败:请选择需新增的基价标准行", "提示");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
///
/// 删除一条基价标准主表行信息
///
private void DeleteBasePriceM()
{
try
{
//判断是否获取到焦点
if (ultraGrid1.ActiveRow != null)
{
string oldstrname = ultraGrid1.ActiveRow.Cells["name"].Value.ToString().Trim();
string oldstrid = ultraGrid1.ActiveRow.Cells["id"].Value.ToString().Trim();
string oldstritemcode = ultraGrid1.ActiveRow.Cells["itemCode"].Value.ToString().Trim();
//提示是否需要修改
if (MessageBox.Show("将删除名称为[" + oldstrname + "]的基价标准信息?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
//构建实体类
BalanceBasepriceM pm = new BalanceBasepriceM();
pm.Validflag = "0";
pm.Id = oldstrid;
pm.ItemCode = oldstritemcode;
pm.DeleteName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
pm.DeleteTime = DateTime.Now;
pm.DeleteUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
//调用服务接口
CoreResult re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceMService", "doUpdateBasePriceM", new object[] { pm });
if (re.Resultcode == 0)
{
//DataTable tempData = (DataTable)re.Resultdata;
//GridHelper.CopyDataToDatatable(ref re.Resultdata, ref dataTable1, true);
MessageBox.Show("删除成功", "提示");
QureyBasePriceM();
}
else
{
MessageBox.Show("操作失败:" + re.Resultmsg, "提示");
return;
}
}
}
else
{
MessageBox.Show("操作失败:请选择需修改的基价标准行", "提示");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
///
/// 编辑基价标准行信息
///
private void EditBasePriceM()
{
try
{
//判断是否获取到焦点
if (ultraGrid1.ActiveRow != null)
{
string oldstrid = ultraGrid1.ActiveRow.Cells["id"].Value.ToString().Trim();
string oldstrname = ultraGrid1.ActiveRow.Cells["name"].Value.ToString().Trim();
//获取编辑框信息
string strname = edtName.Text.ToString().Trim();
string stritemCode = edtItemCode.Text.ToString().Trim();
String stritemAttrId = edtItemAttrId.Text.ToString().Trim();
string strremark = edtRemark.Text.ToString().Trim();
//校验编辑框信息
if (string.IsNullOrEmpty(strname))
{
MessageBox.Show("操作失败:名称不能为空", "提示");
edtName.Focus();
return;
}
if (string.IsNullOrEmpty(stritemCode))
{
MessageBox.Show("操作失败:请选择物料", "提示");
edtItemCode.Focus();
return;
}
//提示是否需要修改
if (MessageBox.Show("将修改ID为[" + oldstrid + "]的基价标准信息?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
//构建实体类
BalanceBasepriceM pm = new BalanceBasepriceM();
pm.Id = oldstrid;
pm.Name = strname;
pm.ItemCode = stritemCode;
pm.ItemAttrId = stritemAttrId;
pm.Remark = strremark;
pm.Validflag = "1";
pm.UpdateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
pm.UpdateTime = DateTime.Now;
pm.UpdateUserid= CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
//调用服务接口
CoreResult re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceMService", "doUpdateBasePriceM", new object[] { pm });
if (re.Resultcode == 0)
{
//DataTable tempData = (DataTable)re.Resultdata;
//GridHelper.CopyDataToDatatable(ref re.Resultdata, ref dataTable1, true);
MessageBox.Show("修改成功", "提示");
QureyBasePriceM();
BalanceClassCommon.doActiveSelRow(ultraGrid1, "id", oldstrid);
}
else
{
MessageBox.Show("操作失败:" + re.Resultmsg, "提示");
return;
}
}
}
else
{
MessageBox.Show("操作失败:请选择需修改的基价标准行", "提示");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
///
/// 新增一条基价标准主表行信息
///
private void AddBasePriceM()
{
try
{
//获取编辑框信息
string strname = edtName.Text.ToString().Trim();
string stritemCode = edtItemCode.Text.ToString().Trim();
String stritemAttrId = edtItemAttrId.Text.ToString().Trim();
string strremark = edtRemark.Text.ToString().Trim();
//校验编辑框信息
if (string.IsNullOrEmpty(strname))
{
MessageBox.Show("操作失败:名称不能为空", "提示");
edtName.Focus();
return;
}
if (string.IsNullOrEmpty(stritemCode))
{
MessageBox.Show("操作失败:请选择物料", "提示");
edtItemCode.Focus();
return;
}
//构建实体类
BalanceBasepriceM pm = new BalanceBasepriceM();
pm.Name = strname;
pm.ItemName = strname;
pm.ItemCode = stritemCode;
pm.ItemAttrId = stritemAttrId;
pm.Remark = strremark;
pm.Validflag = "1";
pm.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
pm.CreateTime = DateTime.Now;
pm.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
pm.DepartId = this.UserInfo.GetDeptid();
pm.EffectiveTime = DateTime.Now;
//调用服务接口
CoreResult re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceMService", "doAddBasePriceM", new object[] { pm });
if (re.Resultcode== 0)
{
//DataTable tempData = (DataTable)re.Resultdata;
//GridHelper.CopyDataToDatatable(ref re.Resultdata, ref dataTable1, true);
MessageBox.Show("新增成功", "提示");
QureyBasePriceM();
BalanceClassCommon.doActiveSelRow(ultraGrid1, "name", strname);
}
else
{
MessageBox.Show("操作失败:" + re.Resultmsg, "提示");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
///
/// 查询主表数据
///
private void QureyBasePriceM()
{
try
{
//获取查询框数据
string strid = QId.Text.ToString().Trim();
string strname = Qname.Text.ToString().Trim();
//构建查询实体类
BalanceBasepriceM pm = new BalanceBasepriceM();
pm.Id = strid;
pm.ItemName = strname;
//调用服务器查询API进行查询
DataTable re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceMService", "doQureyBasePriceM", new object[] { pm });
GridHelper.CopyDataToDatatable(ref re, ref dataTable1, true);
}
catch (Exception ex)
{
MessageBox.Show("操作失败:"+ex.Message, "提示");
}
}
#endregion
#region 页面点击事件
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
try
{
//加载数据到编辑区
string strid = ultraGrid1.ActiveRow.Cells["id"].Value.ToString().Trim();
string strname = ultraGrid1.ActiveRow.Cells["name"].Value.ToString().Trim();
string stritemCode = ultraGrid1.ActiveRow.Cells["itemCode"].Value.ToString().Trim();
string stritemName = ultraGrid1.ActiveRow.Cells["itemName"].Value.ToString().Trim();
string strremark = ultraGrid1.ActiveRow.Cells["remark"].Value.ToString().Trim();
string stritemAttr = ultraGrid1.ActiveRow.Cells["itemAttr"].Value.ToString().Trim();
string stritemAttrId = ultraGrid1.ActiveRow.Cells["itemAttrId"].Value.ToString().Trim();
edtId.Text = strid;
edtName.Text = strname;
edtItemCode.Text = stritemCode;
edtItemName.Text = stritemName;
edtRemark.Text = strremark;
edtItemAttr.Text = stritemAttr;
edtItemAttrId.Text = stritemAttrId;
//点击主表加载从表
if (string.IsNullOrEmpty(strid))
{
MessageBox.Show("操作失败:获取的ID为空", "提示");
}
//构建实体类
BalanceBasepriceC pc = new BalanceBasepriceC();
pc.StandId = strid;
pc.Validflag = "1";
//调用服务器查询API进行查询
DataTable re = this.execute("com.hnshituo.pur.balance.service.BalanceBasepriceCService", "doQureyBasePriceC", new object[] { pc });
GridHelper.CopyDataToDatatable(ref re, ref dataTable2, true);
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
try
{
//加载数据到编辑区
string strid = ultraGrid2.ActiveRow.Cells["id"].Value.ToString().Trim();
string strversionno = ultraGrid2.ActiveRow.Cells["versionNo"].Value.ToString().Trim();
string strgradeLevel = ultraGrid2.ActiveRow.Cells["gradeLevel"].Value.ToString().Trim();
string strpriceVal = ultraGrid2.ActiveRow.Cells["priceVal"].Value.ToString().Trim();
string strremark = ultraGrid2.ActiveRow.Cells["remark"].Value.ToString().Trim();
string strstandId = ultraGrid2.ActiveRow.Cells["standId"].Value.ToString().Trim();
edtIdC.Text = strid;
edtRemarkC.Text = strremark;
edtVersionNo.Text = strversionno;
edtGradeLevel.Text = strgradeLevel;
edtPriceValue.Text = strpriceVal;
EdtstandId.Text = strstandId;
}
catch (Exception ex)
{
MessageBox.Show("操作失败:" + ex.Message, "提示");
}
}
private void clearEdtArea()
{
foreach (Control ctr in ultraTabControl1.Controls)
{
if (ctr is Label)
{ continue; }
if (ctr is UltraCheckEditor)
{
UltraCheckEditor ultcmb = (UltraCheckEditor)ctr;
// ultChkSuppUon.Checked = false;
}
ctr.Text = null;
}
}
private void edtItemName_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
FrmPurPlanMat matfrm = new FrmPurPlanMat(this.ob);
matfrm.ShowDialog();
string strmatcode = matfrm.getItemCode();
string strmatname = matfrm.getItemName();
string stritemAttr = matfrm.ItemAttr;
string stritemAttrId = matfrm.ItemAttrId;
edtItemCode.Text = strmatcode;
edtItemName.Text = strmatname;
edtItemAttr.Text = stritemAttr;
edtItemAttrId.Text = stritemAttrId;
}
private void ultraGrid1_AfterCellActivate(object sender, EventArgs e)
{
ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[0];
}
private void ultraGrid2_AfterCellActivate(object sender, EventArgs e)
{
ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[1];
}
#endregion
#region 正则表达式
public bool Isdecimal(string str)
{
decimal y;
return decimal.TryParse(str,out y);
}
public bool IsInts(string str)
{
int y ;
return int.TryParse(str, out y);
}
#endregion
}
}