|
@@ -1,10 +1,9 @@
|
|
|
package com.bizmatics.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.bizmatics.common.core.util.DateUtils;
|
|
|
import com.bizmatics.common.core.util.StringUtils;
|
|
|
-import com.bizmatics.model.RtAnalogData;
|
|
|
-import com.bizmatics.model.Site;
|
|
|
-import com.bizmatics.model.UserSite;
|
|
|
+import com.bizmatics.model.*;
|
|
|
import com.bizmatics.persistence.mapper.RtAnalogDataMapper;
|
|
|
import com.bizmatics.service.RtAnalogDataService;
|
|
|
import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
@@ -13,10 +12,10 @@ import com.bizmatics.service.UserSiteService;
|
|
|
import com.bizmatics.service.util.Arith;
|
|
|
import com.bizmatics.service.util.SessionLocal;
|
|
|
import com.bizmatics.service.vo.RadCountVO;
|
|
|
+import org.apache.commons.lang3.ArrayUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
@@ -120,38 +119,95 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
|
|
|
@Override
|
|
|
public List<Map<String, Object>> getDataReport(Integer siteId,Date startTime, Date endTime,String queryType) {
|
|
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ SimpleDateFormat formatter1 = new SimpleDateFormat("MM-dd HH:mm");
|
|
|
+ SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
- Map<String, Object> radMap = baseMapper.getDataReportMap(siteId,startTime,endTime);
|
|
|
- Object value = radMap.get("LoadLive");
|
|
|
-
|
|
|
-// String[] result = queryType.split(",");
|
|
|
-// for (int i = 0; i < result.length; i++) {
|
|
|
-// System.out.println(result[i]);
|
|
|
-// }
|
|
|
-
|
|
|
- for (String name : radMap.keySet()) {
|
|
|
+ String a="2";
|
|
|
+ List<HtAnalogData> rtAnalogDataList = null;
|
|
|
+ long diff = endTime.getTime() - startTime.getTime();
|
|
|
+ long days = diff / (1000 * 60 * 60);
|
|
|
+
|
|
|
+ if (days<=24){
|
|
|
+ rtAnalogDataList = baseMapper.getDataReportMap(siteId, startTime, endTime);
|
|
|
+ }else if (days<360&&days>24){
|
|
|
+ List<Device> device_list = baseMapper.getDeviceListMap(siteId);
|
|
|
+ rtAnalogDataList = baseMapper.getDataReportMMap(device_list,startTime, endTime);
|
|
|
+ }else if (days>=360){
|
|
|
+ List<Device> device_list = baseMapper.getDeviceListMap(siteId);
|
|
|
+ rtAnalogDataList = baseMapper.getDataReportDMap(device_list,startTime, endTime);
|
|
|
+ }
|
|
|
+ String[] result = queryType.split(",");
|
|
|
+ rtAnalogDataList.forEach(rtAnalogData -> {
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
- if (queryType.startsWith("bgbhg_183__Ia")){
|
|
|
- map.put("name",name);
|
|
|
+ if (ArrayUtils.contains(result,"I")){
|
|
|
+ map.put("Ia",rtAnalogData.getIa());
|
|
|
+ map.put("Ib",rtAnalogData.getIb());
|
|
|
+ map.put("Ic",rtAnalogData.getIc());
|
|
|
+ if (ArrayUtils.contains(result,"P")){
|
|
|
+ map.put("P",rtAnalogData.getP());
|
|
|
+ map.put("Q",rtAnalogData.getQ());
|
|
|
+ map.put("Pa",rtAnalogData.getPa());
|
|
|
+ map.put("Pb",rtAnalogData.getPb());
|
|
|
+ map.put("Pc",rtAnalogData.getPc());
|
|
|
+ map.put("Qa",rtAnalogData.getQa());
|
|
|
+ map.put("Qb",rtAnalogData.getQb());
|
|
|
+ map.put("Qc",rtAnalogData.getQc());
|
|
|
+ map.put("Demand",rtAnalogData.getDemand());
|
|
|
+ if (ArrayUtils.contains(result,"KWh")){
|
|
|
+ map.put("Epn",rtAnalogData.getEpn());
|
|
|
+ map.put("Epp",rtAnalogData.getEpp());
|
|
|
+ map.put("Eqn",rtAnalogData.getEqn());
|
|
|
+ map.put("Eqp",rtAnalogData.getEqp());
|
|
|
+ if (ArrayUtils.contains(result,"V")){
|
|
|
+ map.put("Ua",rtAnalogData.getUa());
|
|
|
+ map.put("Ub",rtAnalogData.getUb());
|
|
|
+ map.put("Uc",rtAnalogData.getUc());
|
|
|
+ map.put("Uab",rtAnalogData.getUab());
|
|
|
+ map.put("Ubc",rtAnalogData.getUbc());
|
|
|
+ map.put("Uca",rtAnalogData.getUca());
|
|
|
+ map.put("Ul",rtAnalogData.getUl());
|
|
|
+ if (ArrayUtils.contains(result,"C")){
|
|
|
+ map.put("T1",rtAnalogData.getT1());
|
|
|
+ map.put("T2",rtAnalogData.getT2());
|
|
|
+ map.put("T3",rtAnalogData.getT3());
|
|
|
+ map.put("T4",rtAnalogData.getT4());
|
|
|
+ map.put("Ic",rtAnalogData.getIc());
|
|
|
+ if (ArrayUtils.contains(result,"HZ")){
|
|
|
+ map.put("F",rtAnalogData.getF());
|
|
|
+ if (queryType.startsWith("PS")){
|
|
|
+ map.put("COSa",rtAnalogData.getCOSa());
|
|
|
+ map.put("COSb",rtAnalogData.getCOSb());
|
|
|
+ map.put("COSc",rtAnalogData.getCOSc());
|
|
|
+ map.put("COS",rtAnalogData.getCos());
|
|
|
+ if (ArrayUtils.contains(result,"RMS")){
|
|
|
+ map.put("IHa",rtAnalogData.getIHa());
|
|
|
+ map.put("IHb",rtAnalogData.getIHb());
|
|
|
+ map.put("IHc",rtAnalogData.getIHc());
|
|
|
+ if (ArrayUtils.contains(result,"DDB")){
|
|
|
+ map.put("SignalIntensity",rtAnalogData.getSignalIntensity());
|
|
|
+ if (ArrayUtils.contains(result,"VT")){
|
|
|
+ map.put("Upt",rtAnalogData.getUpt());
|
|
|
+ map.put("Udt",rtAnalogData.getUdt());
|
|
|
+ map.put("Ust",rtAnalogData.getUst());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (days<=24){
|
|
|
+ map.put("dataTime",rtAnalogData.getDataTime());
|
|
|
+ }else if (days<360&&days>24){
|
|
|
+ map.put("dataTime", DateUtils.format(rtAnalogData.getDataTime(),"MM-dd HH:mm"));
|
|
|
+ }else if (days>=360){
|
|
|
+ map.put("dataTime", DateUtils.format(rtAnalogData.getDataTime(),DateUtils.PARSE_PATTERNS[8]));
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- map.put("value",addUnit(name,radMap.get(name).toString()));
|
|
|
list.add(map);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-// Map<String,Object> map = new HashMap<>();
|
|
|
-// map.put("LoadLive",value);
|
|
|
-// list.add(map);
|
|
|
-
|
|
|
-
|
|
|
-// Map<String, Object> LoopStatusList = baseMapper.getLoopStatusListMap(siteId);
|
|
|
-//// Iterator<String> it = radMap.keySet().iterator();
|
|
|
-
|
|
|
-// int duration=0;
|
|
|
-
|
|
|
-
|
|
|
+ });
|
|
|
return list;
|
|
|
}
|
|
|
}
|