SGGL_SHJ/SGGL/FineUIPro.Web/CLGL/OutPlanMasterEdit.aspx.cs

312 lines
12 KiB
C#
Raw Normal View History

2024-09-24 20:38:50 +08:00
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
2024-09-18 10:48:34 +08:00
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.CLGL
{
public partial class OutPlanMasterEdit : PageBase
2024-09-18 10:48:34 +08:00
{
2024-09-24 20:38:50 +08:00
/// <summary>
/// 单位工程主键
/// </summary>
public string UnitWorkId
{
get
{
return (string)ViewState["UnitWorkId"];
}
set
{
ViewState["UnitWorkId"] = value;
}
}
2024-09-18 10:48:34 +08:00
public string Id
{
get
{
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
2024-09-24 20:38:50 +08:00
InitDrpList();
2024-09-25 15:13:49 +08:00
UnitWorkId = Request.Params["UnitWorkId"];
Id = Request.Params["Id"];
2024-09-18 10:48:34 +08:00
if (!string.IsNullOrEmpty(Id))
{
2024-09-24 20:38:50 +08:00
var queryModel = new Model.Tw_InOutMasterOutput()
{
Id = Id,
};
2024-09-24 20:38:50 +08:00
var result = BLL.TwInOutplanmasterService.GetListData(queryModel).FirstOrDefault();
if (!string.IsNullOrEmpty(result.WeldTaskId) && result.WeldTaskId.Contains("|"))
2024-09-25 15:13:49 +08:00
{
UnitWorkId = result.WeldTaskId.Split('|')[0];
}
else
{
UnitWorkId = result.WeldTaskId;
}
2024-09-24 20:38:50 +08:00
txtCreateMan.Text = result.CreateManName;
txtCreateDate.Text = result.CreateDate.Value.ToString("yyyy-MM-dd");
drpReqUnit.SelectedValue = result.ReqUnitId;
drpTypeInt.SelectedValue = result.TypeInt.ToString();
2024-09-25 15:13:49 +08:00
drpWarehouse.SelectedValue = result.WarehouseCode;
drpCategory.SelectedValue = result.Category.ToString();
txtRemark.Text = result.Remark;
txtCusBillCode.Text = result.CusBillCode;
drpCategory.Readonly = true;
2024-09-24 20:38:50 +08:00
BindGrid(Id);
}
else
{
txtCreateMan.Text = this.CurrUser.PersonName;
txtCreateDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
2024-09-27 18:17:21 +08:00
drpReqUnit.SelectedValue = this.CurrUser.UnitId;
txtCusBillCode.Text = TwInOutplanmasterService.GetDataInCusBillCode(this.CurrUser.LoginProjectId, UnitService.GetUnitByUnitId(drpReqUnit.SelectedValue)?.UnitCode, UnitWorkService.getUnitWorkByUnitWorkId(UnitWorkId)?.UnitWorkCode, drpTypeInt.SelectedText, drpCategory.SelectedText);
2024-09-18 10:48:34 +08:00
}
2024-09-28 16:59:44 +08:00
drpTypeInt_SelectedIndexChanged(null, null);
2024-09-18 10:48:34 +08:00
}
2024-09-24 20:38:50 +08:00
2024-09-18 10:48:34 +08:00
}
2024-09-24 20:38:50 +08:00
private void InitDrpList()
2024-09-18 10:48:34 +08:00
{
2024-09-28 16:59:44 +08:00
drpWarehouse.DataTextField = "Key";
2024-09-24 20:38:50 +08:00
drpWarehouse.DataValueField = "Value";
drpWarehouse.DataSource = BLL.TwInOutplanmasterService.GetWarehouseCode(this.CurrUser.LoginProjectId);
drpWarehouse.DataBind();
2024-09-28 16:59:44 +08:00
string[] typeIntArr = { TwConst.TypeInt..ToString(), TwConst.TypeInt..ToString() };
2024-09-24 20:38:50 +08:00
drpTypeInt.DataTextField = "Key";
drpTypeInt.DataValueField = "Value";
drpTypeInt.DataSource = BLL.TwConst.TypeIntMap.Where(x => typeIntArr.Contains(x.Key));
drpTypeInt.DataBind();
2024-09-24 20:38:50 +08:00
UnitService.InitUnitDropDownList(drpReqUnit, this.CurrUser.LoginProjectId, true);
2024-09-25 15:13:49 +08:00
drpCategory.DataTextField = "Key";
drpCategory.DataValueField = "Value";
drpCategory.DataSource = BLL.TwConst.CategoryMap;
drpCategory.DataBind();
2024-09-18 10:48:34 +08:00
}
2024-09-24 20:38:50 +08:00
private void BindGrid(string inOutPlanMasterId)
2024-09-18 10:48:34 +08:00
{
2024-09-28 16:59:44 +08:00
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();
2024-09-28 16:59:44 +08:00
}
else
{
var queryRelationModel = new Tw_InOutDetailOutput();
queryRelationModel.InOutPlanMasterId = Id;
var tb = TwInOutplandetailService.GetListData(queryRelationModel, Grid1);
Grid2.DataSource = tb;
Grid2.DataBind();
2024-09-28 16:59:44 +08:00
}
2024-09-24 20:38:50 +08:00
2024-09-18 10:48:34 +08:00
}
2024-09-24 20:38:50 +08:00
#region
/// <summary>
/// 选择按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelect_Click(object sender, EventArgs e)
{
2024-09-25 15:13:49 +08:00
Save(Const.BtnSave);
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OutPlanMasterSelect.aspx?UnitWorkId={0}&Id={1}", UnitWorkId, Id, "选择- ")));
2024-09-24 20:38:50 +08:00
2024-09-28 16:59:44 +08:00
}
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, "选择- ")));
2024-09-24 20:38:50 +08:00
}
#endregion
2024-09-18 10:48:34 +08:00
protected void btnSave_Click(object sender, EventArgs e)
{
2024-09-24 20:38:50 +08:00
Save(Const.BtnSave);
2024-09-18 10:48:34 +08:00
ShowNotify("保存成功!", MessageBoxIcon.Success);
2024-09-24 20:38:50 +08:00
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
Save(Const.BtnSubmit);
2024-09-24 20:38:50 +08:00
ShowNotify("提交成功!", MessageBoxIcon.Success);
2024-09-18 10:48:34 +08:00
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
2024-09-24 20:38:50 +08:00
void Save(string type)
{
int state = (int)TwConst.State.;
switch (type)
{
case Const.BtnSave:
state = (int)TwConst.State.;
2024-09-24 20:38:50 +08:00
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,
2024-09-24 20:38:50 +08:00
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
2024-09-24 20:38:50 +08:00
};
TwInOutplanmasterService.Add(model);
}
else
{
var model = TwInOutplanmasterService.GetById(Id);
2024-09-24 20:38:50 +08:00
model.CusBillCode = txtCusBillCode.Text;
model.WarehouseCode = drpWarehouse.SelectedValue;
// model.WeldTaskId = UnitWorkId;
2024-09-24 20:38:50 +08:00
model.Source = 1;
model.CreateDate = DateTime.Now;
model.CreateMan = this.CurrUser.PersonId;
model.ReqUnitId = drpReqUnit.SelectedValue;
2024-09-24 20:38:50 +08:00
model.TypeInt = int.Parse(drpTypeInt.SelectedValue);
model.Remark = txtRemark.Text;
model.InOutType = (int)TwConst.InOutType.;
2024-09-25 15:13:49 +08:00
model.Category = int.Parse(drpCategory.SelectedValue);
2024-09-24 20:38:50 +08:00
model.State = state;
TwInOutplanmasterService.Update(model);
2024-09-25 15:13:49 +08:00
}
2024-09-28 16:59:44 +08:00
if (drpTypeInt.SelectedValue == ((int)TwConst.TypeInt.).ToString())
{
SaveDetail_Relation();
}
else
{
SaveDetail();
}
2024-09-24 20:38:50 +08:00
}
/// <summary>
/// 保存明细项
/// </summary>
2024-09-28 16:59:44 +08:00
private void SaveDetail_Relation()
2024-09-18 10:48:34 +08:00
{
2024-09-24 20:38:50 +08:00
//根据列表中的明细项添加
List<Model.Tw_InOutPlanDetail_Relation> detailLists = new List<Model.Tw_InOutPlanDetail_Relation>();
JArray teamGroupData = Grid1.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
string id = teamGroupRow.Value<string>("id");
2024-09-24 20:38:50 +08:00
var mdoel = TwInoutplandetailRelationService.GetById(id);
2024-09-24 20:38:50 +08:00
if (mdoel != null)
{
mdoel.Number = values.Value<decimal>("Number");
2024-09-24 20:38:50 +08:00
}
TwInoutplandetailRelationService.Update(mdoel);
2024-09-24 20:38:50 +08:00
}
TwInOutplandetailService.GenInOutPlanDetailByInoutPlanMasterId(Id);
2024-09-18 10:48:34 +08:00
}
2024-09-28 16:59:44 +08:00
private void SaveDetail()
{
//根据列表中的明细项添加
List<Model.Tw_InOutPlanDetail> detailLists = new List<Model.Tw_InOutPlanDetail>();
JArray teamGroupData = Grid2.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
string id = teamGroupRow.Value<string>("id");
var mdoel = TwInOutplandetailService.GetById(id);
if (mdoel != null)
{
mdoel.PlanNum = values.Value<decimal>("PlanNum");
}
TwInOutplandetailService.Update(mdoel);
}
2024-09-18 10:48:34 +08:00
2024-09-28 16:59:44 +08:00
}
2024-09-24 20:38:50 +08:00
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
2024-09-18 10:48:34 +08:00
{
if (e.CommandName == "delete")
2024-09-24 20:38:50 +08:00
{
string id = e.RowID;
TwInoutplandetailRelationService.DeleteById(id);
TwInOutplandetailService.GenInOutPlanDetailByInoutPlanMasterId(Id);
BindGrid(Id);
}
2024-09-18 10:48:34 +08:00
}
2024-09-28 16:59:44 +08:00
protected void Grid2_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "delete")
{
string id = e.RowID;
TwInOutplandetailService.DeleteById(id);
BindGrid(Id);
}
}
2024-09-25 15:13:49 +08:00
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid(Id);
}
2024-09-28 16:59:44 +08:00
protected void drpTypeInt_SelectedIndexChanged(object sender, EventArgs e)
{
2025-01-24 09:13:53 +08:00
if (string.IsNullOrEmpty(Id))
{
txtCusBillCode.Text = TwInOutplanmasterService.GetDataInCusBillCode(this.CurrUser.LoginProjectId, UnitService.GetUnitByUnitId(drpReqUnit.SelectedValue)?.UnitCode, drpTypeInt.SelectedText, UnitWorkService.getUnitWorkByUnitWorkId(UnitWorkId)?.UnitWorkCode, drpCategory.SelectedText);
}
if (drpTypeInt.SelectedValue == ((int)TwConst.TypeInt.).ToString())
2024-09-28 16:59:44 +08:00
{
Grid1.Hidden = false;
Grid2.Hidden = true;
2024-09-28 16:59:44 +08:00
}
else
{
Grid1.Hidden = true;
Grid2.Hidden = false;
}
}
2024-09-18 10:48:34 +08:00
}
}