178 lines
7.0 KiB
C#
178 lines
7.0 KiB
C#
|
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 MonthReportCView2 : PageBase
|
|||
|
{
|
|||
|
#region 定义项
|
|||
|
/// <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;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 加载
|
|||
|
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.GetMonthReportByMonths(Convert.ToDateTime(Request.Params["months"]), this.CurrUser.LoginProjectId);
|
|||
|
if (monthReport != null)
|
|||
|
{
|
|||
|
this.MonthReportId = monthReport.MonthReportId;
|
|||
|
this.ProjectId = monthReport.ProjectId;
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
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("HSEPersonNum", (from x in personSorts select x.HSEPersonNum ?? 0).Sum());
|
|||
|
this.gvPersonSort.SummaryData = summary;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
this.gvPersonSort.SummaryData = null;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
GetPersonSort();
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
GetPersonSort();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 人力投入情况
|
|||
|
/// <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 totalHSEPersonNum = 0;
|
|||
|
if (units.Count() > 0)
|
|||
|
{
|
|||
|
foreach (Model.Project_ProjectUnit u in units)
|
|||
|
{
|
|||
|
Model.Manager_PersonSortC personSort = new Model.Manager_PersonSortC
|
|||
|
{
|
|||
|
PersonSortId = SQLHelper.GetNewID(typeof(Model.Manager_PersonSortC)),
|
|||
|
UnitId = u.UnitId,
|
|||
|
SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId),
|
|||
|
HSEPersonNum = BLL.PersonService.GetHSEPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId)
|
|||
|
};
|
|||
|
personSorts.Add(personSort);
|
|||
|
totalSumPersonNum += Convert.ToInt32(personSort.SumPersonNum);
|
|||
|
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("HSEPersonNum", totalHSEPersonNum);
|
|||
|
this.gvPersonSort.SummaryData = summary;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
this.gvPersonSort.SummaryData = null;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#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;
|
|||
|
}
|
|||
|
}
|
|||
|
return "";
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|