package com.ruoyi.service.impl; import com.ruoyi.domain.Standard; import com.ruoyi.domain.vo.*; import com.ruoyi.mapper.StandardMapper; import com.ruoyi.mapper.StatisticsHomeMapper; import com.ruoyi.service.StatisticsHomeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @Service @Transactional public class StatisticsHomeServiceImpl implements StatisticsHomeService { @Autowired private StatisticsHomeMapper statisticsHomeMapper; @Autowired private StandardMapper standardMapper; @Override public QuantityStatisticsVO selectQuantityStatistics(QuantityStatisticsVO quantityStatisticsHome){ QuantityStatisticsVO quantityStatisticsVO = statisticsHomeMapper.selectQuantityStatistics(quantityStatisticsHome); quantityStatisticsVO.setExecuteTaskProportion(percentageCalculation(quantityStatisticsVO.getExecuteTasksNumber(),quantityStatisticsVO.getCompletedTaskNumber())); quantityStatisticsVO.setCompletedTaskProportion(percentageCalculation(quantityStatisticsVO.getCompletedTaskNumber(),quantityStatisticsVO.getExecuteTasksNumber())); return quantityStatisticsVO; } @Override public List<StandardCategoryStatisticsVO> selectStandardCategoryStatistics(){ return statisticsHomeMapper.selectStandardCategoryStatistics(); } @Override public List<ConfidentialityLevelProportionVO> selectConfidentialityLevelStatistics(){ return statisticsHomeMapper.selectConfidentialityLevelStatistics(); } @Override public List<AverageInspectionRateVO> selectAverageInspectionRate(){ List<Standard> standards = standardMapper.selectListAll(); String standardNo = null; if(!standards.isEmpty()){ standardNo = standards.get(0).getStandardNo(); } InspectionItemPassedNumVO inspectionItemPassedNumVO = statisticsHomeMapper.selectInspectionItemPassedNum(); List<AverageInspectionRateVO> list = new ArrayList<>(); AverageInspectionRateVO averageInspectionRateOne = new AverageInspectionRateVO(); averageInspectionRateOne.setInspectionItems("汽车信息安全管理体系要求"); averageInspectionRateOne.setPassingRate(proportionCalculation(inspectionItemPassedNumVO.getSysReviewPassedNum(), inspectionItemPassedNumVO.getSysReviewcompletedNum())); list.add(averageInspectionRateOne); AverageInspectionRateVO averageInspectionRateTwo = new AverageInspectionRateVO(); averageInspectionRateTwo.setInspectionItems("信息安全一般要求"); averageInspectionRateTwo.setPassingRate(proportionCalculation(inspectionItemPassedNumVO.getCarReviewPassedNum(),inspectionItemPassedNumVO.getCarReviewcompletedNum())); list.add(averageInspectionRateTwo); AverageInspectionRateVO averageInspectionRateThree = new AverageInspectionRateVO(); averageInspectionRateThree.setInspectionItems("信息安全技术要求"); averageInspectionRateThree.setPassingRate(proportionCalculation(inspectionItemPassedNumVO.getModelTestPassedNum(),inspectionItemPassedNumVO.getModelTestCompletedNum())); list.add(averageInspectionRateThree); for(AverageInspectionRateVO averageInspectionRate:list){ averageInspectionRate.setStandardNumber(standardNo); } return list; } @Override public List<TaskParticipationStatisticsVO> selectTaskParticipationStatistics(){ return statisticsHomeMapper.selectTaskParticipationStatistics(); } // 计算两个数各占比 public int percentageCalculation(Integer a, Integer b){ int total = a+b; if(total == 0){ return 0; }else { float c = (float)a/total; return Math.round(c*100); } } // 计算百分比 public int proportionCalculation(Integer a, Integer b){ if(b == 0){ return 0; }else { float c = (float)a/b; return Math.round(c*100); } } }