Browse Source

耳标service等

yang 4 năm trước cách đây
mục cha
commit
895c35b487

+ 2 - 0
huimv-smart-management/src/main/java/com/huimv/management/dao/EartagDataDao.java

@@ -3,6 +3,7 @@ package com.huimv.management.dao;
 import com.huimv.management.entity.EartagDataEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
 
 /**
  * 
@@ -12,6 +13,7 @@ import org.apache.ibatis.annotations.Mapper;
  * @date 2021-06-21 10:00:18
  */
 @Mapper
+@Repository
 public interface EartagDataDao extends BaseMapper<EartagDataEntity> {
 
 }

+ 5 - 3
huimv-smart-management/src/main/java/com/huimv/management/service/EartagDataService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.common.utils.PageUtils;
 import com.huimv.management.entity.EartagDataEntity;
 
+import java.text.ParseException;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -17,10 +19,10 @@ public interface EartagDataService extends IService<EartagDataEntity> {
 
     PageUtils queryPage(Map<String, Object> params);
 
-
-
-      Map queryPageBytimeAndEartag(Map<String, Object> params);
+    Map queryPageBytimeAndEartag(Map<String, Object> params) throws ParseException;
 
     Map getTemperatureCurve(Map<String, Object> params);
+
+    List<Map<String,String>> querySleepTimeBytimeAndEartag(Map<String, Object> params) throws ParseException;
 }
 

+ 56 - 41
huimv-smart-management/src/main/java/com/huimv/management/service/impl/EartagDataServiceImpl.java

@@ -3,10 +3,8 @@ package com.huimv.management.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -26,8 +24,12 @@ import com.huimv.management.service.EartagDataService;
 @Service("eartagDataService")
 public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagDataEntity> implements EartagDataService {
 
+
+
+
     @Autowired
-    private EartagDataDao eartagDataDao;
+    private EartagDataDao eartagDateDao;
+
 
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
@@ -41,8 +43,7 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
 
 
     @Override
-    public Map queryPageBytimeAndEartag(Map<String, Object> params) {
-
+    public Map<String,List> queryPageBytimeAndEartag(Map<String, Object> params) throws ParseException {
         //从请求头中找参数  1.耳标ID  2.starttime  3.end_time
         //构建条件查询wrapper
         //耳标
@@ -50,42 +51,27 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
         String starttime = (String) params.get("startTime");
         String endtime = (String) params.get("endTime");
         DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-        Map map1 = new HashMap();
+        Map<String,List> map1 = new HashMap();
 
         //格式化传入的时间
-        Date startTime = null;
-        Date endTime = null;
-        try {
-            startTime = fmt.parse(starttime);
-            endTime = fmt.parse(endtime);
-        } catch (ParseException e) {
-            e.printStackTrace();
-        }
+            Date  startTime = fmt.parse(starttime);
+            Date   endTime = fmt.parse(endtime);
+
 
           LambdaQueryWrapper<EartagDataEntity> lambdaQuery = Wrappers.lambdaQuery();
           lambdaQuery.eq(EartagDataEntity::getEartagId,eartag);
            //过滤时间
           lambdaQuery.between(EartagDataEntity::getCreateTime,startTime, endTime);
+          List<EartagDataEntity> eartagDateEntities = baseMapper.selectList(lambdaQuery);
 
-          List<EartagDataEntity> eartagDataEntities = baseMapper.selectList(lambdaQuery);
-
-        List<EartagDataEntity> list = new ArrayList();
-        for (EartagDataEntity data : eartagDataEntities) {
+        List<String> timeList = new ArrayList<>();
+        List<Double>  tempList = new ArrayList<>();
+        List<Integer>  sportsList = new ArrayList<>();
+        List<Integer> electricList = new ArrayList<>();
+        List<Double> environmenttempList = new ArrayList<>();
+        List<Integer> sleeptime = new ArrayList<>();
 
-            Date times = data.getCreateTime();
-            if (startTime.before(times) && endTime.after(times)){
-                list.add(data);
-            }
-        }
-        List timeList = new ArrayList();
-        List tempList = new ArrayList();
-        List sportsList = new ArrayList();
-        List electricList = new ArrayList();
-        List environmenttempList = new ArrayList();
-        List sleeptime = new ArrayList();
-
-        for (EartagDataEntity data : list) {
+        for (EartagDataEntity data : eartagDateEntities) {
             timeList.add(fmt.format(data.getCreateTime()));
             tempList.add(data.getEartagTemp());
             if (data.getBoxId() == null) {
@@ -94,7 +80,7 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
                 sportsList.add(data.getGapSport());
             }
             electricList.add(data.getEartagPower());
-            sleeptime.add(data.getBackFirst());
+            sleeptime.add(data.getSleepStatus());  //backfirst  用来存睡眠状态了
             environmenttempList.add(data.getEnvironmentTemp());
         }
         map1.put("time",timeList);
@@ -107,6 +93,36 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
         return map1;
     }
 
+
+
+    //获取睡眠时间段的方法
+    @Override
+    public List<Map<String,String>> querySleepTimeBytimeAndEartag(Map<String, Object> params) throws ParseException {
+        String eartag = (String) params.get("eartag");
+        String starttime = (String) params.get("startTime");
+        String endtime = (String) params.get("endTime");
+        DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //格式化传入的时间
+        Date  startTime = fmt.parse(starttime);
+        Date  endTime = fmt.parse(endtime);
+        LambdaQueryWrapper<EartagDataEntity> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(EartagDataEntity::getEartagId,eartag);
+        lambdaQuery.eq(EartagDataEntity::getSleepGap,1);
+        //过滤时间
+        lambdaQuery.between(EartagDataEntity::getCreateTime,startTime, endTime);
+        List<EartagDataEntity> eartagDataEntities = baseMapper.selectList(lambdaQuery);
+        List<Map<String,String>> list = new ArrayList<>();
+        for (EartagDataEntity eartagDataEntity : eartagDataEntities) {
+                Map<String,String> map = new HashMap();
+                map.put("starttime",fmt.format(eartagDataEntity.getCreateTime()));
+                map.put("endtime",fmt.format(eartagDataEntity.getCreateTime()));
+                map.put("status", String.valueOf(eartagDataEntity.getSleepGap()));
+                map.put("timegap",eartagDataEntity.getRemark());
+                list.add(map);
+        }
+        return list ;
+    }
+
     @Override
     public Map getTemperatureCurve(Map<String, Object> params) {
         String eartag = (String)params.get("eartag");
@@ -114,18 +130,17 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
         String endTime = (String)params.get("endTime");
 
         LambdaQueryWrapper<EartagDataEntity> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(StringUtils.isNotBlank(eartag), EartagDataEntity::getEartagId,eartag);
+        lambdaQuery.le(StringUtils.isNotBlank(endTime), EartagDataEntity::getCreateTime,endTime);
+        lambdaQuery.ge(StringUtils.isNotBlank(startTime), EartagDataEntity::getCreateTime,startTime);
 
-        lambdaQuery.eq(StringUtils.isNotBlank(eartag),EartagDataEntity::getEartagId,eartag);
-        lambdaQuery.le(StringUtils.isNotBlank(endTime),EartagDataEntity::getCreateTime,endTime);
-        lambdaQuery.ge(StringUtils.isNotBlank(startTime),EartagDataEntity::getCreateTime,startTime);
-
-        List<EartagDataEntity> eartagDataEntities = baseMapper.selectList(lambdaQuery);
+        List<EartagDataEntity> eartagDateEntities = baseMapper.selectList(lambdaQuery);
 
         List timeList = new ArrayList();
         List dataList = new ArrayList();
-        for (EartagDataEntity eartagDataEntity : eartagDataEntities) {
-            timeList.add(eartagDataEntity.getCreateTime());
-            dataList.add(eartagDataEntity.getEartagTemp());
+        for (EartagDataEntity eartagDateEntity : eartagDateEntities) {
+            timeList.add(eartagDateEntity.getCreateTime());
+            dataList.add(eartagDateEntity.getEartagTemp());
         }
 
         Map map = new HashMap();