|
...
|
...
|
@@ -2,6 +2,7 @@ package com.zhonglai.luhui.api.service; |
|
|
|
|
|
|
|
import com.google.common.base.CaseFormat;
|
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
import com.zhonglai.luhui.api.controller.data.DeviceSensorData;
|
|
|
|
import com.zhonglai.luhui.api.controller.data.SensorData;
|
|
|
|
import com.zhonglai.luhui.api.controller.data.TableGenerateSqlEnum;
|
|
...
|
...
|
@@ -310,18 +311,69 @@ public class DataService { |
|
|
|
|
|
|
|
if(null != list && list.size() !=0 && null != list.get(0) && null != list.get(0).get("ct") && (list.get(0).get("ct")+"").equals("1"))
|
|
|
|
{
|
|
|
|
list = publicMapper.getObjectListBySQL("select * from `ly-device-data`.`"+deviceInfoId+"-"+dataType+"` where (`time` % "+interval+")=0 and `time`>="+startTime+" and `time`<="+endTime+"");
|
|
|
|
list = publicMapper.getObjectListBySQL("select *,(`time` % "+interval+") asb from `ly-device-data`.`"+deviceInfoId+"-"+dataType+"` where ((`time` % "+interval+")=0 OR `value`<>'') AND `time`>="+startTime+" and `time`<="+endTime+" order by `time` asc");
|
|
|
|
|
|
|
|
if(null != list && list.size() !=0 )
|
|
|
|
{
|
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
|
|
|
|
|
for(Map<String,Object> map:list)
|
|
|
|
|
|
|
|
for(int i=0;i<list.size();i++)
|
|
|
|
{
|
|
|
|
sb.append(map.get("time"));
|
|
|
|
sb.append(",");
|
|
|
|
sb.append(map.get("value"));
|
|
|
|
sb.append("\r\n");
|
|
|
|
Map<String,Object> map = list.get(i);
|
|
|
|
if(StringUtils.isNotEmpty((String)map.get("value")))
|
|
|
|
{
|
|
|
|
sb.append(map.get("time"));
|
|
|
|
sb.append(",");
|
|
|
|
sb.append(map.get("value"));
|
|
|
|
sb.append("\r\n");
|
|
|
|
}else{
|
|
|
|
String svalue = (String) map.get("value");
|
|
|
|
Long sasb = 0l;
|
|
|
|
if (i-1>=0)
|
|
|
|
{
|
|
|
|
|
|
|
|
String object = (String) list.get(i-1).get("value");
|
|
|
|
if((Long) list.get(i-1).get("asb")!=0 && !"".equals(object)){
|
|
|
|
svalue = object;
|
|
|
|
sasb = (Long) list.get(i-1).get("asb");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
String xvalue = (String) map.get("value");
|
|
|
|
Long xasb = 0l;
|
|
|
|
if (i+1<list.size())
|
|
|
|
{
|
|
|
|
String object = (String) list.get(i+1).get("value");
|
|
|
|
if((Long) list.get(i+1).get("asb")!=0 && !"".equals(object)){
|
|
|
|
xvalue = object;
|
|
|
|
xasb = (Long) list.get(i+1).get("asb");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(!"".equals(svalue) && !"".equals(xvalue) )
|
|
|
|
{
|
|
|
|
if(sasb-xasb>=0)
|
|
|
|
{
|
|
|
|
sb.append(map.get("time"));
|
|
|
|
sb.append(",");
|
|
|
|
sb.append(xvalue);
|
|
|
|
sb.append("\r\n");
|
|
|
|
}else {
|
|
|
|
sb.append(map.get("time"));
|
|
|
|
sb.append(",");
|
|
|
|
sb.append(svalue);
|
|
|
|
sb.append("\r\n");
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
sb.append(map.get("time"));
|
|
|
|
sb.append(",");
|
|
|
|
sb.append( svalue+""+xvalue);
|
|
|
|
sb.append("\r\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
// 销毁数据源 在执行方法之后
|
|
|
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
...
|
...
|
|