using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using BLL; namespace FineUIPro.Web.HJGL.MaterialManage { public partial class RecycleMatEdit : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string usingMatId = Request.Params["usingMatId"]; string welderId = Request.Params["welderId"]; string flag = Request.Params["flag"]; // 标记1-查看 if (flag == "1") { this.btnSave.Hidden = true; } else { this.btnSave.Hidden = false; } var mat = BLL.UsingMatService.GetUsingMatById(usingMatId); var weld = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(mat.WeldId); var type = string.Empty; var dropValue = BLL.DropListService.HJGL_ConsumablesTypeList().FirstOrDefault(x => x.Value == weld.ConsumablesType); if (dropValue != null) { type = dropValue.Text; } // 焊工 this.drpWelder.Items.Clear(); drpWelder.DataTextField = "Text"; drpWelder.DataValueField = "Value"; drpWelder.DataSource = BLL.WelderService.GetWelderByUsingPlan(mat.UsingPlanId); drpWelder.DataBind(); if (!string.IsNullOrEmpty(welderId)) { this.drpWelder.SelectedValue = welderId; this.drpWelder.Readonly = true; } // 保管员 this.drpStoreMan.Items.Clear(); drpStoreMan.DataTextField = "UserName"; drpStoreMan.DataValueField = "UserId"; drpStoreMan.DataSource = BLL.UserService.GetProjectUserListByProjectId(this.CurrUser.LoginProjectId); drpStoreMan.DataBind(); this.txtWeldName.Text = weld.ConsumablesCode; txtWeldSpec.Text = weld.SteelFormat; txtWarrantybook.Text = mat.Warrantybook; txtNumber.Text = mat.Number; this.txtRecycleAmount.Text = "0"; //drpWelder.SelectedValue = mat.UsingMan; txtRecycleDate.Text = DateTime.Now.ToString(); var curUser = BLL.UserService.GetUserByUserId(this.CurrUser.UserId); if (curUser != null) { drpStoreMan.SelectedValue = curUser.UserId; } var recycleMat = BLL.RecycleMatService.GetRecycleMatByUsingMatId(usingMatId); if (recycleMat != null) { txtRecycleDate.Text = recycleMat.RecycleDate.Value.ToString(); if (recycleMat.RecycleAmount != null) { txtRecycleAmount.Text = recycleMat.RecycleAmount.Value.ToString(); } if (recycleMat.ReturnMatTop != null) { txtRecycleTopAmount.Text = recycleMat.ReturnMatTop.Value.ToString(); } if (recycleMat.StockMan != null) { drpStoreMan.SelectedValue = recycleMat.StockMan; } if (recycleMat.RecycleMan != null) { drpWelder.SelectedValue = recycleMat.RecycleMan; } } if (type == "焊条") { this.txtRecycleTopAmount.Hidden = false; decimal oneNum = mat.Amount != null ? mat.Amount.Value : 0; decimal twoNum = mat.TwoAmount != null ? mat.TwoAmount.Value : 0; this.txtRecycleTopAmount.Text = (oneNum + twoNum).ToString(); } else { this.txtRecycleTopAmount.Hidden = true; } } } /// /// 提交按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { string usingMatId = Request.Params["usingMatId"]; string isOnTime = Request.Params["isOnTime"]; // 是否准时 0-否 var mat = BLL.UsingMatService.GetUsingMatById(usingMatId); var recycleMat = BLL.RecycleMatService.GetRecycleMatByUsingMatId(usingMatId); if (this.txtRecycleAmount.Text == string.Empty) { ShowNotify("请输入退回数量!"); return; } Model.Weld_RecycleMat newRecycleMat = new Model.Weld_RecycleMat(); newRecycleMat.ProjectId = mat.ProjectId; newRecycleMat.WeldId = mat.WeldId; newRecycleMat.UsingPlanId = mat.UsingPlanId; if (this.txtRecycleAmount.Text != "") { newRecycleMat.RecycleAmount = Convert.ToDecimal(this.txtRecycleAmount.Text); } if (this.txtRecycleTopAmount.Text != "") { newRecycleMat.ReturnMatTop = Convert.ToInt32(this.txtRecycleTopAmount.Text); } newRecycleMat.RecycleMan = drpWelder.SelectedValue; newRecycleMat.StockMan = this.drpStoreMan.SelectedValue; newRecycleMat.RecycleDate = Convert.ToDateTime(this.txtRecycleDate.Text); newRecycleMat.Warrantybook = mat.Warrantybook; newRecycleMat.Number = mat.Number; newRecycleMat.UsePosition = mat.UsePosition; newRecycleMat.UsingMatId = usingMatId; newRecycleMat.IsStoreManConfirm = true; newRecycleMat.IsWelderConfirm = true; if (newRecycleMat.RecycleAmount > mat.Amount) { ShowNotify("退回数量不能大于领用数量!"); return; } if (recycleMat == null) { newRecycleMat.RecycleMatId = SQLHelper.GetNewID(typeof(Model.Weld_RecycleMat)); BLL.RecycleMatService.AddRecycleMat(newRecycleMat); // 不需要确认,直接退回库存 if (!string.IsNullOrEmpty(mat.StockInId)) { if (this.txtRecycleAmount.Text != "" && this.txtRecycleAmount.Text != "0") { decimal recycleAmount = Convert.ToDecimal(this.txtRecycleAmount.Text); BLL.StockInService.UpdateStockInAmount(mat.StockInId, recycleAmount); } } } else { //if (recycleMat.IsStoreManConfirm == true || recycleMat.IsWelderConfirm == true) //{ // ShowNotify("保管员或焊工已确认,不能修改!"); // return; //} //else //{ newRecycleMat.RecycleMatId = recycleMat.RecycleMatId; BLL.RecycleMatService.UpdateRecycleMat(newRecycleMat); if (!string.IsNullOrEmpty(mat.StockInId)) { if (this.txtRecycleAmount.Text != "" && this.txtRecycleAmount.Text != "0") { decimal oldRecycleAmount = recycleMat.RecycleAmount != null ? recycleMat.RecycleAmount.Value : 0; decimal newRecycleAmount = Convert.ToDecimal(this.txtRecycleAmount.Text); BLL.StockInService.UpdateStockInAmount(mat.StockInId, oldRecycleAmount, newRecycleAmount); } } //} } if (isOnTime == "0") // 违规 { BLL.UsingMatService.UsingMatIsOnTime(usingMatId, true); } // 闭环 BLL.UsingMatService.UsingMatIsColse(usingMatId, true); ShowNotify("焊材已退回仓库!"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } }