Selaa lähdekoodia

添加耳标数据查询接口

yang 4 vuotta sitten
vanhempi
commit
d8602feca9

+ 15 - 0
huimv-smart-management/pom.xml

@@ -57,6 +57,21 @@
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
         </plugins>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <configuration>
+                        <source>1.8</source>
+                        <target>1.8</target>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+
+
+
     </build>
 
 </project>

+ 94 - 0
huimv-smart-management/src/main/java/com/huimv/management/controller/EartagDateController.java

@@ -0,0 +1,94 @@
+ package com.huimv.management.controller;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.huimv.management.entity.EartagDateEntity;
+import com.huimv.management.service.EartagDateService;
+import com.huimv.common.utils.PageUtils;
+import com.huimv.common.utils.R;
+
+import static java.lang.Thread.sleep;
+
+
+ /**
+ * 
+ *
+ * @author yinhao
+ * @email yinhao@163.com
+ * @date 2021-06-21 10:00:18
+ */
+@RestController
+@RequestMapping("management/eartagdate")
+public class EartagDateController {
+    @Autowired
+    private EartagDateService eartagDateService;
+
+    /**
+     * 列表
+     */
+    @RequestMapping("/list")
+    public R list(@RequestParam Map<String, Object> params) throws InterruptedException {
+        PageUtils page = eartagDateService.queryPage(params);
+        return R.ok().put("page", page);
+    }
+
+
+     @RequestMapping("/searchDateByCondition")
+     public R listby(@RequestParam Map<String, Object> params) throws InterruptedException {
+         Map ResultMap = eartagDateService.queryPageBytimeAndEartag(params);
+         return R.ok().put("page", ResultMap);
+     }
+
+
+
+
+     /**
+     * 信息
+     */
+    @RequestMapping("/info/{id}")
+    public R info(@PathVariable("id") Integer id){
+		EartagDateEntity eartagDate = eartagDateService.getById(id);
+
+        return R.ok().put("eartagDate", eartagDate);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    public R save(@RequestBody EartagDateEntity eartagDate){
+		eartagDateService.save(eartagDate);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    public R update(@RequestBody EartagDateEntity eartagDate){
+		eartagDateService.updateById(eartagDate);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    public R delete(@RequestBody Integer[] ids){
+		eartagDateService.removeByIds(Arrays.asList(ids));
+
+        return R.ok();
+    }
+
+}

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

@@ -21,4 +21,6 @@ import org.apache.ibatis.annotations.Param;
 public interface DrinkingWaterDao extends BaseMapper<DrinkingWaterEntity> {
 
     IPage<DrinkingWaterVo> page(@Param("page") IPage page, @Param("ew") QueryWrapper queryWrapper);
+
+
 }

+ 25 - 0
huimv-smart-management/src/main/java/com/huimv/management/dao/EartagDateDao.java

@@ -0,0 +1,25 @@
+package com.huimv.management.dao;
+
+import com.huimv.management.entity.EartagDateEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @email yinhao@163.com
+ * @date 2021-06-21 10:00:18
+ */
+@Mapper
+public interface EartagDateDao extends BaseMapper<EartagDateEntity> {
+
+
+
+
+
+
+}

+ 116 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/EartagDateEntity.java

@@ -0,0 +1,116 @@
+package com.huimv.management.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @email yinhao@163.com
+ * @date 2021-06-21 10:00:18
+ */
+@Data
+@TableName("eartag_date")
+public class EartagDateEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 命令头
+	 */
+	private String messageHead;
+	/**
+	 * 设备id
+	 */
+	private String boxId;
+	/**
+	 * 命令
+	 */
+	private String messageCmd;
+	/**
+	 * 版本号
+	 */
+	private String boxVersion;
+	/**
+	 * 耳标号
+	 */
+	private String eartagId;
+	/**
+	 * 耳标电量
+	 */
+	private Integer eartagPower;
+	/**
+	 * 内部温度
+	 */
+	private Double boxInsideTemp;
+	/**
+	 * 耳标温度
+	 */
+	private Double eartagTemp;
+	/**
+	 * 电阻值
+	 */
+	private Integer ntc;
+	/**
+	 * 运动量
+	 */
+	private Integer countSport;
+	/**
+	 * 区间运动量
+	 */
+	private Integer gapSport;
+	/**
+	 * 重启数
+	 */
+	private Integer retstartTimes;
+	/**
+	 * rssyi
+	 */
+	private Integer rssyi;
+	/**
+	 * 上传时间
+	 */
+	private Date createTime;
+	/**
+	 * 环境温度
+	 */
+	private Double environmentTemp;
+	/**
+	 * 校验码
+	 */
+	private Integer checkNumber;
+	/**
+	 * 命令尾
+	 */
+	private String messageEnd;
+	/**
+	 * 牧场名称
+	 */
+	private Integer farmName;
+	/**
+	 * 备用字段 1
+	 */
+	private String backFirst;
+	/**
+	 * 备用字段2
+	 */
+	private String backSecong;
+	/**
+	 * 备用字段3
+	 */
+	private String backThird;
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+}

+ 24 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/EartagDateService.java

@@ -0,0 +1,24 @@
+package com.huimv.management.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.PageUtils;
+import com.huimv.management.entity.EartagDateEntity;
+
+import java.util.Map;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @email yinhao@163.com
+ * @date 2021-06-21 10:00:18
+ */
+public interface EartagDateService extends IService<EartagDateEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+
+
+
+      Map queryPageBytimeAndEartag(Map<String, Object> params);
+}
+

+ 128 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/impl/EartagDateServiceImpl.java

@@ -0,0 +1,128 @@
+package com.huimv.management.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springframework.stereotype.Service;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.PageUtils;
+import com.huimv.common.utils.Query;
+
+import com.huimv.management.dao.EartagDateDao;
+import com.huimv.management.entity.EartagDateEntity;
+import com.huimv.management.service.EartagDateService;
+
+
+@Service("eartagDateService")
+public class EartagDateServiceImpl extends ServiceImpl<EartagDateDao, EartagDateEntity> implements EartagDateService {
+
+
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<EartagDateEntity> page = this.page(
+                new Query<EartagDateEntity>().getPage(params),
+                new QueryWrapper<EartagDateEntity>()
+        );
+
+        return new PageUtils(page);
+    }
+
+
+    @Override
+    public Map queryPageBytimeAndEartag(Map<String, Object> params) {
+
+        //从请求头中找参数  1.耳标ID  2.starttime  3.end_time
+        //构建条件查询wrapper
+        //耳标
+         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");
+
+        Map map1 = new HashMap();
+
+        //格式化传入的时间
+        Date startTime = null;
+        Date endTime = null;
+        try {
+            startTime = fmt.parse(starttime);
+            endTime = fmt.parse(endtime);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+
+          LambdaQueryWrapper<EartagDateEntity> lambdaQuery = Wrappers.lambdaQuery();
+          lambdaQuery.eq(EartagDateEntity::getEartagId,eartag);
+           //过滤时间
+          lambdaQuery.between(EartagDateEntity::getCreateTime,startTime, endTime);
+
+          List<EartagDateEntity> eartagDateEntities = baseMapper.selectList(lambdaQuery);
+
+        List<EartagDateEntity> list = new ArrayList();
+        for (EartagDateEntity data : eartagDateEntities) {
+
+            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 (EartagDateEntity data : list) {
+            timeList.add(fmt.format(data.getCreateTime()));
+            tempList.add(data.getEartagTemp());
+            if (data.getBoxId() == null) {
+                sportsList.add(0);
+            } else {
+                sportsList.add(data.getGapSport());
+            }
+            electricList.add(data.getEartagPower());
+            sleeptime.add(data.getBackFirst());
+            environmenttempList.add(data.getEnvironmentTemp());
+        }
+        map1.put("time",timeList);
+        map1.put("temp",tempList);
+        map1.put("sports",sportsList);
+        map1.put("electric",electricList);
+        map1.put("environmenttemp",environmenttempList);
+        map1.put("sleeptime",sleeptime);
+
+        return map1;
+    }
+
+
+/*
+    public static void main(String[] args) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("d","sa");
+
+        LambdaQueryWrapper<EartagDateEntity> lambdaQuery = Wrappers.lambdaQuery();
+
+        lambdaQuery.eq(EartagDateEntity::getEartagId, "sdasda456");
+        lambdaQuery.between(EartagDateEntity::getCreateTime, new Date(),  new Date());
+
+
+        IPage<EartagDateEntity> page = page(<IPage<EartagDateEntity>>page(
+                new Query<EartagDateEntity>().getPage(params)
+        ), lambdaQuery);
+
+
+        System.out.println("结果为"+page);
+
+
+    }*/
+}
+

+ 1 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/impl/SportTimeServiceImpl.java

@@ -25,6 +25,7 @@ public class SportTimeServiceImpl extends ServiceImpl<SportTimeDao, SportTimeEnt
         String keywords = (String) params.get("keywords");
         //没有参数
         if (keywords == null || keywords.equals("")){
+
             IPage<SportTimeEntity> page = this.page(
                     new Query<SportTimeEntity>().getPage(params),
                     new QueryWrapper<SportTimeEntity>()

+ 10 - 2
huimv-smart-management/src/main/java/com/huimv/management/service/impl/YearPigBaseServiceImpl.java

@@ -140,6 +140,7 @@ public class YearPigBaseServiceImpl extends ServiceImpl<YearPigBaseDao, YearPigB
         if (StringUtils.isNotEmpty(farmId)) {
             queryWrapper.eq("base.farm_id",Integer.parseInt(farmId));
         }
+
         //排除逻辑删除
         queryWrapper.apply(" base.deleted = 0  AND pigsty.deleted = 0 ");
 
@@ -160,11 +161,17 @@ public class YearPigBaseServiceImpl extends ServiceImpl<YearPigBaseDao, YearPigB
         }
     }
 
+
+
     @Override
     public void such(Integer[] ids) {
         pigBaseDao.such(ids);
     }
 
+
+
+
+
     @Override
     public Integer findByoutFenceStatus(int i, Integer farmId) {
         LambdaQueryWrapper<YearPigBaseEntity> wrapper = Wrappers.lambdaQuery();
@@ -175,6 +182,7 @@ public class YearPigBaseServiceImpl extends ServiceImpl<YearPigBaseDao, YearPigB
     }
 
 
+
     @Override
     public   Map<String ,Object> queryPageByRelationship(Map<String, Object> params) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
 
@@ -206,8 +214,6 @@ public class YearPigBaseServiceImpl extends ServiceImpl<YearPigBaseDao, YearPigB
         // result.put("motherfather", motherfather);
 
 
-
-
         Object[] intArr = new Object[7];
         Map<String, String> selfmap = BeanUtils.describe(self);
         selfmap.put("name","self");
@@ -237,6 +243,8 @@ public class YearPigBaseServiceImpl extends ServiceImpl<YearPigBaseDao, YearPigB
         return   result;
     }
 
+
+
     @Override
     public List<CountOut> suchStatistics(String startTime, String endTime, Integer farmId) {
         QueryWrapper<YearPigBaseEntity> wrapper = new QueryWrapper<>();

+ 125 - 0
huimv-smart-management/src/main/java/com/huimv/management/util/DateUtils.java

@@ -0,0 +1,125 @@
+package com.huimv.management.util;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * 日期转换工具
+ * @author guojian
+ */
+public class DateUtils {
+
+	public static final String DATE_FORMAT = "yyyy-MM-dd";
+	public static final String DATE_FORMAT_NUMBER = "yyyyMMdd";
+	public static final String DATE_FORMAT_NUMBER_MONTH = "yyyyMM";
+
+	public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
+	public static final String TIME_FORMAT = "HH:mm:ss";
+
+	public static final String GREENWICH_TIME = "1970-01-01 00:00:00";
+
+	public static String formatDate(Date date, String pattern) {
+		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+		try {
+			return sdf.format(date);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+
+
+	public static String stampToTime(String s) throws Exception{
+		String res;
+		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		long lt = new Long(s);
+		//将时间戳转换为时间
+		Date date = new Date(lt);
+       //将时间调整为yyyy-MM-dd HH:mm:ss时间样式
+		res = simpleDateFormat.format(date);
+		return res;
+
+	}
+
+
+	public static Date parseDate(String dateStr, String pattern) {
+		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+		try {
+			return sdf.parse(dateStr);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+
+	//过去一天
+	public static Date getPassedDay(){
+		Calendar c = Calendar.getInstance();
+		c.setTime(new Date());
+		c.add(Calendar.HOUR, - 1);
+		return c.getTime();
+	}
+
+	//过去七天
+	public static Date getPassedWeek(){
+		SimpleDateFormat format = new SimpleDateFormat(DATETIME_FORMAT);
+		Calendar c = Calendar.getInstance();
+		c.setTime(new Date());
+		c.add(Calendar.DATE, - 7);
+		return c.getTime();
+	}
+
+	//过去三十天
+	public static Date getPassedMonth(){
+		Calendar c = Calendar.getInstance();
+		c.setTime(new Date());
+		c.add(Calendar.DATE, - 30);
+		return c.getTime();
+	}
+
+	//指定时间的周一
+	public static String getWeekFirstStr(Date time) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式
+		return sdf.format(getThisWeekMonday(time));
+	}
+
+	//获取指定日期当月的第一天
+	public static String getMonthFirstStr(Date time){
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(time);
+		calendar.set(Calendar.DAY_OF_MONTH, 1);
+		calendar.add(Calendar.MONTH, 0);
+		return sdf.format(calendar.getTime());
+	}
+
+	public static Date geLastWeekMonday(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(getThisWeekMonday(date));
+		cal.add(Calendar.DATE, -7);
+		return cal.getTime();
+	}
+
+	public static Date getNextWeekMonday(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(getThisWeekMonday(date));
+		cal.add(Calendar.DATE, 7);
+		return cal.getTime();
+	}
+
+	public static Date getThisWeekMonday(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(date);
+		// 获得当前日期是一个星期的第几天
+		int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
+		if (1 == dayWeek) {
+			cal.add(Calendar.DAY_OF_MONTH, -1);
+		}
+		// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
+		cal.setFirstDayOfWeek(Calendar.MONDAY);
+		// 获得当前日期是一个星期的第几天
+		int day = cal.get(Calendar.DAY_OF_WEEK);
+		// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
+		cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
+		return cal.getTime();
+	}
+}

+ 34 - 0
huimv-smart-management/src/main/resources/mapper/management/EartagDateDao.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.huimv.management.dao.EartagDateDao">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.huimv.management.entity.EartagDateEntity" id="eartagDateMap">
+        <result property="id" column="id"/>
+        <result property="messageHead" column="message_head"/>
+        <result property="boxId" column="box_id"/>
+        <result property="messageCmd" column="message_cmd"/>
+        <result property="boxVersion" column="box_version"/>
+        <result property="eartagId" column="eartag_id"/>
+        <result property="eartagPower" column="eartag_power"/>
+        <result property="boxInsideTemp" column="box_inside_temp"/>
+        <result property="eartagTemp" column="eartag_temp"/>
+        <result property="ntc" column="ntc"/>
+        <result property="countSport" column="count_sport"/>
+        <result property="gapSport" column="gap_sport"/>
+        <result property="retstartTimes" column="retstart_times"/>
+        <result property="rssyi" column="rssyi"/>
+        <result property="createTime" column="create_time"/>
+        <result property="environmentTemp" column="environment_temp"/>
+        <result property="checkNumber" column="check_number"/>
+        <result property="messageEnd" column="message_end"/>
+        <result property="farmName" column="farm_name"/>
+        <result property="backFirst" column="back_first"/>
+        <result property="backSecong" column="back_secong"/>
+        <result property="backThird" column="back_third"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+
+
+</mapper>

+ 2 - 0
huimv-smart-management/src/test/java/com/huimv/management/HuimvSmartManagementApplicationTests.java

@@ -8,6 +8,8 @@ class HuimvSmartManagementApplicationTests {
 
     @Test
     void contextLoads() {
+
+
     }
 
 }

+ 11 - 1
huimv-smart-management/src/test/java/com/huimv/management/test01.java

@@ -4,6 +4,9 @@ import com.huimv.management.entity.YearPigBaseEntity;
 import com.huimv.management.service.YearPigBaseService;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public class test01 {
 
 
@@ -14,8 +17,15 @@ public class test01 {
     //为什么没办法注入?因为整个项目没启动。spring的自动注入没有起来,拿东西当然会报错
     public static void main(String[] args) {
 
+         Map<String  ,Object> ma  = new HashMap<>();
+
+         ma.put("eartag","sdasda456");
+         ma.put("starttime","2021-06-21 10:11:40");
+         ma.put("endtime","2021-06-21 10:13:05");
+        System.out.println(ma);
+
+
 
-String ll = "rerer,rere,ererer,erere,rerer";