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"]; } } /// /// /// /// /// 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 = "
  • " + promise.Promise + "
  • "; } 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 += @"
    项目四色图
    "; } } } 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 dateTimeEP = new Dictionary(); Dictionary dataEP = new Dictionary(); 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 += "
  • " + 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 + "。" + "
  • "; } } majorHazardHtml = ""; var majorHazard = Funs.DB.SYHSEData_MajorHazard.Where(x => x.ProjectId == projectId).ToList(); foreach (var item in majorHazard) { majorHazardHtml += "
  • " + item.HazardName + "为" + item.HazardLevel + "风险,设备为" + item.DeviceName + ",存储物料为" + item.Material + "储量" + item.Amount + ",主要负责人为" + item.MainRespPerson + ",技术负责人为" + item.MainTechPerson + ",操作负责人为" + item.MainOperaPerson + "
  • "; } 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 += "
  • " + promise.Promise + "
  • "; } 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 += @"
    项目四色图
    "; } } } } 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 dateTimeEP = new Dictionary(); Dictionary dataEP = new Dictionary(); 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 += "
  • 在" + 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 + "。" + "
  • "; } } 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 += "
  • 在" + project .ProjectName + "中" + item.HazardName + "-" + item.HazardCode + "-" + item.Type + "为" + item.HazardLevel + "风险,责任人为" + item.MainRespPerson + ",责任单位" + item.MainRespDepartment + "
  • "; { majorHazardHtml += "
  • 在" + project.ProjectName + "中" + item.HazardName + "为" + item.HazardLevel + "风险,设备为" + item.DeviceName + ",存储物料为" + item.Material + "储量" + item.Amount + ",主要负责人为" + item.MainRespPerson + ",技术负责人为" + item.MainTechPerson + ",操作负责人为" + item.MainOperaPerson + "
  • "; } } 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 + @", // 设备数量 }], },"; } } } } } }