Bläddra i källkod

2021/6/10 16:23 环境管理

yinhao 4 år sedan
förälder
incheckning
ddc5e0f069
35 ändrade filer med 751 tillägg och 171 borttagningar
  1. 1 0
      huimv-smart-common/src/main/java/com/huimv/common/exception/RRExceptionHandler.java
  2. 2 0
      huimv-smart-management/src/main/java/com/huimv/management/Abc.java
  3. 39 0
      huimv-smart-management/src/main/java/com/huimv/management/controller/DrinkingWaterController.java
  4. 17 17
      huimv-smart-management/src/main/java/com/huimv/management/controller/PastureController.java
  5. 9 14
      huimv-smart-management/src/main/java/com/huimv/management/controller/IndoorEnvironmentController.java
  6. 9 13
      huimv-smart-management/src/main/java/com/huimv/management/controller/OutdoorEnvironmentController.java
  7. 24 0
      huimv-smart-management/src/main/java/com/huimv/management/dao/DrinkingWaterDao.java
  8. 3 3
      huimv-smart-management/src/main/java/com/huimv/management/dao/PastureDao.java
  9. 6 1
      huimv-smart-management/src/main/java/com/huimv/management/dao/IndoorEnvironmentDao.java
  10. 6 1
      huimv-smart-management/src/main/java/com/huimv/management/dao/OutdoorEnvironmentDao.java
  11. 1 1
      huimv-smart-management/src/main/java/com/huimv/management/dao/PigstyDao.java
  12. 69 0
      huimv-smart-management/src/main/java/com/huimv/management/entity/DrinkingWaterEntity.java
  13. 2 2
      huimv-smart-management/src/main/java/com/huimv/management/entity/PastureEntity.java
  14. 2 2
      huimv-smart-management/src/main/java/com/huimv/management/entity/IndoorEnvironmentEntity.java
  15. 9 1
      huimv-smart-management/src/main/java/com/huimv/management/entity/OutdoorEnvironmentEntity.java
  16. 1 1
      huimv-smart-management/src/main/java/com/huimv/management/entity/PigstyEntity.java
  17. 54 0
      huimv-smart-management/src/main/java/com/huimv/management/entity/vo/DrinkingWaterVo.java
  18. 87 0
      huimv-smart-management/src/main/java/com/huimv/management/entity/vo/IndoorEnvironmentVo.java
  19. 54 0
      huimv-smart-management/src/main/java/com/huimv/management/entity/vo/OutdoorEnvironmentVo.java
  20. 26 0
      huimv-smart-management/src/main/java/com/huimv/management/service/DrinkingWaterService.java
  21. 3 3
      huimv-smart-management/src/main/java/com/huimv/management/service/PastureService.java
  22. 7 2
      huimv-smart-management/src/main/java/com/huimv/management/service/IndoorEnvironmentService.java
  23. 6 1
      huimv-smart-management/src/main/java/com/huimv/management/service/OutdoorEnvironmentService.java
  24. 101 0
      huimv-smart-management/src/main/java/com/huimv/management/service/impl/DrinkingWaterServiceImpl.java
  25. 21 30
      huimv-smart-management/src/main/java/com/huimv/management/service/impl/PastureServiceImpl.java
  26. 49 50
      huimv-smart-management/src/main/java/com/huimv/management/service/impl/IndoorEnvironmentServiceImpl.java
  27. 54 14
      huimv-smart-management/src/main/java/com/huimv/management/service/impl/OutdoorEnvironmentServiceImpl.java
  28. 37 0
      huimv-smart-management/src/main/resources/mapper/management/DrinkingWaterDao.xml
  29. 1 1
      huimv-smart-management/src/main/resources/mapper/management/PastureDao.xml
  30. 20 1
      huimv-smart-management/src/main/resources/mapper/management/IndoorEnvironmentDao.xml
  31. 15 0
      huimv-smart-management/src/main/resources/mapper/management/OutdoorEnvironmentDao.xml
  32. 6 4
      renren-fast/src/main/java/io/renren/modules/sys/controller/SysUserController.java
  33. 7 6
      renren-fast/src/main/java/io/renren/modules/sys/entity/SysUserEntity.java
  34. 1 1
      renren-fast/src/main/java/io/renren/modules/sys/entity/vo/SysUserVo.java
  35. 2 2
      renren-fast/src/main/resources/mapper/sys/SysUserDao.xml

+ 1 - 0
huimv-smart-common/src/main/java/com/huimv/common/exception/RRExceptionHandler.java

@@ -76,6 +76,7 @@ public class RRExceptionHandler {
 	//输出错误原因到前端
 	@ExceptionHandler(MethodArgumentNotValidException.class)
 	public R handleMethodArgumentNotValidException(MethodArgumentNotValidException ex) {
+		logger.error(ex.getMessage(),ex);
 		StringBuilder sb = new StringBuilder();
 		for(ObjectError error : ex.getBindingResult().getAllErrors()){
 			if(error instanceof FieldError){

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

@@ -80,5 +80,7 @@ public class Abc {
         Date date = new Date(0L);
         System.out.println(date);
 
+        int i =(int) Double.parseDouble("39.5");
+        System.out.println(i);
     }
 }

+ 39 - 0
huimv-smart-management/src/main/java/com/huimv/management/controller/DrinkingWaterController.java

@@ -0,0 +1,39 @@
+package com.huimv.management.controller;
+
+import com.huimv.common.utils.PageUtils;
+import com.huimv.common.utils.R;
+import com.huimv.management.service.DrinkingWaterService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 饮用水指标controller
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/6/11 16:35
+ */
+@Api(tags = "饮用水指标Controller")
+@RestController
+@RequestMapping("management/drinkingwater")
+public class DrinkingWaterController {
+
+    @Autowired
+    private DrinkingWaterService drinkingWaterService;
+
+    /**
+     * 列表
+     */
+    @GetMapping("/list")
+    public R list(@RequestParam Map<String, Object> params){
+        PageUtils page = drinkingWaterService.queryPage(params);
+        return R.ok().put("page", page);
+    }
+}

+ 17 - 17
huimv-smart-management/src/main/java/com/huimv/management/controller/PastureController.java

@@ -4,6 +4,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
+import com.huimv.management.service.FarmService;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -12,8 +13,7 @@ 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.PastureEntity;
-import com.huimv.management.service.PastureService;
+import com.huimv.management.entity.FarmEntity;
 import com.huimv.common.utils.PageUtils;
 import com.huimv.common.utils.R;
 
@@ -22,22 +22,22 @@ import com.huimv.common.utils.R;
  * 牧场表
  *
  * @author yinhao
- * @email yinhao@163.com
+ * @version 1.0
  * @date 2021-05-07 15:32:42
  */
 @Api(tags = "牧场表")
 @RestController
-@RequestMapping("management/pasture")
-public class PastureController {
+@RequestMapping("management/farm")
+public class FarmController {
     @Autowired
-    private PastureService pastureService;
+    private FarmService farmService;
 
     /**
      * 列表
      */
     @RequestMapping("/list")
     public R list(@RequestParam Map<String, Object> params) {
-        PageUtils page = pastureService.queryPage(params);
+        PageUtils page = farmService.queryPage(params);
 
         return R.ok().put("page", page);
     }
@@ -48,19 +48,19 @@ public class PastureController {
      */
     @RequestMapping("/info/{id}")
     public R info(@PathVariable("id") Integer id) {
-        PastureEntity pasture = pastureService.getById(id);
+        FarmEntity farm = farmService.getById(id);
 
-        return R.ok().put("pasture", pasture);
+        return R.ok().put("farm", farm);
     }
 
     /**
      * 保存
      */
     @RequestMapping("/save")
-    public R save(@RequestBody PastureEntity pasture) {
-//        Boolean isExist = pastureService.findByName(pasture);
+    public R save(@RequestBody FarmEntity farm) {
+//        Boolean isExist = farmService.findByName(farm);
 //        if (isExist){
-        pastureService.save(pasture);
+        farmService.save(farm);
         return R.ok();
 
     }
@@ -69,8 +69,8 @@ public class PastureController {
      * 修改
      */
     @RequestMapping("/update")
-    public R update(@RequestBody PastureEntity pasture) {
-        pastureService.updateById(pasture);
+    public R update(@RequestBody FarmEntity farm) {
+        farmService.updateById(farm);
 
         return R.ok();
     }
@@ -81,9 +81,9 @@ public class PastureController {
     @RequestMapping("/delete")
     public R delete(@RequestBody Integer[] ids) {
 //		pigstyService.removeByIds(Arrays.asList(ids));
-        Integer delete = pastureService.delete(ids);
+        Integer delete = farmService.delete(ids);
         if (delete == 1) {
-            pastureService.removeByIds(Arrays.asList(ids));
+            farmService.removeByIds(Arrays.asList(ids));
             return R.ok();
         } else {
             return R.error().put("msg", "牧场中有未清空猪舍");
@@ -97,7 +97,7 @@ public class PastureController {
      */
     @RequestMapping("/findAll")
     public R findAll() {
-        List list = pastureService.findAll();
+        List list = farmService.findAll();
 
         return R.ok().put("all", list);
     }

+ 9 - 14
huimv-smart-management/src/main/java/com/huimv/management/controller/IndoorEnvironmentController.java

@@ -5,11 +5,7 @@ import java.util.Map;
 
 import io.swagger.annotations.Api;
 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 org.springframework.web.bind.annotation.*;
 
 import com.huimv.management.entity.IndoorEnvironmentEntity;
 import com.huimv.management.service.IndoorEnvironmentService;
@@ -19,13 +15,13 @@ import com.huimv.common.utils.R;
 
 
 /**
- * 室内环境信息
+ * 室内环境信息Controller
  *
  * @author yinhao
- * @email yinhao@163.com
+ * @version 1.0
  * @date 2021-05-07 15:32:42
  */
-@Api(tags = "室内环境信息")
+@Api(tags = "室内环境信息Controller")
 @RestController
 @RequestMapping("management/indoorenvironment")
 public class IndoorEnvironmentController {
@@ -35,10 +31,9 @@ public class IndoorEnvironmentController {
     /**
      * 列表
      */
-    @RequestMapping("/list")
+    @GetMapping("/list")
     public R list(@RequestParam Map<String, Object> params){
         PageUtils page = indoorEnvironmentService.queryPage(params);
-
         return R.ok().put("page", page);
     }
 
@@ -46,7 +41,7 @@ public class IndoorEnvironmentController {
     /**
      * 信息
      */
-    @RequestMapping("/info/{id}")
+    @GetMapping("/info/{id}")
     public R info(@PathVariable("id") Integer id){
 		IndoorEnvironmentEntity indoorEnvironment = indoorEnvironmentService.getById(id);
 
@@ -56,7 +51,7 @@ public class IndoorEnvironmentController {
     /**
      * 保存
      */
-    @RequestMapping("/save")
+    @PostMapping("/save")
     public R save(@RequestBody IndoorEnvironmentEntity indoorEnvironment){
 		indoorEnvironmentService.save(indoorEnvironment);
 
@@ -66,7 +61,7 @@ public class IndoorEnvironmentController {
     /**
      * 修改
      */
-    @RequestMapping("/update")
+    @PostMapping("/update")
     public R update(@RequestBody IndoorEnvironmentEntity indoorEnvironment){
 		indoorEnvironmentService.updateById(indoorEnvironment);
 
@@ -76,7 +71,7 @@ public class IndoorEnvironmentController {
     /**
      * 删除
      */
-    @RequestMapping("/delete")
+    @GetMapping("/delete")
     public R delete(@RequestBody Integer[] ids){
 		indoorEnvironmentService.removeByIds(Arrays.asList(ids));
 

+ 9 - 13
huimv-smart-management/src/main/java/com/huimv/management/controller/OutdoorEnvironmentController.java

@@ -5,11 +5,7 @@ import java.util.Map;
 
 import io.swagger.annotations.Api;
 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 org.springframework.web.bind.annotation.*;
 
 import com.huimv.management.entity.OutdoorEnvironmentEntity;
 import com.huimv.management.service.OutdoorEnvironmentService;
@@ -19,13 +15,13 @@ import com.huimv.common.utils.R;
 
 
 /**
- * 室外环境信息
+ * 室外环境信息Controller
  *
  * @author yinhao
- * @email yinhao@163.com
+ * @version 1.0
  * @date 2021-05-07 15:32:42
  */
-@Api(tags = "室外环境信息")
+@Api(tags = "室外环境信息Controller")
 @RestController
 @RequestMapping("management/outdoorenvironment")
 public class OutdoorEnvironmentController {
@@ -35,7 +31,7 @@ public class OutdoorEnvironmentController {
     /**
      * 列表
      */
-    @RequestMapping("/list")
+    @GetMapping("/list")
     public R list(@RequestParam Map<String, Object> params){
         PageUtils page = outdoorEnvironmentService.queryPage(params);
 
@@ -46,7 +42,7 @@ public class OutdoorEnvironmentController {
     /**
      * 信息
      */
-    @RequestMapping("/info/{id}")
+    @GetMapping("/info/{id}")
     public R info(@PathVariable("id") Integer id){
 		OutdoorEnvironmentEntity outdoorEnvironment = outdoorEnvironmentService.getById(id);
 
@@ -56,7 +52,7 @@ public class OutdoorEnvironmentController {
     /**
      * 保存
      */
-    @RequestMapping("/save")
+    @PostMapping("/save")
     public R save(@RequestBody OutdoorEnvironmentEntity outdoorEnvironment){
 		outdoorEnvironmentService.save(outdoorEnvironment);
 
@@ -66,7 +62,7 @@ public class OutdoorEnvironmentController {
     /**
      * 修改
      */
-    @RequestMapping("/update")
+    @PostMapping("/update")
     public R update(@RequestBody OutdoorEnvironmentEntity outdoorEnvironment){
 		outdoorEnvironmentService.updateById(outdoorEnvironment);
 
@@ -76,7 +72,7 @@ public class OutdoorEnvironmentController {
     /**
      * 删除
      */
-    @RequestMapping("/delete")
+    @GetMapping("/delete")
     public R delete(@RequestBody Integer[] ids){
 		outdoorEnvironmentService.removeByIds(Arrays.asList(ids));
 

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

@@ -0,0 +1,24 @@
+package com.huimv.management.dao;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huimv.management.entity.DrinkingWaterEntity;
+import com.huimv.management.entity.IndoorEnvironmentEntity;
+import com.huimv.management.entity.vo.DrinkingWaterVo;
+import com.huimv.management.entity.vo.IndoorEnvironmentVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 饮用水指标表
+ * 
+ * @author yinhao
+ * @email yinhao123@163.com
+ * @date 2021-05-07 15:32:42
+ */
+@Mapper
+public interface DrinkingWaterDao extends BaseMapper<DrinkingWaterEntity> {
+
+    IPage<DrinkingWaterVo> page(@Param("page") IPage page, @Param("ew") QueryWrapper queryWrapper);
+}

+ 3 - 3
huimv-smart-management/src/main/java/com/huimv/management/dao/PastureDao.java

@@ -2,7 +2,7 @@ package com.huimv.management.dao;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
-import com.huimv.management.entity.PastureEntity;
+import com.huimv.management.entity.FarmEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -20,8 +20,8 @@ import java.util.List;
  */
 @Mapper
 @Repository
-public interface PastureDao extends BaseMapper<PastureEntity> {
+public interface FarmDao extends BaseMapper<FarmEntity> {
 
-    @Select("SELECT id FROM mgt_pasture ${ew.customSqlSegment} AND deleted = 0")
+    @Select("SELECT id FROM mgt_farm ${ew.customSqlSegment} AND deleted = 0")
     List<Integer> selectIdList(@Param(Constants.WRAPPER) LambdaQueryWrapper wrapper);
 }

+ 6 - 1
huimv-smart-management/src/main/java/com/huimv/management/dao/IndoorEnvironmentDao.java

@@ -1,8 +1,12 @@
 package com.huimv.management.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huimv.management.entity.IndoorEnvironmentEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.management.entity.vo.IndoorEnvironmentVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 室内环境信息表
@@ -13,5 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface IndoorEnvironmentDao extends BaseMapper<IndoorEnvironmentEntity> {
-	
+
+    IPage<IndoorEnvironmentVo> page(@Param("page") IPage page, @Param("ew") QueryWrapper queryWrapper);
 }

+ 6 - 1
huimv-smart-management/src/main/java/com/huimv/management/dao/OutdoorEnvironmentDao.java

@@ -1,8 +1,12 @@
 package com.huimv.management.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huimv.management.entity.OutdoorEnvironmentEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.management.entity.vo.OutdoorEnvironmentVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 室外环境信息表
@@ -13,5 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface OutdoorEnvironmentDao extends BaseMapper<OutdoorEnvironmentEntity> {
-	
+
+    IPage<OutdoorEnvironmentVo> page(@Param("page") IPage page, @Param("ew") QueryWrapper queryWrapper);
 }

+ 1 - 1
huimv-smart-management/src/main/java/com/huimv/management/dao/PigstyDao.java

@@ -20,6 +20,6 @@ import java.util.List;
 @Repository
 public interface PigstyDao extends BaseMapper<PigstyEntity> {
 
-    @Select("SELECT id FROM mgt_pigsty WHERE name like CONCAT('%',#{pigstyName},'%') AND deleted = 0")
+    @Select("SELECT id FROM mgt_pigsty WHERE number like CONCAT('%',#{pigstyName},'%') AND deleted = 0")
     List<Integer> selectIdListByPigstyName(@Param("pigstyName") String pigstyName);
 }

+ 69 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/DrinkingWaterEntity.java

@@ -0,0 +1,69 @@
+package com.huimv.management.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 饮用水检测实体类
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/6/11 10:34
+ */
+@Data
+public class DrinkingWaterEntity implements Serializable {
+    private static final long serialVersionUID = 7480204097308252507L;
+
+    /**
+     * 主键
+     */
+    private String id;
+    /**
+     * 牧场id
+     */
+    private Integer farmId;
+    /**
+     * 猪舍id
+     */
+    private Integer pigstyId;
+    /**
+     * 当前日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GTM+8")
+    private Date date;
+    /**
+     * 饮用水质量
+     */
+    private String drinkingWaterQuality;
+    /**
+     * 采集时间
+     */
+    private Date collectTime;
+    /**
+     * 异常状态 0:正常 1.异常
+     */
+    private Boolean abnormalStatus;
+    /**
+     * 删除状态 0:未删除 其他:已删除
+     */
+    @TableLogic
+    private Integer deleted;
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date gmtCreate;
+    /**
+     * 修改时间
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date gmtModified;
+
+}

+ 2 - 2
huimv-smart-management/src/main/java/com/huimv/management/entity/PastureEntity.java

@@ -16,8 +16,8 @@ import java.util.Random;
  * @date 2021-05-07 15:32:42
  */
 @Data
-@TableName("mgt_pasture")
-public class PastureEntity implements Serializable {
+@TableName("mgt_farm")
+public class FarmEntity implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	/**

+ 2 - 2
huimv-smart-management/src/main/java/com/huimv/management/entity/IndoorEnvironmentEntity.java

@@ -28,7 +28,7 @@ public class IndoorEnvironmentEntity implements Serializable {
     /**
      * 牧场id
      */
-    private Integer pastureId;
+    private Integer farmId;
     /**
      * 豬舍id
      */
@@ -49,7 +49,7 @@ public class IndoorEnvironmentEntity implements Serializable {
     /**
      * 气体
      */
-    private String gas;
+    private String airQuality;
     /**
      * 采集时间
      */

+ 9 - 1
huimv-smart-management/src/main/java/com/huimv/management/entity/OutdoorEnvironmentEntity.java

@@ -25,6 +25,10 @@ public class OutdoorEnvironmentEntity implements Serializable {
     @TableId
     private Integer id;
     /**
+     * 牧场id
+     */
+    private String farmId;
+    /**
      * 日期
      */
     @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@@ -40,12 +44,16 @@ public class OutdoorEnvironmentEntity implements Serializable {
     /**
      * 气体
      */
-    private String gas;
+    private String airQuality;
     /**
      * 采集时间
      */
     private Date collectTime;
     /**
+     * 异常状态
+     */
+    private Boolean abnormalStatus;
+    /**
      * 删除状态 0正常 1已删除
      */
     @TableLogic

+ 1 - 1
huimv-smart-management/src/main/java/com/huimv/management/entity/PigstyEntity.java

@@ -30,7 +30,7 @@ public class PigstyEntity implements Serializable {
     /**
      * 牧场id
      */
-    private Integer pastureId;
+    private Integer farmId;
     /**
      * 养殖员名称
      */

+ 54 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/vo/DrinkingWaterVo.java

@@ -0,0 +1,54 @@
+package com.huimv.management.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 饮用水指标vo
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/6/11 16:32
+ */
+@Data
+public class DrinkingWaterVo implements Serializable {
+    private static final long serialVersionUID = -2504528285198898816L;
+
+    /**
+     * 主键
+     */
+    private String id;
+    /**
+     * 当前日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GTM+8")
+    private Date date;
+    /**
+     * 牧场id
+     */
+    private Integer farmId;
+    /**
+     * 牧场名称
+     */
+    private String farmName;
+    /**
+     * 豬舍id
+     */
+    private Integer pigstyId;
+    /**
+     * 猪舍名称
+     */
+    private String pigstyName;
+    /**
+     * 饮用水质量
+     */
+    private String drinkingWaterQuality;
+    /**
+     * 采集时间
+     */
+    private Date collectTime;
+}

+ 87 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/vo/IndoorEnvironmentVo.java

@@ -0,0 +1,87 @@
+package com.huimv.management.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 室内环境vo
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/6/11 14:31
+ */
+@Data
+public class IndoorEnvironmentVo implements Serializable {
+    private static final long serialVersionUID = -2366116041687966836L;
+
+    /**
+     * id
+     */
+    @TableId
+    private Integer id;
+    /**
+     * 日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date date;
+    /**
+     * 牧场id
+     */
+    private Integer farmId;
+    /**
+     * 牧场名称
+     */
+    private String farmName;
+    /**
+     * 豬舍id
+     */
+    private Integer pigstyId;
+    /**
+     * 猪舍名称
+     */
+    private String pigstyName;
+    /**
+     * 温度
+     */
+    private Double temperature;
+    /**
+     * 湿度
+     */
+    private Double humidity;
+    /**
+     * 气体
+     */
+    private String airQuality;
+    /**
+     * 采集时间
+     */
+    private Date collectTime;
+
+//    /**
+//     * 异常状态 0.正常 1.异常
+//     */
+//    private Boolean abnormalStatus;
+//    /**
+//     * 删除状态 0正常 其他:已删除
+//     */
+//    @TableLogic
+//    private Integer deleted;
+//    /**
+//     * 创建时间
+//     */
+//    @TableField(fill = FieldFill.INSERT)
+//    private Date gmtCreate;
+//    /**
+//     * 修改时间
+//     */
+//    @TableField(fill = FieldFill.INSERT_UPDATE)
+//    private Date gmtModified;
+}

+ 54 - 0
huimv-smart-management/src/main/java/com/huimv/management/entity/vo/OutdoorEnvironmentVo.java

@@ -0,0 +1,54 @@
+package com.huimv.management.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 室外环境vo
+ * </p>
+ *
+ * @author yinhao
+ * @date 2021/6/11 15:54
+ */
+@Data
+public class OutdoorEnvironmentVo implements Serializable {
+    private static final long serialVersionUID = -8168339737358430651L;
+
+    /**
+     * 主键
+     */
+    private Integer id;
+    /**
+     * 当前日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GTM+8")
+    private Date date;
+    /**
+     * 牧场id
+     */
+    private Integer farmId;
+    /**
+     * 牧场名称
+     */
+    private String farmName;
+    /**
+     * 温度
+     */
+    private Double temperature;
+    /**
+     * 湿度
+     */
+    private Double humidity;
+    /**
+     * 气体
+     */
+    private String airQuality;
+    /**
+     * 采集时间
+     */
+    private Date collectTime;
+}

+ 26 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/DrinkingWaterService.java

@@ -0,0 +1,26 @@
+package com.huimv.management.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.PageUtils;
+import com.huimv.management.entity.DrinkingWaterEntity;
+import com.huimv.management.entity.IndoorEnvironmentEntity;
+
+import java.util.Map;
+
+/**
+ * 饮用水指标service
+ *
+ * @author yinhao
+ * @version 1.0
+ * @date 2021-05-07 15:32:42
+ */
+public interface DrinkingWaterService extends IService<DrinkingWaterEntity> {
+
+    /**
+     * 分页查询饮用水指标信息
+     * @param params
+     * @return
+     */
+    PageUtils queryPage(Map<String, Object> params);
+}
+

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

@@ -2,7 +2,7 @@ package com.huimv.management.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.common.utils.PageUtils;
-import com.huimv.management.entity.PastureEntity;
+import com.huimv.management.entity.FarmEntity;
 
 import java.util.List;
 import java.util.Map;
@@ -14,7 +14,7 @@ import java.util.Map;
  * @email yinhao@163.com
  * @date 2021-05-07 15:32:42
  */
-public interface PastureService extends IService<PastureEntity> {
+public interface FarmService extends IService<FarmEntity> {
 
     PageUtils queryPage(Map<String, Object> params);
 
@@ -22,6 +22,6 @@ public interface PastureService extends IService<PastureEntity> {
 
     Integer delete(Integer[] ids);
 
-    Boolean findByName(PastureEntity pasture);
+    Boolean findByName(FarmEntity Farm);
 }
 

+ 7 - 2
huimv-smart-management/src/main/java/com/huimv/management/service/IndoorEnvironmentService.java

@@ -7,14 +7,19 @@ import com.huimv.management.entity.IndoorEnvironmentEntity;
 import java.util.Map;
 
 /**
- * 室内环境信息表
+ * 室内环境Service
  *
  * @author yinhao
- * @email yinhao@163.com
+ * @version 1.0
  * @date 2021-05-07 15:32:42
  */
 public interface IndoorEnvironmentService extends IService<IndoorEnvironmentEntity> {
 
+    /**
+     * 分页查询室内环境信息
+     * @param params
+     * @return
+     */
     PageUtils queryPage(Map<String, Object> params);
 }
 

+ 6 - 1
huimv-smart-management/src/main/java/com/huimv/management/service/OutdoorEnvironmentService.java

@@ -10,11 +10,16 @@ import java.util.Map;
  * 室外环境信息表
  *
  * @author yinhao
- * @email yinhao@163.com
+ * @version 1.0
  * @date 2021-05-07 15:32:42
  */
 public interface OutdoorEnvironmentService extends IService<OutdoorEnvironmentEntity> {
 
+    /**
+     * 分页查询室外环境信息
+     * @param params
+     * @return
+     */
     PageUtils queryPage(Map<String, Object> params);
 }
 

+ 101 - 0
huimv-smart-management/src/main/java/com/huimv/management/service/impl/DrinkingWaterServiceImpl.java

@@ -0,0 +1,101 @@
+package com.huimv.management.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+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.DrinkingWaterDao;
+import com.huimv.management.dao.FarmDao;
+import com.huimv.management.dao.IndoorEnvironmentDao;
+import com.huimv.management.dao.PigstyDao;
+import com.huimv.management.entity.DrinkingWaterEntity;
+import com.huimv.management.entity.FarmEntity;
+import com.huimv.management.entity.IndoorEnvironmentEntity;
+import com.huimv.management.entity.vo.DrinkingWaterVo;
+import com.huimv.management.entity.vo.IndoorEnvironmentVo;
+import com.huimv.management.service.DrinkingWaterService;
+import com.huimv.management.service.IndoorEnvironmentService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  饮用水指标ServiceImpl
+ * </p>
+ * 
+ * @author yinhao
+ * @since 2021/6/11 16:46
+ * @version 1.0
+ */
+@Service("drinkingWaterService")
+public class DrinkingWaterServiceImpl extends ServiceImpl<DrinkingWaterDao, DrinkingWaterEntity> implements DrinkingWaterService {
+
+    @Autowired
+    private FarmDao farmDao;
+
+    @Autowired
+    private PigstyDao pigstyDao;
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+
+        //构建条件查询wrapper
+        QueryWrapper<DrinkingWaterVo> queryWrapper = new QueryWrapper<>();
+
+        //异常状态
+        String abnormalStatus = (String) params.get("abnormalStatus");
+        if (StringUtils.isNotEmpty(abnormalStatus)) {
+            queryWrapper.eq("water.abnormal_status", Boolean.parseBoolean(abnormalStatus));
+        }
+
+        //牧场名称
+        String farmName = (String) params.get("farmName");
+        if (farmName != null) {
+            LambdaQueryWrapper<FarmEntity> query = Wrappers.<FarmEntity>lambdaQuery().like(FarmEntity::getName, farmName);
+            List<Integer> idList = farmDao.selectIdList(query);
+            if (CollUtil.isNotEmpty(idList)) {
+                queryWrapper.in("water.farm_id", idList);
+            }
+        }
+
+        //猪舍名称
+        String pigstyName = (String) params.get("pigstyName");
+        if (StringUtils.isNotEmpty(pigstyName)) {
+            List<Integer> idList = pigstyDao.selectIdListByPigstyName(pigstyName);
+            if (CollUtil.isNotEmpty(idList)) {
+                queryWrapper.in("water.pigsty_id", idList);
+            }
+        }
+
+        //开始时间
+        String startTime = (String) params.get("startTime");
+        if (StringUtils.isNotEmpty(startTime)) {
+            queryWrapper.ge("water.collect_time", startTime);
+        }
+
+        //结束时间
+        String endTime = (String) params.get("endTime");
+        if (StringUtils.isNotEmpty(endTime)) {
+            queryWrapper.le("water.collect_time", startTime);
+        }
+
+        //排除逻辑删除
+        queryWrapper.apply(" water.deleted = 0 AND farm.deleted = 0 AND pigsty.deleted = 0");
+        queryWrapper.orderByDesc("water.collect_time");
+
+        //mapper文件sql编写并返回分页对象
+        IPage<DrinkingWaterVo> page = baseMapper.page(new Query<>().getPage(params), queryWrapper);
+        return new PageUtils(page);
+    }
+    
+
+
+}

+ 21 - 30
huimv-smart-management/src/main/java/com/huimv/management/service/impl/PastureServiceImpl.java

@@ -2,35 +2,27 @@ package com.huimv.management.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huimv.management.dao.FarmDao;
 import com.huimv.management.dao.PigstyDao;
-import com.huimv.management.dao.UnitDao;
-import com.huimv.management.dao.YearPigBaseDao;
+
 import com.huimv.management.entity.*;
-import com.huimv.management.entity.PastureEntity;
-import com.huimv.management.entity.PastureEntity;
+import com.huimv.management.service.FarmService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 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;
 import com.huimv.common.utils.PageUtils;
 import com.huimv.common.utils.Query;
 
-import com.huimv.management.dao.PastureDao;
-import com.huimv.management.entity.PastureEntity;
-import com.huimv.management.service.PastureService;
-
-
-@Service("pastureService")
-public class PastureServiceImpl extends ServiceImpl<PastureDao, PastureEntity> implements PastureService {
+@Service("farmService")
+public class FarmServiceImpl extends ServiceImpl<FarmDao, FarmEntity> implements FarmService {
 
     @Autowired
-    private PastureDao pastureDao;
+    private FarmDao farmDao;
 
     @Autowired
     private PigstyDao pigstyDao;
@@ -38,16 +30,16 @@ public class PastureServiceImpl extends ServiceImpl<PastureDao, PastureEntity> i
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
 
-        LambdaQueryWrapper<PastureEntity> lambdaQuery = Wrappers.lambdaQuery();
+        LambdaQueryWrapper<FarmEntity> lambdaQuery = Wrappers.lambdaQuery();
         String keywords = (String) params.get("keywords");
         //有参数
         if (StringUtils.isNotEmpty(keywords)) {
             lambdaQuery.apply("CONCAT(name,front_location ,manager,build_time) like CONCAT('%',{0},'%')",keywords);
         }
-        lambdaQuery.orderByDesc(PastureEntity::getBuildTime);
+        //lambdaQuery.orderByDesc(FarmEntity::getBuildTime);
 
-        IPage<PastureEntity> page = page(this.page(
-                new Query<PastureEntity>().getPage(params)
+        IPage<FarmEntity> page = page(this.page(
+                new Query<FarmEntity>().getPage(params)
         ), lambdaQuery);
 
 
@@ -56,16 +48,15 @@ public class PastureServiceImpl extends ServiceImpl<PastureDao, PastureEntity> i
 
     @Override
     public List findAll() {
-        LambdaQueryWrapper<PastureEntity> lambdaQuery = Wrappers.lambdaQuery();
-        List<PastureEntity> pastureEntities = pastureDao.selectList(lambdaQuery);
-        return pastureEntities;
+        LambdaQueryWrapper<FarmEntity> lambdaQuery = Wrappers.lambdaQuery();
+        return farmDao.selectList(lambdaQuery);
     }
 
     @Override
     public Integer delete(Integer[] ids) {
         LambdaQueryWrapper<PigstyEntity> lambdaQuery = Wrappers.lambdaQuery();
         for (Integer id : ids) {
-            lambdaQuery.eq(PigstyEntity::getPastureId, id);
+            lambdaQuery.eq(PigstyEntity::getFarmId, id);
             List<PigstyEntity> yearPigBaseEntities = pigstyDao.selectList(lambdaQuery);
             if (yearPigBaseEntities != null && yearPigBaseEntities.size() > 0) {
                 return 2;
@@ -76,11 +67,11 @@ public class PastureServiceImpl extends ServiceImpl<PastureDao, PastureEntity> i
     }
 
     @Override
-    public Boolean findByName(PastureEntity pasture) {
-        LambdaQueryWrapper<PastureEntity> lambdaQuery = Wrappers.lambdaQuery();
-        lambdaQuery.eq(PastureEntity::getName, pasture.getName());
-        PastureEntity pastureEntity = pastureDao.selectOne(lambdaQuery);
-        if (pastureEntity == null) {
+    public Boolean findByName(FarmEntity farm) {
+        LambdaQueryWrapper<FarmEntity> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(FarmEntity::getName, farm.getName());
+        FarmEntity farmEntity = farmDao.selectOne(lambdaQuery);
+        if (farmEntity == null) {
             return true;
         }
         return false;
@@ -89,9 +80,9 @@ public class PastureServiceImpl extends ServiceImpl<PastureDao, PastureEntity> i
     
    /* @Override
     public PageUtils queryPage(Map<String, Object> params) {
-        IPage<PastureEntity> page = this.page(
-                new Query<PastureEntity>().getPage(params),
-                new QueryWrapper<PastureEntity>()
+        IPage<FarmEntity> page = this.page(
+                new Query<FarmEntity>().getPage(params),
+                new QueryWrapper<FarmEntity>()
         );
 
         return new PageUtils(page);

+ 49 - 50
huimv-smart-management/src/main/java/com/huimv/management/service/impl/IndoorEnvironmentServiceImpl.java

@@ -1,34 +1,44 @@
 package com.huimv.management.service.impl;
 
+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.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.huimv.management.dao.PastureDao;
+import com.huimv.management.dao.FarmDao;
 import com.huimv.management.dao.PigstyDao;
+import com.huimv.management.entity.FarmEntity;
 import com.huimv.management.entity.IndoorEnvironmentEntity;
-import com.huimv.management.entity.PastureEntity;
+import com.huimv.management.entity.vo.IndoorEnvironmentVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
 import java.util.List;
 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;
 import com.huimv.common.utils.PageUtils;
 import com.huimv.common.utils.Query;
 
 import com.huimv.management.dao.IndoorEnvironmentDao;
-import com.huimv.management.entity.IndoorEnvironmentEntity;
 import com.huimv.management.service.IndoorEnvironmentService;
 
+/**
+ * <p>
+ *  室内环境ServiceImpl
+ * </p>
+ *
+ * @author yinhao
+ * @version 1.0
+ * @date 2021/6/11 17:52
+ */
 @Service("indoorEnvironmentService")
 public class IndoorEnvironmentServiceImpl extends ServiceImpl<IndoorEnvironmentDao, IndoorEnvironmentEntity> implements IndoorEnvironmentService {
 
     @Autowired
-    private PastureDao pastureDao;
+    private FarmDao farmDao;
 
     @Autowired
     private PigstyDao pigstyDao;
@@ -36,65 +46,54 @@ public class IndoorEnvironmentServiceImpl extends ServiceImpl<IndoorEnvironmentD
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
 
-        LambdaQueryWrapper<IndoorEnvironmentEntity> lambdaQuery = Wrappers.lambdaQuery();
-
+        //构建条件wrapper
+        QueryWrapper<IndoorEnvironmentVo> queryWrapper = new QueryWrapper<>();
 
-        Boolean abnormalStatus = (Boolean) params.get("abnormalStatus");
-        if (abnormalStatus != null) {
-            lambdaQuery.eq(IndoorEnvironmentEntity::getAbnormalStatus, abnormalStatus);
+        //异常状态
+        String abnormalStatus = (String) params.get("abnormalStatus");
+        if (StringUtils.isNotEmpty(abnormalStatus)) {
+            queryWrapper.eq("env.abnormal_status", Boolean.parseBoolean(abnormalStatus));
         }
 
-        String pastureName = String.valueOf(params.get("pastureName"));
-        if (StringUtils.isNotEmpty(pastureName)) {
-            LambdaQueryWrapper<PastureEntity> query = Wrappers.<PastureEntity>lambdaQuery().like(PastureEntity::getName, pastureName);
-            List<Integer> idList = pastureDao.selectIdList(query);
-            lambdaQuery.in(IndoorEnvironmentEntity::getPastureId, idList);
+        //牧场名称
+        String farmName = (String) params.get("farmName");
+        if (farmName != null) {
+            LambdaQueryWrapper<FarmEntity> query = Wrappers.<FarmEntity>lambdaQuery().like(FarmEntity::getName, farmName);
+            List<Integer> idList = farmDao.selectIdList(query);
+            if (CollUtil.isNotEmpty(idList)) {
+                queryWrapper.in("env.farm_id", idList);
+            }
         }
 
-        String pigstyName = String.valueOf(params.get("pigstyName"));
+        //猪舍名称
+        String pigstyName = (String) params.get("pigstyName");
         if (StringUtils.isNotEmpty(pigstyName)) {
-            lambdaQuery.in(IndoorEnvironmentEntity::getPigstyId, pigstyDao.selectIdListByPigstyName(pigstyName));
+            List<Integer> idList = pigstyDao.selectIdListByPigstyName(pigstyName);
+            if (CollUtil.isNotEmpty(idList)) {
+                queryWrapper.in("env.pigsty_id", idList);
+            }
         }
 
-        String startTime = String.valueOf(params.get("startTime"));
+        //时间区间(前)
+        String startTime = (String) params.get("startTime");
         if (StringUtils.isNotEmpty(startTime)) {
-            lambdaQuery.ge(IndoorEnvironmentEntity::getCollectTime, startTime);
+            queryWrapper.ge("env.collect_time", startTime);
         }
 
-        String endTime = String.valueOf(params.get("endTime"));
+        //时间区间(后)
+        String endTime = (String) params.get("endTime");
         if (StringUtils.isNotEmpty(endTime)) {
-            lambdaQuery.le(IndoorEnvironmentEntity::getCollectTime, endTime);
+            queryWrapper.le("env.collect_time", startTime);
         }
 
-        IPage<IndoorEnvironmentEntity> page = this.page(new Query<IndoorEnvironmentEntity>().getPage(params),lambdaQuery);
-        return new PageUtils(page);
-//        String keywords = (String) params.get("keywords");
-//        //没有参数
-//        if (keywords == null || keywords.equals("")) {
-//            IPage<IndoorEnvironmentEntity> page = this.page(
-//                    new Query<IndoorEnvironmentEntity>().getPage(params),
-//                    new QueryWrapper<IndoorEnvironmentEntity>()
-//            );
-//            return new PageUtils(page);
-//        }
-//
-//        lambdaQuery.like(IndoorEnvironmentEntity::getPigstyId, keywords);
-//        IPage<IndoorEnvironmentEntity> page = page(this.page(
-//                new Query<IndoorEnvironmentEntity>().getPage(params)
-//        ), lambdaQuery);
-//
-//
-//        return new PageUtils(page);
-    }
-    
-    /*@Override
-    public PageUtils queryPage(Map<String, Object> params) {
-        IPage<IndoorEnvironmentEntity> page = this.page(
-                new Query<IndoorEnvironmentEntity>().getPage(params),
-                new QueryWrapper<IndoorEnvironmentEntity>()
-        );
+        //排除逻辑删除
+        queryWrapper.apply(" env.deleted = 0 AND farm.deleted = 0 AND pigsty.deleted = 0");
+        //根据采集时间倒序查询
+        queryWrapper.orderByDesc("env.collect_time");
 
+        //mapper文件sql编写并返回分页结果
+        IPage<IndoorEnvironmentVo> page = baseMapper.page(new Query<>().getPage(params), queryWrapper);
         return new PageUtils(page);
-    }*/
+    }
 
 }

+ 54 - 14
huimv-smart-management/src/main/java/com/huimv/management/service/impl/OutdoorEnvironmentServiceImpl.java

@@ -1,9 +1,17 @@
 package com.huimv.management.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huimv.management.dao.FarmDao;
+import com.huimv.management.entity.FarmEntity;
 import com.huimv.management.entity.OutdoorEnvironmentEntity;
+import com.huimv.management.entity.vo.OutdoorEnvironmentVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 import java.util.Map;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -15,30 +23,62 @@ import com.huimv.management.dao.OutdoorEnvironmentDao;
 import com.huimv.management.entity.OutdoorEnvironmentEntity;
 import com.huimv.management.service.OutdoorEnvironmentService;
 
-
+/**
+ * <p>
+ *  室外环境ServiceImpl
+ * </p>
+ *
+ * @author yinhao
+ * @version 1.0
+ * @date 2021/6/11 17:45
+ */
 @Service("outdoorEnvironmentService")
 public class OutdoorEnvironmentServiceImpl extends ServiceImpl<OutdoorEnvironmentDao, OutdoorEnvironmentEntity> implements OutdoorEnvironmentService {
 
+    @Autowired
+    private FarmDao farmDao;
+
     @Override
     public PageUtils queryPage(Map<String, Object> params) {
 
-        LambdaQueryWrapper<OutdoorEnvironmentEntity> lambdaQuery = Wrappers.lambdaQuery();
-        String keywords = (String) params.get("keywords");
-        //没有参数
-        if (keywords == null || keywords.equals("")){
-            IPage<OutdoorEnvironmentEntity> page = this.page(
-                    new Query<OutdoorEnvironmentEntity>().getPage(params),
-                    new QueryWrapper<OutdoorEnvironmentEntity>()
-            );
-            return new PageUtils(page);
+        //构建条件wrapper
+        QueryWrapper<OutdoorEnvironmentVo> queryWrapper = new QueryWrapper<>();
+
+        //异常状态
+        String abnormalStatus = (String) params.get("abnormalStatus");
+        if (StringUtils.isNotEmpty(abnormalStatus)) {
+            queryWrapper.eq("env.abnormal_status", Boolean.parseBoolean(abnormalStatus));
         }
 
-        lambdaQuery.like(OutdoorEnvironmentEntity::getId,keywords);
-        IPage<OutdoorEnvironmentEntity> page = page(this.page(
-                new Query<OutdoorEnvironmentEntity>().getPage(params)
-        ), lambdaQuery);
+        //牧场名称
+        String farmName = (String) params.get("farmName");
+        if (farmName != null) {
+            LambdaQueryWrapper<FarmEntity> query = Wrappers.<FarmEntity>lambdaQuery().like(FarmEntity::getName, farmName);
+            List<Integer> idList = farmDao.selectIdList(query);
+            if (CollUtil.isNotEmpty(idList)) {
+                queryWrapper.in("env.farm_id", idList);
+            }
+        }
+
+        //时间区间(前)
+        String startTime = (String) params.get("startTime");
+        if (StringUtils.isNotEmpty(startTime)) {
+            queryWrapper.ge("env.collect_time", startTime);
+        }
+
+        //时间区间(后)
+        String endTime = (String) params.get("endTime");
+        if (StringUtils.isNotEmpty(endTime)) {
+            queryWrapper.le("env.collect_time", startTime);
+        }
 
+        //排除逻辑删除
+        queryWrapper.apply(" env.deleted = 0 AND farm.deleted = 0");
+        //根据采集时间倒序查询
+        queryWrapper.orderByDesc("env.collect_time");
 
+        //mapper文件sql编写并返回分页对象
+        IPage<OutdoorEnvironmentVo> page = baseMapper.page(new Query<>().getPage(params),queryWrapper);
         return new PageUtils(page);
     }
 

+ 37 - 0
huimv-smart-management/src/main/resources/mapper/management/DrinkingWaterDao.xml

@@ -0,0 +1,37 @@
+<?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.DrinkingWaterDao">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.huimv.management.entity.DrinkingWaterEntity" id="drinkingWaterMap">
+        <result property="id" column="id"/>
+        <result property="date" column="date" />
+        <result property="farmId" column="farm_id" />
+        <result property="pigstyId" column="pigsty_id"/>
+        <result property="drinkingWaterQuality" column="drinking_water_quality"/>
+        <result property="collectTime" column="collect_time"/>
+        <result property="deleted" column="deleted"/>
+        <result property="gmtCreate" column="gmt_create"/>
+        <result property="gmtModified" column="gmt_modified"/>
+    </resultMap>
+
+
+    <select id="page" resultType="com.huimv.management.entity.vo.DrinkingWaterVo">
+        SELECT
+          water.id,
+          water.date,
+          water.farm_id,
+          farm.name farmName,
+          water.pigsty_id,
+          pigsty.number pigstyName,
+          water.drinking_water_quality,
+          water.collect_time
+        FROM mgt_drinking_water water
+          JOIN mgt_farm farm ON water.farm_id = farm.id
+          JOIN mgt_pigsty pigsty ON water.pigsty_id = pigsty.id
+        ${ew.customSqlSegment}
+    </select>
+
+
+</mapper>

+ 1 - 1
huimv-smart-management/src/main/resources/mapper/management/PastureDao.xml

@@ -4,7 +4,7 @@
 <mapper namespace="com.huimv.management.dao.PastureDao">
 
 	<!-- 可根据自己的需求,是否要使用 -->
-    <resultMap type="com.huimv.management.entity.PastureEntity" id="pastureMap">
+    <resultMap type="com.huimv.management.entity.FarmEntity" id="pastureMap">
         <result property="id" column="id"/>
         <result property="name" column="name"/>
         <result property="location" column="location"/>

+ 20 - 1
huimv-smart-management/src/main/resources/mapper/management/IndoorEnvironmentDao.xml

@@ -9,7 +9,7 @@
         <result property="pigstyId" column="pigsty_id"/>
         <result property="temperature" column="temperature"/>
         <result property="humidity" column="humidity"/>
-        <result property="gas" column="gas"/>
+        <result property="airQuality" column="gas"/>
         <result property="date" column="date"/>
         <result property="collectTime" column="collect_time"/>
         <result property="deleted" column="deleted"/>
@@ -18,4 +18,23 @@
     </resultMap>
 
 
+    <select id="page" resultType="com.huimv.management.entity.vo.IndoorEnvironmentVo">
+        SELECT
+          env.id,
+          env.date,
+          env.farm_id,
+          farm.name farmName,
+          env.pigsty_id,
+          pigsty.number pigstyName,
+          env.temperature,
+          env.humidity,
+          env.air_quality,
+          env.collect_time
+        FROM mgt_indoor_environment env
+          JOIN mgt_farm farm ON env.farm_id = farm.id
+          JOIN mgt_pigsty pigsty ON env.pigsty_id = pigsty.id
+        ${ew.customSqlSegment}
+    </select>
+
+
 </mapper>

+ 15 - 0
huimv-smart-management/src/main/resources/mapper/management/OutdoorEnvironmentDao.xml

@@ -13,5 +13,20 @@
         <result property="gmtModified" column="gmt_modified"/>
     </resultMap>
 
+    <select id="page" resultType="com.huimv.management.entity.vo.OutdoorEnvironmentVo">
+        SELECT
+          env.id,
+          env.date,
+          env.farm_id,
+          farm.name farmName,
+          env.temperature,
+          env.humidity,
+          env.air_quality,
+          env.collect_time
+        FROM mgt_outdoor_environment env
+          JOIN mgt_farm farm ON env.farm_id = farm.id
+        ${ew.customSqlSegment}
+    </select>
+
 
 </mapper>

+ 6 - 4
renren-fast/src/main/java/io/renren/modules/sys/controller/SysUserController.java

@@ -24,8 +24,10 @@ import org.apache.commons.lang.ArrayUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.apache.shiro.crypto.hash.Sha256Hash;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
 import java.util.List;
 import java.util.Map;
 
@@ -109,8 +111,8 @@ public class SysUserController extends AbstractController {
 	@SysLog("保存用户")
 	@PostMapping("/save")
 	@RequiresPermissions("sys:user:save")
-	public R save(@RequestBody SysUserEntity user){
-		ValidatorUtils.validateEntity(user, AddGroup.class);
+	public R save(@Validated(AddGroup.class) @RequestBody SysUserEntity user){
+		//ValidatorUtils.validateEntity(user, AddGroup.class);
 		
 		user.setCreateUserId(getUserId());
 		sysUserService.saveUser(user);
@@ -124,8 +126,8 @@ public class SysUserController extends AbstractController {
 	@SysLog("修改用户")
 	@PostMapping("/update")
 	@RequiresPermissions("sys:user:update")
-	public R update(@RequestBody SysUserEntity user){
-		ValidatorUtils.validateEntity(user, UpdateGroup.class);
+	public R update(@Validated(UpdateGroup.class) @RequestBody SysUserEntity user){
+		//ValidatorUtils.validateEntity(user, UpdateGroup.class);
 
 		user.setCreateUserId(getUserId());
 		sysUserService.update(user);

+ 7 - 6
renren-fast/src/main/java/io/renren/modules/sys/entity/SysUserEntity.java

@@ -71,14 +71,15 @@ public class SysUserEntity implements Serializable {
     /**
      * 邮箱
      */
-    @NotBlank(message = "邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class})
+    //@NotBlank(message = "邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class})
     @Email(message = "邮箱格式不正确", groups = {AddGroup.class, UpdateGroup.class})
     private String email;
 
     /**
      * 手机号
      */
-//    @Pattern(regexp = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(16[5,6])|(17[0-8])|(18[0-9])|(19[1、5、8、9]))\\\\d{8}$", message = "手机号格式有误!", groups = {AddGroup.class, UpdateGroup.class})
+    @NotBlank(message = "手机号不能为空", groups = {AddGroup.class, UpdateGroup.class})
+    @Pattern(regexp = "^1[0-9]{10}$",message = "手机号格式不正确,请检查!",groups = {AddGroup.class,UpdateGroup.class})
     private String mobile;
 
     /**
@@ -95,25 +96,25 @@ public class SysUserEntity implements Serializable {
     /**
      * 部门code
      */
-    @NotBlank(message = "部门识别码不能为空", groups = {AddGroup.class, UpdateGroup.class})
+    //@NotBlank(message = "部门识别码不能为空", groups = {AddGroup.class, UpdateGroup.class})
     private String departmentCode;
 
     /**
      * 岗位code
      */
-    @NotBlank(message = "岗位识别码不能为空", groups = {AddGroup.class, UpdateGroup.class})
+    //@NotBlank(message = "岗位识别码不能为空", groups = {AddGroup.class, UpdateGroup.class})
     private String jobCode;
 
     /**
      * 牧场id
      */
-    @NotNull(message = "牧场不能为空",groups = {AddGroup.class, UpdateGroup.class})
+    //@NotNull(message = "牧场不能为空",groups = {AddGroup.class, UpdateGroup.class})
     private Integer farmId;
 
     /**
      * 详细地址
      */
-    @NotBlank(message = "地址不能为空", groups = {AddGroup.class, UpdateGroup.class})
+    //@NotBlank(message = "地址不能为空", groups = {AddGroup.class, UpdateGroup.class})
     private String address;
 
     /**

+ 1 - 1
renren-fast/src/main/java/io/renren/modules/sys/entity/vo/SysUserVo.java

@@ -78,7 +78,7 @@ public class SysUserVo {
     /**
      * 所属牧场名称
      */
-    private String pastureName;
+    private String farmName;
 
     /**
      * 住址

+ 2 - 2
renren-fast/src/main/resources/mapper/sys/SysUserDao.xml

@@ -36,13 +36,13 @@
 			sys_job.job_code,
 			sys_job.job_name,
 			sys_user.farm_id,
-			pasture.name pasture_name,
+			farm.name farm_name,
 			sys_user.address,
 			sys_user.remarks
 		FROM  sys_user
 			LEFT JOIN sys_department ON sys_user.department_code = sys_department.department_code
 			LEFT JOIN sys_job ON sys_user.job_code = sys_job.job_code
-			LEFT JOIN huimv_smart_apiservice.mgt_pasture pasture ON sys_user.farm_id = pasture.id
+			LEFT JOIN huimv_smart_apiservice.mgt_farm farm ON sys_user.farm_id = farm.id
 		${ew.customSqlSegment}
 	</select>