using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using FineUIPro;
using Model;
using Newtonsoft.Json;
namespace BLL
{
public static class HSSEData_HSSEService
{
///
/// 在建项目列表
///
public static List BeUnderConstructionList = BaseDataService.BeUnderConstructionList;
#region 安全数据统计
///
/// 安全数据统计
///
///
public static async Task GetTodayHSSEData_HSSE()
{
var modelTask = StatisticalDataAsync();
var model = await modelTask;
HSSEData data = model;
return data;
}
///
/// 统计数据(异步)
///
///
public static async Task 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 beUnderConstructionTask = GetBeUnderConstructionAsync();//在建项目
var shutdownTask = GetShutdownAsync();//停工项目
var joinConstructionPersonTask = GetJoinConstructionPersonAsync();//参建人数
await Task.WhenAll(beUnderConstructionTask, shutdownTask, joinConstructionPersonTask);
// 统一获取异步方法的返回值
var beUnderConstructionList = await beUnderConstructionTask;
var shutdownList = await shutdownTask;
var joinConstructionPersonList = await joinConstructionPersonTask;
// 构造结果对象
var table = new HSSEData_HSSE
{
UnitId = thisUnitId,
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
BeUnderConstructionNum = beUnderConstructionList.Count(),
ShutdownNum = shutdownList.Count(),
JoinConstructionPersonNum = joinConstructionPersonList.Count(),
};
#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,
};
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;
}
#endregion
public static void AddHSSEData_HSSE(HSSEData_HSSE newtable)
{
using (var db = new CNPCDB(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,
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 CNPCDB(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 CNPCDB(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.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 { item };
data.HSSEDataItems = hsseDataItems;
return data;
}
public static HSSEData GetItemByHSSEData_HSSE(HSSEData_HSSE dataHsse, List 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.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 { item };
data.HSSEDataItems = hsseDataItems;
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;
}
///
/// 判断当天是否已上报
///
///
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 void UpdateHSSEData_HSSE(HSSEData_HSSE newtable)
{
using (var db = new CNPCDB(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.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();
}
}
}
///
/// 获取在建项目数(异步)
///
///
public static async Task> GetBeUnderConstructionAsync()
{
return await Task.Run(GetBeUnderConstruction);
}
///
/// 获取在建项目数
///
///
public static List GetBeUnderConstruction()
{
return BaseDataService.GetBeUnderConstruction();
}
///
/// 获取停工项目数(异步)
///
///
public static async Task> GetShutdownAsync()
{
return await Task.Run(GetShutdown);
}
///
/// 获取停工项目数
///
///
public static List GetShutdown()
{
return BaseDataService.GetShutdown();
}
///
/// 获取停工项目数
///
///
public static int GetShutdownNum()
{
var result = (from x in Funs.DB.Base_Project
where x.ProjectState == BLL.Const.ProjectState_2
select x).Count();
return result;
}
///
/// 获取参建人数(异步)
///
///
public static async Task> GetJoinConstructionPersonAsync()
{
return await Task.Run(GetJoinConstructionPerson);
}
///
/// 获取参建人数
///
///
public static List 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;
}
///
/// 获取企业总部总监人数
///
///
public static int GetHeadOfficeInspectorGeneralNum()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
where x.IsOnJob == true && x.WorkPostId == Const.WorkPost_HSSEDirector && x.UnitId == unitId
select x).Count();
return result;
}
///
/// 获取企业总部专职人数
///
///
public static int GetHeadOfficeFullTimeNum()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsHsse == true && x.UnitId == unitId
select x).Count();
return result;
}
///
/// 获取分支机构总监人数
///
///
public static int GetBranchInspectorGeneralNum()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
where x.IsOnJob == true && x.WorkPostId == Const.WorkPost_HSSEDirector && x.UnitId != unitId
select x).Count();
return result;
}
///
/// 获取分支机构专职人数
///
///
public static int GetBranchFullTimeNum()
{
var unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsHsse == true && x.UnitId != unitId
select x).Count();
return result;
}
///
/// 获取企业安委会会议数
///
///
public static int GetSafetyCommitteeMeetingNum()
{
var result =
(from x in Funs.DB.Meeting_CompanySafetyMeeting where x.CompileDate > Const.DtmarkTime select x)
.Count();
return result;
}
///
/// 获取企业专题会议数
///
///
public static int GetEnterpriseTopicsMeetingNum()
{
var result = (from x in Funs.DB.Meeting_CompanySpecialMeeting
where x.CompileDate > Const.DtmarkTime
select x).Count();
return result;
}
///
/// 获取企业负责人带班检查次数
///
///
public static int GetCompanyLeadShiftCheckNum()
{
var result = (from x in Funs.DB.Supervise_SuperviseCheckReport
where x.CheckType == "1" && x.CheckDate > Const.DtmarkTime
select x).Count();
return result;
}
///
/// 获取企业综合检查次数
///
///
public static int GetCompanyComprehensiveCheckNum()
{
var result = (from x in Funs.DB.Supervise_SuperviseCheckReport
where x.CheckType == "2" && x.CheckDate > Const.DtmarkTime
select x).Count();
return result;
}
///
/// 获取企业专项检查次数
///
///
public static int GetCompanySpecialCheckNum()
{
var result = (from x in Funs.DB.Supervise_SuperviseCheckReport
where x.CheckType == "3" && x.CheckDate > Const.DtmarkTime
select x).Count();
return result;
}
///
/// 获取企业级综合预案数
///
///
public static int GetCompanyComprehensivePlanNum()
{
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 x).Count();
return result;
}
///
/// 获取企业级专项预案数
///
///
public static int GetCompanySpecialPlanNum()
{
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 x).Count();
return result;
}
///
/// 获取企业级现场处置预案
///
///
public static int 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 x).Count();
return result;
}
///
/// 获取企业级演练次数
///
///
public static int GetCompanyDrillNum()
{
var result = (from x in Funs.DB.Emergency_DrillRecordList_Unit
where x.CompileDate > Const.DtmarkTime
select x).Count();
return result;
}
#region 获取列表
///
/// 记录数
///
public static int Count { get; set; }
public static List 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
///
///
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.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 获取列表
public static HSSEData_HSSE GetSubUnitCqmsDataByDate(List beUnderConstructionList, DateTime? reportdate)
{
var result = new Model.HSSEData_HSSE();
if (reportdate == null)
{
return result;
}
var ProjectData = (from x in Funs.DB.Project_HSSEData_HSSE
where x.ReportDate == reportdate && beUnderConstructionList.Contains(x.ProjectId)
select x).ToList();
result = new HSSEData_HSSE
{
ReportDate = reportdate.Value.Date,
JoinConstructionPersonNum = ProjectData.Sum(x => x.JoinConstructionPersonNum),
TrainPersonNum = ProjectData.Sum(x => x.TrainPersonNum),
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),
//HseTechnicalNum = ProjectData.Sum(x => x.HseTechnicalNum),
//EnvironmentalTrainNum = ProjectData.Sum(x => x.EnvironmentalTrainNum),
TotalEnergyConsumption = ProjectData.Sum(x => x.TotalEnergyConsumption),
IncomeComprehensiveEnergyConsumption = ProjectData.Sum(x => x.IncomeComprehensiveEnergyConsumption),
NewWaterConsumption = ProjectData.Sum(x => x.NewWaterConsumption),
HeadOfficeInspectorGeneralNum = ProjectData.Sum(x => x.HeadOfficeInspectorGeneralNum),
HeadOfficeFullTimeNum = ProjectData.Sum(x => x.HeadOfficeFullTimeNum),
BranchInspectorGeneralNum = ProjectData.Sum(x => x.BranchInspectorGeneralNum),
BranchFullTimeNum = ProjectData.Sum(x => x.BranchFullTimeNum),
ProjectInspectorGeneralNum = ProjectData.Sum(x => x.ProjectInspectorGeneralNum),
ProjectFullTimeNum = ProjectData.Sum(x => x.ProjectFullTimeNum),
//ProjectSubFullTimeNum = ProjectData.Sum(x => x.ProjectSubFullTimeNum),
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),
//QualityPersonNum = ProjectData.Sum(x => x.QualityPersonNum),
SafetyCommitteeMeetingNum = ProjectData.Sum(x => x.SafetyCommitteeMeetingNum),
EnterpriseTopicsMeetingNum = ProjectData.Sum(x => x.EnterpriseTopicsMeetingNum),
ProjectSafetyLeadingGroupMeetingNum = ProjectData.Sum(x => x.ProjectSafetyLeadingGroupMeetingNum),
ProjectSafetyMeetingNum = ProjectData.Sum(x => x.ProjectSafetyMeetingNum),
CompanyLeadShiftCheckNum = ProjectData.Sum(x => x.CompanyLeadShiftCheckNum),
CompanyComprehensiveCheckNum = ProjectData.Sum(x => x.CompanyComprehensiveCheckNum),
CompanySpecialCheckNum = ProjectData.Sum(x => x.CompanySpecialCheckNum),
//BranchLeadShiftCheckNum = ProjectData.Sum(x => x.BranchLeadShiftCheckNum),
//BranchComprehensiveCheckNum = ProjectData.Sum(x => x.BranchComprehensiveCheckNum),
//BranchSpecialCheckNum = ProjectData.Sum(x => x.BranchSpecialCheckNum),
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 = ProjectData.Sum(x => x.CompanyComprehensivePlanNum),
CompanySpecialPlanNum = ProjectData.Sum(x => x.CompanySpecialPlanNum),
CompanyOnSiteDisposalPlan = ProjectData.Sum(x => x.CompanyOnSiteDisposalPlan),
//BranchComprehensivePlanNum = ProjectData.Sum(x => x.BranchComprehensivePlanNum),
//BranchSpecialPlanNum = ProjectData.Sum(x => x.BranchSpecialPlanNum),
//BranchOnSiteDisposalPlan = ProjectData.Sum(x => x.BranchOnSiteDisposalPlan),
CompanyDrillNum = ProjectData.Sum(x => x.CompanyDrillNum),
//CompanyDrillPersonNum = ProjectData.Sum(x => x.CompanyDrillPersonNum),
//BranchDrillNum = ProjectData.Sum(x => x.BranchDrillNum),
//BranchDrillPersonNum = ProjectData.Sum(x => x.BranchDrillPersonNum),
ProjectComprehensivePlanNum = ProjectData.Sum(x => x.ProjectComprehensivePlanNum),
ProjectSpecialPlanNum = ProjectData.Sum(x => x.ProjectSpecialPlanNum),
ProjectOnSiteDisposalPlan = ProjectData.Sum(x => x.ProjectOnSiteDisposalPlan),
ProjectDrillNum = ProjectData.Sum(x => x.ProjectDrillNum),
//ProjectDrillPersonNum = ProjectData.Sum(x => x.ProjectDrillPersonNum),
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),
LowRiskNum = ProjectData.Sum(x => x.LowRiskNum),
GeneralRiskNum = ProjectData.Sum(x => x.GeneralRiskNum),
MediumRiskNum = ProjectData.Sum(x => x.MediumRiskNum),
HighRiskNum = ProjectData.Sum(x => x.HighRiskNum),
CompletedNum = ProjectData.Sum(x => x.CompletedNum),
//OperativesNum = ProjectData.Sum(x => x.OperativesNum),
ConstructionNum = ProjectData.Sum(x => x.ConstructionNum),
FinishedNum = ProjectData.Sum(x => x.FinishedNum),
//ArgumentNum = ProjectData.Sum(x => x.ArgumentNum),
SuperCompletedNum = ProjectData.Sum(x => x.SuperCompletedNum),
SuperTrainPersonNum = ProjectData.Sum(x => x.SuperTrainPersonNum),
//SuperOperativesNum = ProjectData.Sum(x => x.SuperOperativesNum),
SuperConstructionNum = ProjectData.Sum(x => x.SuperConstructionNum),
SuperFinishedNum = ProjectData.Sum(x => x.SuperFinishedNum),
//SuperArgumentNum = ProjectData.Sum(x => x.SuperArgumentNum),
CreateMan = Const.sysglyId,
CreateDate = DateTime.Now
};
return result;
}
}
}