wwh 2 лет назад
Родитель
Сommit
0cdeca1dcc

+ 22 - 1
huimv-admin/src/main/java/com/huimv/admin/controller/EnergyWaterController.java

@@ -1,13 +1,21 @@
 package com.huimv.admin.controller;
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.service.IEnergyWaterService;
+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
@@ -15,6 +23,19 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @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);
+    }
 }

+ 7 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/EnergyWater.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -55,5 +58,9 @@ public class EnergyWater implements Serializable {
 
     private String other3;
 
+    /*创建时间*/
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date createDate;
+
 
 }

+ 14 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/vo/EnergyWaterDataVo.java

@@ -0,0 +1,14 @@
+package com.huimv.admin.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class EnergyWaterDataVo {
+    private String waterValue;
+
+    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
+    private Date createDate;
+}

+ 11 - 1
huimv-admin/src/main/java/com/huimv/admin/mapper/EnergyWaterMapper.java

@@ -1,7 +1,16 @@
 package com.huimv.admin.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.admin.entity.EnergyGas;
 import com.huimv.admin.entity.EnergyWater;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.entity.vo.EnergyDataVo;
+import com.huimv.admin.entity.vo.EnergyWaterDataVo;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +20,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author author
  * @since 2023-02-14
  */
+@Repository
 public interface EnergyWaterMapper extends BaseMapper<EnergyWater> {
-
+    List<EnergyWaterDataVo> listYear(@Param(Constants.WRAPPER) QueryWrapper<EnergyWater> queryWrapper);
 }

+ 2 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnergyWaterService.java

@@ -17,4 +17,6 @@ import java.util.Map;
  */
 public interface IEnergyWaterService extends IService<EnergyWater> {
     Result listPigpen(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
+
+    Result listData(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 }

+ 103 - 6
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyWaterServiceImpl.java

@@ -1,9 +1,17 @@
 package com.huimv.admin.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.huimv.admin.common.utils.DataUill;
 import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.BasePigpen;
 import com.huimv.admin.entity.EnergyWater;
+import com.huimv.admin.entity.vo.EnergyWaterDataVo;
 import com.huimv.admin.mapper.BasePigpenMapper;
 import com.huimv.admin.mapper.EnergyWaterMapper;
 import com.huimv.admin.service.IEnergyWaterService;
@@ -12,12 +20,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author author
@@ -30,14 +39,16 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
     private BasePigpenMapper basePigpenMapper;
     @Autowired
     private EnergyWaterMapper energyWaterMapper;
+
     @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).eq("parent_id",0);
         if (id == null || id == "") {
+            basePigpenQueryWrapper.eq("farm_id", farmId).eq("parent_id", 0);
             List<BasePigpen> basePigpens = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的栋
             for (BasePigpen basePigpen : basePigpens) {
                 basePigpen.getId();
@@ -45,13 +56,99 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
                 queryWrapper.eq("parent_id", basePigpen.getId());
                 List<BasePigpen> pigpens = basePigpenMapper.selectList(queryWrapper);//得到所有的层
                 for (BasePigpen pigpen : pigpens) {
-                    QueryWrapper<EnergyWater> energyWaterQueryWrapper = new QueryWrapper<>();
-                    energyWaterQueryWrapper.eq("unit_id",pigpen.getId()).orderByDesc("create_date");
-                    energyWaterMapper.selectOne(energyWaterQueryWrapper);
+                    QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1.eq("farm_id", farmId).like("other2", pigpen.getId());
+                    List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);//得到所有的单元
+                    for (BasePigpen basePigpen1 : basePigpens1) {
+                        JSONObject jsonObject = new JSONObject();
+                        QueryWrapper<EnergyWater> energyWaterQueryWrapper = new QueryWrapper<>();
+                        energyWaterQueryWrapper.eq("farm_id",farmId).eq("unit_id",basePigpen1.getId())
+                                .orderByDesc("create_date").last(" limit 1");
+                        EnergyWater energyWater = energyWaterMapper.selectOne(energyWaterQueryWrapper);
+                        if (ObjectUtil.isEmpty(energyWater)) {
+                            jsonObject.put("buildName", basePigpen1.getBuildName());
+                            jsonObject.put("value", 0);
+                            jsonObject.put("id", basePigpen1.getId());
+                        } else {
+                            jsonObject.put("buildName", basePigpen1.getBuildName());
+                            jsonObject.put("value", energyWater.getWaterValue());
+                            jsonObject.put("id", basePigpen1.getId());
+                        }
+                        jsonArray.add(jsonObject);
+                    }
+
                 }
 
             }
+        } else {
+            basePigpenQueryWrapper.eq("farm_id", farmId).like("other2", id);
+            List<BasePigpen> basePigpenList = basePigpenMapper.selectList(basePigpenQueryWrapper);//得到所有的单元
+            for (BasePigpen basePigpen : basePigpenList) {
+                JSONObject jsonObject = new JSONObject();
+                QueryWrapper<EnergyWater> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("farm_id", farmId).eq("unit_id", basePigpen.getId())
+                        .orderByDesc("create_date").last(" limit 1");
+                EnergyWater energyWater = energyWaterMapper.selectOne(queryWrapper);
+                if (ObjectUtil.isEmpty(energyWater)) {
+                    jsonObject.put("buildName", basePigpen.getBuildName());
+                    jsonObject.put("value", 0);
+                    jsonObject.put("id", basePigpen.getId());
+                } else {
+                    jsonObject.put("buildName", basePigpen.getBuildName());
+                    jsonObject.put("value", 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<EnergyWater> energyWaterList = null;
+        QueryWrapper<EnergyWater> 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("creata_date", startTime, endTime);
+            List<EnergyWater> energyWaters = energyWaterMapper.selectList(queryWrapper);
+            energyWaterList = energyWaters;
+        }
+        //本年
+        else if ("3".equals(type)) {
+            DateTime dateTime = DateUtil.beginOfYear(new Date());
+            queryWrapper.ge("create_date",dateTime);
+            List<EnergyWaterDataVo> waterList = energyWaterMapper.listYear(queryWrapper);
+            return new Result(ResultCode.SUCCESS, waterList);
+        }
+        //本月
+        else if ("2".equals(type)) {
+            Date timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("create_date",timesMonthmorning);
+            List<EnergyWater> energyWaters = energyWaterMapper.selectList(queryWrapper);
+            energyWaterList = energyWaters;
+        }
+        //本周
+        else if ("1".equals(type)) {
+            DateTime dateTime = DateUtil.beginOfWeek(new Date());
+            queryWrapper.ge("create_date", dateTime);
+            List<EnergyWater> energyWaters = energyWaterMapper.selectList(queryWrapper);
+            energyWaterList = energyWaters;
         }
-        return null;
+        return new Result(ResultCode.SUCCESS,energyWaterList);
     }
 }

+ 7 - 1
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnergyWaterMapper.xml

@@ -13,6 +13,12 @@
         <result column="other1" property="other1" />
         <result column="other2" property="other2" />
         <result column="other3" property="other3" />
+        <result column="create_date" property="createDate"/>
     </resultMap>
-
+    <select id="listYear" resultType="com.huimv.admin.entity.vo.EnergyWaterDataVo">
+        SELECT sum(water_value) 'waterValue',create_date 'createDate' FROM `energy_water`
+         ${ew.customSqlSegment}
+        GROUP BY DATE_FORMAT(create_date,'%Y-%m')
+        ORDER BY create_date ASC
+    </select>
 </mapper>