⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 instructionadd2.aspx.cs

📁 可供共享学习.net环境下生产管理的实现
💻 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 + -