SGGL_HBAZ/SGGL/BLL/ZHGL/DataSync/HSSEData_HSSEService.cs

3757 lines
199 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices.ComTypes;
using System.Runtime.Remoting.Contexts;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
using Aspose.Words.Lists;
using FastReport;
using FineUIPro;
using Model;
using Newtonsoft.Json;
namespace BLL
{
public static class HSSEData_HSSEService
{
public static SGGLDB Db = Funs.DB;
public static List<string> BeUnderConstructionList = ProjectService.GetProjectWorkList().Where(x=> (x.ProjectAttribute == "GONGCHENG" || x.ProjectAttribute == null)).Select(x => x.ProjectId).ToList();
public static void AddHSSEData_HSSE(HSSEData_HSSE newtable)
{
using (var db = new SGGLDB(Funs.ConnString))
{
var table = new HSSEData_HSSE
{
Id = newtable.Id,
UnitId = newtable.UnitId,
CollCropCode = newtable.CollCropCode,
UnitName = newtable.UnitName,
ReportDate = newtable.ReportDate,
BeUnderConstructionNum = newtable.BeUnderConstructionNum,
ShutdownNum = newtable.ShutdownNum,
JoinConstructionPersonNum = newtable.JoinConstructionPersonNum,
MajorProjectsUnderConstructionNum = newtable.MajorProjectsUnderConstructionNum,
TotalWorkingHour = newtable.TotalWorkingHour,
LostWorkingHour = newtable.LostWorkingHour,
SafeWorkingHour = newtable.SafeWorkingHour,
SafeTrainNum = newtable.SafeTrainNum,
SpecialTrainNum = newtable.SpecialTrainNum,
SpecialOperationTrainNum = newtable.SpecialOperationTrainNum,
EnvironmentalTrainNum = newtable.EnvironmentalTrainNum,
TotalEnergyConsumption = newtable.TotalEnergyConsumption,
IncomeComprehensiveEnergyConsumption = newtable.IncomeComprehensiveEnergyConsumption,
NewWaterConsumption = newtable.NewWaterConsumption,
HeadOfficeInspectorGeneralNum = newtable.HeadOfficeInspectorGeneralNum,
HeadOfficeFullTimeNum = newtable.HeadOfficeFullTimeNum,
BranchInspectorGeneralNum = newtable.BranchInspectorGeneralNum,
BranchFullTimeNum = newtable.BranchFullTimeNum,
ProjectInspectorGeneralNum = newtable.ProjectInspectorGeneralNum,
ProjectFullTimeNum = newtable.ProjectFullTimeNum,
ProjectSafetyMonitorNum = newtable.ProjectSafetyMonitorNum,
SafetyInjectionEngineer = newtable.SafetyInjectionEngineer,
CertificateANum = newtable.CertificateANum,
CertificateBNum = newtable.CertificateBNum,
CertificateCNum = newtable.CertificateCNum,
SafetyCommitteeMeetingNum = newtable.SafetyCommitteeMeetingNum,
EnterpriseTopicsMeetingNum = newtable.EnterpriseTopicsMeetingNum,
ProjectSafetyLeadingGroupMeetingNum = newtable.ProjectSafetyLeadingGroupMeetingNum,
ProjectSafetyMeetingNum = newtable.ProjectSafetyMeetingNum,
CompanyLeadShiftCheckNum = newtable.CompanyLeadShiftCheckNum,
CompanyComprehensiveCheckNum = newtable.CompanyComprehensiveCheckNum,
CompanySpecialCheckNum = newtable.CompanySpecialCheckNum,
ProjectLeadShiftCheckNum = newtable.ProjectLeadShiftCheckNum,
ProjectSpecialCheckNum = newtable.ProjectSpecialCheckNum,
ProjectMajorCheckNum = newtable.ProjectMajorCheckNum,
NearMissNum = newtable.NearMissNum,
RecordableEventNum = newtable.RecordableEventNum,
GeneralAccidentNum = newtable.GeneralAccidentNum,
MajorAccidentNum = newtable.MajorAccidentNum,
SeriousAccidentNum = newtable.SeriousAccidentNum,
SpecialSeriousAccidentNum = newtable.SpecialSeriousAccidentNum,
CompanyComprehensivePlanNum = newtable.CompanyComprehensivePlanNum,
CompanySpecialPlanNum = newtable.CompanySpecialPlanNum,
CompanyOnSiteDisposalPlan = newtable.CompanyOnSiteDisposalPlan,
CompanyDrillNum = newtable.CompanyDrillNum,
ProjectComprehensivePlanNum = newtable.ProjectComprehensivePlanNum,
ProjectSpecialPlanNum = newtable.ProjectSpecialPlanNum,
ProjectOnSiteDisposalPlan = newtable.ProjectOnSiteDisposalPlan,
ProjectDrillNum = newtable.ProjectDrillNum,
CostExtract = newtable.CostExtract,
CostUse = newtable.CostUse,
UseEquipmentNum = newtable.UseEquipmentNum,
SpecialEquipmentNum = newtable.SpecialEquipmentNum,
LicensesNum = newtable.LicensesNum,
LicensesCloseNum = newtable.LicensesCloseNum,
GeneralClosedNum = newtable.GeneralClosedNum,
GeneralNotClosedNum = newtable.GeneralNotClosedNum,
MajorClosedNum = newtable.MajorClosedNum,
MajorNotClosedNum = newtable.MajorNotClosedNum,
GeneralRiskNum = newtable.GeneralRiskNum,
LowRiskNum = newtable.LowRiskNum,
MediumRiskNum = newtable.MediumRiskNum,
HighRiskNum = newtable.HighRiskNum,
CompletedNum = newtable.CompletedNum,
TrainPersonNum = newtable.TrainPersonNum,
ConstructionNum = newtable.ConstructionNum,
FinishedNum = newtable.FinishedNum,
SuperCompletedNum = newtable.SuperCompletedNum,
SuperTrainPersonNum = newtable.SuperTrainPersonNum,
SuperConstructionNum = newtable.SuperConstructionNum,
SuperFinishedNum = newtable.SuperFinishedNum,
State = newtable.State,
CreateDate = newtable.CreateDate,
CreateMan = newtable.CreateMan
};
db.HSSEData_HSSE.InsertOnSubmit(table);
db.SubmitChanges();
}
}
public static void DeleteHSSEData_HSSEById(string id)
{
using (var db = new SGGLDB(Funs.ConnString))
{
var table = db.HSSEData_HSSE.FirstOrDefault(x => x.Id == id);
if (table != null)
{
db.HSSEData_HSSE.DeleteOnSubmit(table);
db.SubmitChanges();
}
}
}
public static HSSEData_HSSE GetHSSEData_HSSEById(string id)
{
using (var db = new SGGLDB(Funs.ConnString))
{
return db.HSSEData_HSSE.FirstOrDefault(x => x.Id == id);
}
}
public static HSSEData GetItemById(string id)
{
var item = new HsseDataItem();
var data = new HSSEData();
var dataHsse = GetHSSEData_HSSEById(id);
if (dataHsse != null)
{
item.BeUnderConstructionNum = dataHsse.BeUnderConstructionNum;
item.BranchFullTimeNum = dataHsse.BranchFullTimeNum;
item.BranchInspectorGeneralNum = dataHsse.BranchInspectorGeneralNum;
item.CertificateANum = dataHsse.CertificateANum;
item.CertificateBNum = dataHsse.CertificateBNum;
item.CertificateCNum = dataHsse.CertificateCNum;
item.CollCropCode = dataHsse.CollCropCode;
item.CompanyComprehensiveCheckNum = dataHsse.CompanyComprehensiveCheckNum;
item.CompanyComprehensivePlanNum = dataHsse.CompanyComprehensivePlanNum;
item.CompanyDrillNum = dataHsse.CompanyDrillNum;
item.CompanyLeadShiftCheckNum = dataHsse.CompanyLeadShiftCheckNum;
item.CompanyOnSiteDisposalPlan = dataHsse.CompanyOnSiteDisposalPlan;
item.CompanySpecialCheckNum = dataHsse.CompanySpecialCheckNum;
item.CompanySpecialPlanNum = dataHsse.CompanySpecialPlanNum;
item.CompletedNum = dataHsse.CompletedNum;
item.ConstructionNum = dataHsse.ConstructionNum;
item.CostExtract = dataHsse.CostExtract;
item.CostUse = dataHsse.CostUse;
item.EnterpriseTopicsMeetingNum = dataHsse.EnterpriseTopicsMeetingNum;
item.FinishedNum = dataHsse.FinishedNum;
item.GeneralAccidentNum = dataHsse.GeneralAccidentNum;
item.GeneralClosedNum = dataHsse.GeneralClosedNum;
item.GeneralNotClosedNum = dataHsse.GeneralNotClosedNum;
item.GeneralRate = "";
item.GeneralRiskNum = dataHsse.GeneralRiskNum;
item.HeadOfficeFullTimeNum = dataHsse.HeadOfficeFullTimeNum;
item.HeadOfficeInspectorGeneralNum = dataHsse.HeadOfficeInspectorGeneralNum;
item.HighRiskNum = dataHsse.HighRiskNum;
item.Id = dataHsse.Id;
item.IncomeComprehensiveEnergyConsumption = dataHsse.IncomeComprehensiveEnergyConsumption;
item.JoinConstructionPersonNum = dataHsse.JoinConstructionPersonNum;
item.LicensesCloseNum = dataHsse.LicensesCloseNum;
item.LicensesNum = dataHsse.LicensesNum;
item.LostWorkingHour = dataHsse.LostWorkingHour;
item.LowRiskNum = dataHsse.LowRiskNum;
item.MajorAccidentNum = dataHsse.MajorAccidentNum;
item.MajorClosedNum = dataHsse.MajorClosedNum;
item.MajorNotClosedNum = dataHsse.MajorNotClosedNum;
item.MajorProjectsUnderConstructionNum = dataHsse.MajorProjectsUnderConstructionNum;
item.MajorRate = "";
item.MediumRiskNum = dataHsse.MediumRiskNum;
item.NearMissNum = dataHsse.NearMissNum;
item.NewWaterConsumption = dataHsse.NewWaterConsumption;
item.ProjectComprehensivePlanNum = dataHsse.ProjectComprehensivePlanNum;
item.ProjectDrillNum = dataHsse.ProjectDrillNum;
item.ProjectFullTimeNum = dataHsse.ProjectFullTimeNum;
item.ProjectInspectorGeneralNum = dataHsse.ProjectInspectorGeneralNum;
item.ProjectLeadShiftCheckNum = dataHsse.ProjectLeadShiftCheckNum;
item.ProjectMajorCheckNum = dataHsse.ProjectMajorCheckNum;
item.ProjectOnSiteDisposalPlan = dataHsse.ProjectOnSiteDisposalPlan;
item.ProjectSafetyLeadingGroupMeetingNum = dataHsse.ProjectSafetyLeadingGroupMeetingNum;
item.ProjectSafetyMeetingNum = dataHsse.ProjectSafetyMeetingNum;
item.ProjectSafetyMonitorNum = dataHsse.ProjectSafetyMonitorNum;
item.ProjectSpecialCheckNum = dataHsse.ProjectSpecialCheckNum;
item.ProjectSpecialPlanNum = dataHsse.ProjectSpecialPlanNum;
item.RecordableEventNum = dataHsse.RecordableEventNum;
item.ReportDate = dataHsse.ReportDate.Value.ToShortDateString();
item.SafeTrainNum = dataHsse.SafeTrainNum;
item.SafetyCommitteeMeetingNum = dataHsse.SafetyCommitteeMeetingNum;
item.SafetyInjectionEngineer = dataHsse.SafetyInjectionEngineer;
item.SafeWorkingHour = dataHsse.SafeWorkingHour;
item.SeriousAccidentNum = dataHsse.SeriousAccidentNum;
item.ShutdownNum = dataHsse.ShutdownNum;
item.SpecialEquipmentNum = dataHsse.SpecialEquipmentNum;
item.SpecialOperationTrainNum = dataHsse.SpecialOperationTrainNum;
item.EnvironmentalTrainNum = dataHsse.EnvironmentalTrainNum;
item.SpecialSeriousAccidentNum = dataHsse.SpecialSeriousAccidentNum;
item.SpecialTrainNum = dataHsse.SpecialTrainNum;
item.SuperCompletedNum = dataHsse.SuperCompletedNum;
item.SuperConstructionNum = dataHsse.SuperConstructionNum;
item.SuperFinishedNum = dataHsse.SuperFinishedNum;
item.SuperTrainPersonNum = dataHsse.SuperTrainPersonNum;
item.TotalEnergyConsumption = dataHsse.TotalEnergyConsumption;
item.TotalWorkingHour = dataHsse.TotalWorkingHour;
item.TrainPersonNum = dataHsse.TrainPersonNum;
item.UnitId = dataHsse.UnitId;
item.UseEquipmentNum = dataHsse.UseEquipmentNum;
var hSseDataHiddens =
HSSEData_HiddenDangerDetailService.GetHSSEData_HiddenDangerDetailByDate(dataHsse.ReportDate);
if (hSseDataHiddens != null)
{
var list = hSseDataHiddens.Select(detail => new HSSEDataHiddenDangerDetailItem
{
Id = detail.Id,
NeedRectifyNum = detail.NeedRectifyNum,
TotalNum = detail.TotalNum,
TypeName = detail.TypeName
}).ToList();
item.HiddenDangerDetailItems = list;
}
}
var hsseDataItems = new List<HsseDataItem> { item };
data.HSSEDataItems = hsseDataItems;
return data;
}
public static HSSEData GetItemByHSSEData_HSSE(HSSEData_HSSE dataHsse,
List<HSSEDataHiddenDangerDetailItem> hSseDataHiddens)
{
var item = new HsseDataItem();
var data = new HSSEData();
if (dataHsse != null)
{
item.BeUnderConstructionNum = dataHsse.BeUnderConstructionNum;
item.BranchFullTimeNum = dataHsse.BranchFullTimeNum;
item.BranchInspectorGeneralNum = dataHsse.BranchInspectorGeneralNum;
item.CertificateANum = dataHsse.CertificateANum;
item.CertificateBNum = dataHsse.CertificateBNum;
item.CertificateCNum = dataHsse.CertificateCNum;
item.CollCropCode = dataHsse.CollCropCode;
item.CompanyComprehensiveCheckNum = dataHsse.CompanyComprehensiveCheckNum;
item.CompanyComprehensivePlanNum = dataHsse.CompanyComprehensivePlanNum;
item.CompanyDrillNum = dataHsse.CompanyDrillNum;
item.CompanyLeadShiftCheckNum = dataHsse.CompanyLeadShiftCheckNum;
item.CompanyOnSiteDisposalPlan = dataHsse.CompanyOnSiteDisposalPlan;
item.CompanySpecialCheckNum = dataHsse.CompanySpecialCheckNum;
item.CompanySpecialPlanNum = dataHsse.CompanySpecialPlanNum;
item.CompletedNum = dataHsse.CompletedNum;
item.ConstructionNum = dataHsse.ConstructionNum;
item.CostExtract = dataHsse.CostExtract;
item.CostUse = dataHsse.CostUse;
item.EnterpriseTopicsMeetingNum = dataHsse.EnterpriseTopicsMeetingNum;
item.FinishedNum = dataHsse.FinishedNum;
item.GeneralAccidentNum = dataHsse.GeneralAccidentNum;
item.GeneralClosedNum = dataHsse.GeneralClosedNum;
item.GeneralNotClosedNum = dataHsse.GeneralNotClosedNum;
item.GeneralRate = "";
item.GeneralRiskNum = dataHsse.GeneralRiskNum;
item.HeadOfficeFullTimeNum = dataHsse.HeadOfficeFullTimeNum;
item.HeadOfficeInspectorGeneralNum = dataHsse.HeadOfficeInspectorGeneralNum;
item.HighRiskNum = dataHsse.HighRiskNum;
item.Id = dataHsse.Id;
item.IncomeComprehensiveEnergyConsumption = dataHsse.IncomeComprehensiveEnergyConsumption;
item.JoinConstructionPersonNum = dataHsse.JoinConstructionPersonNum;
item.LicensesCloseNum = dataHsse.LicensesCloseNum;
item.LicensesNum = dataHsse.LicensesNum;
item.LostWorkingHour = dataHsse.LostWorkingHour;
item.LowRiskNum = dataHsse.LowRiskNum;
item.MajorAccidentNum = dataHsse.MajorAccidentNum;
item.MajorClosedNum = dataHsse.MajorClosedNum;
item.MajorNotClosedNum = dataHsse.MajorNotClosedNum;
item.MajorProjectsUnderConstructionNum = dataHsse.MajorProjectsUnderConstructionNum;
item.MajorRate = "";
item.MediumRiskNum = dataHsse.MediumRiskNum;
item.NearMissNum = dataHsse.NearMissNum;
item.NewWaterConsumption = dataHsse.NewWaterConsumption;
item.ProjectComprehensivePlanNum = dataHsse.ProjectComprehensivePlanNum;
item.ProjectDrillNum = dataHsse.ProjectDrillNum;
item.ProjectFullTimeNum = dataHsse.ProjectFullTimeNum;
item.ProjectInspectorGeneralNum = dataHsse.ProjectInspectorGeneralNum;
item.ProjectLeadShiftCheckNum = dataHsse.ProjectLeadShiftCheckNum;
item.ProjectMajorCheckNum = dataHsse.ProjectMajorCheckNum;
item.ProjectOnSiteDisposalPlan = dataHsse.ProjectOnSiteDisposalPlan;
item.ProjectSafetyLeadingGroupMeetingNum = dataHsse.ProjectSafetyLeadingGroupMeetingNum;
item.ProjectSafetyMeetingNum = dataHsse.ProjectSafetyMeetingNum;
item.ProjectSafetyMonitorNum = dataHsse.ProjectSafetyMonitorNum;
item.ProjectSpecialCheckNum = dataHsse.ProjectSpecialCheckNum;
item.ProjectSpecialPlanNum = dataHsse.ProjectSpecialPlanNum;
item.RecordableEventNum = dataHsse.RecordableEventNum;
item.ReportDate = dataHsse.ReportDate.Value.ToShortDateString();
item.SafeTrainNum = dataHsse.SafeTrainNum;
item.SafetyCommitteeMeetingNum = dataHsse.SafetyCommitteeMeetingNum;
item.SafetyInjectionEngineer = dataHsse.SafetyInjectionEngineer;
item.SafeWorkingHour = dataHsse.SafeWorkingHour;
item.SeriousAccidentNum = dataHsse.SeriousAccidentNum;
item.ShutdownNum = dataHsse.ShutdownNum;
item.SpecialEquipmentNum = dataHsse.SpecialEquipmentNum;
item.SpecialOperationTrainNum = dataHsse.SpecialOperationTrainNum;
item.EnvironmentalTrainNum = dataHsse.EnvironmentalTrainNum;
item.SpecialSeriousAccidentNum = dataHsse.SpecialSeriousAccidentNum;
item.SpecialTrainNum = dataHsse.SpecialTrainNum;
item.SuperCompletedNum = dataHsse.SuperCompletedNum;
item.SuperConstructionNum = dataHsse.SuperConstructionNum;
item.SuperFinishedNum = dataHsse.SuperFinishedNum;
item.SuperTrainPersonNum = dataHsse.SuperTrainPersonNum;
item.TotalEnergyConsumption = dataHsse.TotalEnergyConsumption;
item.TotalWorkingHour = dataHsse.TotalWorkingHour;
item.TrainPersonNum = dataHsse.TrainPersonNum;
item.UnitId = dataHsse.UnitId;
item.UseEquipmentNum = dataHsse.UseEquipmentNum;
if (hSseDataHiddens != null)
{
var list = hSseDataHiddens.Select(detail =>
new HSSEDataHiddenDangerDetailItem
{
Id = detail.Id,
NeedRectifyNum = detail.NeedRectifyNum,
TotalNum = detail.TotalNum,
TypeName = detail.TypeName
}).ToList();
item.HiddenDangerDetailItems = list;
}
}
var hsseDataItems = new List<HsseDataItem> { item };
data.HSSEDataItems = hsseDataItems;
return data;
}
public static async Task<HSSEData> GetTodayHSSEData_HSSE()
{
var modelTask= StatisticalDataAsync();
var model=await modelTask;
HSSEData data = model;
return data;
}
public static HSSEData_HSSE GetTodayData()
{
var q = (from x in Funs.DB.HSSEData_HSSE
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).FirstOrDefault();
return q;
}
public static void UpdateTodyData_State()
{
var q = GetTodayData();
if (q != null)
{
q.State = Const.CNCEC_State_1;
UpdateHSSEData_HSSE(q);
}
}
public static bool IsReportByDate(DateTime dateTime)
{
var result = false;
var q = (from x in Funs.DB.HSSEData_HSSE
where x.ReportDate >= dateTime.Date && x.ReportDate < dateTime.Date.AddDays(1).Date
select x).ToList();
if (q.Count > 0) result = true;
return result;
}
/// <summary>
/// 判断当天是否已上报
/// </summary>
/// <returns></returns>
public static bool IsReportByToday()
{
var result = false;
var q = (from x in Funs.DB.HSSEData_HSSE
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).ToList();
if (q.Count > 0) result = true;
return result;
}
public static ReturnData PushCncec(string id)
{
var baseurl = "/api/HSSEData/SaveHSSEData";
var item = GetItemById(id);
var str = JsonConvert.SerializeObject(item);
var responeData = ServerService.PushCNCEC(str, baseurl);
return responeData;
}
public static Model.HSSEData_HSSE GetSubUnitHsseDataByDate(string Unitid, DateTime? reportdate)
{
var result = new Model.HSSEData_HSSE();
if (reportdate == null)
{
return result;
}
var projectlist = BLL.ProjectService.GetProjectWorkList(Unitid);
var baseUnit = UnitService.GetUnitByUnitId(Unitid);
var projectData = (from x in Funs.DB.Project_HSSEData_HSSE
where x.ReportDate == reportdate && projectlist.Select(e => e.ProjectId).Contains(x.ProjectId)
select x).ToList();
result = new HSSEData_HSSE
{
UnitId = Unitid,
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
BeUnderConstructionNum = projectData.Sum(x => x.BeUnderConstructionNum),
ShutdownNum = projectData.Sum(x => x.ShutdownNum),
JoinConstructionPersonNum = projectData.Sum(x => x.JoinConstructionPersonNum),
MajorProjectsUnderConstructionNum = projectData.Sum(x => x.MajorProjectsUnderConstructionNum),
TotalWorkingHour = projectData.Sum(x => x.TotalWorkingHour),
LostWorkingHour = projectData.Sum(x => x.LostWorkingHour),
SafeWorkingHour = projectData.Sum(x => x.SafeWorkingHour),
SafeTrainNum = projectData.Sum(x => x.SafeTrainNum),
SpecialTrainNum = projectData.Sum(x => x.SpecialTrainNum),
SpecialOperationTrainNum = projectData.Sum(x => x.SpecialOperationTrainNum),
TotalEnergyConsumption = 0,
IncomeComprehensiveEnergyConsumption = 0,
NewWaterConsumption = 0,
HeadOfficeInspectorGeneralNum = GetHeadOfficeInspectorGeneral().Count,
HeadOfficeFullTimeNum = GetHeadOfficeFullTime().Count,
BranchInspectorGeneralNum = GetBranchInspectorGeneral().Count,
BranchFullTimeNum = GetBranchFullTime().Count,
ProjectInspectorGeneralNum = projectData.Sum(x => x.ProjectInspectorGeneralNum),
ProjectFullTimeNum = projectData.Sum(x => x.ProjectFullTimeNum),
ProjectSafetyMonitorNum = projectData.Sum(x => x.ProjectSafetyMonitorNum),
SafetyInjectionEngineer = projectData.Sum(x => x.SafetyInjectionEngineer),
CertificateANum = projectData.Sum(x => x.CertificateANum),
CertificateBNum = projectData.Sum(x => x.CertificateBNum),
CertificateCNum = projectData.Sum(x => x.CertificateCNum),
SafetyCommitteeMeetingNum = GetSafetyCommitteeMeeting().Count,
EnterpriseTopicsMeetingNum = GetEnterpriseTopicsMeetingNum(),
ProjectSafetyLeadingGroupMeetingNum = projectData.Sum(x => x.ProjectSafetyLeadingGroupMeetingNum),
ProjectSafetyMeetingNum = projectData.Sum(x => x.ProjectSafetyMeetingNum),
CompanyLeadShiftCheckNum = GetCompanyLeadShiftCheck().Count,
CompanyComprehensiveCheckNum = GetCompanyComprehensiveCheck().Count,
CompanySpecialCheckNum = GetCompanySpecialCheck().Count,
ProjectLeadShiftCheckNum = projectData.Sum(x => x.ProjectLeadShiftCheckNum),
ProjectSpecialCheckNum = projectData.Sum(x => x.ProjectSpecialCheckNum),
ProjectMajorCheckNum = projectData.Sum(x => x.ProjectMajorCheckNum),
NearMissNum = projectData.Sum(x => x.NearMissNum),
RecordableEventNum = projectData.Sum(x => x.RecordableEventNum),
GeneralAccidentNum = projectData.Sum(x => x.GeneralAccidentNum),
MajorAccidentNum = projectData.Sum(x => x.MajorAccidentNum),
SeriousAccidentNum = projectData.Sum(x => x.SeriousAccidentNum),
SpecialSeriousAccidentNum = projectData.Sum(x => x.SpecialSeriousAccidentNum),
// CompanyComprehensivePlanNum = GetCompanyComprehensivePlan(),
// CompanySpecialPlanNum = GetCompanySpecialPlan(),
// CompanyOnSiteDisposalPlan = GetCompanyOnSiteDisposalPlan(),
// CompanyDrillNum = GetCompanyDrill(),
ProjectComprehensivePlanNum = projectData.Sum(x => x.ProjectComprehensivePlanNum),
ProjectSpecialPlanNum = projectData.Sum(x => x.ProjectSpecialPlanNum),
ProjectOnSiteDisposalPlan = projectData.Sum(x => x.ProjectOnSiteDisposalPlan),
ProjectDrillNum = projectData.Sum(x => x.ProjectDrillNum),
CostExtract = projectData.Sum(x => x.CostExtract),
CostUse = projectData.Sum(x => x.CostUse),
UseEquipmentNum = projectData.Sum(x => x.UseEquipmentNum),
SpecialEquipmentNum = projectData.Sum(x => x.SpecialEquipmentNum),
LicensesNum = projectData.Sum(x => x.LicensesNum),
LicensesCloseNum = projectData.Sum(x => x.LicensesCloseNum),
GeneralClosedNum = projectData.Sum(x => x.GeneralClosedNum),
GeneralNotClosedNum = projectData.Sum(x => x.GeneralNotClosedNum),
MajorClosedNum = projectData.Sum(x => x.MajorClosedNum),
MajorNotClosedNum = projectData.Sum(x => x.MajorNotClosedNum),
GeneralRiskNum = projectData.Sum(x => x.GeneralRiskNum),
LowRiskNum = projectData.Sum(x => x.LowRiskNum),
MediumRiskNum = projectData.Sum(x => x.MediumRiskNum),
HighRiskNum = projectData.Sum(x => x.HighRiskNum),
CompletedNum = projectData.Sum(x => x.CompletedNum),
TrainPersonNum = projectData.Sum(x => x.TrainPersonNum),
ConstructionNum = projectData.Sum(x => x.ConstructionNum),
FinishedNum = projectData.Sum(x => x.FinishedNum),
SuperCompletedNum = projectData.Sum(x => x.SuperCompletedNum),
SuperTrainPersonNum = projectData.Sum(x => x.SuperTrainPersonNum),
SuperConstructionNum = projectData.Sum(x => x.SuperConstructionNum),
SuperFinishedNum = projectData.Sum(x => x.SuperFinishedNum),
CreateMan = Const.sysglyId,
CreateDate = DateTime.Now
};
return result;
}
public static HSSEData StatisticalData()
{
var thisUnitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) thisUnitId = thisUnit.UnitId;
var baseUnit = UnitService.GetUnitByUnitId(thisUnitId);
Project_HSSEData_HiddenDangerDetailService.StatisticalAllProjectData();
var totalEnergyConsumption = ChemicalReportItemService.GetLatstTimeTotalEnergyConsumption();
var incomeComprehensiveEnergyConsumption =
ChemicalReportItemService.GetLatstTimeIncomeComprehensiveEnergyConsumption();
var newWaterConsumption = ChemicalReportItemService.GetLatstTimeNewWaterConsumption();
var table = new HSSEData_HSSE
{
UnitId = thisUnitId,
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
BeUnderConstructionNum = GetBeUnderConstruction().Count,
ShutdownNum = GetShutdown().Count,
JoinConstructionPersonNum = GetJoinConstructionPerson().Count,
MajorProjectsUnderConstructionNum = GetMajorProjectsUnderConstruction().Count,
TotalWorkingHour = GetTotalWorkingHour(),
LostWorkingHour = GetLostWorkingHour(),
SafeWorkingHour = GetSafeWorkingHour(),
SafeTrainNum = GetSafeTrain().Sum(x => x.TrainPersonNum),
SpecialTrainNum = GetSpecialTrain().Sum(x => x.TrainPersonNum),
SpecialOperationTrainNum = GetSpecialOperationTrain().Sum(x => x.TrainPersonNum),
EnvironmentalTrainNum = 0,
TotalEnergyConsumption = totalEnergyConsumption,
IncomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumption,
NewWaterConsumption = newWaterConsumption,
HeadOfficeInspectorGeneralNum = GetHeadOfficeInspectorGeneral().Count,
HeadOfficeFullTimeNum = GetHeadOfficeFullTime().Count,
BranchInspectorGeneralNum = GetBranchInspectorGeneral().Count,
BranchFullTimeNum = GetBranchFullTime().Count,
ProjectInspectorGeneralNum = GetProjectInspectorGeneral().Count,
ProjectFullTimeNum = GetProjectFullTime().Count,
ProjectSafetyMonitorNum = GetProjectSafetyMonitor().Count,
SafetyInjectionEngineer = GetSafetyInjectionEngineer().Count,
CertificateANum = GetCertificateA().Count,
CertificateBNum = GetCertificateB().Count,
CertificateCNum = GetCertificateC().Count,
SafetyCommitteeMeetingNum = GetSafetyCommitteeMeeting().Count,
EnterpriseTopicsMeetingNum = GetEnterpriseTopicsMeeting().Count,
ProjectSafetyLeadingGroupMeetingNum = GetProjectSafetyLeadingGroupMeeting().Count,
ProjectSafetyMeetingNum = GetProjectSafetyMeeting().Count,
CompanyLeadShiftCheckNum = GetCompanyLeadShiftCheck().Count,
CompanyComprehensiveCheckNum = GetCompanyComprehensiveCheck().Count,
CompanySpecialCheckNum = GetCompanySpecialCheck().Count,
ProjectLeadShiftCheckNum = GetProjectLeadShiftCheck().Count,
ProjectSpecialCheckNum = GetProjectSpecialCheck().Count,
ProjectMajorCheckNum = GetProjectMajorCheck().Count,
NearMissNum = GetNearMiss().Count,
RecordableEventNum = GetRecordableEvent().Count,
GeneralAccidentNum = GetGeneralAccident().Count,
MajorAccidentNum = GetMajorAccident().Count,
SeriousAccidentNum = GetSeriousAccident().Count,
SpecialSeriousAccidentNum = GetSpecialSeriousAccident().Count,
CompanyComprehensivePlanNum = GetCompanyComprehensivePlan().Count,
CompanySpecialPlanNum = GetCompanySpecialPlan().Count,
CompanyOnSiteDisposalPlan = GetCompanyOnSiteDisposalPlan().Count,
CompanyDrillNum = GetCompanyDrill().Count,
ProjectComprehensivePlanNum = GetProjectComprehensivePlan().Count,
ProjectSpecialPlanNum = GetProjectSpecialPlan().Count,
ProjectOnSiteDisposalPlan = GetProjectOnSiteDisposalPlan().Count,
ProjectDrillNum = GetProjectDrill().Count,
CostExtract = Convert.ToInt32(GetCostExtract().Sum(x => x.SUMCost)),
CostUse = Convert.ToInt32(GetCostUse().Sum(x => x.SUMCost)),
UseEquipmentNum = GetUseEquipment().Count,
SpecialEquipmentNum = GetSpecialEquipment().Count,
LicensesNum = GetLicenses().Count,
LicensesCloseNum = GetLicensesClose().Count,
GeneralClosedNum = GetGeneralHiddenRectificationOutputs().Sum(x => x.RecNum),
GeneralNotClosedNum = GetGeneralHiddenRectificationOutputs().Sum(x => x.NoRecNum),
MajorClosedNum = GetMajorHiddenRectificationOutputs().Sum(x => x.RecNum),
MajorNotClosedNum = GetMajorHiddenRectificationOutputs().Sum(x => x.NoRecNum),
GeneralRiskNum = GetSecurityRiskOutputs().Sum(x => x.GeneralRiskNum),
LowRiskNum = GetSecurityRiskOutputs().Sum(x => x.LowRiskNum),
MediumRiskNum = GetSecurityRiskOutputs().Sum(x => x.MediumRiskNum),
HighRiskNum = GetSecurityRiskOutputs().Sum(x => x.HighRiskNum),
CompletedNum = GetLargeEngineeringOutputs().Sum(x => x.CompletedNum),
TrainPersonNum = GetLargeEngineeringOutputs().Sum(x => x.TrainPersonNum),
ConstructionNum = GetLargeEngineeringOutputs().Sum(x => x.ConstructionNum),
FinishedNum = GetLargeEngineeringOutputs().Sum(x => x.FinishedNum),
SuperCompletedNum = GetLargeEngineeringOutputs().Sum(x => x.SuperCompletedNum),
SuperTrainPersonNum = GetLargeEngineeringOutputs().Sum(x => x.SuperTrainPersonNum),
SuperConstructionNum = GetLargeEngineeringOutputs().Sum(x => x.SuperConstructionNum),
SuperFinishedNum = GetLargeEngineeringOutputs().Sum(x => x.SuperFinishedNum),
CreateMan = Const.sysglyId,
CreateDate = DateTime.Now
};
if (IsReportByToday())
{
table.Id = GetTodayData().Id;
table.State = Const.CNCEC_State_1;
UpdateHSSEData_HSSE(table);
}
else
{
table.Id = SQLHelper.GetNewID();
table.State = Const.CNCEC_State_0;
AddHSSEData_HSSE(table);
}
var data = GetItemByHSSEData_HSSE(table, Project_HSSEData_HiddenDangerDetailService.GetTodayModel());
return data;
}
public static async Task<HSSEData> StatisticalDataAsync()
{
var thisUnitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) thisUnitId = thisUnit.UnitId;
var baseUnit = UnitService.GetUnitByUnitId(thisUnitId);
Project_HSSEData_HiddenDangerDetailService.StatisticalAllProjectData();
// 并行执行异步方法
var totalEnergyConsumptionTask = ChemicalReportItemService.GetLatstTimeTotalEnergyConsumption();
var incomeComprehensiveEnergyConsumptionTask = ChemicalReportItemService.GetLatstTimeIncomeComprehensiveEnergyConsumption();
var newWaterConsumptionTask = ChemicalReportItemService.GetLatstTimeNewWaterConsumption();
var securityRiskOutputListTask = HSSEData_HSSEService.GetSecurityRiskOutputsAsync();
var largeEngineeringOutputsTask = HSSEData_HSSEService.GetLargeEngineeringOutputsAsync();
var safetyInjectionEngineerTask = HSSEData_HSSEService.GetSafetyInjectionEngineerAsync();
var certificateATask = HSSEData_HSSEService.GetCertificateAAsync();
var certificateBTask = HSSEData_HSSEService.GetCertificateBAsync();
var certificateCTask = HSSEData_HSSEService.GetCertificateCAsync();
var beUnderConstructionTask = HSSEData_HSSEService.GetBeUnderConstructionAsync();
var shutdownTask = HSSEData_HSSEService.GetShutdownAsync();
var joinConstructionPersonTask = HSSEData_HSSEService.GetJoinConstructionPersonAsync();
var majorProjectsUnderConstructionTask = HSSEData_HSSEService.GetMajorProjectsUnderConstructionAsync();
var totalWorkingHourTask = HSSEData_HSSEService.GetTotalWorkingHourAsync();
var lostWorkingHourTask = HSSEData_HSSEService.GetLostWorkingHourAsync();
var safeWorkingHourTask = HSSEData_HSSEService.GetSafeWorkingHourAsync();
var safeTrainTask = HSSEData_HSSEService.GetSafeTrainAsync();
var specialTrainTask = HSSEData_HSSEService.GetSpecialTrainAsync();
var specialOperationTrainTask = HSSEData_HSSEService.GetSpecialOperationTrainAsync();
var headOfficeInspectorGeneralTask = HSSEData_HSSEService.GetHeadOfficeInspectorGeneralAsync();
var headOfficeFullTimeTask = HSSEData_HSSEService.GetHeadOfficeFullTimeAsync();
var branchInspectorGeneralTask = HSSEData_HSSEService.GetBranchInspectorGeneralAsync();
var branchFullTimeTask = HSSEData_HSSEService.GetBranchFullTimeAsync();
var projectInspectorGeneralTask = HSSEData_HSSEService.GetProjectInspectorGeneralAsync();
var projectFullTimeTask = HSSEData_HSSEService.GetProjectFullTimeAsync();
var projectSafetyMonitorTask = HSSEData_HSSEService.GetProjectSafetyMonitorAsync();
var safetyCommitteeMeetingTask = HSSEData_HSSEService.GetSafetyCommitteeMeetingAsync();
var enterpriseTopicsMeetingTask = HSSEData_HSSEService.GetEnterpriseTopicsMeetingAsync();
var projectSafetyLeadingGroupMeetingTask = HSSEData_HSSEService.GetProjectSafetyLeadingGroupMeetingAsync();
var projectSafetyMeetingTask = HSSEData_HSSEService.GetProjectSafetyMeetingAsync();
var companyLeadShiftCheckTask = HSSEData_HSSEService.GetCompanyLeadShiftCheckAsync();
var companyComprehensiveCheckTask = HSSEData_HSSEService.GetCompanyComprehensiveCheckAsync();
var companySpecialCheckTask = HSSEData_HSSEService.GetCompanySpecialCheckAsync();
var projectLeadShiftCheckTask = HSSEData_HSSEService.GetProjectLeadShiftCheckAsync();
var projectSpecialCheckTask = HSSEData_HSSEService.GetProjectSpecialCheckAsync();
var projectMajorCheckTask = HSSEData_HSSEService.GetProjectMajorCheckAsync();
var nearMissTask = HSSEData_HSSEService.GetNearMissAsync();
var recordableEventTask = HSSEData_HSSEService.GetRecordableEventAsync();
var generalAccidentTask = HSSEData_HSSEService.GetGeneralAccidentAsync();
var majorAccidentTask = HSSEData_HSSEService.GetMajorAccidentAsync();
var seriousAccidentTask = HSSEData_HSSEService.GetSeriousAccidentAsync();
var specialSeriousAccidentTask = HSSEData_HSSEService.GetSpecialSeriousAccidentAsync();
var companyComprehensivePlanTask = HSSEData_HSSEService.GetCompanyComprehensivePlanAsync();
var companySpecialPlanTask = HSSEData_HSSEService.GetCompanySpecialPlanAsync();
var companyOnSiteDisposalPlanTask = HSSEData_HSSEService.GetCompanyOnSiteDisposalPlanAsync();
var companyDrillTask = HSSEData_HSSEService.GetCompanyDrillAsync();
var projectComprehensivePlanTask = HSSEData_HSSEService.GetProjectComprehensivePlanAsync();
var projectSpecialPlanTask = HSSEData_HSSEService.GetProjectSpecialPlanAsync();
var projectOnSiteDisposalPlanTask = HSSEData_HSSEService.GetProjectOnSiteDisposalPlanAsync();
var projectDrillTask = HSSEData_HSSEService.GetProjectDrillAsync();
var costExtractTask = HSSEData_HSSEService.GetCostExtractAsync();
var costUseTask = HSSEData_HSSEService.GetCostUseAsync();
var useEquipmentTask = HSSEData_HSSEService.GetUseEquipmentAsync();
var specialEquipmentTask = HSSEData_HSSEService.GetSpecialEquipmentAsync();
var licensesTask = HSSEData_HSSEService.GetLicensesAsync();
var licensesCloseTask = HSSEData_HSSEService.GetLicensesCloseAsync();
var generalHiddenRectificationOutputsTask = HSSEData_HSSEService.GetGeneralHiddenRectificationOutputsAsync();
var majorHiddenRectificationOutputsTask = HSSEData_HSSEService.GetMajorHiddenRectificationOutputsAsync();
// 等待所有异步方法执行完成
await Task.WhenAll(
securityRiskOutputListTask,
largeEngineeringOutputsTask,
safetyInjectionEngineerTask,
certificateATask,
certificateBTask,
certificateCTask,
beUnderConstructionTask,
shutdownTask,
joinConstructionPersonTask,
majorProjectsUnderConstructionTask,
totalWorkingHourTask,
lostWorkingHourTask,
safeWorkingHourTask,
safeTrainTask,
specialTrainTask,
specialOperationTrainTask,
headOfficeInspectorGeneralTask,
headOfficeFullTimeTask,
branchInspectorGeneralTask,
branchFullTimeTask,
projectInspectorGeneralTask,
projectFullTimeTask,
projectSafetyMonitorTask,
safetyCommitteeMeetingTask,
enterpriseTopicsMeetingTask,
projectSafetyLeadingGroupMeetingTask,
projectSafetyMeetingTask,
companyLeadShiftCheckTask,
companyComprehensiveCheckTask,
companySpecialCheckTask,
projectLeadShiftCheckTask,
projectSpecialCheckTask,
projectMajorCheckTask,
nearMissTask,
recordableEventTask,
generalAccidentTask,
majorAccidentTask,
seriousAccidentTask,
specialSeriousAccidentTask,
companyComprehensivePlanTask,
companySpecialPlanTask,
companyOnSiteDisposalPlanTask,
companyDrillTask,
projectComprehensivePlanTask,
projectSpecialPlanTask,
projectOnSiteDisposalPlanTask,
projectDrillTask,
costExtractTask,
costUseTask,
useEquipmentTask,
specialEquipmentTask,
licensesTask,
licensesCloseTask,
generalHiddenRectificationOutputsTask,
majorHiddenRectificationOutputsTask
);
// 统一获取异步方法的返回值
var totalEnergyConsumption = totalEnergyConsumptionTask;
var incomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumptionTask;
var newWaterConsumption = newWaterConsumptionTask;
var safetyInjectionEngineerList = await safetyInjectionEngineerTask;
var certificateAList = await certificateATask;
var certificateBList = await certificateBTask;
var certificateCList = await certificateCTask;
var beUnderConstructionList = await beUnderConstructionTask;
var shutdownList = await shutdownTask;
var joinConstructionPersonList = await joinConstructionPersonTask;
var majorProjectsUnderConstructionList = await majorProjectsUnderConstructionTask;
var totalWorkingHour = await totalWorkingHourTask;
var lostWorkingHour = await lostWorkingHourTask;
var safeWorkingHour = await safeWorkingHourTask;
var safeTrainList = await safeTrainTask;
var specialTrainList = await specialTrainTask;
var specialOperationTrainList = await specialOperationTrainTask;
var headOfficeInspectorGeneralList = await headOfficeInspectorGeneralTask;
var headOfficeFullTimeList = await headOfficeFullTimeTask;
var branchInspectorGeneralList = await branchInspectorGeneralTask;
var branchFullTimeList = await branchFullTimeTask;
var projectInspectorGeneralList = await projectInspectorGeneralTask;
var projectFullTimeList = await projectFullTimeTask;
var projectSafetyMonitorList = await projectSafetyMonitorTask;
var safetyCommitteeMeetingList = await safetyCommitteeMeetingTask;
var enterpriseTopicsMeetingList = await enterpriseTopicsMeetingTask;
var projectSafetyLeadingGroupMeetingList = await projectSafetyLeadingGroupMeetingTask;
var projectSafetyMeetingList = await projectSafetyMeetingTask;
var companyLeadShiftCheckList = await companyLeadShiftCheckTask;
var companyComprehensiveCheckList = await companyComprehensiveCheckTask;
var companySpecialCheckList = await companySpecialCheckTask;
var projectLeadShiftCheckList = await projectLeadShiftCheckTask;
var projectSpecialCheckList = await projectSpecialCheckTask;
var projectMajorCheckList = await projectMajorCheckTask;
var nearMissList = await nearMissTask;
var recordableEventList = await recordableEventTask;
var generalAccidentList = await generalAccidentTask;
var majorAccidentList = await majorAccidentTask;
var seriousAccidentList = await seriousAccidentTask;
var specialSeriousAccidentList = await specialSeriousAccidentTask;
var companyComprehensivePlanList = await companyComprehensivePlanTask;
var companySpecialPlanList = await companySpecialPlanTask;
var companyOnSiteDisposalPlanList = await companyOnSiteDisposalPlanTask;
var companyDrillList = await companyDrillTask;
var projectComprehensivePlanList = await projectComprehensivePlanTask;
var projectSpecialPlanList = await projectSpecialPlanTask;
var projectOnSiteDisposalPlanList = await projectOnSiteDisposalPlanTask;
var projectDrillList = await projectDrillTask;
var costExtract = await costExtractTask;
var costUseList = await costUseTask;
var useEquipmentList = await useEquipmentTask;
var specialEquipmentList = await specialEquipmentTask;
var licensesList = await licensesTask;
var licensesCloseList = await licensesCloseTask;
var generalHiddenRectificationOutputsList = await generalHiddenRectificationOutputsTask;
var majorHiddenRectificationOutputsList = await majorHiddenRectificationOutputsTask;
// 构造结果对象
var table = new HSSEData_HSSE
{
UnitId = thisUnitId,
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
BeUnderConstructionNum = beUnderConstructionList.Count(),
ShutdownNum = shutdownList.Count(),
SafetyInjectionEngineer = safetyInjectionEngineerList.Count(),
CertificateANum = certificateAList.Count(),
CertificateBNum = certificateBList.Count(),
CertificateCNum = certificateCList.Count(),
JoinConstructionPersonNum = joinConstructionPersonList.Count(),
MajorProjectsUnderConstructionNum = majorProjectsUnderConstructionList.Count(),
TotalWorkingHour = totalWorkingHour,
LostWorkingHour = lostWorkingHour,
SafeWorkingHour = safeWorkingHour,
SafeTrainNum = safeTrainList.Sum(x => x.TrainPersonNum),
SpecialTrainNum = specialTrainList.Sum(x => x.TrainPersonNum),
SpecialOperationTrainNum = specialOperationTrainList.Sum(x => x.TrainPersonNum),
EnvironmentalTrainNum = 0,
TotalEnergyConsumption = totalEnergyConsumption,
IncomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumption,
NewWaterConsumption = newWaterConsumption,
HeadOfficeInspectorGeneralNum = headOfficeInspectorGeneralList.Count,
HeadOfficeFullTimeNum = headOfficeFullTimeList.Count,
BranchInspectorGeneralNum = branchInspectorGeneralList.Count,
BranchFullTimeNum = branchFullTimeList.Count,
ProjectInspectorGeneralNum = projectInspectorGeneralList.Count,
ProjectFullTimeNum = projectFullTimeList.Count,
ProjectSafetyMonitorNum = projectSafetyMonitorList.Count,
SafetyCommitteeMeetingNum = safetyCommitteeMeetingList.Count(),
EnterpriseTopicsMeetingNum = enterpriseTopicsMeetingList.Count(),
ProjectSafetyLeadingGroupMeetingNum = projectSafetyLeadingGroupMeetingList.Count(),
ProjectSafetyMeetingNum = projectSafetyMeetingList.Count(),
CompanyLeadShiftCheckNum = companyLeadShiftCheckList.Count(),
CompanyComprehensiveCheckNum = companyComprehensiveCheckList.Count(),
CompanySpecialCheckNum = companySpecialCheckList.Count(),
ProjectLeadShiftCheckNum = projectLeadShiftCheckList.Count(),
ProjectSpecialCheckNum = projectSpecialCheckList.Count(),
ProjectMajorCheckNum = projectMajorCheckList.Count(),
NearMissNum = nearMissList.Count(),
RecordableEventNum = recordableEventList.Count(),
GeneralAccidentNum = generalAccidentList.Count(),
MajorAccidentNum = majorAccidentList.Count(),
SeriousAccidentNum = seriousAccidentList.Count(),
SpecialSeriousAccidentNum = specialSeriousAccidentList.Count(),
CompanyComprehensivePlanNum = companyComprehensivePlanList.Count(),
CompanySpecialPlanNum = companySpecialPlanList.Count(),
CompanyOnSiteDisposalPlan = companyOnSiteDisposalPlanList.Count(),
CompanyDrillNum = companyDrillList.Count(),
ProjectComprehensivePlanNum = projectComprehensivePlanList.Count(),
ProjectSpecialPlanNum = projectSpecialPlanList.Count(),
ProjectOnSiteDisposalPlan = projectOnSiteDisposalPlanList.Count(),
ProjectDrillNum = projectDrillList.Count(),
CostExtract = Convert.ToInt32(costExtract.Sum(x => x.SUMCost)),
CostUse = Convert.ToInt32(costUseList.Sum(x => x.SUMCost)),
UseEquipmentNum = useEquipmentList.Count(),
SpecialEquipmentNum = specialEquipmentList.Count(),
LicensesNum = licensesList.Count(),
LicensesCloseNum = licensesCloseList.Count(),
GeneralClosedNum = generalHiddenRectificationOutputsList.Sum(x => x.RecNum),
GeneralNotClosedNum = generalHiddenRectificationOutputsList.Sum(x => x.NoRecNum),
MajorClosedNum = majorHiddenRectificationOutputsList.Sum(x => x.RecNum),
MajorNotClosedNum = majorHiddenRectificationOutputsList.Sum(x => x.NoRecNum),
LowRiskNum = securityRiskOutputListTask.Result.Sum(x => x.LowRiskNum),
GeneralRiskNum = securityRiskOutputListTask.Result.Sum(x => x.GeneralRiskNum),
MediumRiskNum = securityRiskOutputListTask.Result.Sum(x => x.MediumRiskNum),
HighRiskNum = securityRiskOutputListTask.Result.Sum(x => x.HighRiskNum),
CompletedNum = largeEngineeringOutputsTask.Result.Sum(x => x.CompletedNum),
TrainPersonNum = largeEngineeringOutputsTask.Result.Sum(x => x.TrainPersonNum),
ConstructionNum = largeEngineeringOutputsTask.Result.Sum(x => x.ConstructionNum),
FinishedNum = largeEngineeringOutputsTask.Result.Sum(x => x.FinishedNum),
SuperCompletedNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperCompletedNum),
SuperTrainPersonNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperTrainPersonNum),
SuperConstructionNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperConstructionNum)
};
#region
Project_HSSEData_HSSEService.DeleteProject_HSSEData_HSSEByDate(DateTime.Now.Date);
foreach (var projectid in BeUnderConstructionList)
{
var projectHsseData = new Project_HSSEData_HSSE
{
Id = SQLHelper.GetNewID(),
ProjectId = projectid,
UnitId = thisUnitId,
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
JoinConstructionPersonNum = joinConstructionPersonList.Count(x => x.ProjectId == projectid),
MajorProjectsUnderConstructionNum = majorProjectsUnderConstructionList.Count(x => x.ProjectId == projectid),
TotalWorkingHour = 0,//工时数据取自集团报表,项目无法提取
LostWorkingHour = 0,
SafeWorkingHour = 0,
SafeTrainNum = safeTrainList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
SpecialTrainNum = specialTrainList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
SpecialOperationTrainNum = specialOperationTrainList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
EnvironmentalTrainNum = 0,
TotalEnergyConsumption = 0,
IncomeComprehensiveEnergyConsumption = 0,
NewWaterConsumption = 0,
HeadOfficeInspectorGeneralNum = 0,
HeadOfficeFullTimeNum =0,
BranchInspectorGeneralNum = 0,
BranchFullTimeNum = 0,
SafetyInjectionEngineer = safetyInjectionEngineerList.Count(x => x.ProjectId == projectid),
EnterpriseTopicsMeetingNum = safetyInjectionEngineerList.Count(x => x.ProjectId == projectid),
CertificateANum = certificateAList.Count(x => x.ProjectId == projectid),
CertificateBNum = certificateBList.Count(x => x.ProjectId == projectid),
CertificateCNum = certificateCList.Count(x => x.ProjectId == projectid),
ProjectInspectorGeneralNum = projectInspectorGeneralList.Count(x => x.ProjectId == projectid),
ProjectFullTimeNum = projectFullTimeList.Count(x => x.ProjectId == projectid),
ProjectSafetyMonitorNum = projectSafetyMonitorList.Count(x => x.ProjectId == projectid),
ProjectSafetyLeadingGroupMeetingNum = projectSafetyLeadingGroupMeetingList.Count(x => x.ProjectId == projectid),
ProjectSafetyMeetingNum = projectSafetyMeetingList.Count(x => x.ProjectId == projectid),
CompanyLeadShiftCheckNum = companyLeadShiftCheckList.Count(x => x.ProjectId == projectid),
CompanyComprehensiveCheckNum = companyComprehensiveCheckList.Count(x => x.ProjectId == projectid),
CompanySpecialCheckNum = companySpecialCheckList.Count(x => x.ProjectId == projectid),
ProjectLeadShiftCheckNum = projectLeadShiftCheckList.Count(x => x.ProjectId == projectid),
ProjectSpecialCheckNum = projectSpecialCheckList.Count(x => x.ProjectId == projectid),
ProjectMajorCheckNum = projectMajorCheckList.Count(x => x.ProjectId == projectid),
NearMissNum = nearMissList.Count(x => x.ProjectId == projectid),
RecordableEventNum = recordableEventList.Count(x => x.ProjectId == projectid),
GeneralAccidentNum = generalAccidentList.Count(x => x.ProjectId == projectid),
MajorAccidentNum = majorAccidentList.Count(x => x.ProjectId == projectid),
SeriousAccidentNum = seriousAccidentList.Count(x => x.ProjectId == projectid),
SpecialSeriousAccidentNum = specialSeriousAccidentList.Count(x => x.ProjectId == projectid),
CompanyComprehensivePlanNum = 0,
CompanySpecialPlanNum = 0,
CompanyOnSiteDisposalPlan =0,
CompanyDrillNum = 0,
ProjectComprehensivePlanNum = projectComprehensivePlanList.Count(x => x.ProjectId == projectid),
ProjectSpecialPlanNum = projectSpecialPlanList.Count(x => x.ProjectId == projectid),
ProjectOnSiteDisposalPlan = projectOnSiteDisposalPlanList.Count(x => x.ProjectId == projectid),
ProjectDrillNum = projectDrillList.Count(x => x.ProjectId == projectid),
CostExtract = Convert.ToInt32(costExtract.Where(x => x.ProjectId == projectid).Sum(x => x.SUMCost)),
CostUse = Convert.ToInt32(costUseList.Where(x => x.ProjectId == projectid).Sum(x => x.SUMCost)),
UseEquipmentNum = useEquipmentList.Count(x => x.ProjectId == projectid),
SpecialEquipmentNum = specialEquipmentList.Count(x => x.ProjectId == projectid),
LicensesNum = licensesList.Count(x => x.ProjectId == projectid),
LicensesCloseNum = licensesCloseList.Count(x => x.ProjectId == projectid),
GeneralClosedNum = generalHiddenRectificationOutputsList.Where(x => x.ProjectId == projectid).Sum(x => x.RecNum),
GeneralNotClosedNum = generalHiddenRectificationOutputsList.Where(x => x.ProjectId == projectid).Sum(x => x.NoRecNum),
MajorClosedNum = majorHiddenRectificationOutputsList.Where(x => x.ProjectId == projectid).Sum(x => x.RecNum),
MajorNotClosedNum = majorHiddenRectificationOutputsList.Where(x => x.ProjectId == projectid).Sum(x => x.NoRecNum),
LowRiskNum = securityRiskOutputListTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.LowRiskNum),
GeneralRiskNum = securityRiskOutputListTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.GeneralRiskNum),
MediumRiskNum = securityRiskOutputListTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.MediumRiskNum),
HighRiskNum = securityRiskOutputListTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.HighRiskNum),
CompletedNum = largeEngineeringOutputsTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.CompletedNum),
TrainPersonNum = largeEngineeringOutputsTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
ConstructionNum = largeEngineeringOutputsTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.ConstructionNum),
FinishedNum = largeEngineeringOutputsTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.FinishedNum),
SuperCompletedNum = largeEngineeringOutputsTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.SuperCompletedNum),
SuperTrainPersonNum = largeEngineeringOutputsTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.SuperTrainPersonNum),
SuperConstructionNum = largeEngineeringOutputsTask.Result.Where(x => x.ProjectId == projectid).Sum(x => x.SuperConstructionNum)
};
Project_HSSEData_HSSEService.AddProject_HSSEData_HSSE(projectHsseData);
}
#endregion
if (IsReportByToday())
{
table.Id = GetTodayData().Id;
table.State = Const.CNCEC_State_1;
UpdateHSSEData_HSSE(table);
}
else
{
table.Id = SQLHelper.GetNewID();
table.State = Const.CNCEC_State_0;
AddHSSEData_HSSE(table);
}
var data = GetItemByHSSEData_HSSE(table, Project_HSSEData_HiddenDangerDetailService.GetTodayModel());
return data;
}
//public static HSSEData StatisticalDataOld()
//{
// var thisUnitId = string.Empty;
// var thisUnit = CommonService.GetIsThisUnit();
// if (thisUnit != null) thisUnitId = thisUnit.UnitId;
// var baseUnit = UnitService.GetUnitByUnitId(thisUnitId);
// Project_HSSEData_HSSEService.StatisticalAllProjectData();
// Project_HSSEData_HiddenDangerDetailService.StatisticalAllProjectData();
// var projectData = (from x in Funs.DB.Project_HSSEData_HSSE
// where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
// select x).ToList();
// var totalEnergyConsumption = ChemicalReportItemService.GetLatstTimeTotalEnergyConsumption();
// var incomeComprehensiveEnergyConsumption =
// ChemicalReportItemService.GetLatstTimeIncomeComprehensiveEnergyConsumption();
// var newWaterConsumption = ChemicalReportItemService.GetLatstTimeNewWaterConsumption();
// var table = new HSSEData_HSSE
// {
// UnitId = thisUnitId,
// CollCropCode = baseUnit.CollCropCode,
// UnitName = baseUnit.UnitName,
// ReportDate = DateTime.Now.Date,
// BeUnderConstructionNum = projectData.Sum(x => x.BeUnderConstructionNum),
// ShutdownNum = projectData.Sum(x => x.ShutdownNum),
// JoinConstructionPersonNum = projectData.Sum(x => x.JoinConstructionPersonNum),
// MajorProjectsUnderConstructionNum = projectData.Sum(x => x.MajorProjectsUnderConstructionNum),
// TotalWorkingHour = projectData.Sum(x => x.TotalWorkingHour),
// LostWorkingHour = projectData.Sum(x => x.LostWorkingHour),
// SafeWorkingHour = projectData.Sum(x => x.SafeWorkingHour),
// SafeTrainNum = projectData.Sum(x => x.SafeTrainNum),
// SpecialTrainNum = projectData.Sum(x => x.SpecialTrainNum),
// SpecialOperationTrainNum = projectData.Sum(x => x.SpecialOperationTrainNum),
// EnvironmentalTrainNum = projectData.Sum(x => x.EnvironmentalTrainNum),
// TotalEnergyConsumption = totalEnergyConsumption,
// IncomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumption,
// NewWaterConsumption = newWaterConsumption,
// HeadOfficeInspectorGeneralNum = GetHeadOfficeInspectorGeneralNum(),
// HeadOfficeFullTimeNum = GetHeadOfficeFullTimeNum(),
// BranchInspectorGeneralNum = GetBranchInspectorGeneralNum(),
// BranchFullTimeNum = GetBranchFullTimeNum(),
// ProjectInspectorGeneralNum = projectData.Sum(x => x.ProjectInspectorGeneralNum),
// ProjectFullTimeNum = projectData.Sum(x => x.ProjectFullTimeNum),
// ProjectSafetyMonitorNum = projectData.Sum(x => x.ProjectSafetyMonitorNum),
// SafetyInjectionEngineer = projectData.Sum(x => x.SafetyInjectionEngineer),
// CertificateANum = projectData.Sum(x => x.CertificateANum),
// CertificateBNum = projectData.Sum(x => x.CertificateBNum),
// CertificateCNum = projectData.Sum(x => x.CertificateCNum),
// SafetyCommitteeMeetingNum = GetSafetyCommitteeMeetingNum(),
// EnterpriseTopicsMeetingNum = GetEnterpriseTopicsMeetingNum(),
// ProjectSafetyLeadingGroupMeetingNum = projectData.Sum(x => x.ProjectSafetyLeadingGroupMeetingNum),
// ProjectSafetyMeetingNum = projectData.Sum(x => x.ProjectSafetyMeetingNum),
// // CompanyLeadShiftCheckNum = GetCompanyLeadShiftCheckNum(),
// // CompanyComprehensiveCheckNum = GetCompanyComprehensiveCheckNum(),
// // CompanySpecialCheckNum = GetCompanySpecialCheckNum(),
// ProjectLeadShiftCheckNum = projectData.Sum(x => x.ProjectLeadShiftCheckNum),
// ProjectSpecialCheckNum = projectData.Sum(x => x.ProjectSpecialCheckNum),
// ProjectMajorCheckNum = projectData.Sum(x => x.ProjectMajorCheckNum),
// NearMissNum = projectData.Sum(x => x.NearMissNum),
// RecordableEventNum = projectData.Sum(x => x.RecordableEventNum),
// GeneralAccidentNum = projectData.Sum(x => x.GeneralAccidentNum),
// MajorAccidentNum = projectData.Sum(x => x.MajorAccidentNum),
// SeriousAccidentNum = projectData.Sum(x => x.SeriousAccidentNum),
// SpecialSeriousAccidentNum = projectData.Sum(x => x.SpecialSeriousAccidentNum),
// //CompanyComprehensivePlanNum = GetCompanyComprehensivePlan(),
// // CompanySpecialPlanNum = GetCompanySpecialPlan(),
// // CompanyOnSiteDisposalPlan = GetCompanyOnSiteDisposalPlan(),
// // CompanyDrillNum = GetCompanyDrill(),
// ProjectComprehensivePlanNum = projectData.Sum(x => x.ProjectComprehensivePlanNum),
// ProjectSpecialPlanNum = projectData.Sum(x => x.ProjectSpecialPlanNum),
// ProjectOnSiteDisposalPlan = projectData.Sum(x => x.ProjectOnSiteDisposalPlan),
// ProjectDrillNum = projectData.Sum(x => x.ProjectDrillNum),
// CostExtract = projectData.Sum(x => x.CostExtract),
// CostUse = projectData.Sum(x => x.CostUse),
// UseEquipmentNum = projectData.Sum(x => x.UseEquipmentNum),
// SpecialEquipmentNum = projectData.Sum(x => x.SpecialEquipmentNum),
// LicensesNum = projectData.Sum(x => x.LicensesNum),
// LicensesCloseNum = projectData.Sum(x => x.LicensesCloseNum),
// GeneralClosedNum = projectData.Sum(x => x.GeneralClosedNum),
// GeneralNotClosedNum = projectData.Sum(x => x.GeneralNotClosedNum),
// MajorClosedNum = projectData.Sum(x => x.MajorClosedNum),
// MajorNotClosedNum = projectData.Sum(x => x.MajorNotClosedNum),
// GeneralRiskNum = projectData.Sum(x => x.GeneralRiskNum),
// LowRiskNum = projectData.Sum(x => x.LowRiskNum),
// MediumRiskNum = projectData.Sum(x => x.MediumRiskNum),
// HighRiskNum = projectData.Sum(x => x.HighRiskNum),
// CompletedNum = projectData.Sum(x => x.CompletedNum),
// TrainPersonNum = projectData.Sum(x => x.TrainPersonNum),
// ConstructionNum = projectData.Sum(x => x.ConstructionNum),
// FinishedNum = projectData.Sum(x => x.FinishedNum),
// SuperCompletedNum = projectData.Sum(x => x.SuperCompletedNum),
// SuperTrainPersonNum = projectData.Sum(x => x.SuperTrainPersonNum),
// SuperConstructionNum = projectData.Sum(x => x.SuperConstructionNum),
// SuperFinishedNum = projectData.Sum(x => x.SuperFinishedNum),
// CreateMan = Const.sysglyId,
// CreateDate = DateTime.Now
// };
// if (IsReportByToday())
// {
// table.Id = GetTodayData().Id;
// table.State = Const.CNCEC_State_1;
// UpdateHSSEData_HSSE(table);
// }
// else
// {
// table.Id = SQLHelper.GetNewID();
// table.State = Const.CNCEC_State_0;
// AddHSSEData_HSSE(table);
// }
// var data = GetItemByHSSEData_HSSE(table, Project_HSSEData_HiddenDangerDetailService.GetTodayModel());
// return data;
//}
public static void UpdateHSSEData_HSSE(HSSEData_HSSE newtable)
{
using (var db = new SGGLDB(Funs.ConnString))
{
var table = db.HSSEData_HSSE.FirstOrDefault(x => x.Id == newtable.Id);
if (table != null)
{
table.Id = newtable.Id;
table.UnitId = newtable.UnitId;
table.CollCropCode = newtable.CollCropCode;
table.UnitName = newtable.UnitName;
table.ReportDate = newtable.ReportDate;
table.BeUnderConstructionNum = newtable.BeUnderConstructionNum;
table.ShutdownNum = newtable.ShutdownNum;
table.JoinConstructionPersonNum = newtable.JoinConstructionPersonNum;
table.MajorProjectsUnderConstructionNum = newtable.MajorProjectsUnderConstructionNum;
table.TotalWorkingHour = newtable.TotalWorkingHour;
table.LostWorkingHour = newtable.LostWorkingHour;
table.SafeWorkingHour = newtable.SafeWorkingHour;
table.SafeTrainNum = newtable.SafeTrainNum;
table.SpecialTrainNum = newtable.SpecialTrainNum;
table.SpecialOperationTrainNum = newtable.SpecialOperationTrainNum;
table.EnvironmentalTrainNum = newtable.EnvironmentalTrainNum;
table.TotalEnergyConsumption = newtable.TotalEnergyConsumption;
table.IncomeComprehensiveEnergyConsumption = newtable.IncomeComprehensiveEnergyConsumption;
table.NewWaterConsumption = newtable.NewWaterConsumption;
table.HeadOfficeInspectorGeneralNum = newtable.HeadOfficeInspectorGeneralNum;
table.HeadOfficeFullTimeNum = newtable.HeadOfficeFullTimeNum;
table.BranchInspectorGeneralNum = newtable.BranchInspectorGeneralNum;
table.BranchFullTimeNum = newtable.BranchFullTimeNum;
table.ProjectInspectorGeneralNum = newtable.ProjectInspectorGeneralNum;
table.ProjectFullTimeNum = newtable.ProjectFullTimeNum;
table.ProjectSafetyMonitorNum = newtable.ProjectSafetyMonitorNum;
table.SafetyInjectionEngineer = newtable.SafetyInjectionEngineer;
table.CertificateANum = newtable.CertificateANum;
table.CertificateBNum = newtable.CertificateBNum;
table.CertificateCNum = newtable.CertificateCNum;
table.SafetyCommitteeMeetingNum = newtable.SafetyCommitteeMeetingNum;
table.EnterpriseTopicsMeetingNum = newtable.EnterpriseTopicsMeetingNum;
table.ProjectSafetyLeadingGroupMeetingNum = newtable.ProjectSafetyLeadingGroupMeetingNum;
table.ProjectSafetyMeetingNum = newtable.ProjectSafetyMeetingNum;
table.CompanyLeadShiftCheckNum = newtable.CompanyLeadShiftCheckNum;
table.CompanyComprehensiveCheckNum = newtable.CompanyComprehensiveCheckNum;
table.CompanySpecialCheckNum = newtable.CompanySpecialCheckNum;
table.ProjectLeadShiftCheckNum = newtable.ProjectLeadShiftCheckNum;
table.ProjectSpecialCheckNum = newtable.ProjectSpecialCheckNum;
table.ProjectMajorCheckNum = newtable.ProjectMajorCheckNum;
table.NearMissNum = newtable.NearMissNum;
table.RecordableEventNum = newtable.RecordableEventNum;
table.GeneralAccidentNum = newtable.GeneralAccidentNum;
table.MajorAccidentNum = newtable.MajorAccidentNum;
table.SeriousAccidentNum = newtable.SeriousAccidentNum;
table.SpecialSeriousAccidentNum = newtable.SpecialSeriousAccidentNum;
table.CompanyComprehensivePlanNum = newtable.CompanyComprehensivePlanNum;
table.CompanySpecialPlanNum = newtable.CompanySpecialPlanNum;
table.CompanyOnSiteDisposalPlan = newtable.CompanyOnSiteDisposalPlan;
table.CompanyDrillNum = newtable.CompanyDrillNum;
table.ProjectComprehensivePlanNum = newtable.ProjectComprehensivePlanNum;
table.ProjectSpecialPlanNum = newtable.ProjectSpecialPlanNum;
table.ProjectOnSiteDisposalPlan = newtable.ProjectOnSiteDisposalPlan;
table.ProjectDrillNum = newtable.ProjectDrillNum;
table.CostExtract = newtable.CostExtract;
table.CostUse = newtable.CostUse;
table.UseEquipmentNum = newtable.UseEquipmentNum;
table.SpecialEquipmentNum = newtable.SpecialEquipmentNum;
table.LicensesNum = newtable.LicensesNum;
table.LicensesCloseNum = newtable.LicensesCloseNum;
table.GeneralClosedNum = newtable.GeneralClosedNum;
table.GeneralNotClosedNum = newtable.GeneralNotClosedNum;
table.MajorClosedNum = newtable.MajorClosedNum;
table.MajorNotClosedNum = newtable.MajorNotClosedNum;
table.GeneralRiskNum = newtable.GeneralRiskNum;
table.LowRiskNum = newtable.LowRiskNum;
table.MediumRiskNum = newtable.MediumRiskNum;
table.HighRiskNum = newtable.HighRiskNum;
table.CompletedNum = newtable.CompletedNum;
table.TrainPersonNum = newtable.TrainPersonNum;
table.ConstructionNum = newtable.ConstructionNum;
table.FinishedNum = newtable.FinishedNum;
table.SuperCompletedNum = newtable.SuperCompletedNum;
table.SuperTrainPersonNum = newtable.SuperTrainPersonNum;
table.SuperConstructionNum = newtable.SuperConstructionNum;
table.SuperFinishedNum = newtable.SuperFinishedNum;
table.State = newtable.State;
table.CreateMan = newtable.CreateMan;
table.CreateDate = newtable.CreateDate;
db.SubmitChanges();
}
}
}
#region
/// <summary>
/// 获取企业总部总监人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetHeadOfficeInspectorGeneral()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
where x.IsOnJob == true && x.WorkPostId == Const.WorkPost_HSSEDirector && x.UnitId == unitId && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectId = "",
ProjectName = "",
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取企业总部总监人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetHeadOfficeInspectorGeneralAsync()
{
return await Task.Run(GetHeadOfficeInspectorGeneral);
}
/// <summary>
/// 获取企业总部专职人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetHeadOfficeFullTime()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsHsse == true && x.UnitId == unitId && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectName = "",
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取企业总部专职人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetHeadOfficeFullTimeAsync()
{
return await Task.Run(GetHeadOfficeFullTime);
}
/// <summary>
/// 获取分支机构专职人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetBranchFullTime()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsHsse == true && x.UnitId != unitId && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectName = "",
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取分支机构专职人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetBranchFullTimeAsync()
{
return await Task.Run(GetBranchFullTime);
}
/// <summary>
/// 获取分支机构总监人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetBranchInspectorGeneral()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
where x.IsOnJob == true && x.WorkPostId == Const.WorkPost_HSSEDirector && x.UnitId != unitId && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectName = "",
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取分支机构总监人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetBranchInspectorGeneralAsync()
{
return await Task.Run(GetBranchInspectorGeneral);
}
/// <summary>
/// 获取项目总监人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetProjectInspectorGeneral()
{
var result = (from x in Funs.DB.SitePerson_Person
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where BeUnderConstructionList.Contains(p.ProjectId) &&
x.WorkPostId == Const.WorkPost_ProjectHSSEDirector && x.IsUsed == true && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = u.UnitId,
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取项目总监人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetProjectInspectorGeneralAsync()
{
return await Task.Run(GetProjectInspectorGeneral);
}
/// <summary>
/// 获取项目专职人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetProjectFullTime()
{
var result = (from x in Funs.DB.SitePerson_Person
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where BeUnderConstructionList.Contains(p.ProjectId) && y.IsHsse == true && x.IsUsed == true && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = u.UnitId,
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取项目专职人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetProjectFullTimeAsync()
{
return await Task.Run(GetProjectFullTime);
}
/// <summary>
/// 获取项目安全监护人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetProjectSafetyMonitor()
{
var result = (from x in Funs.DB.SitePerson_Person
where x.IsSafetyMonitoring == true && x.IsUsed == true && x.IdentityCard != null
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join post in Funs.DB.Base_WorkPost on x.WorkPostId equals post.WorkPostId into postGroup
from post in postGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(p.ProjectId)
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = u.UnitId,
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = post.WorkPostName,
Phone = x.Telephone
}).ToList();
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取项目安全监护人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetProjectSafetyMonitorAsync()
{
return await Task.Run(GetProjectSafetyMonitor);
}
/// <summary>
/// 获取在岗执业注安师
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetSafetyInjectionEngineer()
{
var result = (from x in Funs.DB.SitePerson_Person
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.PersonId equals y.PersonId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where BeUnderConstructionList.Contains(p.ProjectId) && z.IsRegisterHSSE == true && x.IsUsed == true && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = u.UnitId,
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
var query2 = (from x in Funs.DB.Sys_User
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.UserId equals y.UserId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where z.IsRegisterHSSE == true && x.IdentityCard != null && x.IsPost == true
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = u.UnitName,
Name = x.UserName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
result.AddRange(query2);
result = result
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取在岗执业注安师(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetSafetyInjectionEngineerAsync()
{
return await Task.Run(GetSafetyInjectionEngineer);
}
/// <summary>
/// 获取A证人员
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetCertificateA()
{
var result = new List<Model.OfSafetySupervisorsOutput>();
var query1 = (from x in Funs.DB.SitePerson_Person
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.PersonId equals y.PersonId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where BeUnderConstructionList.Contains(p.ProjectId) && z.CertificateType == "A" && x.IsUsed == true && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = u.UnitId,
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
var query2 = (from x in Funs.DB.Sys_User
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.UserId equals y.UserId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where z.CertificateType == "A" && x.IdentityCard != null && x.IsPost == true
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = u.UnitName,
Name = x.UserName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
query1.AddRange(query2);
result = query1
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取A证人员异步
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetCertificateAAsync()
{
return await Task.Run(GetCertificateA);
}
/// <summary>
/// 获取B证人员
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetCertificateB()
{
var result = new List<Model.OfSafetySupervisorsOutput>();
var query1 = (from x in Funs.DB.SitePerson_Person
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.PersonId equals y.PersonId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where BeUnderConstructionList.Contains(p.ProjectId) && z.CertificateType == "B" && x.IsUsed == true && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = u.UnitId,
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
var query2 = (from x in Funs.DB.Sys_User
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.UserId equals y.UserId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where z.CertificateType == "B" && x.IdentityCard != null && x.IsPost == true
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = u.UnitName,
Name = x.UserName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
query1.AddRange(query2);
result = query1
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取B证人员异步
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetCertificateBAsync()
{
return await Task.Run(GetCertificateB);
}
/// <summary>
/// 获取C证人员
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetCertificateC()
{
var result = new List<Model.OfSafetySupervisorsOutput>();
var query1 = (from x in Funs.DB.SitePerson_Person
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.PersonId equals y.PersonId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where BeUnderConstructionList.Contains(p.ProjectId) && z.CertificateType == "C" && x.IsUsed == true && x.IdentityCard != null
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = u.UnitId,
UnitName = u.UnitName,
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
var query2 = (from x in Funs.DB.Sys_User
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.QualityAudit_PersonQuality on x.UserId equals y.UserId
join z in Funs.DB.Base_Certificate on y.CertificateId equals z.CertificateId
where z.CertificateType == "C" && x.IdentityCard != null && x.IsPost == true
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = u.UnitName,
Name = x.UserName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
Phone = x.Telephone
}).ToList();
query1.AddRange(query2);
result = query1
.GroupBy(x => x.IdentityCard)
.Select(g => g.FirstOrDefault())
.ToList();
return result;
}
/// <summary>
/// 获取C证人员异步
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetCertificateCAsync()
{
return await Task.Run(GetCertificateC);
}
#endregion
#region
/// <summary>
/// 获取企业安委会会数据
/// </summary>
/// <returns></returns>
public static List<MeetingOutput> GetSafetyCommitteeMeeting()
{
var result =
(from x in Funs.DB.Meeting_CompanySafetyMeeting
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
where x.CompileDate > Const.DtmarkTime
select new MeetingOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = x.UnitId,
UnitName = u.UnitName,
Id = x.CompanySafetyMeetingId,
MeetingName = x.CompanySafetyMeetingName,
MeetingDate = x.CompanySafetyMeetingDate,
MeetingHours = x.MeetingHours,
HostMan = x.MeetingHostMan,
AttentPerson = x.AttentPerson,
AttentPersonNum = x.AttentPersonNum,
});
return result.ToList();
}
/// <summary>
/// 获取企业安委会会数据(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<MeetingOutput>> GetSafetyCommitteeMeetingAsync()
{
return await Task.Run(GetSafetyCommitteeMeeting);
}
/// <summary>
/// 获取企业专题会议数
/// </summary>
/// <returns></returns>
public static int GetEnterpriseTopicsMeetingNum()
{
var result = (from x in Funs.DB.Meeting_CompanySpecialMeeting
where x.CompileDate > Const.DtmarkTime
select x).Count();
return result;
}
/// <summary>
/// 获取企业专题会议
/// </summary>
/// <returns></returns>
public static List<MeetingOutput> GetEnterpriseTopicsMeeting()
{
var result =
(from x in Funs.DB.Meeting_CompanySpecialMeeting
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
where x.CompileDate > Const.DtmarkTime
select new MeetingOutput()
{
UnitId = x.UnitId,
UnitName = u.UnitName,
Id = x.CompanySpecialMeetingId,
MeetingName = x.CompanySpecialMeetingName,
MeetingDate = x.CompanySpecialMeetingDate,
MeetingHours = x.MeetingHours,
HostMan = x.MeetingHostMan,
AttentPerson = x.AttentPerson,
AttentPersonNum = x.AttentPersonNum,
});
return result.ToList();
}
/// <summary>
/// 获取企业专题会议(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<MeetingOutput>> GetEnterpriseTopicsMeetingAsync()
{
return await Task.Run(GetEnterpriseTopicsMeeting);
}
/// <summary>
/// 获取项目班前会
/// </summary>
/// <returns></returns>
public static List<MeetingOutput> GetProjectClassMeeting()
{
var result =
(
from x in Funs.DB.Meeting_ClassMeeting
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
where x.CompileDate > Const.DtmarkTime && BeUnderConstructionList.Contains(p.ProjectId)
select new MeetingOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
Id = x.ClassMeetingId,
MeetingName = x.ClassMeetingName,
MeetingDate = x.ClassMeetingDate,
MeetingHours = x.MeetingHours,
HostMan = x.MeetingHostMan,
AttentPerson = x.AttentPerson,
AttentPersonNum = x.AttentPersonNum,
});
return result.ToList();
}
/// <summary>
/// 获取项目班前会议(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<MeetingOutput>> GetProjectClassMeetingAsync()
{
return await Task.Run(GetProjectClassMeeting);
}
/// <summary>
/// 获取项目专题会议
/// </summary>
/// <returns></returns>
public static List<MeetingOutput> GetProjectSpecialMeeting()
{
var result =
(
from x in Funs.DB.Meeting_SpecialMeeting
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
where x.CompileDate > Const.DtmarkTime && BeUnderConstructionList.Contains(p.ProjectId)
select new MeetingOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
Id = x.SpecialMeetingId,
MeetingName = x.SpecialMeetingName,
MeetingDate = x.SpecialMeetingDate,
MeetingHours = x.MeetingHours,
HostMan = x.MeetingHostMan,
AttentPerson = x.AttentPerson,
AttentPersonNum = x.AttentPersonNum,
});
return result.ToList();
}
/// <summary>
/// 获取项目专题会议(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<MeetingOutput>> GetProjectSpecialMeetingAsync()
{
return await Task.Run(GetProjectSpecialMeeting);
}
/// <summary>
/// 获取项目安全领导小组会议
/// </summary>
/// <returns></returns>
public static List<MeetingOutput> GetProjectSafetyLeadingGroupMeeting()
{
var result =
(
from x in Funs.DB.Meeting_SafetyLeaderGroupMeeting
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
where x.CompileDate > Const.DtmarkTime && BeUnderConstructionList.Contains(p.ProjectId)
select new MeetingOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
Id = x.SafetyLeaderGroupMeetingId,
MeetingName = x.SafetyLeaderGroupMeetingName,
MeetingDate = x.SafetyLeaderGroupMeetingDate,
MeetingHours = x.MeetingHours,
HostMan = x.MeetingHostMan,
AttentPerson = x.AttentPerson,
AttentPersonNum = x.AttentPersonNum,
});
return result.ToList();
}
/// <summary>
/// 获取项目安全领导小组会议(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<MeetingOutput>> GetProjectSafetyLeadingGroupMeetingAsync()
{
return await Task.Run(GetProjectSafetyLeadingGroupMeeting);
}
/// <summary>
/// 获取项目安全例会数
/// </summary>
/// <returns></returns>
public static List<MeetingOutput> GetProjectSafetyMeeting()
{
var result = (from x in Funs.DB.Meeting_WeekMeeting
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(p.ProjectId) && x.CompileDate > Const.DtmarkTime
select new MeetingOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
Id = x.WeekMeetingId,
MeetingName = x.WeekMeetingName,
MeetingDate = x.WeekMeetingDate,
MeetingHours = x.MeetingHours,
HostMan = x.MeetingHostMan,
AttentPerson = x.AttentPerson,
AttentPersonNum = x.AttentPersonNum,
}).Union
(from x in Funs.DB.Meeting_MonthMeeting
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(x.ProjectId) && x.CompileDate > Const.DtmarkTime
select new MeetingOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
Id = x.MonthMeetingId,
MeetingName = x.MonthMeetingName,
MeetingDate = x.MonthMeetingDate,
MeetingHours = x.MeetingHours,
HostMan = x.MeetingHostMan,
AttentPerson = x.AttentPerson,
AttentPersonNum = x.AttentPersonNum,
});
return result.ToList();
}
/// <summary>
/// 获取项目安全例会数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<MeetingOutput>> GetProjectSafetyMeetingAsync()
{
return await Task.Run(GetProjectSafetyMeeting);
}
#endregion
#region
/// <summary>
/// 获取企业负责人带班检查次数
/// </summary>
/// <returns></returns>
public static List<CheckOutput> GetCompanyLeadShiftCheck()
{
var result = (from x in Funs.DB.Supervise_SuperviseCheckReport
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
where x.CheckType == "1" && x.CheckDate > Const.DtmarkTime
select new Model.CheckOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = x.UnitId,
UnitName = u.UnitName,
Id = x.SuperviseCheckReportId,
CheckTeam = x.CheckTeam,
CheckDate = x.CheckDate,
});
return result.ToList();
}
/// <summary>
/// 获取企业负责人带班检查次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<CheckOutput>> GetCompanyLeadShiftCheckAsync()
{
return await Task.Run(GetCompanyLeadShiftCheck);
}
/// <summary>
/// 获取企业综合检查次数
/// </summary>
/// <returns></returns>
public static List<CheckOutput> GetCompanyComprehensiveCheck()
{
var result = (from x in Funs.DB.Supervise_SuperviseCheckReport
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
where x.CheckType == "2" && x.CheckDate > Const.DtmarkTime
select new Model.CheckOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = x.UnitId,
UnitName = u.UnitName,
Id = x.SuperviseCheckReportId,
CheckTeam = x.CheckTeam,
CheckDate = x.CheckDate,
});
return result.ToList();
}
/// <summary>
/// 获取企业综合检查次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<CheckOutput>> GetCompanyComprehensiveCheckAsync()
{
return await Task.Run(GetCompanyComprehensiveCheck);
}
/// <summary>
/// 获取企业专项检查次数
/// </summary>
/// <returns></returns>
public static List<CheckOutput> GetCompanySpecialCheck()
{
var result = (from x in Funs.DB.Supervise_SuperviseCheckReport
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
where x.CheckType == "3" && x.CheckDate > Const.DtmarkTime
select new Model.CheckOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = x.UnitId,
UnitName = u.UnitName,
Id = x.SuperviseCheckReportId,
CheckTeam = x.CheckTeam,
CheckDate = x.CheckDate,
});
return result.ToList();
}
/// <summary>
/// 获取企业专项检查次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<CheckOutput>> GetCompanySpecialCheckAsync()
{
return await Task.Run(GetCompanySpecialCheck);
}
/// <summary>
/// 获取项目负责人带班检查次数
/// </summary>
/// <returns></returns>
public static List<CheckOutput> GetProjectLeadShiftCheck()
{
var result = (from x in Funs.DB.Check_ProjectLeaderCheck
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(p.ProjectId) && x.CheckDate > Const.DtmarkTime
select new Model.CheckOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.ProjectLeaderCheckId,
CheckTeam = UserService.getUserNamesUserIds(x.LeaderIds),
CheckDate = x.CheckDate,
});
return result.ToList();
}
/// <summary>
/// 获取项目负责人带班检查次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<CheckOutput>> GetProjectLeadShiftCheckAsync()
{
return await Task.Run(GetProjectLeadShiftCheck);
}
/// <summary>
/// 获取项目专项检查次数
/// </summary>
/// <returns></returns>
public static List<CheckOutput> GetProjectSpecialCheck()
{
var result = (from x in Funs.DB.Check_CheckSpecial
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(p.ProjectId) && x.CheckTime > Const.DtmarkTime
select new Model.CheckOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = UnitService.getUnitNamesUnitIds(x.PartInUnits),
Id = x.CheckSpecialId,
CheckTeam = x.PartInPersonNames,
CheckDate = x.CheckTime,
});
return result.ToList();
}
/// <summary>
/// 获取项目专项检查次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<CheckOutput>> GetProjectSpecialCheckAsync()
{
return await Task.Run(GetProjectSpecialCheck);
}
/// <summary>
/// 获取项目专业检查次数
/// </summary>
/// <returns></returns>
public static List<CheckOutput> GetProjectMajorCheck()
{
var result = (from x in Funs.DB.HSSE_Hazard_HazardRegister
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.ResponsibleUnit equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join user in Funs.DB.Sys_User on x.CheckManId equals user.UserId into userGroup
from user in userGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(p.ProjectId) && x.CheckTime > Const.DtmarkTime
select new Model.CheckOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitId = x.ResponsibleUnit,
UnitName = u.UnitName,
Id = x.HazardRegisterId,
CheckTeam = user.UserName,
CheckDate = x.CheckTime,
});
return result.ToList();
}
/// <summary>
/// 获取项目专业检查次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<CheckOutput>> GetProjectMajorCheckAsync()
{
return await Task.Run(GetProjectMajorCheck);
}
#endregion
#region
/// <summary>
/// 获取企业级综合预案数
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetCompanyComprehensivePlan()
{
var result = (from x in Funs.DB.Emergency_EmergencyList_Unit
join y in Funs.DB.Base_EmergencyType on x.EmergencyTypeId equals y.EmergencyTypeId
where y.EmergencyTypeName.Contains("综合") && x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
Id = x.EmergencyListId,
EmergencyName = x.EmergencyName,
EmergencyTypeName = y.EmergencyTypeName,
VersionCode = x.VersionCode,
Date = x.CompileDate,
}).ToList();
return result;
}
/// <summary>
/// 获取企业级综合预案数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetCompanyComprehensivePlanAsync()
{
return await Task.Run(GetCompanyComprehensivePlan);
}
/// <summary>
/// 获取企业级专项预案数
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetCompanySpecialPlan()
{
var result = (from x in Funs.DB.Emergency_EmergencyList_Unit
join y in Funs.DB.Base_EmergencyType on x.EmergencyTypeId equals y.EmergencyTypeId
where y.EmergencyTypeName.Contains("专项") && x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
Id = x.EmergencyListId,
EmergencyName = x.EmergencyName,
EmergencyTypeName = y.EmergencyTypeName,
VersionCode = x.VersionCode,
Date = x.CompileDate,
}).ToList();
return result;
}
/// <summary>
/// 获取企业级专项预案数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetCompanySpecialPlanAsync()
{
return await Task.Run(GetCompanySpecialPlan);
}
/// <summary>
/// 获取企业级现场处置预案
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetCompanyOnSiteDisposalPlan()
{
var result = (from x in Funs.DB.Emergency_EmergencyList_Unit
join y in Funs.DB.Base_EmergencyType on x.EmergencyTypeId equals y.EmergencyTypeId
where y.EmergencyTypeName.Contains("现场处置") && x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
Id = x.EmergencyListId,
EmergencyName = x.EmergencyName,
EmergencyTypeName = y.EmergencyTypeName,
VersionCode = x.VersionCode,
Date = x.CompileDate,
}).ToList();
return result;
}
/// <summary>
/// 获取企业级现场处置预案(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetCompanyOnSiteDisposalPlanAsync()
{
return await Task.Run(GetCompanyOnSiteDisposalPlan);
}
/// <summary>
/// 获取企业级演练次数
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetCompanyDrill()
{
var result = (from x in Funs.DB.Emergency_DrillRecordList_Unit
join y in Funs.DB.Sys_Const on x.DrillRecordType equals y.ConstValue
where y.GroupId == "DrillRecordType"
where x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitIds,
UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.DrillRecordListId,
EmergencyName = x.DrillRecordName,
EmergencyTypeName = y.ConstText,
Date = x.DrillRecordDate,
DrillCost = x.DrillCost,
JointPersonNum = x.JointPersonNum,
}).ToList();
return result;
}
/// <summary>
/// 获取企业级演练次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetCompanyDrillAsync()
{
return await Task.Run(GetCompanyDrill);
}
/// <summary>
/// 获取项目级综合预案
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetProjectComprehensivePlan()
{
var result = (from x in Funs.DB.Emergency_EmergencyList
join y in Funs.DB.Base_EmergencyType on x.EmergencyTypeId equals y.EmergencyTypeId
where BeUnderConstructionList.Contains(x.ProjectId) && y.EmergencyTypeName.Contains("综合") &&
x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
Id = x.EmergencyListId,
EmergencyName = x.EmergencyName,
EmergencyTypeName = y.EmergencyTypeName,
VersionCode = x.VersionCode,
Date = x.CompileDate,
}).ToList();
return result;
}
/// <summary>
/// 获取项目级综合预案(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetProjectComprehensivePlanAsync()
{
return await Task.Run(GetProjectComprehensivePlan);
}
/// <summary>
/// 获取项目级专项预案数
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetProjectSpecialPlan()
{
var result = (from x in Funs.DB.Emergency_EmergencyList
join y in Funs.DB.Base_EmergencyType on x.EmergencyTypeId equals y.EmergencyTypeId
where BeUnderConstructionList.Contains(x.ProjectId) && y.EmergencyTypeName.Contains("专项") &&
x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
Id = x.EmergencyListId,
EmergencyName = x.EmergencyName,
EmergencyTypeName = y.EmergencyTypeName,
VersionCode = x.VersionCode,
Date = x.CompileDate,
}).ToList();
return result;
}
/// <summary>
/// 获取项目级专项预案数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetProjectSpecialPlanAsync()
{
return await Task.Run(GetProjectSpecialPlan);
}
/// <summary>
/// 获取项目级现场处置预案
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetProjectOnSiteDisposalPlan()
{
var result = (from x in Funs.DB.Emergency_EmergencyList
join y in Funs.DB.Base_EmergencyType on x.EmergencyTypeId equals y.EmergencyTypeId
where BeUnderConstructionList.Contains(x.ProjectId) && y.EmergencyTypeName.Contains("现场处置") &&
x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
Id = x.EmergencyListId,
EmergencyName = x.EmergencyName,
EmergencyTypeName = y.EmergencyTypeName,
VersionCode = x.VersionCode,
Date = x.CompileDate,
}).ToList();
return result;
}
/// <summary>
/// 获取项目级现场处置预案(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetProjectOnSiteDisposalPlanAsync()
{
return await Task.Run(GetProjectOnSiteDisposalPlan);
}
/// <summary>
/// 获取项目级演练次数
/// </summary>
/// <returns></returns>
public static List<EmergencyOutput> GetProjectDrill()
{
var result = (from x in Funs.DB.Emergency_DrillRecordList
join y in Funs.DB.Sys_Const on x.DrillRecordType equals y.ConstValue
where y.GroupId == "DrillRecordType"
where BeUnderConstructionList.Contains(x.ProjectId) && x.CompileDate > Const.DtmarkTime
select new Model.EmergencyOutput
{
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitIds,
UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.DrillRecordListId,
EmergencyName = x.DrillRecordName,
EmergencyTypeName = y.ConstText,
Date = x.DrillRecordDate,
DrillCost = x.DrillCost,
JointPersonNum = x.JointPersonNum,
}).ToList();
return result;
}
/// <summary>
/// 获取项目级演练次数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EmergencyOutput>> GetProjectDrillAsync()
{
return await Task.Run(GetProjectDrill);
}
#endregion
#region
/// <summary>
/// 获取在建项目数
/// </summary>
/// <returns></returns>
public static List<Model.ProjectOutput> GetBeUnderConstruction()
{
var projectInfos = from project in Funs.DB.Base_Project
join unit in Funs.DB.Base_Unit on project.UnitId equals unit.UnitId into unitJoin
from unit in unitJoin.DefaultIfEmpty()
join projectType in Funs.DB.Base_ProjectType on project.ProjectType equals projectType.ProjectTypeId into projectTypeJoin
from projectType in projectTypeJoin.DefaultIfEmpty()
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false) && project.ProjectState == "1"
select new ProjectOutput
{
ProjectId = project.ProjectId,
ProjectCode = project.ProjectCode,
ProjectName = project.ProjectName,
UnitId = project.UnitId,
UnitName = unit.UnitName,
StartDate = project.StartDate,
EndDate = project.EndDate,
ProjectAddress = project.ProjectAddress,
ShortName = project.ShortName,
ConstructionMoney = project.ConstructionMoney,
ProjectStateName = project.ProjectState == BLL.Const.ProjectState_2 ? "暂停中" : (project.ProjectState == BLL.Const.ProjectState_3 ? "已完工" : "施工中"),
ProjectState = project.ProjectState,
ProjectAttributeName = project.ProjectAttribute == "GONGCHENG" ? "工程" : (project.ProjectAttribute == "SHIYE" ? "实业" : ""),
ProjectMoney = project.ProjectMoney,
DayCount = DateTime.Now.Subtract(project.StartDate.Value).Days,
ProjectTypeName = projectType.ProjectTypeName,
ProjectStateName2 = sysConst.ConstText
};
var result = projectInfos.ToList();
return result;
}
/// <summary>
/// 获取在建项目数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.ProjectOutput>> GetBeUnderConstructionAsync()
{
return await Task.Run(GetBeUnderConstruction);
}
/// <summary>
/// 获取停工项目数
/// </summary>
/// <returns></returns>
public static List<Model.ProjectOutput> GetShutdown()
{
var projectInfos = from project in Funs.DB.Base_Project
join unit in Funs.DB.Base_Unit on project.UnitId equals unit.UnitId into unitJoin
from unit in unitJoin.DefaultIfEmpty()
join projectType in Funs.DB.Base_ProjectType on project.ProjectType equals projectType.ProjectTypeId into projectTypeJoin
from projectType in projectTypeJoin.DefaultIfEmpty()
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false) && project.ProjectState == "2"
select new ProjectOutput
{
ProjectId = project.ProjectId,
ProjectCode = project.ProjectCode,
ProjectName = project.ProjectName,
UnitId = project.UnitId,
UnitName = unit.UnitName,
StartDate = project.StartDate,
EndDate = project.EndDate,
ProjectAddress = project.ProjectAddress,
ShortName = project.ShortName,
ConstructionMoney = project.ConstructionMoney,
ProjectStateName = project.ProjectState == BLL.Const.ProjectState_2 ? "暂停中" : (project.ProjectState == BLL.Const.ProjectState_3 ? "已完工" : "施工中"),
ProjectState = project.ProjectState,
ProjectAttributeName = project.ProjectAttribute == "GONGCHENG" ? "工程" : (project.ProjectAttribute == "SHIYE" ? "实业" : ""),
ProjectMoney = project.ProjectMoney,
DayCount = DateTime.Now.Subtract(project.StartDate.Value).Days,
ProjectTypeName = projectType.ProjectTypeName,
ProjectStateName2 = sysConst.ConstText
};
var result = projectInfos.ToList();
return result;
}
/// <summary>
/// 获取停工项目数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.ProjectOutput>> GetShutdownAsync()
{
return await Task.Run(GetShutdown);
}
/// <summary>
/// 获取完工项目数
/// </summary>
/// <returns></returns>
public static List<Model.ProjectOutput> GetCompletedProject()
{
var projectInfos = from project in Funs.DB.Base_Project
join unit in Funs.DB.Base_Unit on project.UnitId equals unit.UnitId into unitJoin
from unit in unitJoin.DefaultIfEmpty()
join projectType in Funs.DB.Base_ProjectType on project.ProjectType equals projectType.ProjectTypeId into projectTypeJoin
from projectType in projectTypeJoin.DefaultIfEmpty()
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false) && project.ProjectState == "3"
select new ProjectOutput
{
ProjectId = project.ProjectId,
ProjectCode = project.ProjectCode,
ProjectName = project.ProjectName,
UnitId = project.UnitId,
UnitName = unit.UnitName,
StartDate = project.StartDate,
EndDate = project.EndDate,
ProjectAddress = project.ProjectAddress,
ShortName = project.ShortName,
ConstructionMoney = project.ConstructionMoney,
ProjectStateName = project.ProjectState == BLL.Const.ProjectState_2 ? "暂停中" : (project.ProjectState == BLL.Const.ProjectState_3 ? "已完工" : "施工中"),
ProjectState = project.ProjectState,
ProjectAttributeName = project.ProjectAttribute == "GONGCHENG" ? "工程" : (project.ProjectAttribute == "SHIYE" ? "实业" : ""),
ProjectMoney = project.ProjectMoney,
DayCount = DateTime.Now.Subtract(project.StartDate.Value).Days,
ProjectTypeName = projectType.ProjectTypeName,
ProjectStateName2 = sysConst.ConstText
};
var result = projectInfos.ToList();
return result;
}
/// <summary>
/// 获取所有项目数
/// </summary>
/// <returns></returns>
public static List<Model.ProjectOutput> GetALLProject()
{
var projectInfos = from project in Funs.DB.Base_Project
join unit in Funs.DB.Base_Unit on project.UnitId equals unit.UnitId into unitJoin
from unit in unitJoin.DefaultIfEmpty()
join projectType in Funs.DB.Base_ProjectType on project.ProjectType equals projectType.ProjectTypeId into projectTypeJoin
from projectType in projectTypeJoin.DefaultIfEmpty()
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false)
select new ProjectOutput
{
ProjectId = project.ProjectId,
ProjectCode = project.ProjectCode,
ProjectName = project.ProjectName,
UnitId = project.UnitId,
UnitName = unit.UnitName,
StartDate = project.StartDate,
EndDate = project.EndDate,
ProjectAddress = project.ProjectAddress,
ShortName = project.ShortName,
ConstructionMoney = project.ConstructionMoney,
ProjectStateName = project.ProjectState == BLL.Const.ProjectState_2 ? "暂停中" : (project.ProjectState == BLL.Const.ProjectState_3 ? "已完工" : "施工中"),
ProjectState = project.ProjectState,
ProjectAttributeName = project.ProjectAttribute == "GONGCHENG" ? "工程" : (project.ProjectAttribute == "SHIYE" ? "实业" : ""),
ProjectMoney = project.ProjectMoney,
DayCount = DateTime.Now.Subtract(project.StartDate.Value).Days,
ProjectTypeName = projectType.ProjectTypeName,
ProjectStateName2 = sysConst.ConstText
};
var result = projectInfos.ToList();
return result;
}
/// <summary>
/// 获取参建人数
/// </summary>
/// <returns></returns>
public static List<Model.BaseEntities> GetJoinConstructionPerson()
{
var result = (from x in Funs.DB.SitePerson_Person
where BeUnderConstructionList.Contains(x.ProjectId) && x.IsUsed == true
select new Model.BaseEntities
{
Id = x.PersonId,
ProjectId = x.ProjectId,
UnitId = x.UnitId
}).ToList();
return result;
}
/// <summary>
/// 获取参建人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.BaseEntities>> GetJoinConstructionPersonAsync()
{
return await Task.Run(GetJoinConstructionPerson);
}
/// <summary>
/// 获取在施危大工程数
/// </summary>
/// <returns></returns>
public static List<Model.BaseEntities> GetMajorProjectsUnderConstruction()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.States == "2" &&
x.RecordTime > Const.DtmarkTime
select new Model.BaseEntities
{
Id = x.HazardId,
ProjectId = x.ProjectId,
}).ToList();
return result;
}
/// <summary>
/// 获取在施危大工程数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.BaseEntities>> GetMajorProjectsUnderConstructionAsync()
{
return await Task.Run(GetMajorProjectsUnderConstruction);
}
#endregion
#region
/// <summary>
/// 获取总工时数
/// </summary>
/// <returns></returns>
public static int GetTotalWorkingHour()
{
var thisUnitid = CommonService.GetThisUnitId();
var yearSumItems = (from x in Funs.DB.Information_MillionsMonthlyReportItem
join y in Funs.DB.Information_MillionsMonthlyReport
on x.MillionsMonthlyReportId equals y.MillionsMonthlyReportId
where y.UnitId == thisUnitid && y.Year == DateTime.Now.Year && y.Month <= DateTime.Now.Month
&& x.Affiliation == "本月合计"
select x).Distinct().ToList();
var result = Convert.ToInt32(yearSumItems.Sum(x => x.TotalWorkNum ?? 0));
return result;
/*var result = (from x in Funs.DB.SitePerson_DayReportDetail
join y in Funs.DB.SitePerson_DayReport on x.DayReportId equals y.DayReportId
where BeUnderConstructionList.Contains(y.ProjectId) && y.CompileDate > Const.DtmarkTime
select x.PersonWorkTime ?? 0).ToList().Sum();
var q = Funs.GetNewIntOrZero(result.ToString().Split('.')[0]);
*/
}
/// <summary>
/// 获取总工时数(异步)
/// </summary>
/// <returns></returns>
public static async Task<int> GetTotalWorkingHourAsync()
{
return await Task.Run(GetTotalWorkingHour);
}
/// <summary>
/// 获取损失工时数
/// </summary>
/// <returns></returns>
public static int GetLostWorkingHour()
{
//var result =
// (from x in Funs.DB.Accident_AccidentHandle
// where BeUnderConstructionList.Contains(x.ProjectId) && x.CompileDate > Const.DtmarkTime
// select x.WorkHoursLoss)
// .ToList().Sum(x => x.Value)
// + (from x in Funs.DB.Accident_AccidentReport
// where BeUnderConstructionList.Contains(x.ProjectId) && x.CompileDate > Const.DtmarkTime
// select x.WorkingHoursLoss)
// .ToList().Sum(x => x.Value);
//var q = Funs.GetNewIntOrZero(result.ToString().Split('.')[0]);
var q = 0;
return q;
}
/// <summary>
/// 获取损失工时数(异步)
/// </summary>
/// <returns></returns>
public static async Task<int> GetLostWorkingHourAsync()
{
return await Task.Run(GetLostWorkingHour);
}
/// <summary>
/// 获取安全工时数
/// </summary>
/// <returns></returns>
public static int GetSafeWorkingHour()
{
/*var result1 = (from x in Funs.DB.SitePerson_DayReportDetail
join y in Funs.DB.SitePerson_DayReport on x.DayReportId equals y.DayReportId
where BeUnderConstructionList.Contains(y.ProjectId) && y.CompileDate > Const.DtmarkTime
select x.PersonWorkTime ?? 0).ToList().Sum();
var result2 =
(from x in Funs.DB.Accident_AccidentHandle
where BeUnderConstructionList.Contains(x.ProjectId) && x.CompileDate > Const.DtmarkTime
select x.WorkHoursLoss)
.ToList().Sum(x => x.Value)
+ (from x in Funs.DB.Accident_AccidentReport
where BeUnderConstructionList.Contains(x.ProjectId) && x.CompileDate > Const.DtmarkTime
select x.WorkingHoursLoss)
.ToList().Sum(x => x.Value);
var result = result1 - result2;
var q = Funs.GetNewIntOrZero(result.ToString().Split('.')[0]);
return q;*/
var thisUnitid = CommonService.GetThisUnitId();
var yearSumItems = (from x in Funs.DB.Information_MillionsMonthlyReportItem
join y in Funs.DB.Information_MillionsMonthlyReport
on x.MillionsMonthlyReportId equals y.MillionsMonthlyReportId
where y.UnitId == thisUnitid && y.Year == DateTime.Now.Year && y.Month <= DateTime.Now.Month
&& x.Affiliation == "本月合计"
select x).Distinct().ToList();
var result = Convert.ToInt32(yearSumItems.Sum(x => x.TotalWorkNum ?? 0));
return result;
}
/// <summary>
/// 获取安全工时数(异步)
/// </summary>
/// <returns></returns>
public static async Task<int> GetSafeWorkingHourAsync()
{
return await Task.Run(GetSafeWorkingHour);
}
#endregion
#region
/// <summary>
/// 获取三级安全教育培训数
/// </summary>
/// <returns></returns>
public static List<EduTrainOutput> GetSafeTrain()
{
var result = (from x in Funs.DB.EduTrain_TrainRecord
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join y in Funs.DB.Base_TrainType on x.TrainTypeId equals y.TrainTypeId
where BeUnderConstructionList.Contains(p.ProjectId) && y.TrainType == "1" &&
x.TrainStartDate > Const.DtmarkTime
select new Model.EduTrainOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.TrainingId,
TrainTitle = x.TrainTitle,
TrainStartDate = x.TrainStartDate,
TrainEndDate = x.TrainEndDate,
TrainPersonNum = x.TrainPersonNum ?? 0,
}).ToList();
return result;
}
/// <summary>
/// 获取三级安全教育培训数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EduTrainOutput>> GetSafeTrainAsync()
{
return await Task.Run(GetSafeTrain);
}
/// <summary>
/// 获取专项培训数
/// </summary>
/// <returns></returns>
public static List<EduTrainOutput> GetSpecialTrain()
{
var result = (from x in Funs.DB.EduTrain_TrainRecord
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join y in Funs.DB.Base_TrainType on x.TrainTypeId equals y.TrainTypeId
where BeUnderConstructionList.Contains(p.ProjectId) && y.TrainType == "2" &&
x.TrainStartDate > Const.DtmarkTime
select new Model.EduTrainOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.TrainingId,
TrainTitle = x.TrainTitle,
TrainStartDate = x.TrainStartDate,
TrainEndDate = x.TrainEndDate,
TrainPersonNum = x.TrainPersonNum ?? 0,
}).ToList();
return result;
}
/// <summary>
/// 获取专项培训数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<EduTrainOutput>> GetSpecialTrainAsync()
{
return await Task.Run(GetSpecialTrain);
}
/// <summary>
/// 获取特种作业培训数
/// </summary>
/// <returns></returns>
public static List<EduTrainOutput> GetSpecialOperationTrain()
{
var result = (from x in Funs.DB.EduTrain_TrainRecord
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join y in Funs.DB.Base_TrainType on x.TrainTypeId equals y.TrainTypeId
where BeUnderConstructionList.Contains(p.ProjectId) && y.TrainType == "3" &&
x.TrainStartDate > Const.DtmarkTime
select new Model.EduTrainOutput()
{
ProjectId = x.ProjectId,
ProjectName = p.ProjectName,
UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.TrainingId,
TrainTitle = x.TrainTitle,
TrainStartDate = x.TrainStartDate,
TrainEndDate = x.TrainEndDate,
TrainPersonNum = x.TrainPersonNum ?? 0,
}).ToList();
return result;
}
public static async Task<List<EduTrainOutput>> GetSpecialOperationTrainAsync()
{
return await Task.Run(GetSpecialOperationTrain);
}
#endregion
/// <summary>
/// 获取能耗总量
/// </summary>
/// <returns></returns>
public static int GetTotalEnergyConsumption()
{
var result = 0;
return result;
}
/// <summary>
/// 获取万元营业收入综合能耗
/// </summary>
/// <returns></returns>
public static int GetIncomeComprehensiveEnergyConsumption()
{
var result = 0;
return result;
}
/// <summary>
/// 获取二氧化碳
/// </summary>
/// <returns></returns>
public static int GetNewWaterConsumption()
{
var result = 0;
return result;
}
#region
/// <summary>
/// 获取未遂事件数
/// </summary>
/// <returns></returns>
public static List<Model.AccidentOutput> GetNearMiss()
{
var result = (from Record in Funs.DB.Accident_AccidentPersonRecord
join AccidentType in Funs.DB.Base_AccidentType on Record.AccidentTypeId equals AccidentType.AccidentTypeId into AccidentTypeGroup
from AccidentType in AccidentTypeGroup.DefaultIfEmpty()
join Project in Funs.DB.Base_Project on Record.ProjectId equals Project.ProjectId into ProjectGroup
from Project in ProjectGroup.DefaultIfEmpty()
join Person in Funs.DB.SitePerson_Person on Record.PersonId equals Person.PersonId into PersonGroup
from Person in PersonGroup.DefaultIfEmpty()
join Unit in Funs.DB.Base_Unit on Person.UnitId equals Unit.UnitId into UnitGroup
from Unit in UnitGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(Record.ProjectId) && Record.IsAttempt == "1" && Record.AccidentDate > Const.DtmarkTime
select new AccidentOutput
{
Id = Record.AccidentPersonRecordId,
ProjectId = Record.ProjectId,
ProjectCode = Project.ProjectCode,
ProjectName = Project.ProjectName,
AccidentTypeName = AccidentType.AccidentTypeName,
AccidentDate = Record.AccidentDate,
UnitId = Unit.UnitId,
UnitName = Unit.UnitName,
PeopleNum = 1,
Info = Record.Injury == "1" ? "死亡" : (Record.Injury == "2" ? "重伤" : "轻伤")
}).ToList();
return result;
}
public static async Task<List<Model.AccidentOutput>> GetNearMissAsync()
{
return await Task.Run(GetNearMiss);
}
/// <summary>
/// 获取可记录事件数
/// </summary>
/// <returns></returns>
public static List<Model.AccidentOutput> GetRecordableEvent()
{
var result = (from Record in Funs.DB.Accident_AccidentPersonRecord
join AccidentType in Funs.DB.Base_AccidentType on Record.AccidentTypeId equals AccidentType.AccidentTypeId into AccidentTypeGroup
from AccidentType in AccidentTypeGroup.DefaultIfEmpty()
join Project in Funs.DB.Base_Project on Record.ProjectId equals Project.ProjectId into ProjectGroup
from Project in ProjectGroup.DefaultIfEmpty()
join Person in Funs.DB.SitePerson_Person on Record.PersonId equals Person.PersonId into PersonGroup
from Person in PersonGroup.DefaultIfEmpty()
join Unit in Funs.DB.Base_Unit on Person.UnitId equals Unit.UnitId into UnitGroup
from Unit in UnitGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(Record.ProjectId) && Record.AccidentDate > Const.DtmarkTime
select new AccidentOutput
{
Id = Record.AccidentPersonRecordId,
ProjectId = Record.ProjectId,
ProjectCode = Project.ProjectCode,
ProjectName = Project.ProjectName,
AccidentTypeName = AccidentType.AccidentTypeName,
AccidentDate = Record.AccidentDate,
UnitId = Unit.UnitId,
UnitName = Unit.UnitName,
PeopleNum = 1,
Info = Record.Injury == "1" ? "死亡" : (Record.Injury == "2" ? "重伤" : "轻伤")
}).ToList();
return result;
}
public static async Task<List<Model.AccidentOutput>> GetRecordableEventAsync()
{
return await Task.Run(GetRecordableEvent);
}
/// <summary>
/// 获取一般事故数
/// </summary>
/// <returns></returns>
public static List<Model.AccidentOutput> GetGeneralAccident()
{
var query = from Record in Funs.DB.Accident_AccidentReport
join AccidentType in Funs.DB.Sys_Const on new { ConstValue = Record.AccidentTypeId, GroupId = "AccidentReportRegistration" } equals new { ConstValue = AccidentType.ConstValue, GroupId = AccidentType.GroupId } into AccidentTypeGroup
from AccidentType in AccidentTypeGroup.DefaultIfEmpty()
join Project in Funs.DB.Base_Project on Record.ProjectId equals Project.ProjectId into ProjectGroup
from Project in ProjectGroup.DefaultIfEmpty()
join Unit in Funs.DB.Base_Unit on Record.UnitId equals Unit.UnitId into UnitGroup
from Unit in UnitGroup.DefaultIfEmpty()
where Record.AccidentDate > Const.DtmarkTime && BeUnderConstructionList.Contains(Record.ProjectId) && Record.AccidentDegree == "1"
select new AccidentOutput
{
Id = Record.AccidentReportId,
ProjectId = Record.ProjectId,
ProjectCode = Project.ProjectCode,
ProjectName = Project.ProjectName,
AccidentTypeName = AccidentType.ConstText,
AccidentDate = Record.AccidentDate,
UnitId = Unit.UnitId,
UnitName = Unit.UnitName,
PeopleNum = Record.PeopleNum,
Info = Record.Abstract
};
var result = query.ToList();
return result;
}
public static async Task<List<Model.AccidentOutput>> GetGeneralAccidentAsync()
{
return await Task.Run(GetGeneralAccident);
}
/// <summary>
/// 获取较大事故数
/// </summary>
/// <returns></returns>
public static List<Model.AccidentOutput> GetMajorAccident()
{
var query = from Record in Funs.DB.Accident_AccidentReport
join AccidentType in Funs.DB.Sys_Const on new { ConstValue = Record.AccidentTypeId, GroupId = "AccidentReportRegistration" } equals new { ConstValue = AccidentType.ConstValue, GroupId = AccidentType.GroupId } into AccidentTypeGroup
from AccidentType in AccidentTypeGroup.DefaultIfEmpty()
join Project in Funs.DB.Base_Project on Record.ProjectId equals Project.ProjectId into ProjectGroup
from Project in ProjectGroup.DefaultIfEmpty()
join Unit in Funs.DB.Base_Unit on Record.UnitId equals Unit.UnitId into UnitGroup
from Unit in UnitGroup.DefaultIfEmpty()
where Record.AccidentDate > Const.DtmarkTime && BeUnderConstructionList.Contains(Record.ProjectId) && Record.AccidentDegree == "2"
select new AccidentOutput
{
Id = Record.AccidentReportId,
ProjectId = Record.ProjectId,
ProjectCode = Project.ProjectCode,
ProjectName = Project.ProjectName,
AccidentTypeName = AccidentType.ConstText,
AccidentDate = Record.AccidentDate,
UnitId = Unit.UnitId,
UnitName = Unit.UnitName,
PeopleNum = Record.PeopleNum,
Info = Record.Abstract
};
var result = query.ToList();
return result;
}
public static async Task<List<Model.AccidentOutput>> GetMajorAccidentAsync()
{
return await Task.Run(GetMajorAccident);
}
/// <summary>
/// 获取重大事故数
/// </summary>
/// <returns></returns>
public static List<Model.AccidentOutput> GetSeriousAccident()
{
var query = from Record in Funs.DB.Accident_AccidentReport
join AccidentType in Funs.DB.Sys_Const on new { ConstValue = Record.AccidentTypeId, GroupId = "AccidentReportRegistration" } equals new { ConstValue = AccidentType.ConstValue, GroupId = AccidentType.GroupId } into AccidentTypeGroup
from AccidentType in AccidentTypeGroup.DefaultIfEmpty()
join Project in Funs.DB.Base_Project on Record.ProjectId equals Project.ProjectId into ProjectGroup
from Project in ProjectGroup.DefaultIfEmpty()
join Unit in Funs.DB.Base_Unit on Record.UnitId equals Unit.UnitId into UnitGroup
from Unit in UnitGroup.DefaultIfEmpty()
where Record.AccidentDate > Const.DtmarkTime && BeUnderConstructionList.Contains(Record.ProjectId) && Record.AccidentDegree == "3"
select new AccidentOutput
{
Id = Record.AccidentReportId,
ProjectId = Record.ProjectId,
ProjectCode = Project.ProjectCode,
ProjectName = Project.ProjectName,
AccidentTypeName = AccidentType.ConstText,
AccidentDate = Record.AccidentDate,
UnitId = Unit.UnitId,
UnitName = Unit.UnitName,
PeopleNum = Record.PeopleNum,
Info = Record.Abstract
};
var result = query.ToList();
return result;
}
public static async Task<List<Model.AccidentOutput>> GetSeriousAccidentAsync()
{
return await Task.Run(GetSeriousAccident);
}
/// <summary>
/// 获取特别重大事故数
/// </summary>
/// <returns></returns>
public static List<Model.AccidentOutput> GetSpecialSeriousAccident()
{
var query = from Record in Funs.DB.Accident_AccidentReport
join AccidentType in Funs.DB.Sys_Const on new { ConstValue = Record.AccidentTypeId, GroupId = "AccidentReportRegistration" } equals new { ConstValue = AccidentType.ConstValue, GroupId = AccidentType.GroupId } into AccidentTypeGroup
from AccidentType in AccidentTypeGroup.DefaultIfEmpty()
join Project in Funs.DB.Base_Project on Record.ProjectId equals Project.ProjectId into ProjectGroup
from Project in ProjectGroup.DefaultIfEmpty()
join Unit in Funs.DB.Base_Unit on Record.UnitId equals Unit.UnitId into UnitGroup
from Unit in UnitGroup.DefaultIfEmpty()
where Record.AccidentDate > Const.DtmarkTime && BeUnderConstructionList.Contains(Record.ProjectId) && Record.AccidentDegree == "4"
select new AccidentOutput
{
Id = Record.AccidentReportId,
ProjectId = Record.ProjectId,
ProjectCode = Project.ProjectCode,
ProjectName = Project.ProjectName,
AccidentTypeName = AccidentType.ConstText,
AccidentDate = Record.AccidentDate,
UnitId = Unit.UnitId,
UnitName = Unit.UnitName,
PeopleNum = Record.PeopleNum,
Info = Record.Abstract
};
var result = query.ToList();
return result;
}
public static async Task<List<Model.AccidentOutput>> GetSpecialSeriousAccidentAsync()
{
return await Task.Run(GetSpecialSeriousAccident);
}
#endregion
#region
/// <summary>
/// 获取费用提取(万元)
/// </summary>
/// <returns></returns>
public static List<Model.CostSmallDetailOutput> GetCostExtract()
{
var query = from cost in Funs.DB.CostGoods_CostSmallDetail
join p in Funs.DB.Base_Project on cost.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on cost.UnitId equals unit.UnitId into unitGroup
from unit in unitGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(p.ProjectId)
select new CostSmallDetailOutput
{
Id = cost.CostSmallDetailId,
ProjectId = p.ProjectId,
ProjectCode = p.ProjectCode,
ProjectName = p.ProjectName,
UnitId = cost.UnitId,
UnitName = unit.UnitName,
Months = cost.Months,
SUMCost = cost.Extract//Math.Round(sumCost, 2)
};
return query.ToList();
}
public static async Task<List<Model.CostSmallDetailOutput>> GetCostExtractAsync()
{
return await Task.Run(GetCostExtract);
}
/// <summary>
/// 获取费用使用(万元)
/// </summary>
/// <returns></returns>
public static List<Model.CostSmallDetailOutput> GetCostUse()
{
var query = from cost in Funs.DB.CostGoods_CostSmallDetail
join p in Funs.DB.Base_Project on cost.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on cost.UnitId equals unit.UnitId into unitGroup
from unit in unitGroup.DefaultIfEmpty()
let sumCost = (from item in Funs.DB.CostGoods_CostSmallDetailItem
where item.CostSmallDetailId == cost.CostSmallDetailId
select item.CostMoney).Sum() * 1.0m // 10000
where BeUnderConstructionList.Contains(p.ProjectId)
select new CostSmallDetailOutput
{
Id = cost.CostSmallDetailId,
ProjectId = p.ProjectId,
ProjectCode = p.ProjectCode,
ProjectName = p.ProjectName,
UnitId = cost.UnitId,
UnitName = unit.UnitName,
Months = cost.Months,
SUMCost = sumCost//Math.Round(sumCost, 2)
};
/*var result = 0;
var costs = (from x in Funs.DB.CostGoods_CostSmallDetailItem
join y in Funs.DB.CostGoods_CostSmallDetail
on x.CostSmallDetailId equals y.CostSmallDetailId
where BeUnderConstructionList.Contains(y.ProjectId) && y.CompileDate > Const.DtmarkTime
select x.CostMoney ?? 0).ToList().Sum();
result = Funs.GetNewIntOrZero(costs.ToString().Split('.')[0]);*/
return query.ToList();
}
public static async Task<List<Model.CostSmallDetailOutput>> GetCostUseAsync()
{
return await Task.Run(GetCostUse);
}
#endregion
#region
/// <summary>
/// 获取施工机具在用数
/// </summary>
/// <returns></returns>
public static List<Model.ConstructionEquipmentOutput> GetUseEquipment()
{
var query = (from item in Funs.DB.InApproveManager_EquipmentInItem
join eq in Funs.DB.InApproveManager_EquipmentIn on item.EquipmentInId equals eq.EquipmentInId into eqGroup
from eq in eqGroup.DefaultIfEmpty()
join spe in Funs.DB.Base_SpecialEquipment on item.SpecialEquipmentId equals spe.SpecialEquipmentId into speGroup
from spe in speGroup.DefaultIfEmpty()
join p in Funs.DB.Base_Project on eq.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on eq.UnitId equals unit.UnitId into unitGroup
from unit in unitGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(eq.ProjectId)
select new ConstructionEquipmentOutput
{
Id = item.EquipmentInItemId,
ProjectId = eq.ProjectId,
//ProjectCode = p.ProjectCode,
ProjectName = p.ProjectName,
//UnitId = eq.UnitId,
UnitName = unit.UnitName,
//SpecialEquipmentId = item.SpecialEquipmentId,
SpecialEquipmentName = spe.SpecialEquipmentName,
SizeModel = item.SizeModel,
OwnerCheck = item.OwnerCheck,
CertificateNum = item.CertificateNum,
IsUsed = item.IsUsed,
CompileDate = eq.CompileDate,
EQType = "特种设备"
})
.Union(
from item in Funs.DB.InApproveManager_GeneralEquipmentInItem
join eq in Funs.DB.InApproveManager_GeneralEquipmentIn on item.GeneralEquipmentInId equals eq.GeneralEquipmentInId into eqGroup
from eq in eqGroup.DefaultIfEmpty()
join spe in Funs.DB.Base_SpecialEquipment on item.SpecialEquipmentId equals spe.SpecialEquipmentId into speGroup
from spe in speGroup.DefaultIfEmpty()
join p in Funs.DB.Base_Project on eq.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on eq.UnitId equals unit.UnitId into unitGroup
from unit in unitGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(eq.ProjectId)
select new ConstructionEquipmentOutput
{
Id = item.GeneralEquipmentInItemId,
ProjectId = eq.ProjectId,
// ProjectCode = p.ProjectCode,
ProjectName = p.ProjectName,
// UnitId = eq.UnitId,
UnitName = unit.UnitName,
// SpecialEquipmentId = item.SpecialEquipmentId,
SpecialEquipmentName = spe.SpecialEquipmentName,
SizeModel = item.SizeModel,
OwnerCheck = item.OwnerCheck,
CertificateNum = item.CertificateNum,
IsUsed = item.IsUsed,
CompileDate = eq.CompileDate,
EQType = "一般设备"
}
);
return query.ToList();
}
public static async Task<List<Model.ConstructionEquipmentOutput>> GetUseEquipmentAsync()
{
return await Task.Run(GetUseEquipment);
}
/// <summary>
/// 获取施工机具特种设备数
/// </summary>
/// <returns></returns>
public static List<Model.ConstructionEquipmentOutput> GetSpecialEquipment()
{
var query = (from item in Funs.DB.InApproveManager_EquipmentInItem
join eq in Funs.DB.InApproveManager_EquipmentIn on item.EquipmentInId equals eq.EquipmentInId into
eqGroup
from eq in eqGroup.DefaultIfEmpty()
join spe in Funs.DB.Base_SpecialEquipment on item.SpecialEquipmentId equals spe.SpecialEquipmentId into
speGroup
from spe in speGroup.DefaultIfEmpty()
join p in Funs.DB.Base_Project on eq.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on eq.UnitId equals unit.UnitId into unitGroup
from unit in unitGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(eq.ProjectId)
select new ConstructionEquipmentOutput
{
Id = item.EquipmentInItemId,
ProjectId = eq.ProjectId,
//ProjectCode = p.ProjectCode,
ProjectName = p.ProjectName,
//UnitId = eq.UnitId,
UnitName = unit.UnitName,
//SpecialEquipmentId = item.SpecialEquipmentId,
SpecialEquipmentName = spe.SpecialEquipmentName,
SizeModel = item.SizeModel,
OwnerCheck = item.OwnerCheck,
CertificateNum = item.CertificateNum,
IsUsed = item.IsUsed,
CompileDate = eq.CompileDate,
EQType = "特种设备"
});
return query.ToList();
}
public static async Task<List<Model.ConstructionEquipmentOutput>> GetSpecialEquipmentAsync()
{
return await Task.Run(GetSpecialEquipment);
}
#endregion
#region
/// <summary>
/// 获取作业许可项数
/// </summary>
/// <returns></returns>
public static List<LicenseOutput> GetLicenses()
{
var result = (from x in Funs.DB.View_License_LicenseManager
where BeUnderConstructionList.Contains(x.ProjectId) && x.IsHighRisk == true &&
x.CompileDate > Const.DtmarkTime
select new Model.LicenseOutput
{
Id = x.LicenseManagerId,
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
LicenseTypeName = x.LicenseTypeName,
UnitTypeName = x.UnitTypeName,
IsHighRisk = x.IsHighRisk,
WorkAreaName = x.WorkStates,
CompileDate = x.CompileDate,
StartDate = x.StartDate,
EndDate = x.EndDate,
WorkStatesStr = x.WorkStatesStr
}).ToList();
return result;
}
public static async Task<List<LicenseOutput>> GetLicensesAsync()
{
return await Task.Run(GetLicenses);
}
/// <summary>
/// 获取作业许可关闭项数
/// </summary>
/// <returns></returns>
public static List<LicenseOutput> GetLicensesClose()
{
var result = (from x in Funs.DB.View_License_LicenseManager
where BeUnderConstructionList.Contains(x.ProjectId) && x.IsHighRisk == true && x.WorkStates == "3" &&
x.CompileDate > Const.DtmarkTime
select new Model.LicenseOutput
{
Id = x.LicenseManagerId,
ProjectId = x.ProjectId,
ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId),
UnitId = x.UnitId,
UnitName = UnitService.GetUnitNameByUnitId(x.UnitId),
LicenseTypeName = x.LicenseTypeName,
UnitTypeName = x.UnitTypeName,
IsHighRisk = x.IsHighRisk,
WorkAreaName = x.WorkStates,
CompileDate = x.CompileDate,
StartDate = x.StartDate,
EndDate = x.EndDate,
WorkStatesStr = x.WorkStatesStr
}).ToList();
return result;
}
public static async Task<List<LicenseOutput>> GetLicensesCloseAsync()
{
return await Task.Run(GetLicensesClose);
}
#endregion
#region
/// <summary>
/// 获取一般隐患数据
/// </summary>
/// <returns></returns>
public static List<Model.HiddenRectificationOutput> GetGeneralHiddenRectificationOutputs()
{
var query = (from x in Funs.DB.Base_Project
join y in Funs.DB.HSSE_Hazard_HazardRegister on x.ProjectId equals y.ProjectId into yGroup
from y in yGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(x.ProjectId) && y.ProblemTypes == "1" && y.Risk_Level == "一般" && y.CheckTime > Const.DtmarkTime
group y by new { x.ProjectId, x.ProjectName, x.ProjectCode } into gg
select new HiddenRectificationOutput
{
ProjectId = gg.Key.ProjectId,
ProjectName = gg.Key.ProjectName,
ProjectCode = gg.Key.ProjectCode,
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(Convert.ToDecimal( gg.Count(y => y.States == "3") /
gg.Count(y => y.States != "4" && y.States != "-1") * 100), 2, MidpointRounding.AwayFromZero).ToString()
}).ToList();
foreach (var item in query)
{
item.RecRate = Math .Round(Convert.ToDecimal(item.RecRate),2) .ToString(); // 转换为字符串并格式化为两位小数
}
return query;
}
public static async Task<List<Model.HiddenRectificationOutput>> GetGeneralHiddenRectificationOutputsAsync()
{
return await Task.Run(GetGeneralHiddenRectificationOutputs);
}
/// <summary>
/// 获取重大隐患数据
/// </summary>
/// <returns></returns>
public static List<Model.HiddenRectificationOutput> GetMajorHiddenRectificationOutputs()
{
var query = (from x in Funs.DB.Base_Project
join y in Funs.DB.HSSE_Hazard_HazardRegister on x.ProjectId equals y.ProjectId into yGroup
from y in yGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(x.ProjectId) && y.ProblemTypes == "1" && y.Risk_Level == "重大" && y.CheckTime > Const.DtmarkTime
group y by new { x.ProjectId, x.ProjectName, x.ProjectCode } into gg
select new HiddenRectificationOutput
{
ProjectId = gg.Key.ProjectId,
ProjectName = gg.Key.ProjectName,
ProjectCode = gg.Key.ProjectCode,
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();
foreach (var item in query)
{
item.RecRate = Math.Round(Convert.ToDecimal(item.RecRate), 2).ToString(); // 转换为字符串并格式化为两位小数
}
return query;
}
public static async Task<List<Model.HiddenRectificationOutput>> GetMajorHiddenRectificationOutputsAsync()
{
return await Task.Run(GetMajorHiddenRectificationOutputs);
}
#endregion
#region
/// <summary>
/// 获取风险数据
/// </summary>
/// <returns></returns>
public static List<Model.SecurityRiskOutput> GetSecurityRiskOutputs()
{
var query = (from x in Funs.DB.Base_Project
join y in Funs.DB.Hazard_HazardSelectedItem on x.ProjectId equals y.ProjectId into yGroup
from y in yGroup.DefaultIfEmpty()
join z in Funs.DB.Base_RiskLevel on y.HazardLevel equals z.RiskLevelId into zGroup
from z in zGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(x.ProjectId) && (y.IsStart == true || y.State == "1")
group new { y, z } by new { x.ProjectId, x.ProjectName, x.ProjectCode } into gg
select new SecurityRiskOutput
{
ProjectId = gg.Key.ProjectId,
ProjectName = gg.Key.ProjectName,
ProjectCode = gg.Key.ProjectCode,
LowRiskNum = gg.Sum(g => (g.z.RiskLevel == 1 || g.y.HazardLevel == "1") ? 1 : 0),
GeneralRiskNum = gg.Sum(g => (g.z.RiskLevel == 2 || g.y.HazardLevel == "2") ? 1 : 0),
MediumRiskNum = gg.Sum(g => (g.z.RiskLevel == 3 || g.y.HazardLevel == "3") ? 1 : 0),
HighRiskNum = gg.Sum(g => g.z.RiskLevel == 4 ? 1 : 0),
}).ToList();
return query;
}
public static async Task<List<Model.SecurityRiskOutput>> GetSecurityRiskOutputsAsync()
{
return await Task.Run(GetSecurityRiskOutputs);
}
#endregion
#region
/// <summary>
/// 获取危大工程数据
/// </summary>
/// <returns></returns>
public static List<Model.LargeEngineeringOutput> GetLargeEngineeringOutputs()
{
var query = (from x in Funs.DB.Base_Project
join y in Funs.DB.Solution_LargerHazard on x.ProjectId equals y.ProjectId into yGroup
from y in yGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(x.ProjectId) && y.RecordTime > Const.DtmarkTime
group y by new { x.ProjectId, x.ProjectName, x.ProjectCode } into gg
select new LargeEngineeringOutput
{
ProjectId = gg.Key.ProjectId,
ProjectName = gg.Key.ProjectName,
ProjectCode = gg.Key.ProjectCode,
CompletedNum = gg.Count(x => x.States == "1" && x.IsSuperLargerHazard == false ),
TrainPersonNum = gg.Where(x => x.IsSuperLargerHazard == false ).Sum(x => x.TrainPersonNum) ?? 0,
ConstructionNum = gg.Count(x => x.States == "2" && x.IsSuperLargerHazard == false ),
FinishedNum = gg.Count(x => x.States == "3" && x.IsSuperLargerHazard == false),
SuperCompletedNum = gg.Count(x => x.States == "1" && x.IsSuperLargerHazard == true),
SuperTrainPersonNum = gg.Where(x => x.IsSuperLargerHazard == true).Sum(x => x.TrainPersonNum) ?? 0,
SuperConstructionNum = gg.Count(x => x.States == "2" && x.IsSuperLargerHazard == true),
SuperFinishedNum = gg.Count(x => x.States == "3" && x.IsSuperLargerHazard == true),
}).ToList();
return query;
}
public static async Task<List<Model.LargeEngineeringOutput>> GetLargeEngineeringOutputsAsync()
{
return await Task.Run(GetLargeEngineeringOutputs);
}
/// <summary>
/// 获取危大工程审批完成数
/// </summary>
/// <returns></returns>
public static int GetCompletedNum()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.States == "1" &&
x.IsSuperLargerHazard == false &&
x.RecordTime > Const.DtmarkTime
select x).Count();
return result;
}
/// <summary>
/// 获取危大工程培训人次数
/// </summary>
/// <returns></returns>
public static int GetTrainPersonNum()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.IsSuperLargerHazard == false &&
x.RecordTime > Const.DtmarkTime
select x.TrainPersonNum).ToList().Sum(x => x.Value);
return result;
}
/// <summary>
/// 获取危大工程施工个数
/// </summary>
/// <returns></returns>
public static int GetConstructionNum()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.States == "2" &&
x.IsSuperLargerHazard == false &&
x.RecordTime > Const.DtmarkTime
select x).Count();
return result;
}
/// <summary>
/// 获取危大工程完工个数
/// </summary>
/// <returns></returns>
public static int GetFinishedNum()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.States == "3" &&
x.IsSuperLargerHazard == false &&
x.RecordTime > Const.DtmarkTime
select x).Count();
return result;
}
/// <summary>
/// 获取超危大工程审批完成数
/// </summary>
/// <returns></returns>
public static int GetSuperCompletedNum()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.States == "1" &&
x.IsSuperLargerHazard == true &&
x.RecordTime > Const.DtmarkTime
select x).Count();
return result;
}
/// <summary>
/// 获取超危大工程培训人次数
/// </summary>
/// <returns></returns>
public static int GetSuperTrainPersonNum()
{
var result =
(from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.IsSuperLargerHazard == true &&
x.RecordTime > Const.DtmarkTime
select x.TrainPersonNum).ToList().Sum(x => x.Value);
return result;
}
/// <summary>
/// 获取超危大工程施工个数
/// </summary>
/// <returns></returns>
public static int GetSuperConstructionNum()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.States == "2" &&
x.IsSuperLargerHazard == true &&
x.RecordTime > Const.DtmarkTime
select x).Count();
return result;
}
/// <summary>
/// 获取超危大工程完工个数
/// </summary>
/// <returns></returns>
public static int GetSuperFinishedNum()
{
var result = (from x in Funs.DB.Solution_LargerHazard
where BeUnderConstructionList.Contains(x.ProjectId) && x.States == "3" &&
x.IsSuperLargerHazard == true &&
x.RecordTime > Const.DtmarkTime
select x).Count();
return result;
}
#endregion
#region
/// <summary>
/// 记录数
/// </summary>
public static int Count { get; set; }
public static List<HSSEData_HSSE> GetHSSEData_HSSEByModle(HSSEData_HSSE table)
{
var db = Funs.DB;
var q = from x in db.HSSEData_HSSE
where
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
(string.IsNullOrEmpty(table.UnitId) || x.UnitId.Contains(table.UnitId)) &&
(string.IsNullOrEmpty(table.CollCropCode) || x.CollCropCode.Contains(table.CollCropCode)) &&
(string.IsNullOrEmpty(table.UnitName) || x.UnitName.Contains(table.UnitName))
orderby x.ReportDate descending
select x
;
return q.ToList();
}
// ReSharper disable once InvalidXmlDocComment
/// </summary>
/// <returns></returns>
public static IEnumerable GetListData(HSSEData_HSSE table, Grid Grid1)
{
var q = GetHSSEData_HSSEByModle(table);
Count = q.Count();
if (Count == 0) return null;
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in q
select new
{
x.Id,
x.UnitId,
x.CollCropCode,
x.UnitName,
x.ReportDate,
x.BeUnderConstructionNum,
x.ShutdownNum,
x.JoinConstructionPersonNum,
x.MajorProjectsUnderConstructionNum,
x.TotalWorkingHour,
x.LostWorkingHour,
x.SafeWorkingHour,
x.SafeTrainNum,
x.SpecialTrainNum,
x.SpecialOperationTrainNum,
x.EnvironmentalTrainNum,
x.TotalEnergyConsumption,
x.IncomeComprehensiveEnergyConsumption,
x.NewWaterConsumption,
x.HeadOfficeInspectorGeneralNum,
x.HeadOfficeFullTimeNum,
x.BranchInspectorGeneralNum,
x.BranchFullTimeNum,
x.ProjectInspectorGeneralNum,
x.ProjectFullTimeNum,
x.ProjectSafetyMonitorNum,
x.SafetyInjectionEngineer,
x.CertificateANum,
x.CertificateBNum,
x.CertificateCNum,
x.SafetyCommitteeMeetingNum,
x.EnterpriseTopicsMeetingNum,
x.ProjectSafetyLeadingGroupMeetingNum,
x.ProjectSafetyMeetingNum,
x.CompanyLeadShiftCheckNum,
x.CompanyComprehensiveCheckNum,
x.CompanySpecialCheckNum,
x.ProjectLeadShiftCheckNum,
x.ProjectSpecialCheckNum,
x.ProjectMajorCheckNum,
x.NearMissNum,
x.RecordableEventNum,
x.GeneralAccidentNum,
x.MajorAccidentNum,
x.SeriousAccidentNum,
x.SpecialSeriousAccidentNum,
x.CompanyComprehensivePlanNum,
x.CompanySpecialPlanNum,
x.CompanyOnSiteDisposalPlan,
x.CompanyDrillNum,
x.ProjectComprehensivePlanNum,
x.ProjectSpecialPlanNum,
x.ProjectOnSiteDisposalPlan,
x.ProjectDrillNum,
x.CostExtract,
x.CostUse,
x.UseEquipmentNum,
x.SpecialEquipmentNum,
x.LicensesNum,
x.LicensesCloseNum,
x.GeneralClosedNum,
x.GeneralNotClosedNum,
x.MajorClosedNum,
x.MajorNotClosedNum,
x.GeneralRiskNum,
x.LowRiskNum,
x.MediumRiskNum,
x.HighRiskNum,
x.CompletedNum,
x.TrainPersonNum,
x.ConstructionNum,
x.FinishedNum,
x.SuperCompletedNum,
x.SuperTrainPersonNum,
x.SuperConstructionNum,
x.SuperFinishedNum,
x.State,
x.CreateDate,
x.CreateMan
};
}
#endregion
}
}