Browse Source

1、优化用能查询

dev
v-lijf43 2 weeks ago
parent
commit
c46c26ff8e
  1. 8
      user-service/src/main/java/com/mh/user/service/impl/DataResultServiceImpl.java
  2. 11
      user-service/src/main/java/com/mh/user/service/impl/EnergyServiceImpl.java
  3. 10
      user-service/src/main/java/com/mh/user/service/impl/SummaryServiceImpl.java

8
user-service/src/main/java/com/mh/user/service/impl/DataResultServiceImpl.java

@ -36,6 +36,7 @@ public class DataResultServiceImpl implements DataResultService {
double initValue=0;
double curValue=0;
double dayValue=0;
double newCurValue = 0;
int days=0;
try{
Date date=new Date(); //获取系统日期
@ -47,9 +48,16 @@ public class DataResultServiceImpl implements DataResultService {
double ratio=deviceInstallEntity.getRatio(); //倍率
initValue=deviceInstallEntity.getInitValue();
dayValue=deviceInstallEntity.getDayValue();
newCurValue = deviceInstallEntity.getLastValue();
if(dataResultEntity.getDeviceType().equals("电表")){
if (dataResultEntity.getCurValue() - newCurValue > 2000) {
return;
}
dayValue=1000;
}else{
if (dataResultEntity.getCurValue() - newCurValue > 300) {
return;
}
dayValue=100;
}
//判断是否有记录

11
user-service/src/main/java/com/mh/user/service/impl/EnergyServiceImpl.java

@ -119,7 +119,15 @@ public class EnergyServiceImpl implements EnergyService {
buildingId = "所有";
} else if (level == 1) {
// 根据区域id获取所有楼栋 id
List<String> buildingIds = buildingService.queryBuildingIdListByAreaId(buildingId);
// 如果是属于华夏的,只需要对应area_id
String customName = dealDataService.customName();
List<String> buildingIds = new ArrayList<>();
if (customName.contains(Constant.CUSTOM_NAME_HUAXIA)) {
String areaId = areaService.selectById(buildingId).getAreaId();
buildingIds.add(areaId);
} else {
buildingIds = buildingService.queryBuildingIdListByAreaId(buildingId);
}
if(type==1) {
r=energyMapper.getAreaEnergyDayCount(buildingIds,startDate,endDate, page, limit);
}else if (type==2){
@ -127,6 +135,7 @@ public class EnergyServiceImpl implements EnergyService {
} else if (type==3){
r=energyMapper.getAreaEnergyYearCount(buildingIds,startDate,endDate, page, limit);
}
return r;
}
if(type==1) {
r=energyMapper.getEnergyDayCount(buildingId,startDate,endDate, page, limit);

10
user-service/src/main/java/com/mh/user/service/impl/SummaryServiceImpl.java

@ -45,10 +45,10 @@ public class SummaryServiceImpl implements SummaryService {
@Override
public EnergySumEntity queryEnergySum(String buildingId, String curDate, int type, int level) {
// 判断层级属于校区
if (level == 1) {
String customName = dealDataService.customName();
if (level == 1 && !customName.contains(Constant.CUSTOM_NAME_HUAXIA)) {
// 根据buildingId查询对应的所有楼栋id
// 如果是属于华夏的,只需要对应area_id
String customName = dealDataService.customName();
List<String> strings = new ArrayList<>();
if (customName.contains(Constant.CUSTOM_NAME_HUAXIA)) {
String areaId = areaMapper.selectById(buildingId).getAreaId();
@ -171,8 +171,12 @@ public class SummaryServiceImpl implements SummaryService {
result.setElectWaterP(calculateRatio(curPerElect, lastPerElect));
return result;
} else if (level == 0) {
buildingId = "所有";
}
if (customName.contains(Constant.CUSTOM_NAME_HUAXIA) && level != 0) {
buildingId = areaMapper.selectById(buildingId).getAreaId();
}
if (type == 1) {
return summaryMapper.queryEnergyDaySum(buildingId, curDate); //日
} else if (type == 2) {

Loading…
Cancel
Save