📄 materielrtmod.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Botheighten.Yanghui.BusinessFacade;
using Botheighten.Yanghui.Framework;
using Botheighten.Yanghui.BusinessRules;
namespace Botheighten.Yanghui.Web
{
/// <summary>
/// MaterielRTMod 的摘要说明。
/// </summary>
public class MaterielRTMod : BasePage
{
protected System.Web.UI.WebControls.Label lblTitle;
protected System.Web.UI.WebControls.TextBox txtId;
protected System.Web.UI.WebControls.Label lblCode;
protected System.Web.UI.WebControls.TextBox txtCode;
protected System.Web.UI.WebControls.RequiredFieldValidator reqId;
protected System.Web.UI.WebControls.ValidationSummary ErrorSummary;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DropDownList ddlCustom;
protected System.Web.UI.WebControls.RequiredFieldValidator ReqPWD;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.DropDownList ddlOrderHead;
protected System.Web.UI.WebControls.Label Label9;
protected System.Web.UI.WebControls.TextBox txtRemark;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.Label lblInsertOperater;
protected System.Web.UI.WebControls.Label Label5;
protected System.Web.UI.WebControls.Label lblInsertDate;
protected System.Web.UI.WebControls.Button btnAdd;
protected System.Web.UI.WebControls.Button btnGoBack;
protected System.Web.UI.WebControls.Label lblMessage;
protected System.Web.UI.WebControls.Label Label7;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.DropDownList ddlMaterielCatalog;
protected System.Web.UI.WebControls.Label Label6;
protected System.Web.UI.WebControls.DropDownList ddlMateriel;
protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator3;
protected System.Web.UI.WebControls.Label Label8;
protected System.Web.UI.WebControls.Label txtCurQuantity;
protected System.Web.UI.WebControls.Label Label10;
protected System.Web.UI.WebControls.Label txtCurCost;
protected System.Web.UI.WebControls.Label Label12;
protected System.Web.UI.WebControls.TextBox txtCost;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.RangeValidator RangeValidator2;
protected System.Web.UI.WebControls.Label Label11;
protected System.Web.UI.WebControls.TextBox txtQuantity;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.RangeValidator RangeValidator1;
protected System.Web.UI.WebControls.Button btnMaterielAdd;
protected System.Web.UI.WebControls.Button btnMaterielMod;
protected System.Web.UI.WebControls.Button btnContinue;
protected System.Web.UI.WebControls.Button Button3;
protected System.Web.UI.WebControls.DataGrid grid;
protected System.Web.UI.HtmlControls.HtmlTable tableMod;
protected System.Web.UI.WebControls.TextBox txtCodeHide;
protected System.Web.UI.HtmlControls.HtmlTable tableMateriel;
private void Page_Load(object sender, System.EventArgs e)
{
Principal p=this.CurrentUser();
this.CheckPermissionPage(p.Id,"","203");
this.ReponseWriteDeleteScript ();
this.lblMessage.Visible=false;
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
this.tableMateriel.Visible=false;
string rtid="";
if(Request.QueryString["rtid"]!=null)
rtid=Request.QueryString["rtid"].ToString();
this.ViewState["rtid"]=rtid;
this.InitPage();
}
}
private void InitPage()
{
DataTable dtCustom = CustomSystem.AllCustom("Y");
Common.BindDrop(this.ddlCustom,dtCustom,Custom.CODE,Custom.ID);
DataTable dtOrderHead = OrderTicketSystem.AllOrderTicket("","","","","N");
Common.BindDrop(this.ddlOrderHead,dtOrderHead,OrderHead.CODE,OrderHead.ID,"请选择...","");
this.lblInsertDate.Text = System.DateTime.Now.ToString();
this.lblInsertOperater.Text = this.CurrentUser().Id;
DataTable dtMC=MaterielSystem.AllMaterielCatalog("Y");
Common.BindDrop(this.ddlMaterielCatalog,dtMC,MaterielCatalog.NAME,MaterielCatalog.ID);
this.BindMateriel();
this.InitButton(true);
string rtid=this.ViewState["rtid"].ToString();
if(rtid!="")
{
ReceiveTicket rt=new ReceiveTicket();
rt.Id=rtid;
rt.Retrieve();
if(rt.IsPersistent)
{
this.txtId.Text = rt.Id;
this.txtCode.Text = rt.Code;
this.txtCodeHide.Text = rt.Code;
Common.SelectFlg(this.ddlCustom,rt.CustomId);
Common.SelectFlg(this.ddlOrderHead,rt.OrderHeadId);
this.txtRemark.Text = rt.Remark;
this.lblInsertDate.Text = rt.InsertDate.ToString();
this.lblInsertOperater.Text = rt.InsertOperater;
}
DataTable dtRTLine=InventorySystem.AllMaterielRTLine(rtid);
this.ViewState["RTLine"]=dtRTLine;
this.BindGrid();
}
}
private void BindGrid()
{
DataTable dtRTLine=(DataTable)this.ViewState["RTLine"];
Common.ReSet(this.grid,dtRTLine.DefaultView);
this.grid.DataSource=dtRTLine;
this.grid.DataBind();
}
private void BindMateriel()
{
if(this.ddlMaterielCatalog.Items.Count>0)
{
string mcid=this.ddlMaterielCatalog.SelectedItem.Value;
DataTable dtMateriel=MaterielSystem.AllMateriel(mcid,"","Y");
Common.BindDrop(this.ddlMateriel,dtMateriel,Materiel.CODE,Materiel.ID,"请选择...","");
}
}
private void InitButton(bool isAdd)
{
this.btnMaterielAdd.Visible=isAdd;
this.btnMaterielMod.Visible=!isAdd;
this.btnContinue.Visible=false;
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
this.btnGoBack.Click += new System.EventHandler(this.btnGoBack_Click);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.ddlMaterielCatalog.SelectedIndexChanged += new System.EventHandler(this.ddlMaterielCatalog_SelectedIndexChanged);
this.ddlMateriel.SelectedIndexChanged += new System.EventHandler(this.ddlMateriel_SelectedIndexChanged);
this.btnMaterielAdd.Click += new System.EventHandler(this.btnMaterielAdd_Click);
this.btnMaterielMod.Click += new System.EventHandler(this.btnMaterielMod_Click);
this.btnContinue.Click += new System.EventHandler(this.btnContinue_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.grid.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grid_EditCommand);
this.grid.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.grid_DeleteCommand);
this.grid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.grid_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void ddlMaterielCatalog_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.BindMateriel();
}
private void Button3_Click(object sender, System.EventArgs e)
{
this.tableMateriel.Visible=false;
}
private void Button1_Click(object sender, System.EventArgs e)
{
this.tableMateriel.Visible=true;
this.InitButton(true);
this.BindMateriel();
this.txtQuantity.Text ="";
this.txtCost.Text ="";
}
private void ddlMateriel_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.BindMaterielInfo();
}
private void BindMaterielInfo()
{
string mid=this.ddlMateriel.SelectedItem.Value;
if(mid=="")
{
this.txtCost.Text ="";
this.txtQuantity.Text="";
this.txtCurCost.Text="0";
this.txtCurQuantity.Text ="0";
}
else
{
Materiel m=new Materiel();
m.Id=mid;
m.Retrieve();
if(m.IsPersistent)
{
this.txtCost.Text =m.Cost.ToString();
this.txtCurCost.Text ="";
double unitCost;
double Quantity;
InventorySystem.GetInventoryByM(m.Id,out unitCost,out Quantity);
this.txtCurQuantity.Text =Quantity.ToString();
this.txtCurCost.Text = unitCost.ToString();
}
else
{
this.txtCost.Text="";
this.txtCurCost.Text="0";
this.txtCurQuantity.Text ="0";
}
}
}
private void btnMaterielAdd_Click(object sender, System.EventArgs e)
{
string rtid=this.txtCode.Text.Trim();
if(InventorySystem.CheckRTIsExist(rtid) && this.txtCode.Text.Trim()!=this.txtCodeHide.Text.Trim())
{
this.lblMessage.Text="失败:此入库单号已经存在,请确保唯一";
this.lblMessage.Visible=true;
return;
}
string mId=this.ddlMateriel.SelectedItem.Value;
DataTable dt=(DataTable)this.ViewState["RTLine"];
for(int i=0;i<dt.Rows.Count;i++)
{
if(dt.Rows[i][ReceiveTicketLine.MATERIELID].ToString()==mId)
{
this.lblMessage.Text="失败:此物料已经在物料列表中,请进行修改";
this.lblMessage.Visible=true;
return;
}
}
DataRow dr=dt.NewRow();
dr[ReceiveTicketLine.ID]=LoginSystem.GetTableId("ReceiveTicketLine").ToString();
dr[ReceiveTicketLine.MATERIELID]=mId;
dr[ReceiveTicketLine.REFERENCEQUANTITY]=double.Parse(this.txtQuantity.Text.Trim());
dr[ReceiveTicketLine.UNITCOST]=double.Parse(this.txtCost.Text.Trim());
dt.Rows.InsertAt(dr,0);
this.ViewState["RTLine"]=dt;
this.BindGrid();
//this.txtQuantity.Text="";
this.btnContinue.Visible=true;
this.btnMaterielAdd.Visible=false;
}
private void grid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Cells[2].Text = MaterielSystem.GetMaterielCode(e.Item.Cells[2].Text.Trim());
}
}
private void btnContinue_Click(object sender, System.EventArgs e)
{
this.ddlMateriel.SelectedIndex=0;
this.txtCurCost.Text ="0";
this.txtCurQuantity.Text ="0";
this.txtQuantity.Text ="";
this.txtCost.Text ="";
this.btnContinue.Visible=false;
this.btnMaterielAdd.Visible=true;
}
private void grid_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//this.grid.EditItemIndex=e.Item.ItemIndex;
this.tableMateriel.Visible=true;
string mId=this.grid.DataKeys[e.Item.ItemIndex].ToString();
Materiel m=new Materiel();
m.Id =mId;
m.Retrieve();
if(m.IsPersistent)
{
Common.SelectFlg(this.ddlMaterielCatalog,m.CatalogId);
this.BindMateriel();
Common.SelectFlg(this.ddlMateriel,mId);
this.BindMaterielInfo();
DataTable dt=((DataTable)this.ViewState["RTLine"]);
this.txtQuantity.Text = dt.Rows[e.Item.ItemIndex]["ReferenceQuantity"].ToString();
this.txtCost.Text = dt.Rows[e.Item.ItemIndex][ReceiveTicketLine.UNITCOST].ToString();
}
this.InitButton(false);
this.btnContinue.Visible=false;
}
private void grid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataTable dt=(DataTable)this.ViewState["RTLine"];
DataRow dr=dt.Rows[e.Item.ItemIndex];
string aQ=dr[ReceiveTicketLine.ACTUALQUANTITY].ToString();
if(aQ!="" && int.Parse(aQ)>0)
{
this.lblMessage.Text ="失败:部分物料已经入库,你无法删除此物料";
this.lblMessage.Visible=true;
return;
}
dt.Rows[e.Item.ItemIndex].Delete();
dt.AcceptChanges();
this.ViewState["RTLine"]=dt;
this.BindGrid();
}
private void btnMaterielMod_Click(object sender, System.EventArgs e)
{
DataTable dt=(DataTable)this.ViewState["RTLine"];
for(int i=0;i<dt.Rows.Count;i++)
{
if(dt.Rows[i][ReceiveTicketLine.MATERIELID].ToString()==this.ddlMateriel.SelectedItem.Value)
{
dt.Rows[i][ReceiveTicketLine.REFERENCEQUANTITY]=double.Parse(this.txtQuantity.Text.Trim());
dt.Rows[i][ReceiveTicketLine.UNITCOST]=double.Parse(this.txtCost.Text.Trim());
}
}
this.ViewState["RTLine"]=dt;
this.BindGrid();
this.tableMateriel.Visible=false;
}
private void btnAdd_Click(object sender, System.EventArgs e)
{
DataTable dt=(DataTable)this.ViewState["RTLine"];
if(dt.Rows.Count<=0)
{
this.lblMessage.Text ="失败:请选择要入库的物料";
this.lblMessage.Visible=true;
return;
}
string rtid=this.txtCode.Text.Trim();
if(InventorySystem.CheckRTIsExist(rtid) && this.txtCode.Text.Trim()!=this.txtCodeHide.Text .Trim())
{
this.lblMessage.Text="失败:此入库单号已经存在,请确保唯一";
this.lblMessage.Visible=true;
return;
}
ReceiveTicket RT=new ReceiveTicket();
RT.Id=this.txtId.Text.Trim();
RT.Retrieve();
RT.Code=rtid;
RT.CustomId=this.ddlCustom.SelectedItem.Value;
//RT.InsertDate=System.DateTime.Now;
//RT.Flag="N";
//RT.InsertOperater=this.CurrentUser().Id;
RT.OrderHeadId=this.ddlOrderHead.SelectedItem.Value;
RT.Remark=this.txtRemark.Text;
try
{
InventorySystem.SaveRTWithLine(RT,dt);
}
catch
{
this.lblMessage.Text="失败:修改入库单过程中遇到错误";
this.lblMessage.Visible=true;
return;
}
this.lblMessage.Text ="成功:修改入库单成功";
this.lblMessage.Visible=true;
this.btnAdd.Visible=false;
}
private void btnGoBack_Click(object sender, System.EventArgs e)
{
Response.Redirect("MaterielRTWeb.aspx");
Response.End();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -