|
@@ -13,10 +13,7 @@ import com.usky.backend.domain.request.HistoryQueryVo;
|
|
|
import com.usky.backend.domain.request.LastQueryVo;
|
|
|
import com.usky.backend.domain.response.HistoryResultVo;
|
|
|
import com.usky.backend.domain.response.LastResultVo;
|
|
|
-import com.usky.backend.domain.vo.DataAverageExportVO;
|
|
|
-import com.usky.backend.domain.vo.DataAverageRequestVO;
|
|
|
-import com.usky.backend.domain.vo.DataAverageResponseVO;
|
|
|
-import com.usky.backend.domain.vo.DataHistoryAvergerVO;
|
|
|
+import com.usky.backend.domain.vo.*;
|
|
|
import com.usky.backend.mapper.DataRealTimeMapper;
|
|
|
import com.usky.backend.service.*;
|
|
|
import net.sf.ehcache.search.expression.IsNull;
|
|
@@ -26,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -113,6 +111,45 @@ public class DataQueryServiceImpl implements DataQueryService {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<Map<String,Object>> deviceDataTotal(DataTotalRequestVO requestVO){
|
|
|
+ List<Map<String,Object>> list = new ArrayList<>();
|
|
|
+ //设备类型简称
|
|
|
+ String typeAbbrevia = dataRealTimeMapper.QueryDeviceTypeAbbrevia(requestVO.getDeviceType());
|
|
|
+ String tableName = "data_"+typeAbbrevia+"_history";
|
|
|
+
|
|
|
+ List<DataHistoryTotalVO> list1 = new ArrayList<>();
|
|
|
+ if(requestVO.getGroupType().equals("Each")){
|
|
|
+ list1 = dataRealTimeMapper.QueryEachHistoryTotalData(tableName,requestVO.getStartTime(),requestVO.getEndTime(),requestVO.getProductCode(),requestVO.getDeviceIds(),requestVO.getAttributeNames());
|
|
|
+ }else if(requestVO.getGroupType().equals("Total")){
|
|
|
+ list1 = dataRealTimeMapper.QueryTotalHistoryTotalData(tableName,requestVO.getStartTime(),requestVO.getEndTime(),requestVO.getProductCode(),requestVO.getAttributeNames());
|
|
|
+ }
|
|
|
+ if(CollectionUtils.isNotEmpty(list1)){
|
|
|
+ List<String> deviceIdList = new ArrayList<>();
|
|
|
+ for(int i=0;i<list1.size();i++){
|
|
|
+ if(!deviceIdList.contains(list1.get(i).getDeviceId())){
|
|
|
+ deviceIdList.add(list1.get(i).getDeviceId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(CollectionUtils.isNotEmpty(deviceIdList)){
|
|
|
+ for(int j=0;j<deviceIdList.size();j++){
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+
|
|
|
+ map.put("deviceId",deviceIdList.get(j));
|
|
|
+
|
|
|
+ for(int k=0;k<list1.size();k++){
|
|
|
+ if(deviceIdList.get(j).equals(list1.get(k).getDeviceId())){
|
|
|
+ map.put(list1.get(k).getAttributeName(),list1.get(k).getTotalValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<DataAverageResponseVO> deviceDataAverage(DataAverageRequestVO requestVO){
|
|
|
List<DataAverageResponseVO> list = new ArrayList<>();
|