CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonthCEdit.aspx.cs

1848 lines
86 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Newtonsoft.Json.Linq;
using System.Threading;
using Model;
namespace FineUIPro.Web.HSSE.Manager
{
public partial class ManagerMonthCEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string MonthReportId
{
get
{
return (string)ViewState["MonthReportId"];
}
set
{
ViewState["MonthReportId"] = value;
}
}
public string AddOrUpdate
{
get
{
return (string)ViewState["AddOrUpdate"];
}
set
{
ViewState["AddOrUpdate"] = value;
}
}
public string ProjectId { get; set; }
private static DateTime months;
private static DateTime startTime;
private static DateTime endTime;
private static DateTime yearStartTime;
private static DateTime projectStartTime;
#endregion
#region list集合
public List<Model.Base_Unit> unitList = new List<Model.Base_Unit>();
/// <summary>
/// 培训情况集合
/// </summary>
private static List<Model.Manager_TrainSortC> trainSorts = new List<Model.Manager_TrainSortC>();
/// <summary>
/// 检查情况集合
/// </summary>
private static List<Model.Manager_CheckSortC> checkSorts = new List<Model.Manager_CheckSortC>();
/// <summary>
/// HSE奖励与处罚
/// </summary>
private static List<Model.Manager_RewardAndPunishSortC> rewardAndPunishSortCs = new List<Model.Manager_RewardAndPunishSortC>();
/// <summary>
/// 4.10 HSE现场其他管理情况集合
/// </summary>
private static List<Model.Manager_Month_OtherManagementC> otherManagements = new List<Model.Manager_Month_OtherManagementC>();
/// <summary>
/// 5.1 五环HSE费用投入集合
/// </summary>
private static List<Model.Manager_Month_FiveExpenseC> fiveExpenses = new List<Model.Manager_Month_FiveExpenseC>();
/// <summary>
/// 7.1 其他HSE工作计划
/// </summary>
private static List<Model.Manager_Month_OtherWorkPlanC> otherWorkPlanCs = new List<Model.Manager_Month_OtherWorkPlanC>();
/// <summary>
/// 8 HSE合规义务识别与评价表
/// </summary>
private static List<Model.Manager_Month_ComplianceObligationsC> complianceObligationsCs = new List<Model.Manager_Month_ComplianceObligationsC>();
#endregion
public List<Project_ProjectUnit> units = new List<Project_ProjectUnit>();
public Model.SGGLDB db = Funs.DB;
#region
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ProjectId = CurrUser.LoginProjectId;
units = (from x in db.Project_ProjectUnit
where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
orderby x.UnitType
select x).ToList(); //1为总包2为施工分包
rewardAndPunishSortCs.Clear();
trainSorts.Clear();
checkSorts.Clear();
otherManagements.Clear();
fiveExpenses.Clear();
otherWorkPlanCs.Clear();
complianceObligationsCs.Clear();
unitList = db.Base_Unit.ToList();
MonthReportId = Request.Params["MonthReportId"];
var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
if (!string.IsNullOrEmpty(MonthReportId))
{
var model = db.Manager_MonthReportC.FirstOrDefault(x => x.MonthReportId == MonthReportId);
if (model != null)
{
if (model.MonthReportCode != null)
{
this.txtPeriod.Text = Convert.ToString(model.MonthReportCode);
}
if (model.Months != null)
{
txtReportMonths.Text = string.Format("{0:yyyy-MM}", model.Months);
}
if (model.StartDate != null)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", model.StartDate);
}
if (model.EndDate != null)
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", model.EndDate);
}
}
AddOrUpdate = "update";
#region 3.HSE人工日统计
//本月项目现场HSE人工日统计
Model.MonthReportCHSEDay hseDay = new Model.MonthReportCHSEDay
{
MonthHSEDay = model.MonthHSEDay ?? 0,
SumHSEDay = model.SumHSEDay ?? 0,
MonthHSEWorkDay = model.MonthHSEWorkDay ?? 0,
YearHSEWorkDay = model.YearHSEWorkDay ?? 0,
SumHSEWorkDay = model.SumHSEWorkDay ?? 0,
HseManhours = model.HseManhours ?? 0,
SubcontractManHours = model.SubcontractManHours ?? 0,
TotalHseManhoursYear = model.TotalHseManhoursYear ?? 0,
TotalHseManhours = model.TotalHseManhours ?? 0
};
List<Model.MonthReportCHSEDay> list = new List<Model.MonthReportCHSEDay>();
list.Add(hseDay);
this.gvHSEDay.DataSource = list;
this.gvHSEDay.DataBind();
#endregion
#region 4.1
//培训情况
var trainSorts = BLL.TrainSortCService.GetTrainSortsByMonthReportId(MonthReportId);
if (trainSorts.Count > 0)
{
this.gvTrainSort.DataSource = trainSorts;
this.gvTrainSort.DataBind();
if (this.gvTrainSort.Rows.Count > 0)
{
JObject summary = new JObject();
summary.Add("TrainType", "培训人数合计:");
summary.Add("TotalPersonNum", trainSorts.Sum(x=>x.TotalPersonNum));
this.gvTrainSort.SummaryData = summary;
}
else
{
this.gvTrainSort.SummaryData = null;
}
}
#endregion
#region 4.2HSE会议及检查统计
//检查情况
checkSorts = BLL.CheckSortCService.GetCheckSortsByMonthReportId(MonthReportId);
if (checkSorts.Count > 0)
{
this.gvCheckSort.DataSource = checkSorts;
this.gvCheckSort.DataBind();
}
#endregion
#region 4.3
txtMonthHdangerCount.Text = model.MonthHdangerCount.ToString();
txtYearHdangerCount.Text = model.YearHdangerCount.ToString();
#endregion
#region 4.6.3
txtEmergencyManagementWorkDef.Text = model.EmergencyManagementWorkDef;
#endregion
#region 4.7HSE奖励与处罚
//HSE奖励与处罚
rewardAndPunishSortCs = BLL.RewardAndPunishSortCService.GetRewardAndPunishSortCByMontReportId(MonthReportId);
if (rewardAndPunishSortCs.Count > 0)
{
this.gvRewardSortAndPunish.DataSource = rewardAndPunishSortCs;
this.gvRewardSortAndPunish.DataBind();
}
#endregion
#region 4.8HSE现场其他管理情况
otherManagements = BLL.OtherManagementCService.GetOtherManagementByMonthReportId(this.MonthReportId);
if (otherManagements.Count > 0)
{
this.gvOtherManagement.DataSource = otherManagements;
this.gvOtherManagement.DataBind();
}
#endregion
#region 5.1 HSE费用投入统计
fiveExpenses = BLL.FiveExpenseCService.GetFiveExpenseByMonthReportId(MonthReportId);
if (fiveExpenses.Count > 0)
{
this.gvFiveExpenseC.DataSource = fiveExpenses;
this.gvFiveExpenseC.DataBind();
OutputgvFiveExpenseCSummaryData();
}
#endregion
#region 6 HSE责任事故/
//6.2 HSE责任事故/事件描述
txtDef.Text = model.AccidentDef;
#endregion
#region 7.1
otherWorkPlanCs = BLL.OtherWorkPlanCService.GetOtherWorkPlanByMonthReportId(MonthReportId);
if (otherWorkPlanCs.Count > 0)
{
this.gvOtherWorkPlanC.DataSource = otherWorkPlanCs;
this.gvOtherWorkPlanC.DataBind();
}
#endregion
#region 8
complianceObligationsCs = (from x in Funs.DB.Manager_Month_ComplianceObligationsC where x.MonthReportId == this.MonthReportId select x).ToList();
if (complianceObligationsCs.Count > 0)
{
this.gvOperateComplianceObligations.DataSource = complianceObligationsCs;
this.gvOperateComplianceObligations.DataBind();
}
#endregion
//9问题
txtQuestion.Text = model.Question;
//加载所有grid
lodAllGrid("1");
}
else
{
MonthReportId = Guid.NewGuid().ToString();
months = Convert.ToDateTime(Request.Params["months"]);
this.txtReportMonths.Text = string.Format("{0:yyyy-MM}", months);
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now.AddMonths(-1));
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
this.txtPeriod.Text = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectManagerMonthCMenuId, this.ProjectId, this.CurrUser.UnitId);
AddOrUpdate = "add";
startTime = Convert.ToDateTime(txtStartDate.Text);
endTime = Convert.ToDateTime(txtEndDate.Text);
yearStartTime = Convert.ToDateTime(months.ToString("yyyy-01-01"));
if (project.StartDate != null)
{
projectStartTime = Convert.ToDateTime(project.StartDate);
}
//加载所有grid
lodAllGrid("0");
}
#region 1.
var mainUnit = BLL.UnitService.GetThisUnitDropDownList()[0];
this.lbProjectName.Text = project.ProjectName;
if (mainUnit != null)
{
this.lblMainUnitName.Text = mainUnit.UnitName;
}
this.lblProjectAddress.Text = project.ProjectAddress;
this.lblProjectCode.Text = project.ProjectCode;
this.lblContractNo.Text = project.ContractNo; //合同号
if (!string.IsNullOrEmpty(project.ProjectType))
{
var c = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_ProjectType).
FirstOrDefault(x => x.ConstValue == project.ProjectType);
if (c != null)
{
this.lblProjectType.Text = c.ConstText;
}
}
this.lblWorkRange.Text = project.WorkRange;//工程范围
if (project.Duration != null)
{
this.lblDuration.Text = project.Duration.ToString();//工期(月)
}
if (project.StartDate != null)
{
this.lblStartDate.Text = string.Format("{0:yyyy-MM-dd}", project.StartDate);
}
if (project.EndDate != null)
{
this.lblEndDate.Text = string.Format("{0:yyyy-MM-dd}", project.EndDate);
}
#endregion
}
}
#endregion
#region
/// <summary>
/// 开始时间选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtStartDate_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
{
string url = Request.Url.ToString();
if (url.Contains("?"))
{
url = Request.Url.ToString().Substring(0, Request.Url.ToString().LastIndexOf('?'));
}
Response.Redirect(url + "?startdate=" + txtStartDate.Text + "&enddate=" + txtEndDate.Text);
}
}
protected void TextBox_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) && !string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
{
if (Funs.GetNewDateTime(this.txtStartDate.Text.Trim()) > Funs.GetNewDateTime(this.txtEndDate.Text.Trim()))
{
Alert.ShowInTop("开始时间不能大于结束时间!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript("refresh();");
}
}
protected void btnLoad_Click(object sender, EventArgs e)
{
if (AddOrUpdate == "update")
{
lodAllGrid("1");
PageContext.RegisterStartupScript("rehiden();");
}
else
{
lodAllGrid("0");
PageContext.RegisterStartupScript("rehiden();");
}
}
#endregion
#region
protected void btnSave_Click(object sender, EventArgs e)
{
#region
string MonthHSEDay = string.Empty, SumHSEDay = string.Empty, MonthHSEWorkDay = string.Empty, YearHSEWorkDay = string.Empty, SumHSEWorkDay = string.Empty,
HseManhours = string.Empty, SubcontractManHours = string.Empty, TotalHseManhours = string.Empty, TotalYearHseManhours=string.Empty;
JArray mergedData = gvHSEDay.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
MonthHSEDay = values.Value<string>("MonthHSEDay").ToString();
SumHSEDay = values.Value<string>("SumHSEDay").ToString();
MonthHSEWorkDay = values.Value<string>("MonthHSEWorkDay").ToString();
YearHSEWorkDay = values.Value<string>("YearHSEWorkDay").ToString();
SumHSEWorkDay = values.Value<string>("SumHSEWorkDay").ToString();
HseManhours = values.Value<string>("HseManhours").ToString();
SubcontractManHours = values.Value<string>("SubcontractManHours").ToString();
TotalYearHseManhours = values.Value<string>("TotalHseManhoursYear").ToString();
TotalHseManhours = values.Value<string>("TotalHseManhours").ToString();
}
var monthReport = new Model.Manager_MonthReportC();
monthReport.MonthReportId = MonthReportId;
monthReport.ProjectId = this.CurrUser.LoginProjectId;
monthReport.MonthReportCode = txtPeriod.Text;
monthReport.Months = Funs.GetNewDateTime(Request.Params["months"]);
monthReport.ReportMan = this.CurrUser.UserId;
monthReport.MonthReportDate = DateTime.Now;
monthReport.StartDate = Funs.GetNewDateTime(txtStartDate.Text);
monthReport.EndDate = Funs.GetNewDateTime(txtEndDate.Text);
monthReport.MonthHSEDay = Funs.GetNewIntOrZero(MonthHSEDay);
monthReport.SumHSEDay = Funs.GetNewIntOrZero(SumHSEDay);
monthReport.MonthHSEWorkDay = Funs.GetNewIntOrZero(MonthHSEWorkDay);
monthReport.YearHSEWorkDay = Funs.GetNewIntOrZero(YearHSEWorkDay);
monthReport.SumHSEWorkDay = Funs.GetNewIntOrZero(SumHSEWorkDay);
monthReport.HseManhours = Funs.GetNewIntOrZero(HseManhours);
monthReport.SubcontractManHours = Funs.GetNewIntOrZero(SubcontractManHours);
monthReport.TotalHseManhours = Funs.GetNewIntOrZero(TotalHseManhours);
monthReport.TotalHseManhoursYear= Funs.GetNewIntOrZero(TotalYearHseManhours);
//4.3隐患
monthReport.MonthHdangerCount = Funs.GetNewIntOrZero(txtMonthHdangerCount.Text);
monthReport.YearHdangerCount = Funs.GetNewIntOrZero(txtYearHdangerCount.Text);
//4.6.3其他应急管理工作描述
monthReport.EmergencyManagementWorkDef = txtEmergencyManagementWorkDef.Text;
//6.2HSE责任事故/事件描述
monthReport.AccidentDef = txtDef.Text;
//9.问题
monthReport.Question = txtQuestion.Text;
if (AddOrUpdate == "add")
{
MonthReportCService.AddMonthReport(monthReport);
}
else
{
MonthReportCService.UpdateMonthReport(monthReport);
}
#endregion
#region
//2
OperatePersonSort();
//4.1
OperateTrainSort();
//4.2
OperateCheckSort();
//4.3
OperateManager_HiddenDanger();
//4.7
OperateRewardAndPunishSort();
//4.8
OperateOtherManagementSort();
//5.1
OperateFiveExpenseSort();
//7.1
OperateOtherWorkPlanCSort();
//8
OperateComplianceObligationsCSort();
#endregion
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
#region 2.
private void OperatePersonSort()
{
PersonSortCService.DeletePersonSortsByMonthReportId(MonthReportId);
JArray mergedData = gvPersonSort.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_PersonSortC personSort = new Model.Manager_PersonSortC
{
MonthReportId = MonthReportId,
UnitId = this.gvPersonSort.Rows[i].DataKeys[1].ToString(),
SumPersonNum = Funs.GetNewIntOrZero(values.Value<string>("SumPersonNum").ToString()),
SumOutPersonNum = Funs.GetNewIntOrZero(values.Value<string>("SumOutPersonNum").ToString()),
HSEPersonNum = Funs.GetNewIntOrZero(values.Value<string>("HSEPersonNum").ToString()),
ContractRange = values.Value<string>("ContractRange").ToString(),
Remark = values.Value<string>("Remark").ToString()
};
PersonSortCService.AddPersonSort(personSort);
}
}
#endregion
#region 4.3
private void OperateManager_HiddenDanger() {
PersonSortCService.DeleteManager_HiddenDanger(MonthReportId);
JArray mergedData = GridHiddenDanger.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_HiddenDanger model = new Model.Manager_HiddenDanger
{
Id=Guid.NewGuid().ToString(),
MonthReportId = MonthReportId,
UnitId = this.GridHiddenDanger.Rows[i].DataKeys[1].ToString(),
CommonlyNum = Funs.GetNewIntOrZero(values.Value<string>("CommonlyNum").ToString()),
MajorNum = Funs.GetNewIntOrZero(values.Value<string>("MajorNum").ToString()),
ReRate = values.Value<string>("ReRate").ToString(),
SortIndex = i+1,
};
db.Manager_HiddenDanger.InsertOnSubmit(model);
db.SubmitChanges();
}
}
#endregion
#region 4.1
private void OperateTrainSort()
{
BLL.TrainSortCService.DeleteTrainSortsByMonthReportId(MonthReportId);
jerqueSaveTrainList();
foreach (Model.Manager_TrainSortC trainSort in trainSorts)
{
trainSort.MonthReportId = MonthReportId;
BLL.TrainSortCService.AddTrainSort(trainSort);
}
}
private void jerqueSaveTrainList()
{
trainSorts.Clear();
JArray mergedData = gvTrainSort.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_TrainSortC trainSort = new Model.Manager_TrainSortC
{
TrainSortId = this.gvTrainSort.Rows[i].DataKeys[0].ToString(),
SortIndex = i,
TrainType = values.Value<string>("TrainType").ToString(),
//TrainContent = values.Value<string>("TrainContent").ToString(),
TeachHour = Funs.GetNewDecimalOrZero(values.Value<string>("TeachHour").ToString()),
//TeachMan = values.Value<string>("TeachMan").ToString(),
PersonNum = Funs.GetNewIntOrZero(values.Value<string>("PersonNum").ToString()),
TotalPersonNum = Funs.GetNewIntOrZero(values.Value<string>("TotalPersonNum").ToString())
};
trainSorts.Add(trainSort);
}
}
#endregion
#region 4.2HSE会议及检查
private void OperateCheckSort()
{
BLL.CheckSortCService.DeleteCheckSortsByMonthReportId(MonthReportId);
jerqueSaveCheckList();
foreach (Model.Manager_CheckSortC checkSort in checkSorts)
{
checkSort.MonthReportId = MonthReportId;
BLL.CheckSortCService.AddCheckSort(checkSort);
}
}
/// <summary>
/// 检查并保存HSE检查集合
/// </summary>
private void jerqueSaveCheckList()
{
checkSorts.Clear();
JArray mergedData = gvCheckSort.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_CheckSortC checkSort = new Model.Manager_CheckSortC
{
CheckSortId = this.gvCheckSort.Rows[i].DataKeys[0].ToString(),
SortIndex = i,
CheckType = values.Value<string>("CheckType").ToString(),
CheckNumber = Funs.GetNewInt(values.Value<string>("CheckNumber").ToString()),
YearCheckNum = Funs.GetNewInt(values.Value<string>("YearCheckNum").ToString()),
TotalCheckNum = Funs.GetNewInt(values.Value<string>("TotalCheckNum").ToString())
};
checkSorts.Add(checkSort);
}
}
#endregion
#region 4.7
private void OperateRewardAndPunishSort()
{
BLL.RewardAndPunishSortCService.DeleteRewardAndPunishSortCByMonthReportId(MonthReportId);
jerqueSavePunishList();
foreach (Model.Manager_RewardAndPunishSortC rewardAndPunishSortC in rewardAndPunishSortCs)
{
rewardAndPunishSortC.MonthReportId = MonthReportId;
BLL.RewardAndPunishSortCService.AddRewardAndPunishSortC(rewardAndPunishSortC);
}
}
#endregion
#region 4.8HSE现场其他管理情况
/// <summary>
/// HSE现场其他管理情况
/// </summary>
/// <param name="monthReportId"></param>
private void OperateOtherManagementSort()
{
BLL.OtherManagementCService.DeleteOtherManagementByMonthReportId(MonthReportId);
jerqueSaveOtherManagementList();
foreach (Model.Manager_Month_OtherManagementC otherManagement in otherManagements)
{
otherManagement.MonthReportId = MonthReportId;
BLL.OtherManagementCService.AddOtherManagement(otherManagement);
}
}
#endregion
#region 5.1
private void OperateFiveExpenseSort() {
BLL.FiveExpenseCService.DeleteFiveExpenseByMonthReportId(MonthReportId);
jerqueSaveFiveExpenseList();
foreach (Model.Manager_Month_FiveExpenseC fiveExpendse in fiveExpenses)
{
fiveExpendse.MonthReportId = MonthReportId;
BLL.FiveExpenseCService.AddFiveExpense(fiveExpendse);
}
}
private void jerqueSaveFiveExpenseList()
{
fiveExpenses.Clear();
JArray mergedData = gvFiveExpenseC.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_Month_FiveExpenseC trainSort = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = this.gvFiveExpenseC.Rows[i].DataKeys[0].ToString(),
SortIndex = i,
InvestmentProject = values.Value<string>("InvestmentProject").ToString(),
PlanCostMonth = Funs.GetNewDecimal(values.Value<string>("PlanCostMonth").ToString()),
PlanCostYear = Funs.GetNewDecimal(values.Value<string>("PlanCostYear").ToString()),
ActualCostMonth = Funs.GetNewDecimal(values.Value<string>("ActualCostMonth").ToString()),
ActualCostYear = Funs.GetNewDecimal(values.Value<string>("ActualCostYear").ToString())
};
fiveExpenses.Add(trainSort);
}
}
#endregion
#region 7.1
/// <summary>
/// 7.2 其他HSE工作计划
/// </summary>
/// <param name="monthReportId"></param>
private void OperateOtherWorkPlanCSort()
{
BLL.OtherWorkPlanCService.DeleteOtherWorkPlanByMonthReportId(MonthReportId);
jerqueSaveOtherWorkPlanCList();
foreach (Model.Manager_Month_OtherWorkPlanC item in otherWorkPlanCs)
{
item.MonthReportId = MonthReportId;
BLL.OtherWorkPlanCService.AddOtherWorkPlan(item);
}
}
private void jerqueSaveOtherWorkPlanCList()
{
otherWorkPlanCs.Clear();
JArray mergedData = gvOtherWorkPlanC.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_Month_OtherWorkPlanC otherWorkPlanC = new Model.Manager_Month_OtherWorkPlanC
{
OtherWorkPlanId = this.gvOtherWorkPlanC.Rows[i].DataKeys[0].ToString(),
SortIndex = i,
WorkContent = values.Value<string>("WorkContent").ToString()
};
otherWorkPlanCs.Add(otherWorkPlanC);
}
}
/// <summary>
/// 增加其他HSE工作计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOtherWorkPlanC_Click(object sender, EventArgs e)
{
jerqueSaveOtherWorkPlanCList();
Model.Manager_Month_OtherWorkPlanC otherWorkPlanC = new Model.Manager_Month_OtherWorkPlanC
{
OtherWorkPlanId = SQLHelper.GetNewID(typeof(Model.Manager_Month_OtherWorkPlanC))
};
otherWorkPlanCs.Add(otherWorkPlanC);
this.gvOtherWorkPlanC.DataSource = otherWorkPlanCs;
this.gvOtherWorkPlanC.DataBind();
}
/// <summary>
/// 删除其他HSE工作计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gvOtherWorkPlanC_RowCommand(object sender, GridCommandEventArgs e)
{
jerqueSaveOtherWorkPlanCList();
string rowID = this.gvOtherWorkPlanC.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "Delete")
{
foreach (var item in otherWorkPlanCs)
{
if (item.OtherWorkPlanId == rowID)
{
otherWorkPlanCs.Remove(item);
break;
}
}
gvOtherWorkPlanC.DataSource = otherWorkPlanCs;
gvOtherWorkPlanC.DataBind();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region 8. HSE合规义务识别与评价
/// <summary>
/// 保存HSE合规义务识别与评价
/// </summary>
/// <param name="monthReportId"></param>
private void OperateComplianceObligationsCSort()
{
BLL.ComplianceObligationsCService.DeleteComplianceObligationsCByMonthReportId(MonthReportId);
jerqueSaveComplianceObligationsCList();
foreach (Model.Manager_Month_ComplianceObligationsC coc in complianceObligationsCs)
{
coc.MonthReportId = MonthReportId;
BLL.ComplianceObligationsCService.AddComplianceObligationsC(coc);
}
}
///// <summary>
///// 增加HSE合规义务识别与评价
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
jerqueSaveComplianceObligationsCList();
Model.Manager_Month_ComplianceObligationsC complianceObligationsC = new Model.Manager_Month_ComplianceObligationsC
{
ComplianceObligationsId = SQLHelper.GetNewID(typeof(Model.Manager_Month_ComplianceObligationsC))
};
complianceObligationsCs.Add(complianceObligationsC);
this.gvOperateComplianceObligations.DataSource = complianceObligationsCs;
this.gvOperateComplianceObligations.DataBind();
}
///// <summary>
///// 检查并保存危险源动态识别及控制集合
///// </summary>
private void jerqueSaveComplianceObligationsCList()
{
complianceObligationsCs.Clear();
JArray mergedData = gvOperateComplianceObligations.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_Month_ComplianceObligationsC hazardSort = new Model.Manager_Month_ComplianceObligationsC
{
ComplianceObligationsId = this.gvOperateComplianceObligations.Rows[i].DataKeys[0].ToString(),
InformationContent = values.Value<string>("InformationContent").ToString(),
ResponseMeasures = values.Value<string>("ResponseMeasures").ToString(),
ImplementationStatus = values.Value<string>("ImplementationStatus").ToString(),
EvaluationConclusion = values.Value<string>("EvaluationConclusion").ToString()
};
complianceObligationsCs.Add(hazardSort);
}
}
protected void gvOperateComplianceObligations_RowCommand(object sender, GridCommandEventArgs e)
{
jerqueSaveComplianceObligationsCList();
string rowID = this.gvOperateComplianceObligations.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "Delete")
{
foreach (var item in complianceObligationsCs)
{
if (item.ComplianceObligationsId == rowID)
{
complianceObligationsCs.Remove(item);
break;
}
}
gvOperateComplianceObligations.DataSource = complianceObligationsCs;
gvOperateComplianceObligations.DataBind();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#endregion
#region grid
void lodAllGrid(string objType)
{
if (objType == "0")
{
//添加的时候加载
//2.本月项目现场HSE人力投入情况
GetPersonSort();
//3.本月项目现场HSE人工日统计
getMonthReportCHSEDay();
//4.1培训
GetTrainSort();
//4.2现场HSE绩效数据统计
GetCheckSort();
//4.3本月隐患
GetManager_HiddenDanger();
//4.7HSE奖励与处罚
GetRewardAndPunishSort();
//5.1本月项目HSE费用投入统计
GetFiveExpenseList();
}
else
{
//2.本月项目现场HSE人力投入情况
GetPersonSortEdit();
//3.本月隐患
GetManager_HiddenDangerEdit();
}
}
#region 2
/// <summary>
/// 显示月报告人员投入情况
/// </summary>
private void GetPersonSort()
{
List<Model.Manager_PersonSortC> personSorts = new List<Model.Manager_PersonSortC>();
//var units = from x in Funs.DB.Project_ProjectUnit
// where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
// orderby x.UnitType
// select x; //1为总包2为施工分包
int totalSumPersonNum = 0;//总部
int totalSumOutPersonNum = 0;//外聘
int totalHSEPersonNum = 0;
if (units.Count() > 0)
{
foreach (Model.Project_ProjectUnit u in units)
{
Model.Manager_PersonSortC personSort = new Model.Manager_PersonSortC
{
PersonSortId = Guid.NewGuid().ToString(),
UnitId = u.UnitId,
SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, ProjectId, Convert.ToDateTime(txtEndDate.Text), false),//本部
SumOutPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, ProjectId, Convert.ToDateTime(txtEndDate.Text), true),//外聘
HSEPersonNum = BLL.PersonService.GetHSEPersonCountByUnitId(u.UnitId, ProjectId, Convert.ToDateTime(txtEndDate.Text)),
ContractRange = u.ContractRange
};
personSorts.Add(personSort);
totalSumPersonNum += Convert.ToInt32(personSort.SumPersonNum);
totalSumOutPersonNum += Convert.ToInt32(personSort.SumOutPersonNum);
totalHSEPersonNum += Convert.ToInt32(personSort.HSEPersonNum);
}
}
this.gvPersonSort.DataSource = personSorts;
this.gvPersonSort.DataBind();
if (this.gvPersonSort.Rows.Count > 0)
{
JObject summary = new JObject();
summary.Add("UnitId", "合计:");
summary.Add("SumPersonNum", totalSumPersonNum);
summary.Add("SumOutPersonNum", totalSumOutPersonNum);
summary.Add("HSEPersonNum", totalHSEPersonNum);
this.gvPersonSort.SummaryData = summary;
}
else
{
this.gvPersonSort.SummaryData = null;
}
}
//修改的时候
void GetPersonSortEdit()
{
var q = from x in db.Manager_PersonSortC
where x.MonthReportId == MonthReportId
select x;
if (q.Count() > 0) //保存过数据
{
//人力投入情况
List<Model.Manager_PersonSortC> sorts = (from x in db.Manager_PersonSortC
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
where x.MonthReportId == MonthReportId && y.ProjectId == this.ProjectId
orderby y.UnitType
select x).Distinct().ToList();
List<Model.Manager_PersonSortC> personSorts = new List<Model.Manager_PersonSortC>();
foreach (var unit in units)
{
Model.Manager_PersonSortC personSort = sorts.FirstOrDefault(x => x.UnitId == unit.UnitId);
if (personSort != null)
{
personSorts.Add(personSort);
}
}
this.gvPersonSort.DataSource = personSorts;
this.gvPersonSort.DataBind();
if (this.gvPersonSort.Rows.Count > 0)
{
JObject summary = new JObject();
summary.Add("UnitId", "合计:");
summary.Add("SumPersonNum", (from x in personSorts select x.SumPersonNum ?? 0).Sum());
summary.Add("SumOutPersonNum", (from x in personSorts select x.SumOutPersonNum ?? 0).Sum());
summary.Add("HSEPersonNum", (from x in personSorts select x.HSEPersonNum ?? 0).Sum());
this.gvPersonSort.SummaryData = summary;
}
else
{
this.gvPersonSort.SummaryData = null;
}
}
else
{
GetPersonSort();
}
}
#endregion
#region 3.HSE人工日统计
private void getMonthReportCHSEDay()
{
//本月项目现场HSE人工日统计
Model.MonthReportCHSEDay hseDay = new Model.MonthReportCHSEDay
{
MonthHSEDay = (endTime - startTime).Days + 1
};
Model.Manager_MonthReportC mr = BLL.MonthReportCService.GetLastMonthReportByDate(endTime, this.ProjectId);
if (mr != null)
{
if (mr.SumHSEDay != 0)
{
hseDay.SumHSEDay = (mr.SumHSEDay ?? 0) + hseDay.MonthHSEDay;
}
else
{
hseDay.SumHSEDay = hseDay.MonthHSEDay;
}
}
else
{
hseDay.SumHSEDay = hseDay.MonthHSEDay;
}
int? monthHSEWorkDay = 0;
int? yearHSEWorkDay = 0;
int? sumHSEWorkDay = 0;
decimal? hSEManhours = 0;
decimal? sumHseManhours = 0;
decimal? SubcontractManHours = 0;
decimal? YearHSEWorkDay = 0;
//年度安全人工时
var getProjectMonthReport = from x in db.SitePerson_MonthReport where x.ProjectId == ProjectId select x;
if (getProjectMonthReport.Count() > 0)
{
////人工时月报明细
var getMonthReportDetail = from x in db.SitePerson_MonthReportDetail
join y in getProjectMonthReport on x.MonthReportId equals y.MonthReportId
select x;
var yearMonthReport = from x in getProjectMonthReport
where x.CompileDate.Value.Year == months.Year
select x;
if (yearMonthReport.Count() > 0)
{
foreach (var item in yearMonthReport)
{
////年度累计安全人工时
YearHSEWorkDay += getMonthReportDetail.Where(x => x.MonthReportId ==
item.MonthReportId).Sum(x => x.PersonWorkTime) ?? 0;
}
}
}
else
{
YearHSEWorkDay = 0;
}
hseDay.YearHSEWorkDay = Convert.ToInt32(YearHSEWorkDay);
var monthReport = BLL.Funs.DB.SitePerson_MonthReport.FirstOrDefault(x => x.CompileDate == months && x.ProjectId == ProjectId); //当月人工时月报
if (monthReport != null)
{
monthHSEWorkDay = Convert.ToInt32((from x in Funs.DB.SitePerson_MonthReportDetail
where x.MonthReportId == monthReport.MonthReportId
select x.RealPersonNum ?? 0).Sum());
hSEManhours = (from x in Funs.DB.SitePerson_MonthReportDetail
join z in Funs.DB.Project_ProjectUnit
on x.UnitId equals z.UnitId
where z.UnitType == "1" && z.ProjectId == this.CurrUser.LoginProjectId && x.MonthReportId == monthReport.MonthReportId //总包
select x.PersonWorkTime ?? 0).Sum();
var q = (from x in Funs.DB.SitePerson_MonthReportDetail
join z in Funs.DB.Project_ProjectUnit
on x.UnitId equals z.UnitId
where z.UnitType == "2" && z.ProjectId == this.CurrUser.LoginProjectId && x.MonthReportId == monthReport.MonthReportId //分包
select x);
foreach (var item in q)
{
SubcontractManHours += item.PersonWorkTime ?? 0;
}
}
else
{
monthHSEWorkDay = 0;
hSEManhours = 0;
SubcontractManHours = 0;
}
//年度人工日
if (months.Month == 1)
{
yearHSEWorkDay = monthHSEWorkDay;
}
else
{
if (mr != null)
{
if (mr.YearHSEWorkDay != null)
{
yearHSEWorkDay = (mr.YearHSEWorkDay ?? 0) + monthHSEWorkDay;
}
else
{
yearHSEWorkDay = monthHSEWorkDay;
}
}
else
{
yearHSEWorkDay = monthHSEWorkDay;
}
}
if (mr != null)
{
if (mr.SumHSEWorkDay != 0)
{
sumHSEWorkDay = (mr.SumHSEWorkDay ?? 0) + monthHSEWorkDay;
}
else
{
sumHSEWorkDay = monthHSEWorkDay;
}
if (mr.TotalHseManhours != 0)
{
sumHseManhours = (mr.TotalHseManhours ?? 0) + hSEManhours + SubcontractManHours;
}
else
{
sumHseManhours = hSEManhours + SubcontractManHours;
}
}
else
{
sumHSEWorkDay = monthHSEWorkDay;
sumHseManhours = hSEManhours + SubcontractManHours;
}
hseDay.MonthHSEWorkDay = monthHSEWorkDay ?? 0;
hseDay.YearHSEWorkDay = yearHSEWorkDay ?? 0;
hseDay.SumHSEWorkDay = sumHSEWorkDay ?? 0;
if (hSEManhours.ToString().Contains("."))
{
hseDay.HseManhours = int.Parse(hSEManhours.ToString().Substring(0, hSEManhours.ToString().LastIndexOf(".")));
}
else
{
hseDay.HseManhours = int.Parse(hSEManhours.ToString());
}
if (SubcontractManHours.ToString().Contains("."))
{
hseDay.SubcontractManHours = int.Parse(SubcontractManHours.ToString().Substring(0, SubcontractManHours.ToString().LastIndexOf(".")));
}
else
{
hseDay.SubcontractManHours = int.Parse(SubcontractManHours.ToString());
}
if (sumHseManhours.ToString().Contains("."))
{
hseDay.TotalHseManhours = int.Parse(sumHseManhours.ToString().Substring(0, sumHseManhours.ToString().LastIndexOf(".")));
}
else
{
hseDay.TotalHseManhours = int.Parse(sumHseManhours.ToString());
}
List<Model.MonthReportCHSEDay> list = new List<Model.MonthReportCHSEDay>();
list.Add(hseDay);
this.gvHSEDay.DataSource = list;
this.gvHSEDay.DataBind();
}
#endregion
#region HSE培训
/// <summary>
/// 显示月报告HSE培训情况
/// </summary>
private void GetTrainSort()
{
trainSorts.Clear();
var TotalPersonNum = 0;
var list = db.Base_TrainType.ToList();
var listTrain = BLL.EduTrain_TrainRecordService.GetTrainingsByTrainDate(startTime, endTime, this.ProjectId);
var listAllTrain= BLL.EduTrain_TrainRecordService.GetTrainingsByTrainDate(endTime, this.ProjectId);
foreach (var item in list)
{
int i = 0;
var trainSort = new Model.Manager_TrainSortC
{
TrainSortId = SQLHelper.GetNewID(typeof(Model.Manager_TrainSortC)),
SortIndex = i
};
trainSort.TrainType = item.TrainTypeName;
if (listTrain.Count > 0)
{
trainSort.TeachHour = listTrain.Where(x => x.TrainTypeId == item.TrainTypeId).Sum(x => x.TeachHour);
trainSort.PersonNum = listTrain.Where(x => x.TrainTypeId == item.TrainTypeId).Sum(x => x.TrainPersonNum);
}
else {
trainSort.TeachHour = 0;
trainSort.PersonNum = 0;
}
if (listAllTrain.Count > 0)
{
trainSort.TotalPersonNum = listAllTrain.Where(x => x.TrainTypeId == item.TrainTypeId).Sum(x => x.TrainPersonNum);
TotalPersonNum += Convert.ToInt32(trainSort.TotalPersonNum);
}
else {
trainSort.TotalPersonNum = 0;
}
i++;
trainSorts.Add(trainSort);
}
this.gvTrainSort.DataSource = trainSorts;
this.gvTrainSort.DataBind();
if (this.gvTrainSort.Rows.Count > 0)
{
JObject summary = new JObject();
summary.Add("TrainType", "培训人数合计:");
summary.Add("TotalPersonNum", TotalPersonNum);
this.gvTrainSort.SummaryData = summary;
}
else
{
this.gvTrainSort.SummaryData = null;
}
}
#endregion
#region 4.2HSE会议及检查统计
private void GetCheckSort() {
int i = 0;
#region HSE会议
int safetyLeaderGroup = BLL.SafetyLeaderGroupMeetingService.GetCountByTime(startTime, endTime, this.ProjectId);//安全领导小组会议
int weekMeeting = BLL.WeekMeetingService.GetCountByTime(startTime, endTime, this.ProjectId);//周例会
int monthMeeting = BLL.MonthMeetingService.GetCountByTime(startTime, endTime, this.ProjectId);//月例会
int specialMeeting = BLL.SpecialMeetingService.GetCountByTime(startTime, endTime, this.ProjectId);//专题例会
int attendMeeting = BLL.AttendMeetingService.GetCountByTime(startTime, endTime, this.ProjectId);//其他会议
int classMeeting = BLL.ClassMeetingService.GetCountByTime(startTime, endTime, this.ProjectId);//班前会
#endregion
#region HSE会议
int yearSafetyLeaderGroup = BLL.SafetyLeaderGroupMeetingService.GetCountByTime(yearStartTime, endTime, this.ProjectId);//安全领导小组会议
int yearWeekMeeting = BLL.WeekMeetingService.GetCountByTime(yearStartTime, endTime, this.ProjectId);//周例会
int yearMonthMeeting = BLL.MonthMeetingService.GetCountByTime(yearStartTime, endTime, this.ProjectId);//月例会
int yearSpecialMeeting = BLL.SpecialMeetingService.GetCountByTime(yearStartTime, endTime, this.ProjectId);//专题例会
int yearAttendMeeting = BLL.AttendMeetingService.GetCountByTime(yearStartTime, endTime, this.ProjectId);//其他会议
int yearClassMeeting = BLL.ClassMeetingService.GetCountByTime(yearStartTime, endTime, this.ProjectId);//班前会
#endregion
#region HSE会议
int projectSafetyLeaderGroup = BLL.SafetyLeaderGroupMeetingService.GetCountByTime(projectStartTime, endTime, this.ProjectId);//安全领导小组会议
int projectWeekMeeting = BLL.WeekMeetingService.GetCountByTime(projectStartTime, endTime, this.ProjectId);//周例会
int projectMonthMeeting = BLL.MonthMeetingService.GetCountByTime(projectStartTime, endTime, this.ProjectId);//月例会
int projectSpecialMeeting = BLL.SpecialMeetingService.GetCountByTime(projectStartTime, endTime, this.ProjectId);//专题例会
int projectAttendMeeting = BLL.AttendMeetingService.GetCountByTime(projectStartTime, endTime, this.ProjectId);//其他会议
int projectClassMeeting = BLL.ClassMeetingService.GetCountByTime(projectStartTime, endTime, this.ProjectId);//班前会
#endregion
Model.Manager_CheckSortC checkSort1 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "HSE会议",
CheckNumber = safetyLeaderGroup + weekMeeting + monthMeeting + specialMeeting + attendMeeting + classMeeting,
YearCheckNum = yearSafetyLeaderGroup + yearWeekMeeting + yearMonthMeeting + yearSpecialMeeting + yearSpecialMeeting + yearAttendMeeting + yearClassMeeting,
TotalCheckNum = projectSafetyLeaderGroup + projectWeekMeeting + projectMonthMeeting + projectSpecialMeeting + projectSpecialMeeting + projectAttendMeeting + projectClassMeeting,
};
checkSorts.Add(checkSort1);
i++;
Model.Manager_CheckSortC checkSort2 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "开工前HSE检查",
CheckNumber = BLL.Check_CheckWorkService.GetCountByCheckTime(startTime, endTime, this.ProjectId),
YearCheckNum = BLL.Check_CheckWorkService.GetCountByCheckTime(yearStartTime, endTime, this.ProjectId),
TotalCheckNum = BLL.Check_CheckWorkService.GetCountByCheckTime(projectStartTime, endTime, this.ProjectId)
};
checkSorts.Add(checkSort2);
i++;
Model.Manager_CheckSortC checkSort3 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "日巡检",
CheckNumber = BLL.Check_CheckDayService.GetCountByCheckTime(startTime, endTime, this.ProjectId),
YearCheckNum = BLL.Check_CheckDayService.GetCountByCheckTime(yearStartTime, endTime, this.ProjectId),
TotalCheckNum = BLL.Check_CheckDayService.GetCountByCheckTime(projectStartTime, endTime, this.ProjectId)
};
checkSorts.Add(checkSort3);
i++;
Model.Manager_CheckSortC checkSort4 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "专项检查",
CheckNumber = BLL.Check_CheckSpecialService.GetCountByCheckTime(startTime, endTime, this.ProjectId),
YearCheckNum = BLL.Check_CheckSpecialService.GetCountByCheckTime(yearStartTime, endTime, this.ProjectId),
TotalCheckNum = BLL.Check_CheckSpecialService.GetCountByCheckTime(projectStartTime, endTime, this.ProjectId)
};
checkSorts.Add(checkSort4);
i++;
Model.Manager_CheckSortC checkSort5 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "节假日前安全检查",
CheckNumber = BLL.Check_CheckHolidayService.GetCountByCheckTime(startTime, endTime, this.ProjectId),
YearCheckNum = BLL.Check_CheckHolidayService.GetCountByCheckTime(yearStartTime, endTime, this.ProjectId),
TotalCheckNum = BLL.Check_CheckHolidayService.GetCountByCheckTime(projectStartTime, endTime, this.ProjectId)
};
checkSorts.Add(checkSort5);
i++;
Model.Manager_CheckSortC checkSort6 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "文明施工检查",
CheckNumber = 0,
YearCheckNum = 0,
TotalCheckNum = 0
};
checkSorts.Add(checkSort6);
i++;
Model.Manager_CheckSortC checkSort7 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "联合检查",
CheckNumber = BLL.Check_CheckColligationService.GetCountByCheckTime(startTime, endTime, this.ProjectId),
YearCheckNum = BLL.Check_CheckColligationService.GetCountByCheckTime(yearStartTime, endTime, this.ProjectId),
TotalCheckNum = BLL.Check_CheckColligationService.GetCountByCheckTime(projectStartTime, endTime, this.ProjectId)
};
checkSorts.Add(checkSort7);
i++;
Model.Manager_CheckSortC checkSort11 = new Model.Manager_CheckSortC
{
CheckSortId = SQLHelper.GetNewID(typeof(Model.Manager_CheckSortC)),
SortIndex = i,
CheckType = "HSE管理文件/方案发布",
CheckNumber = BLL.ConstructSolutionService.GetConstructSolutionCountByDate(this.ProjectId, startTime, endTime),
YearCheckNum = BLL.ConstructSolutionService.GetConstructSolutionCountByDate(this.ProjectId, yearStartTime, endTime),
TotalCheckNum = BLL.ConstructSolutionService.GetConstructSolutionCountByDate(this.ProjectId, projectStartTime, endTime),
};
checkSorts.Add(checkSort11);
i++;
this.gvCheckSort.DataSource = checkSorts;
this.gvCheckSort.DataBind();
}
#endregion
#region 4.3
void GetManager_HiddenDangerEdit() {
var q = from x in db.Manager_HiddenDanger
where x.MonthReportId == MonthReportId
select x;
if (q.Count() > 0) //保存过数据
{
//人力投入情况
List<Model.Manager_HiddenDanger> sorts = (from x in db.Manager_HiddenDanger
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
where x.MonthReportId == MonthReportId && y.ProjectId == this.ProjectId
orderby y.UnitType
select x).Distinct().ToList();
List<Model.Manager_HiddenDanger> personSorts = new List<Model.Manager_HiddenDanger>();
//var units = from x in db.Project_ProjectUnit
// where x.ProjectId == this.ProjectId && (x.UnitType == "1" || x.UnitType == "2")
// orderby x.UnitType
// select x; //1为总包2为施工分包
foreach (var unit in units)
{
Model.Manager_HiddenDanger personSort = sorts.FirstOrDefault(x => x.UnitId == unit.UnitId);
if (personSort != null)
{
personSorts.Add(personSort);
}
}
this.GridHiddenDanger.DataSource = personSorts;
this.GridHiddenDanger.DataBind();
}
else
{
GetManager_HiddenDanger();
}
}
//保存时根据 HSE巡检、专项检查、综合检查即周检、月检等、隐患整改书面整改单这四项同时抓取数据
void GetManager_HiddenDanger() {
//安全巡检list
var HseList = (from x in Funs.DB.View_Hazard_HazardRegister
where x.ProblemTypes == "1" && x.ProjectId == ProjectId && x.CheckTime>=startTime && x.CheckTime<=endTime
select x);
//专项检查
var CheckSpecialList = from x in db.Check_CheckSpecialDetail
join y in db.Check_CheckSpecial on x.CheckSpecialId equals y.CheckSpecialId
where y.ProjectId == ProjectId && y.CheckTime >= startTime && y.CheckTime <= endTime
select x;
//综合检查
var CheckColligationList = from x in db.Check_CheckColligationDetail
join y in db.Check_CheckColligation on x.CheckColligationId equals y.CheckColligationId
where y.ProjectId == ProjectId && y.CheckTime >= startTime && y.CheckTime <= endTime
select x;
//隐患整改单
var YhzgdList = from x in db.Check_RectifyNoticesItem
join y in db.Check_RectifyNotices on x.RectifyNoticesId equals y.RectifyNoticesId
where y.ProjectId == ProjectId && y.CheckedDate >= startTime && y.CheckedDate <= endTime
select new { y.UnitId, x.HiddenHazardType,y.States};
int yhMonthSum = 0, yhYearSum = 0;
var list = new List<Model.Manager_HiddenDanger>();
if (units.Count() > 0)
{
var i = 1;
foreach (Model.Project_ProjectUnit u in units)
{
var model = new Manager_HiddenDanger
{
Id=Guid.NewGuid().ToString(),
UnitId = u.UnitId,
SortIndex= i
};
//HSE巡检(一般和重大)
//所有数据
var Commonly1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.Risk_Level=="一般" && x.States == "2").Count();
var MajorNum1= HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.Risk_Level == "重大" && x.States == "2").Count();
//总数,已整改
var Sum1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0).Count();
var Yzg1 = HseList.Where(x => x.ResponsibleUnit == u.UnitId && x.Type == 0 && x.States == "2").Count();
//专项检查(一般和重大)
var Commonly2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "1" && x.CompleteStatus == true).Count();
var MajorNum2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "3" && x.CompleteStatus == true).Count();
//总数,已整改
var Sum2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId).Count();
var Yzg2 = CheckSpecialList.Where(x => x.UnitId == u.UnitId && x.CompleteStatus==true).Count();
//综合检查(一般和重大)
var Commonly3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "一般" && x.CompleteStatus == true).Count();
var MajorNum3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "重大" && x.CompleteStatus == true).Count();
//总数,已整改
var Sum3 = CheckColligationList.Where(x => x.UnitId == u.UnitId).Count();
var Yzg3 = CheckColligationList.Where(x => x.UnitId == u.UnitId && x.CompleteStatus == true).Count();
//隐患整改(一般和重大)
var Commonly4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "一般" && x.States == "5").Count();
var MajorNum4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.HiddenHazardType == "重大" && x.States == "5").Count();
//总数,已整改
var Sum4 = YhzgdList.Where(x => x.UnitId == u.UnitId).Count();
var Yzg4 = YhzgdList.Where(x => x.UnitId == u.UnitId && x.States == "5").Count();
model.CommonlyNum = Commonly1+ Commonly2+ Commonly3+ Commonly4;
model.MajorNum = MajorNum1+ MajorNum2+ MajorNum3+ MajorNum4;
//整改率=已整改/总数
if ((Sum1 + Sum2 + Sum3 + Sum4) != 0)
{
model.ReRate = Math.Round((float)(Yzg1 + Yzg2 + Yzg3 + Yzg4) / (float)(Sum1 + Sum2 + Sum3 + Sum4) * 100, 2).ToString();
}
else {
model.ReRate = "0";
}
yhMonthSum += Sum1 + Sum2 + Sum3 + Sum4;
list.Add(model);
i++;
}
}
txtMonthHdangerCount.Text = yhMonthSum.ToString();
this.GridHiddenDanger.DataSource = list;
this.GridHiddenDanger.DataBind();
#region
//安全巡检list
var HseListYear = (from x in Funs.DB.View_Hazard_HazardRegister
where x.ProblemTypes == "1" && x.ProjectId == ProjectId && x.CheckTime >= yearStartTime && x.CheckTime <= endTime
select x).ToList().Count;
//专项检查
var CheckSpecialListYear = (from x in db.Check_CheckSpecialDetail
join y in db.Check_CheckSpecial on x.CheckSpecialId equals y.CheckSpecialId
where y.ProjectId == ProjectId && y.CheckTime >= yearStartTime && y.CheckTime <= endTime
select x).ToList().Count;
//综合检查
var CheckColligationListYear = (from x in db.Check_CheckColligationDetail
join y in db.Check_CheckColligation on x.CheckColligationId equals y.CheckColligationId
where y.ProjectId == ProjectId && y.CheckTime >= yearStartTime && y.CheckTime <= endTime
select x).ToList().Count;
//隐患整改单
var YhzgdListYear = (from x in db.Check_RectifyNoticesItem
join y in db.Check_RectifyNotices on x.RectifyNoticesId equals y.RectifyNoticesId
where y.ProjectId == ProjectId && y.CheckedDate >= yearStartTime && y.CheckedDate <= endTime
select new { y.UnitId, x.HiddenHazardType, y.States }).ToList().Count;
txtYearHdangerCount.Text = (HseListYear + CheckSpecialListYear + CheckColligationListYear + YhzgdListYear).ToString();
#endregion
}
#endregion
#region 4.7 HSE奖励与处罚
private void GetRewardAndPunishSort()
{
Model.Manager_RewardAndPunishSortC sortC = new Model.Manager_RewardAndPunishSortC
{
RewardAndPunishId = SQLHelper.GetNewID(typeof(Model.Manager_RewardAndPunishSortC)),
RewardNum = BLL.IncentiveNoticeService.GetCountByDate(startTime, endTime, this.ProjectId),
RewardMoney = BLL.IncentiveNoticeService.GetSumMoneyByDate(startTime, endTime, this.ProjectId),
ProjectRewardMoney = BLL.IncentiveNoticeService.GetSumMoneyByDate(projectStartTime, endTime, this.ProjectId),
PunishNum = BLL.PunishNoticeService.GetCountByDate(startTime, endTime, this.ProjectId),
PunishMoney = BLL.PunishNoticeService.GetSumMoneyByDate(startTime, endTime, this.ProjectId),
ProjectPunishMoney = BLL.PunishNoticeService.GetSumMoneyByDate(projectStartTime, endTime, this.ProjectId),
};
rewardAndPunishSortCs.Add(sortC);
this.gvRewardSortAndPunish.DataSource = rewardAndPunishSortCs;
this.gvRewardSortAndPunish.DataBind();
}
private void jerqueSavePunishList()
{
rewardAndPunishSortCs.Clear();
JArray mergedData = gvRewardSortAndPunish.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_RewardAndPunishSortC punishSort = new Model.Manager_RewardAndPunishSortC
{
RewardAndPunishId = this.gvRewardSortAndPunish.Rows[i].DataKeys[0].ToString(),
RewardNum = Funs.GetNewInt(values.Value<string>("RewardNum").ToString()),
RewardMoney = Funs.GetNewDecimal(values.Value<string>("RewardMoney").ToString()),
ProjectRewardMoney = Funs.GetNewDecimal(values.Value<string>("ProjectRewardMoney").ToString()),
PunishNum = Funs.GetNewInt(values.Value<string>("PunishNum").ToString()),
PunishMoney = Funs.GetNewDecimal(values.Value<string>("PunishMoney").ToString()),
ProjectPunishMoney = Funs.GetNewDecimal(values.Value<string>("ProjectPunishMoney").ToString())
};
rewardAndPunishSortCs.Add(punishSort);
}
}
#endregion
#region 4.8HSE现场其他管理情况
#region HSE管理情况
/// <summary>
/// 增加其他HSE管理情况
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNewOtherManagement_Click(object sender, EventArgs e)
{
jerqueSaveOtherManagementList();
Model.Manager_Month_OtherManagementC otherManagementSort = new Model.Manager_Month_OtherManagementC
{
OtherManagementId = SQLHelper.GetNewID(typeof(Model.Manager_Month_OtherManagementC))
};
otherManagements.Add(otherManagementSort);
this.gvOtherManagement.DataSource = otherManagements;
this.gvOtherManagement.DataBind();
}
/// <summary>
/// 检查并保存其他HSE管理情况集合
/// </summary>
private void jerqueSaveOtherManagementList()
{
otherManagements.Clear();
JArray mergedData = gvOtherManagement.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.Manager_Month_OtherManagementC otherManagementSort = new Model.Manager_Month_OtherManagementC
{
OtherManagementId = this.gvOtherManagement.Rows[i].DataKeys[0].ToString(),
SortIndex = i,
ManagementDes = values.Value<string>("ManagementDes").ToString()
};
otherManagements.Add(otherManagementSort);
}
}
protected void gvOtherManagement_RowCommand(object sender, GridCommandEventArgs e)
{
jerqueSaveOtherManagementList();
string rowID = this.gvOtherManagement.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "Delete")
{
foreach (var item in otherManagements)
{
if (item.OtherManagementId == rowID)
{
otherManagements.Remove(item);
break;
}
}
gvOtherManagement.DataSource = otherManagements;
gvOtherManagement.DataBind();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#endregion
#region 5.1
private void GetFiveExpenseList() {
#region
decimal? sMonthType1 = 0, sMonthType2 = 0, sMonthType3 = 0, sMonthType4 = 0, sMonthType5 = 0,
sMonthType6 = 0, sMonthType7 = 0, sMonthType8 = 0, sMonthType9 = 0, sMonthType10 = 0;
var payRegistrations = BLL.HseExpenseService.GetPayRegistrationByPayDate(startTime, endTime, this.ProjectId, BLL.Const.UnitId_CWCEC);
if (payRegistrations != null)
{
sMonthType1 += payRegistrations.Sum(x => x.SMonthType1) ?? 0;
sMonthType2 += payRegistrations.Sum(x => x.SMonthType2) ?? 0;
sMonthType3 += payRegistrations.Sum(x => x.SMonthType3) ?? 0;
sMonthType4 += payRegistrations.Sum(x => x.SMonthType4) ?? 0;
sMonthType5 += payRegistrations.Sum(x => x.SMonthType5) ?? 0;
sMonthType6 += payRegistrations.Sum(x => x.SMonthType6) ?? 0;
sMonthType7 += payRegistrations.Sum(x => x.SMonthType7) ?? 0;
sMonthType8 += payRegistrations.Sum(x => x.SMonthType8) ?? 0;
sMonthType9 += payRegistrations.Sum(x => x.SMonthType9) ?? 0;
sMonthType10 += payRegistrations.Sum(x => x.SMonthType10) ?? 0;
}
#endregion
#region
decimal? sProjectType1 = 0, sProjectType2 = 0, sProjectType3 = 0, sProjectType4 = 0, sProjectType5 = 0,
sProjectType6 = 0, sProjectType7 = 0, sProjectType8 = 0, sProjectType9 = 0, sProjectType10 = 0;
var payRegistrationsPro = BLL.PayRegistrationService.GetPayRegistrationByPayDate(projectStartTime, endTime, this.ProjectId, BLL.Const.UnitId_CWCEC);
if (payRegistrationsPro != null)
{
sProjectType1 += payRegistrations.Sum(x => x.SMonthType1) ?? 0;
sProjectType2 += payRegistrations.Sum(x => x.SMonthType2) ?? 0;
sProjectType3 += payRegistrations.Sum(x => x.SMonthType3) ?? 0;
sProjectType4 += payRegistrations.Sum(x => x.SMonthType4) ?? 0;
sProjectType5 += payRegistrations.Sum(x => x.SMonthType5) ?? 0;
sProjectType6 += payRegistrations.Sum(x => x.SMonthType6) ?? 0;
sProjectType7 += payRegistrations.Sum(x => x.SMonthType7) ?? 0;
sProjectType8 += payRegistrations.Sum(x => x.SMonthType8) ?? 0;
sProjectType9 += payRegistrations.Sum(x => x.SMonthType9) ?? 0;
sProjectType10 += payRegistrations.Sum(x => x.SMonthType10) ?? 0;
}
#endregion
#region
decimal? sConMonthType1 = 0, sConMonthType2 = 0, sConMonthType3 = 0, sConMonthType4 = 0, sConMonthType5 = 0,
sConMonthType6 = 0, sConMonthType7 = 0, sConMonthType8 = 0, sConMonthType9 = 0, sConMonthType10 = 0;
var payRegistrationsConMonth = BLL.PayRegistrationService.GetConPayRegistrationByPayDate(startTime, endTime, this.ProjectId);
if (payRegistrationsConMonth != null)
{
sConMonthType1 += payRegistrations.Sum(x => x.SMonthType1) ?? 0;
sConMonthType2 += payRegistrations.Sum(x => x.SMonthType2) ?? 0;
sConMonthType3 += payRegistrations.Sum(x => x.SMonthType3) ?? 0;
sConMonthType4 += payRegistrations.Sum(x => x.SMonthType4) ?? 0;
sConMonthType5 += payRegistrations.Sum(x => x.SMonthType5) ?? 0;
sConMonthType6 += payRegistrations.Sum(x => x.SMonthType6) ?? 0;
sConMonthType7 += payRegistrations.Sum(x => x.SMonthType7) ?? 0;
sConMonthType8 += payRegistrations.Sum(x => x.SMonthType8) ?? 0;
sConMonthType9 += payRegistrations.Sum(x => x.SMonthType9) ?? 0;
sConMonthType10 += payRegistrations.Sum(x => x.SMonthType10) ?? 0;
}
#endregion
#region
decimal? sConProjectType1 = 0, sConProjectType2 = 0, sConProjectType3 = 0, sConProjectType4 = 0, sConProjectType5 = 0,
sConProjectType6 = 0, sConProjectType7 = 0, sConProjectType8 = 0, sConProjectType9 = 0, sConProjectType10 = 0;
var payRegistrationsConPro = BLL.PayRegistrationService.GetConPayRegistrationByPayDate(projectStartTime, endTime, this.ProjectId);
if (payRegistrationsConPro != null)
{
sConProjectType1 += payRegistrations.Sum(x => x.SMonthType1) ?? 0;
sConProjectType2 += payRegistrations.Sum(x => x.SMonthType2) ?? 0;
sConProjectType3 += payRegistrations.Sum(x => x.SMonthType3) ?? 0;
sConProjectType4 += payRegistrations.Sum(x => x.SMonthType4) ?? 0;
sConProjectType5 += payRegistrations.Sum(x => x.SMonthType5) ?? 0;
sConProjectType6 += payRegistrations.Sum(x => x.SMonthType6) ?? 0;
sConProjectType7 += payRegistrations.Sum(x => x.SMonthType7) ?? 0;
sConProjectType8 += payRegistrations.Sum(x => x.SMonthType8) ?? 0;
sConProjectType9 += payRegistrations.Sum(x => x.SMonthType9) ?? 0;
sConProjectType10 += payRegistrations.Sum(x => x.SMonthType10) ?? 0;
}
#endregion
int i = 0;
var fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "完善、改造和维护安全防护设备、设施",
PlanCostMonth = sMonthType1,//五环工程(本月)
PlanCostYear = sProjectType1, //五环工程(项目累计)
ActualCostMonth = sConMonthType1,//施工分包商(本月)
ActualCostYear = sConProjectType1//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "应急救援和演练",
PlanCostMonth = sMonthType2,//五环工程(本月)
PlanCostYear = sProjectType2, //五环工程(项目累计)
ActualCostMonth = sConMonthType2,//施工分包商(本月)
ActualCostYear = sConProjectType2//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "重大危险源管理;隐患整改;安全生产信息化",
PlanCostMonth = sMonthType3,//五环工程(本月)
PlanCostYear = sProjectType3, //五环工程(项目累计)
ActualCostMonth = sConMonthType3,//施工分包商(本月)
ActualCostYear = sConProjectType3//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "安全检查、评估评价、咨询与标准化建设",
PlanCostMonth = sMonthType4,//五环工程(本月)
PlanCostYear = sProjectType4, //五环工程(项目累计)
ActualCostMonth = sConMonthType4,//施工分包商(本月)
ActualCostYear = sConProjectType4//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "作业人员防护用品",
PlanCostMonth = sMonthType5,//五环工程(本月)
PlanCostYear = sProjectType5, //五环工程(项目累计)
ActualCostMonth = sConMonthType5,//施工分包商(本月)
ActualCostYear = sConProjectType5//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "安全生产宣传、教育、培训及奖励",
PlanCostMonth = sMonthType6,//五环工程(本月)
PlanCostYear = sProjectType6, //五环工程(项目累计)
ActualCostMonth = sConMonthType6,//施工分包商(本月)
ActualCostYear = sConProjectType6//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "“四新”推广应用支出",
PlanCostMonth = sMonthType7,//五环工程(本月)
PlanCostYear = sProjectType7, //五环工程(项目累计)
ActualCostMonth = sConMonthType7,//施工分包商(本月)
ActualCostYear = sConProjectType7//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "安全设施及特种设备检测检验、检定校准",
PlanCostMonth = sMonthType8,//五环工程(本月)
PlanCostYear = sProjectType8, //五环工程(项目累计)
ActualCostMonth = sConMonthType8,//施工分包商(本月)
ActualCostYear = sConProjectType8//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "安全生产责任保险",
PlanCostMonth = sMonthType9,//五环工程(本月)
PlanCostYear = sProjectType9, //五环工程(项目累计)
ActualCostMonth = sConMonthType9,//施工分包商(本月)
ActualCostYear = sConProjectType9//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
fiveExpense1 = new Model.Manager_Month_FiveExpenseC
{
FiveExpenseId = SQLHelper.GetNewID(typeof(Model.Manager_Month_FiveExpenseC)),
SortIndex = i,
InvestmentProject = "其他与安全生产直接相关的支出",
PlanCostMonth = sMonthType10,//五环工程(本月)
PlanCostYear = sProjectType10, //五环工程(项目累计)
ActualCostMonth = sConMonthType10,//施工分包商(本月)
ActualCostYear = sConProjectType10//施工分包商(项目累计)
};
fiveExpenses.Add(fiveExpense1);
i++;
this.gvFiveExpenseC.DataSource = fiveExpenses;
this.gvFiveExpenseC.DataBind();
OutputgvFiveExpenseCSummaryData();
}
/// <summary>
/// 求和
/// </summary>
private void OutputgvFiveExpenseCSummaryData()
{
JObject summary = new JObject();
decimal TotalPlanCostMonth = 0, TotalPlanCostYear = 0, TotalActualCostMonth = 0, TotalActualCostYear = 0;
foreach (JObject mergedRow in gvFiveExpenseC.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
if (!string.IsNullOrEmpty(values["PlanCostMonth"].ToString()))
{
TotalPlanCostMonth += values.Value<decimal>("PlanCostMonth");
}
if (!string.IsNullOrEmpty(values["PlanCostYear"].ToString()))
{
TotalPlanCostYear += values.Value<decimal>("PlanCostYear");
}
if (!string.IsNullOrEmpty(values["ActualCostMonth"].ToString()))
{
TotalActualCostMonth += values.Value<decimal>("ActualCostMonth");
}
if (!string.IsNullOrEmpty(values["ActualCostYear"].ToString()))
{
TotalActualCostYear += values.Value<decimal>("ActualCostYear");
}
}
summary.Add("InvestmentProject", "合计");
summary.Add("PlanCostMonth", TotalPlanCostMonth.ToString("F2"));
summary.Add("PlanCostYear", TotalPlanCostYear.ToString("F2"));
summary.Add("ActualCostMonth", TotalActualCostMonth.ToString("F2"));
summary.Add("ActualCostYear", TotalActualCostYear.ToString("F2"));
gvFiveExpenseC.SummaryData = summary;
}
#endregion
#endregion
#region
/// <summary>
/// 把单位Id转换为单位名称
/// </summary>
/// <param name="UnitId"></param>
/// <returns></returns>
protected string ConvertUnitName(object UnitId)
{
if (UnitId != null)
{
var u = unitList.FirstOrDefault(x => x.UnitId == UnitId.ToString());
if (u != null)
{
return u.UnitName;
}
}
return "";
}
#endregion
}
}