328 lines
11 KiB
C#
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);
|
|
}
|
|
}
|
|
} |