SGGL_JT/SUBQHSE/FineUIPro.Web/Customization/CNCEC4/ZHGL/Report/EmergencyYearEdit.aspx.cs

328 lines
11 KiB
C#

using BLL;
using Model.Enums;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.Customization.CNCEC4.ZHGL.Report
{
public partial class EmergencyYearEdit : PageBase
{
public string Id
{
get
{
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
public string EmId
{
get
{
return (string)ViewState["EmId"];
}
set
{
ViewState["EmId"] = value;
}
}
public string action
{
get
{
return (string)ViewState["action"];
}
set
{
ViewState["action"] = value;
}
}
/// <summary>
/// 定义集合
/// </summary>
private static List<Model.Report_EmergencyYear_c> details = new List<Model.Report_EmergencyYear_c>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Id = Request.Params[nameof(Id)];
this.action = Request.Params[nameof(action)];
showInfo();
if (this.action == ActionEnums.View.ToString())
{
btnSave.Hidden = true;
btnSubmit.Hidden = true;
btnNew.Hidden = true;
}
}
}
/// <summary>
/// 加载数据
/// </summary>
void showInfo()
{
// 删除选中单元格的客户端脚本
string deleteScript = GetDeleteScript();
this.txtUnitName.Text = BLL.UnitService.GetUnitNameByUnitId(CurrUser.UnitId);
var resultDetail = Funs.DB.Report_EmergencyYear_c.FirstOrDefault(a => a.Id == this.Id);
if (resultDetail != null)
{
this.EmId = resultDetail.EmId;
var result = Funs.DB.Report_EmergencyYear.FirstOrDefault(a => a.Id == resultDetail.EmId);
txtUnitName.Text= BLL.UnitService.GetUnitNameByUnitId(result.Unitid);
this.txtCreateDate.Text = result.CreateDate.ToString();
//加载列表
details.Clear();
var detailList = Funs.DB.Report_EmergencyYear_c.Where(x => x.EmId == EmId).ToList();
details = detailList;
Grid1.DataSource = details;
Grid1.DataBind();
}
else
{
this.txtCreateDate.Text = DateTime.Now.ToString();
//如果没有数据,则加载该单位下的所有子项并且非本单位
var thisUnit = BLL.CommonService.GetIsThisUnit();
if (thisUnit.UnitId != this.CurrUser.UnitId)
{
var projectList = Funs.DB.Base_Project.Where(x => x.UnitId == this.CurrUser.UnitId).ToList();
if (projectList.Count > 0)
{
var detailList = new List<Model.Report_EmergencyYear_c>();
var emid= Guid.NewGuid().ToString();
foreach (var item in projectList)
{
Model.Report_EmergencyYear_c modelDetail = new Model.Report_EmergencyYear_c();
modelDetail.Id= Guid.NewGuid().ToString();
modelDetail.EmId = emid;
modelDetail.ProjectName = item.ProjectName;
detailList.Add(modelDetail);
}
details = detailList;
Grid1.DataSource = details;
Grid1.DataBind();
}
}
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
SaveData(BLL.Const.BtnSave);
}
/// <summary>
/// 提交
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
SaveData(BLL.Const.BtnSubmit);
}
/// <summary>
/// 添加明细按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
JArray teamGroupData = Grid1.GetMergedData();
List<JObject> list = new List<JObject>();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
values.Add("Id", teamGroupRow.Value<string>("id"));
list.Add(values);
}
JObject defaultObj = new JObject
{ { "Id",Guid.NewGuid() },
{ "ProjectName", "" },
{ "EmName", "" },
{ "EmDate",""},
{ "EmScene", "" },
{ "EmType","" },
{ "Delete", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", GetDeleteScript(), IconHelper.GetResolvedIconUrl(Icon.Delete)) }
};
list.Add(defaultObj);
Grid1.DataSource = list;
Grid1.DataBind();
}
#region
void SaveData(string type)
{
Model.Report_EmergencyYear model = new Model.Report_EmergencyYear()
{
Unitid = this.CurrUser.UnitId,
CreateDate = Convert.ToDateTime(this.txtCreateDate.Text),
};
if (type == BLL.Const.BtnSave)
{
model.States = "0";
}
else
{
model.States = "1";
}
if (this.action == ActionEnums.Edit.ToString() || !string.IsNullOrEmpty(this.Id))
{
model.Id = this.EmId;
EmergencyYearService.Update(model);
//删除子表重新添加
EmergencyYearService.DeleteCbyRiskId(model.Id);
}
else
{
model.Id = SQLHelper.GetNewID(typeof(Model.Report_EmergencyYear));
this.EmId = model.Id;
EmergencyYearService.Insert(model);
}
var str = this.SaveDetail(type, model);
if (str == "保存成功")
{
ShowNotify(this.SaveDetail(type, model), MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify(this.SaveDetail(type, model), MessageBoxIcon.Warning);
}
}
/// <summary>
/// 保存明细项
/// </summary>
private string SaveDetail(string type, Model.Report_EmergencyYear model)
{
var errMsg = "";
try
{
var olddetailLists = Funs.DB.Report_EmergencyYear_c.Where(x => x.EmId == this.EmId).ToList();
List<string> needRemove = new List<string>();
foreach (var oldDetail in olddetailLists)
{
bool hasFind = false;
for (int i = 0; i < Grid1.Rows.Count; i++)
{
if (oldDetail.Id == Grid1.Rows[i].DataKeys[0].ToString())
{
hasFind = true;
break;
}
}
if (!hasFind)
{
EmergencyYearService.DeleteC(oldDetail.Id);
}
}
List<Model.Report_EmergencyYear_c> detailLists = new List<Model.Report_EmergencyYear_c>();
JArray teamGroupData = Grid1.GetMergedData();
var fIndex = 1;
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_EmergencyYear_c newDetail = new Model.Report_EmergencyYear_c()
{
Id = values.Value<string>("Id"),
EmId = this.EmId,
ProjectName = values.Value<string>("ProjectName"),
EmName = values.Value<string>("EmName"),
EmScene = values.Value<string>("EmScene"),
EmType = values.Value<string>("EmType")
};
if (string.IsNullOrEmpty(newDetail.ProjectName))
{
errMsg = "第" + fIndex.ToString() + "行分支机构不能为空";
break;
}
if (string.IsNullOrEmpty(newDetail.EmName))
{
errMsg = "第" + fIndex.ToString() + "行演练名称不能为空";
break;
}
var emDate = values.Value<string>("EmDate");
if (string.IsNullOrEmpty(emDate))
{
errMsg = "第" + fIndex.ToString() + "行演练日期不能为空";
break;
}
newDetail.EmDate = Convert.ToDateTime(emDate);
if (Grid1.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = Grid1.Rows[rowIndex].DataKeys[0].ToString();
}
var newDetailModel = Funs.DB.Report_EmergencyYear_c.FirstOrDefault(x => x.Id == newDetail.Id);
if (newDetailModel == null)
{
EmergencyYearService.InsertC(newDetail);
}
else
{
EmergencyYearService.UpdateC(newDetail);
}
}
}
catch (Exception ex)
{
throw ex;
}
if (!string.IsNullOrEmpty(errMsg))
{
return errMsg;
}
return "保存成功";
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PreDataBound(object sender, EventArgs e)
{
// 设置LinkButtonField的点击客户端事件
LinkButtonField deleteField = Grid1.FindColumn("Delete") as LinkButtonField;
deleteField.OnClientClick = GetDeleteScript();
}
/// <summary>
/// 删除提示
/// </summary>
/// <returns></returns>
private string GetDeleteScript()
{
return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty);
}
}
}