SGGL_JT/SUBQHSE/BLL/API/APIIndexService.cs

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
}
}