|
@@ -1,20 +1,25 @@
|
|
package org.jeecg.modules.Statistics.service.impl;
|
|
package org.jeecg.modules.Statistics.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
|
+import org.jeecg.modules.Statistics.entity.Statistics;
|
|
import org.jeecg.modules.Statistics.mapper.StatisticsMapper;
|
|
import org.jeecg.modules.Statistics.mapper.StatisticsMapper;
|
|
import org.jeecg.modules.Statistics.service.IStatisticsService;
|
|
import org.jeecg.modules.Statistics.service.IStatisticsService;
|
|
|
|
+import org.jeecg.modules.common.TableNameConstants;
|
|
|
|
+import org.jeecg.modules.common.TagTypeConstants;
|
|
import org.jeecg.modules.tpmTag.entity.TpmTag;
|
|
import org.jeecg.modules.tpmTag.entity.TpmTag;
|
|
import org.jeecg.modules.tpmTag.mapper.TpmTagMapper;
|
|
import org.jeecg.modules.tpmTag.mapper.TpmTagMapper;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
-import org.jeecg.modules.Statistics.entity.Statistics;
|
|
|
|
-import org.jeecg.common.api.vo.Result;
|
|
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class StatisticsServiceImpl extends ServiceImpl<StatisticsMapper, Statistics> implements IStatisticsService {
|
|
public class StatisticsServiceImpl extends ServiceImpl<StatisticsMapper, Statistics> implements IStatisticsService {
|
|
@@ -26,61 +31,172 @@ public class StatisticsServiceImpl extends ServiceImpl<StatisticsMapper, Statist
|
|
private TpmTagMapper tagMapper;
|
|
private TpmTagMapper tagMapper;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 获取某设备运行信息
|
|
|
|
|
|
+ * 依据设备ID和日期查询 实时数据-列表(日期)
|
|
|
|
+ * @param page
|
|
|
|
+ * @param equipmentid 设备id
|
|
|
|
+ * @param tagtype 点位类型
|
|
|
|
+ * @param day 日期
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public IPage<Statistics> selectRunDataList(Page<Statistics> page, String equipmentid, String tagtype, String day) {
|
|
|
|
+ String tablename = getTableName(tagtype);
|
|
|
|
+ return statisticsMapper.selectDataPagesByDay(page, tablename, equipmentid, day);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 依据设备ID和日期查询 实时数据-列表 实时数据(日期段)
|
|
|
|
+ * @param page
|
|
|
|
+ * @param equipmentid 设备id
|
|
|
|
+ * @param tagtype 点位类型
|
|
|
|
+ * @param begintime 开始日期
|
|
|
|
+ * @param endtime 结束日期
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public IPage<Statistics> selectRunDataList(Page<Statistics> page, String equipmentid, String tagtype,
|
|
|
|
+ String begintime, String endtime) {
|
|
|
|
+ String tablename = getTableName(tagtype);
|
|
|
|
+ return statisticsMapper.selectDataPagesBySectionDay(page, tablename, equipmentid, begintime, endtime);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取某设备实时数据(日期)
|
|
* @param equipmentid 设备ID
|
|
* @param equipmentid 设备ID
|
|
|
|
+ * @param tagtype 点位类型
|
|
* @param day 日期
|
|
* @param day 日期
|
|
|
|
+ * @param queryWrapper 查询参数
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public Map selectRunDataInfo(String equipmentid, String tagtype, String day, QueryWrapper<TpmTag> queryWrapper) {
|
|
|
|
+ // 获取某种点位类型的点位信息
|
|
|
|
+ List<TpmTag> tags = tagMapper.selectList(queryWrapper);
|
|
|
|
+ Map rtn = new HashMap();
|
|
|
|
+ rtn.put("tag", tags);
|
|
|
|
+
|
|
|
|
+ // 获取设备下点位的实时数据
|
|
|
|
+ List<Statistics> statistics = null;
|
|
|
|
+ if (tagtype != null && !"".equals(tagtype)) {
|
|
|
|
+ String tablename = getTableName(tagtype);
|
|
|
|
+ statistics = statisticsMapper.selectDataListByDay(tablename, equipmentid, day);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 依据点位名称,生成各点位的实时数据
|
|
|
|
+ List<Object> list = new ArrayList<>();
|
|
|
|
+ if (tags != null && tags.size() > 0) {
|
|
|
|
+ for (TpmTag tag : tags) {
|
|
|
|
+ list.add(statistics.stream().filter(item -> item.getTagid().equals(tag.getId())).collect(Collectors.toList()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ rtn.put("list", list);
|
|
|
|
+
|
|
|
|
+ return rtn;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取某设备实时数据 实时数据(日期段)
|
|
|
|
+ * @param equipmentid 设备ID
|
|
* @param tagtype 点位类型
|
|
* @param tagtype 点位类型
|
|
|
|
+ * @param begintime 开始日期
|
|
|
|
+ * @param endtime 结束日期
|
|
|
|
+ * @param queryWrapper 查询参数
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public Result getRunInfo(String equipmentid, String day, String tagtype) {
|
|
|
|
|
|
+ public Map selectRunDataInfo(String equipmentid, String tagtype, String begintime,
|
|
|
|
+ String endtime, QueryWrapper<TpmTag> queryWrapper) {
|
|
// 获取某种点位类型的点位信息
|
|
// 获取某种点位类型的点位信息
|
|
- TpmTag tpmTag = new TpmTag();
|
|
|
|
- tpmTag.setEquipmentid(equipmentid);
|
|
|
|
- QueryWrapper<TpmTag> queryWrapper = QueryGenerator.initQueryWrapper(tpmTag, null);
|
|
|
|
List<TpmTag> tags = tagMapper.selectList(queryWrapper);
|
|
List<TpmTag> tags = tagMapper.selectList(queryWrapper);
|
|
|
|
+ Map rtn = new HashMap();
|
|
|
|
+ rtn.put("tag", tags);
|
|
|
|
|
|
// 获取设备下点位的实时数据
|
|
// 获取设备下点位的实时数据
|
|
List<Statistics> statistics = null;
|
|
List<Statistics> statistics = null;
|
|
if (tagtype != null && !"".equals(tagtype)) {
|
|
if (tagtype != null && !"".equals(tagtype)) {
|
|
|
|
+ String tablename = getTableName(tagtype);
|
|
|
|
+
|
|
|
|
+ statistics = statisticsMapper.selectDataListBySectionDay(tablename, equipmentid, begintime, endtime);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 依据点位名称,生成各点位的实时数据
|
|
|
|
+ List<Object> list = new ArrayList<>();
|
|
|
|
+ if (tags != null && tags.size() > 0) {
|
|
|
|
+ for (TpmTag tag : tags) {
|
|
|
|
+ list.add(statistics.stream().filter(item -> item.getTagid().equals(tag.getId())).collect(Collectors.toList()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ rtn.put("list", list);
|
|
|
|
+
|
|
|
|
+ return rtn;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取表名
|
|
|
|
+ * @param tagtype 点位类型
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private String getTableName(String tagtype) {
|
|
|
|
+ String tablename = "";
|
|
|
|
+
|
|
|
|
+ if (tagtype != null && !"".equals(tagtype)) {
|
|
switch (tagtype) {
|
|
switch (tagtype) {
|
|
- case "temp": // 温度
|
|
|
|
- statistics = statisticsMapper.selectTemperature(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.TEMPERATURE: // 温度 0
|
|
|
|
+ tablename = TableNameConstants.TEMPERATURE;
|
|
|
|
+ break;
|
|
|
|
+ case TagTypeConstants.HUMIDITY: // 湿度 1
|
|
|
|
+ tablename = TableNameConstants.HUMIDITY;
|
|
break;
|
|
break;
|
|
- case "humi": // 湿度
|
|
|
|
- statistics = statisticsMapper.selectHumidity(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.NOISE: // 噪声 2
|
|
|
|
+// tablename = TableNameConstants.NOISE;
|
|
break;
|
|
break;
|
|
- case "curr": // 电流
|
|
|
|
- statistics = statisticsMapper.selectCurrent(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.OXYGEN: // 氧浓度 3
|
|
|
|
+// tablename = TableNameConstants.OXYGEN;
|
|
break;
|
|
break;
|
|
- case "volt": // 电压
|
|
|
|
- statistics = statisticsMapper.selectVoltage(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.DEMAND: // 需量 4
|
|
|
|
+ tablename = TableNameConstants.DEMAND;
|
|
break;
|
|
break;
|
|
- case "power": // 功率
|
|
|
|
- statistics = statisticsMapper.selectPower(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.CURRENT: // 电流 5
|
|
|
|
+ tablename = TableNameConstants.CURRENT;
|
|
break;
|
|
break;
|
|
- case "speed": // 转速
|
|
|
|
-// statistics = statisticsMapper.selectCurrent(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.VOLTAGE: // 电压 6
|
|
|
|
+ tablename = TableNameConstants.VOLTAGE;
|
|
break;
|
|
break;
|
|
- case "vacu": // 真空度
|
|
|
|
-// statistics = statisticsMapper.selectCurrent(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.ELECTRICITY: // 电量 7
|
|
|
|
+ tablename = TableNameConstants.ELECTRICITY;
|
|
break;
|
|
break;
|
|
- case "pres": // 压力
|
|
|
|
-// statistics = statisticsMapper.selectCurrent(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.POWER: // 功率 9
|
|
|
|
+ tablename = TableNameConstants.POWER;
|
|
break;
|
|
break;
|
|
- case "flow": // 流量
|
|
|
|
-// statistics = statisticsMapper.selectCurrent(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.COMMUNICATE: // 通讯状态 8
|
|
|
|
+// tablename = TableNameConstants.COMMUNICATE;
|
|
break;
|
|
break;
|
|
- case "ph": // PH计
|
|
|
|
-// statistics = statisticsMapper.selectCurrent(equipmentid, day);
|
|
|
|
|
|
+ case TagTypeConstants.FAULT: // 故障状态 9
|
|
|
|
+ tablename = TableNameConstants.FAULT;
|
|
|
|
+ break;
|
|
|
|
+ case TagTypeConstants.SPEED: // 转速 11
|
|
|
|
+ tablename = TableNameConstants.SPEED;
|
|
|
|
+ break;
|
|
|
|
+ case TagTypeConstants.VACUUM: // 真空度 12
|
|
|
|
+ tablename = TableNameConstants.VACUUM;
|
|
|
|
+ break;
|
|
|
|
+ case TagTypeConstants.PRESSURE: // 压力 13
|
|
|
|
+ tablename = TableNameConstants.PRESSURE;
|
|
|
|
+ break;
|
|
|
|
+ case TagTypeConstants.FLOW: // 流量 14
|
|
|
|
+ tablename = TableNameConstants.FLOW;
|
|
|
|
+ break;
|
|
|
|
+ case TagTypeConstants.PH: // PH计 15
|
|
|
|
+ tablename = TableNameConstants.PH;
|
|
|
|
+ break;
|
|
|
|
+ case TagTypeConstants.OTHER: // 其它 100
|
|
|
|
+// tablename = TableNameConstants.OTHER;
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- Result result = null;
|
|
|
|
-
|
|
|
|
- return result;
|
|
|
|
|
|
+ return tablename;
|
|
}
|
|
}
|
|
}
|
|
}
|