SGGL_HBAZ/SGGL/FineUIPro.Web/common/mainProjectSY.aspx.cs

727 lines
36 KiB
C#

using BLL;
using FineUIPro.Web.BaseInfo;
using FineUIPro.Web.DataShow;
using Model;
using Newtonsoft.Json;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.common
{
public partial class mainProjectSY : PageBase
{
public string swiperHtml1;
public string mapData;
public string dangetoday;
public string dangetodayFinish;
public string environmentHtml;
public string majorHazardHtml;
public int lnum1;
public int lnum2;
public int lnum3;
public int lnum4;
public int risk1;
public int risk2;
public int risk3;
public int risk4;
protected string VideoURL
{
get
{
return "http://180.213.66.211:10000/#/screen";
//return ConfigurationManager.AppSettings["Video_URL"];
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string projectId = Request.Params["projectId"];
if (!string.IsNullOrEmpty(projectId))
projectId = CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(projectId))
{
var baseProject = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
if (baseProject != null && !string.IsNullOrEmpty(baseProject.ProjectCode))
{
this.hfProjectCode.Value = baseProject.ProjectCode;
}
if (baseProject != null && !string.IsNullOrEmpty(baseProject.MonitorPW))
{
this.hfMonitorPW.Value = Funs.EncryptionPassword(baseProject.MonitorPW);
}
var DataBase = Funs.DB.SYHSEData_Base.OrderByDescending(x => x.ReportDate).FirstOrDefault(x => x.ProjectId == projectId);
if (DataBase != null && DataBase.SafeWorkinghours.HasValue)
{
divSafeWorkinghours.InnerHtml = "" + DataBase.SafeWorkinghours;
}
var promise = Funs.DB.SYHSEData_Promise.OrderByDescending(x => x.PromiseDate).FirstOrDefault(x => x.ProjectId == projectId);
if (promise != null)
{
ulPromise.InnerHtml = "<li>" + promise.Promise + "</li>";
}
var project = Funs.DB.SYHSEData_Project.FirstOrDefault(x => x.ProjectId == projectId);
if (project != null)
{
if (project.InstallationTotal.HasValue)
{
sInstalTotal.InnerHtml = "生产装置(" + project.InstallationTotal.Value + "套)";
}
if (project.InstallationRun.HasValue)
{
sInstalRun.InnerHtml = project.InstallationRun.Value.ToString();
}
if (project.InstallationStop.HasValue)
{
sInstalStop.InnerHtml = project.InstallationStop.Value.ToString();
}
if (project.InstallationOverHaul.HasValue)
{
sInstalOverHaul.InnerHtml = project.InstallationOverHaul.Value.ToString();
}
var attachFile = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == project.SYProjectId);
if (attachFile != null)
{
//imgFourColor.Src = attachFile.AttachUrl;
var geturl = Funs.GetStrListByStr(attachFile.AttachUrl, ',');
foreach (var itemurl in geturl)
{
if (!string.IsNullOrEmpty(itemurl))
{
swiperHtml1 += @"<div class='swiper-slide' >
<img data-src='../" + itemurl + @"' class='swiper-lazy'>
<div class='swiper-lazy-preloader swiper-lazy-preloader-white'></div>
<div class='swiperD-title'>项目四色图</div>
</div>";
}
}
}
if (project.State == "2")
{
divRun.InnerHtml = "1";
}
else
{
divBuild.InnerHtml = "1";
}
var p = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == project.ProjectId);
if (p != null && !string.IsNullOrEmpty(p.MapCoordinates))
{
string deviceNum = "0";
string RawMaterial = "";
string Product = "";
string PeopleNum = "0";
string SafePeopleNum = "0";
string MajorHazard = "0";
if (project != null)
{
if (project.InstallationTotal.HasValue)
{
deviceNum = project.InstallationTotal.Value.ToString();
}
if (!string.IsNullOrEmpty(project.RawMaterial))
{
RawMaterial = project.RawMaterial;
}
if (!string.IsNullOrEmpty(project.Product))
{
Product = project.Product;
}
if (!string.IsNullOrEmpty(project.PeopleNum))
{
PeopleNum = project.PeopleNum;
}
if (!string.IsNullOrEmpty(project.SafePeopleNum))
{
SafePeopleNum = project.SafePeopleNum;
}
if (project.InstallationTotal.HasValue)
{
deviceNum = project.InstallationTotal.Value.ToString();
}
MajorHazard = Funs.DB.SYHSEData_MajorHazard.Where(x => x.ProjectId == p.ProjectId).Select(x => x.HazardName).Distinct().Count().ToString();
mapData = @"{
name: '" + p.ProjectName + @"',
value: [" + p.MapCoordinates + @", {
PeopleNum: " + PeopleNum + @", // 人数数量
SafePeopleNum: " + SafePeopleNum + @", // 安管人员
RawMaterial: '" + RawMaterial.Replace("\n", "").Replace("\r", "") + @"', // 主要原料
Product: '" + Product.Replace("\n", "").Replace("\r", "") + @"', // 主要产品
deviceNums: " + deviceNum + @", // 设备数量
MajorHazard: " + MajorHazard + @", // 设备数量
}],
},";
}
}
}
DateTime today = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
var dangers = Funs.DB.SYHSEData_HiddenDangers.Where(x => x.ProjectId == projectId && x.CheckDate >= today.AddDays(-7)).ToList();
if (dangers.Count > 0)
{
int i1 = 0; int i2 = 0; int i3 = 0; int i4 = 0; int i5 = 0;
int j1 = 0; int j2 = 0; int j3 = 0; int j4 = 0; int j5 = 0;
foreach (Model.SYHSEData_HiddenDangers d in dangers)
{
if (d.RiskLevel == "一般隐患")
{
i1++;
}
else if (d.RiskLevel == "重大隐患")
{
i2++;
}
if (d.Type == "人的不安全行为")
{
i3++;
}
else if (d.Type == "物的不安全状态")
{
i4++;
}
else if (d.Type == "管理缺陷")
{
i5++;
}
if (d.RectificationStatus == "已验收")
{
if (d.RiskLevel == "一般隐患")
{
j1++;
}
else if (d.RiskLevel == "重大隐患")
{
j2++;
}
if (d.Type == "人的不安全行为")
{
j3++;
}
else if (d.Type == "物的不安全状态")
{
j4++;
}
else if (d.Type == "管理缺陷")
{
j5++;
}
}
}
dangetoday = string.Format("{0},{1},{2},{3},{4}", i1, i2, i3, i4, i5);
dangetodayFinish = string.Format("{0},{1},{2},{3},{4}", j1, j2, j3, j4, j5);
}
else
{
dangetoday = "0,0,0,0,0";
dangetodayFinish = "0,0,0,0,0";
}
environmentHtml = "";
var environment = Funs.DB.SYHSEData_EnvironmentProtection.Where(x => x.ProjectId == projectId).ToList();
Dictionary<string, DateTime> dateTimeEP = new Dictionary<string, DateTime>();
Dictionary<string, SYHSEData_EnvironmentProtection> dataEP = new Dictionary<string, SYHSEData_EnvironmentProtection>();
if (environment.Count > 0)
{
foreach (var item in environment)
{
if (dateTimeEP.ContainsKey(item.DetectionAddress + item.DetectionProject))
{
if (dateTimeEP[item.DetectionAddress + item.DetectionProject] < item.DetectionTimeZ.Value)
{
dateTimeEP[item.DetectionAddress + item.DetectionProject] = item.DetectionTimeZ.Value;
dataEP[item.DetectionAddress + item.DetectionProject] = item;
}
}
else
{
dateTimeEP.Add(item.DetectionAddress + item.DetectionProject, item.DetectionTimeZ.Value);
dataEP.Add(item.DetectionAddress + item.DetectionProject, item);
}
}
foreach (var item in dataEP.Values)
{
environmentHtml += "<li>" + item.DetectionAddress + "在" + item.DetectionTimeA.Value.ToString("yyyy-MM-dd") + "到" + item.DetectionTimeZ.Value.ToString("yyyy-MM-dd") + "时间段内,均值流量为" + item.AvgFlow + "立方米/小时,累计流量" + item.SumFlow + "千立方米," + (item.IsOk == "是" ? "已达标," : "未达标,") + (item.IsStop == "是" ? "已停产;" : "未停产;") + item.DetectionProject + "的检测值为" + item.DetectionValue + ",标准值为" + item.StandValue + "。" + "</li>";
}
}
majorHazardHtml = "";
var majorHazard = Funs.DB.SYHSEData_MajorHazard.Where(x => x.ProjectId == projectId).ToList();
foreach (var item in majorHazard)
{
majorHazardHtml += "<li>" + item.HazardName + "为" + item.HazardLevel + "风险,设备为" + item.DeviceName + ",存储物料为" + item.Material + "储量" + item.Amount + ",主要负责人为" + item.MainRespPerson + ",技术负责人为" + item.MainTechPerson + ",操作负责人为" + item.MainOperaPerson + "</li>";
}
var licences = Funs.DB.SYHSEData_Licence.Where(x => x.ProjectId == projectId && x.ReportDate >= new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)).ToList();
if (licences.Count > 0)
{
foreach (var item in licences)
{
switch (item.Type)
{
case "特级动火":
if (item.Amount.HasValue)
{
lnum1 += item.Amount.Value;
}
break;
case "一级动火":
if (item.Amount.HasValue)
{
lnum2 += item.Amount.Value;
}
break;
case "二级动火":
if (item.Amount.HasValue)
{
lnum3 += item.Amount.Value;
}
break;
case "受限空间":
if (item.Amount.HasValue)
{
lnum4 += item.Amount.Value;
}
break;
}
}
}
slnum1.InnerHtml = lnum1.ToString();
slnum2.InnerHtml = lnum2.ToString();
slnum3.InnerHtml = lnum3.ToString();
slnum4.InnerHtml = lnum4.ToString();
var risk = Funs.DB.SYHSEData_Risk.Where(x => x.ProjectId == projectId).ToList();
if (risk.Count > 0)
{
foreach (var item in risk)
{
switch (item.RiskLevel)
{
case "低风险":
risk1++;
break;
case "重大风险":
risk2++;
break;
case "一般风险":
risk3++;
break;
case "较大风险":
risk4++;
break;
}
}
}
}
else
{
try
{
sInstalTotal.InnerHtml = "生产装置(" + Funs.DB.SYHSEData_Project.Sum(x => x.InstallationTotal).Value.ToString() + "套)";
sInstalRun.InnerHtml = Funs.DB.SYHSEData_Project.Sum(x => x.InstallationRun).Value.ToString();
sInstalStop.InnerHtml = Funs.DB.SYHSEData_Project.Sum(x => x.InstallationStop).Value.ToString();
sInstalOverHaul.InnerHtml = Funs.DB.SYHSEData_Project.Sum(x => x.InstallationOverHaul).Value.ToString();
var projects = Funs.DB.SYHSEData_Project.Where(p => p.ProjectId != null).ToList();
string promiseHtml = "";
int run = 0;
int build = 0;
foreach (var p in projects)
{
var promise = Funs.DB.SYHSEData_Promise.OrderByDescending(x => x.PromiseDate).FirstOrDefault(x => x.ProjectId == p.ProjectId);
if (promise != null)
{
promiseHtml += "<li>" + promise.Promise + "</li>";
}
if (p.State == "2")
{
run++;
}
else
{
build++;
}
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == p.ProjectId);
if (!string.IsNullOrEmpty(project.MapCoordinates))
{
string deviceNum = "0";
string RawMaterial = "";
string Product = "";
string PeopleNum = "0";
string SafePeopleNum = "0";
string MajorHazard = "0";
if (p != null)
{
if (p.InstallationTotal.HasValue)
{
deviceNum = p.InstallationTotal.Value.ToString();
}
if (!string.IsNullOrEmpty(p.RawMaterial))
{
RawMaterial = p.RawMaterial;
}
if (!string.IsNullOrEmpty(p.Product))
{
Product = p.Product;
}
if (!string.IsNullOrEmpty(p.PeopleNum))
{
PeopleNum = p.PeopleNum;
}
if (!string.IsNullOrEmpty(p.SafePeopleNum))
{
SafePeopleNum = p.SafePeopleNum;
}
if (p.InstallationTotal.HasValue)
{
deviceNum = p.InstallationTotal.Value.ToString();
}
MajorHazard = Funs.DB.SYHSEData_MajorHazard.Where(x => x.ProjectId == p.ProjectId).Select(x => x.HazardName).Distinct().Count().ToString();
mapData += @"{
name: '" + project.ProjectName + @"',
value: [" + project.MapCoordinates + @", {
PeopleNum: " + PeopleNum + @", // 人数数量
SafePeopleNum: " + SafePeopleNum + @", // 安管人员
RawMaterial: '" + RawMaterial.Replace("\n", "").Replace("\r", "") + @"', // 主要原料
Product: '" + Product.Replace("\n", "").Replace("\r", "") + @"', // 主要产品
deviceNums: " + deviceNum + @", // 设备数量
MajorHazard: " + MajorHazard + @", // 设备数量
}],
},";
}
}
}
divRun.InnerHtml = "" + run;
divBuild.InnerHtml = "" + build;
ulPromise.InnerHtml = promiseHtml;
int SafeWorkinghours = 0;
foreach (var p in projects)
{
var DataBase = Funs.DB.SYHSEData_Base.OrderByDescending(x => x.ReportDate).FirstOrDefault(x => x.ProjectId == p.ProjectId);
if (DataBase != null && DataBase.SafeWorkinghours.HasValue)
{
SafeWorkinghours += DataBase.SafeWorkinghours.Value;
}
var attachFile = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == p.SYProjectId);
if (attachFile != null)
{
//imgFourColor.Src = attachFile.AttachUrl;
var geturl = Funs.GetStrListByStr(attachFile.AttachUrl, ',');
foreach (var itemurl in geturl)
{
if (!string.IsNullOrEmpty(itemurl))
{
swiperHtml1 += @"<div class='swiper-slide' >
<img data-src='../" + itemurl + @"' class='swiper-lazy'>
<div class='swiper-lazy-preloader swiper-lazy-preloader-white'></div>
<div class='swiperD-title'>项目四色图</div>
</div>";
}
}
}
}
divSafeWorkinghours.InnerHtml = "" + SafeWorkinghours;
DateTime today = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
var dangers = Funs.DB.SYHSEData_HiddenDangers.Where(x => x.ProjectId != null && x.CheckDate >= today.AddDays(-7)).ToList();
if (dangers.Count > 0)
{
int i1 = 0; int i2 = 0; int i3 = 0; int i4 = 0; int i5 = 0;
int j1 = 0; int j2 = 0; int j3 = 0; int j4 = 0; int j5 = 0;
foreach (Model.SYHSEData_HiddenDangers d in dangers)
{
if (d.RiskLevel == "一般隐患")
{
i1++;
}
else if (d.RiskLevel == "重大隐患")
{
i2++;
}
if (d.Type == "人的不安全行为")
{
i3++;
}
else if (d.Type == "物的不安全状态")
{
i4++;
}
else if (d.Type == "管理缺陷")
{
i5++;
}
if (d.RectificationStatus == "已验收")
{
if (d.Type == "一般隐患")
{
j1++;
}
else if (d.Type == "重大隐患")
{
j2++;
}
if (d.Type == "人的不安全行为")
{
j3++;
}
else if (d.Type == "物的不安全状态")
{
j4++;
}
else if (d.Type == "管理缺陷")
{
j5++;
}
}
}
dangetoday = string.Format("{0},{1},{2},{3},{4}", i1, i2, i3, i4, i5);
dangetodayFinish = string.Format("{0},{1},{2},{3},{4}", j1, j2, j3, j4, j5);
}
else
{
dangetoday = "0,0,0,0,0";
dangetodayFinish = "0,0,0,0,0";
}
var environment = Funs.DB.SYHSEData_EnvironmentProtection.ToList();
Dictionary<string, DateTime> dateTimeEP = new Dictionary<string, DateTime>();
Dictionary<string, SYHSEData_EnvironmentProtection> dataEP = new Dictionary<string, SYHSEData_EnvironmentProtection>();
if (environment != null && environment.Count > 0)
{
foreach (var item in environment)
{
if (!string.IsNullOrEmpty(item.ProjectId))
{
if (dateTimeEP.ContainsKey(item.DetectionAddress + item.DetectionProject + "$" + item.ProjectId))
{
if (dateTimeEP[item.DetectionAddress + item.DetectionProject + "$" + item.ProjectId] < item.DetectionTimeZ.Value)
{
dateTimeEP[item.DetectionAddress + item.DetectionProject + "$" + item.ProjectId] = item.DetectionTimeZ.Value;
dataEP[item.DetectionAddress + item.DetectionProject + "$" + item.ProjectId] = item;
}
}
else
{
dateTimeEP.Add(item.DetectionAddress + item.DetectionProject + "$" + item.ProjectId, item.DetectionTimeZ.Value);
dataEP.Add(item.DetectionAddress + item.DetectionProject + "$" + item.ProjectId, item);
}
}
}
foreach (var item in dataEP.Values)
{
Base_Project project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == item.ProjectId);
environmentHtml += "<li>在" + project.ProjectName + "中," + item.DetectionAddress + "在" + item.DetectionTimeA.Value.ToString("yyyy-MM-dd") + "到" + item.DetectionTimeZ.Value.ToString("yyyy-MM-dd") + "时间段内,均值流量为" + item.AvgFlow + "立方米/小时,累计流量" + item.SumFlow + "千立方米," + (item.IsOk == "是" ? "已达标," : "未达标,") + (item.IsStop == "是" ? "已停产;" : "未停产;") + item.DetectionProject + "的检测值为" + item.DetectionValue + ",标准值为" + item.StandValue + "。" + "</li>";
}
}
majorHazardHtml = "";
var majorHazard = Funs.DB.SYHSEData_MajorHazard.Where(x => x.ProjectId != null).ToList();
foreach (var item in majorHazard)
{
Base_Project project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == item.ProjectId);
if (project != null)
//majorHazardHtml += "<li>在" + project .ProjectName + "中" + item.HazardName + "-" + item.HazardCode + "-" + item.Type + "为" + item.HazardLevel + "风险,责任人为" + item.MainRespPerson + ",责任单位" + item.MainRespDepartment + "</li>";
{
majorHazardHtml += "<li>在" + project.ProjectName + "中" + item.HazardName + "为" + item.HazardLevel + "风险,设备为" + item.DeviceName + ",存储物料为" + item.Material + "储量" + item.Amount + ",主要负责人为" + item.MainRespPerson + ",技术负责人为" + item.MainTechPerson + ",操作负责人为" + item.MainOperaPerson + "</li>";
}
}
var licences = Funs.DB.SYHSEData_Licence.Where(x => x.ReportDate >= new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)).ToList();
if (licences.Count > 0)
{
foreach (var item in licences)
{
switch (item.Type)
{
case "特级动火":
if (item.Amount.HasValue)
{
lnum1 += item.Amount.Value;
}
break;
case "一级动火":
if (item.Amount.HasValue)
{
lnum2 += item.Amount.Value;
}
break;
case "二级动火":
if (item.Amount.HasValue)
{
lnum3 += item.Amount.Value;
}
break;
case "受限空间":
if (item.Amount.HasValue)
{
lnum4 += item.Amount.Value;
}
break;
}
}
}
slnum1.InnerHtml = lnum1.ToString();
slnum2.InnerHtml = lnum2.ToString();
slnum3.InnerHtml = lnum3.ToString();
slnum4.InnerHtml = lnum4.ToString();
var risk = Funs.DB.SYHSEData_Risk.ToList();
if (risk.Count > 0)
{
foreach (var item in risk)
{
if (!string.IsNullOrEmpty(item.RiskLevel))
{
switch (item.RiskLevel)
{
case "低风险":
risk1++;
break;
case "重大风险":
risk2++;
break;
case "一般风险":
risk3++;
break;
case "较大风险":
risk4++;
break;
}
}
}
}
string username = ConfigurationManager.AppSettings["Video_USER"];
string password = ConfigurationManager.AppSettings["Video_PW"];
this.hfProjectCode.Value = username;
this.hfMonitorPW.Value = Funs.EncryptionPassword(password);
}
catch (Exception ee)
{
ErrLogInfo.WriteLog( ee.StackTrace);
}
}
var projectList = Funs.DB.SYHSEData_Project.Where(p => p.ProjectId != null).ToList();
foreach (var p in projectList)
{
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == p.ProjectId);
if (!string.IsNullOrEmpty(project.MapCoordinates))
{
string deviceNum = "0";
string RawMaterial = "";
string Product = "";
string PeopleNum = "0";
string SafePeopleNum = "0";
string MajorHazard = "0";
if (p != null)
{
if (p.InstallationTotal.HasValue)
{
deviceNum = p.InstallationTotal.Value.ToString();
}
if (!string.IsNullOrEmpty(p.RawMaterial))
{
RawMaterial = p.RawMaterial;
}
if (!string.IsNullOrEmpty(p.Product))
{
Product = p.Product;
}
if (!string.IsNullOrEmpty(p.PeopleNum))
{
PeopleNum = p.PeopleNum;
}
if (!string.IsNullOrEmpty(p.SafePeopleNum))
{
SafePeopleNum = p.SafePeopleNum;
}
if (p.InstallationTotal.HasValue)
{
deviceNum = p.InstallationTotal.Value.ToString();
}
MajorHazard = Funs.DB.SYHSEData_MajorHazard.Where(x => x.ProjectId == p.ProjectId).Select(x=>x.HazardName).Distinct().Count().ToString();
}
mapData += @"{
name: '" + project.ProjectName + @"',
value: [" + project.MapCoordinates + @", {
PeopleNum: " + PeopleNum + @", // 人数数量
SafePeopleNum: " + SafePeopleNum + @", // 安管人员
RawMaterial: '" + RawMaterial.Replace("\n", "").Replace("\r", "") + @"', // 主要原料
Product: '" + Product.Replace("\n", "").Replace("\r", "") + @"', // 主要产品
deviceNums: " + deviceNum + @", // 设备数量
MajorHazard: " + MajorHazard + @", // 设备数量
}],
},";
}
}
}
}
}
}