1HSE不符合项清单和统计功能
This commit is contained in:
@@ -0,0 +1,407 @@
|
||||
using BLL;
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web
|
||||
{
|
||||
public partial class mainMenu_HSECheck : PageBase
|
||||
{
|
||||
#region 定义项
|
||||
/// <summary>
|
||||
/// 项目主键
|
||||
/// </summary>
|
||||
public string ProjectId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ProjectId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ProjectId"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// HSE不符合项【本年】
|
||||
/// </summary>
|
||||
public static List<Model.CheckProblem_Safety> list = new List<Model.CheckProblem_Safety>();
|
||||
/// <summary>
|
||||
/// HSE不符合项【本月】
|
||||
/// </summary>
|
||||
public static List<Model.CheckProblem_Safety> listMon = new List<Model.CheckProblem_Safety>();
|
||||
/// <summary>
|
||||
/// 问题分类
|
||||
/// </summary>
|
||||
public static List<Model.Base_SafetyProblemClassify> classifys = new List<Model.Base_SafetyProblemClassify>();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 当前时间
|
||||
/// </summary>
|
||||
public static DateTime dateNow = DateTime.Now;
|
||||
public static DateTime dateMon = Convert.ToDateTime($"{dateNow.Year}-{dateNow.Month}-01");
|
||||
public static DateTime dateYear = Convert.ToDateTime($"{dateNow.Year}-01-01");
|
||||
#endregion
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.ProjectId = this.CurrUser.LoginProjectId;
|
||||
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
|
||||
{
|
||||
this.ProjectId = Request.Params["projectId"];
|
||||
}
|
||||
|
||||
//var dateNow = DateTime.Now;
|
||||
//var dateMon = Convert.ToDateTime($"{dateNow.Year}-{dateNow.Month}-01");
|
||||
//var dateYear = Convert.ToDateTime($"{dateNow.Year}-01-01");
|
||||
|
||||
Model.CNPCDB db = Funs.DB;
|
||||
list = (from x in db.CheckProblem_Safety where x.CheckDate >= dateYear select x).ToList();
|
||||
listMon = (from x in db.CheckProblem_Safety where x.CheckDate >= dateMon select x).ToList();
|
||||
|
||||
//权限查看范围
|
||||
if (this.CurrUser.UnitId != null && this.CurrUser.UnitId != Const.UnitId_XJYJ && (this.CurrUser.UserId != Const.hfnbdId || this.CurrUser.UserId != Const.sysglyId))
|
||||
{
|
||||
list = list.Where(x => x.UnitId == this.CurrUser.UnitId).ToList();
|
||||
listMon = listMon.Where(x => x.UnitId == this.CurrUser.UnitId).ToList();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(this.ProjectId))
|
||||
{
|
||||
list = list.Where(x => x.ProjectId == this.ProjectId).ToList();
|
||||
listMon = listMon.Where(x => x.ProjectId == this.ProjectId).ToList();
|
||||
}
|
||||
|
||||
classifys = BLL.SafetyProblemClassifyService.GetClassify();
|
||||
BindGridByClassify();
|
||||
}
|
||||
}
|
||||
|
||||
#region 按问题分类统计
|
||||
|
||||
/// <summary>
|
||||
/// 按问题分类统计【表格】
|
||||
/// </summary>
|
||||
private void BindGridByClassify()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("<table id=\"myTable\" class=\"myTableClass\" > ");
|
||||
sb.Append("<thead>");
|
||||
sb.Append("<tr>");
|
||||
sb.Append("<th class=\"tab-title\" colspan=\"7\">按问题分类统计</th>");
|
||||
sb.Append("</tr>");
|
||||
sb.Append("<tr>");
|
||||
sb.Append("<th class=\"tab-header\" rowspan=\"2\">类别</th>");
|
||||
sb.Append("<th class=\"tab-header\" colspan=\"3\">本月</th>");
|
||||
sb.Append("<th class=\"tab-header\" colspan=\"3\">今年</th>");
|
||||
sb.Append("</tr>");
|
||||
sb.Append("<tr>");
|
||||
sb.Append("<th class=\"tab-header\">承包商</th>");
|
||||
sb.Append("<th class=\"tab-header\">项目部</th>");
|
||||
sb.Append("<th class=\"tab-header\">合计</th>");
|
||||
sb.Append("<th class=\"tab-header\">承包商</th>");
|
||||
sb.Append("<th class=\"tab-header\">项目部</th>");
|
||||
sb.Append("<th class=\"tab-header\">合计</th>");
|
||||
sb.Append("</tr>");
|
||||
sb.Append("</thead>");
|
||||
sb.Append("<tbody>");
|
||||
if (list.Any())
|
||||
{
|
||||
foreach (var obj in classifys)
|
||||
{
|
||||
int year = list.Where(x => x.ClassifyId == obj.ClassifyId).Count();
|
||||
int yearC = list.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "承包商").Count();
|
||||
int yearX = list.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "项目部").Count();
|
||||
int mon = listMon.Where(x => x.ClassifyId == obj.ClassifyId).Count();
|
||||
int monC = listMon.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "承包商").Count();
|
||||
int monX = listMon.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "项目部").Count();
|
||||
|
||||
sb.Append("<tr>");
|
||||
sb.Append($"<td >{obj.ClassifyName}</td>");
|
||||
sb.Append($"<td>{monC}</td>");
|
||||
sb.Append($"<td>{monX}</td>");
|
||||
sb.Append($"<td>{mon}</td>");
|
||||
sb.Append($"<td>{yearC}</td>");
|
||||
sb.Append($"<td>{yearX}</td>");
|
||||
sb.Append($"<td>{year}</td>");
|
||||
sb.Append("</tr>");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append("<tr>");
|
||||
sb.Append("<td ></td>");
|
||||
sb.Append("<td ></td>");
|
||||
sb.Append("<td ></td>");
|
||||
sb.Append("<td ></td>");
|
||||
sb.Append("<td ></td>");
|
||||
sb.Append("<td ></td>");
|
||||
sb.Append("<td ></td>");
|
||||
sb.Append("</tr>");
|
||||
}
|
||||
|
||||
int yearAll = list.Count();
|
||||
int yearCAll = list.Where(x => x.UnitType == "承包商").Count();
|
||||
int yearXAll = list.Where(x => x.UnitType == "项目部").Count();
|
||||
int monAll = listMon.Count();
|
||||
int monCAll = listMon.Where(x => x.UnitType == "承包商").Count();
|
||||
int monXAll = listMon.Where(x => x.UnitType == "项目部").Count();
|
||||
|
||||
sb.Append("<tr>");
|
||||
sb.Append($"<td class=\"tab-header\">合计</td>");
|
||||
sb.Append($"<td class=\"tab-header\">{monCAll}</td>");
|
||||
sb.Append($"<td class=\"tab-header\">{monXAll}</td>");
|
||||
sb.Append($"<td class=\"tab-header\">{monAll}</td>");
|
||||
sb.Append($"<td class=\"tab-header\">{yearCAll}</td>");
|
||||
sb.Append($"<td class=\"tab-header\">{yearXAll}</td>");
|
||||
sb.Append($"<td class=\"tab-header\">{yearAll}</td>");
|
||||
sb.Append("</tr>");
|
||||
sb.Append("</tbody>");
|
||||
sb.Append("</table>");
|
||||
classifyTable.InnerHtml = sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 按问题分类【柱状图——本月】
|
||||
/// </summary>
|
||||
protected string ClassifyBar
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "按问题分类统计";
|
||||
businessColumn.xFontNum = 8;
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int tCbs = 0;
|
||||
int tXmb = 0;
|
||||
foreach (var type in classifys)
|
||||
{
|
||||
//listCategories.Add(type.ClassifyCode);
|
||||
listCategories.Add(type.ClassifyName);
|
||||
var typeItems = listMon.Where(x => x.ClassifyId == type.ClassifyId);
|
||||
tCbs = typeItems.Where(x => x.UnitType == "承包商").Count();
|
||||
tXmb = typeItems.Where(x => x.UnitType == "项目部").Count();
|
||||
listdata.Add(tXmb);
|
||||
listdata2.Add(tCbs);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 按问题分类【柱状图——今年】
|
||||
/// </summary>
|
||||
protected string ClassifyBarYear
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "按问题分类统计";
|
||||
businessColumn.xFontNum = 8;
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int tCbs = 0;
|
||||
int tXmb = 0;
|
||||
foreach (var type in classifys)
|
||||
{
|
||||
//listCategories.Add(type.ClassifyCode);
|
||||
listCategories.Add(type.ClassifyName);
|
||||
var typeItems = list.Where(x => x.ClassifyId == type.ClassifyId);
|
||||
tCbs = typeItems.Where(x => x.UnitType == "承包商").Count();
|
||||
tXmb = typeItems.Where(x => x.UnitType == "项目部").Count();
|
||||
listdata.Add(tXmb);
|
||||
listdata2.Add(tCbs);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 安全管理类统计
|
||||
|
||||
/// <summary>
|
||||
/// 安全管理类统计(S1)【本月】
|
||||
/// </summary>
|
||||
protected string S1Pie
|
||||
{
|
||||
get
|
||||
{
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
businessColumn.title = "安全管理类统计";
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
//安全管理类
|
||||
var classifyItems = BLL.SafetyProblemClassifyItemService.GetClassifyItemList(Const.SafetyClassifyIdS1);
|
||||
List<Model.PieData> pies = new List<Model.PieData>();
|
||||
List<string> dataString = new List<string>();
|
||||
int dataNum = 0;
|
||||
foreach (var obj in classifyItems)
|
||||
{
|
||||
var lst = listMon.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||||
if (lst.Any())
|
||||
{
|
||||
int num = lst.Count();
|
||||
dataNum += num;
|
||||
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||||
dataString.Add(obj.ClassifyItemName);
|
||||
}
|
||||
}
|
||||
s.pieData = pies;
|
||||
s.dataString = dataString;
|
||||
s.stack = dataNum.ToString();
|
||||
series.Add(s);
|
||||
businessColumn.series = series;
|
||||
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 安全管理类统计(S1)【今年】
|
||||
/// </summary>
|
||||
protected string S1PieYear
|
||||
{
|
||||
get
|
||||
{
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
businessColumn.title = "安全管理类统计";
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
//安全管理类
|
||||
var classifyItems = BLL.SafetyProblemClassifyItemService.GetClassifyItemList(Const.SafetyClassifyIdS1);
|
||||
|
||||
List<Model.PieData> pies = new List<Model.PieData>();
|
||||
List<string> dataString = new List<string>();
|
||||
int dataNum = 0;
|
||||
foreach (var obj in classifyItems)
|
||||
{
|
||||
var lst = list.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||||
if (lst.Any())
|
||||
{
|
||||
int num = lst.Count();
|
||||
dataNum += num;
|
||||
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||||
dataString.Add(obj.ClassifyItemName);
|
||||
}
|
||||
}
|
||||
s.pieData = pies;
|
||||
s.dataString = dataString;
|
||||
s.stack = dataNum.ToString();
|
||||
series.Add(s);
|
||||
businessColumn.series = series;
|
||||
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 施工作业类统计
|
||||
|
||||
/// <summary>
|
||||
/// 施工作业类统计(S2)【本月】
|
||||
/// </summary>
|
||||
protected string S2Pie
|
||||
{
|
||||
get
|
||||
{
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
businessColumn.title = "施工作业类统计";
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
//施工作业类
|
||||
var classifyItems = BLL.SafetyProblemClassifyItemService.GetClassifyItemList(Const.SafetyClassifyIdS2);
|
||||
List<Model.PieData> pies = new List<Model.PieData>();
|
||||
List<string> dataString = new List<string>();
|
||||
int dataNum = 0;
|
||||
foreach (var obj in classifyItems)
|
||||
{
|
||||
var lst = listMon.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||||
if (lst.Any())
|
||||
{
|
||||
int num = lst.Count();
|
||||
dataNum += num;
|
||||
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||||
dataString.Add(obj.ClassifyItemName);
|
||||
}
|
||||
}
|
||||
s.pieData = pies;
|
||||
s.dataString = dataString;
|
||||
s.stack = dataNum.ToString();
|
||||
series.Add(s);
|
||||
businessColumn.series = series;
|
||||
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 施工作业类统计(S2)【今年】
|
||||
/// </summary>
|
||||
protected string S2PieYear
|
||||
{
|
||||
get
|
||||
{
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
businessColumn.title = "施工作业类统计";
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
//施工作业类
|
||||
var classifyItems = BLL.SafetyProblemClassifyItemService.GetClassifyItemList(Const.SafetyClassifyIdS2);
|
||||
|
||||
List<Model.PieData> pies = new List<Model.PieData>();
|
||||
List<string> dataString = new List<string>();
|
||||
int dataNum = 0;
|
||||
foreach (var obj in classifyItems)
|
||||
{
|
||||
var lst = list.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||||
if (lst.Any())
|
||||
{
|
||||
int num = lst.Count();
|
||||
dataNum += num;
|
||||
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||||
dataString.Add(obj.ClassifyItemName);
|
||||
}
|
||||
}
|
||||
s.pieData = pies;
|
||||
s.dataString = dataString;
|
||||
s.stack = dataNum.ToString();
|
||||
series.Add(s);
|
||||
businessColumn.series = series;
|
||||
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user