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 CoreFS.CA06;using Pur.Entity;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinTree;
using Pur.Entity.configureEntity;
using System.Data.OracleClient;
using Core.Mes.Client.Comm.Tool;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinScrollBar;
using com.hnshituo.pur.vo;
using System.Collections;
using Core.Mes.Client.Comm.Server;
using Pur.Pop_upWindow;
using Pur.Entity.require_planEntiy;
using System.Reflection;
using Core.Mes.Client.Comm.Format;
namespace Pur.configure
{
public partial class FrmPurMat : FrmPmsBase
{
DataTable dt_Purmatclass = null;
Boolean QClickCellOrQuery = false;//是否点击查询按钮或grid数据单元格
UltraTreeNode qUltraNode = null;
//string strBUYER_DEPT_CODE = "";
//string strMENT_UNIT_CODE = "";
string QstrBUYER_ROLE_ID = "";
string QstrPLANNER_ROLE_ID = "";
string QstrBUYER_ROLE_ID1 = "";
string QstrPLANNER_ROLE_ID1 = "";
string QstrINV_PHYSIC_USERID = "";//库管员
string planPrice = "";//计划价格
MatEntity Q_mat = null;
public FrmPurMat()
{
InitializeComponent();
ultraGrid2.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
ultraGrid3.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
ultraGrid4.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
txt_IS_DEFAULT_ATTR.SelectedIndex = 0;
txt_IsLevel.SelectedIndex = 0;
txt_IS_DEFAULT_STANDRANDS.SelectedIndex = 0;
txt_IS_DEFAULT_UOM.SelectedIndex = 0;
cmbNum.SelectedIndex = 0;//默认显示500条数据
//给编辑区设置滚动条
//foreach (Control gbox in ultraGroupBox6.Controls)
//{
// if (gbox is UltraScrollBar) continue;
// gbox.Tag = gbox.Tag = gbox.Location.Y;
//}
//panel1.VerticalScroll.Value = panel1.VerticalScroll.Maximum;
}
///
/// 界面加载函数
///
///
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
//ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
///
/// 窗体加载事件
///
///
///
private void FrmPurMat_Load(object sender, EventArgs e)
{
getUltcmbBindData();
setUltCmbEdt_sel();
string basecode = "1234";
DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { basecode }, this.ob);
dt = dt.AsEnumerable().Where(p => p["VALIDFLAG"].ToString().Equals("1")).CopyToDataTable();
Ultcmb_MAT_TYPE.DataSource = dt;
Ultcmb_MAT_TYPE.DisplayMember = "BASENAME";
Ultcmb_MAT_TYPE.ValueMember = "BASECODE";
GridHelper.RefreshAndAutoSize(ultraGrid1);
GridHelper.RefreshAndAutoSize(ultraGrid2);
}
//菜单按钮事件
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
QClickCellOrQuery = true;
GetPUR_MAT_Class();
if (ultraGrid1.Rows.Count > 0)
{
ulTreeMat.CollapseAll();
UltraTreeNode uttNode = ulTreeMat.GetNodeByKey(ultraGrid1.Rows[0].Cells["ARCCODE"].Value.ToString());
ulTreeMat.ActiveNode = uttNode;
if (uttNode == null)
{
MessageUtil.ShowTips("物料名称:" + ultraGrid1.Rows[0].Cells["ITEMNAME"].Value.ToString() + " 未找到相应的分类:" + ultraGrid1.Rows[0].Cells["ARCCODE"].Value.ToString());
}
else
{
while (ulTreeMat.ActiveNode != uttNode)
{
ulTreeMat.ActiveNode = uttNode;
}
uttNode.Expanded = true;
//展开分类
while (uttNode.Parent != null)
{
uttNode = uttNode.Parent;
uttNode.Expanded = true;
}
}
QClickCellOrQuery = false;//设置未点击
}
break;
case "Add":
AddPUR_MAT();
break;
case "Update":
UpdPUR_MAT();
break;
case "Delete":
DelPUR_MAT();
break;
case "UsePUR_MAT"://启用物料
UsePUR_MAT();
break;
case "updateSrole_1":
if (ulTreeMat.ActiveNode != null)
{
updateSrole(ulTreeMat.ActiveNode.Key, "1");
}
break;
case "updateSrole_2":
if (ulTreeMat.ActiveNode != null)
{
updateSrole(ulTreeMat.ActiveNode.Key, "2");
}
break;
case "updateSrole_3"://批量修改库管员
if (ulTreeMat.ActiveNode != null)
{
updateSrole(ulTreeMat.ActiveNode.Key, "3");
}
break;
case "setMatClassPross":
setMatClassPross();
break;
case "addSupps":
addSupps(ulTreeMat.ActiveNode.Key, txt_suppCode.Text);
break;
case "updPrice"://维护计划价格
updPrice();
break;
case "doExcel":
doExcel();
break;
}
}
private void doExcel()
{
try
{
this.Cursor = Cursors.Default;
if (ultraGrid2.Rows.Count <= 0)
{
MessageUtil.ShowTips( "无可导出明细!");
}
ArrayList alUltraGrid = new ArrayList();
alUltraGrid.Add(ultraGrid1);
ArrayList alSheeft = new ArrayList();
alSheeft.Add("物料明细");
if (ultraGrid1.Rows.Count > 0)
{
GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "物料明细表");//导出excel
}
else
{
MessageUtil.ShowTips("无可导出明细!");
}
}
catch (Exception e)
{
MessageUtil.ShowTips("导出失败" + e.Message);
}
finally
{
this.Cursor = Cursors.Default;
}
}
///
/// 维护计划价格
///
private void updPrice()
{
if(ultraTabControl2.SelectedTab.Key == "01")
{
ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab;
}
}
///
/// 查询物料分类
///
public void GetPUR_MAT_Class()
{
//查询物料分类
PurmatclassEntity mat = new PurmatclassEntity();
mat.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.configure.service.MatClassService", "find", new object[] { mat, 0, 0 });
getultree(dt);//绑定物料分类表
//查询物料
getMat(getEnSelContion(null));
}
///
/// 查询物料
///
private void getMat(MatEntity mat)
{
if (ulTreeMat.Nodes.Count == 0)
{ return; }
if(mat==null)
{ mat = new MatEntity(); }
if(chk_showHasDelete.Checked)
{
mat.Validflag=null;
}
else
{
mat.Validflag="1";
}
DataTable dt_mat = this.execute("com.hnshituo.pur.configure.service.MatService", "getMat", new object[] { mat});
//按创建时间降序
if (dt_mat.Rows.Count > 1)
{
dt_mat.DefaultView.Sort = "CREATETIME DESC";
dt_mat = dt_mat.DefaultView.ToTable();
}
dataTable1.Rows.Clear();
GridHelper.CopyDataToDatatable(ref dt_mat, ref dataTable1, true);//绑定物料分类表
Q_mat = mat;
dt_Purmatclass = dt_mat;
showHasDelete(chk_showHasDelete.Checked);//隐藏作废的物料
if (ultraGrid1.Rows.Count == 0)
{
dataTable2.Rows.Clear();
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
dataTable5.Rows.Clear();
getControlBoxValue(0);//清空控件
setUltCmbEdt_sel();
}
ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
GridHelper.RefreshAndAutoSize(ultraGrid2);
}
///
/// 查询供应商
///
/// 物料代码
private void getSuppGrade(string strItemcode)
{
DataTable dt = this.execute("com.hnshituo.pur.configure.service.SuppGradeService", "getMat_Supp", new object[] { strItemcode });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//绑定物料分类表
if (dataTable2.Rows.Count < 1)
{
getControlBoxValue(1);//清空控件
}
ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
GridHelper.RefreshAndAutoSize(ultraGrid2);
}
///
/// 获取物料属性
///
///
private void getItemAttr()
{
//查询父表
//查询属性父表
PurMatAttrsEntity MatAttrsEntity = new PurMatAttrsEntity();
MatAttrsEntity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
MatAttrsEntity.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.configure.service.MatAttrsService", "getMatAttrClass", new object[] { MatAttrsEntity });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable7, true);//获取物料属性
//查询子表
dataTable3.Rows.Clear();
Dictionary param = new Dictionary();
param.Add("ItemCode", ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString());
param.Add("Validflag", "1");
DataTable dt_mat = this.execute("com.hnshituo.pur.configure.service.MatAttrsService", "find", new object[] { param, 0, 0 });
//按是否常用排序
if (dt_mat.Rows.Count > 1)
{
dt_mat.DefaultView.Sort = "ISDEFAULT DESC";
dt_mat = dt_mat.DefaultView.ToTable();
}
for (int i = 0; i < dt_mat.Rows.Count; i++)
{
if (dt_mat.Rows[i]["ISDEFAULT"].ToString() == "1")
{
dt_mat.Rows[i]["ISDEFAULT"] = "是";
}
else if (dt_mat.Rows[i]["ISDEFAULT"].ToString() == "0")
{
dt_mat.Rows[i]["ISDEFAULT"] = "否";
}
if (dt_mat.Rows[i]["islevel"].ToString() == "1")
{
dt_mat.Rows[i]["islevel"] = "是";
}
else
{
dt_mat.Rows[i]["islevel"] = "否";
}
}
GridHelper.CopyDataToDatatable(ref dt_mat, ref dataTable3, true);//绑定物料规格
if (dataTable3.Rows.Count < 1)
{
getControlBoxValue(2);//清空控件
}
}
///
/// 获取物料标准编号
///
private void getMatStandard()
{
dataTable4.Rows.Clear();
if (ultraGrid1.ActiveRow != null)
{
PurMatStandardsEntity PurMatStandards_Entity = new PurMatStandardsEntity();
PurMatStandards_Entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
PurMatStandards_Entity.Validflag = "1";
DataTable dt_matStandards = this.execute("com.hnshituo.pur.configure.service.MatStandardsService", "find", new object[] { PurMatStandards_Entity, 0, 0 });
//按是否常用排序
if (dt_matStandards.Rows.Count > 1)
{
dt_matStandards.DefaultView.Sort = "ISDEFAULT DESC";
dt_matStandards = dt_matStandards.DefaultView.ToTable();
}
for (int i = 0; i < dt_matStandards.Rows.Count; i++)
{
if (dt_matStandards.Rows[i]["ISDEFAULT"].ToString() == "1")
{
dt_matStandards.Rows[i]["ISDEFAULT"] = "是";
}
else if (dt_matStandards.Rows[i]["ISDEFAULT"].ToString() == "0")
{
dt_matStandards.Rows[i]["ISDEFAULT"] = "否";
}
}
GridHelper.CopyDataToDatatable(ref dt_matStandards, ref dataTable4, true);//绑定物料规格
if (dataTable4.Rows.Count < 1)
{
getControlBoxValue(3);//清空控件
}
}
}
///
/// 获取单位转换
///
private void getMatUOM()
{
dataTable5.Rows.Clear();
if (ultraGrid1.ActiveRow != null)
{
PurMatUomsEntity MatUomsEntity = new PurMatUomsEntity();
MatUomsEntity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
//MatUomsEntity.Validflag = "1";
DataTable dt_matUOM = this.execute("com.hnshituo.pur.configure.service.MatUomsService", "find", new object[] { MatUomsEntity, 0, 0 });
//按是否常用排序
if (dt_matUOM.Rows.Count > 1)
{
dt_matUOM.DefaultView.Sort = "ISDEFAULT DESC";
dt_matUOM = dt_matUOM.DefaultView.ToTable();
}
for (int i = 0; i < dt_matUOM.Rows.Count; i++)
{
if (dt_matUOM.Rows[i]["ISDEFAULT"].ToString() == "1")
{
dt_matUOM.Rows[i]["ISDEFAULT"] = "是";
}
else if (dt_matUOM.Rows[i]["ISDEFAULT"].ToString() == "0")
{
dt_matUOM.Rows[i]["ISDEFAULT"] = "否";
}
//是否常用
if (dt_matUOM.Rows[i]["Validflag"].ToString() == "1")
{
dt_matUOM.Rows[i]["Validflag"] = "正常";
}
else if (dt_matUOM.Rows[i]["Validflag"].ToString() == "0")
{
dt_matUOM.Rows[i]["Validflag"] = "作废";
}
}
GridHelper.CopyDataToDatatable(ref dt_matUOM, ref dataTable5, true);//绑定物料规格
if (dataTable5.Rows.Count < 1)
{
getControlBoxValue(4);//清空控件
}
foreach (UltraGridRow ugr in ultraGrid5.Rows)
{
if (ugr.Cells["VALIDFLAG"].Value.ToString() == "作废")
{
//ugr.Hidden = false;//显示
ugr.Appearance.ForeColor = Color.Red;
}
}
}
}
///
/// 增加物料
///
public void AddPUR_MAT()
{
if (ultraTabControl1.SelectedTab.Key == "01")//添加物料
{
if (ulTreeMat.ActiveNode != null)//选中物料分类节点
{
MatEntity mat_entity = new MatEntity();
if (ulTreeMat.ActiveNode.Key.Length < 5)
{
MessageUtil.ShowTips("当前节点不是物料小类,不能添加物料");
return;
}
if (txt_ITEM_NAME.Text.Trim() == "")
{
MessageUtil.ShowTips("物料名称不能为空");
return;
}
if (txt_ITEM_CODE.Text.Trim().Substring(0, 5) != ulTreeMat.ActiveNode.Key)
{
if (MessageUtil.ShowYesNoAndQuestion("填写的物料编码的前5位为【" + txt_ITEM_CODE.Text.Trim().Substring(0, 5) + "】,和当前所选分类编码【" + ulTreeMat.ActiveNode.Key + "】不同,确定是否添加?").Equals(DialogResult.No))
{ return; }
}
if (cb_BASE_UNIT_FLAG.Checked)
{
if (txt_BASE_UNIT_VALUE.Text == "" || !StringUtil.IsNumber(txt_BASE_UNIT_VALUE.Text))
{
MessageUtil.ShowTips("基吨值不能为空,且必须为数字");
return;
}
if (txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.') == -1 && txt_BASE_UNIT_VALUE.Text.Trim().Length > 6)
{
MessageUtil.ShowTips("基吨值整数长度不超过6位");
return;
}
if (txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.') != -1 && txt_BASE_UNIT_VALUE.Text.Trim().Length > 6)
{
if (txt_BASE_UNIT_VALUE.Text.Trim().Substring(0, txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.')).Length > 6)
{
MessageUtil.ShowTips("基吨值整数长度不超过6位");
return;
}
if (txt_BASE_UNIT_VALUE.Text.Trim().Substring(txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.') + 1).Length > 6)
{
MessageUtil.ShowTips("基吨值小数长度不超过6位");
return;
}
}
}
mat_entity.ItemName = txt_ITEM_NAME.Text.Replace(" ","");
if (isExsitRow("com.hnshituo.pur.configure.service.MatService","isExsitItemName", mat_entity) > 0)
{
MessageUtil.ShowTips("添加失败 " + "数据库中已存在相同的物料名称");
return;
}
mat_entity.ItemName = null;//清空物料名称,方便下一步判断物料编码是否相同
UltraTreeNode ultNode = ulTreeMat.ActiveNode;
//判断物料名称是否相同
if (ultraGrid1.ActiveRow==null || ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString() != txt_ITEM_CODE.Text.Trim())//自定义输入物料编码
{
if (txt_ITEM_CODE.Text.Trim().Contains("@"))
{
MessageUtil.ShowTips("物料编码中不能包含“@”字符");
return;
}
if (txt_ITEM_CODE.Text.Trim().Length != 15)
{
MessageUtil.ShowTips("手动输入编码必须为15位");
return;
}
//判断编码是否存在
mat_entity.ItemCode = txt_ITEM_CODE.Text.Trim();
if (isExsitRow("com.hnshituo.pur.configure.service.MatService", mat_entity) > 0)
{
MessageUtil.ShowTips("添加失败 " + "数据库中已存在相同的物料编码");
return;
}
}
else
{
mat_entity.ItemCode = getItemCodeClass(ulTreeMat.ActiveNode.Key, "");//物料编码
}
// 是否使用采购单位
//if (ultChkSuppUon.Checked)
//{
// mat_entity.ItemUseUom = "1";// 是否使用采购单位,0:否,1:是
// mat_entity.ItemUom = Ultcmb_ITEM_UOM.Text;//采购单位(个、袋、桶)
// double num = 0;
// double.TryParse(txt_ITEM_UOM_CONEFFICIENT.Text, out num);
// mat_entity.ItemUomConefficient = num;//转换系数
//}
//else
//{
// mat_entity.ItemUseUom = "0";// 是否使用采购单位,0:否,1:是
// mat_entity.ItemUom = Ultcmb_WEIGHT_UNIT.Text;//库存单位赋给采购单位
//}
//mat_entity.ItemUom = Ultcmb_WEIGHT_UNIT.Text;//库存单位赋给采购单位
//mat_entity.ItemUomConefficient = 1;//转换系数
if (cb_BASE_UNIT_FLAG.Checked)//基顿标识
{
mat_entity.BaseUnitFlag = "1";
mat_entity.BaseUnitValue = double.Parse(txt_BASE_UNIT_VALUE.Text);
}
else
{
mat_entity.BaseUnitFlag = "0";
}
mat_entity.IsBudgetCtrl = txt_IS_BUDGET_CTRL.Value == null ? null : txt_IS_BUDGET_CTRL.Value.ToString();
mat_entity.WeightUnit = Ultcmb_WEIGHT_UNIT.Text;//库存单位
mat_entity.WeightUnitCode = Ultcmb_WEIGHT_UNIT_CODE.Text;//库存单位编码
mat_entity.ReceiveType = Ultcmb_RECEIVE_TYPE.Value == null ? null : Ultcmb_RECEIVE_TYPE.Value.ToString();//入库类型;1:直接入库2:收货质检入库3:JIT入库4:VMI入库
if (Ultcmb_BATCH_FLAG.Value == null)
{
MessageUtil.ShowTips("添加失败 " + "“是否批次控制”不能为空");
return;
}
if (txt_DELVRY_RANGE_TPE.SelectedIndex == -1)
{
MessageUtil.ShowTips("请选择交货量差方式");
txt_DELVRY_RANGE_TPE.Focus();
return;
}
mat_entity.DelvryRangeTpe =txt_DELVRY_RANGE_TPE.Value.ToString().Trim();//交货量差方式
if ("1" == txt_DELVRY_RANGE_TPE.Value.ToString().Trim() || "2" == txt_DELVRY_RANGE_TPE.Value.ToString().Trim())
{
if (txt_DELVRY_RANGE_MIN.Value != null && !String.IsNullOrEmpty(txt_DELVRY_RANGE_MIN.Value.ToString().Trim()))
{
mat_entity.DelvryRangeMin = double.Parse(txt_DELVRY_RANGE_MIN.Value.ToString());//交货量差下限
}
else
{
MessageUtil.ShowTips("请填写交货量差下限值");
txt_DELVRY_RANGE_MIN.Focus();
return;
}
if (txt_DELVRY_RANGE_MAX.Value != null && !String.IsNullOrEmpty(txt_DELVRY_RANGE_MAX.Value.ToString().Trim()))
{
mat_entity.DelvryRangeMax = double.Parse(txt_DELVRY_RANGE_MAX.Value.ToString());//交货量差上限
}
else
{
MessageUtil.ShowTips("请填写交货量差上限值");
txt_DELVRY_RANGE_MAX.Focus();
return;
}
}
else
{
mat_entity.DelvryRangeMin = 0;
mat_entity.DelvryRangeMax = 0;
}
mat_entity.PcFlag = txt_PC_FLAG.Value == null ? null : txt_PC_FLAG.Value.ToString();//是检化验
mat_entity.BatchFlag = Ultcmb_BATCH_FLAG.Value == null ? null : Ultcmb_BATCH_FLAG.Value.ToString();//是否批次控制
mat_entity.PurStandards = Ultcmb_PUR_STANDARDS.Value == null ? null : Ultcmb_PUR_STANDARDS.Value.ToString();//采购标准
mat_entity.InvWasteFacUom = Ultcmb_INV_WASTE_FAC_UOM.Value == null ? 0 : double.Parse(Ultcmb_INV_WASTE_FAC_UOM.Value.ToString());//库存损耗率单位
//mat_entity.ShareCkSpecFlag = Ultcmb_SHARE_CK_SPEC_FLAG.Value == null ? null : Ultcmb_SHARE_CK_SPEC_FLAG.Value.ToString();//是否与子规格共用库存
mat_entity.MeteringFlag = Ultcmb_METERING_FLAG.Value == null ? null : Ultcmb_METERING_FLAG.Value.ToString();//是否计量
mat_entity.PriceType = Ultcmb_PRICE_TYPE.Text;//计价类型
mat_entity.CurrencyCode = Ultcmb_CURRENCY_CODE.Text;//币种代码
mat_entity.LifeCycleUom = Ultcmb_LIFE_CYCLE_UOM.Text;//有效期单位
mat_entity.PurStandardsCode = txt_PUR_STANDARDS_CODE.Text;//采购标准编号
mat_entity.MinStock = txt_MIN_STOCK.Text.Trim() == "" ? 0 : double.Parse(txt_MIN_STOCK.Text);//最小库存(预警)
mat_entity.MaxStock = txt_MAX_STOCK.Text.Trim() == "" ? 0 : double.Parse(txt_MAX_STOCK.Text);//最大库存(预警)
mat_entity.LeadTime = txt_LEAD_TIME.Text.Trim() == "" ? 0 : double.Parse(txt_LEAD_TIME.Text);//采购提前时间(天)
mat_entity.InvWasteFac = txt_INV_WASTE_FAC.Text.Trim() == "" ? 0 : double.Parse(txt_INV_WASTE_FAC.Text);//库存损耗率
mat_entity.LifeCycle = txt_LIFE_CYCLE.Text.Trim() == "" ? 0 : double.Parse(txt_LIFE_CYCLE.Text);//有效期
mat_entity.MinQty = txt_MIN_QTY.Text.Trim() == "" ? 0 : double.Parse(txt_MIN_QTY.Text);//最小采购数量
mat_entity.QtyMultiple = txt_QTY_MULTIPLE.Text.Trim() == "" ? 0 : double.Parse(txt_QTY_MULTIPLE.Text);//批量数
mat_entity.BugPrice = txt_BUG_PRICE.Text.Trim() == "" ? 0 : double.Parse(txt_BUG_PRICE.Text);//计划价
mat_entity.LastPrice = txt_LAST_PRICE.Text.Trim() == "" ? 0 : double.Parse(txt_LAST_PRICE.Text);//最近采购价
mat_entity.MonthEndAvgPrice = txt_MONTH_END_AVG_PRICE.Text.Trim() == "" ? 0 : double.Parse(txt_MONTH_END_AVG_PRICE.Text);//月末移动平均价
mat_entity.ItemName = txt_ITEM_NAME.Text.Trim().Replace(" "," ").Replace("(","(").Replace(")",")");//物料名称
mat_entity.ItemDescE = txt_ITEM_DESC_E.Text;//物料英文名称
mat_entity.ItemDesc = txt_ITEM_DESC.Text;//物料描述
mat_entity.ItemModel = txt_ITEM_MODEL.Text;//物料材质
mat_entity.ItemSpec = txt_ITEM_SPEC.Text;//物料型号规格
mat_entity.BuyerRoleId = QstrBUYER_ROLE_ID;
mat_entity.PlannerRoleId = QstrPLANNER_ROLE_ID;
mat_entity.BuyerRoleName = txt_BUYER_ROLE_NAME.Text;
mat_entity.PlannerRoleName = txt_PLANNER_ROLE_NAME.Text;
mat_entity.InvPhysicUserid = QstrINV_PHYSIC_USERID;//库管员
mat_entity.InvPhysicUsername = txt_INV_PHYSIC_USERID.Text;//库管员名称
//mat_entity.BuyerUnitCode = strBUYER_DEPT_CODE;//采购科室代码
//mat_entity.BuyerUnitDesc = txt_BUYER_UNITCODE.Text;//采购科室描述
//mat_entity.MentUnitCode = strMENT_UNIT_CODE;//采购管理科室代码
//mat_entity.MentUnitDesc = txt_MENT_UNIT_CODE.Text;//采购管理科室代码
mat_entity.ArcCode = ulTreeMat.ActiveNode.Key;//物料只保存分类编码,不保存父类编码
mat_entity.ArcItem = ulTreeMat.ActiveNode.Text;//物料分类编码名称
mat_entity.CreateName = UserInfo.GetUserName();
mat_entity.CreateUserid = UserInfo.GetUserID();
mat_entity.CreateTime = System.DateTime.Now;
mat_entity.Validflag = "1";
mat_entity.MatType = Ultcmb_MAT_TYPE.Value.ToString2();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "doInsert", new object[] { mat_entity });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
if (mat_entity.MeteringFlag.Equals("1"))
{
// 添加数据到计量系统
string json = JSONFormat.Format(mat_entity);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.hnshituo.pur.configure.service.impl.MeterBaseMatterInforService";
ccp.MethodName = "insert";
ccp.ServerParams = new object[] { json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
MessageUtil.ShowTips("添加成功!");
if (ulTreeMat.ActiveNode != null)
{
MatEntity mM = new MatEntity();
mM.ArcCode = ulTreeMat.ActiveNode.Key;
//mM.Validflag = "1";
getMat(mM);//刷新物料
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "ITEMCODE", mat_entity.ItemCode);//激活当前行
}
}
else
{
MessageUtil.ShowTips("请选择物料分类");
}
}
else if (ultraTabControl1.SelectedTab.Key == "0")//增加供应商
{
if (ultraGrid1.ActiveRow != null)
{
if (txt_suppCode.Text.Trim() == "")
{
MessageUtil.ShowTips("请选择供应商");
return;
}
Supp EntitySupp = this.execute("com.hnshituo.pur.configure.service.SuppService", "findById", new object[] { txt_suppCode.Text });
MatEntity mat_entity = this.execute("com.hnshituo.pur.configure.service.MatService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString() });
Entity_SuppGrade EntitySuppGrade = new Entity_SuppGrade();
EntitySuppGrade.SuppCode = EntitySupp.SuppCode;
EntitySuppGrade.ItemCode = mat_entity.ItemCode;
if (isExsitRow("com.hnshituo.pur.configure.service.SuppGradeService", EntitySuppGrade) > 0)//包含相同的文件
{
MessageUtil.ShowTips("数据库中存在相同的供应商,请重新选择");
return;
}
EntitySuppGrade.SuppName = EntitySupp.SuppName;
EntitySuppGrade.SuppShortName = EntitySupp.SuppShortName;
EntitySuppGrade.SuppPerGrade = EntitySupp.SuppCreditRate;
EntitySuppGrade.IsDefault = txt_IS_DEFAULT.Value == null ? null : txt_IS_DEFAULT.Value.ToString();
EntitySuppGrade.ItemCode = mat_entity.ItemCode;
EntitySuppGrade.ItemDesc = mat_entity.ItemDesc;
EntitySuppGrade.ItemDescE = mat_entity.ItemDescE;
EntitySuppGrade.ItemName = mat_entity.ItemName;
//EntitySuppGrade.BuyerRoleId = QstrBUYER_ROLE_ID1;
//EntitySuppGrade.PlannerRoleName = QstrPLANNER_ROLE_ID1;
//EntitySuppGrade.BuyerRoleName = txt_BUYER_ROLE_NAME1.Text;
//EntitySuppGrade.PlannerRoleName = txt_PLANNER_ROLE_NAME1.Text;
if (txt_delivery_type_2.SelectedIndex == -1)
{
MessageUtil.ShowTips("请选择交货差方式");
txt_delivery_type_2.Focus();
return;
}
EntitySuppGrade.DelvryRangeTpe = txt_delivery_type_2.Value.ToString().Trim();//交货量差方式
if ("1" == txt_delivery_type_2.Value.ToString().Trim() || "2" == txt_delivery_type_2.Value.ToString().Trim())
{
if (txt_DELVRY_RANGE_MIN2.Value != null)
{
EntitySuppGrade.DelvryRangeMin = double.Parse(txt_DELVRY_RANGE_MIN2.Value.ToString());//交货量差下限
}
else
{
MessageUtil.ShowTips("请填写交货量差下限值");
txt_DELVRY_RANGE_MIN2.Focus();
return;
}
if (txt_DELVRY_RANGE_MAX2.Value != null)
{
EntitySuppGrade.DelvryRangeMax = double.Parse(txt_DELVRY_RANGE_MAX2.Value.ToString());//交货量差上限
}
else
{
MessageUtil.ShowTips("请填写交货量差上限值");
txt_DELVRY_RANGE_MAX2.Focus();
return;
}
}
else
{
EntitySuppGrade.DelvryRangeMin = 0;
EntitySuppGrade.DelvryRangeMax = 0;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.SuppGradeService", "insertSuppGrade", new object[] { EntitySuppGrade });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("添加成功!");
getSuppGrade(ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString());//刷新供应商
ConfigureClassCommon.doActiveSelRow(ultraGrid2, "SUPPCODE", EntitySuppGrade.SuppCode);//激活当前行
}
else
{
MessageUtil.ShowTips("请选择供应商");
}
}
else if (ultraTabControl1.SelectedTab.Key == "1")//增加属性
{
if (ultraGrid1.ActiveRow != null)
{
if (txt_ITEM_ATTR.Text.Trim() == "")
{
MessageUtil.ShowTips("请选择属性");
return;
}
if (txt_IS_DEFAULT_ATTR.Value == null)
{
MessageUtil.ShowTips("请选择“是否常用”");
txt_IS_DEFAULT_ATTR.Focus();
return;
}
if (txt_IsLevel.Value == null)
{
MessageUtil.ShowTips("请选择“是否判定等级”");
txt_IsLevel.Focus();
return;
}
if (txt_IS_DEFAULT_ATTR.Text.ToString() == "常用")
{
for (int i = 0; i < ultraGrid3.Rows.Count; i++)
{
if (ultraGrid3.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "常用" || ultraGrid3.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "是")
{
MessageUtil.ShowTips("只能有一个属性作为常用,请将此属性选为不常用");
return;
}
}
}
PurMatAttrsEntity mat_entity = new PurMatAttrsEntity();
//判断数据库中已经存在所选物料相同的属性名称
mat_entity.ItemAttr = txt_ITEM_ATTR.Text.Trim();//属性名称
mat_entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
mat_entity.Validflag = "1";
//if (isExsitRow("com.hnshituo.pur.configure.service.MatAttrsService", mat_entity) > 0)
//{
// MessageUtil.ShowTips("添加失败 数据库中已经存在所选物料相同的属性名称");
// return;
//}
mat_entity.ItemAttr = null;
mat_entity.ItemAttrCode = txt_ITEM_ATTR_CODE.Text;//属性编码
if (isExsitRow("com.hnshituo.pur.configure.service.MatAttrsService", mat_entity) > 0)
{
MessageUtil.ShowTips("添加失败 数据库中已经存在所选物料相同的属性编码");
mat_entity.ItemAttr = null;//型号规格
return;
}
mat_entity.ItemAttr = txt_ITEM_ATTR.Text.Trim();//属性名称
mat_entity.ItemAttrId = this.execute("com.hnshituo.pur.utils.service.UtilsService", "getMaxSeq", new object[] { "PUR_MAT_ATTRS", "ITEM_ATTR_ID" });//属性ID
//if (ultChkSuppUon.Checked)
//{
// 判断数据库中已经存在所选物料相同的采购单位
// mat_entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
// mat_entity.ItemUom = Ultcmb_ITEM_UOM.Text.Trim();//采购单位(个、袋、桶)
// if (isExsitRow("com.hnshituo.pur.configure.service.MatAttrsService", mat_entity) > 0)
// {
// MessageUtil.ShowTips("添加失败 数据库中已经存在所选物料相同的单位名称");
// mat_entity.ItemUom = null;//采购单位(个、袋、桶)
// return;
// }
// mat_entity.ItemUseUom = "1";// 是否使用采购单位,0:否,1:是
// mat_entity.ItemUom = Ultcmb_ITEM_UOM.Text.Trim();//采购单位(个、袋、桶)
// double num = 0;
// double.TryParse(txt_ITEM_UOM_CONEFFICIENT.Text, out num);
// mat_entity.ItemUomConefficient = num;//转换系数
//}
//else
//{
// mat_entity.ItemUseUom = "0";// 是否使用采购单位,0:否,1:是
// mat_entity.ItemUom = ultraGrid1.ActiveRow.Cells["WEIGHTUNIT"].Value.ToString();//库存单位赋给采购单位
// mat_entity.ItemUomConefficient = 1;
//}
//mat_entity.ItemAttrId = this.execute("com.hnshituo.pur.utils.service.UtilsService", "getOddNumber", new object[] { "PUR_MAT_ATTRS", "ITEM_ATTR_ID", ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString()+"@", "3" });//添加操作
//mat_entity.ItemAttr = txt_ITEM_ATTR.Text.Trim();//型号规格
mat_entity.ItemAttr4 = txt_item_Attr4.Text;//物料属性4
mat_entity.ItemAttr3 = txt_item_Attr3.Text;//物料属性3
mat_entity.ItemAttr2 = txt_item_Attr2.Text;//物料属性2
mat_entity.ItemAttr1 = txt_item_Attr1.Text;//物料属性1
//mat_entity.OrderNum = txt_ORDER_NUM.Value == null ? double.Parse(txt_ORDER_NUM.NullText) : double.Parse(txt_ORDER_NUM.Value.ToString());//排序
mat_entity.IsDefault = txt_IS_DEFAULT_ATTR.Value.ToString();//是否常用
mat_entity.IsLevel = txt_IsLevel.Value.ToString();//是否常用
mat_entity.Remark = txt_REMARK_ATTR.Text;//备注
mat_entity.ItemAttrClass = txt_MatAttrClass.Text;//属性分类编码
mat_entity.ItemAttrClassName = txt_MatAttrClassName.Text;//属性分类名称
mat_entity.CreateTime = System.DateTime.Now;//创建时间
mat_entity.CreateName = UserInfo.GetUserName();
mat_entity.CreateUserid = UserInfo.GetUserID();
mat_entity.UpdateTime = null;
mat_entity.UpdateName = null;
mat_entity.UpdateUserid = null;
mat_entity.Validflag = "1";
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatAttrsService", "doInsert", new object[] { mat_entity });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("添加成功!");
getItemAttr();//查询规格
ConfigureClassCommon.doActiveSelRow(ultraGrid3, "ITEMATTRID", mat_entity.ItemAttrId);//激活当前行
}
else
{
MessageUtil.ShowTips("请选择物料");
}
}
else if (ultraTabControl1.SelectedTab.Key == "2")//标准编号
{
PurMatStandardsEntity PurMatStandards_Entity = new PurMatStandardsEntity();
if (txt_IS_DEFAULT_STANDRANDS.Text.ToString() == "常用")
{
for (int i = 0; i < ultraGrid4.Rows.Count; i++)
{
if (ultraGrid4.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "常用" || ultraGrid4.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "是")
{
MessageUtil.ShowTips("只能有一个标准编号作为常用,请将此标准编号选为不常用");
return;
}
}
}
PurMatStandards_Entity.StandardsCode = txt_STANDARDS_CODE.Text;
PurMatStandards_Entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
PurMatStandards_Entity.Validflag = "1";
if (isExsitRow("com.hnshituo.pur.configure.service.MatStandardsService", PurMatStandards_Entity) > 0)
{
MessageUtil.ShowTips("添加失败 数据库中已经存在所选物料相同的标准编号");
return;
}
PurMatStandards_Entity.ItemStandardsId = Guid.NewGuid().ToString();//this.execute("com.hnshituo.pur.utils.service.UtilsService", "getMaxSeq", new object[] { "PUR_MAT_STANDARDS", "ITEM_ATTR_ID" });//标准编号ID;
PurMatStandards_Entity.StandardsId = txt_STANDARDS_ID.Text;//标准编号ID
PurMatStandards_Entity.IsDefault = txt_IS_DEFAULT_STANDRANDS.Value.ToString();
PurMatStandards_Entity.Remark = txt_REMARK_STANDARD.Text;//备注
//PurMatStandards_Entity.OrderNum = txtORDER_NUM.Text.Trim() == "" ? 0 : double.Parse(txtORDER_NUM.Text);//排序
//PurMatStandards_Entity.PurStandardsCode = txtPUR_STANDARDS_CODE.Text;//采购标准编号
PurMatStandards_Entity.CreateName = UserInfo.GetUserName();
PurMatStandards_Entity.CreateUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatStandardsService", "doInsert", new object[] { PurMatStandards_Entity });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("添加成功!");
getMatStandard();
ConfigureClassCommon.doActiveSelRow(ultraGrid4, "StandardsId", PurMatStandards_Entity.StandardsId);//激活当前行
}
else if (ultraTabControl1.SelectedTab.Key == "3")//增加单位转换
{
if (txt_IS_DEFAULT_UOM.Text.ToString() == "常用")
{
for (int i = 0; i < ultraGrid5.Rows.Count; i++)
{
if (ultraGrid5.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "常用" || ultraGrid5.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "是")
{
MessageUtil.ShowTips("只能有一个单位作为常用,请将此单位选为不常用");
return;
}
}
}
PurMatUomsEntity MatUomsEntity = new PurMatUomsEntity();
MatUomsEntity.Validflag = "1";
MatUomsEntity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
MatUomsEntity.UomName = txt_UOM_NAME.Text;//采购单位名称
if (isExsitRow("com.hnshituo.pur.configure.service.MatUomsService", MatUomsEntity) > 0)
{
MessageUtil.ShowTips("添加失败 数据库中已经存在所选物料相同的采购单位名称");
return;
}
if (txt_UOM_NAME.Text.Trim()=="")
{
MessageUtil.ShowTips("单位编码不能为空,请联系管理员 ");
return;
}
if (txt_WEIGHT_UNIT.Text.Trim() == "")
{
MessageUtil.ShowTips("库存单位不能为空 ");
return;
}
MatUomsEntity.ItemUomId = this.execute("com.hnshituo.pur.utils.service.UtilsService", "getMaxSeq", new object[] { "PUR_MAT_UOMS", "ITEM_UOM_ID" });//标准编号ID;
MatUomsEntity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
MatUomsEntity.ItemUomConefficient = txt_ITEM_UOM_CONEFFICIENT.Text.Trim() == "" ? 0 : double.Parse(txt_ITEM_UOM_CONEFFICIENT.Text);//转换系数
MatUomsEntity.WeightUnitCode = txt_WEIGHT_UNIT_CODE.Text;//库存单位编码
MatUomsEntity.WeightUnit = txt_WEIGHT_UNIT.Text;//库存单位名称
MatUomsEntity.UomCode = txt_UOM_CODE.Text;//采购单位名称
MatUomsEntity.UomName = txt_UOM_NAME.Text;//采购单位名称
MatUomsEntity.Remark = txt_REMARK_UOM.Text;//备注
MatUomsEntity.IsDefault = txt_IS_DEFAULT_UOM.Value.ToString();//是否常用
MatUomsEntity.Validflag = "1";
MatUomsEntity.CreateName = UserInfo.GetUserName();
MatUomsEntity.CreateUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatUomsService", "doInsert", new object[] { MatUomsEntity });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("添加成功!");
getMatUOM();
ConfigureClassCommon.doActiveSelRow(ultraGrid5, "ITEMUOMID", MatUomsEntity.ItemUomId);//激活当前行
}
}
///
/// 判断数据库中是否存在相同的列
///
///
///
/// true存在
public int isExsitRow(string strJavaPackName, object o)
{
DataTable dt = this.execute(strJavaPackName, "find", new object[] { o, 0, 0 });
if (dt != null && dt.Rows.Count > 0)//存在相同的行
{
return dt.Rows.Count;
}
return 0;
}
///
/// 判断数据库中是否存在相同的列
///
///
///
/// true存在
public int isExsitRow(string strJavaPackName,string methodName, object o)
{
DataTable dt = this.execute(strJavaPackName, methodName, new object[] { o });
if (dt != null && dt.Rows.Count > 0)//存在相同的行
{
return dt.Rows.Count;
}
return 0;
}
///
/// 更新物料
///
public void UpdPUR_MAT()
{
if (ultraTabControl1.SelectedTab.Key == "01")
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr != null)
{
//合法验证
if (ugr.Cells["VALIDFLAG"].Value.ToString() == "作废")
{
MessageUtil.ShowTips("此物料已作废,不能修改");
return;
}
if (txt_ITEM_CODE.Text.Trim() != ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString().Trim())//修改了物料编码
{
MessageUtil.ShowTips("物料编码不能修改");
return;
}
if (Ultcmb_BATCH_FLAG.Text != "")
{
if (Ultcmb_BATCH_FLAG.Value.ToString() != ultraGrid1.ActiveRow.Cells["BATCHFLAG"].Value.ToString().Trim())//修改了是否批次控制
{
MessageUtil.ShowTips("“是否控制批次”不能修改");
return;
}
}
//修改库存单位
if (Ultcmb_WEIGHT_UNIT.Text.ToString() != ultraGrid1.ActiveRow.Cells["WEIGHTUNIT"].Value.ToString().Trim())
{
RequirePlanD rq=new RequirePlanD();
rq.ItemCode = ultraGrid1.ActiveRow.Cells["ItemCode"].Value.ToString();
rq.Validflag = "1";
int num= this.GetJsonService().execute("com.hnshituo.pur.requireplan.service.RequirePlanDService", "count", new object[] { rq, 0, 0 });
if (num > 0)
{
MessageUtil.ShowTips("此物料已有需求,不能更改库存单位");
return;
}
PurMatUomsEntity MatUomsEntity = new PurMatUomsEntity();
MatUomsEntity.ItemCode = ultraGrid1.ActiveRow.Cells["ItemCode"].Value.ToString();
int num1 = this.execute("com.hnshituo.pur.configure.service.MatUomsService", "count", new object[] { MatUomsEntity });
if (num1 > 0)
{
MessageUtil.ShowTips("如要修改库存单位,请先删除此物料的采购单位");
return;
}
}
UltraTreeNode ultNode = ulTreeMat.ActiveNode;
MatEntity mat_entity = new MatEntity();
if (txt_ITEM_NAME.Text.Trim() == "")
{
MessageUtil.ShowTips("请输入物料名称");
return;
}
if (cb_BASE_UNIT_FLAG.Checked)
{
if (txt_BASE_UNIT_VALUE.Text == "" || !StringUtil.IsNumber(txt_BASE_UNIT_VALUE.Text))
{
MessageUtil.ShowTips("基吨值不能为空,且必须为数字");
return;
}
if (txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.') == -1 && txt_BASE_UNIT_VALUE.Text.Trim().Length > 6)
{
MessageUtil.ShowTips("基吨值整数长度不超过6位");
return;
}
if (txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.') != -1 && txt_BASE_UNIT_VALUE.Text.Trim().Length > 6)
{
if (txt_BASE_UNIT_VALUE.Text.Trim().Substring(0, txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.')).Length > 6)
{
MessageUtil.ShowTips("基吨值整数长度不超过6位");
return;
}
if (txt_BASE_UNIT_VALUE.Text.Trim().Substring(txt_BASE_UNIT_VALUE.Text.Trim().IndexOf('.') + 1).Length > 6)
{
MessageUtil.ShowTips("基吨值小数长度不超过6位");
return;
}
}
}
mat_entity.ItemName = txt_ITEM_NAME.Text.Replace(" ", "");
if (txt_ITEM_NAME.Text != ultraGrid1.ActiveRow.Cells["ITEMNAME"].Value.ToString())//修改了物料名称
{
if (isExsitRow("com.hnshituo.pur.configure.service.MatService", "isExsitItemName", mat_entity) > 0)
{
MessageUtil.ShowTips("修改失败 " + "数据库中已存在相同的物料名称");
return;
}
}
//修改分类
mat_entity.ArcCode = txt_ItemArcCode.Text;
mat_entity.ArcItem=txt_ItemArcCodeName.Text;
if (cb_BASE_UNIT_FLAG.Checked)//基顿标识
{
mat_entity.BaseUnitFlag = "1";
mat_entity.BaseUnitValue = double.Parse(txt_BASE_UNIT_VALUE.Text);
}
else
{
mat_entity.BaseUnitFlag = "0";
}
mat_entity.IsBudgetCtrl = txt_IS_BUDGET_CTRL.Value == null ? null : txt_IS_BUDGET_CTRL.Value.ToString();//是否定额控制
mat_entity.PcFlag = txt_PC_FLAG.Value == null ? null : txt_PC_FLAG.Value.ToString();//是检化验
if (txt_DELVRY_RANGE_TPE.SelectedIndex == -1)
{
MessageUtil.ShowTips("请选择交货量差方式");
txt_DELVRY_RANGE_TPE.Focus();
return;
}
mat_entity.DelvryRangeTpe = txt_DELVRY_RANGE_TPE.Value.ToString().Trim();//交货量差方式
if ("1" == txt_DELVRY_RANGE_TPE.Value.ToString().Trim() || "2" == txt_DELVRY_RANGE_TPE.Value.ToString().Trim())
{
if (txt_DELVRY_RANGE_MIN.Value != null && !String.IsNullOrEmpty(txt_DELVRY_RANGE_MIN.Value.ToString().Trim()))
{
mat_entity.DelvryRangeMin = double.Parse(txt_DELVRY_RANGE_MIN.Value.ToString());//交货量差下限
}
else
{
MessageUtil.ShowTips("请填写交货量差下限值");
txt_DELVRY_RANGE_MIN.Focus();
return;
}
if (txt_DELVRY_RANGE_MAX.Value != null && !String.IsNullOrEmpty(txt_DELVRY_RANGE_MAX.Value.ToString().Trim()))
{
mat_entity.DelvryRangeMax = double.Parse(txt_DELVRY_RANGE_MAX.Value.ToString());//交货量差上限
}
else
{
MessageUtil.ShowTips("请填写交货量差上限值");
txt_DELVRY_RANGE_MAX.Focus();
return;
}
}
else
{
mat_entity.DelvryRangeMin = 0;
mat_entity.DelvryRangeMax = 0;
}
mat_entity.WeightUnit = Ultcmb_WEIGHT_UNIT.Text;//库存单位
mat_entity.WeightUnitCode = Ultcmb_WEIGHT_UNIT_CODE.Text;//库存单位编码
mat_entity.ReceiveType = Ultcmb_RECEIVE_TYPE.Value == null ? null : Ultcmb_RECEIVE_TYPE.Value.ToString();//入库类型;1:直接入库2:收货质检入库3:JIT入库4:VMI入库
mat_entity.BatchFlag = Ultcmb_BATCH_FLAG.Value == null ? null : Ultcmb_BATCH_FLAG.Value.ToString();//是否批次控制
mat_entity.PurStandards = Ultcmb_PUR_STANDARDS.Value == null ? null : Ultcmb_PUR_STANDARDS.Value.ToString();//采购标准
mat_entity.InvWasteFacUom = Ultcmb_INV_WASTE_FAC_UOM.Value == null ? 0 : double.Parse(Ultcmb_INV_WASTE_FAC_UOM.Value.ToString());//库存损耗率单位
//mat_entity.ShareCkSpecFlag = Ultcmb_SHARE_CK_SPEC_FLAG.Value == null ? null : Ultcmb_SHARE_CK_SPEC_FLAG.Value.ToString();//是否与子规格共用库存
mat_entity.MeteringFlag = Ultcmb_METERING_FLAG.Value == null ? null : Ultcmb_METERING_FLAG.Value.ToString();//是否计量
mat_entity.PriceType = Ultcmb_PRICE_TYPE.Text;//计价类型
mat_entity.CurrencyCode = Ultcmb_CURRENCY_CODE.Text;//币种代码
mat_entity.LifeCycleUom = Ultcmb_LIFE_CYCLE_UOM.Text;//有效期单位
mat_entity.PurStandardsCode = txt_PUR_STANDARDS_CODE.Text;//采购标准编号
mat_entity.MinStock = txt_MIN_STOCK.Text.Trim() == "" ? 0 : double.Parse(txt_MIN_STOCK.Text);//最小库存(预警)
mat_entity.MaxStock = txt_MAX_STOCK.Text.Trim() == "" ? 0 : double.Parse(txt_MAX_STOCK.Text);//最大库存(预警)
mat_entity.LeadTime = txt_LEAD_TIME.Text.Trim() == "" ? 0 : double.Parse(txt_LEAD_TIME.Text);//采购提前时间(天)
mat_entity.InvWasteFac = txt_INV_WASTE_FAC.Text.Trim() == "" ? 0 : double.Parse(txt_INV_WASTE_FAC.Text);//库存损耗率
mat_entity.LifeCycle = txt_LIFE_CYCLE.Text.Trim() == "" ? 0 : double.Parse(txt_LIFE_CYCLE.Text);//有效期
mat_entity.MinQty = txt_MIN_QTY.Text.Trim() == "" ? 0 : double.Parse(txt_MIN_QTY.Text);//最小采购数量
mat_entity.QtyMultiple = txt_QTY_MULTIPLE.Text.Trim() == "" ? 0 : double.Parse(txt_QTY_MULTIPLE.Text);//批量数
if (planPrice != txt_BUG_PRICE.Text)
{
if (UserInfo.GetDepartment() != "综合管理科" && UserInfo.GetUserName() != "admin")
{
MessageUtil.ShowTips("不是综合管理科人员,不允许修改计划价!");
//txt_BUG_PRICE.Enabled = false;
return;
}
else
{
mat_entity.BugPrice = txt_BUG_PRICE.Text.Trim() == "" ? 0 : double.Parse(txt_BUG_PRICE.Text);//计划价
}
}
else
{
mat_entity.BugPrice = txt_BUG_PRICE.Text.Trim() == "" ? 0 : double.Parse(txt_BUG_PRICE.Text);//计划价
}
mat_entity.LastPrice = txt_LAST_PRICE.Text.Trim() == "" ? 0 : double.Parse(txt_LAST_PRICE.Text);//最近采购价
mat_entity.MonthEndAvgPrice = txt_MONTH_END_AVG_PRICE.Text.Trim() == "" ? 0 : double.Parse(txt_MONTH_END_AVG_PRICE.Text);//月末移动平均价
mat_entity.ItemName = txt_ITEM_NAME.Text.Trim().Replace(" ", " ").Replace("(", "(").Replace(")", ")");//物料名称
mat_entity.ItemDescE = txt_ITEM_DESC_E.Text;//物料英文名称
mat_entity.ItemDesc = txt_ITEM_DESC.Text;//物料描述
mat_entity.ItemModel = txt_ITEM_MODEL.Text;//物料材质
mat_entity.ItemSpec = txt_ITEM_SPEC.Text;//物料型号规格
mat_entity.BuyerRoleId = QstrBUYER_ROLE_ID;
mat_entity.PlannerRoleId = QstrPLANNER_ROLE_ID;
mat_entity.BuyerRoleName = txt_BUYER_ROLE_NAME.Text;
mat_entity.PlannerRoleName = txt_PLANNER_ROLE_NAME.Text;
mat_entity.InvPhysicUserid = QstrINV_PHYSIC_USERID;//库管员
mat_entity.InvPhysicUsername = txt_INV_PHYSIC_USERID.Text;//库管员名称
//mat_entity.BuyerUnitCode = strBUYER_DEPT_CODE;//采购科室代码
//mat_entity.BuyerUnitDesc = txt_BUYER_UNITCODE.Text;//采购科室描述
//mat_entity.MentUnitCode = strMENT_UNIT_CODE;//采购管理科室代码
///mat_entity.MentUnitDesc = txt_MENT_UNIT_CODE.Text;//采购管理科室代码
// 是否使用采购单位
//if (ultChkSuppUon.Checked)
//{
// mat_entity.ItemUseUom = "1";// 是否使用采购单位,0:否,1:是
// mat_entity.ItemUom = Ultcmb_ITEM_UOM.Text;//采购单位(个、袋、桶)
// double num = 0;
// double.TryParse(txt_ITEM_UOM_CONEFFICIENT.Text, out num);
// mat_entity.ItemUomConefficient = num;//转换系数
//}
//else
//{
// mat_entity.ItemUseUom = "0";// 是否使用采购单位,0:否,1:是
// mat_entity.ItemUom = Ultcmb_WEIGHT_UNIT.Text;//库存单位赋给采购单位
//}
mat_entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
mat_entity.UpdateTime = System.DateTime.Now;
mat_entity.UpdateName = UserInfo.GetUserName();
mat_entity.UpdateUserid = UserInfo.GetUserID();
mat_entity.MatType = Ultcmb_MAT_TYPE.Value.ToString2();
if (MessageUtil.ShowYesNoAndQuestion("是否确定修改物料【" + ultraGrid1.ActiveRow.Cells["ITEMNAME"].Value.ToString().Trim() + "】?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "doUpdate", new object[] { mat_entity });//更新操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("更新失败 " + crt.Resultmsg);
return;
}
if (mat_entity.MeteringFlag.Equals("1"))
{
// 更新数据到计量系统
string json = JSONFormat.Format(mat_entity);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.hnshituo.pur.configure.service.impl.MeterBaseMatterInforService";
ccp.MethodName = "update";
ccp.ServerParams = new object[] { json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
MessageUtil.ShowTips("更新成功");
if (ulTreeMat.ActiveNode != null)
{
//MatEntity mM = new MatEntity();
//mM.ArcCode = ulTreeMat.ActiveNode.Key;
getMat(Q_mat);//刷新物料
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "ITEMCODE", mat_entity.ItemCode);//激活当前行
}
}
else
{
MessageUtil.ShowTips("请选择物料");
}
}
else if (ultraTabControl1.SelectedTab.Key == "0")
{
if (ultraGrid2.ActiveRow == null)
{
MessageUtil.ShowTips("请选择供应商");
return;
}
if (ultraGrid2.ActiveRow.Cells["SUPPCODE"].Value.ToString() != txt_suppCode.Text)
{
MessageUtil.ShowTips("修改失败 供应商代码和名称不修改");
return;
}
Entity_SuppGrade EntitySuppGrade = new Entity_SuppGrade();
EntitySuppGrade.Id = ultraGrid2.ActiveRow.Cells["id"].Value.ToString();
//EntitySuppGrade.SuppCode = txt_suppCode.Text;
if (txt_IS_DEFAULT.Value != null)
{
EntitySuppGrade.IsDefault = txt_IS_DEFAULT.Value.ToString();
}
if (txt_delivery_type_2.SelectedIndex == -1)
{
MessageUtil.ShowTips("请选择交货差方式");
txt_delivery_type_2.Focus();
return;
}
EntitySuppGrade.DelvryRangeTpe = txt_delivery_type_2.Value.ToString().Trim();//交货量差方式
if ("1" == txt_delivery_type_2.Value.ToString().Trim() || "2" == txt_delivery_type_2.Value.ToString().Trim())
{
if (txt_DELVRY_RANGE_MIN2.Value != null &&! String.IsNullOrEmpty(txt_DELVRY_RANGE_MIN2.Value.ToString().Trim()))
{
EntitySuppGrade.DelvryRangeMin = double.Parse(txt_DELVRY_RANGE_MIN2.Value.ToString());//交货量差下限
}
else
{
MessageUtil.ShowTips("请填写交货量差下限值");
txt_DELVRY_RANGE_MIN2.Focus();
return;
}
if (txt_DELVRY_RANGE_MAX2.Value != null && !String.IsNullOrEmpty(txt_DELVRY_RANGE_MAX2.Value.ToString().Trim()))
{
EntitySuppGrade.DelvryRangeMax = double.Parse(txt_DELVRY_RANGE_MAX2.Value.ToString());//交货量差上限
}
else
{
MessageUtil.ShowTips("请填写交货量差上限值");
txt_DELVRY_RANGE_MAX2.Focus();
return;
}
}
else
{
EntitySuppGrade.DelvryRangeMin = 0;
EntitySuppGrade.DelvryRangeMax = 0;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确定修改供应商【" + ultraGrid2.ActiveRow.Cells["suppName"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.SuppGradeService", "doUpdate", new object[] { EntitySuppGrade });//更新操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("更新失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("修改成功!");
getSuppGrade(ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString());//刷新供应商
ConfigureClassCommon.doActiveSelRow(ultraGrid2, "Id", EntitySuppGrade.Id);//激活当前行
}
else if (ultraTabControl1.SelectedTab.Key == "1")//修改属性
{
if (ultraGrid3.ActiveRow != null)
{
if (txt_ITEM_ATTR.Text.Trim() == "")
{
MessageUtil.ShowTips("请输入属性");
return;
}
if (txt_IS_DEFAULT_ATTR.Text.ToString() == "常用")
{
for (int i = 0; i < ultraGrid3.Rows.Count; i++)
{
if (ultraGrid3.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "常用" || ultraGrid3.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "是")
{
if (!ultraGrid3.Rows[i].IsActiveRow)
{
MessageUtil.ShowTips("只能有一个属性作为常用,请将此属性选为不常用");
return;
}
}
}
}
PurMatAttrsEntity mat_entity = new PurMatAttrsEntity();
//判断数据库中已经存在所选物料相同的属性名称
mat_entity.ItemAttr = txt_ITEM_ATTR.Text.Trim();//属性名称
mat_entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
mat_entity.Validflag = "1";
if (txt_ITEM_ATTR.Text.Trim() != ultraGrid3.ActiveRow.Cells["ItemAttr"].Value.ToString())
{
if (isExsitRow("com.hnshituo.pur.configure.service.MatAttrsService", mat_entity) > 0)
{
MessageUtil.ShowTips("添加失败 数据库中已经存在所选物料相同的属性名称");
return;
}
}
mat_entity.ItemAttrId = ultraGrid3.ActiveRow.Cells["ITEMATTRID"].Value.ToString();//属性Id
mat_entity.ItemAttrCode = txt_ITEM_ATTR_CODE.Text;//属性编码
mat_entity.ItemAttr4 = txt_item_Attr4.Text;//物料属性4
mat_entity.ItemAttr3 = txt_item_Attr3.Text;//物料属性3
mat_entity.ItemAttr2 = txt_item_Attr2.Text;//物料属性2
mat_entity.ItemAttr1 = txt_item_Attr1.Text;//物料属性1
mat_entity.IsDefault = txt_IS_DEFAULT_ATTR.Value.ToString();//是否常用
mat_entity.IsLevel = txt_IsLevel.Value.ToString();//是否常用
mat_entity.Remark = txt_REMARK_ATTR.Text;//备注
mat_entity.UpdateTime = System.DateTime.Now;//更新时间
mat_entity.UpdateName = UserInfo.GetUserName();
mat_entity.UpdateUserid = UserInfo.GetUserID();
if (MessageUtil.ShowYesNoAndQuestion("是否确定修改物料属性【" + ultraGrid3.ActiveRow.Cells["ItemAttr"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatAttrsService", "doUpdate", new object[] { mat_entity });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("更新失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("更新成功!");
getItemAttr();//查询属性
ConfigureClassCommon.doActiveSelRow(ultraGrid3, "ITEMATTRID", mat_entity.ItemAttrId);//激活当前行
}
else
{
MessageUtil.ShowTips("请选择物料");
}
}
else if (ultraTabControl1.SelectedTab.Key == "2")//修改标准编号
{
if (ultraGrid4.ActiveRow != null)
{
if (txt_IS_DEFAULT_STANDRANDS.Text.ToString() == "常用")
{
for (int i = 0; i < ultraGrid4.Rows.Count; i++)
{
if (ultraGrid4.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "常用" || ultraGrid4.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "是")
{
if (!ultraGrid4.Rows[i].IsActiveRow)
{
MessageUtil.ShowTips("只能有一个标准编号作为常用,请将此标准编号选为不常用");
return;
}
}
}
}
PurMatStandardsEntity PurMatStandards_Entity = new PurMatStandardsEntity();
if (ultraGrid4.ActiveRow.Cells["StandardsCode"].Value.ToString() != txt_STANDARDS_CODE.Text)
{
PurMatStandards_Entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
PurMatStandards_Entity.StandardsCode = txt_STANDARDS_CODE.Text;//采购标准编号
PurMatStandards_Entity.Validflag = "1";
if (isExsitRow("com.hnshituo.pur.configure.service.MatStandardsService", PurMatStandards_Entity) > 0)
{
MessageUtil.ShowTips("更新失败 数据库中已经存在所选物料相同的标准编号");
return;
}
}
//PurMatStandards_Entity.Id = ultraGrid4.ActiveRow.Cells["ID"].Value.ToString();
//PurMatStandards_Entity.StandardsId = txt_STANDARDS_ID.Text;
PurMatStandards_Entity.Validflag = "1";
PurMatStandards_Entity.IsDefault = txt_IS_DEFAULT_STANDRANDS.Value.ToString();//是否为常用
PurMatStandards_Entity.Remark = txt_REMARK_STANDARD.Text;//备注
//PurMatStandards_Entity.OrderNum = txtORDER_NUM.Text.Trim() == "" ? 0 : double.Parse(txtORDER_NUM.Text);//排序
PurMatStandards_Entity.ItemStandardsId = ultraGrid4.ActiveRow.Cells["ITEMSTANDARDSID"].Value.ToString();//采购标准编号
PurMatStandards_Entity.UpdateName = UserInfo.GetUserName();
PurMatStandards_Entity.UpdateUserid = UserInfo.GetUserID();
if (MessageUtil.ShowYesNoAndQuestion("是否确定修改物料标准编号【" + ultraGrid4.ActiveRow.Cells["StandardsCode"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatStandardsService", "doUpdate", new object[] { PurMatStandards_Entity });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("更新失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("更新成功!");
getMatStandard();
ConfigureClassCommon.doActiveSelRow(ultraGrid4, "ITEMSTANDARDSID", PurMatStandards_Entity.ItemStandardsId);//激活当前行
}
}
else if (ultraTabControl1.SelectedTab.Key == "3")//修改单位转换
{
//MessageUtil.ShowTips("物料单位不能修改,请添加或作废");
//return;
if (ultraGrid5.ActiveRow != null)
{
PurMatUomsEntity MatUomsEntity = new PurMatUomsEntity();
if (txt_IS_DEFAULT_UOM.Text.ToString() == "常用")
{
for (int i = 0; i < ultraGrid5.Rows.Count; i++)
{
if (ultraGrid5.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "常用" || ultraGrid5.Rows[i].Cells["ISDEFAULT"].Value.ToString() == "是")
{
if (!ultraGrid5.Rows[i].IsActiveRow)
{
MessageUtil.ShowTips("只能有一个单位作为常用,请将此单位选为不常用");
return;
}
}
}
}
MatUomsEntity.ItemUomId = ultraGrid5.ActiveRow.Cells["ITEMUOMID"].Value.ToString();
//MatUomsEntity.ItemUomConefficient = txt_ITEM_UOM_CONEFFICIENT.Text.Trim() == "" ? 0 : double.Parse(txt_ITEM_UOM_CONEFFICIENT.Text);//转换系数
MatUomsEntity.IsDefault = txt_IS_DEFAULT_UOM.Value == null ? null : txt_IS_DEFAULT_UOM.Value.ToString();//是否常用
//MatUomsEntity.WeightUnitCode = txt_WEIGHT_UNIT_CODE.Text;//库存单位编码
//MatUomsEntity.WeightUnit = txt_WEIGHT_UNIT.Text;//库存单位名称
//MatUomsEntity.UomCode = txt_UOM_CODE.Text;//采购单位名称
//MatUomsEntity.UomName = txt_UOM_NAME.Text;//采购单位名称
MatUomsEntity.Remark = txt_REMARK_UOM.Text;//备注
MatUomsEntity.UpdateName = UserInfo.GetUserName();
MatUomsEntity.UpdateUserid = UserInfo.GetUserID();
if (MessageUtil.ShowYesNoAndQuestion("是否确定修改物料采购单位【" + ultraGrid5.ActiveRow.Cells["UomName"].Value.ToString() + "】? 注:物料单位只能修改是否常用和备注") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatUomsService", "doUpdate", new object[] { MatUomsEntity });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("修改失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("修改成功!");
getMatUOM();
ConfigureClassCommon.doActiveSelRow(ultraGrid5, "ITEMUOMID", MatUomsEntity.ItemUomId);//激活当前行
}
}
}
///
/// 删除物料
///
public void DelPUR_MAT()
{
if (ultraTabControl1.SelectedTab.Key == "01")
{
if (ultraGrid1.ActiveRow != null)
{
if (MessageUtil.ShowYesNoAndQuestion("确定作废物料【" + ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
//string resStr = "";
//resStr = this.execute("com.hnshituo.pur.configure.service.MatService", "MatIsUsing", new object[] { ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString(), null });//删除操作
//if (resStr != "")
//{
// MessageUtil.ShowTips("物料在" + resStr + "中使用,不能作废");
// return;
//}
MatEntity mat_entity = new MatEntity();
mat_entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
mat_entity.Validflag = "0";
mat_entity.DeleteName = UserInfo.GetUserName();
mat_entity.DeleteTime = System.DateTime.Now;
mat_entity.DeleteUserid = UserInfo.GetUserID();
mat_entity.ArcCode = ulTreeMat.ActiveNode.Key;//物料只保存分类编码,不保存父类编码
mat_entity.ArcItem = ulTreeMat.ActiveNode.Text;//物料分类编码名称
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "doUpdate", new object[] { mat_entity });//删除操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("作废失败 " + crt.Resultmsg);
return;
}
string meteringFlag = Ultcmb_METERING_FLAG.Value == null ? null : Ultcmb_METERING_FLAG.Value.ToString();//是否计量
if (meteringFlag.Equals("1"))
{
// 作废 数据到计量系统
string json = JSONFormat.Format(mat_entity);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.hnshituo.pur.configure.service.impl.MeterBaseMatterInforService";
ccp.MethodName = "logicDelete";
ccp.ServerParams = new object[] { json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
MessageUtil.ShowTips("作废成功!");
if (ulTreeMat.ActiveNode != null)
{
//MatEntity mM = new MatEntity();
//mM.ArcCode = ulTreeMat.ActiveNode.Key;
getMat(Q_mat);//刷新物料
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "ITEMCODE", mat_entity.ItemCode);//激活当前行
}
}
else
{
MessageUtil.ShowTips("请选择物料");
}
}
else if (ultraTabControl1.SelectedTab.Key == "0")
{
if (ultraGrid2.ActiveRow != null)
{
string id_SuppGrade = ultraGrid2.ActiveRow.Cells["ID"].Value.ToString().Trim();
string id_SuppGradename = ultraGrid2.ActiveRow.Cells["SUPPNAME"].Value.ToString().Trim();
if (String.IsNullOrEmpty(id_SuppGrade))
{
MessageUtil.ShowTips("未获取该供应商关联标识,无法删除");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定要删除该物料与供应商【" + ultraGrid2.ActiveRow.Cells["SUPPNAME"].Value.ToString() + "】的挂接关系?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.SuppGradeService", "doDelete", new object[] { id_SuppGrade });//删除操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("删除成功!");
getSuppGrade(ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString());//刷新供应商
}
else
{
MessageUtil.ShowTips("请选择供应商");
}
}
else if (ultraTabControl1.SelectedTab.Key == "1")
{
if (ultraGrid3.ActiveRow != null)
{
if (MessageUtil.ShowYesNoAndQuestion("确定要删除物料属性【" + ultraGrid3.ActiveRow.Cells["ItemAttr"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
//string resStr = "";
//resStr = this.execute("com.hnshituo.pur.configure.service.MatService", "MatIsUsing", new object[] { ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString(), ultraGrid3.ActiveRow.Cells["ITEMATTRID"].Value.ToString() });//删除操作
//if (resStr != "")
//{
// MessageUtil.ShowTips("此物料的属性在" + resStr + "中使用,不能删除");
// return;
//}
PurMatAttrsEntity mat_entity = new PurMatAttrsEntity();
mat_entity.ItemAttrId = ultraGrid3.ActiveRow.Cells["ITEMATTRID"].Value.ToString();
mat_entity.Validflag = "0";
mat_entity.DeleteName = UserInfo.GetUserName();
mat_entity.DeleteTime = System.DateTime.Now;
mat_entity.DeleteUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatAttrsService", "doUpdate", new object[] { mat_entity });//删除操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("删除成功!");
getItemAttr();//刷新物料规格
}
else
{
MessageUtil.ShowTips("请选择物料属性");
}
}
else if (ultraTabControl1.SelectedTab.Key == "2")//删除标准编号
{
if (ultraGrid4.ActiveRow != null)
{
if (MessageUtil.ShowYesNoAndQuestion("确定要删除物料标准编号【" + ultraGrid4.ActiveRow.Cells["STANDARDSCODE"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
PurMatStandardsEntity PurMatStandards_Entity = new PurMatStandardsEntity();
PurMatStandards_Entity.ItemStandardsId = ultraGrid4.ActiveRow.Cells["ItemStandardsId"].Value.ToString();
PurMatStandards_Entity.Validflag = "0";
PurMatStandards_Entity.DeleteName = UserInfo.GetUserName();
PurMatStandards_Entity.DeleteUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatStandardsService", "doUpdate", new object[] { PurMatStandards_Entity });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("删除成功!");
getMatStandard();
}
}
else if (ultraTabControl1.SelectedTab.Key == "3")//删除单位
{
if (ultraGrid5.ActiveRow != null)
{
if (MessageUtil.ShowYesNoAndQuestion("确定要删除物料采购单位【" + ultraGrid5.ActiveRow.Cells["UOMNAME"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
PurMatUomsEntity MatUomsEntity = new PurMatUomsEntity();
MatUomsEntity.ItemUomId = ultraGrid5.ActiveRow.Cells["ITEMUOMID"].Value.ToString();
MatUomsEntity.Validflag = "0";
MatUomsEntity.DeleteName = UserInfo.GetUserName();
MatUomsEntity.DeleteUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatUomsService", "doUpdate", new object[] { MatUomsEntity});
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("删除成功!");
getMatUOM();
}
}
}
///
/// 启用物料
///
public void UsePUR_MAT()
{
if (ultraTabControl1.SelectedTab.Key == "01")
{
if (ultraGrid1.ActiveRow != null)
{
if (ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Value.ToString() != "作废")
{
MessageUtil.ShowTips("此物料正常使用,无须再做启用操作!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定要启用物料编码【" + ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
//string resStr = "";
//resStr = this.execute("com.hnshituo.pur.configure.service.MatService", "MatIsUsing", new object[] { ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString(), null });//删除操作
//if (resStr != "")
//{
// MessageUtil.ShowTips("物料在" + resStr + "中使用,不能删除");
// return;
//}
MatEntity mat_entity = new MatEntity();
mat_entity.ItemCode = ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString();
mat_entity.Validflag = "1";
mat_entity.UpdateName = UserInfo.GetUserName();
mat_entity.UpdateTime = System.DateTime.Now;
mat_entity.UpdateUserid = UserInfo.GetUserID();
mat_entity.ArcCode = ulTreeMat.ActiveNode.Key;//物料只保存分类编码,不保存父类编码
mat_entity.ArcItem = ulTreeMat.ActiveNode.Text;//物料分类编码名称
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "doUpdate", new object[] { mat_entity });//删除操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("启用失败 " + crt.Resultmsg);
return;
}
string meteringFlag = Ultcmb_METERING_FLAG.Value == null ? null : Ultcmb_METERING_FLAG.Value.ToString();//是否计量
if (meteringFlag.Equals("1"))
{
// 启用 数据到计量系统
string json = JSONFormat.Format(mat_entity);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.hnshituo.pur.configure.service.impl.MeterBaseMatterInforService";
ccp.MethodName = "logicDelete";
ccp.ServerParams = new object[] { json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
}
MessageUtil.ShowTips("启用成功!");
if (ulTreeMat.ActiveNode != null)
{
//MatEntity mM = new MatEntity();
//mM.ArcCode = ulTreeMat.ActiveNode.Key;
getMat(Q_mat);//刷新物料
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "ITEMCODE", mat_entity.ItemCode);//激活当前行
}
}
else
{
MessageUtil.ShowTips("请选择物料");
}
}
else//单位
{
if (ultraGrid5.ActiveRow==null)
{
MessageUtil.ShowYesNoAndQuestion("请选择要启用的单位");
return;
}
MatEntity mat = this.execute("com.hnshituo.pur.configure.service.MatService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["itemcode"].Value.ToString() });
PurMatUomsEntity matUoms = this.execute("com.hnshituo.pur.configure.service.MatUomsService", "findById", new object[] { ultraGrid5.ActiveRow.Cells["itemuomid"].Value.ToString() });
if (matUoms.WeightUnit != mat.WeightUnit)
{
MessageUtil.ShowTips("启用失败:因为启用的单位和物料的库存单位不一致");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定要启用单位【" + ultraGrid5.ActiveRow.Cells["UOMNAME"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
PurMatUomsEntity MatUomsEntity = new PurMatUomsEntity();
MatUomsEntity.ItemUomId = ultraGrid5.ActiveRow.Cells["ITEMUOMID"].Value.ToString();
MatUomsEntity.Validflag = "1";//备注
MatUomsEntity.DeleteName = UserInfo.GetUserName();
MatUomsEntity.DeleteUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatUomsService", "doUpdate", new object[] { MatUomsEntity });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("启用失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("启用成功!");
getMatUOM();
ConfigureClassCommon.doActiveSelRow(ultraGrid5, "ITEMUOMID", MatUomsEntity.ItemUomId);//激活当前行
}
}
///
/// 获取物料分类树形结构
///
public void getultree(DataTable dt)
{
ulTreeMat.Nodes.Clear();
if (dt == null || dt.Rows.Count < 1)
{
return;
}
dt_Purmatclass = dt;//保存物料分类全局变量
DataTable dt_A = new DataTable();//物料分类
//筛选出根节点
DataRow[] rows = dt.Select("PARENTCODE='' or PARENTCODE is null");
dt_A = dt.Clone(); //克隆A的结构
foreach (DataRow row in rows)
{
dt_A.ImportRow(row);//复制行数据
}
//排序
dt_A.DefaultView.Sort = "basename";
dt_A = dt_A.DefaultView.ToTable();
//添加物料大类
for (int j = 0; j < dt_A.Rows.Count; j++)
{
UltraTreeNode Ultnode = ulTreeMat.Nodes.Add(dt_A.Rows[j]["BASECODE"].ToString(), dt_A.Rows[j]["BASENAME"].ToString());
Ultnode.LeftImages.Add(imageList1.Images[Ultnode.Level]);
getChildNodes(Ultnode);
}
}
///
/// 递归查询父节点下的所有子节点
///
///
public void getChildNodes(UltraTreeNode Tnode)
{
DataTable dt_A = dt_Purmatclass.Clone();//物料分类
DataRow[] rows = dt_Purmatclass.Select("PARENTCODE='" + Tnode.Key + "'");
foreach (DataRow row in rows)
{
dt_A.ImportRow(row);//复制行数据
}
//排序
dt_A.DefaultView.Sort = "basename";
dt_A = dt_A.DefaultView.ToTable();
//添加物料分类
for (int j = 0; j < dt_A.Rows.Count; j++)
{
UltraTreeNode Ultnode = Tnode.Nodes.Add(dt_A.Rows[j]["BASECODE"].ToString(), dt_A.Rows[j]["BASENAME"].ToString());
try
{
Ultnode.LeftImages.Add(imageList1.Images[Ultnode.Level]);
//System.Drawing.Image image = System.Drawing.Image.FromFile(Environment.CurrentDirectory+"\\images\\IL_MAINMENU_IMAGE_LARGE\\01.png");
//Ultnode.LeftImages.Add(Environment.CurrentDirectory + "\\images\\IL_MAINMENU_IMAGE_LARGE\\01.png");
}
catch (Exception)
{
}
getChildNodes(Ultnode);//利用递归将当前节点的子节点添加进去
}
}
///
/// 选中树形结构后自动展开,并且查询出相印的物料
///
///
///
private void ulTreeMat_AfterActivate(object sender, NodeEventArgs e)
{
if (!QClickCellOrQuery)//如果不是点击查询按钮或单击grig行数据,刷新右侧数据
{
ulTreeMat.ActiveNode.Expanded = true;
qUltraNode = ulTreeMat.ActiveNode;
getMat(getEnSelContion(qUltraNode.Key));
}
txt_ARC_CODE.Text = ulTreeMat.ActiveNode.Key;
txt_ARC_ITEM.Text = ulTreeMat.ActiveNode.Text;
}
///
/// 查询物料规格
///
///
///
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow urg = ultraGrid1.ActiveRow;
if(urg!=null)
{
planPrice = urg.Cells["BUGPRICE"].Text.ToString();
}
if (ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Value.ToString() == "作废")
{
dataTable2.Rows.Clear();
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
dataTable5.Rows.Clear();
getControlBoxValue(0);//清空控件
setUltCmbEdt_sel();
}
else
{
//查询物料属性
getItemAttr();
//查询供应商
getSuppGrade(ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString().Trim());
//查询物料标准编码
getMatStandard();
//单位
getMatUOM();
//给控件赋值
getControlBoxValue(sender);
}
this.ultraTabControl1.SelectedTab = ultraTabPageControl1.Tab;
UltraTreeNode uttNode = ulTreeMat.GetNodeByKey(ultraGrid1.ActiveRow.Cells["ARCCODE"].Value.ToString());
if (ulTreeMat.ActiveNode == uttNode)
{
return;
}
ulTreeMat.CollapseAll();
QClickCellOrQuery = true;
ulTreeMat.ActiveNode = uttNode;
if (uttNode == null)
{
MessageUtil.ShowTips("物料名称:" + ultraGrid1.ActiveRow.Cells["ITEMNAME"].Value.ToString() + " 未找到相应的分类:" + ultraGrid1.ActiveRow.Cells["ARCCODE"].Value.ToString());
}
else
{
while (ulTreeMat.ActiveNode != uttNode)
{
ulTreeMat.ActiveNode = uttNode;
}
uttNode.Expanded = true;
//展开分类
while (uttNode.Parent != null)
{
uttNode = uttNode.Parent;
uttNode.Expanded = true;
}
}
QClickCellOrQuery = false;//设置未点击
}
//供应商单击事件
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
getControlBoxValue(sender);
}
//物料规格单击事件
private void ultraGrid3_AfterRowActivate(object sender, EventArgs e)
{
getControlBoxValue(sender);
}
private void ultraGrid5_AfterRowActivate(object sender, EventArgs e)
{
getControlBoxValue(sender);
}
///
/// 单击数据列表赋值数据给控件
///
private void getControlBoxValue(object sender)
{
if (sender.Equals(ultraGrid1) || sender.Equals(0))//清空文本框
{
foreach (Control ctr in ultraGroupBox6.Controls)
{
if (ctr is Label)
{ continue; }
if (ctr is UltraCheckEditor)
{
UltraCheckEditor ultcmb = (UltraCheckEditor)ctr;
//ultChkSuppUon.Checked = false;
}
ctr.Text = null;
}
if (ultraGrid1.ActiveRow != null && !sender.Equals(0))//物料信息
{
MatEntity mat_entity = this.execute("com.hnshituo.pur.configure.service.MatService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString() });
MatEntity mat_entity1 = CopyEntity(mat_entity);
if (mat_entity.BaseUnitFlag == "1")//基顿标识
{
cb_BASE_UNIT_FLAG.Checked = true;
txt_BASE_UNIT_VALUE.Text = mat_entity.BaseUnitValue == null ? "" : mat_entity.BaseUnitValue.ToString();
}
else
{
cb_BASE_UNIT_FLAG.Checked = false;
}
txt_ItemArcCode.Text = mat_entity.ArcCode;
txt_ItemArcCodeName.Text = mat_entity.ArcItem;
txt_IS_BUDGET_CTRL.Value = mat_entity.IsBudgetCtrl == null ? null : mat_entity.IsBudgetCtrl;//是否定额控制
txt_DELVRY_RANGE_MIN.Value = mat_entity.DelvryRangeMin;//交货量差下限
txt_DELVRY_RANGE_MAX.Value = mat_entity.DelvryRangeMax;//交货量差上限
txt_DELVRY_RANGE_TPE.Value = mat_entity.DelvryRangeTpe;//交货量差方式
txt_DELVRY_RANGE_MIN2.Value = mat_entity.DelvryRangeMin;//交货量差下限
txt_DELVRY_RANGE_MAX2.Value = mat_entity.DelvryRangeMax;//交货量差上限
txt_delivery_type_2.Value = mat_entity.DelvryRangeTpe;//交货量差方式
//txt_MENT_UNIT_CODE.Text = mat_entity.MentUnitDesc == null ? null : mat_entity.MentUnitDesc.ToString();//采购管理科室代码
//txt_BUYER_UNITCODE.Text = mat_entity.BuyerUnitDesc == null ? null : mat_entity.BuyerUnitDesc.ToString();//采购管理部门代码
txt_BUYER_ROLE_NAME.Text = mat_entity.BuyerRoleName == null ? null : mat_entity.BuyerRoleName;
txt_PLANNER_ROLE_NAME.Text = mat_entity.PlannerRoleName == null ? null : mat_entity.PlannerRoleName;
QstrBUYER_ROLE_ID = ultraGrid1.ActiveRow.Cells["BUYERROLEID"].Value.ToString();
QstrPLANNER_ROLE_ID = ultraGrid1.ActiveRow.Cells["PLANNERROLEID"].Value.ToString();
txt_INV_PHYSIC_USERID.Text = mat_entity.InvPhysicUsername == null ? null : mat_entity.InvPhysicUsername;//库管员名称
QstrINV_PHYSIC_USERID = mat_entity.InvPhysicUserid;
Ultcmb_WEIGHT_UNIT.Text = mat_entity.WeightUnit == null ? null : mat_entity.WeightUnit.ToString();//库存单位
Ultcmb_WEIGHT_UNIT_CODE.Text = mat_entity.WeightUnitCode == null ? null : mat_entity.WeightUnitCode.ToString();//库存单位编码
txt_WEIGHT_UNIT.Text = mat_entity.WeightUnit == null ? null : mat_entity.WeightUnit.ToString();//库存单位
txt_WEIGHT_UNIT_CODE.Text = mat_entity.WeightUnitCode == null ? null : mat_entity.WeightUnitCode.ToString();//库存单位编码
Ultcmb_RECEIVE_TYPE.Value = mat_entity.ReceiveType;//入库类型;1:直接入库2:收货质检入库3:JIT入库4:VMI入库
Ultcmb_BATCH_FLAG.Value = mat_entity.BatchFlag;//是否批次控制
Ultcmb_PUR_STANDARDS.Value = mat_entity.PurStandards;//采购标准
Ultcmb_INV_WASTE_FAC_UOM.Value = mat_entity.InvWasteFacUom == null ? null : mat_entity.InvWasteFacUom.ToString();//库存损耗率单位
//Ultcmb_SHARE_CK_SPEC_FLAG.Value = mat_entity.ShareCkSpecFlag;//是否与子规格共用库存
Ultcmb_METERING_FLAG.Value = mat_entity.MeteringFlag;//是否计量
txt_PC_FLAG.Value = mat_entity.PcFlag;
Ultcmb_PRICE_TYPE.Text = mat_entity.PriceType == null ? null : mat_entity.PriceType.ToString();//计价类型
Ultcmb_CURRENCY_CODE.Text = mat_entity.CurrencyCode == null ? null : mat_entity.CurrencyCode.ToString();//币种代码
Ultcmb_LIFE_CYCLE_UOM.Text = mat_entity.LifeCycleUom == null ? null : mat_entity.LifeCycleUom.ToString();//有效期单位
//txt_UOM_NAME.Text = mat_entity.ItemUom == null ? null : mat_entity.ItemUom.ToString();//采购单位(个、袋、桶)
//txt_PUR_STANDARDS_CODE.Text = mat_entity.PurStandardsCode == null ? null : mat_entity.PurStandardsCode.ToString();//采购标准编号
txt_MIN_STOCK.Text = mat_entity.MinStock == null ? null : mat_entity.MinStock.ToString();//最小库存(预警)
txt_MAX_STOCK.Text = mat_entity.MaxStock == null ? null : mat_entity.MaxStock.ToString();//最大库存(预警)
txt_LEAD_TIME.Text = mat_entity.LeadTime == null ? null : mat_entity.LeadTime.ToString();//采购提前时间(天)
txt_INV_WASTE_FAC.Text = mat_entity.InvWasteFac == null ? null : mat_entity.InvWasteFac.ToString();//库存损耗率
txt_LIFE_CYCLE.Text = mat_entity.LifeCycle == null ? null : mat_entity.LifeCycle.ToString();//有效期
txt_MIN_QTY.Text = mat_entity.MinQty == null ? null : mat_entity.MinQty.ToString();//最小采购数量
txt_QTY_MULTIPLE.Text = mat_entity.QtyMultiple == null ? null : mat_entity.QtyMultiple.ToString();//批量数
txt_BUG_PRICE.Text = mat_entity.BugPrice == null ? null : mat_entity.BugPrice.ToString();//计划价
txt_LAST_PRICE.Text = mat_entity.LastPrice == null ? null : mat_entity.LastPrice.ToString();//最近采购价
//txt_ITEM_UOM_CONEFFICIENT.Text = mat_entity.ItemUomConefficient == null ? null : mat_entity.ItemUomConefficient.ToString();//转换系数
txt_MONTH_END_AVG_PRICE.Text = mat_entity.MonthEndAvgPrice == null ? null : mat_entity.MonthEndAvgPrice.ToString();//月末移动平均价
txt_ITEM_NAME.Text = mat_entity.ItemName == null ? null : mat_entity.ItemName.ToString();//物料名称
txt_ITEM_DESC_E.Text = mat_entity.ItemDescE == null ? null : mat_entity.ItemDescE.ToString();//物料英文名称
txt_ITEM_DESC.Text = mat_entity.ItemDesc == null ? null : mat_entity.ItemDesc.ToString();//物料描述
txt_ITEM_MODEL.Text = mat_entity.ItemModel == null ? null : mat_entity.ItemModel.ToString();//物料材质
txt_ITEM_SPEC.Text = mat_entity.ItemSpec == null ? null : mat_entity.ItemSpec.ToString();//物料型号规格
txt_ITEM_CODE.Text = mat_entity.ItemCode == null ? null : mat_entity.ItemCode.ToString();//物料编码
Ultcmb_MAT_TYPE.Text = mat_entity.MatType == null ? null : mat_entity.MatType.ToString();//物料大类
}
}
else if (sender.Equals(ultraGrid2) || sender.Equals(1))
{
if (ultraGrid2.ActiveRow == null)
{
foreach (Control ctr in ultraTabPageControl2.Controls)
{
if (ctr.Name.Contains("label"))
{ continue; }
ctr.Text = null;
}
return;
}
if (ultraGrid2.ActiveRow != null && !sender.Equals(1))//物料供应商供应商信息
{
String strid = ultraGrid2.ActiveRow.GetCellValue("id").ToString().Trim();
if (String.IsNullOrEmpty(strid))
{ return; }
Entity_SuppGrade mat_entity = this.execute("com.hnshituo.pur.configure.service.SuppGradeService", "findById", new object[] { strid });
txt_suppCode.Text = ultraGrid2.ActiveRow.Cells["SUPPCODE"].Value.ToString();
txt_SUPP_NAME.Text = ultraGrid2.ActiveRow.Cells["SUPPNAME"].Value.ToString();
txt_IS_DEFAULT.Value = mat_entity.IsDefault;
txt_DELVRY_RANGE_MIN2.Value = mat_entity.DelvryRangeMin;//交货量差下限
txt_DELVRY_RANGE_MAX2.Value = mat_entity.DelvryRangeMax;//交货量差上限
txt_delivery_type_2.Value = mat_entity.DelvryRangeTpe;//交货量差方式
}
}
else if (sender.Equals(ultraGrid3) || sender.Equals(2))
{
if (ultraGrid3.ActiveRow == null)
{
foreach (Control ctr in ultraTabPageControl3.Controls)
{
//if (ctr.Name.Contains("label") || ctr.GetType().FullName == "txt_IS_DEFAULT_ATTR")
//{ continue; }
//ctr.Text = null;
ConfigureClassCommon.clearOldData(ultraTabPageControl3);
}
return;
}
if (ultraGrid3.ActiveRow != null && !sender.Equals(2))//编辑属性
{
txt_item_Attr4.Text = ultraGrid3.ActiveRow.Cells["itemAttr4"].Value.ToString();
txt_item_Attr3.Text = ultraGrid3.ActiveRow.Cells["itemAttr3"].Value.ToString();
txt_item_Attr2.Text = ultraGrid3.ActiveRow.Cells["itemAttr2"].Value.ToString();
txt_item_Attr1.Text = ultraGrid3.ActiveRow.Cells["itemAttr1"].Value.ToString();
txt_ITEM_ATTR.Text = ultraGrid3.ActiveRow.Cells["ITEMATTR"].Value.ToString();//属性名称
txt_ITEM_ATTR_CODE.Text = ultraGrid3.ActiveRow.Cells["ITEMATTRCODE"].Value.ToString();//属性编码
if (ultraGrid3.ActiveRow.Cells["ISDEFAULT"].Value.ToString() == "是")//是否常用
{
txt_IS_DEFAULT_ATTR.Value = "1";//是
}
else
{
txt_IS_DEFAULT_ATTR.Value = "0";//否
}
if (ultraGrid3.ActiveRow.Cells["txtIsLevel"].Value.ToString() == "是") //IsLevel
{
txt_IsLevel.Value = "1";//是
}
else
{
txt_IsLevel.Value = "0";//否
}
txt_REMARK_ATTR.Text = ultraGrid3.ActiveRow.Cells["REMARK"].Value.ToString();//备注
//txt_ORDER_NUM.Value = ultraGrid3.ActiveRow.Cells["ORDERNUM"].Value.ToString();//排序
//txt_UOM_NAME.Text = ultraGrid3.ActiveRow.Cells["ITEMUOM"].Value.ToString();//采购单位
//txt_ITEM_UOM_CONEFFICIENT.Text = ultraGrid3.ActiveRow.Cells["ITEMUOMCONEFFICIENT"].Value.ToString();//转换系数
//if (ultraGrid3.ActiveRow.Cells["ITEMUSEUOM"].Value.ToString() == "1")//是否使用采购单位
//{
//ultChkSuppUon.Checked = true;
// }
//else
//{
// ultChkSuppUon.Checked = false;
//}
}
}
else if (sender.Equals(ultraGrid4) || sender.Equals(3))
{
if (ultraGrid4.ActiveRow == null)
{
foreach (Control ctr in ultraTabPageControl7.Controls)
{
if (ctr.Name.Contains("label") || ctr.Name == "txt_IS_DEFAULT_STANDRANDS")
{ continue; }
ctr.Text = null;
}
return;
}
if (ultraGrid4.ActiveRow != null && !sender.Equals(3))
{
txt_STANDARDS_ID.Text = ultraGrid4.ActiveRow.Cells["STANDARDSID"].Value.ToString();//标准编号ID
txt_STANDARDS_CODE.Text = ultraGrid4.ActiveRow.Cells["STANDARDSCODE"].Value.ToString();//标准编号
txt_REMARK_STANDARD.Text = ultraGrid4.ActiveRow.Cells["REMARK"].Value.ToString();//备注
if (ultraGrid4.ActiveRow.Cells["ISDEFAULT"].Value.ToString() == "是")//是否常用
{
txt_IS_DEFAULT_STANDRANDS.Value = "1";//是
}
else
{
txt_IS_DEFAULT_STANDRANDS.Value = "0";//否
}
}
}
else if (sender.Equals(ultraGrid5) || sender.Equals(4))
{
if (ultraGrid5.ActiveRow == null)
{
foreach (Control ctr in ultraTabPageControl9.Controls)
{
if (ctr.Name.Contains("label") || ctr.Name == "txt_IS_DEFAULT_UOM")
{ continue; }
ctr.Text = null;
}
return;
}
if (ultraGrid5.ActiveRow != null && !sender.Equals(4))
{
txt_UOM_NAME.Text = ultraGrid5.ActiveRow.Cells["UOMNAME"].Value.ToString();//采购单位名称
txt_UOM_CODE.Text = ultraGrid5.ActiveRow.Cells["UOMCODE"].Value.ToString();//采购单位编码
txt_WEIGHT_UNIT_CODE.Text = ultraGrid1.ActiveRow.Cells["WEIGHTUNITCODE"].Value.ToString();//库存单位编码
txt_WEIGHT_UNIT.Text = ultraGrid1.ActiveRow.Cells["WEIGHTUNIT"].Value.ToString();//库存单位名称
txt_ITEM_UOM_CONEFFICIENT.Text = ultraGrid5.ActiveRow.Cells["ITEMUOMCONEFFICIENT"].Value.ToString();//转换系数
txt_REMARK_UOM.Text = ultraGrid5.ActiveRow.Cells["REMARK"].Value.ToString();//备注
if (ultraGrid5.ActiveRow.Cells["ISDEFAULT"].Value.ToString() == "是")//是否常用
{
txt_IS_DEFAULT_UOM.Value = "1";//是
}
else
{
txt_IS_DEFAULT_UOM.Value = "0";//否
}
}
}
}
///
/// 设置下拉列表默认选中事件
///
public void setUltCmbEdt_sel()
{
if (Ultcmb_RECEIVE_TYPE.Items.Count > 0)
Ultcmb_RECEIVE_TYPE.SelectedIndex = 0;
if (Ultcmb_BATCH_FLAG.Items.Count > 0)
Ultcmb_BATCH_FLAG.SelectedIndex = 0;
if (Ultcmb_PUR_STANDARDS.Items.Count > 0)
Ultcmb_PUR_STANDARDS.SelectedIndex = 0;
if (Ultcmb_INV_WASTE_FAC_UOM.Items.Count > 0)
Ultcmb_INV_WASTE_FAC_UOM.SelectedIndex = 0;
if (Ultcmb_METERING_FLAG.Items.Count > 0)
Ultcmb_METERING_FLAG.SelectedIndex = 0;
if (Ultcmb_PRICE_TYPE.Items.Count > 0)
Ultcmb_PRICE_TYPE.SelectedIndex = 0;
if (Ultcmb_CURRENCY_CODE.Items.Count > 0)
Ultcmb_CURRENCY_CODE.SelectedIndex = 0;
if (Ultcmb_LIFE_CYCLE_UOM.Items.Count > 0)
Ultcmb_LIFE_CYCLE_UOM.SelectedIndex = 0;
if (txt_DELVRY_RANGE_TPE.Items.Count > 0)
txt_DELVRY_RANGE_TPE.SelectedIndex = 0;
}
/// ultraGrid1行单击事件
///
///
///
private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl1.Tab;
UltraTreeNode uttNode = ulTreeMat.GetNodeByKey(e.Cell.Row.Cells["ARCCODE"].Value.ToString());
if (ulTreeMat.ActiveNode == uttNode)
{
return;
}
ulTreeMat.CollapseAll();
QClickCellOrQuery = true;
ulTreeMat.ActiveNode = uttNode;
if (uttNode == null)
{
MessageUtil.ShowTips("物料名称:" + e.Cell.Row.Cells["ITEMNAME"].Value.ToString() + " 未找到相应的分类:" + e.Cell.Row.Cells["ARCCODE"].Value.ToString());
}
else
{
while (ulTreeMat.ActiveNode != uttNode)
{
ulTreeMat.ActiveNode = uttNode;
}
uttNode.Expanded = true;
//展开分类
while (uttNode.Parent != null)
{
uttNode = uttNode.Parent;
uttNode.Expanded = true;
}
}
QClickCellOrQuery = false;//设置未点击
}
///
/// ultraGrid2行单击事件
///
///
///
private void ultraGrid2_ClickCell(object sender, ClickCellEventArgs e)
{
}
///
/// ultraGrid3行单击事件
///
///
///
private void ultraGrid3_ClickCell(object sender, ClickCellEventArgs e)
{
}
///
/// ultraGrid5行单击事件
///
///
///
private void ultraGrid5_ClickCell(object sender, ClickCellEventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl9.Tab;
}
private void ultraGrid2_Click(object sender, EventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab;
}
private void ultraGrid3_Click(object sender, EventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl3.Tab;
}
private void ultraGrid4_Click(object sender, EventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl7.Tab;
}
///
/// 单击选择编辑区tab页
///
///
///
private void ultraGrid5_Click(object sender, EventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl9.Tab;
}
///
/// 是否使用采购单位
///
///
///
private void ultChkSuppUon_CheckedChanged(object sender, EventArgs e)
{
////if (ultChkSuppUon.Checked)
//{
// Ultcmb_ITEM_UOM.Enabled = true;
// txt_ITEM_UOM_CONEFFICIENT.Enabled = true;
//}
//else
//{
// Ultcmb_ITEM_UOM.Enabled = false;
// txt_ITEM_UOM_CONEFFICIENT.Enabled = false;
//}
}
///
/// 单机选择采购部门
///
///
///
//private void txt_BUYER_DEPT_CODE_MouseClick(object sender, MouseEventArgs e)
//{
// //查询采购科室
// frmdepartment frm = new frmdepartment(ob);
// frm.StartPosition = FormStartPosition.Manual;
// frm.Location = new Point(Cursor.Position.X, Cursor.Position.Y - frm.Height);//还需设置frm.StartPosition属性
// frm.ShowDialog();
// if (frm.BuyerUnitCode == null)
// return;
// if (sender.Equals(txt_BUYER_UNITCODE))
// {
// txt_BUYER_UNITCODE.Text = frm.BuyerUnitDesc;
// strBUYER_DEPT_CODE = frm.BuyerUnitCode;
// }
// else if (sender.Equals(txt_MENT_UNIT_CODE))
// {
// txt_MENT_UNIT_CODE.Text = frm.BuyerUnitDesc;
// strMENT_UNIT_CODE = frm.BuyerUnitCode;
// }
//}
private void ultraScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
foreach (Control gbox in ultraGroupBox6.Controls)
{
if (gbox is UltraScrollBar) continue;
gbox.Location = new Point(gbox.Location.X, (int)gbox.Tag - e.NewValue);
}
}
///
/// 获取查询条件
///
///
private MatEntity getEnSelContion(string str)
{
MatEntity eMat = new MatEntity();
if (str == null)
{
if (ultraTextEditor1.Text.Trim() != "")
{
eMat.ItemCode = ultraTextEditor1.Text;
}
if (ultraTextEditor2.Text.Trim() != "")
{
string strItemName = ultraTextEditor2.Text.Trim();
while (strItemName.Contains(" "))
{
strItemName=strItemName.Replace(" ", " ");
}
eMat.MatItems = strItemName.Split(' ');
}
//物料分类
if (checkBox1.Checked)
{
eMat.UpdateName = txt_ARC_CODE.Text;
}
}
else
{
eMat.ArcCode = str;
}
if (cmbNum.Value != null && cmbNum.Value.ToString() != "")
{
eMat.ItemUomConefficient = double.Parse(cmbNum.Value.ToString());
}
return eMat;
}
///
/// 获取物料编码
///
///
///
public string getItemCodeClass(string str, string strParentCode)
{
//在后台获取编码
string strCode = this.execute("com.hnshituo.pur.configure.service.MatService", "getItemCode", new object[] { str });
return strCode;
//在前台获取编码
//string strChild = "";
//string strJion = "";
//int num = 0;
//MatEntity mat = new MatEntity();
//if (strParentCode == "")//获取物料编码
//{
// num = 7;
// mat.ArcCode = str;
//}
//else//获取属性物料编码
//{
// strJion = "@";
// num = 3;
// mat.ParentItemCode = str;
//}
//int intChild = this.execute("com.hnshituo.pur.configure.service.MatService", "count", new object[] { mat, 0, 0 });
//intChild++;
//strChild = intChild.ToString();
//while (strChild.Length < num)
//{
// strChild = "0" + strChild;
//}
////判断编码是否存在
//MatEntity matIsExsitRow = new MatEntity();
//matIsExsitRow.ItemCode = str + strJion + strChild;
//while (isExsitRow("com.hnshituo.pur.configure.service.MatService", matIsExsitRow) > 0)
//{
// intChild++;
// strChild = intChild.ToString();
// while (strChild.Length < num)
// {
// strChild = "0" + strChild;
// }
// matIsExsitRow.ItemCode = str + strJion + strChild;
//}
//return str + strJion + strChild;
}
///
/// 选择供应商
///
///
///
///
private void txt_SUPP_NAME_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
DataTable dt = this.execute("com.hnshituo.pur.configure.service.SuppService", "findAll", new object[] { });
if (dt == null || dt.Rows.Count < 1)
{
MessageUtil.ShowTips("暂无供应商可选");
return;
}
frmSuppSel frm = new frmSuppSel(this.ob);
frm.ShowDialog();
if (!string.IsNullOrEmpty(frm.strSUPP_NAME))
{
txt_SUPP_NAME.Text = frm.strSUPP_NAME;
txt_suppCode.Text = frm.strSUPP_CODE;
}
}
///
/// 选择采购员角色ID
///
///
///
private void txt_BUYER_ROLE_ID_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
FrmPop_core_app_srole frm = new FrmPop_core_app_srole(this.ob);
frm.ShowDialog();
if (frm.StrDeptid != "")
{
if (sender.Equals(txt_BUYER_ROLE_NAME))//物料
{
QstrBUYER_ROLE_ID = frm.StrDeptid;
txt_BUYER_ROLE_NAME.Text = frm.StrName;
}
else//供应商
{
QstrBUYER_ROLE_ID1 = frm.StrDeptid;
txt_BUYER_ROLE_NAME1.Text = frm.StrName;
}
}
}
///
/// 选择库管员
///
///
///
private void txt_INV_PHYSIC_USERID_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
SetectManByDept frm = new SetectManByDept(this.ob, "002001029006");
frm.ShowDialog();
if (!string.IsNullOrEmpty(frm.StrUserID))
{
QstrINV_PHYSIC_USERID = frm.StrUserID;
txt_INV_PHYSIC_USERID.Text = frm.StrUserName;
}
}
///
/// 选择计划员角色ID
///
///
///
private void txt_PLANNER_ROLE_ID_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
FrmPop_core_app_srole frm = new FrmPop_core_app_srole(this.ob);
frm.ShowDialog();
if (sender.Equals(txt_PLANNER_ROLE_NAME))//物料
{
if (frm.StrDeptid != "")
{
QstrPLANNER_ROLE_ID = frm.StrDeptid;
txt_PLANNER_ROLE_NAME.Text = frm.StrName;
}
}
else//供应商
{
if (frm.StrDeptid != "")
{
QstrPLANNER_ROLE_ID1 = frm.StrDeptid;
txt_PLANNER_ROLE_NAME1.Text = frm.StrName;
}
}
}
///
/// 批量修改物料采购员或计划员角色
///
///
/// 1为采购员,2为计划员
private void updateSrole(string strParentMatCode, string PeopleType)
{
if (PeopleType == "2")
{ //修改采购员角色
FrmPop_core_app_srole frm = new FrmPop_core_app_srole(this.ob);
frm.ShowDialog();
if (frm.StrDeptid != "")
{
if (MessageUtil.ShowYesNoAndTips("是否确定批量修改物料分类【" + ulTreeMat.ActiveNode.Text + "】所有物料的采购员角色为【" + frm.StrName + "】?").Equals(DialogResult.No))
{ return; }
MatEntity mat_entity = new MatEntity();
mat_entity.ArcCode = strParentMatCode;
mat_entity.BuyerRoleId = frm.StrDeptid;
mat_entity.BuyerRoleName = frm.StrName;
mat_entity.UpdateName = UserInfo.GetUserName();
mat_entity.UpdateUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "updateSrole", new object[] { mat_entity });//更新操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("批量更新失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("批量更新成功");
if (Q_mat != null)
getMat(Q_mat);//刷新物料
}
}
//修改
else if (PeopleType == "3")
{
SetectManByDept frm = new SetectManByDept(this.ob, "002001029006");
frm.ShowDialog();
if (!string.IsNullOrEmpty(frm.StrUserID))
{
if (MessageUtil.ShowYesNoAndTips("是否确定批量修改物料分类【" + ulTreeMat.ActiveNode.Text + "】所有物料的库管员为【" + frm.StrUserName + "】?").Equals(DialogResult.No))
{ return; }
QstrINV_PHYSIC_USERID = frm.StrUserID;
txt_INV_PHYSIC_USERID.Text = frm.StrUserName;
MatEntity mat_entity = new MatEntity();
mat_entity.ArcCode = strParentMatCode;
mat_entity.InvPhysicUserid = frm.StrUserID;
mat_entity.InvPhysicUsername = frm.StrUserName;
mat_entity.UpdateName = UserInfo.GetUserName();
mat_entity.UpdateUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "updateSrole", new object[] { mat_entity });//更新操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("批量更新库管员失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("批量更新库管员成功");
if (Q_mat != null)
getMat(Q_mat);//刷新物料
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "ITEMCODE", mat_entity.ItemCode);//激活当前行
}
}
else if (PeopleType == "1")//修改计划员角色
{
FrmPop_core_app_srole frm = new FrmPop_core_app_srole(this.ob);
frm.ShowDialog();
if (frm.StrDeptid != "")
{
if (MessageUtil.ShowYesNoAndTips("是否确定批量修改物料分类【" + ulTreeMat.ActiveNode.Text + "】所有物料的计划员角色为【" + frm.StrName + "】?").Equals(DialogResult.No))
{ return; }
MatEntity mat_entity = new MatEntity();
mat_entity.ArcCode = strParentMatCode;
mat_entity.Validflag = "1";
mat_entity.PlannerRoleId = frm.StrDeptid;
mat_entity.PlannerRoleName = frm.StrName;
mat_entity.UpdateName = UserInfo.GetUserName();
mat_entity.UpdateUserid = UserInfo.GetUserID();
// if (MessageUtil.ShowYesNoAndQuestion("是否确定修改物料分类【" + ulTreeMat.ActiveNode.Text + "】的计划员角色为【" + frm.StrName + "】?") == DialogResult.No)
//{
// return;
// }
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "updateSrole", new object[] { mat_entity });//更新操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("批量更新失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("批量更新成功");
if (Q_mat != null)
getMat(Q_mat);//刷新物料
}
}
}
///
/// 批量新增供应商
///
///
/// 1为采购员,2为计划员
private void addSupps(string strParentMatCode, string strSuppCode)
{
if (txt_suppCode.Text.Trim() == "")
{
MessageUtil.ShowTips("请选择供应商");
return;
}
if (strParentMatCode == "")
{
MessageUtil.ShowTips("请选择分类");
return;
}
Supp EntitySupp = this.execute("com.hnshituo.pur.configure.service.SuppService", "findById", new object[] { strSuppCode });
MatEntity mat_entity = this.execute("com.hnshituo.pur.configure.service.MatService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["ITEMCODE"].Value.ToString() });
Entity_SuppGrade EntitySuppGrade = new Entity_SuppGrade();
EntitySuppGrade.SuppCode = EntitySupp.SuppCode;
EntitySuppGrade.ItemCode = mat_entity.ItemCode;
if (isExsitRow("com.hnshituo.pur.configure.service.SuppGradeService", EntitySuppGrade) > 0)//包含相同的文件
{
MessageUtil.ShowTips("数据库中存在相同的供应商,请重新选择");
return;
}
EntitySuppGrade.SuppName = EntitySupp.SuppName;
EntitySuppGrade.SuppShortName = EntitySupp.SuppShortName;
EntitySuppGrade.SuppPerGrade = EntitySupp.SuppCreditRate;
EntitySuppGrade.IsDefault = txt_IS_DEFAULT.Value == null ? null : txt_IS_DEFAULT.Value.ToString();
EntitySuppGrade.ItemCode = mat_entity.ItemCode;
EntitySuppGrade.ItemDesc = mat_entity.ItemDesc;
EntitySuppGrade.ItemDescE = mat_entity.ItemDescE;
EntitySuppGrade.ItemName = mat_entity.ItemName;
//EntitySuppGrade.BuyerRoleId = QstrBUYER_ROLE_ID1;
//EntitySuppGrade.PlannerRoleName = QstrPLANNER_ROLE_ID1;
//EntitySuppGrade.BuyerRoleName = txt_BUYER_ROLE_NAME1.Text;
//EntitySuppGrade.PlannerRoleName = txt_PLANNER_ROLE_NAME1.Text;
if (txt_delivery_type_2.SelectedIndex == -1)
{
MessageUtil.ShowTips("请选择交货差方式");
txt_delivery_type_2.Focus();
return;
}
EntitySuppGrade.DelvryRangeTpe = txt_delivery_type_2.Value.ToString().Trim();//交货量差方式
if ("1" == txt_delivery_type_2.Value.ToString().Trim() || "2" == txt_delivery_type_2.Value.ToString().Trim())
{
if (txt_DELVRY_RANGE_MIN2.Value != null)
{
EntitySuppGrade.DelvryRangeMin = double.Parse(txt_DELVRY_RANGE_MIN2.Value.ToString());//交货量差下限
}
else
{
MessageUtil.ShowTips("请填写交货量差下限值");
txt_DELVRY_RANGE_MIN2.Focus();
return;
}
if (txt_DELVRY_RANGE_MAX2.Value != null)
{
EntitySuppGrade.DelvryRangeMax = double.Parse(txt_DELVRY_RANGE_MAX2.Value.ToString());//交货量差上限
}
else
{
MessageUtil.ShowTips("请填写交货量差上限值");
txt_DELVRY_RANGE_MAX2.Focus();
return;
}
}
else
{
EntitySuppGrade.DelvryRangeMin = 0;
EntitySuppGrade.DelvryRangeMax = 0;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确定添加供应商【" + txt_SUPP_NAME.Text.Trim() + "】到物料分类【" + ulTreeMat.ActiveNode.Text.ToString().Trim() + "】下的所有物料中?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.configure.service.MatService", "AddSupps", new object[] { mat_entity,EntitySuppGrade });//更新操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("批量新增失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("批量新增成功");
if (Q_mat != null)
getMat(Q_mat);//刷新物料
}
///
/// 采购单位单击按钮
///
///
///
private void Ultcmb_ITEM_UOM_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
//frmPopItemUon frm = new frmPopItemUon(this.ob);
//frm.ShowDialog();
//txt_UOM_NAME.Text = frm.QstrWeightName;
//txt_UOM_NAME.Text = frm.QstrWeightName;
}
private void Ultcmb_WEIGHT_UNIT_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
FrmPopItemWeight frm = new FrmPopItemWeight(this.ob);
frm.ShowDialog();
if (!string.IsNullOrEmpty(frm.QstrWeightName))
{
Ultcmb_WEIGHT_UNIT.Text = frm.QstrWeightName;
Ultcmb_WEIGHT_UNIT_CODE.Text = frm.QstrWeightCode;
}
}
///
/// 绑定所有的下拉列表的数据
///
private void getUltcmbBindValueList(DataTable dt, UltraComboEditor ultcmb)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
ValueListItem vlItem = new ValueListItem(dt.Rows[i]["BASECODE"].ToString().Trim(), dt.Rows[i]["BASENAME"].ToString().Trim());
ultcmb.Items.Add(vlItem);
}
}
///
/// 切换tab功能界面同时切换相应的编辑区界面
///
///
///
private void ultraTabControl2_Click(object sender, EventArgs e)
{
if (this.ultraTabControl2.SelectedTab.Key == "0")
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab;
}
else if (this.ultraTabControl2.SelectedTab.Key == "1")
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl3.Tab;
}
else if (this.ultraTabControl2.SelectedTab.Key == "2")
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl7.Tab;
}
else if (this.ultraTabControl2.SelectedTab.Key == "3")
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl9.Tab;
}
}
///
/// 移除无效数据
///
///
private void removeNotValiflagData(DataTable dt)
{
for (int i = 0; i < dt.Rows.Count; )
{
if (dt.Rows[i]["VALIDFLAG"].ToString() == "0")
{
dt.Rows.RemoveAt(i);
}
else
{
i++;
}
}
}
/// 单击选择列表区tab页
///
///
///
private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (this.ultraTabControl1.SelectedTab.Key == "0")
{
this.ultraTabControl2.SelectedTab = ultraTabPageControl4.Tab;
}
else if (this.ultraTabControl1.SelectedTab.Key == "1")
{
this.ultraTabControl2.SelectedTab = ultraTabPageControl5.Tab;
}
else if (this.ultraTabControl1.SelectedTab.Key == "2")
{
this.ultraTabControl2.SelectedTab = ultraTabPageControl6.Tab;
}
else if (this.ultraTabControl1.SelectedTab.Key == "3")
{
this.ultraTabControl2.SelectedTab = ultraTabPageControl8.Tab;
}
}
///
/// 绑定下拉列表的数据
///
///
///
private void getUltcmbBindData()
{
DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1101" }, this.ob);
removeNotValiflagData(dt);
getUltcmbBindValueList(dt, Ultcmb_RECEIVE_TYPE);
//Ultcmb_RECEIVE_TYPE.DataSource = dt;
//Ultcmb_RECEIVE_TYPE.DisplayMember = "BASENAME";
//Ultcmb_RECEIVE_TYPE.ValueMember = "BASECODE";
//ComboBoxHelper.FillUltraComboItems(Ultcmb_RECEIVE_TYPE, dt, "VALIDFLAG='1'");//接收方式
}
///
/// 点击弹出属性选择窗口
///
///
///
private void txt_ITEM_ATTR_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
FrmPopAttrs frm = new FrmPopAttrs(this.ob);
frm.ShowDialog();
if (frm.QstrItemAttrCode != "")
{
txt_ITEM_ATTR.Text = frm.QstrItemAttr;
txt_ITEM_ATTR_CODE.Text = frm.QstrItemAttrCode;
txt_MatAttrClass.Text = frm.QstrItemAttrClass;
txt_MatAttrClassName.Text = frm.QstrItemAttrClassName;
}
}
///
/// 点击弹出标准编号选择窗口
///
///
///
private void txt_STANDARDS_CODE_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
FrmPopStandards frm = new FrmPopStandards(this.ob);
frm.ShowDialog();
if (frm.QstrStandardsCode != "")
{
txt_STANDARDS_CODE.Text = frm.QstrStandardsCode;
txt_STANDARDS_ID.Text = frm.QstrStandardsId;
}
}
///
/// 点击弹出单位选择窗口
///
///
///
private void txt_UOM_NAME_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
string strWeight = "";
if (ultraGrid1.ActiveRow != null)
{
strWeight = ultraGrid1.ActiveRow.Cells["WEIGHTUNITCODE"].Value.ToString();
}
frmPopItemUon frm = new frmPopItemUon(this.ob, strWeight);
frm.ShowDialog();
if (frm.QstrUOMCode != "")
{
txt_ITEM_UOM_CONEFFICIENT.Text = frm.QstrItemUomConefficient;//转换系数
txt_WEIGHT_UNIT_CODE.Text = frm.QstrWeightCode;//库存单位编码
txt_WEIGHT_UNIT.Text = frm.QstrWeightName;//库存单位名称
txt_UOM_CODE.Text = frm.QstrUOMCode;//采购单位名称
txt_UOM_NAME.Text = frm.QstrUOMName;//采购单位名称
}
}
///
/// 基顿标识
///
///
///
private void cb_BASE_UNIT_FLAG_CheckedChanged(object sender, EventArgs e)
{
txt_BASE_UNIT_VALUE.ReadOnly = !cb_BASE_UNIT_FLAG.Checked;
}
///
/// 是否显示已作废的物料
///
///
///
private void chk_showHasDelete_CheckedChanged(object sender, EventArgs e)
{
getMat(Q_mat);
}
///
/// 是否显示已作废的物料
///
///
private void showHasDelete(bool bl)
{
if (bl)//true 显示作废物料
{
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (ugr.Cells["VALIDFLAG"].Value.ToString() == "作废")
{
//ugr.Hidden = false;//显示
ugr.Appearance.ForeColor = Color.Red;
}
}
}
//else
//{
// foreach (UltraGridRow ugr in ultraGrid1.Rows)
// {
// if (ugr.Cells["VALIDFLAG"].Value.ToString() == "作废")
// {
// //ugr.Hidden = true;//隐藏
// }
// }
//}
}
///
/// 物料分类维护审批流程
///
private void setMatClassPross()
{
if (ulTreeMat.ActiveNode != null && ulTreeMat.ActiveNode.Key.Length==5)
{
frmPopMatClassPross frm = new frmPopMatClassPross(this.ob, ulTreeMat.ActiveNode.Key);
frm.StartPosition = FormStartPosition.Manual;//设置窗体初始位置由Location决定
frm.StartPosition = FormStartPosition.CenterParent;//设置窗体初始位置
frm.ShowDialog();
}
else
{
MessageUtil.ShowTips("请选择物料小类");
return;
}
}
private void txt_DELVRY_RANGE_TPE_ValueChanged(object sender, EventArgs e)
{
if (txt_DELVRY_RANGE_TPE.Value != null)
{
if (txt_DELVRY_RANGE_TPE.Value.ToString() == "1")//绝对值
{
label73.Visible = false;
label74.Visible = false;
}
else//百分比
{
label73.Visible = true;
label74.Visible = true;
}
}
}
private void txt_delivery_type_2_ValueChanged(object sender, EventArgs e)
{
if (txt_DELVRY_RANGE_TPE.Value != null)
{
if (txt_DELVRY_RANGE_TPE.Value.ToString() == "1")//绝对值
{
label81.Visible = false;
label82.Visible = false;
}
else//百分比
{
label81.Visible = true;
label82.Visible = true;
}
}
}
///
/// 选择物料分类
///
///
///
private void txt_ItemArcCode_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
}
private void txt_ItemArcCodeName_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
frmPopMatClass frm = new frmPopMatClass(this.ob,"1");
frm.ShowDialog();
if (frm.Q_Ultnode != null)
{
txt_ItemArcCodeName.Text = frm.Q_Ultnode.Text;
txt_ItemArcCode.Text = frm.Q_Ultnode.Key;
}
}
///
/// 复制实体类数据(源数据可以为任何类型,该方法只赋值属性名称相同的属性。)
///
/// 实体类
/// 源对象
public T CopyEntity(object srcObj)
{
Type type1 = typeof(T);
T t = (T)type1.Assembly.CreateInstance(type1.FullName);
PropertyInfo[] props = srcObj.GetType().GetProperties();
foreach (PropertyInfo prop in props)
{
PropertyInfo pobj = type1.GetProperty(prop.Name);
if (pobj != null)
{
pobj.SetValue(t, prop.GetValue(srcObj, null), null);
}
}
T t1 = (T)typeof(T).Assembly.CreateInstance(typeof(T).FullName);
Type tp = t1.GetType();
PropertyInfo[] proInfo = srcObj.GetType().GetProperties();
foreach (PropertyInfo prop in proInfo)
{
PropertyInfo propObj = tp.GetProperty(prop.Name);
if (propObj != null)
{
propObj.SetValue(t1, prop.GetValue(srcObj, null), null);
}
}
try
{
T Desobj = (T)typeof(T).Assembly.CreateInstance(typeof(T).FullName);
PropertyInfo[] srcPropertyInfos = srcObj.GetType().GetProperties();
foreach (PropertyInfo srcPropertyInfo in srcPropertyInfos)
{
PropertyInfo DespropertyInfo = Desobj.GetType().GetProperty(srcPropertyInfo.Name);
if (DespropertyInfo == null) continue;
DespropertyInfo.SetValue(Desobj, srcPropertyInfo.GetValue(srcObj, null), null);
}
return Desobj;
}
catch (Exception ex)
{
throw;
}
}
}
}