Newspaper 1 年之前
父節點
當前提交
f4c885337a

+ 5 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnergyWaterController.java

@@ -33,4 +33,9 @@ public class EnergyWaterController {
         return energyWaterService.listWater(paramsMap);
     }
 
+    @PostMapping("/listWaterLine")
+    public Result listWaterLine(@RequestBody Map<String ,String> paramsMap){
+        return energyWaterService.listWaterLine(paramsMap);
+    }
+
 }

+ 4 - 5
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/EnergyWater.java

@@ -52,14 +52,13 @@ public class EnergyWater implements Serializable {
 
     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;
 
+    private String chipCode;
+
+    private String chipName;
+
 
 }

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

@@ -0,0 +1,14 @@
+package com.huimv.guowei.admin.entity.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class WaterLineVo {
+    private String value1;
+    private String value2;
+    private String value3;
+    private String value4;
+    private Date createDate;
+}

+ 9 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyWaterMapper.java

@@ -2,6 +2,7 @@ package com.huimv.guowei.admin.mapper;
 
 import com.huimv.guowei.admin.entity.EnergyWater;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.guowei.admin.entity.vo.WaterLineVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -28,4 +29,12 @@ public interface EnergyWaterMapper extends BaseMapper<EnergyWater> {
     BigDecimal getDayWater(String farmId);
 
     BigDecimal getMonthWater(String farmId);
+
+    List<WaterLineVo> listWaterLineDayDetail(String farmId);
+
+    List<WaterLineVo> listWaterLineWeekDetail(String farmId);
+
+    List<WaterLineVo> listWaterLineMonthDetail(String farmId);
+
+    List<WaterLineVo> listWaterLineCustomDetail(String farmId, String startDate, String endDate);
 }

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

@@ -19,4 +19,6 @@ public interface IEnergyWaterService extends IService<EnergyWater> {
     Result listWater(Map<String, String> paramsMap);
 
     Result getWater(Map<String, String> paramsMap);
+
+    Result listWaterLine(Map<String, String> paramsMap);
 }

+ 25 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyWaterServiceImpl.java

@@ -3,6 +3,7 @@ package com.huimv.guowei.admin.service.impl;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.EnergyWater;
+import com.huimv.guowei.admin.entity.vo.WaterLineVo;
 import com.huimv.guowei.admin.mapper.EnergyWaterMapper;
 import com.huimv.guowei.admin.service.IEnergyWaterService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -67,4 +68,28 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         resultMap.put("MonthWater",monthWater);
         return new Result(ResultCode.SUCCESS,resultMap);
     }
+
+    @Override
+    public Result listWaterLine(Map<String, String> paramsMap) {
+        String type = paramsMap.get("type");
+        String farmId = paramsMap.get("farmId");
+        String startDate = paramsMap.get("startDate");
+        String endDate = paramsMap.get("endDate")+" 23:59:59";
+
+        List<WaterLineVo> waterLineList = new ArrayList<>();
+        if ("1".equals(type)){
+            waterLineList = energyWaterMapper.listWaterLineDayDetail(farmId);
+        }
+        if ("2".equals(type)){
+            waterLineList = energyWaterMapper.listWaterLineWeekDetail(farmId);
+        }
+        if ("3".equals(type)){
+            waterLineList = energyWaterMapper.listWaterLineMonthDetail(farmId);
+        }
+        if ("4".equals(type)){
+            waterLineList = energyWaterMapper.listWaterLineCustomDetail(farmId,startDate,endDate);
+        }
+
+        return new Result(ResultCode.SUCCESS,waterLineList);
+    }
 }

+ 44 - 0
huimv-admin/src/main/resources/mapper/EnergyWaterMapper.xml

@@ -55,4 +55,48 @@
         AND create_date BETWEEN (SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY)) AND NOW()
     </select>
 
+    <select id="listWaterLineDayDetail" resultType="com.huimv.guowei.admin.entity.vo.WaterLineVo">
+    SELECT create_date,
+        ROUND(MAX(CASE WHEN chip_code = 1001 THEN water_value END),2) AS 'value1',
+        ROUND(MAX(CASE WHEN chip_code = 1002 THEN water_value END),2) AS 'value2',
+        ROUND(MAX(CASE WHEN chip_code = 1003 THEN water_value END),2) AS 'value3',
+        ROUND(MAX(CASE WHEN chip_code = 1004 THEN water_value END),2) AS 'value4'
+    FROM `energy_water`
+    WHERE chip_code IN (1001, 1002, 1003, 1004) AND TO_DAYS(create_date) = TO_DAYS(NOW()) AND farm_id = #{farmId}
+    GROUP BY create_date
+    </select>
+
+    <select id="listWaterLineWeekDetail" resultType="com.huimv.guowei.admin.entity.vo.WaterLineVo">
+    SELECT create_date,
+        ROUND(SUM(CASE WHEN chip_code = 1001 THEN water_value END),2)AS 'value1',
+        ROUND(SUM(CASE WHEN chip_code = 1002 THEN water_value END),2)AS 'value2',
+        ROUND(SUM(CASE WHEN chip_code = 1003 THEN water_value END),2)AS 'value3',
+        ROUND(SUM(CASE WHEN chip_code = 1004 THEN water_value END),2)AS 'value4'
+    FROM `energy_water`
+    WHERE chip_code IN (1001, 1002, 1003, 1004) AND farm_id = #{farmId} AND create_date BETWEEN (SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY)) AND NOW()
+    GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
+    </select>
+
+    <select id="listWaterLineMonthDetail" resultType="com.huimv.guowei.admin.entity.vo.WaterLineVo">
+    SELECT create_date,
+        ROUND(SUM(CASE WHEN chip_code = 1001 THEN water_value END),2)AS 'value1',
+        ROUND(SUM(CASE WHEN chip_code = 1002 THEN water_value END),2)AS 'value2',
+        ROUND(SUM(CASE WHEN chip_code = 1003 THEN water_value END),2)AS 'value3',
+        ROUND(SUM(CASE WHEN chip_code = 1004 THEN water_value END),2)AS 'value4'
+    FROM `energy_water`
+    WHERE chip_code IN (1001, 1002, 1003, 1004) AND farm_id = #{farmId} AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
+    GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
+    </select>
+
+    <select id="listWaterLineCustomDetail" resultType="com.huimv.guowei.admin.entity.vo.WaterLineVo">
+    SELECT create_date,
+        ROUND(SUM(CASE WHEN chip_code = 1001 THEN water_value END),2)AS 'value1',
+        ROUND(SUM(CASE WHEN chip_code = 1002 THEN water_value END),2)AS 'value2',
+        ROUND(SUM(CASE WHEN chip_code = 1003 THEN water_value END),2)AS 'value3',
+        ROUND(SUM(CASE WHEN chip_code = 1004 THEN water_value END),2)AS 'value4'
+    FROM `energy_water`
+    WHERE chip_code IN (1001, 1002, 1003, 1004) AND farm_id = #{farmId} AND create_date BETWEEN '${startDate}' AND '${endDate}'
+    GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
+    </select>
+
 </mapper>