Browse Source

新增接口

wwh 1 year ago
parent
commit
dd8170e5e4
16 changed files with 694 additions and 0 deletions
  1. 38 0
      huimv-env-admin/src/main/java/com/huimv/env/admin/controller/EnergyElectricityController.java
  2. 41 0
      huimv-env-admin/src/main/java/com/huimv/env/admin/controller/EnergyWaterController.java
  3. 2 0
      huimv-env-admin/src/main/resources/application-prod.yml
  4. 65 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnergyElectricity.java
  5. 66 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnergyWater.java
  6. 21 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/dto/EnergyDto.java
  7. 27 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnergyElectricityMapper.java
  8. 26 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnergyWaterMapper.java
  9. 4 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyDataService.java
  10. 23 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyElectricityService.java
  11. 23 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyWaterService.java
  12. 47 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyDataServiceImpl.java
  13. 130 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyElectricityServiceImpl.java
  14. 128 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyWaterServiceImpl.java
  15. 26 0
      huimv-env-common/src/main/java/resources/com/huimv/env/admin/mapper/EnergyElectricityMapper.xml
  16. 27 0
      huimv-env-common/src/main/java/resources/com/huimv/env/admin/mapper/EnergyWaterMapper.xml

+ 38 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/controller/EnergyElectricityController.java

@@ -0,0 +1,38 @@
+package com.huimv.env.admin.controller;
+
+import com.huimv.env.common.service.IEnergyElectricityService;
+import com.huimv.env.common.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@RestController
+@RequestMapping("/energy-electricity")
+@CrossOrigin
+public class EnergyElectricityController {
+    @Autowired
+    private IEnergyElectricityService energyElectricityService;
+
+    @RequestMapping("/listPigpen")
+    public Result listPigpen(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyElectricityService.listPigpen(httpServletRequest, paramsMap);
+    }
+
+    @RequestMapping("/listData")
+    public Result listData(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyElectricityService.listData(httpServletRequest, paramsMap);
+    }
+}

+ 41 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/controller/EnergyWaterController.java

@@ -0,0 +1,41 @@
+package com.huimv.env.admin.controller;
+
+
+
+import com.huimv.env.common.service.IEnergyWaterService;
+import com.huimv.env.common.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@RestController
+@RequestMapping("/energy-water")
+@CrossOrigin
+public class EnergyWaterController {
+
+    @Autowired
+    private IEnergyWaterService energyWaterService;
+
+    @RequestMapping("/listPigpen")
+    public Result listPigpen(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyWaterService.listPigpen(httpServletRequest, paramsMap);
+    }
+
+    @RequestMapping("/listData")
+    public Result listData(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyWaterService.listData(httpServletRequest, paramsMap);
+    }
+}

+ 2 - 0
huimv-env-admin/src/main/resources/application-prod.yml

@@ -87,3 +87,5 @@ management:
       exposure:
         include: "*"   # * 在yaml 文件属于关键字,所以需要加引号
 
+mybatis-plus:
+  mapper-locations: /com/huimv/env/admin/mapper/*.xml

+ 65 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnergyElectricity.java

@@ -0,0 +1,65 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("energy_electricity")
+public class EnergyElectricity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 计录值
+     */
+    private String electricityValue;
+
+    /**
+     * 原始值
+     */
+    private String originalValue;
+
+    /**
+     * 原始数据
+     */
+    private String originalDate;
+
+    /**
+     * 房舍id
+     */
+    private Integer unitId;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String other2;
+
+    private String other3;
+    /*创建时间*/
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date createDate;
+
+
+}

+ 66 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnergyWater.java

@@ -0,0 +1,66 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("energy_water")
+public class EnergyWater implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 计录值
+     */
+    private String waterValue;
+
+    /**
+     * 原始值
+     */
+    private String originalValue;
+
+    /**
+     * 原始数据
+     */
+    private String originalDate;
+
+    /**
+     * 房舍id
+     */
+    private Integer unitId;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String other2;
+
+    private String other3;
+
+    /*创建时间*/
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date createDate;
+
+
+}

+ 21 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/dto/EnergyDto.java

@@ -0,0 +1,21 @@
+package com.huimv.env.common.entity.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class EnergyDto {
+
+    private String farmId;
+
+    private String waterCount;
+
+    private String ElectricityCount;
+
+    private String unitId;
+
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date createDate;
+}

+ 27 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnergyElectricityMapper.java

@@ -0,0 +1,27 @@
+package com.huimv.env.common.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.env.common.entity.EnergyData;
+import com.huimv.env.common.entity.EnergyElectricity;
+import com.huimv.env.common.entity.EnergyWater;
+import com.huimv.env.common.entity.dto.EnergyDto;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@Repository
+public interface EnergyElectricityMapper extends BaseMapper<EnergyElectricity> {
+    List<EnergyDto> listCount(@Param(Constants.WRAPPER) QueryWrapper<EnergyElectricity> queryWrapper);
+}

+ 26 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnergyWaterMapper.java

@@ -0,0 +1,26 @@
+package com.huimv.env.common.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.env.common.entity.EnergyElectricity;
+import com.huimv.env.common.entity.EnergyWater;
+import com.huimv.env.common.entity.dto.EnergyDto;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@Repository
+public interface EnergyWaterMapper extends BaseMapper<EnergyWater> {
+    List<EnergyDto> listCount(@Param(Constants.WRAPPER) QueryWrapper<EnergyWater> queryWrapper);
+}

+ 4 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyDataService.java

@@ -27,4 +27,8 @@ public interface IEnergyDataService extends IService<EnergyData> {
 
     Result listRankScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 
+    Result listAll(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
+
+    Result countEnergy(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
+
 }

+ 23 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyElectricityService.java

@@ -0,0 +1,23 @@
+package com.huimv.env.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.env.common.entity.EnergyElectricity;
+import com.huimv.env.common.utils.Result;
+
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+public interface IEnergyElectricityService extends IService<EnergyElectricity> {
+    Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+}

+ 23 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnergyWaterService.java

@@ -0,0 +1,23 @@
+package com.huimv.env.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.env.common.entity.EnergyWater;
+import com.huimv.env.common.utils.Result;
+
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+public interface IEnergyWaterService extends IService<EnergyWater> {
+    Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+}

+ 47 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyDataServiceImpl.java

@@ -7,14 +7,20 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONException;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.common.utils.DataUill;
 import com.huimv.env.common.entity.BasePigpen;
 import com.huimv.env.common.entity.EnergyData;
+import com.huimv.env.common.entity.EnergyElectricity;
+import com.huimv.env.common.entity.EnergyWater;
+import com.huimv.env.common.entity.dto.EnergyDto;
 import com.huimv.env.common.entity.vo.EnergyAllDataVo;
 import com.huimv.env.common.entity.vo.EnergyDataVo;
 import com.huimv.env.common.mapper.BasePigpenMapper;
 import com.huimv.env.common.mapper.EnergyDataMapper;
+import com.huimv.env.common.mapper.EnergyElectricityMapper;
+import com.huimv.env.common.mapper.EnergyWaterMapper;
 import com.huimv.env.common.service.IEnergyDataService;
 import com.huimv.env.common.utils.Result;
 import com.huimv.env.common.utils.ResultCode;
@@ -39,6 +45,10 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
     private EnergyDataMapper dataMapper;
     @Autowired
     private BasePigpenMapper basePigpenMapper;
+    @Autowired
+    private EnergyWaterMapper waterMapper;
+    @Autowired
+    private EnergyElectricityMapper electricityMapper;
 //    @Autowired
 //    private EnergyWarningInfoMapper warningInfoMapper;
 
@@ -421,6 +431,43 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
         }
     }
 
+    @Override
+    public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        String id = paramsMap.get("id");
+        String type = paramsMap.get("type");//1 为水 2为电
+
+        if ("1".equals(type)) {
+            QueryWrapper<EnergyWater> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", farmId).eq(StringUtils.isNotBlank(id), "unit_id", id);
+            queryWrapper.between(StringUtils.isNotBlank(startTime), "create_date", startTime, endTime);
+            List<EnergyWater> energyWaters = waterMapper.selectList(queryWrapper);
+            return new Result(ResultCode.SUCCESS,energyWaters);
+        } else {
+            QueryWrapper<EnergyElectricity> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", farmId).eq(StringUtils.isNotBlank(id), "unit_id", id);
+            queryWrapper.between(StringUtils.isNotBlank(startTime), "create_date", startTime, endTime);
+            List<EnergyElectricity> energyWaters = electricityMapper.selectList(queryWrapper);
+            return new Result(ResultCode.SUCCESS,energyWaters);
+        }
+
+    }
+
+    @Override
+    public Result countEnergy(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        String id = paramsMap.get("id");
+        QueryWrapper<EnergyWater> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).between(StringUtils.isNotBlank(startTime), "create_date", startTime, endTime);
+        queryWrapper.eq(StringUtils.isNotBlank(id), "unit_id", id);
+        List<EnergyDto> energyDtos = waterMapper.listCount(queryWrapper);
+        return new Result(ResultCode.SUCCESS, energyDtos);
+    }
+
 
     /*数组排序*/
     public static JSONArray jsonArraySort(JSONArray jsonArr, String sortKey, boolean is_desc) {

+ 130 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyElectricityServiceImpl.java

@@ -0,0 +1,130 @@
+package com.huimv.env.common.service.impl;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import com.huimv.common.utils.DataUill;
+import com.huimv.env.common.entity.BasePigpen;
+import com.huimv.env.common.entity.EnergyData;
+import com.huimv.env.common.entity.EnergyElectricity;
+import com.huimv.env.common.entity.vo.EnergyElectricityDataVo;
+import com.huimv.env.common.mapper.BasePigpenMapper;
+import com.huimv.env.common.mapper.EnergyDataMapper;
+import com.huimv.env.common.mapper.EnergyElectricityMapper;
+import com.huimv.env.common.service.IEnergyElectricityService;
+import com.huimv.env.common.utils.Result;
+import com.huimv.env.common.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.DecimalFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@Service
+public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityMapper, EnergyElectricity> implements IEnergyElectricityService {
+
+    @Autowired
+    private EnergyElectricityMapper energyElectricityMapper;
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
+    @Autowired
+    private EnergyDataMapper dataMapper;
+
+    @Override
+    public Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String id = paramsMap.get("id");//层id
+
+        JSONArray jsonArray = new JSONArray();
+        QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
+        basePigpenQueryWrapper.eq("farm_id", farmId).like("other2", id);
+        List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//所有的单元
+        for (BasePigpen basePigpen : basePigpens) {
+            JSONObject jsonObject = new JSONObject();
+            QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId());
+            queryWrapper.select(" IFNULL(SUM(electricity_value),'0') electricityValue");
+            DateTime dateTime = DateUtil.beginOfDay(new Date());
+            queryWrapper.ge("create_date", dateTime);
+
+            EnergyData energyElectricity = dataMapper.selectOne(queryWrapper);
+            if (ObjectUtil.isEmpty(energyElectricity)) {
+                jsonObject.put("buildName", basePigpen.getBuildName());
+                jsonObject.put("value", 0);
+                jsonObject.put("id", basePigpen.getId());
+            } else {
+                DecimalFormat df = new DecimalFormat("0.00");
+                jsonObject.put("buildName", basePigpen.getBuildName());
+                jsonObject.put("value", df.format(Float.parseFloat(energyElectricity.getElectricityValue())));
+                jsonObject.put("id", basePigpen.getId());
+            }
+            jsonArray.add(jsonObject);
+        }
+
+
+        return new Result(ResultCode.SUCCESS, jsonArray);
+    }
+
+    @Override
+    public Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");
+        String id = paramsMap.get("id");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+
+        if (type == null || type == "") {
+            type = "3";
+        }
+
+        QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("unit_id", id);
+        List<EnergyElectricityDataVo> electricityList = null;
+        //自定义查询
+        if ("4".equals(type)) {
+            startTime = startTime + " 00:00:00";
+            endTime = endTime + " 23:59:59";
+            queryWrapper.between("create_date", startTime, endTime);
+            electricityList = dataMapper.listDay4(queryWrapper);
+        }
+        //本年
+        else if ("3".equals(type)) {
+            DateTime dateTime = DateUtil.beginOfYear(new Date());
+            queryWrapper.ge("create_date", dateTime);
+            List<EnergyElectricityDataVo> energyElectricityDataVos = dataMapper.listYear4(queryWrapper);
+            electricityList = energyElectricityDataVos;
+        }
+        //本月
+        else if ("2".equals(type)) {
+            Date timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("create_date", timesMonthmorning);
+            electricityList = dataMapper.listDay4(queryWrapper);
+        }
+        //本周
+        else if ("1".equals(type)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+            queryWrapper.ge("create_date", calendar.getTime());
+            List<EnergyElectricityDataVo> energyElectricityDataVos = dataMapper.listDay4(queryWrapper);
+            electricityList = energyElectricityDataVos;
+        }
+        return new Result(ResultCode.SUCCESS, electricityList);
+    }
+}

+ 128 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyWaterServiceImpl.java

@@ -0,0 +1,128 @@
+package com.huimv.env.common.service.impl;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.DataUill;
+import com.huimv.env.common.entity.BasePigpen;
+import com.huimv.env.common.entity.EnergyData;
+import com.huimv.env.common.entity.EnergyWater;
+import com.huimv.env.common.entity.vo.EnergyWaterDataVo;
+import com.huimv.env.common.mapper.BasePigpenMapper;
+import com.huimv.env.common.mapper.EnergyDataMapper;
+import com.huimv.env.common.mapper.EnergyWaterMapper;
+import com.huimv.env.common.service.IEnergyWaterService;
+import com.huimv.env.common.utils.Result;
+import com.huimv.env.common.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.DecimalFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-14
+ */
+@Service
+public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, EnergyWater> implements IEnergyWaterService {
+
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
+    @Autowired
+    private EnergyWaterMapper energyWaterMapper;
+    @Autowired
+    private EnergyDataMapper dataMapper;
+
+    @Override
+    public Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String id = paramsMap.get("id");//层id
+
+        JSONArray jsonArray = new JSONArray();
+        QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
+        basePigpenQueryWrapper.eq("farm_id", farmId).like("other2", id);
+        List<BasePigpen> basePigpenList = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的单元
+        for (BasePigpen basePigpen : basePigpenList) {
+            JSONObject jsonObject = new JSONObject();
+            QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId());
+            queryWrapper.select(" IFNULL(SUM(water_value),'0') waterValue");
+            DateTime dateTime = DateUtil.beginOfDay(new Date());
+            queryWrapper.ge("create_date", dateTime);
+
+            EnergyData energyWater = dataMapper.selectOne(queryWrapper);
+            if (ObjectUtil.isEmpty(energyWater)) {
+                jsonObject.put("buildName", basePigpen.getBuildName());
+                jsonObject.put("value", 0);
+                jsonObject.put("id", basePigpen.getId());
+            } else {
+                DecimalFormat df = new DecimalFormat("0.00");
+                jsonObject.put("buildName", basePigpen.getBuildName());
+                jsonObject.put("value",df.format(Float.parseFloat(energyWater.getWaterValue())));
+                jsonObject.put("id", basePigpen.getId());
+            }
+            jsonArray.add(jsonObject);
+        }
+
+
+        return new Result(ResultCode.SUCCESS, jsonArray);
+    }
+
+    @Override
+    public Result listData(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        String id = paramsMap.get("id");//单元id
+
+        if (type == null || type == "") {
+            type = "3";
+        }
+
+        List<EnergyWaterDataVo> energyWaterList = null;
+        QueryWrapper<EnergyData> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("unit_id", id);
+        //自定义查询
+        if ("4".equals(type)) {
+            startTime = startTime + " 00:00:00";
+            endTime = endTime + " 23:59:59";
+            queryWrapper.between("create_date", startTime, endTime);
+            energyWaterList = dataMapper.listDay3(queryWrapper);
+        }
+        //本年
+        else if ("3".equals(type)) {
+            DateTime dateTime = DateUtil.beginOfYear(new Date());
+            queryWrapper.ge("create_date", dateTime);
+            energyWaterList = dataMapper.listYear3(queryWrapper);
+        }
+        //本月
+        else if ("2".equals(type)) {
+            Date timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("create_date", timesMonthmorning);
+            energyWaterList = dataMapper.listDay3(queryWrapper);
+        }
+        //本周
+        else if ("1".equals(type)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+            queryWrapper.ge("create_date", calendar.getTime());
+            List<EnergyWaterDataVo> energyWaterDataVos = dataMapper.listDay3(queryWrapper);
+            energyWaterList = energyWaterDataVos;
+        }
+        return new Result(ResultCode.SUCCESS, energyWaterList);
+    }
+}

+ 26 - 0
huimv-env-common/src/main/java/resources/com/huimv/env/admin/mapper/EnergyElectricityMapper.xml

@@ -0,0 +1,26 @@
+<?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.env.common.mapper.EnergyElectricityMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnergyElectricity">
+        <id column="id" property="id" />
+        <result column="electricity_value" property="electricityValue" />
+        <result column="original_value" property="originalValue" />
+        <result column="original_date" property="originalDate" />
+        <result column="unit_id" property="unitId" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="other2" property="other2" />
+        <result column="other3" property="other3" />
+        <result column="create_date" property="createDate"/>
+    </resultMap>
+
+    <select id="listCount" resultType="com.huimv.env.common.entity.dto.EnergyDto">
+        select Convert((IFNUll(sum(electricity_value),'0')),DECIMAL(10,2)) 'count',create_date 'createDate',unit_id 'unitId',farm_id 'farmId'
+        from energy_electricity
+        ${ew.customSqlSegment}
+        GROUP BY unit_id
+        ORDER BY unit_id ASC
+    </select>
+</mapper>

+ 27 - 0
huimv-env-common/src/main/java/resources/com/huimv/env/admin/mapper/EnergyWaterMapper.xml

@@ -0,0 +1,27 @@
+<?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.env.common.mapper.EnergyWaterMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnergyWater">
+        <id column="id" property="id" />
+        <result column="water_value" property="waterValue" />
+        <result column="original_value" property="originalValue" />
+        <result column="original_date" property="originalDate" />
+        <result column="unit_id" property="unitId" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="other2" property="other2" />
+        <result column="other3" property="other3" />
+        <result column="create_date" property="createDate"/>
+    </resultMap>
+
+    <select id="listCount" resultType="com.huimv.env.common.entity.dto.EnergyDto">
+        select Convert((IFNUll(sum(w.water_value),'0')),DECIMAL(10,2)) 'waterCount',Convert((IFNUll(sum(e.electricity_value),'0')),DECIMAL(10,2)) 'electricityCount',
+        w.create_date 'createDate',w.unit_id 'unitId',w.farm_id 'farmId'
+        from energy_water w inner join energy_electricity e on w.unit_id=e.unit_id
+        ${ew.customSqlSegment}
+        GROUP BY w.unit_id
+        ORDER BY w.unit_id ASC
+    </select>
+</mapper>