using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Web.UI.WebControls; namespace FineUIPro.Web.HSSE.InformationProject { public partial class DrillPlanHalfYearReportEdit : PageBase { #region 定义变量 /// /// 主键 /// public string DrillPlanHalfYearReportId { get { return (string)ViewState["DrillPlanHalfYearReportId"]; } set { ViewState["DrillPlanHalfYearReportId"] = value; } } #region 项目主键 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion /// /// 定义集合 /// private static List items = new List(); #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); items.Clear(); this.ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId) { this.ProjectId = Request.Params["projectId"]; } BLL.ConstValue.InitConstValueDropDownList(this.ddlYearId, BLL.ConstValue.Group_0008, true); BLL.ConstValue.InitConstValueDropDownList(this.ddlHalfYearId, BLL.ConstValue.Group_0010, true); this.DrillPlanHalfYearReportId = Request.Params["DrillPlanHalfYearReportId"]; if (!string.IsNullOrEmpty(this.DrillPlanHalfYearReportId)) { items = BLL.ProjectDrillPlanHalfYearReportItemService.GetDrillPlanHalfYearReportItemList(this.DrillPlanHalfYearReportId); int i = items.Count * 10; int count = items.Count; if (count < 10) { for (int j = 0; j < (10 - count); j++) { i += 10; Model.InformationProject_DrillPlanHalfYearReportItem newItem = new Model.InformationProject_DrillPlanHalfYearReportItem { DrillPlanHalfYearReportItemId = SQLHelper.GetNewID(typeof(Model.InformationProject_DrillPlanHalfYearReportItem)), SortIndex = i }; items.Add(newItem); } } this.Grid1.DataSource = items; this.Grid1.DataBind(); var drill = BLL.ProjectDrillPlanHalfYearReportService.GetDrillPlanHalfYearReportById(this.DrillPlanHalfYearReportId); if (drill != null) { this.ProjectId = drill.ProjectId; if (drill.YearId.HasValue) { this.ddlYearId.SelectedValue = drill.YearId.ToString(); } if (drill.HalfYearId.HasValue) { this.ddlHalfYearId.SelectedValue = drill.HalfYearId.ToString(); } if (!string.IsNullOrEmpty(drill.CompileMan)) { this.txtCompileMan.Text = drill.CompileMan; } this.txtTel.Text = drill.Telephone; if (drill.CompileDate != null) { this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", drill.CompileDate); } } } else { this.ddlYearId.SelectedValue = DateTime.Now.Year.ToString(); this.ddlHalfYearId.SelectedValue = Funs.GetNowHalfYearByTime(DateTime.Now).ToString(); this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); //增加明细集合 for (int i = 0; i < 100; i++) { i += 10; Model.InformationProject_DrillPlanHalfYearReportItem newItem = new Model.InformationProject_DrillPlanHalfYearReportItem { DrillPlanHalfYearReportItemId = SQLHelper.GetNewID(typeof(Model.InformationProject_DrillPlanHalfYearReportItem)), SortIndex = i }; items.Add(newItem); } Grid1.DataSource = items; Grid1.DataBind(); } ///初始化审核菜单 this.ctlAuditFlow.MenuId = BLL.Const.ProjectDrillPlanHalfYearReportMenuId; this.ctlAuditFlow.DataId = this.DrillPlanHalfYearReportId; this.ctlAuditFlow.ProjectId = this.ProjectId; this.txtprojectName.Text = BLL.ProjectService.GetProjectNameByProjectId(this.ProjectId); } } #endregion #region Grid1行点击事件 /// /// Grid行点击事件 /// /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string rowID = Grid1.DataKeys[e.RowIndex][0].ToString(); GetItems(string.Empty); if (e.CommandName == "Add") { Model.InformationProject_DrillPlanHalfYearReportItem oldItem = items.FirstOrDefault(x => x.DrillPlanHalfYearReportItemId == rowID); Model.InformationProject_DrillPlanHalfYearReportItem newItem = new Model.InformationProject_DrillPlanHalfYearReportItem { DrillPlanHalfYearReportItemId = SQLHelper.GetNewID(typeof(Model.InformationProject_DrillPlanHalfYearReportItem)) }; if (oldItem != null) { newItem.SortIndex = oldItem.SortIndex + 1; } else { newItem.SortIndex = 0; } items.Add(newItem); items = items.OrderBy(x => x.SortIndex).ToList(); Grid1.DataSource = items; Grid1.DataBind(); } if (e.CommandName == "Delete") { foreach (var item in items) { if (item.DrillPlanHalfYearReportItemId == rowID) { items.Remove(item); break; } } Grid1.DataSource = items; Grid1.DataBind(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #endregion #region 获取明细 private void GetItems(string drillPlanHalfYearReportId) { items.Clear(); int i = 10; foreach (JObject mergedRow in Grid1.GetMergedData()) { JObject values = mergedRow.Value("values"); Model.InformationProject_DrillPlanHalfYearReportItem item = new Model.InformationProject_DrillPlanHalfYearReportItem(); if (values["DrillPlanHalfYearReportItemId"].ToString() != "") { item.DrillPlanHalfYearReportItemId = values.Value("DrillPlanHalfYearReportItemId"); } item.DrillPlanHalfYearReportId = drillPlanHalfYearReportId; item.SortIndex = i; if (values["DrillPlanName"].ToString() != "") { item.DrillPlanName = values.Value("DrillPlanName"); } if (values["OrganizationUnit"].ToString() != "") { item.OrganizationUnit = values.Value("OrganizationUnit"); } if (values["DrillPlanDate"].ToString() != "") { item.DrillPlanDate = values.Value("DrillPlanDate"); } if (values["AccidentScene"].ToString() != "") { item.AccidentScene = values.Value("AccidentScene"); } if (values["ExerciseWay"].ToString() != "") { item.ExerciseWay = values.Value("ExerciseWay"); } items.Add(item); i += 10; } } #endregion #region 保存、提交 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (this.ddlYearId.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择年度", MessageBoxIcon.Warning); return; } if (this.ddlHalfYearId.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择季度", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSave); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (this.ddlYearId.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择年度", MessageBoxIcon.Warning); return; } if (this.ddlHalfYearId.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择季度", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSubmit); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 保存数据 /// /// private void SaveData(string type) { Model.InformationProject_DrillPlanHalfYearReport drillPlanHalfYearReport = new Model.InformationProject_DrillPlanHalfYearReport { ProjectId = this.ProjectId, UnitId = string.IsNullOrEmpty(this.CurrUser.UnitId) ? Const.UnitId_TCC : this.CurrUser.UnitId, }; if (this.ddlYearId.SelectedValue != BLL.Const._Null) { drillPlanHalfYearReport.YearId = Funs.GetNewIntOrZero(this.ddlYearId.SelectedValue); } if (this.ddlHalfYearId.SelectedValue != BLL.Const._Null) { drillPlanHalfYearReport.HalfYearId = Funs.GetNewIntOrZero(this.ddlHalfYearId.SelectedValue); } drillPlanHalfYearReport.Telephone = this.txtTel.Text.Trim(); drillPlanHalfYearReport.CompileMan = this.txtCompileMan.Text.Trim(); drillPlanHalfYearReport.CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text.Trim()); drillPlanHalfYearReport.States = BLL.Const.State_0; if (type == BLL.Const.BtnSubmit) { drillPlanHalfYearReport.States = this.ctlAuditFlow.NextStep; } if (!string.IsNullOrEmpty(this.DrillPlanHalfYearReportId)) { drillPlanHalfYearReport.DrillPlanHalfYearReportId = this.DrillPlanHalfYearReportId; BLL.ProjectDrillPlanHalfYearReportService.UpdateDrillPlanHalfYearReport(drillPlanHalfYearReport); BLL.LogService.AddSys_Log(this.CurrUser, drillPlanHalfYearReport.YearId.ToString() + "-" + drillPlanHalfYearReport.HalfYearId.ToString(), drillPlanHalfYearReport.DrillPlanHalfYearReportId, BLL.Const.ProjectDrillPlanHalfYearReportMenuId, BLL.Const.BtnModify); BLL.ProjectDrillPlanHalfYearReportItemService.DeleteDrillPlanHalfYearReportItemList(this.DrillPlanHalfYearReportId); } else { Model.InformationProject_DrillPlanHalfYearReport oldDrillPlanHalfYearReport = (from x in Funs.DB.InformationProject_DrillPlanHalfYearReport where x.ProjectId == drillPlanHalfYearReport.ProjectId && x.YearId == drillPlanHalfYearReport.YearId && x.HalfYearId == drillPlanHalfYearReport.HalfYearId select x).FirstOrDefault(); if (oldDrillPlanHalfYearReport == null) { this.DrillPlanHalfYearReportId = SQLHelper.GetNewID(typeof(Model.InformationProject_DrillPlanHalfYearReport)); drillPlanHalfYearReport.DrillPlanHalfYearReportId = this.DrillPlanHalfYearReportId; BLL.ProjectDrillPlanHalfYearReportService.AddDrillPlanHalfYearReport(drillPlanHalfYearReport); BLL.LogService.AddSys_Log(this.CurrUser, drillPlanHalfYearReport.YearId.ToString() + "-" + drillPlanHalfYearReport.HalfYearId.ToString(), drillPlanHalfYearReport.DrillPlanHalfYearReportId, BLL.Const.ProjectDrillPlanHalfYearReportMenuId, BLL.Const.BtnAdd); ////删除未上报月报信息 //Model.ManagementReport_ReportRemind reportRemind = (from x in Funs.DB.ManagementReport_ReportRemind // where x.ProjectId == this.ProjectId && x.Year == drillPlanHalfYearReport.YearId && x.HalfYear == drillPlanHalfYearReport.HalfYearId && x.ReportName == "应急演练工作计划半年报" // select x).FirstOrDefault(); //if (reportRemind != null) //{ // BLL.ReportRemindService.DeleteReportRemindByReportRemind(reportRemind); //} } else { Alert.ShowInTop("该半年记录已存在", MessageBoxIcon.Warning); return; } } GetItems(drillPlanHalfYearReport.DrillPlanHalfYearReportId); foreach (var item in items) { if (!string.IsNullOrEmpty(item.DrillPlanName)) { BLL.ProjectDrillPlanHalfYearReportItemService.AddDrillPlanHalfYearReportItem(item); } } ////保存流程审核数据 this.ctlAuditFlow.btnSaveData(this.ProjectId, BLL.Const.ProjectDrillPlanHalfYearReportMenuId, this.DrillPlanHalfYearReportId, (type == BLL.Const.BtnSubmit ? true : false), drillPlanHalfYearReport.YearId + "-" + drillPlanHalfYearReport.HalfYearId, "../InformationProject/DrillPlanHalfYearReportView.aspx?DrillPlanHalfYearReportId={0}"); } #endregion } }