From 4df37fed8bfdff5d64ea024c1ef5078bd73602b7 Mon Sep 17 00:00:00 2001
From: geh <1923421292@qq.com>
Date: Thu, 19 Jun 2025 21:01:29 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=BD=E5=B7=A5=E6=96=B9=E6=A1=88=E6=95=B0?=
=?UTF-8?q?=E9=87=8F=E5=92=8C=E6=96=BD=E5=B7=A5=E6=96=B9=E6=A1=88=E9=A1=B9?=
=?UTF-8?q?=E7=9B=AE=E5=AE=A1=E6=89=B9=E3=80=81=E4=BC=81=E4=B8=9A=E5=AE=A1?=
=?UTF-8?q?=E6=89=B9=E7=BB=9F=E8=AE=A1=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
SUBQHSE/BLL/ZHGL/DataSync/CQMSDataService.cs | 164 ++++++++++++++-----
1 file changed, 121 insertions(+), 43 deletions(-)
diff --git a/SUBQHSE/BLL/ZHGL/DataSync/CQMSDataService.cs b/SUBQHSE/BLL/ZHGL/DataSync/CQMSDataService.cs
index f959f90..dc67ffe 100644
--- a/SUBQHSE/BLL/ZHGL/DataSync/CQMSDataService.cs
+++ b/SUBQHSE/BLL/ZHGL/DataSync/CQMSDataService.cs
@@ -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;
-
}
+
+ ///
+ /// 施工方案数量——定稿方案
+ ///
+ ///
+ public static List GetConstructSolutionFinal()
+ {
+ var result = (from x in Funs.DB.Solution_CQMSConstructSolution_Final
+ where BeUnderConstructionList.Contains(x.ProjectId)
+ select x).ToList();
+ return result;
+ }
+
+ ///
+ /// 施工方案数量——定稿方案(异步)
+ ///
+ ///
+ public static async Task> GetConstructSolutionFinalAsync()
+ {
+ return await Task.Run(GetConstructSolutionFinal);
+ }
+
+ ///
+ /// 危大(超危大)工程施工方案数量
+ ///
+ ///
+ public static List GetComprehensive_MajorPlanApproval()
+ {
+ var result = (from x in Funs.DB.Comprehensive_MajorPlanApproval
+ where BeUnderConstructionList.Contains(x.ProjectId)
+ select x).ToList();
+ return result;
+ }
+
+ ///
+ /// 危大(超危大)工程施工方案数量(异步)
+ ///
+ ///
+ public static async Task> GetComprehensive_MajorPlanApprovalAsync()
+ {
+ return await Task.Run(GetComprehensive_MajorPlanApproval);
+ }
+
public static CQMSData GetDataByCQMSData_CQMS(CQMSData_CQMS table)
{
var data = new CQMSData();