using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.BLL.OA;
using System.Data;
using System.Data.SqlClient;
using CY.Infrastructure.Common;
using CY.Model;
using CY.BLL.Sys;
namespace CY.WebForm.Pages.procurement
{
public partial class ProcurementADD : BasePage
{
OA_SpecificationBLL _OA_SpecificationBLL = null;
OA_SuppliersBLL _OA_SuppliersBLL = null;
OA_CommodityBLL _OA_CommodityBLL = null;
OA_GoodsInfoBLL _OA_GoodsInfoBLL = null;
OA_ProcurementBLL _OA_ProcurementBLL = null;
OA_GoodsInfo GoodsInfo = null;
OA_Procurement procurement = null;
Sys_DictionaryBLL bll_Sys_DictionaryBLL = null;
OA_BrandBLL _OA_BrandBLL = null;
OA_PaperWeightBLL _OA_PaperWeightBLL = null;
string Keyid = string.Empty;
public ProcurementADD()
{
_OA_PaperWeightBLL = new OA_PaperWeightBLL();
_OA_SpecificationBLL = new OA_SpecificationBLL();
_OA_BrandBLL = new OA_BrandBLL();
procurement = new OA_Procurement();
_OA_CommodityBLL = new OA_CommodityBLL();
_OA_ProcurementBLL = new OA_ProcurementBLL();
_OA_SuppliersBLL = new OA_SuppliersBLL();
_OA_GoodsInfoBLL = new OA_GoodsInfoBLL();
GoodsInfo = new OA_GoodsInfo();
bll_Sys_DictionaryBLL = new Sys_DictionaryBLL();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitialData();
if (dwCommity.SelectedItem.Text != "纸张")
{
this.tanDiv.Visible = false;
this.tanDiv1.Visible = true;
this.dwPaperWeight.Visible = false;
this.trWeight.Visible = false;
this.div_td.Visible = false;
this.div_td1.Visible = true;
}
dwBrand.Items.Insert(0, new ListItem("请选择", ""));
dwSpecification.Items.Insert(0, new ListItem("请选择", ""));
dwGoodsList.Items.Insert(0, new ListItem("请选择", ""));
}
}
///
/// 初始化下拉列表
///
protected void InitialData()
{
///供应商
selSuppliers.DataSource = _OA_SuppliersBLL.getSupplierTable(CurrentUser.MemberId);
selSuppliers.DataBind();
//selSuppliers.Items.Insert(0, new ListItem("请选择", "0"));
///产品类别
///
dwCommity.Items.Insert(0, new ListItem("请选择", ""));
DataTable ds = _OA_CommodityBLL.SelectModelPage(CurrentUser.MemberId, "", "true");
GetDataByLevel(dwCommity, ds, 0, 0);
if (Request["Keyid"].ToInt32() > 0)
{
Keyid = Request["Keyid"].ToString();
ShowProcurementData();
}
}
private void ShowProcurementData()
{
OA_Procurement procurementModel = null;
procurementModel = new OA_Procurement();
procurementModel = _OA_ProcurementBLL.SelectSingleModel(Keyid);
this.selSuppliers.Value = procurementModel.SuppliersId.ToString();
this.dwCommity.SelectedValue = procurementModel.Commodityid.ToString();
DataTable ds = _OA_GoodsInfoBLL.SlectModleByCommity(dwCommity.SelectedValue, CurrentUser.MemberId);
if (ds.Rows.Count > 0)
{
dwGoodsList.DataSource = ds;
dwGoodsList.DataTextField = "GoodsName";
dwGoodsList.DataValueField = "Keyid";
dwGoodsList.DataBind();
}
else
{
dwGoodsList.Items.Clear();
dwGoodsList.Items.Insert(0, new ListItem("请选择", ""));
}
this.dwGoodsList.SelectedValue = procurementModel.GoodsId.ToString();
indecChage();
this.dwBrand.SelectedValue = procurementModel.BrandId.ToString();
this.dwSpecification.SelectedValue = procurementModel.SpecificationId.ToString();
this.dwPaperWeight.SelectedValue = procurementModel.PaperWeightId.ToString();
this.txtQuantity.Value = procurementModel.Quantity.ToString();
this.txtPrice.Value = procurementModel.Price.ToString();
this.txtTenPrice.Value = procurementModel.TanPrice.ToString();
this.txtAllMoney.Value = procurementModel.AllMoney.ToString();
}
///
/// 产品类别
///
///
///
///
///
public static void GetDataByLevel(System.Web.UI.WebControls.DropDownList dwCommity, DataTable data, int parentId, int level)
{
DataRow[] result = data.Select(string.Format("ParentId={0}", parentId));
int i = -1;
while (++i < result.Length)
{
dwCommity.Items.Add(new ListItem(GetSplitChar(level) + result[i]["CommodityName"].ToString2(), result[i]["Keyid"].ToString2()));
GetDataByLevel(dwCommity, data, result[i]["Keyid"].ToInt32().Value, level + 1);
}
}
public static string GetSplitChar(int level)
{
string splitchar = "";
int i = -1;
while (++i < level)
{
splitchar += ".";
}
return splitchar;
}
///
/// 类别选取
///
///
///
protected void dwCommity_SelectedIndexChanged(object sender, EventArgs e)
{
DataTable ds = _OA_GoodsInfoBLL.SlectModleByCommity(dwCommity.SelectedValue, CurrentUser.MemberId);
if (ds.Rows.Count > 0)
{
dwGoodsList.DataSource = ds;
dwGoodsList.DataTextField = "GoodsName";
dwGoodsList.DataValueField = "Keyid";
dwGoodsList.DataBind();
dwGoodsList.Items.Insert(0, new ListItem("请选择", ""));
dwBrand.Items.Clear();
dwBrand.Items.Insert(0, new ListItem("请选择", ""));
dwSpecification.Items.Clear();
dwSpecification.Items.Insert(0, new ListItem("请选择", ""));
dwPaperWeight.Items.Clear();
dwPaperWeight.Items.Insert(0, new ListItem("请选择", ""));
if (dwCommity.SelectedItem.Text == "纸张")
{
this.dwPaperWeight.Visible = true;
this.trWeight.Visible = true;
this.tanDiv.Visible = true;
this.tanDiv1.Visible = false;
this.div_td.Visible = true;
this.div_td1.Visible = false;
}
else
{
this.dwPaperWeight.Visible = false;
this.trWeight.Visible = false;
this.tanDiv.Visible = false;
this.tanDiv1.Visible = true;
this.div_td.Visible = false;
this.div_td1.Visible = true;
}
}
else
{
dwGoodsList.Items.Clear();
dwGoodsList.Items.Insert(0, new ListItem("请选择", ""));
dwBrand.Items.Clear();
dwBrand.Items.Insert(0, new ListItem("请选择", ""));
dwSpecification.Items.Clear();
dwSpecification.Items.Insert(0, new ListItem("请选择", ""));
dwPaperWeight.Items.Clear();
dwPaperWeight.Items.Insert(0, new ListItem("请选择", ""));
}
//indecChage();
}
///
/// 根据产品名初始化数据
///
///
///
protected void dwGoodsList_SelectedIndexChanged(object sender, EventArgs e)
{
indecChage();
}
///
/// 根据货品类别和货品名称选择规格和品牌
///
protected void indecChage()
{
///品牌
DataTable dt_brand = _OA_BrandBLL.getAllBrand(CurrentUser.MemberId, this.dwCommity.SelectedValue, this.dwGoodsList.SelectedValue);
if (dt_brand.Rows.Count > 0)
{
this.dwBrand.DataSource = dt_brand;
this.dwBrand.DataTextField = "Name";
this.dwBrand.DataValueField = "Keyid";
this.dwBrand.DataBind();
}
else
{
this.dwBrand.Items.Clear();
this.dwBrand.Items.Insert(0, new ListItem("请选择", ""));
}
DataTable dt_Specefiction = _OA_SpecificationBLL.getAllSpecification(CurrentUser.MemberId, this.dwCommity.SelectedValue, this.dwGoodsList.SelectedValue);
//规格
if (dt_Specefiction.Rows.Count > 0)
{
this.dwSpecification.DataSource = dt_Specefiction;
this.dwSpecification.DataTextField = "Name";
this.dwSpecification.DataValueField = "Keyid";
this.dwSpecification.DataBind();
}
else
{
this.dwSpecification.Items.Clear();
this.dwSpecification.Items.Insert(0, new ListItem("请选择", ""));
}
///如果是纸张类型 则加载克重
OA_Commodity model = _OA_CommodityBLL.getCommodityId(CurrentUser.MemberId);
if (model.Keyid.ToString() == this.dwCommity.SelectedValue)
{
DataTable dt_PaperWeight = _OA_PaperWeightBLL.getPaperWeight(CurrentUser.MemberId, this.dwCommity.SelectedValue, this.dwGoodsList.SelectedValue);
///克重
if (dt_PaperWeight.Rows.Count > 0)
{
this.dwPaperWeight.DataSource = dt_PaperWeight;
this.dwPaperWeight.DataTextField = "Name";
this.dwPaperWeight.DataValueField = "Keyid";
this.dwPaperWeight.DataBind();
this.dwPaperWeight.Visible = true;
this.trWeight.Visible = true;
this.tanDiv.Visible = true;
this.tanDiv1.Visible = false;
this.div_td.Visible = true;
this.div_td1.Visible = false;
}
else
{
this.dwPaperWeight.Items.Clear();
this.dwPaperWeight.Items.Insert(0, new ListItem("请选择", ""));
}
}
else
{
this.dwPaperWeight.Visible = false;
this.trWeight.Visible = false;
this.tanDiv.Visible = false;
this.tanDiv1.Visible = true;
this.div_td.Visible = false;
this.div_td1.Visible = true;
}
}
protected void btn_config_Click(object sender, EventArgs e)
{
procurement.AllMoney = this.txtAllMoney.Value.ToDecimal2();
procurement.Quantity = this.txtQuantity.Value.ToInt32();
procurement.Price = this.txtPrice.Value.ToDecimal2();
procurement.LastUpdateTime = DateTime.Now;
procurement.Operator = CurrentUser.ShortName;
procurement.SuppliersId = this.selSuppliers.Value.ToInt32();
procurement.FirmId = CurrentUser.MemberId;
procurement.GoodsId = this.dwGoodsList.SelectedValue.ToInt32();
procurement.Remark = "";
procurement.BrandId = this.dwBrand.SelectedValue.ToInt32();
procurement.SpecificationId = this.dwSpecification.SelectedValue.ToInt32();
procurement.PaperWeightId = this.dwPaperWeight.SelectedValue.ToInt32() ?? 0;
procurement.TanPrice = this.txtTenPrice.Value.ToDecimal2() ?? 0;
procurement.Commodityid = this.dwCommity.SelectedValue.ToInt32();
procurement.PurchaseStatusId = bll_Sys_DictionaryBLL.GetKeyIdByKeyid(0, "采购状态"); ///采购状态
procurement.ClearingStatusId = bll_Sys_DictionaryBLL.GetKeyIdByKeyid(0, "结账状态"); ///结算状态
procurement.PurchaseTime = DateTime.Now;
if (Request["Keyid"].ToInt32() > 0)
{
OA_Procurement procurementModel = new OA_Procurement();
procurementModel = _OA_ProcurementBLL.SelectSingleModel(Request["Keyid"]);
procurementModel.SuppliersId = this.selSuppliers.Value.ToInt32();
procurementModel.Commodityid = this.dwCommity.SelectedValue.ToInt32();
procurementModel.GoodsId = this.dwGoodsList.SelectedValue.ToInt32();
procurementModel.BrandId = this.dwBrand.SelectedValue.ToInt32();
procurementModel.SpecificationId = this.dwSpecification.SelectedValue.ToInt32();
procurementModel.PaperWeightId = this.dwPaperWeight.SelectedValue.ToInt32();
procurementModel.Quantity = this.txtQuantity.Value.ToInt32();
procurementModel.Price = this.txtPrice.Value.ToDecimal2();
procurementModel.TanPrice = this.txtTenPrice.Value.ToDecimal2();
procurementModel.AllMoney = this.txtAllMoney.Value.ToDecimal2();
procurementModel.PaperWeightId = this.dwPaperWeight.SelectedValue.ToInt32() ?? 0;
procurementModel.LastUpdateTime = DateTime.Now;
procurementModel.Operator = CurrentUser.ShortName;
if (_OA_ProcurementBLL.UpdateModel(procurementModel))
{
JavaScript.RefreshDIVOpener(this);
}
else
{
JavaScript.MessageBox("修改失败", this);
}
}
else
{
if (_OA_ProcurementBLL.insertModel(procurement))
{
ClearData();
//JavaScript.RefreshDIVOpener(this);
JavaScript.MessageBox("操作成功", this, true, false);
}
else
{
JavaScript.MessageBox("添加失败", this);
}
}
}
public void ClearData()
{
dwCommity_SelectedIndexChanged(null, null);
txtQuantity.Value = "";
txtPrice.Value = "";
txtTenPrice.Value = "";
txtAllMoney.Value = "";
}
}
}