diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/OverallEfficiencyAnalysisServiceImpl.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/OverallEfficiencyAnalysisServiceImpl.java index e46794e..4f09af7 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/OverallEfficiencyAnalysisServiceImpl.java +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/OverallEfficiencyAnalysisServiceImpl.java @@ -42,8 +42,16 @@ public class OverallEfficiencyAnalysisServiceImpl implements OverallEfficiencyAn res.put("计划施工天数",0); res.put("有效施工天数",0); }else { - res.put("计划施工天数",overallEfficiencyNew.getPlanDay()); - res.put("有效施工天数",overallEfficiencyNew.getEffectiveDay()); + if (overallEfficiencyNew.getPlanDay()<0){ + res.put("计划施工天数",0); + }else { + res.put("计划施工天数",overallEfficiencyNew.getPlanDay()); + } + if (overallEfficiencyNew.getEffectiveDay()<0){ + res.put("有效施工天数",0); + }else { + res.put("有效施工天数",overallEfficiencyNew.getEffectiveDay()); + } } //质量分析 @@ -72,7 +80,7 @@ public class OverallEfficiencyAnalysisServiceImpl implements OverallEfficiencyAn }else { res.put("当前进度",overallEfficiencyProgress.getCurrentProgress()+"%"); res.put("计划进度",overallEfficiencyProgress.getPlanProgress()+"%"); - res.put("进度偏差",overallEfficiencyProgress.getDeviationPercent()+"%"); + res.put("进度偏差",overallEfficiencyProgress.getDeviationPercent()); } //成本分析 1--计划 2--实际 overallEfficiency.setDataType("1"); @@ -90,7 +98,7 @@ public class OverallEfficiencyAnalysisServiceImpl implements OverallEfficiencyAn res.put("实际成本",overallEfficiencyCost2.getDataMoney()); } if(StringUtils.isEmpty(overallEfficiencyCost) || StringUtils.isEmpty(overallEfficiencyCost2)){ - res.put("实际成本",BigDecimal.ZERO); + res.put("缩减成本",BigDecimal.ZERO); }else { BigDecimal difference = overallEfficiencyCost2.getDataMoney().subtract(overallEfficiencyCost.getDataMoney()); // B - A BigDecimal ratio = difference.divide(overallEfficiencyCost.getDataMoney(), 2, RoundingMode.HALF_UP); // 除法,保留scale位小数,四舍五入 diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ProjectDataServiceImpl.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ProjectDataServiceImpl.java index 5a97d6d..1524465 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ProjectDataServiceImpl.java +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/ProjectDataServiceImpl.java @@ -61,16 +61,16 @@ public class ProjectDataServiceImpl implements ProjectDataService { res.put("当前成本投入",0); }else { BigDecimal ratio = overallEfficiencyCost2.getDataMoney().divide(overallEfficiencyCost.getDataMoney(), 2, RoundingMode.HALF_UP); // 除法,保留scale位小数,四舍五入 - res.put("当前成本投入",ratio+"%"); + res.put("当前成本投入",ratio); } //折线图 - SjConstructionProgress o = new SjConstructionProgress(); + /* SjConstructionProgress o = new SjConstructionProgress(); o.setEndTime(projectData.getEndTime()); o.setStartTime(projectData.getStartTime()); List echartsList = sjConstructionProgressMapper.selectProProgress(o); Map> groupedByProTypeEcharts = echartsList.stream() .collect(Collectors.groupingBy(SjConstructionProgress::getProType)); - res.put("项目情况详情",groupedByProTypeEcharts); + res.put("项目情况详情",groupedByProTypeEcharts);*/ //今日风险 int countNum=0 ; projectData.setDateTime(DateUtils.getDate()); diff --git a/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/OverallEfficiencyAnalysisMapper.xml b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/OverallEfficiencyAnalysisMapper.xml index 4859d05..30652ce 100644 --- a/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/OverallEfficiencyAnalysisMapper.xml +++ b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/OverallEfficiencyAnalysisMapper.xml @@ -85,7 +85,7 @@ GREATEST( 0, DATEDIFF( - LEAST(plan_end_time, #{startTime}), + LEAST(plan_end_time, #{endTime}), GREATEST(plan_start_time, #{startTime}) ) + 1 ) @@ -102,12 +102,12 @@ GREATEST( 0, DATEDIFF( - LEAST(end_time, #{startTime}), + LEAST(end_time, #{endTime}), GREATEST(start_time, #{startTime}) ) + 1 ) -- 进行中工序:从实际开始到查询结束的天数 - WHEN start_time IS NOT NULL AND end_time IS NULL AND #{startTime} >=start_time THEN + WHEN start_time IS NOT NULL AND end_time IS NULL AND #{endTime} >=start_time THEN GREATEST( 0, DATEDIFF(#{startTime}, GREATEST(start_time, #{startTime})) + 1 @@ -128,11 +128,11 @@ GREATEST( 0, DATEDIFF( - LEAST(end_time, #{startTime}), + LEAST(end_time, #{endTime}), GREATEST(start_time, #{startTime}) ) + 1 ) - WHEN start_time IS NOT NULL AND end_time IS NULL AND #{startTime} >= start_time THEN + WHEN start_time IS NOT NULL AND end_time IS NULL AND #{endTime} >= start_time THEN GREATEST( 0, DATEDIFF(#{startTime}, GREATEST(start_time, #{startTime})) + 1 @@ -146,7 +146,7 @@ GREATEST( 0, DATEDIFF( - LEAST(plan_end_time, #{startTime}), + LEAST(plan_end_time, #{endTime}), GREATEST(plan_start_time, #{startTime}) ) + 1 ) @@ -158,9 +158,9 @@ sj_construction_progress WHERE -- 筛选与查询时间段相关的记录 - ( #{startTime} >=plan_start_time AND plan_end_time >= #{startTime}) -- 计划时间在区间内 + ( #{endTime} >=plan_start_time AND plan_end_time >= #{startTime}) -- 计划时间在区间内 OR - (start_time IS NOT NULL AND #{startTime} >=start_time) -- 实际已开始且在区间内 + (start_time IS NOT NULL AND #{endTime} >=start_time) -- 实际已开始且在区间内