|
@@ -3,29 +3,22 @@ package com.bizmatics.service.impl;
|
|
|
import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
|
|
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
|
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
|
|
|
-import cn.afterturn.easypoi.excel.export.template.ExcelExportOfTemplateUtil;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.bizmatics.common.core.exception.BusinessException;
|
|
|
-import com.bizmatics.common.core.util.BeanMapperUtils;
|
|
|
import com.bizmatics.common.core.util.DateUtils;
|
|
|
import com.bizmatics.common.core.util.FileUtils;
|
|
|
import com.bizmatics.common.core.util.StringUtils;
|
|
|
+import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
import com.bizmatics.common.spring.util.GlobalUtils;
|
|
|
-import com.bizmatics.model.*;
|
|
|
+import com.bizmatics.model.Device;
|
|
|
+import com.bizmatics.model.HtAnalogData;
|
|
|
+import com.bizmatics.model.RtAnalogData;
|
|
|
import com.bizmatics.persistence.mapper.DeviceMapper;
|
|
|
import com.bizmatics.persistence.mapper.RtAnalogDataMapper;
|
|
|
-import com.bizmatics.persistence.mapper.SiteMapper;
|
|
|
import com.bizmatics.service.RtAnalogDataService;
|
|
|
-import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
-import com.bizmatics.service.SiteService;
|
|
|
-import com.bizmatics.service.UserSiteService;
|
|
|
import com.bizmatics.service.util.Arith;
|
|
|
import com.bizmatics.service.util.SessionLocal;
|
|
|
import com.bizmatics.service.vo.RadCountVO;
|
|
|
-import com.bizmatics.service.vo.HtAnalogDataExportVO;
|
|
|
import org.apache.commons.lang3.ArrayUtils;
|
|
|
-import org.apache.ibatis.annotations.Param;
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -36,7 +29,6 @@ import java.io.FileOutputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -49,8 +41,7 @@ import java.util.stream.Stream;
|
|
|
@Service
|
|
|
public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMapper, RtAnalogData> implements RtAnalogDataService {
|
|
|
|
|
|
- @Autowired
|
|
|
- private UserSiteService userSiteService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private DeviceMapper deviceMapper;
|
|
|
|
|
@@ -61,6 +52,7 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
|
|
|
AtomicReference<Integer> heavyLoad = new AtomicReference<>(0);
|
|
|
AtomicReference<Integer> easyLoad = new AtomicReference<>(0);
|
|
|
AtomicReference<Integer> norMalLoad = new AtomicReference<>(0);
|
|
|
+ AtomicReference<Integer> count = new AtomicReference<>(0);
|
|
|
List<Device> deviceList = deviceMapper.list(userId, null, null, null, null, null);
|
|
|
List<RtAnalogData> list = baseMapper.list(userId);
|
|
|
for (Device device:deviceList) {
|
|
@@ -76,23 +68,27 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
|
|
|
}
|
|
|
}
|
|
|
if (installedCapacityDouble < 0.4){
|
|
|
- easyLoad.getAndSet(easyLoad.get() + 1);
|
|
|
+ easyLoad.getAndSet(easyLoad.get()+1);
|
|
|
}else if (installedCapacityDouble >= 0.4 && installedCapacityDouble <= 0.8){
|
|
|
- norMalLoad.getAndSet(norMalLoad.get() + 1);
|
|
|
+ norMalLoad.getAndSet(norMalLoad.get()+1);
|
|
|
}else {
|
|
|
heavyLoad.getAndSet(heavyLoad.get() + 1);
|
|
|
}
|
|
|
+ count.getAndSet(count.get() + 1);
|
|
|
});
|
|
|
|
|
|
}
|
|
|
- int count = deviceList.size();
|
|
|
RadCountVO radCountVO = new RadCountVO();
|
|
|
- radCountVO.setHeavyLoad(Arith.div(heavyLoad.get(),count));
|
|
|
- radCountVO.setEasyLoad(Arith.div(easyLoad.get(),count));
|
|
|
- radCountVO.setNorMalLoad(Arith.div(norMalLoad.get(),count));
|
|
|
+ radCountVO.setHeavyLoad(subRadio(heavyLoad.get(),count.get()));
|
|
|
+ radCountVO.setEasyLoad(subRadio(easyLoad.get(),count.get()));
|
|
|
+ radCountVO.setNorMalLoad(Arith.sub(1,Arith.add(radCountVO.getEasyLoad(),radCountVO.getHeavyLoad())));
|
|
|
return radCountVO;
|
|
|
}
|
|
|
|
|
|
+ public Double subRadio(Integer typeCount,Integer count){
|
|
|
+ return Optional.of(count).filter(total -> total != 0).map(sub -> Arith.div(typeCount,sub)).orElse(0.00);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Map<String, Object>> getOne(Integer siteId) {
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|