xinjiang/SGGL/FineUIPro.Web/HSSE/Manager/MonthReportCOut.aspx.cs

399 lines
22 KiB
C#
Raw Normal View History

2024-11-19 09:45:27 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.HSSE.Manager
{
public partial class MonthReportCOut : PageBase
{
/// <summary>
/// 月报告查主键
/// </summary>
public string MonthReportId
{
get
{
return (string)ViewState["MonthReportId"];
}
set
{
ViewState["MonthReportId"] = value;
}
}
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.MonthReportId = Request.Params["monthReportId"];
this.ProjectId = this.CurrUser.LoginProjectId;
Model.Manager_MonthReportC monthReport = BLL.MonthReportCService.GetMonthReportByMonthReportId(MonthReportId);
Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
Model.Base_Unit mainUnit = BLL.UnitService.GetThisUnitDropDownList()[0];
if (monthReport != null)
{
DateTime thisMonth = Convert.ToDateTime(monthReport.Months);
DateTime lastMonth = thisMonth.AddMonths(-1);
this.lbReportDate.Text = "报告期: " + lastMonth.Year.ToString() + "年 " + lastMonth.Month.ToString() + "月 26日 至 " + thisMonth.Month.ToString() + "月25日";
this.lbReportCode.Text = "顺序号: " + monthReport.MonthReportCode;
Model.Sys_User reportMan = BLL.UserService.GetUserByUserId(monthReport.ReportMan);
if (reportMan != null)
{
this.lblReportMan.Text = reportMan.UserName;
}
if (monthReport.MonthReportDate != null)
{
this.lblMonthReportDate.Text = string.Format("{0:yyyy-MM-dd}", monthReport.MonthReportDate);
}
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))
{
Model.Sys_Const 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);
}
Model.SGGLDB db = Funs.DB;
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>();
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_PersonSortC personSort = sorts.FirstOrDefault(x => x.UnitId == unit.UnitId);
if (personSort != null)
{
personSorts.Add(personSort);
}
}
Model.Manager_PersonSortC personSortTotal = new Model.Manager_PersonSortC();
personSortTotal.UnitId = "Total";
if (personSorts.Count > 0)
{
personSortTotal.SumPersonNum = (from x in personSorts select x.SumPersonNum ?? 0).Sum();
personSortTotal.HSEPersonNum = (from x in personSorts select x.HSEPersonNum ?? 0).Sum();
}
else
{
personSortTotal.SumPersonNum = 0;
personSortTotal.HSEPersonNum = 0;
}
personSorts.Add(personSortTotal);
this.gvPersonSort.DataSource = personSorts;
this.gvPersonSort.DataBind();
}
this.lbMonthHSEDay.Text = (monthReport.MonthHSEDay ?? 0).ToString();
this.lbSumHSEDay.Text = (monthReport.SumHSEDay ?? 0).ToString();
this.lbMonthHSEWorkDay.Text = (monthReport.MonthHSEWorkDay ?? 0).ToString();
this.lbYearHSEWorkDay.Text = (monthReport.YearHSEWorkDay ?? 0).ToString();
this.lbSumHSEWorkDay.Text = (monthReport.SumHSEWorkDay ?? 0).ToString();
this.lbHseManhours.Text = (monthReport.HseManhours ?? 0).ToString();
this.lbSubcontractManHours.Text = (monthReport.SubcontractManHours ?? 0).ToString();
this.lbTotalHseManhours.Text = (monthReport.TotalHseManhours ?? 0).ToString();
this.txtMainActivitiesDef.Text = monthReport.MainActivitiesDef;
//危险源情况
var hazardSorts = (from x in db.Manager_HazardSortC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (hazardSorts.Count > 0) //保存过数据
{
this.gvHazardSort.DataSource = hazardSorts;
this.gvHazardSort.DataBind();
}
//培训情况
var trainSorts = (from x in db.Manager_TrainSortC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (trainSorts.Count > 0)
{
this.gvTrainSort.DataSource = trainSorts;
this.gvTrainSort.DataBind();
}
//培训活动情况
var trainActivitySorts = (from x in db.Manager_TrainActivitySortC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (trainActivitySorts.Count > 0)
{
this.gvTrainActivitySort.DataSource = trainActivitySorts;
this.gvTrainActivitySort.DataBind();
}
//检查情况
var checkSorts = (from x in db.Manager_CheckSortC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (checkSorts.Count > 0)
{
this.gvCheckSort.DataSource = checkSorts;
this.gvCheckSort.DataBind();
}
//检查明细情况
var checkDetailSorts = (from x in db.Manager_CheckDetailSortC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (checkDetailSorts.Count > 0)
{
this.gvCheckDetailSort.DataSource = checkDetailSorts;
this.gvCheckDetailSort.DataBind();
}
this.txtMeetingNum.Text = (monthReport.MeetingNum ?? 0).ToString();
this.txtYearMeetingNum.Text = (monthReport.YearMeetingNum ?? 0).ToString();
//会议情况
var meetingSorts = (from x in db.Manager_MeetingSortC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (meetingSorts.Count > 0)
{
this.gvMeetingSort.DataSource = meetingSorts;
this.gvMeetingSort.DataBind();
}
this.txtComplexEmergencyNum.Text = (monthReport.ComplexEmergencyNum ?? 0).ToString();
this.txtYearComplexEmergencyNum.Text = (monthReport.YearComplexEmergencyNum ?? 0).ToString();
this.txtTotalComplexEmergencyNum.Text = (monthReport.TotalComplexEmergencyNum ?? 0).ToString();
this.txtSpecialEmergencyNum.Text = (monthReport.SpecialEmergencyNum ?? 0).ToString();
this.txtYearSpecialEmergencyNum.Text = (monthReport.YearSpecialEmergencyNum ?? 0).ToString();
this.txtTotalSpecialEmergencyNum.Text = (monthReport.TotalSpecialEmergencyNum ?? 0).ToString();
this.txtDrillRecordNum.Text = (monthReport.DrillRecordNum ?? 0).ToString();
this.txtYearDrillRecordNum.Text = (monthReport.YearDrillRecordNum ?? 0).ToString();
this.txtTotalDrillRecordNum.Text = (monthReport.TotalDrillRecordNum ?? 0).ToString();
this.txtEmergencyManagementWorkDef.Text = monthReport.EmergencyManagementWorkDef;
this.txtLicenseRemark.Text = monthReport.LicenseRemark;
this.txtEquipmentRemark.Text = monthReport.EquipmentRemark;
//HSE奖励情况
var rewardSorts = (from x in db.Manager_IncentiveSortC where x.MonthReportId == MonthReportId && x.BigType == "1" orderby x.SortIndex select x).ToList();
if (rewardSorts.Count > 0)
{
this.gvRewardSort.DataSource = rewardSorts;
this.gvRewardSort.DataBind();
}
this.txtRewardNum.Text = (monthReport.RewardNum ?? 0).ToString();
this.txtYearRewardNum.Text = (monthReport.YearRewardNum ?? 0).ToString();
this.txtRewardMoney.Text = (monthReport.RewardMoney ?? 0).ToString();
this.txtYearRewardMoney.Text = (monthReport.YearRewardMoney ?? 0).ToString();
//HSE处罚情况
var punishSorts = (from x in db.Manager_IncentiveSortC where x.MonthReportId == MonthReportId && x.BigType == "2" orderby x.SortIndex select x).ToList();
if (punishSorts.Count > 0)
{
this.gvPunishSort.DataSource = punishSorts;
this.gvPunishSort.DataBind();
}
this.txtPunishNum.Text = (monthReport.PunishNum ?? 0).ToString();
this.txtYearPunishNum.Text = (monthReport.YearPunishNum ?? 0).ToString();
this.txtPunishMoney.Text = (monthReport.PunishMoney ?? 0).ToString();
this.txtYearPunishMoney.Text = (monthReport.YearPunishMoney ?? 0).ToString();
//4.10 HSE现场其他管理情况
var otherManagements = (from x in db.Manager_Month_OtherManagementC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (otherManagements.Count > 0)
{
this.gvOtherManagement.DataSource = otherManagements;
this.gvOtherManagement.DataBind();
}
//5.1.2 本月文件、方案修编情况说明
var plans = (from x in db.Manager_Month_PlanC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (plans.Count > 0)
{
this.gvMonthPlan.DataSource = plans;
this.gvMonthPlan.DataBind();
}
//5.2.2 详细审查记录
var reviewRecords = (from x in db.Manager_Month_ReviewRecordC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (reviewRecords.Count > 0)
{
this.gvReviewRecord.DataSource = reviewRecords;
this.gvReviewRecord.DataBind();
}
this.nbMainCost1.Text = (monthReport.MainCost1 ?? 0).ToString();
this.nbMainProjectCost1.Text = (monthReport.MainProjectCost1 ?? 0).ToString();
this.nbSubCost1.Text = (monthReport.SubCost1 ?? 0).ToString();
this.nbSubProjectCost1.Text = (monthReport.SubProjectCost1 ?? 0).ToString();
this.nbMainCost2.Text = (monthReport.MainCost2 ?? 0).ToString();
this.nbMainProjectCost2.Text = (monthReport.MainProjectCost2 ?? 0).ToString();
this.nbSubCost2.Text = (monthReport.SubCost2 ?? 0).ToString();
this.nbSubProjectCost2.Text = (monthReport.SubProjectCost2 ?? 0).ToString();
this.nbMainCost3.Text = (monthReport.MainCost3 ?? 0).ToString();
this.nbMainProjectCost3.Text = (monthReport.MainProjectCost3 ?? 0).ToString();
this.nbSubCost3.Text = (monthReport.SubCost3 ?? 0).ToString();
this.nbSubProjectCost3.Text = (monthReport.SubProjectCost3 ?? 0).ToString();
this.nbMainCost4.Text = (monthReport.MainCost4 ?? 0).ToString();
this.nbMainProjectCost4.Text = (monthReport.MainProjectCost4 ?? 0).ToString();
this.nbSubCost4.Text = (monthReport.SubCost4 ?? 0).ToString();
this.nbSubProjectCost4.Text = (monthReport.SubProjectCost4 ?? 0).ToString();
this.nbMainCost5.Text = (monthReport.MainCost5 ?? 0).ToString();
this.nbMainProjectCost5.Text = (monthReport.MainProjectCost5 ?? 0).ToString();
this.nbSubCost5.Text = (monthReport.SubCost5 ?? 0).ToString();
this.nbSubProjectCost5.Text = (monthReport.SubProjectCost5 ?? 0).ToString();
this.nbMainCost6.Text = (monthReport.MainCost6 ?? 0).ToString();
this.nbMainProjectCost6.Text = (monthReport.MainProjectCost6 ?? 0).ToString();
this.nbSubCost6.Text = (monthReport.SubCost6 ?? 0).ToString();
this.nbSubProjectCost6.Text = (monthReport.SubProjectCost6 ?? 0).ToString();
this.nbMainCost7.Text = (monthReport.MainCost7 ?? 0).ToString();
this.nbMainProjectCost7.Text = (monthReport.MainProjectCost7 ?? 0).ToString();
this.nbSubCost7.Text = (monthReport.SubCost7 ?? 0).ToString();
this.nbSubProjectCost7.Text = (monthReport.SubProjectCost7 ?? 0).ToString();
this.nbMainCost.Text = (monthReport.MainCost ?? 0).ToString();
this.nbMainProjectCost.Text = (monthReport.MainProjectCost ?? 0).ToString();
this.nbSubCost.Text = (monthReport.SubCost ?? 0).ToString();
this.nbSubProjectCost.Text = (monthReport.SubProjectCost ?? 0).ToString();
this.nbJianAnCost.Text = (monthReport.JianAnCost ?? 0).ToString();
this.nbJianAnProjectCost.Text = (monthReport.JianAnProjectCost ?? 0).ToString();
//7.1 管理绩效数据统计(表一)
var accidentDesciptions = (from x in db.Manager_Month_AccidentDesciptionC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (accidentDesciptions.Count > 0)
{
this.gvAccidentDesciption.DataSource = accidentDesciptions;
this.gvAccidentDesciption.DataBind();
}
//7.2 管理绩效数据统计(表二)
var AccidentDesciptionItems = (from x in db.Manager_Month_AccidentDesciptionItemC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (AccidentDesciptionItems.Count > 0)
{
this.gvAccidentDesciptionItem.DataSource = AccidentDesciptionItems;
this.gvAccidentDesciptionItem.DataBind();
}
this.txtAccidentDes.Text = monthReport.AccidentDes;
//9.1 危险源动态识别及控制
var hazards = (from x in db.Manager_Month_HazardC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (hazards.Count > 0)
{
this.gvHazard.DataSource = hazards;
this.gvHazard.DataBind();
}
//9.3 HSSE检查
var checks = (from x in db.Manager_Month_CheckC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (checks.Count > 0)
{
this.gvCheck.DataSource = checks;
this.gvCheck.DataBind();
}
this.txtNextEmergencyResponse.Text = monthReport.NextEmergencyResponse;
//9.8 HSE管理文件/方案修编计划
var manageDocPlans = (from x in db.Manager_Month_ManageDocPlanC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (manageDocPlans.Count > 0)
{
this.gvManageDocPlan.DataSource = manageDocPlans;
this.gvManageDocPlan.DataBind();
}
//9.9其他HSE工作计划
var otherWorkPlans = (from x in db.Manager_Month_OtherWorkPlanC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList();
if (otherWorkPlans.Count > 0)
{
this.gvOtherWorkPlan.DataSource = otherWorkPlans;
this.gvOtherWorkPlan.DataBind();
}
this.txtQuestion.Text = monthReport.Question;
//this.txtPhotoContents.Text = HttpUtility.HtmlDecode(monthReport.PhotoContents);
}
}
}
#region
/// <summary>
/// 把单位Id转换为单位名称
/// </summary>
/// <param name="UnitId"></param>
/// <returns></returns>
protected string ConvertUnitName(object UnitId)
{
if (UnitId != null)
{
Model.Base_Unit u = BLL.UnitService.GetUnitByUnitId(UnitId.ToString());
if (u != null)
{
return u.UnitName;
}
else
{
return "合计:";
}
}
return "";
}
#endregion
#region
/// <summary>
/// 导出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
string filename = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString();
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("管理月报" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.Table1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
/// <summary>
/// 重载VerifyRenderingInServerForm方法否则运行的时候会出现如下错误提示“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内”
/// </summary>
/// <param name="control"></param>
public override void VerifyRenderingInServerForm(Control control)
{
}
#endregion
}
}