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;
}
}
}
}