375 lines
16 KiB
C#
375 lines
16 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using EmitMapper;
|
|
using Microsoft.SqlServer.Dts.Runtime;
|
|
using Model;
|
|
|
|
namespace BLL.API
|
|
{
|
|
public class APIIndexService
|
|
{
|
|
#region 获取HSSE首页数据
|
|
/// <summary>
|
|
/// 获取HSSE首页数据
|
|
/// </summary>
|
|
/// <param name="userInfo"></param>
|
|
/// <returns></returns>
|
|
public static Model.HSSEItem hsse()
|
|
{
|
|
|
|
//var hsseData= HSSEData_HSSEService.GetTodayHSSEData_HSSE().Result;
|
|
var hsseData= HSSEData_HSSEService.GetTheLastData();
|
|
var hSSEDataItems =hsseData.HSSEDataItems.FirstOrDefault();
|
|
Model.HSSEItem item = new Model.HSSEItem();
|
|
item= ObjectMapperManager.DefaultInstance.GetMapper<Model.HsseDataItem, Model.HSSEItem>().Map(hSSEDataItems);
|
|
return item;
|
|
// using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
//{
|
|
// Model.HSSEItem item = new Model.HSSEItem();
|
|
// var hsse = db.HSSEData_HSSE.OrderByDescending(x => x.ReportDate).FirstOrDefault();
|
|
// if (hsse != null)
|
|
// {
|
|
|
|
// item.Id = hsse.Id;
|
|
// item.UnitId = hsse.UnitId;
|
|
// item.CollCropCode = hsse.CollCropCode;
|
|
// item.UnitName = hsse.UnitName;
|
|
// item.ReportDate = hsse.ReportDate;
|
|
// item.BeUnderConstructionNum = hsse.BeUnderConstructionNum;
|
|
// item.ShutdownNum = hsse.ShutdownNum;
|
|
// item.JoinConstructionPersonNum = hsse.JoinConstructionPersonNum;
|
|
// item.MajorProjectsUnderConstructionNum = hsse.MajorProjectsUnderConstructionNum;
|
|
// item.TotalWorkingHour = hsse.TotalWorkingHour;
|
|
// item.TotalWorkingHour = hsse.TotalWorkingHour;
|
|
// item.SafeWorkingHour = hsse.SafeWorkingHour;
|
|
// item.SafeTrainNum = hsse.SafeTrainNum;
|
|
// item.SpecialTrainNum = hsse.SpecialTrainNum;
|
|
// item.SpecialOperationTrainNum = hsse.SpecialOperationTrainNum;
|
|
// item.EnvironmentalTrainNum = hsse.EnvironmentalTrainNum;
|
|
// item.TotalEnergyConsumption = hsse.TotalEnergyConsumption;
|
|
// item.IncomeComprehensiveEnergyConsumption = hsse.IncomeComprehensiveEnergyConsumption;
|
|
// item.NewWaterConsumption = hsse.NewWaterConsumption;
|
|
// item.HeadOfficeInspectorGeneralNum = hsse.HeadOfficeInspectorGeneralNum;
|
|
// item.HeadOfficeFullTimeNum = hsse.HeadOfficeFullTimeNum;
|
|
// item.BranchInspectorGeneralNum = hsse.BranchInspectorGeneralNum;
|
|
// item.BranchFullTimeNum = hsse.BranchFullTimeNum;
|
|
// item.ProjectInspectorGeneralNum = hsse.ProjectInspectorGeneralNum;
|
|
// item.ProjectFullTimeNum = hsse.ProjectFullTimeNum;
|
|
// item.ProjectSafetyMonitorNum = hsse.ProjectSafetyMonitorNum;
|
|
// item.SafetyInjectionEngineer = hsse.SafetyInjectionEngineer;
|
|
// item.CertificateANum = hsse.CertificateANum;
|
|
// item.CertificateBNum = hsse.CertificateBNum;
|
|
// item.CertificateCNum = hsse.CertificateCNum;
|
|
// item.SafetyCommitteeMeetingNum = hsse.SafetyCommitteeMeetingNum;
|
|
// item.EnterpriseTopicsMeetingNum = hsse.EnterpriseTopicsMeetingNum;
|
|
// item.ProjectSafetyLeadingGroupMeetingNum = hsse.ProjectSafetyLeadingGroupMeetingNum;
|
|
// item.ProjectSafetyMeetingNum = hsse.ProjectSafetyMeetingNum;
|
|
// item.CompanyLeadShiftCheckNum = hsse.CompanyLeadShiftCheckNum;
|
|
// item.CompanyComprehensiveCheckNum = hsse.CompanyComprehensiveCheckNum;
|
|
// item.CompanySpecialCheckNum = hsse.CompanySpecialCheckNum;
|
|
// item.ProjectLeadShiftCheckNum = hsse.ProjectLeadShiftCheckNum;
|
|
// item.ProjectSpecialCheckNum = hsse.ProjectSpecialCheckNum;
|
|
// item.ProjectMajorCheckNum = hsse.ProjectMajorCheckNum;
|
|
// item.NearMissNum = hsse.NearMissNum;
|
|
// item.RecordableEventNum = hsse.RecordableEventNum;
|
|
// item.GeneralAccidentNum = hsse.GeneralAccidentNum;
|
|
// item.MajorAccidentNum = hsse.MajorAccidentNum;
|
|
// item.SeriousAccidentNum = hsse.SeriousAccidentNum;
|
|
// item.SpecialSeriousAccidentNum = hsse.SpecialSeriousAccidentNum;
|
|
// item.CompanyComprehensivePlanNum = hsse.CompanyComprehensivePlanNum;
|
|
// item.CompanySpecialPlanNum = hsse.CompanySpecialPlanNum;
|
|
// item.CompanyOnSiteDisposalPlan = hsse.CompanyOnSiteDisposalPlan;
|
|
// item.CompanyDrillNum = hsse.CompanyDrillNum;
|
|
// item.ProjectComprehensivePlanNum = hsse.ProjectComprehensivePlanNum;
|
|
// item.ProjectSpecialPlanNum = hsse.ProjectSpecialPlanNum;
|
|
// item.ProjectOnSiteDisposalPlan = hsse.ProjectOnSiteDisposalPlan;
|
|
// item.ProjectDrillNum = hsse.ProjectDrillNum;
|
|
// item.CostExtract = hsse.CostExtract;
|
|
// item.CostUse = hsse.CostUse;
|
|
// item.UseEquipmentNum = hsse.UseEquipmentNum;
|
|
// item.SpecialEquipmentNum = hsse.SpecialEquipmentNum;
|
|
// item.LicensesNum = hsse.LicensesNum;
|
|
// item.LicensesCloseNum = hsse.LicensesCloseNum;
|
|
// item.GeneralClosedNum = hsse.GeneralClosedNum;
|
|
// item.GeneralNotClosedNum = hsse.GeneralNotClosedNum;
|
|
// item.MajorClosedNum = hsse.MajorClosedNum;
|
|
// item.MajorNotClosedNum = hsse.MajorNotClosedNum;
|
|
// item.GeneralRiskNum = hsse.GeneralRiskNum;
|
|
// item.LowRiskNum = hsse.LowRiskNum;
|
|
// item.MediumRiskNum = hsse.MediumRiskNum;
|
|
// item.HighRiskNum = hsse.HighRiskNum;
|
|
// item.CompletedNum = hsse.CompletedNum;
|
|
// item.TrainPersonNum = hsse.TrainPersonNum;
|
|
// item.ConstructionNum = hsse.ConstructionNum;
|
|
// item.FinishedNum = hsse.FinishedNum;
|
|
// item.SuperCompletedNum = hsse.SuperCompletedNum;
|
|
// item.SuperTrainPersonNum = hsse.SuperTrainPersonNum;
|
|
// item.SuperConstructionNum = hsse.SuperConstructionNum;
|
|
// item.SuperFinishedNum = hsse.SuperFinishedNum;
|
|
// }
|
|
// return item;
|
|
//}
|
|
}
|
|
|
|
|
|
public static List<Model.HiddenRectificationOutput> GetRectificationOutputs()
|
|
{
|
|
var query = (from x in Funs.DB.Base_Project
|
|
join y in Funs.DB.HSSE_Hazard_HazardRegister_Unit on x.ProjectId equals y.ProjectId into yGroup
|
|
from y in yGroup.DefaultIfEmpty()
|
|
where (x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1) && (x.IsDelete == null || x.IsDelete == false) && y.ProblemTypes == "1" && y.CheckTime > Const.DtmarkTime
|
|
group y by new { x.ProjectId, x.ProjectName,x.ShortName, x.ProjectCode } into gg
|
|
select new HiddenRectificationOutput
|
|
{
|
|
ProjectId = gg.Key.ProjectId,
|
|
ProjectName = gg.Key.ProjectName,
|
|
ProjectCode = gg.Key.ProjectCode,
|
|
ProjectShortName = gg.Key.ShortName,
|
|
ProNum = gg.Count(y => y.States != "4" && y.States != "-1"),
|
|
RecNum = gg.Count(y => y.States == "3"),
|
|
NoRecNum = gg.Count(y => y.States != "3" && y.States != "-1"),
|
|
RecRate = gg.Count(y => y.States != "4" && y.States != "-1") == 0 ? "0" :
|
|
Math.Round((decimal)gg.Count(y => y.States == "3") /
|
|
gg.Count(y => y.States != "4" && y.States != "-1") * 100, 2, MidpointRounding.AwayFromZero).ToString(),
|
|
}).ToList();
|
|
return query;
|
|
}
|
|
#endregion
|
|
|
|
#region 获取HSSE首页隐患排查治理数据明细
|
|
/// <summary>
|
|
/// 获取HSSE首页隐患排查治理数据明细
|
|
/// </summary>
|
|
/// <param name="userInfo"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.HiddenDangerItem> hiddenDanger()
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
List<Model.HiddenDangerItem> res = new List<Model.HiddenDangerItem>();
|
|
var reportDate = Funs.DB.HSSEData_HiddenDangerDetail.Max(x => x.ReportDate);
|
|
if (reportDate.HasValue)
|
|
{
|
|
var details = Funs.DB.HSSEData_HiddenDangerDetail.Where(x => x.ReportDate == reportDate.Value).ToList();
|
|
|
|
if (details != null && details.Count > 0)
|
|
{
|
|
foreach (var d in details)
|
|
{
|
|
Model.HiddenDangerItem item = new Model.HiddenDangerItem();
|
|
item.Id = d.Id;
|
|
item.UnitId = d.UnitId;
|
|
item.CollCropCode = d.CollCropCode;
|
|
item.UnitName = d.UnitName;
|
|
item.ReportDate = d.ReportDate;
|
|
item.TypeName = d.TypeName;
|
|
item.TotalNum = d.TotalNum;
|
|
item.NeedRectifyNum = d.NeedRectifyNum;
|
|
res.Add(item);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
return res;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 获取CQMS首页
|
|
/// <summary>
|
|
/// 获取CQMS首页
|
|
/// </summary>
|
|
/// <param name="userInfo"></param>
|
|
/// <returns></returns>
|
|
public static Model.CQMSItem cqms()
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
Model.CQMSItem item = new Model.CQMSItem();
|
|
var cqms = db.CQMSData_CQMS.OrderByDescending(x => x.ReportDate).FirstOrDefault();
|
|
if (cqms != null)
|
|
{
|
|
|
|
item.Id = cqms.Id;
|
|
item.UnitId = cqms.UnitId;
|
|
item.CollCropCode = cqms.CollCropCode;
|
|
item.UnitName = cqms.UnitName;
|
|
item.ReportDate = cqms.ReportDate.Value.ToShortDateString();
|
|
item.TrainPersonNum = cqms.TrainPersonNum;
|
|
item.TechnicalDisclosePersonNum = cqms.TechnicalDisclosePersonNum;
|
|
item.UseNum = cqms.UseNum;
|
|
item.OKNum = cqms.OKNum;
|
|
item.CompanyPersonNum = cqms.CompanyPersonNum;
|
|
item.BranchPersonNum = cqms.BranchPersonNum;
|
|
item.ProjectPersonNum = cqms.ProjectPersonNum;
|
|
item.ProblemNum = cqms.ProblemNum;
|
|
item.ProblemCompletedNum = cqms.ProblemCompletedNum;
|
|
item.ProblemNotCompletedNum = cqms.ProblemNotCompletedNum;
|
|
item.SNum = cqms.SNum;
|
|
item.ANum = cqms.ANum;
|
|
item.BNum = cqms.BNum;
|
|
item.CNum = cqms.CNum;
|
|
item.KeyProcessNum = cqms.KeyProcessNum;
|
|
item.KeyProcessOKNum = cqms.KeyProcessOKNum;
|
|
item.SpecialProcessNum = cqms.SpecialProcessNum;
|
|
item.SpecialProcessOKNum = cqms.SpecialProcessOKNum;
|
|
item.ConcealedWorksNum = cqms.ConcealedWorksNum;
|
|
item.ConcealedWorksOKNum = cqms.ConcealedWorksOKNum;
|
|
item.UnitProjectOnesNum = cqms.UnitProjectOnesNum;
|
|
item.UnitProjectOnesOKNum = cqms.UnitProjectOnesOKNum;
|
|
item.MaterialInRecheckNum = cqms.MaterialInRecheckNum;
|
|
item.MaterialInRecheckOKNum = cqms.MaterialInRecheckOKNum;
|
|
item.SingleProjectNum = cqms.SingleProjectNum;
|
|
item.UnitProjectNum = cqms.UnitProjectNum;
|
|
item.SubProjectNum = cqms.SubProjectNum;
|
|
item.SubdivisionalWorksNum = cqms.SubdivisionalWorksNum;
|
|
item.InspectionLotNum = cqms.InspectionLotNum;
|
|
}
|
|
return item;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 获取HJGL首页
|
|
/// <summary>
|
|
/// 获取HJGL首页
|
|
/// </summary>
|
|
/// <param name="userInfo"></param>
|
|
/// <returns></returns>
|
|
public static Model.HJGLItem hjgl()
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
Model.HJGLItem item = new Model.HJGLItem();
|
|
var hjgl = db.HJGLData_HJGL.OrderByDescending(x => x.ReportDate).FirstOrDefault();
|
|
if (hjgl != null)
|
|
{
|
|
|
|
item.Id = hjgl.Id;
|
|
item.UnitId = hjgl.UnitId;
|
|
item.CollCropCode = hjgl.CollCropCode;
|
|
item.UnitName = hjgl.UnitName;
|
|
item.ReportDate = hjgl.ReportDate;
|
|
item.WelderNum = hjgl.WelderNum;
|
|
item.TotalDineNum = hjgl.TotalDineNum;
|
|
item.CompleteDineNum = hjgl.CompleteDineNum;
|
|
item.TotalFilmNum = hjgl.TotalFilmNum;
|
|
item.OKFilmNum = hjgl.OKFilmNum;
|
|
|
|
}
|
|
return item;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 获取焊接缺陷
|
|
/// <summary>
|
|
/// 获取焊接缺陷
|
|
/// </summary>
|
|
/// <param name="userInfo"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.DefectItem> defect()
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
List<Model.DefectItem> res = new List<Model.DefectItem>();
|
|
var reportDate = Funs.DB.HJGLData_Defect.Max(x => x.ReportDate);
|
|
if (reportDate.HasValue)
|
|
{
|
|
var defects = Funs.DB.HJGLData_Defect.Where(x => x.ReportDate == reportDate.Value).ToList();
|
|
|
|
if (defects != null && defects.Count > 0)
|
|
{
|
|
foreach (var d in defects)
|
|
{
|
|
Model.DefectItem item = new Model.DefectItem();
|
|
item.Id = d.Id;
|
|
item.UnitId = d.UnitId;
|
|
item.CollCropCode = d.CollCropCode;
|
|
item.UnitName = d.UnitName;
|
|
item.ReportDate = d.ReportDate;
|
|
item.DefectName = d.DefectName;
|
|
item.DefectNum = d.DefectNum;
|
|
res.Add(item);
|
|
}
|
|
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 获取SHIYE首页
|
|
/// <summary>
|
|
/// 获取SHIYE首页
|
|
/// </summary>
|
|
/// <param name="userInfo"></param>
|
|
/// <returns></returns>
|
|
public static Model.SYHSEItem shiye()
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
Model.SYHSEItem item = new Model.SYHSEItem();
|
|
var shiye = db.SYHSEData_SYHSE.OrderByDescending(x => x.ReportDate).FirstOrDefault();
|
|
if (shiye != null)
|
|
{
|
|
|
|
item.Id = shiye.Id;
|
|
item.UnitId = shiye.UnitId;
|
|
item.CollCropCode = shiye.CollCropCode;
|
|
item.UnitName = shiye.UnitName;
|
|
item.ReportDate = shiye.ReportDate;
|
|
item.GeneralRiskNum = shiye.GeneralRiskNum;
|
|
item.LowRiskNum = shiye.LowRiskNum;
|
|
item.MediumRiskNum = shiye.MediumRiskNum;
|
|
item.HighRiskNum = shiye.HighRiskNum;
|
|
item.GradedResponsiblePersonNum = shiye.GradedResponsiblePersonNum;
|
|
item.ChargeInsurancePersonNum = shiye.ChargeInsurancePersonNum;
|
|
item.DesignQuantity = shiye.DesignQuantity;
|
|
item.RunningCapacity = shiye.DesignQuantity;
|
|
item.InterlockSettingValue = shiye.InterlockSettingValue;
|
|
item.VideoSurveillanceNum = shiye.VideoSurveillanceNum;
|
|
item.TotalWorkinghours = shiye.TotalWorkinghours;
|
|
item.SafeWorkinghours = shiye.SafeWorkinghours;
|
|
item.LostWorkinghours = shiye.LostWorkinghours;
|
|
item.TotalEnergyConsumption = shiye.TotalEnergyConsumption;
|
|
item.IncomeComprehensiveEnergyConsumption = shiye.IncomeComprehensiveEnergyConsumption;
|
|
item.NewWaterConsumption = shiye.NewWaterConsumption;
|
|
item.GeneralClosedNum = shiye.GeneralClosedNum;
|
|
item.GeneralNotClosedNum = shiye.GeneralNotClosedNum;
|
|
item.MajorClosedNum = shiye.MajorClosedNum;
|
|
item.MajorNotClosedNum = shiye.MajorNotClosedNum;
|
|
item.HotWorkPermitNum = shiye.HotWorkPermitNum;
|
|
item.HotWorkClosedNum = shiye.HotWorkClosedNum;
|
|
item.HighPermitNum = shiye.HighPermitNum;
|
|
item.HighClosedNum = shiye.HighPermitNum;
|
|
item.TemporaryElectricityPermitNum = shiye.TemporaryElectricityPermitNum;
|
|
item.TemporaryElectricityClosedNum = shiye.TemporaryElectricityClosedNum;
|
|
item.BlindPlatePermitNum = shiye.BlindPlatePermitNum;
|
|
item.BlindPlateClosedNum = shiye.BlindPlateClosedNum;
|
|
item.GroundbreakingPermitNum = shiye.GroundbreakingPermitNum;
|
|
item.GroundbreakingClosedNum = shiye.GroundbreakingClosedNum;
|
|
item.OpenCircuitPermitNum = shiye.OpenCircuitPermitNum;
|
|
item.OpenCircuitClosedNum = shiye.OpenCircuitClosedNum;
|
|
item.HoistingPermitNum = shiye.HoistingPermitNum;
|
|
item.HoistingClosedNum = shiye.HoistingClosedNum;
|
|
|
|
}
|
|
return item;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
}
|