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();