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 { /// /// 项目id /// 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(); } } /// /// 加载Grid /// 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 月份选择事件 /// /// 月份选择事件 /// /// /// 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); } 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 增加按钮事件 /// /// 增加按钮事件 /// /// /// 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 GetDetails() { List list = new List(); foreach (JObject mergedRow in Grid1.GetMergedData()) { JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); Model.JDGL_MonthPlan ql = new Model.JDGL_MonthPlan(); ql.MonthPlanId = Grid1.Rows[i].RowID; ql.UnitId = values.Value("UnitId"); ql.NodeContent = values.Value("NodeContent"); ql.PlanDate = Funs.GetNewDateTime(values.Value("PlanDate")); ql.DutyPerson = values.Value("DutyPerson"); ql.RealDate = Funs.GetNewDateTime(values.Value("RealDate")); ql.Remark = values.Value("Remark"); list.Add(ql); } return list; } #endregion #region 行点击事件 /// /// Grid行点击事件 /// /// /// 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 } }