CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/JDGL/Check/MonthPlanEdit.aspx.cs

189 lines
7.1 KiB
C#

using BLL;
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;
namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlanEdit : PageBase
{
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (!string.IsNullOrEmpty(Request.Params["Months"]))
{
months = Convert.ToDateTime(Request.Params["Months"] + "-01");
}
BLL.ProjectUnitService.InitUnitDropDownList2(drpUnitId, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
UserService.Init(drpDutyPerson, CurrUser.LoginProjectId, false);
this.txtMonth.Text = string.Format("{0:yyyy-MM}", months);
BindGrid();
}
}
/// <summary>
/// 加载Grid
/// </summary>
private void BindGrid()
{
DateTime months = Convert.ToDateTime(this.txtMonth.Text + "-01");
Model.SGGLDB db = Funs.DB;
Grid1.DataSource = from x in db.JDGL_MonthPlan
where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months
orderby x.SortIndex
select new
{
x.MonthPlanId,
x.ProjectId,
x.Months,
UnitId = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName,
x.NodeContent,
x.PlanDate,
DutyPerson = db.Sys_User.First(y => y.UserId == x.DutyPerson).UserName,
x.RealDate,
x.Remark,
};
Grid1.DataBind();
}
#region
/// <summary>
/// 月份选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtMonths_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#endregion
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtMonth.Text))
{
ShowNotify("请选择月份!", MessageBoxIcon.Warning);
return;
}
SaveData(true);
}
private void SaveData(bool bl)
{
DateTime months = Convert.ToDateTime(this.txtMonth.Text + "-01");
var list = GetDetails();
var units = from x in Funs.DB.Base_Unit select x;
var users = from x in Funs.DB.Sys_User select x;
BLL.MonthPlanService.DeleteAllMonthPlan(this.CurrUser.LoginProjectId, months);
Model.SGGLDB db = Funs.DB;
int i = 1;
foreach (var item in list)
{
Model.JDGL_MonthPlan MonthPlan = new Model.JDGL_MonthPlan();
MonthPlan.MonthPlanId = SQLHelper.GetNewID(typeof(Model.JDGL_MonthPlan));
MonthPlan.ProjectId = this.CurrUser.LoginProjectId;
MonthPlan.Months = months;
var unit = units.FirstOrDefault(x => x.UnitName == item.UnitId);
if (unit != null)
{
MonthPlan.UnitId = unit.UnitId;
}
MonthPlan.NodeContent = item.NodeContent;
MonthPlan.PlanDate = item.PlanDate;
var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
if (user != null)
{
MonthPlan.DutyPerson = user.UserId;
}
MonthPlan.RealDate = item.RealDate;
MonthPlan.Remark = item.Remark;
MonthPlan.CompileMan = this.CurrUser.UserId;
MonthPlan.CompileDate = DateTime.Now;
MonthPlan.SortIndex = i;
BLL.MonthPlanService.AddMonthPlan(MonthPlan);
i++;
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#region
/// <summary>
/// 增加按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
var list = GetDetails();
Model.JDGL_MonthPlan ql = new Model.JDGL_MonthPlan();
ql.MonthPlanId = SQLHelper.GetNewID();
list.Add(ql);
Grid1.DataSource = list;
Grid1.DataBind();
}
private List<Model.JDGL_MonthPlan> GetDetails()
{
List<Model.JDGL_MonthPlan> list = new List<Model.JDGL_MonthPlan>();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.JDGL_MonthPlan ql = new Model.JDGL_MonthPlan();
ql.MonthPlanId = Grid1.Rows[i].RowID;
ql.UnitId = values.Value<string>("UnitId");
ql.NodeContent = values.Value<string>("NodeContent");
ql.PlanDate = Funs.GetNewDateTime(values.Value<string>("PlanDate"));
ql.DutyPerson = values.Value<string>("DutyPerson");
ql.RealDate = Funs.GetNewDateTime(values.Value<string>("RealDate"));
ql.Remark = values.Value<string>("Remark");
list.Add(ql);
}
return list;
}
#endregion
#region
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string monthPlanId = Grid1.DataKeys[e.RowIndex][0].ToString();
var list = GetDetails();
if (e.CommandName == "del")//删除
{
var Report = list.FirstOrDefault(x => x.MonthPlanId == monthPlanId);
if (Report != null)
{
list.Remove(Report);
}
this.Grid1.DataSource = list;
this.Grid1.DataBind();
}
}
#endregion
}
}