施工方案数量和施工方案项目审批、企业审批统计逻辑调整

This commit is contained in:
geh 2025-06-19 21:01:29 +08:00
parent 7aa8baadbb
commit 4df37fed8b
1 changed files with 121 additions and 43 deletions

View File

@ -505,13 +505,15 @@ namespace BLL
var trainPersonNumTask = CQMSDataService.GetTrainPersonNumAsync(); //获取质量培训人次数
var technicalDisclosePersonTask = CQMSDataService.GetTechnicalDisclosePersonNumAsync(); //获取设计交底人次数
var qualityAssuranceNumTask = CQMSDataService.GetQualityAssuranceNumAsync(); //获取特设质保体系数量
var comprehensiveConTechnologyDisclosureTask = CQMSDataService.GetComprehensiveConTechnologyDisclosureAsync(); //获取施工技术交底
var comprehensiveConTechnologyDisclosureTask =
CQMSDataService.GetComprehensiveConTechnologyDisclosureAsync(); //获取施工技术交底
var comprehensiveReviewDrawingsTask = CQMSDataService.GetComprehensiveReviewDrawingsAsync(); //获取图纸会审
var inspectionEquipmentTask = CQMSDataService.GetComprehensive_InspectionEquipmentAsync(); //获取设备报验
var inspectionEquipmentTask = CQMSDataService.GetComprehensive_InspectionEquipmentAsync(); //获取设备材料报验
var inspectionPersonTask = CQMSDataService.GetComprehensive_InspectionPersonAsync(); //获取人员报验
var inspectionMachineTask = CQMSDataService.GetComprehensive_InspectionMachineAsync(); //获取机具报验
var inspectionMachineEquipmentTask = CQMSDataService.GetComprehensive_InspectionMachineEquipmentAsync(); //获取设备报验报检
var inspectionMachineEquipmentTask =
CQMSDataService.GetComprehensive_InspectionMachineEquipmentAsync(); //获取设备报验报检
var useNumTask = CQMSDataService.GetUseNumAsync(); //获取在用计量器具数
var okNumTask = CQMSDataService.GetOkNumAsync(); //获取校准合格数
@ -521,6 +523,9 @@ namespace BLL
var subdivisionalWorksNuTask = CQMSDataService.GetSubdivisionalWorksNumAsync(); //获取分项工程个数
var inspectionLotNumTask = CQMSDataService.GetInspectionLotNumAsync(); //获取检验批个数
var constructSolutionTask = CQMSDataService.GetConstructSolutionAsync(); //施工方案数量
var constructSolutionFinalTask = CQMSDataService.GetConstructSolutionFinalAsync(); //施工方案数量定稿方案数量
var comprehensiveMajorPlanTask =
CQMSDataService.GetComprehensive_MajorPlanApprovalAsync(); //危大工程、超危大工程施工方案数量
var cqmsProblemTask = CQMSDataService.GetCQMSProblemAsync(); //获取企业级、项目级质量问题
var cqmsBranchMajorCheckTask = CQMSDataService.GetBranchMajorCheckAsync(); //获取分支机构质量大检查次数
var cqmsCompanyMajorCheckTask = CQMSDataService.GetCompanyMajorCheckAsync(); //获取企业质量大检查次数
@ -538,7 +543,8 @@ namespace BLL
var subProjectAcceptNumTask = CQMSDataService.GetSubProjectAcceptNumAsync(); //获取分部工程验收数
var subProjectAcceptOKNumTask = CQMSDataService.GetSubProjectAcceptOKNumAsync(); //获取分部工程验收合格数
var subdivisionalWorksAcceptNumTask = CQMSDataService.GetSubdivisionalWorksAcceptNumAsync(); //获取分项工程验收数
var subdivisionalWorksAcceptOKNumTask = CQMSDataService.GetSubdivisionalWorksAcceptOKNumAsync(); //获取分项工程验收合格数
var subdivisionalWorksAcceptOKNumTask =
CQMSDataService.GetSubdivisionalWorksAcceptOKNumAsync(); //获取分项工程验收合格数
var materialInRecheckNumTask = CQMSDataService.GetMaterialInRecheckNumAsync(); //获取复核材料数
var materialInRecheckOKNumTask = CQMSDataService.GetMaterialInRecheckOKNumAsync(); //获取复核材料合格数
@ -549,11 +555,14 @@ namespace BLL
comprehensiveConTechnologyDisclosureTask, comprehensiveReviewDrawingsTask,
inspectionEquipmentTask, inspectionPersonTask, inspectionMachineTask,
useNumTask, okNumTask,
singleProjectNumTask, unitProjectNumTask, subProjectNuTask, subdivisionalWorksNuTask, inspectionLotNumTask,
constructSolutionTask,
singleProjectNumTask, unitProjectNumTask, subProjectNuTask, subdivisionalWorksNuTask,
inspectionLotNumTask,
constructSolutionTask, constructSolutionFinalTask, comprehensiveMajorPlanTask,
cqmsProblemTask, cqmsBranchMajorCheckTask, cqmsCompanyMajorCheckTask,
keyProcessNumTask, keyProcessOKNumTask, specialProcessNumTask, specialProcessOKNumTask, concealedWorksNumTask, concealedWorksOKNumTask,
unitProjectAcceptNumTask, unitProjectAcceptOKNumTask, subProjectAcceptNumTask, subProjectAcceptOKNumTask, subdivisionalWorksAcceptNumTask, subdivisionalWorksAcceptOKNumTask,
keyProcessNumTask, keyProcessOKNumTask, specialProcessNumTask, specialProcessOKNumTask,
concealedWorksNumTask, concealedWorksOKNumTask,
unitProjectAcceptNumTask, unitProjectAcceptOKNumTask, subProjectAcceptNumTask,
subProjectAcceptOKNumTask, subdivisionalWorksAcceptNumTask, subdivisionalWorksAcceptOKNumTask,
materialInRecheckNumTask, materialInRecheckOKNumTask, inspectionMachineEquipmentTask,
qualityAssuranceNumTask
);
@ -570,7 +579,7 @@ namespace BLL
var inspectionEquipmentList = await inspectionEquipmentTask;
var inspectionPersonList = await inspectionPersonTask;
var inspectionMachineList = await inspectionMachineTask;
var inspectionMachineEquipmentList =await inspectionMachineEquipmentTask;
var inspectionMachineEquipmentList = await inspectionMachineEquipmentTask;
var useNum = await useNumTask;
var okNum = await okNumTask;
var singleProjectNum = await singleProjectNumTask;
@ -580,6 +589,9 @@ namespace BLL
var inspectionLotNum = await inspectionLotNumTask;
var constructSolutionList = await constructSolutionTask;
var constructSolutionFinalList = await constructSolutionFinalTask;
var comprehensiveMajorPlanList = await comprehensiveMajorPlanTask;
var cqmsProblemList = await cqmsProblemTask;
var cqmsBranchMajorCheckList = await cqmsBranchMajorCheckTask;
var cqmsCompanyMajorCheckList = await cqmsCompanyMajorCheckTask;
@ -600,7 +612,7 @@ namespace BLL
var materialInRecheckNum = await materialInRecheckNumTask;
var materialInRecheckOKNum = await materialInRecheckOKNumTask;
var qualityAssuranceNum = await qualityAssuranceNumTask;
// 构造结果对象
var table = new CQMSData_CQMS
{
@ -608,22 +620,28 @@ namespace BLL
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
CompanyPersonNum = companyPersonNum,//
BranchPersonNum = branchPersonNum,//
CompanyPersonNum = companyPersonNum, //
BranchPersonNum = branchPersonNum, //
ProjectPersonNum = projectPersonNumList.Count(x => x.IsOffice == true),
ProjectSubPersonNum = projectPersonNumList.Count(x => x.IsOffice == false),
TrainPersonNum = trainPersonNumList.Count(),
TechnicalDisclosePersonNum = technicalDisclosePersonList.Sum(x => x.TrainPersonNum),
ComprehensiveConTechnologyDisclosureNum = comprehensiveConTechnologyDisclosureList.Count(),
ComprehensiveConTechnologyDisclosurePersonNum = comprehensiveConTechnologyDisclosureList.Sum(x => x.TrainPersonNum),
ComprehensiveConTechnologyDisclosurePersonNum =
comprehensiveConTechnologyDisclosureList.Sum(x => x.TrainPersonNum),
ComprehensiveReviewDrawingsNum = comprehensiveReviewDrawingsList.Count(),
EquipmentInspectionNum = inspectionEquipmentList.Count(),
EquipmentInspectionQualifiedNum = inspectionEquipmentList.Where(x => x.SamplingResult == "1").Count(),
PersonInspectionNum = inspectionPersonList.Count(),
PersonInspectionQualifiedNum = inspectionPersonList.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true).Count(),
PersonInspectionQualifiedNum =
inspectionPersonList.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true).Count(),
MachineInspectionNum = inspectionMachineList.Count(),
MachineInspectionQualifiedNum = inspectionMachineList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true).Count(),
MachineInspectionQualifiedNum =
inspectionMachineList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true).Count(),
InspectionMachineNum = inspectionMachineEquipmentList.Count(),
InspectionMachineQualifiedNum = inspectionMachineEquipmentList
.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true).Count(),
MaterialInspectionNum = inspectionEquipmentList.Count(),
MaterialInspectionQualifiedNum = inspectionEquipmentList.Where(x => x.SamplingResult == "1").Count(),
@ -635,9 +653,11 @@ namespace BLL
SubdivisionalWorksNum = subdivisionalWorksNum.Count(),
InspectionLotNum = inspectionLotNum.Sum(x => x.Sum),
ConstructSolutionNum = constructSolutionList.Count(),
ConstructSolutionProjectApproveNum = constructSolutionList.Where(x => x.State == "1").Count(),
ConstructSolutionUnitApproveNum = 0,//
ConstructSolutionNum = constructSolutionList.Count() + constructSolutionFinalList.Count() +
comprehensiveMajorPlanList.Count(),
ConstructSolutionProjectApproveNum = constructSolutionList.Where(x => x.State == "1").Count() +
constructSolutionFinalList.Count(),
ConstructSolutionUnitApproveNum = comprehensiveMajorPlanList.Count(),
SpecialEquipmentQualityAssuranceSystemNum = qualityAssuranceNum.Count(),
DesignDetailsNum = technicalDisclosePersonList.Sum(x => x.TrainPersonNum),
@ -665,10 +685,8 @@ namespace BLL
SubdivisionalWorksAcceptOKNum = subdivisionalWorksAcceptOKNum.Count(),
MaterialInRecheckNum = materialInRecheckNum.Count(),
MaterialInRecheckOKNum = materialInRecheckOKNum.Count(),
InspectionMachineNum = inspectionMachineEquipmentList.Count(),
InspectionMachineQualifiedNum = inspectionMachineEquipmentList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true).Count(),
};
#region
Project_CQMSDataService.DeleteProject_CQMSData_CQMByDate(DateTime.Now.Date);
@ -682,23 +700,32 @@ namespace BLL
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
CompanyPersonNum = companyPersonNum,//
BranchPersonNum = branchPersonNum,//
CompanyPersonNum = companyPersonNum, //
BranchPersonNum = branchPersonNum, //
ProjectPersonNum = projectPersonNumList.Count(x => x.ProjectId == projectid && x.IsOffice == true),
ProjectSubPersonNum = projectPersonNumList.Count(x => x.ProjectId == projectid && x.IsOffice == false),
ProjectSubPersonNum =
projectPersonNumList.Count(x => x.ProjectId == projectid && x.IsOffice == false),
TrainPersonNum = trainPersonNumList.Count(x => x.ProjectId == projectid),
TechnicalDisclosePersonNum = technicalDisclosePersonList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
ComprehensiveConTechnologyDisclosureNum = comprehensiveConTechnologyDisclosureList.Count(x => x.ProjectId == projectid),
ComprehensiveConTechnologyDisclosurePersonNum = comprehensiveConTechnologyDisclosureList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
ComprehensiveReviewDrawingsNum = comprehensiveReviewDrawingsList.Count(x => x.ProjectId == projectid),
TechnicalDisclosePersonNum = technicalDisclosePersonList.Where(x => x.ProjectId == projectid)
.Sum(x => x.TrainPersonNum),
ComprehensiveConTechnologyDisclosureNum =
comprehensiveConTechnologyDisclosureList.Count(x => x.ProjectId == projectid),
ComprehensiveConTechnologyDisclosurePersonNum = comprehensiveConTechnologyDisclosureList
.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
ComprehensiveReviewDrawingsNum =
comprehensiveReviewDrawingsList.Count(x => x.ProjectId == projectid),
EquipmentInspectionNum = inspectionEquipmentList.Count(x => x.ProjectId == projectid),
EquipmentInspectionQualifiedNum = inspectionEquipmentList.Where(x => x.SamplingResult == "1" && x.ProjectId == projectid).Count(),
EquipmentInspectionQualifiedNum = inspectionEquipmentList
.Where(x => x.SamplingResult == "1" && x.ProjectId == projectid).Count(),
PersonInspectionNum = inspectionPersonList.Count(x => x.ProjectId == projectid),
PersonInspectionQualifiedNum = inspectionPersonList.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true && x.ProjectId == projectid).Count(),
PersonInspectionQualifiedNum = inspectionPersonList
.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true && x.ProjectId == projectid).Count(),
MachineInspectionNum = inspectionMachineList.Count(x => x.ProjectId == projectid),
MachineInspectionQualifiedNum = inspectionMachineList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true && x.ProjectId == projectid).Count(),
MaterialInspectionNum = 0,
MaterialInspectionQualifiedNum = 0,
MachineInspectionQualifiedNum = inspectionMachineList.Where(x =>
x.IsCheckOK.HasValue && x.IsCheckOK == true && x.ProjectId == projectid).Count(),
MaterialInspectionNum = inspectionEquipmentList.Count(x => x.ProjectId == projectid),
MaterialInspectionQualifiedNum = inspectionEquipmentList
.Where(x => x.SamplingResult == "1" && x.ProjectId == projectid).Count(),
UseNum = useNum.Count(x => x.ProjectId == projectid),
OKNum = okNum.Count(x => x.ProjectId == projectid),
SingleProjectNum = singleProjectNum.Count(x => x.ProjectId == projectid),
@ -707,15 +734,23 @@ namespace BLL
SubdivisionalWorksNum = subdivisionalWorksNum.Count(x => x.ProjectId == projectid),
InspectionLotNum = inspectionLotNum.Where(x => x.ProjectId == projectid).Sum(x => x.Sum),
ConstructSolutionNum = constructSolutionList.Count(x => x.ProjectId == projectid),
ConstructSolutionProjectApproveNum = constructSolutionList.Where(x => x.State == "1" && x.ProjectId == projectid).Count(),
ConstructSolutionUnitApproveNum = 0,//
SpecialEquipmentQualityAssuranceSystemNum = qualityAssuranceNum.Count(x => x.ProjectId == projectid),
DesignDetailsNum = technicalDisclosePersonList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
ConstructSolutionNum = constructSolutionList.Count(x => x.ProjectId == projectid) +
constructSolutionFinalList.Count(x => x.ProjectId == projectid) +
comprehensiveMajorPlanList.Count(x => x.ProjectId == projectid),
ConstructSolutionProjectApproveNum =
constructSolutionList.Where(x => x.State == "1" && x.ProjectId == projectid).Count() +
constructSolutionFinalList.Count(x => x.ProjectId == projectid),
ConstructSolutionUnitApproveNum = comprehensiveMajorPlanList.Count(x => x.ProjectId == projectid),
SpecialEquipmentQualityAssuranceSystemNum =
qualityAssuranceNum.Count(x => x.ProjectId == projectid),
DesignDetailsNum = technicalDisclosePersonList.Where(x => x.ProjectId == projectid)
.Sum(x => x.TrainPersonNum),
ProblemNum = cqmsProblemList.Count(x => x.ProjectId == projectid),
ProblemCompletedNum = cqmsProblemList.Where(x => x.State == "7" && x.ProjectId == projectid).Count(),
ProblemNotCompletedNum = cqmsProblemList.Where(x => x.State != "7" && x.ProjectId == projectid).Count(),
ProblemCompletedNum =
cqmsProblemList.Where(x => x.State == "7" && x.ProjectId == projectid).Count(),
ProblemNotCompletedNum =
cqmsProblemList.Where(x => x.State != "7" && x.ProjectId == projectid).Count(),
KeyProcessNum = keyProcessNum.Count(x => x.ProjectId == projectid),
KeyProcessOKNum = keyProcessOKNum.Count(x => x.ProjectId == projectid),
@ -732,8 +767,8 @@ namespace BLL
MaterialInRecheckNum = materialInRecheckNum.Count(x => x.ProjectId == projectid),
MaterialInRecheckOKNum = materialInRecheckOKNum.Count(x => x.ProjectId == projectid),
InspectionMachineNum = inspectionMachineEquipmentList.Count(x => x.ProjectId == projectid),
InspectionMachineQualifiedNum = inspectionMachineEquipmentList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true && x.ProjectId == projectid).Count(),
InspectionMachineQualifiedNum = inspectionMachineEquipmentList.Where(x =>
x.IsCheckOK.HasValue && x.IsCheckOK == true && x.ProjectId == projectid).Count(),
};
Project_CQMSDataService.AddProject_CQMSData_CQMS(projectCqmsData);
}
@ -753,11 +788,54 @@ namespace BLL
table.State = Const.CNCEC_State_0;
AddCQMSData_CQMS(table);
}
var data = new CQMSData();
data = GetDataByCQMSData_CQMS(table);
return data;
}
/// <summary>
/// 施工方案数量——定稿方案
/// </summary>
/// <returns></returns>
public static List<Solution_CQMSConstructSolution_Final> GetConstructSolutionFinal()
{
var result = (from x in Funs.DB.Solution_CQMSConstructSolution_Final
where BeUnderConstructionList.Contains(x.ProjectId)
select x).ToList();
return result;
}
/// <summary>
/// 施工方案数量——定稿方案(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Solution_CQMSConstructSolution_Final>> GetConstructSolutionFinalAsync()
{
return await Task.Run(GetConstructSolutionFinal);
}
/// <summary>
/// 危大(超危大)工程施工方案数量
/// </summary>
/// <returns></returns>
public static List<Comprehensive_MajorPlanApproval> GetComprehensive_MajorPlanApproval()
{
var result = (from x in Funs.DB.Comprehensive_MajorPlanApproval
where BeUnderConstructionList.Contains(x.ProjectId)
select x).ToList();
return result;
}
/// <summary>
/// 危大(超危大)工程施工方案数量(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Comprehensive_MajorPlanApproval>> GetComprehensive_MajorPlanApprovalAsync()
{
return await Task.Run(GetComprehensive_MajorPlanApproval);
}
public static CQMSData GetDataByCQMSData_CQMS(CQMSData_CQMS table)
{
var data = new CQMSData();