Browse Source

Merge remote-tracking branch 'origin/master'

yang 3 years ago
parent
commit
9d4b56993d
32 changed files with 1062 additions and 79 deletions
  1. 1 1
      smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/resources/application-dev.yml
  2. 31 20
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/Main.java
  3. 34 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/config/CorsConfig.java
  4. 45 7
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/BasePigpenController.java
  5. 8 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/CollectorRegisterController.java
  6. 85 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/DeviceTempController.java
  7. 106 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/PreparePigController.java
  8. 33 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/TestController.java
  9. 33 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/BasePigpenEntity.java
  10. 60 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/DeviceTempEntity.java
  11. 44 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/MovePigpenEntity.java
  12. 91 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/PigBasicInformationEntity.java
  13. 26 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/vo/PigpenVo.java
  14. 25 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/vo/PrepareToTransferNumVo.java
  15. 2 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/CollectorRegisterDao.java
  16. 19 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/DeviceTempDao.java
  17. 20 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/MovePigpenDao.java
  18. 19 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/PigBasicInformationDao.java
  19. 10 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/BasePigpenService.java
  20. 3 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/CollectorRegisterService.java
  21. 20 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/DeviceTempService.java
  22. 154 2
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/BasePigpenServiceImpl.java
  23. 28 7
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/CollectorRegisterServiceImpl.java
  24. 34 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/DeviceTempServiceImpl.java
  25. 6 5
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/EartagDataServiceImpl.java
  26. 0 1
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/FarmStockServiceImpl.java
  27. 75 17
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/utils/Constant.java
  28. 1 1
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/resources/mapper/manager/CollectorRegisterDao.xml
  29. 20 0
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/resources/mapper/manager/DeviceTempDao.xml
  30. 24 16
      smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/test/java/com/huimv/manager/HuimvSmartEartagDataManagerTests.java
  31. 3 0
      smart.eartag.data.platform/huimv-smart-eartag-data-transmission/pom.xml
  32. 2 2
      smart.eartag.data.platform/huimv-smart-eartag-data-transmission/src/main/java/com/huimv/transmission/utils/Query.java

+ 1 - 1
smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/resources/application-dev.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8210
+  port: 9500
 
 spring:
   datasource:

+ 31 - 20
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/Main.java

@@ -1,9 +1,12 @@
 package com.huimv.manager;
 
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.huimv.manager.utils.Constant;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 
@@ -17,27 +20,35 @@ import java.util.Date;
  */
 public class Main {
 
-    public static void main(String[] args) {
+    public static void main(String[] args) throws ParseException {
 
-        long cal1 = System.currentTimeMillis();
-        //执行代码
-        Calendar calendar = Calendar.getInstance();
-        Date time = calendar.getTime();
-        int month = time.getMonth();
-        System.out.println(month);
-//        System.out.println(time);
-        calendar.add(Calendar.MONTH, -1);
-        Date time2 = calendar.getTime();
-//        System.out.println(time2);
-        int i = calendar.get(Calendar.MONTH);
-        System.out.println(i);
-        System.out.println(Constant.SDF_YMD.format(time));
+//        long cal1 = System.currentTimeMillis();
+//        //执行代码
+//        Calendar calendar = Calendar.getInstance();
+//        Date time = calendar.getTime();
+//        int month = time.getMonth();
+//        System.out.println(month);
+////        System.out.println(time);
+//        calendar.add(Calendar.MONTH, -1);
+//        Date time2 = calendar.getTime();
+////        System.out.println(time2);
+//        int i = calendar.get(Calendar.MONTH);
+//        System.out.println(i);
+//        System.out.println(Constant.SDF_YMD.format(time));
+//
+////        //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+////        //System.out.println(sdf.format(new Date()));
+////        System.out.println(DateUtil.format(new Date(), "yyyy-MM-dd"));
+//        //System.out.println(DateUtil.format(DateUtil.endOfYear(DateUtil.parse("2018", Constant.DATE_FORMAT_Y)), Constant.DATE_FORMAT_YMD));
+//        long cal2 = System.currentTimeMillis();
+//        System.out.println(cal2 -cal1);
 
-//        //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-//        //System.out.println(sdf.format(new Date()));
-//        System.out.println(DateUtil.format(new Date(), "yyyy-MM-dd"));
-        //System.out.println(DateUtil.format(DateUtil.endOfYear(DateUtil.parse("2018", Constant.DATE_FORMAT_Y)), Constant.DATE_FORMAT_YMD));
-        long cal2 = System.currentTimeMillis();
-        System.out.println(cal2 -cal1);
+//        System.out.println(Arrays.toString(Constant.MenuType.values()));
+
+        Date parse =  Constant.SDF_YMD.parse("2021-06-24");
+//        System.out.println(parse);
+//        DateTime dateTime = DateUtil.offsetDay(new Date(), -48);
+//        System.out.println(dateTime);
+        System.out.println(DateUtil.betweenDay(parse, new Date(), false));
     }
 }

+ 34 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/config/CorsConfig.java

@@ -0,0 +1,34 @@
+package com.huimv.manager.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/8/11 9:58
+ */
+@Configuration
+public class CorsConfig {
+
+    /**
+     * 开启跨域访问拦截器
+     */
+    @Bean
+    public CorsFilter corsFilter() {
+        CorsConfiguration corsConfiguration = new CorsConfiguration();
+        corsConfiguration.addAllowedOrigin("*");
+        corsConfiguration.addAllowedHeader("*");
+        corsConfiguration.addAllowedMethod("*");
+
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        source.registerCorsConfiguration("/**", corsConfiguration);
+        return new CorsFilter(source);
+    }
+}

+ 45 - 7
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/BasePigpenController.java

@@ -1,6 +1,7 @@
  package com.huimv.manager.controller;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 import com.huimv.manager.result.R;
 import com.huimv.manager.utils.PageUtils;
@@ -25,6 +26,7 @@ import com.huimv.manager.service.BasePigpenService;
 public class BasePigpenController {
     @Autowired
     private BasePigpenService basePigpenService;
+    private Map<String, Object> params;
 
     /**
      * 列表
@@ -32,7 +34,6 @@ public class BasePigpenController {
     @RequestMapping("/list")
     public R list(@RequestParam Map<String, Object> params){
         PageUtils page = basePigpenService.queryPage(params);
-
         return R.ok().put("page", page);
     }
 
@@ -52,7 +53,12 @@ public class BasePigpenController {
      */
     @RequestMapping("/save")
     public R save(@RequestBody BasePigpenEntity basePigpen){
-		basePigpenService.save(basePigpen);
+        String pigpenName = basePigpen.getPigpenName();
+        String[] split = pigpenName.split(",");
+        for (String s : split) {
+            basePigpen.setPigpenName(s);
+            basePigpenService.save(basePigpen);
+        }
 
         return R.ok();
     }
@@ -63,7 +69,6 @@ public class BasePigpenController {
     @RequestMapping("/update")
     public R update(@RequestBody BasePigpenEntity basePigpen){
 		basePigpenService.updateById(basePigpen);
-
         return R.ok();
     }
 
@@ -72,17 +77,17 @@ public class BasePigpenController {
      */
     @RequestMapping("/delete")
     public R delete(@RequestBody Integer[] ids){
-		basePigpenService.removeByIds(Arrays.asList(ids));
-
+        basePigpenService.delete(ids);
+        basePigpenService.removeByIds(Arrays.asList(ids));
         return R.ok();
     }
 
     @RequestMapping("/listAll")
-    public R countAll(){
+    public R listAll(){
         List endList = new ArrayList();
         List<BasePigpenEntity> list = basePigpenService.list();
         for (BasePigpenEntity basePigpenEntity : list) {
-            if (basePigpenEntity.getParentId() ==null){
+            if (basePigpenEntity.getParentId() ==0){
                 Map map =new HashMap();
                 map.put("id",basePigpenEntity.getId());
                 map.put("farmCode",basePigpenEntity.getFarmCode());
@@ -107,6 +112,7 @@ public class BasePigpenController {
                 map.put("parentId",basePigpenEntity.getParentId());
                 map.put("pigpenName",basePigpenEntity.getPigpenName());
                 map.put("type",basePigpenEntity.getType());
+//                map.put("children",getChildren(basePigpenEntity.getId(),list));
                 map.put("children",getChildren(basePigpenEntity.getId(),list));
                 endList.add(map);
             }
@@ -115,4 +121,36 @@ public class BasePigpenController {
     }
 
 
+
+    /*
+    *手机端获得列表
+    */
+    @RequestMapping("/appList")
+    public R appList(@RequestParam Map<String, Object> params){
+        PageUtils page = basePigpenService.appList(params);
+        return R.ok().put("page", page);
+    }
+
+    /*
+     *手机端获得栋舍数量
+     */
+    @RequestMapping("/appCountPigpen")
+    public R appCountPigpen(@RequestParam Map<String, Object> params){
+        Map list = basePigpenService.appCountPigpen(params);
+
+
+        return R.ok().put("page", list);
+    }
+
+
+    /*
+     *手机端温度曲线
+     */
+    @RequestMapping("/appTemp")
+    public R appTemp(@RequestParam Map<String, Object> params){
+        List list = basePigpenService.appTemp(params);
+
+
+        return R.ok().put("page", list);
+    }
 }

+ 8 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/CollectorRegisterController.java

@@ -17,6 +17,7 @@ import com.huimv.manager.service.BaseRegionService;
 import com.huimv.manager.service.EartagDataService;
 import com.huimv.manager.utils.Query;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.*;
 
 import com.huimv.manager.service.CollectorRegisterService;
@@ -177,4 +178,11 @@ public class CollectorRegisterController {
     public R selectEveryStatusCollectors() {
         return collectorRegisterService.selectPcEveryStatusCollectors();
     }
+
+//    @GetMapping("/updateAcqStatus")
+    @Scheduled(cron = "0 0/10 * * * ?")
+    public void updateAcqStatus() {
+        List<CollectorRegisterEntity> list = collectorRegisterService.list();
+        collectorRegisterService.updateAcqStatus(list);
+    }
 }

+ 85 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/DeviceTempController.java

@@ -0,0 +1,85 @@
+ package com.huimv.manager.controller;
+
+import java.util.Arrays;
+import java.util.Map;
+
+import com.huimv.manager.entity.DeviceTempEntity;
+import com.huimv.manager.result.R;
+import com.huimv.manager.service.DeviceTempService;
+import com.huimv.manager.utils.PageUtils;
+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;
+
+
+
+
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-08-11 17:22:28
+ */
+@RestController
+@RequestMapping("management/devicetemp")
+public class DeviceTempController {
+    @Autowired
+    private DeviceTempService deviceTempService;
+
+    /**
+     * 列表
+     */
+    @RequestMapping("/list")
+    public R list(@RequestParam Map<String, Object> params){
+        PageUtils page = deviceTempService.queryPage(params);
+
+        return R.ok().put("page", page);
+    }
+
+
+    /**
+     * 信息
+     */
+    @RequestMapping("/info/{id}")
+    public R info(@PathVariable("id") Integer id){
+		DeviceTempEntity deviceTemp = deviceTempService.getById(id);
+
+        return R.ok().put("deviceTemp", deviceTemp);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    public R save(@RequestBody DeviceTempEntity deviceTemp){
+		deviceTempService.save(deviceTemp);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    public R update(@RequestBody DeviceTempEntity deviceTemp){
+		deviceTempService.updateById(deviceTemp);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    public R delete(@RequestBody Integer[] ids){
+		deviceTempService.removeByIds(Arrays.asList(ids));
+
+        return R.ok();
+    }
+
+}

+ 106 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/PreparePigController.java

@@ -0,0 +1,106 @@
+package com.huimv.manager.controller;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.manager.entity.MovePigpenEntity;
+import com.huimv.manager.entity.PigBasicInformationEntity;
+import com.huimv.manager.mapper.MovePigpenDao;
+import com.huimv.manager.mapper.PigBasicInformationDao;
+import com.huimv.manager.result.R;
+import com.huimv.manager.result.RRException;
+import com.huimv.manager.utils.Constant;
+import com.huimv.manager.utils.PageUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 待转猪只Controller
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/8/11 9:49
+ */
+@CrossOrigin
+@RestController
+@RequestMapping("/prepareTrans")
+public class PreparePigController {
+
+    private final int breeding = 50;
+    private final int childbirth = 50;
+    private final int threadshold = 5;
+
+    @Autowired
+    private MovePigpenDao movePigpenDao;
+
+    @Autowired
+    private PigBasicInformationDao pigBasicInformationDao;
+
+    @RequestMapping("/prepareCountAndDetail")
+    public R countPrepareAmountAndListPigDetail(Integer type,
+                                                @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        int breed = Constant.Stage.PEIZHONG.getType();
+        if (type != null && type != breed && type != Constant.Stage.FENMIAN.getType()) {
+            throw new RRException("type参数有误,请检查");
+        }
+
+        LambdaQueryWrapper<MovePigpenEntity> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(MovePigpenEntity::getStage, breed);
+        List<MovePigpenEntity> breedingList = movePigpenDao.selectList(lambdaQuery);
+
+        List<String> prepareToTransList = filterEligibleEartags(breedingList, breeding);
+        int prepareToTransNum = prepareToTransList.size();
+
+        lambdaQuery.clear();
+
+        lambdaQuery.eq(MovePigpenEntity::getStage, Constant.Stage.FENMIAN.getType());
+        List<MovePigpenEntity> childbirthList = movePigpenDao.selectList(lambdaQuery);
+        List<String> weaningList = filterEligibleEartags(childbirthList, childbirth);
+        int weaningNum = weaningList.size();
+
+        List<String> list = CollUtil.newArrayList(prepareToTransList);
+        if (type == null) {
+            list.addAll(prepareToTransList);
+            list.addAll(weaningList);
+        } else if (type == breed) {
+            list.addAll(prepareToTransList);
+        } else {
+            list.addAll(weaningList);
+        }
+
+        IPage<PigBasicInformationEntity> iPage = new Page<>(pageNum, pageSize);
+
+        LambdaQueryWrapper<PigBasicInformationEntity> eartagLambdaQuery = Wrappers.lambdaQuery();
+        IPage<PigBasicInformationEntity> page = new Page<>(pageNum, pageSize);
+        if (CollUtil.isNotEmpty(list)) {
+            eartagLambdaQuery.in(PigBasicInformationEntity::getEartagNo, list);
+             page = pigBasicInformationDao.selectPage(iPage, eartagLambdaQuery);
+        }
+
+        PageUtils pageUtils = new PageUtils(page);
+        return Objects.requireNonNull(Objects.requireNonNull(R.ok().put("prepareToTransNum", prepareToTransNum)).put("weaningNum", weaningNum)).put("page", pageUtils);
+    }
+
+    private List<String> filterEligibleEartags(List<MovePigpenEntity> list, Integer type) {
+        return list.stream()
+                .filter(movePigpenEntity -> DateUtil.betweenDay(movePigpenEntity.getMoveDate(), new Date(), false) > type - threadshold)
+                .sorted((o1, o2) -> (int) (o2.getMoveDate().getTime() - o1.getMoveDate().getTime()))
+                .map(MovePigpenEntity::getEartagNo)
+                .collect(Collectors.toList());
+    }
+}

+ 33 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/TestController.java

@@ -0,0 +1,33 @@
+package com.huimv.manager.controller;
+
+import com.huimv.manager.service.BasePigpenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.Map;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/8/6 14:09
+ */
+@RestController
+@RequestMapping("/test")
+@CrossOrigin
+public class TestController {
+
+    @Autowired
+    private BasePigpenService basePigpenService;
+
+
+    @PostMapping("/list")
+    public String list(@RequestBody Integer[] params) {
+        System.out.println(Arrays.toString(params));
+        return "ok";
+    }
+
+}

+ 33 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/BasePigpenEntity.java

@@ -2,9 +2,12 @@ package com.huimv.manager.entity;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 栋舍表
@@ -36,6 +39,36 @@ public class BasePigpenEntity implements Serializable {
      */
     private Integer type;
 
+
+    /**
+     * 牧场编号
+     */
     private String farmCode;
 
+    /**
+     * 猪舍温度
+     */
+    private Double pigpenTemp;
+
+    /**
+     * 异常状态 1.正常 2.异常
+     */
+    private Integer tempAnomaly;
+
+
+    private Object children;
+
+    /**
+     * 阶段
+     */
+    private Integer stage;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GTM+8")
+    private Date creatTime;
+
+
+
 }

+ 60 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/DeviceTempEntity.java

@@ -0,0 +1,60 @@
+package com.huimv.manager.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
+ * @version ${version}
+ * @date 2021-08-11 17:22:28
+ */
+@Data
+@TableName("device_temp")
+public class DeviceTempEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 
+	 */
+	private String header;
+	/**
+	 * 
+	 */
+	private String deviceCode;
+	/**
+	 * 
+	 */
+	private Integer cmd;
+	/**
+	 * 
+	 */
+	private Integer serialNo;
+	/**
+	 * 
+	 */
+	private Double tempValue;
+	/**
+	 * 
+	 */
+	private Date createDate;
+	/**
+	 * 
+	 */
+	private Integer checkCode;
+	/**
+	 * 
+	 */
+	private String tail;
+
+}

+ 44 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/MovePigpenEntity.java

@@ -0,0 +1,44 @@
+package com.huimv.manager.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-07-28 09:57:42
+ */
+@Data
+@TableName("move_pigpen")
+public class MovePigpenEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 耳标号
+	 */
+	private String eartagNo;
+	/**
+	 * 转舍日期
+	 */
+	private Date moveDate;
+	/**
+	 * 当前阶段
+	 */
+	private Integer stage;
+	/**
+	 * 设备编码
+	 */
+	private String deviceCode;
+
+}

+ 91 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/PigBasicInformationEntity.java

@@ -0,0 +1,91 @@
+package com.huimv.manager.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-08-11 17:05:02
+ */
+@Data
+@TableName("pig_basic_information")
+public class PigBasicInformationEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 耳标号
+	 */
+	private String eartagNo;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 机器编码
+	 */
+	private String deviceCode;
+	/**
+	 * 猪的出生日期
+	 */
+	private Date birthDay;
+	/**
+	 * 佩标日期
+	 */
+	private Date wearTagTime;
+	/**
+	 * 牧场编号
+	 */
+	private String farmCode;
+	/**
+	 * 牧场名称
+	 */
+	private String farmName;
+	/**
+	 * 猪舍id
+	 */
+	private Integer penId;
+	/**
+	 * 猪舍名称
+	 */
+	private String penName;
+	/**
+	 * 单元id
+	 */
+	private Integer unitId;
+	/**
+	 * 单元名称
+	 */
+	private String unitName;
+	/**
+	 * 县id
+	 */
+	private Integer countyId;
+	/**
+	 * 县名称
+	 */
+	private String countyName;
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+
+	private Integer stage;
+
+}

+ 26 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/vo/PigpenVo.java

@@ -0,0 +1,26 @@
+package com.huimv.manager.entity.vo;
+
+import lombok.Data;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.manager.entity.vo
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2021/8/11 0011 15:17
+ **/
+@Data
+public class PigpenVo {
+
+    private String pigpenName;
+
+    private Double pigpenTemp;
+
+    private Integer tempAnomaly;
+
+    private Integer stage;
+
+    private Integer countPig;
+
+
+}

+ 25 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/vo/PrepareToTransferNumVo.java

@@ -0,0 +1,25 @@
+package com.huimv.manager.entity.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/8/11 15:29
+ */
+@Data
+public class PrepareToTransferNumVo implements Serializable {
+    private static final long serialVersionUID = -2124453539588836968L;
+
+
+    private Integer willGoToDeliveryNum;
+
+    private Integer willWeaningNum;
+
+
+}

+ 2 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/CollectorRegisterDao.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.manager.entity.vo.CollectorRegisterVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 /**
  * 
@@ -17,6 +18,7 @@ import org.apache.ibatis.annotations.Param;
  * @date 2021-07-24 16:29:33
  */
 @Mapper
+@Repository
 public interface CollectorRegisterDao extends BaseMapper<CollectorRegisterEntity> {
 
     IPage<CollectorRegisterVo> page(@Param("page")IPage page,@Param(Constants.WRAPPER) QueryWrapper<CollectorRegisterEntity> wrapper);

+ 19 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/DeviceTempDao.java

@@ -0,0 +1,19 @@
+package com.huimv.manager.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.manager.entity.DeviceTempEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-08-11 17:22:28
+ */
+@Mapper
+@Repository
+public interface DeviceTempDao extends BaseMapper<DeviceTempEntity> {
+	
+}

+ 20 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/MovePigpenDao.java

@@ -0,0 +1,20 @@
+package com.huimv.manager.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.manager.entity.MovePigpenEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-07-28 09:57:42
+ */
+@Mapper
+@Repository
+public interface MovePigpenDao extends BaseMapper<MovePigpenEntity> {
+	
+}

+ 19 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/mapper/PigBasicInformationDao.java

@@ -0,0 +1,19 @@
+package com.huimv.manager.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.manager.entity.PigBasicInformationEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 
+ * 
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-08-11 17:05:02
+ */
+@Mapper
+@Repository
+public interface PigBasicInformationDao extends BaseMapper<PigBasicInformationEntity> {
+	
+}

+ 10 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/BasePigpenService.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.manager.entity.BasePigpenEntity;
 
 import com.huimv.manager.utils.PageUtils;
+
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -17,5 +19,13 @@ import java.util.Map;
 public interface BasePigpenService extends IService<BasePigpenEntity> {
 
     PageUtils queryPage(Map<String, Object> params);
+
+    Map appCountPigpen(Map<String, Object> params);
+
+    PageUtils appList(Map<String, Object> params);
+
+    void delete(Integer[] ids);
+
+    List appTemp(Map<String, Object> params);
 }
 

+ 3 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/CollectorRegisterService.java

@@ -24,5 +24,8 @@ public interface CollectorRegisterService extends IService<CollectorRegisterEnti
     R selectEveryStatusCollectors(String farmCode);
 
     R selectPcEveryStatusCollectors();
+
+
+    void updateAcqStatus(List<CollectorRegisterEntity> list);
 }
 

+ 20 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/DeviceTempService.java

@@ -0,0 +1,20 @@
+package com.huimv.manager.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.manager.entity.DeviceTempEntity;
+import com.huimv.manager.utils.PageUtils;
+
+import java.util.Map;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-08-11 17:22:28
+ */
+public interface DeviceTempService extends IService<DeviceTempEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+}
+

+ 154 - 2
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/BasePigpenServiceImpl.java

@@ -1,10 +1,25 @@
 package com.huimv.manager.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.manager.entity.CollectorRegisterEntity;
+import com.huimv.manager.entity.DeviceTempEntity;
+import com.huimv.manager.entity.PigBasicInformationEntity;
+import com.huimv.manager.entity.vo.PigpenVo;
 import com.huimv.manager.mapper.BasePigpenDao;
+import com.huimv.manager.mapper.CollectorRegisterDao;
+import com.huimv.manager.mapper.DeviceTempDao;
+import com.huimv.manager.mapper.PigBasicInformationDao;
+import com.huimv.manager.result.RRException;
 import com.huimv.manager.utils.PageUtils;
 import com.huimv.manager.utils.Query;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import java.util.Map;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -23,14 +38,151 @@ import com.huimv.manager.service.BasePigpenService;
 @Service("basePigpenService")
 public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenDao, BasePigpenEntity> implements BasePigpenService {
 
+    @Autowired
+    private CollectorRegisterDao collectorRegisterDao;
+
+    @Autowired
+    private DeviceTempDao deviceTempDao;
+
+    @Autowired
+    private PigBasicInformationDao pigBasicInformationDao;
+
+
+
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
+        String farmCode = (String)params.get("farmCode");
+        String createStartTime = (String)params.get("createStartTime");
+        String createEndTime = (String)params.get("createEndTime");
+        String stage = (String)params.get("stage");
+        String name = (String)params.get("name");
+
+        QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
+        wrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
+        wrapper.eq("type",1);
+        wrapper.le(StringUtils.isNotBlank(createEndTime),"creat_time",createEndTime);
+        wrapper.ge(StringUtils.isNotBlank(createStartTime),"creat_time",createStartTime);
+        if (StringUtils.isNotBlank(stage)){
+            wrapper.eq("stage",Integer.parseInt(stage));
+        }
+
+        wrapper.like(StringUtils.isNotBlank(name),"name",name);
+
+
         IPage<BasePigpenEntity> page = this.page(
                 new Query<BasePigpenEntity>().getPage(params),
-                new QueryWrapper<BasePigpenEntity>()
+                wrapper
         );
 
+        for (BasePigpenEntity record : page.getRecords()) {
+            Integer id = record.getId();
+            wrapper.clear();
+            wrapper.eq("parent_id",id);
+            record.setChildren(baseMapper.selectList(wrapper));
+        }
+
+
         return new PageUtils(page);
     }
 
+    @Override
+    public PageUtils appList(Map<String, Object> params) {
+        String farmCode = (String)params.get("farmCode");
+        String stage = (String)params.get("stage");
+        QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
+        wrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
+        wrapper.eq("type",2);
+        if (StringUtils.isNotBlank(stage)){
+            wrapper.eq("stage",Integer.parseInt(stage));
+        }
+
+        IPage<BasePigpenEntity> page = this.page(
+                new Query<BasePigpenEntity>().getPage(params),
+                wrapper
+        );
+
+
+        List<PigpenVo> pigpenVos = new ArrayList<>();
+        QueryWrapper<PigBasicInformationEntity> pigBasicInformationEntityQueryWrapper = new QueryWrapper<>();
+        for (BasePigpenEntity record : page.getRecords()) {
+            Integer id = record.getId();
+            Integer parentId = record.getParentId();
+            pigBasicInformationEntityQueryWrapper.eq("unit_id",id);
+            Integer countPig = pigBasicInformationDao.selectCount(pigBasicInformationEntityQueryWrapper);
+            PigpenVo pigpenVo = new PigpenVo();
+            BasePigpenEntity basePigpenEntity = baseMapper.selectById(parentId);
+
+            pigpenVo.setPigpenName(basePigpenEntity.getPigpenName()+record.getPigpenName());
+            pigpenVo.setPigpenTemp(record.getPigpenTemp());
+            pigpenVo.setStage(record.getStage());
+            pigpenVo.setTempAnomaly(record.getTempAnomaly());
+
+
+            pigpenVo.setCountPig(countPig);
+            pigpenVos.add(pigpenVo);
+
+        }
+
+        IPage<PigpenVo> page1 = new Page();
+        page1.setRecords(pigpenVos);
+
+
+        return new PageUtils(page1);
+
+    }
+
+    @Override
+    public Map appCountPigpen(Map<String, Object> params) {
+        String farmCode = (String)params.get("farmCode");
+        if (StringUtils.isBlank(farmCode)){
+            throw new RRException("请选择牧场");
+        }
+
+        QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
+        wrapper.eq("farm_code",farmCode);
+        List<BasePigpenEntity> basePigpenEntities = baseMapper.selectList(wrapper);
+        long pigpen = basePigpenEntities.stream()
+                .filter(o -> o.getType() == 1).count();
+        long unit = basePigpenEntities.stream()
+                .filter(o -> o.getType() == 2).count();
+        Map map = new HashMap();
+        map.put("pigpen",pigpen);
+        map.put("unit",unit);
+        return  map;
+
+
+    }
+
+
+    @Override
+    public void delete(Integer[] ids) {
+        QueryWrapper<BasePigpenEntity> wrapper = new QueryWrapper<>();
+        wrapper.in("parent_id",ids);
+        baseMapper.delete(wrapper);
+    }
+
+
+    @Override
+    public List appTemp(Map<String, Object> params) {
+
+        String unitId = (String)params.get("unitId");
+        String createStartDate =(String)params.get("createStartDate");
+        String createEndDate =(String)params.get("createEndDate");
+
+
+        QueryWrapper<CollectorRegisterEntity> collectorRegisterEntityQueryWrapper = new QueryWrapper<>();
+        collectorRegisterEntityQueryWrapper.eq("unit_id",unitId);
+        List<CollectorRegisterEntity> collectorRegisterEntities = collectorRegisterDao.selectList(collectorRegisterEntityQueryWrapper);
+        if (collectorRegisterEntities == null || collectorRegisterEntities.size() == 0){
+            throw new RRException("该栋舍下没有传感器");
+        }
+        String deviceCode = collectorRegisterEntities.get(0).getDeviceCode();
+        QueryWrapper<DeviceTempEntity> deviceTempEntityQueryWrapper = new QueryWrapper<>();
+        deviceTempEntityQueryWrapper.eq("device_code",deviceCode);
+        deviceTempEntityQueryWrapper.le("device_code",createEndDate);
+        deviceTempEntityQueryWrapper.ge("device_code",createStartDate);
+
+
+        return  deviceTempDao.selectList(deviceTempEntityQueryWrapper);
+    }
 }

+ 28 - 7
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/CollectorRegisterServiceImpl.java

@@ -1,11 +1,14 @@
 package com.huimv.manager.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huimv.manager.entity.BaseRegionEntity;
+import com.huimv.manager.entity.EartagDataEntity;
 import com.huimv.manager.entity.vo.CollectorRegisterVo;
 import com.huimv.manager.mapper.BaseRegionDao;
 import com.huimv.manager.mapper.CollectorRegisterDao;
+import com.huimv.manager.mapper.EartagDataDao;
 import com.huimv.manager.result.R;
 import com.huimv.manager.result.RRException;
 import com.huimv.manager.utils.Constant;
@@ -13,10 +16,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -55,10 +55,12 @@ public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterD
 
         wrapper.like(StringUtils.isNotBlank(deviceCode),"register.device_code",deviceCode);
         if(StringUtils.isNotBlank(countyName)){
-            wrapper.like("register.county_name",countyName).or().like("register.county_code",countyName);
+//            wrapper.like("register.county_name",countyName).or().like("register.county_code",countyName);
+            wrapper.apply("(register.county_name LIKE '%"+countyName+"%' OR register.county_code LIKE '%"+countyName+"%')");
         }
         if (StringUtils.isNotBlank(farmName)){
-            wrapper.like("register.farm_name",farmName).or().like("register.farm_code",farmName);
+//            wrapper.like("register.farm_name",farmName).or().like("register.farm_code",farmName);
+            wrapper.apply("(register.farm_name LIKE '%"+farmName+"%' OR register.farm_name LIKE '%"+farmName+"%')");
         }
 
 
@@ -85,7 +87,7 @@ public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterD
         }
 
 
-        wrapper.apply("register.del_status  = 1");
+//        wrapper.apply("register.del_status  = 1");
 
         String sortord = (String)params.get("sortord");
         wrapper.orderByDesc(StringUtils.isNotBlank(sortord),sortord);
@@ -173,4 +175,23 @@ public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterD
 
         return R.ok().put("data", map);
     }
+
+
+    @Autowired
+    private EartagDataDao eartagDataDao;
+    @Override
+    public void updateAcqStatus(List<CollectorRegisterEntity> list) {
+        for (CollectorRegisterEntity collectorRegisterEntity : list) {
+            String deviceCode = collectorRegisterEntity.getDeviceCode();
+            QueryWrapper<EartagDataEntity> wrapper = new QueryWrapper<>();
+            wrapper.eq("",deviceCode);
+            Date now = new Date();
+            wrapper.ge("time", DateUtil.offsetMinute(now,-10));
+            Integer integer = eartagDataDao.selectCount(wrapper);
+            if (integer == 0){
+                collectorRegisterEntity.setAcqStatus(2);
+                baseMapper.updateById(collectorRegisterEntity);
+            }
+        }
+    }
 }

+ 34 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/DeviceTempServiceImpl.java

@@ -0,0 +1,34 @@
+package com.huimv.manager.service.impl;
+
+import com.huimv.manager.entity.DeviceTempEntity;
+import com.huimv.manager.mapper.DeviceTempDao;
+import com.huimv.manager.service.DeviceTempService;
+import com.huimv.manager.utils.PageUtils;
+import com.huimv.manager.utils.Query;
+import org.springframework.stereotype.Service;
+import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * 
+ *
+ * @author yinhao
+ * @version ${version}
+ * @date 2021-08-11 17:22:28
+ */
+@Service("deviceTempService")
+public class DeviceTempServiceImpl extends ServiceImpl<DeviceTempDao, DeviceTempEntity> implements DeviceTempService {
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<DeviceTempEntity> page = this.page(
+                new Query<DeviceTempEntity>().getPage(params),
+                new QueryWrapper<DeviceTempEntity>()
+        );
+
+        return new PageUtils(page);
+    }
+
+}

+ 6 - 5
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/EartagDataServiceImpl.java

@@ -117,8 +117,8 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
             QueryWrapper<EartagDataEntity> wrapper = new QueryWrapper<>();
             wrapper.eq("farm_code", farmCode);
             wrapper.ge("time", DateUtil.beginOfDay(now));
-
-            wrapper.apply("id IN (SELECT MAX(id) from  eartag_data group by eartag_no)");
+//            wrapper.groupBy(" eartag_no");
+            wrapper.apply("id IN (SELECT MAX(id) from  eartag_data where time >='"+DateUtil.beginOfDay(now)+"' group by eartag_no)");
             List<EartagDataEntity> eartagDataEntities = baseMapper.selectList(wrapper);
 
 
@@ -126,14 +126,14 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
             wrapper.clear();
             wrapper.eq("farm_code", farmCode);
 
+            wrapper.le("time", DateUtil.beginOfDay(now));
             wrapper.ge("time", DateUtil.offsetDay(DateUtil.beginOfDay(now), -1));
-
-            wrapper.apply("id IN (SELECT MAX(id) from  eartag_data group by eartag_no)");
+//            wrapper.groupBy(" eartag_no");
+            wrapper.apply("id IN (SELECT MAX(id) from  eartag_data where  time <='"+ DateUtil.beginOfDay(now)+"' AND time >= '"+DateUtil.offsetDay(DateUtil.beginOfDay(now), -1)+"' group by eartag_no)");
             List<EartagDataEntity> yesterdayEartagDataEntities = baseMapper.selectList(wrapper);
 
 
 
-
             Integer allSow =0;
 
             List<String> sowEartagDataEntities =new ArrayList<>();
@@ -161,6 +161,7 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
 
             //拷贝
             List sowEartagDataEntities1 = ObjectUtil.cloneByStream(sowEartagDataEntities);
+            List yesterdayEartagDataEntities1 = ObjectUtil.cloneByStream(yesterdayEartagDataEntities);
 
             //得到新增
             sowEartagDataEntities.removeAll(sowYesterdayEartagDataEntities);

+ 0 - 1
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/FarmStockServiceImpl.java

@@ -23,7 +23,6 @@ import java.util.stream.Stream;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import sun.jvm.hotspot.debugger.Page;
 
 
 /**

+ 75 - 17
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/utils/Constant.java

@@ -1,8 +1,8 @@
 /**
  * Copyright (c) 2016-2019 人人开源 All rights reserved.
- *
+ * <p>
  * https://www.renren.io
- *
+ * <p>
  * 版权所有,侵权必究!
  */
 
@@ -16,8 +16,8 @@ import java.text.SimpleDateFormat;
  * @author Mark sunlightcs@gmail.com
  */
 public class Constant {
-	/** 超级管理员ID */
-	public static final int SUPER_ADMIN = 1;
+    /** 超级管理员ID */
+    public static final int SUPER_ADMIN = 1;
     /**
      * 当前页码
      */
@@ -38,18 +38,19 @@ public class Constant {
      *  升序
      */
     public static final String ASC = "asc";
-	/**
-	 * 菜单类型
-	 * 
-	 * @author chenshun
-	 * @email sunlightcs@gmail.com
-	 * @date 2016年11月15日 下午1:24:29
-	 */
+
+    /**
+     * 菜单类型
+     *
+     * @author chenshun
+     * @email sunlightcs@gmail.com
+     * @date 2016年11月15日 下午1:24:29
+     */
     public enum MenuType {
         /**
          * 目录
          */
-    	CATALOG(0),
+        CATALOG(0),
         /**
          * 菜单
          */
@@ -69,10 +70,67 @@ public class Constant {
             return value;
         }
     }
-    
+
+    /**
+     * 阶段类型
+     */
+    public enum Stage {
+
+        /**
+         * 配种
+         */
+        PEIZHONG(1),
+        /**
+         * 分娩
+         */
+        FENMIAN(2),
+        /**
+         * 保育
+         */
+        BAOYU(3),
+        /**
+         * 育肥
+         */
+        YUFEI(4),
+        /**
+         * 空怀
+         */
+        KONGHUAI(5),
+        /**
+         * 后备母猪
+         */
+        HOUBEI(6),
+        /**
+         * 公猪
+         */
+        GONGZHU(7),
+        /**
+         * 病死场内收集
+         */
+        BINGSI_INNNER(8),
+        /**
+         * 病死集中收集
+         */
+        BINGSI_CONCENTRATION(9),
+        /**
+         * 病死无害化处理中心
+         */
+        BINGSI_HARMLESS(10);
+
+        private int type;
+
+        Stage(int type) {
+            this.type = type;
+        }
+
+        public int getType() {
+            return type;
+        }
+    }
+
     /**
      * 定时任务状态
-     * 
+     *
      * @author chenshun
      * @email sunlightcs@gmail.com
      * @date 2016年12月3日 上午12:07:22
@@ -81,18 +139,18 @@ public class Constant {
         /**
          * 正常
          */
-    	NORMAL(0),
+        NORMAL(0),
         /**
          * 暂停
          */
-    	PAUSE(1);
+        PAUSE(1);
 
         private int value;
 
         ScheduleStatus(int value) {
             this.value = value;
         }
-        
+
         public int getValue() {
             return value;
         }

+ 1 - 1
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/resources/mapper/manager/CollectorRegisterDao.xml

@@ -51,7 +51,7 @@
         join base_pigpen pigpen on pigpen.id = register.pigpen_id
         join base_pigpen unit on unit.id = register.unit_id
 
-      ${ew.customSqlSegment}
+      ${ew.customSqlSegment}     AND register.del_status = 1
     </select>
 
 

+ 20 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/resources/mapper/manager/DeviceTempDao.xml

@@ -0,0 +1,20 @@
+<?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.manager.mapper.DeviceTempDao">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.huimv.manager.entity.DeviceTempEntity" id="deviceTempMap">
+        <result property="id" column="id"/>
+        <result property="header" column="header"/>
+        <result property="deviceCode" column="device_code"/>
+        <result property="cmd" column="cmd"/>
+        <result property="serialNo" column="serial_no"/>
+        <result property="tempValue" column="temp_value"/>
+        <result property="createDate" column="create_date"/>
+        <result property="checkCode" column="check_code"/>
+        <result property="tail" column="tail"/>
+    </resultMap>
+
+
+</mapper>

+ 24 - 16
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/test/java/com/huimv/manager/HuimvSmartEartagDataManagerTests.java

@@ -3,8 +3,10 @@ package com.huimv.manager;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huimv.manager.entity.BaseRegionEntity;
 import com.huimv.manager.entity.dto.DataAnalysisDto;
 import com.huimv.manager.entity.vo.DayStockVo;
 import com.huimv.manager.entity.vo.SunAreaStockVo;
@@ -50,31 +52,37 @@ public class HuimvSmartEartagDataManagerTests {
 //        List<BaseRegionEntity> all = baseRegionDao.selectList(Wrappers.<BaseRegionEntity>lambdaQuery().eq(BaseRegionEntity::getParentCode, "001"));
 //        all.stream().filter()
 
-        DataAnalysisDto dataAnalysisDto = new DataAnalysisDto();
-        dataAnalysisDto.setRegionCode("001");
-        String start = dataAnalysisDto.getStart();
-        if (StringUtils.isEmpty(start)) {
-            start = DateUtil.format(DateUtil.offsetMonth(DateUtil.date(), -1), "yyyy-MM-dd");
-        }
-        String end = dataAnalysisDto.getEnd();
-        if (StringUtils.isEmpty(end)) {
-            end = DateUtil.format(DateUtil.date(), "yyyy-MM-dd");
-        }
+//        DataAnalysisDto dataAnalysisDto = new DataAnalysisDto();
+//        dataAnalysisDto.setRegionCode("001");
+//        String start = dataAnalysisDto.getStart();
+//        if (StringUtils.isEmpty(start)) {
+//            start = DateUtil.format(DateUtil.offsetMonth(DateUtil.date(), -1), "yyyy-MM-dd");
+//        }
+//        String end = dataAnalysisDto.getEnd();
+//        if (StringUtils.isEmpty(end)) {
+//            end = DateUtil.format(DateUtil.date(), "yyyy-MM-dd");
+//        }
 
 //        List<DayStockVo> dayStockVoList =  dailyTabulateDataDao.getDayStockByRegion(query);
 //        System.out.println(dayStockVoList);
 
 
-        QueryWrapper<SunAreaStockVo> sunAreaQuery = Wrappers.query();
-        sunAreaQuery.eq("farm.province", dataAnalysisDto.getRegionCode())
-                .ge("dtd.statistic_date", start)
-                .le("dtd.statistic_date", end)
-                .groupBy("farm.city", "dtd.statistic_date")
-                .orderByDesc("dtd.statistic_date");
+//        QueryWrapper<SunAreaStockVo> sunAreaQuery = Wrappers.query();
+//        sunAreaQuery.eq("farm.province", dataAnalysisDto.getRegionCode())
+//                .ge("dtd.statistic_date", start)
+//                .le("dtd.statistic_date", end)
+//                .groupBy("farm.city", "dtd.statistic_date")
+//                .orderByDesc("dtd.statistic_date");
 //        List<SunAreaStockVo> sunAreaStockVoList = dailyTabulateDataDao.getCityPigStock(sunAreaQuery);
 
 //        System.out.println(sunAreaStockVoList);
 
+        LambdaQueryWrapper<BaseRegionEntity> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(1 > 2,BaseRegionEntity::getRegionCode, "330100")
+                .or().apply("region_name = {0}", "杭州市");
+        List<BaseRegionEntity> list = baseRegionDao.selectList(lambdaQuery);
+        System.out.println(list);
+
     }
 
     @Test

+ 3 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-transmission/pom.xml

@@ -27,4 +27,7 @@
     </dependencies>
 
 
+
+
+
 </project>

+ 2 - 2
smart.eartag.data.platform/huimv-smart-eartag-data-transmission/src/main/java/com/huimv/transmission/utils/Query.java

@@ -41,8 +41,8 @@ public class Query<T> {
         //分页对象
         Page<T> page = new Page<>(curPage, limit);
 
-        //分页参数
-        params.put(Constant.PAGE, page);
+//        //分页参数
+//        params.put(Constant.PAGE, page);
 
         //排序字段
         //防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)