|
@@ -27,6 +27,7 @@ import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityTopPa
|
|
|
import vip.xiaonuo.modular.energy.energyElectricity.service.EnergyElectricityService;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -56,20 +57,15 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
|
|
|
String parentId = baseConfigMapper.selectOne(new QueryWrapper<BaseConfig>().eq("config_name", "栋舍阶段").eq("parent_id", 0)).getId();
|
|
|
List<BaseConfig> buildStage = baseConfigMapper.selectList(new QueryWrapper<BaseConfig>().eq("parent_id", parentId).orderByAsc("sort_code"));
|
|
|
List<String> stages = buildStage.stream().map(config -> config.getConfigName()).collect(Collectors.toList());
|
|
|
- List<EnergyElectricityRateVo> rateList = null;
|
|
|
+ List<EnergyElectricityRateVo> rateList = new ArrayList<>();
|
|
|
if (type.equals("0")){
|
|
|
thisTotal = energyElectricityMapper.getWeekTotal(orgId);
|
|
|
lastTotal = energyElectricityMapper.getLastWeekTotal(orgId);
|
|
|
for (String stage : stages) {
|
|
|
EnergyElectricityRateVo rate = new EnergyElectricityRateVo();
|
|
|
- BigDecimal proportion = BigDecimal.ZERO;
|
|
|
BigDecimal weekTotal = energyElectricityMapper.getWeekTotalByType(stage, orgId);
|
|
|
- rate.setBuildName(stage+"舍");
|
|
|
- rate.setConsumptionQuantity(weekTotal);
|
|
|
- if (!thisTotal.equals(BigDecimal.ZERO)){
|
|
|
- proportion = weekTotal.divide(thisTotal).multiply(BigDecimal.valueOf(100));
|
|
|
- }
|
|
|
- rate.setProportion(proportion);
|
|
|
+ rate.setName(stage+"舍");
|
|
|
+ rate.setValue(weekTotal);
|
|
|
rateList.add(rate);
|
|
|
}
|
|
|
}else {
|
|
@@ -77,23 +73,21 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
|
|
|
lastTotal = energyElectricityMapper.getLastMonthTotal(orgId);
|
|
|
for (String stage : stages) {
|
|
|
EnergyElectricityRateVo rate = new EnergyElectricityRateVo();
|
|
|
- BigDecimal proportion = BigDecimal.ZERO;
|
|
|
BigDecimal weekTotal = energyElectricityMapper.getMonthTotalByType(stage, orgId);
|
|
|
- rate.setBuildName(stage+"舍");
|
|
|
- rate.setConsumptionQuantity(weekTotal);
|
|
|
- if (!thisTotal.equals(BigDecimal.ZERO)){
|
|
|
- proportion = weekTotal.divide(thisTotal).multiply(BigDecimal.valueOf(100));
|
|
|
- }
|
|
|
- rate.setProportion(proportion);
|
|
|
+ rate.setName(stage+"舍");
|
|
|
+ rate.setValue(weekTotal);
|
|
|
rateList.add(rate);
|
|
|
}
|
|
|
}
|
|
|
- if (!lastTotal.equals(BigDecimal.ZERO)){
|
|
|
+ if (lastTotal.compareTo(BigDecimal.ZERO) != 0){
|
|
|
qoq = thisTotal.subtract(lastTotal).divide(lastTotal).multiply(BigDecimal.valueOf(100));
|
|
|
+ if (thisTotal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ qoq = BigDecimal.valueOf(0);
|
|
|
+ }
|
|
|
}
|
|
|
electricityProportion.setTotal(thisTotal);
|
|
|
electricityProportion.setQoq(qoq);
|
|
|
- electricityProportion.setRateList(rateList);
|
|
|
+ electricityProportion.setList(rateList);
|
|
|
return electricityProportion;
|
|
|
}
|
|
|
|
|
@@ -110,10 +104,12 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
|
|
|
energyElectricityList = energyElectricityMapper.listWeek(pigpenId);
|
|
|
}else if (type.equals("2")){
|
|
|
energyElectricityList = energyElectricityMapper.listMonth(pigpenId);
|
|
|
- }else {
|
|
|
+ }else if (type.equals("3")){
|
|
|
String startDate = energyElectricityListParm.getStartDate() + " 00:00:00";
|
|
|
String endDate = energyElectricityListParm.getEndDate() + " 23:59:59";
|
|
|
energyElectricityList = energyElectricityMapper.listCustom(pigpenId,startDate,endDate);
|
|
|
+ }else {
|
|
|
+ energyElectricityList = energyElectricityMapper.listSevenDay(pigpenId);
|
|
|
}
|
|
|
electricityTrend.setLocation(location);
|
|
|
electricityTrend.setEnergyElectricityList(energyElectricityList);
|
|
@@ -121,20 +117,20 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public EnergyElectricityTopVo listTop(EnergyElectricityTopParm energyElectricityTopParm, String orgId) {
|
|
|
+ public List<EnergyElectricityTopVo> listTop(EnergyElectricityTopParm energyElectricityTopParm, String orgId) {
|
|
|
String type = energyElectricityTopParm.getType();
|
|
|
- EnergyElectricityTopVo electricityTop;
|
|
|
+ List<EnergyElectricityTopVo> resultList = new ArrayList<>();
|
|
|
if (type.equals("0")){
|
|
|
- electricityTop = energyElectricityMapper.listTodayTop(orgId);
|
|
|
+ resultList = energyElectricityMapper.listTodayTop(orgId);
|
|
|
}else if (type.equals("1")){
|
|
|
- electricityTop = energyElectricityMapper.listWeekTop(orgId);
|
|
|
+ resultList = energyElectricityMapper.listWeekTop(orgId);
|
|
|
}else if (type.equals("2")){
|
|
|
- electricityTop = energyElectricityMapper.listMonthTop(orgId);
|
|
|
+ resultList = energyElectricityMapper.listMonthTop(orgId);
|
|
|
}else {
|
|
|
String startDate = energyElectricityTopParm.getStartDate() + " 00:00:00";
|
|
|
String endDate = energyElectricityTopParm.getEndDate() + " 23:59:59";
|
|
|
- electricityTop = energyElectricityMapper.listCustomTop(orgId,startDate,endDate);
|
|
|
+ resultList = energyElectricityMapper.listCustomTop(orgId,startDate,endDate);
|
|
|
}
|
|
|
- return electricityTop;
|
|
|
+ return resultList;
|
|
|
}
|
|
|
}
|