using BLL; using FastReport.Utils; using FineUIPro.Web.DataShow; using FineUIPro.Web.HJGL.WeldingManage; using FineUIPro.Web.ProjectData; using Microsoft.Office.Interop.Word; using Model; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using static BLL.TwConst; using static System.Windows.Forms.VisualStyles.VisualStyleElement; namespace FineUIPro.Web.CLGL { public partial class OutPlanMasterEdit :PageBase { /// /// 单位工程主键 /// public string UnitWorkId { get { return (string)ViewState["UnitWorkId"]; } set { ViewState["UnitWorkId"] = value; } } public string Id { get { return (string)ViewState["Id"]; } set { ViewState["Id"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitDrpList(); UnitWorkId = Request.Params["UnitWorkId"]; Id = Request.Params["Id"]; if (!string.IsNullOrEmpty(Id)) { var queryModel = new Model.Tw_InOutMasterOutput() { Id=Id, }; var result = BLL.TwInOutplanmasterService.GetListData(queryModel).FirstOrDefault(); if (!string .IsNullOrEmpty(result.WeldTaskId) && result.WeldTaskId.Contains("|")) { UnitWorkId = result.WeldTaskId.Split('|')[0]; } else { UnitWorkId = result.WeldTaskId; } txtCreateMan.Text = result.CreateManName; txtCreateDate.Text =result.CreateDate.Value.ToString("yyyy-MM-dd"); drpReqUnit.SelectedValue = result.ReqUnitId; drpTypeInt.SelectedValue = result.TypeInt.ToString(); drpWarehouse.SelectedValue = result.WarehouseCode; drpCategory.SelectedValue = result.Category.ToString(); txtRemark.Text = result.Remark; txtCusBillCode.Text = result.CusBillCode; drpCategory.Readonly = true; BindGrid(Id); } else { txtCreateMan.Text = this.CurrUser.PersonName; txtCreateDate.Text = DateTime.Now.ToString("yyyy-MM-dd"); drpReqUnit.SelectedValue = this.CurrUser.UnitId; txtCusBillCode.Text = TwInOutplanmasterService.GetDataInCusBillCode(this.CurrUser.LoginProjectId, UnitService.GetUnitByUnitId(this.CurrUser.UnitId)?.UnitCode); } drpTypeInt_SelectedIndexChanged(null, null); } } private void InitDrpList() { drpWarehouse.DataTextField = "Text"; drpWarehouse.DataValueField = "Value"; drpWarehouse.DataSource = BLL.DropListService.HJGL_WarehouseCode(); drpWarehouse.DataBind(); string[] typeIntArr = { TwConst.TypeInt.散件出库.ToString(), TwConst.TypeInt.其他出库.ToString() }; drpTypeInt.DataTextField = "Key"; drpTypeInt.DataValueField = "Value"; drpTypeInt.DataSource = BLL.TwConst.TypeIntMap.Where(x => typeIntArr.Contains(x.Key)); drpTypeInt.DataBind(); UnitService.InitUnitDropDownList(drpReqUnit, this.CurrUser.LoginProjectId, true); drpCategory.DataTextField = "Key"; drpCategory.DataValueField = "Value"; drpCategory.DataSource = BLL.TwConst.CategoryMap; drpCategory.DataBind(); } private void BindGrid(string inOutPlanMasterId) { if (drpTypeInt.SelectedValue == ((int)TwConst.TypeInt.散件出库).ToString()) { var queryRelationModel = new Tw_InOutPlanDetail_Relation(); queryRelationModel.InOutPlanMasterId = Id; var tb = TwInoutplandetailRelationService.GetListData(queryRelationModel, Grid1); Grid1.DataSource = tb; Grid1.DataBind(); } else { var queryRelationModel = new Tw_InOutDetailOutput(); queryRelationModel.InOutPlanMasterId = Id; var tb = TwInOutplandetailService.GetListData(queryRelationModel, Grid1); Grid2.DataSource = tb; Grid2.DataBind(); } } #region 选择按钮 /// /// 选择按钮 /// /// /// protected void btnSelect_Click(object sender, EventArgs e) { Save(Const.BtnSave); PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OutPlanMasterSelect.aspx?UnitWorkId={0}&Id={1}",UnitWorkId,Id, "选择- "))); } protected void btnSelectStock_Click(object sender, EventArgs e) { Save(Const.BtnSave); PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OutPlanMasterSelectStock.aspx?UnitWorkId={0}&Id={1}", UnitWorkId, Id, "选择- "))); } #endregion protected void btnSave_Click(object sender, EventArgs e) { Save(Const.BtnSave); ShowNotify("保存成功!", MessageBoxIcon.Success); } protected void btnSubmit_Click(object sender, EventArgs e) { Save(Const.BtnSubmit); ShowNotify("提交成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } void Save(string type) { int state = (int)TwConst.State.待提交; switch (type) { case Const.BtnSave: state=(int)TwConst.State.待提交; break; case Const.BtnSubmit: state = (int)TwConst.State.待审核; break; } if (string.IsNullOrEmpty(Id)) { Id = Guid.NewGuid().ToString(); var model = new Tw_InOutPlanMaster() { Id = Id, ProjectId=this.CurrUser.LoginProjectId, CusBillCode=txtCusBillCode.Text, WarehouseCode = drpWarehouse.SelectedValue, WeldTaskId=UnitWorkId, Source=1, CreateDate = DateTime.Now, CreateMan = this.CurrUser.PersonId, ReqUnitId = drpReqUnit.SelectedValue, TypeInt = int.Parse( drpTypeInt.SelectedValue), Remark = txtRemark.Text, InOutType=(int)TwConst.InOutType.出库, Category= int.Parse(drpCategory.SelectedValue), State=state }; TwInOutplanmasterService.Add(model); } else { var model = TwInOutplanmasterService.GetById(Id); model.CusBillCode = txtCusBillCode.Text; model.WarehouseCode = drpWarehouse.SelectedValue; // model.WeldTaskId = UnitWorkId; model.Source = 1; model.CreateDate = DateTime.Now; model.CreateMan = this.CurrUser.PersonId; model.ReqUnitId = drpReqUnit.SelectedValue; model.TypeInt = int.Parse(drpTypeInt.SelectedValue); model.Remark = txtRemark.Text; model.InOutType = (int)TwConst.InOutType.出库; model.Category = int.Parse(drpCategory.SelectedValue); model.State = state; TwInOutplanmasterService.Update(model); } if (drpTypeInt.SelectedValue == ((int)TwConst.TypeInt.散件出库).ToString()) { SaveDetail_Relation(); } else { SaveDetail(); } } /// /// 保存明细项 /// private void SaveDetail_Relation() { //根据列表中的明细项添加 List detailLists = new List(); JArray teamGroupData = Grid1.GetMergedData(); foreach (JObject teamGroupRow in teamGroupData) { JObject values = teamGroupRow.Value("values"); int rowIndex = teamGroupRow.Value("index"); string id = teamGroupRow.Value("id"); var mdoel=TwInoutplandetailRelationService.GetById(id); if (mdoel != null) { mdoel.Number= values.Value("Number"); } TwInoutplandetailRelationService.Update(mdoel); } TwInOutplandetailService.GenInOutPlanDetailByInoutPlanMasterId(Id); } private void SaveDetail() { //根据列表中的明细项添加 List detailLists = new List(); JArray teamGroupData = Grid2.GetMergedData(); foreach (JObject teamGroupRow in teamGroupData) { JObject values = teamGroupRow.Value("values"); int rowIndex = teamGroupRow.Value("index"); string id = teamGroupRow.Value("id"); var mdoel = TwInOutplandetailService.GetById(id); if (mdoel != null) { mdoel.PlanNum = values.Value("PlanNum"); } TwInOutplandetailService.Update(mdoel); } } protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "delete" ) { string id = e.RowID; TwInoutplandetailRelationService.DeleteById(id); TwInOutplandetailService.GenInOutPlanDetailByInoutPlanMasterId(Id); BindGrid(Id); } } protected void Grid2_RowCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "delete") { string id = e.RowID; TwInOutplandetailService.DeleteById(id); BindGrid(Id); } } protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(Id); } protected void drpTypeInt_SelectedIndexChanged(object sender, EventArgs e) { if (drpTypeInt.SelectedValue ==((int)TwConst.TypeInt.散件出库).ToString()) { Grid1.Hidden=false; Grid2.Hidden=true; } else { Grid1.Hidden = true; Grid2.Hidden = false; } } } }