📄 instructionadd2.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;
using Botheighten.Yanghui.Web.Controls;
namespace Botheighten.Yanghui.Web
{
/// <summary>
/// InstructionAdd2 的摘要说明。
/// </summary>
public class InstructionAdd2 : BasePage
{
protected System.Web.UI.WebControls.Label lblTitle;
protected System.Web.UI.WebControls.Label Label6;
protected System.Web.UI.WebControls.TextBox txtOrderId;
protected System.Web.UI.WebControls.ValidationSummary ErrorSummary;
protected System.Web.UI.WebControls.Label Label7;
protected System.Web.UI.WebControls.Label Label8;
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.Label Label13;
protected System.Web.UI.WebControls.DataGrid gridOrderLine;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Button btnContinue;
protected System.Web.UI.WebControls.Button btnGoBack;
protected System.Web.UI.WebControls.Label lblMessage;
protected System.Web.UI.HtmlControls.HtmlTable tableBOM;
protected System.Web.UI.WebControls.DropDownList ddlOrder;
protected System.Web.UI.WebControls.TextBox txtOrderHeadId;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.TextBox txtCompleteQ;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.TextBox txtNoetCQ;
protected System.Web.UI.WebControls.CompareValidator CompareValidator1;
protected System.Web.UI.WebControls.Button btnCancel;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected Instruction_C Instruction_C1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Principal p=this.CurrentUser();
this.CheckPermissionPage(p.Id,"","202");
this.lblMessage.Visible=false;
//this.GoBackFunction(this.btnGoBack);
if(!Page.IsPostBack)
{
string iid="";
if(Request.QueryString["IID"]!=null)
iid=Request.QueryString["IID"].ToString();
this.ViewState["IID"]=iid;
this.InitPage();
}
}
private void InitPage()
{
Instruction_C1.OrderHeadId=this.ViewState["IID"].ToString();
Instruction_C1.Bind();
string[] flags=new String[]{"Y","D","O"};
DataTable dtOrder=OrderTicketSystem.AllOrderByFlag(flags);
DropDownList lc=this.ddlOrder;
lc.Items.Clear();
lc.Items.Add(new ListItem("请选择...",""));
foreach(DataRow myRow in dtOrder.Rows)
{
lc.Items.Add(new ListItem("[" + OrderTicketSystem.GetOrderCode(myRow[Order.ORDERHEADID].ToString()) +"]"+ myRow[Order.BOMCODE].ToString(),myRow[Order.ID].ToString()));
}
lc.DataBind();
}
private void BindDropDate(DropDownList lc1,DropDownList lc2,DropDownList lc3)
{
Common.BindYearTo(lc1,2003,36);
Common.BindMonthTo(lc2);
Common.BindDayTo(lc3,Convert.ToInt16(lc1.SelectedItem.Value),Convert.ToInt16(lc2.SelectedItem.Value));
}
#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.ddlOrder.SelectedIndexChanged += new System.EventHandler(this.ddlBOMCode_SelectedIndexChanged);
this.txtQuantity.TextChanged += new System.EventHandler(this.txtQuantity_TextChanged);
this.gridOrderLine.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.gridOrderLine_ItemDataBound);
this.gridOrderLine.SelectedIndexChanged += new System.EventHandler(this.gridOrderLine_SelectedIndexChanged);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
this.btnContinue.Click += new System.EventHandler(this.btnContinue_Click);
this.btnGoBack.Click += new System.EventHandler(this.Button3_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void ddlBOMCode_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.BindBOMLine();
}
private void BindBOMLine()
{
string oid=this.ddlOrder.SelectedItem.Value;
if(oid=="")
oid="*";
Order o=new Order();
o.Id=oid;
o.Retrieve();
if(o.IsPersistent)
{
this.txtOrderHeadId.Text = o.OrderHeadId;
this.txtOrderId.Text = o.Id;
this.txtCompleteQ.Text = o.CompleteQuantity.ToString();
this.txtNoetCQ.Text = ( o.Quantity - o.CompleteQuantity ).ToString();
}
else
{
this.txtOrderHeadId.Text ="";
this.txtOrderId.Text ="";
this.txtCompleteQ.Text ="";
this.txtNoetCQ.Text ="";
}
DataTable dtOrderLine=OrderTicketSystem.AllOrderLine(oid);
Common.ReSet(this.gridOrderLine,dtOrderLine.DefaultView);
this.gridOrderLine.DataSource=dtOrderLine;
this.gridOrderLine.DataBind();
}
private void txtBOMCode_TextChanged(object sender, System.EventArgs e)
{
this.BindBOMLine();
}
private void Button2_Click(object sender, System.EventArgs e)
{
this.BindBOMLine();
string iid=this.ViewState["IID"].ToString();
if(iid!="")
{
txtQuantity_TextChanged(sender,e);
Order o=new Order();
o.Id=this.txtOrderId.Text.Trim();
o.Retrieve();
if(!o.IsPersistent)
{
this.lblMessage.Text ="失败:没有此定单成品,请确认";
this.lblMessage.Visible=true;
return;
}
if(this.txtQuantity.Text.Trim()=="")
{
this.lblMessage.Text="失败:请输入指令数量";
this.lblMessage.Visible=true;
return;
}
InstructionLine l=new InstructionLine();
l.Id=LoginSystem.GetTableId("InstructionLine").ToString();
l.InstructionId =iid;
l.OrderId=o.Id;
l.OrderHeadId=this.txtOrderHeadId.Text.Trim();
l.BOMCode=o.BOMCode;
l.Quantity=int.Parse(this.txtQuantity.Text.Trim());
l.UnitId=o.UnitId;
l.JGCost=(l.Quantity * o.UnitJGCost);
l.JGPrice=(l.Quantity * o.UnitJGPrice);
ArrayList Instrlines=new ArrayList();
for(int i=0;i<this.gridOrderLine.Items.Count;i++)
{
string mId=this.gridOrderLine.DataKeys[i].ToString();
Instrlines.Add(mId);
}
try
{
InstructionSystem.SaveInstructionLineWithDetail(l,Instrlines);
}
catch
{
this.lblMessage.Text="失败:新增指令遇到错误";
this.lblMessage.Visible=true;
}
this.lblMessage.Text="成功:新增指令成功";
this.lblMessage.Visible=true;
this.Button2.Visible=false;
this.btnContinue.Visible=true;
this.btnCancel.Visible=false;
this.btnGoBack.Text =" 完成 ";
}
}
private void gridOrderLine_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
this.ViewState["Over"]="N";
int q;
if(this.txtQuantity.Text.Trim()=="")
q=0;
else
q=int.Parse(this.txtQuantity.Text.Trim());
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
string mid=e.Item.Cells[0].Text.Trim();
double IQ=InventorySystem.GetInventorys(mid);
e.Item.Cells[4].Text=IQ.ToString();
e.Item.Cells[0].Text = MaterielSystem.GetMaterielCode(mid);
double CQ=q * double.Parse(e.Item.Cells[1].Text.Trim());
e.Item.Cells[3].Text =CQ.ToString();
if(CQ>IQ)
{
e.Item.ForeColor=Color.Red;
this.ViewState["Over"]="Y";
}
e.Item.Cells[2].Text = UnitSystem.GetUnitCode(e.Item.Cells[2].Text.Trim());
//e.Item.Cells[3].Text =e.Item.Cells[3].Text.Trim() +"%";
}
}
private void gridOrderLine_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
private void Button3_Click(object sender, System.EventArgs e)
{
string iid=this.ViewState["IID"].ToString();
DataTable d=InstructionSystem.AllInstructionLine(iid);
if(d.Rows.Count<=0)
{
Instruction i=new Instruction();
i.Id=iid;
i.Delete();
}
Response.Redirect("InstructionWeb.aspx");
Response.End();
}
private void btnContinue_Click(object sender, System.EventArgs e)
{
this.txtOrderId.Text="";
this.txtOrderHeadId.Text="";
this.txtQuantity.Text="";
this.ddlOrder.SelectedIndex=0;
this.BindBOMLine();
this.Button2.Visible=true;
this.btnContinue.Visible=false;
}
private void txtQuantity_TextChanged(object sender, System.EventArgs e)
{
this.BindBOMLine();
if(this.ViewState["Over"]!=null && this.ViewState["Over"].ToString()=="Y")
{
this.btnCancel.Visible=true;
this.lblMessage.Text="警告:部分物料当前库存量不足,[保存]为强行下指令;[放弃]为放弃下指令";
this.lblMessage.Visible=true;
return;
}
else
{
this.lblMessage.Text="提示:所有物料当前库存量充足,可以下指令";
this.lblMessage.Visible=true;
return;
}
}
private void btnCancel_Click(object sender, System.EventArgs e)
{
this.txtOrderId.Text="";
this.txtOrderHeadId.Text="";
this.txtQuantity.Text="";
this.ddlOrder.SelectedIndex=0;
this.BindBOMLine();
this.Button2.Visible=true;
this.btnContinue.Visible=false;
this.btnCancel.Visible=false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -