Эх сурвалжийг харах

+ 大屏接口研发,《设备》

chen.cheng 10 сар өмнө
parent
commit
2f970ec092

+ 20 - 8
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/ElecPgSupplyHController.java

@@ -1,28 +1,31 @@
 package com.ruoyi.ems.controller;
 
 import java.util.List;
+
 import javax.servlet.http.HttpServletResponse;
 
-import com.ruoyi.ems.domain.vo.QueryIndex;
-import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-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.RestController;
+
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
 import com.ruoyi.ems.domain.ElecPgSupplyH;
+import com.ruoyi.ems.domain.vo.QueryIndex;
 import com.ruoyi.ems.service.IElecPgSupplyHService;
-import com.ruoyi.common.core.web.controller.BaseController;
-import com.ruoyi.common.core.web.domain.AjaxResult;
-import com.ruoyi.common.core.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.web.page.TableDataInfo;
+
+import io.swagger.annotations.Api;
 
 /**
  * 电网供应计量-小时Controller
@@ -84,6 +87,15 @@ public class ElecPgSupplyHController extends BaseController
         return success(pgSupplyHService.selectPgSupplyHById(id));
     }
 
+    @GetMapping(value = "/summery/h")
+    public AjaxResult getSummeryByH() {
+        return success(pgSupplyHService.selectSupplyPvByH());
+    }
+
+    @GetMapping(value = "/summery/this/day")
+    public AjaxResult getSummeryByThisDay() {
+        return success(pgSupplyHService.selectSupplyPvByDay());
+    }
     /**
      * 新增电网供应计量-小时
      */

+ 9 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/ElecPgSupplyHMapper.java

@@ -1,8 +1,12 @@
 package com.ruoyi.ems.mapper;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.ems.domain.ElecPgSupplyH;
 import com.ruoyi.ems.domain.vo.QueryIndex;
+import org.apache.ibatis.annotations.MapKey;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 电网供应计量-小时Mapper接口
@@ -31,6 +35,11 @@ public interface ElecPgSupplyHMapper
 
      List<ElecPgSupplyH> selectPgSupplyHAllArea(ElecPgSupplyH elecPgSupplyH);
 
+    Map<String, Object> calThisDaySupply(@Param("thisDay") String thisDay);
+
+    @MapKey("timeIndex")
+    Map<String, Map<String,Object>> calThisDaySupplyByH(@Param("thisDay") String thisDay);
+
     /**
      * 查询电网供应计量-小时列表
      *

+ 6 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/PvSupplyHMapper.java

@@ -3,6 +3,7 @@ package com.ruoyi.ems.mapper;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 
 import com.ruoyi.ems.domain.PvSupplyH;
@@ -33,6 +34,11 @@ public interface PvSupplyHMapper
 
     List<PvSupplyH> selectPvSupplyHAll(PvSupplyH pvSupplyH);
 
+    Map<String, Object> calThisDayPv(@Param("thisDay") String thisDay);
+
+    @MapKey("timeIndex")
+    Map<String, Map<String, Object>> calThisDayPvByH(@Param("thisDay") String thisDay);
+
      List<PvSupplyH> selectAreaSupplyH(PvSupplyH pvSupplyH);
 
 

+ 14 - 7
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IElecPgSupplyHService.java

@@ -1,12 +1,14 @@
 package com.ruoyi.ems.service;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.ems.domain.ElecPgSupplyH;
 import com.ruoyi.ems.domain.vo.QueryIndex;
 
 /**
  * 电网供应计量-小时Service接口
- * 
+ *
  * @author ruoyi
  * @date 2024-08-09
  */
@@ -14,7 +16,7 @@ public interface IElecPgSupplyHService
 {
     /**
      * 查询电网供应计量-小时
-     * 
+     *
      * @param id 电网供应计量-小时主键
      * @return 电网供应计量-小时
      */
@@ -22,7 +24,7 @@ public interface IElecPgSupplyHService
 
     /**
      * 查询电网供应计量-小时列表
-     * 
+     *
      * @param pgSupplyH 电网供应计量-小时
      * @return 电网供应计量-小时集合
      */
@@ -36,9 +38,14 @@ public interface IElecPgSupplyHService
      */
     List<ElecPgSupplyH> selectPgSupplyH(QueryIndex queryIndex);
 
+
+    Map<String, Object> selectSupplyPvByH();
+
+    Map<String, Object> selectSupplyPvByDay();
+
     /**
      * 新增电网供应计量-小时
-     * 
+     *
      * @param pgSupplyH 电网供应计量-小时
      * @return 结果
      */
@@ -46,7 +53,7 @@ public interface IElecPgSupplyHService
 
     /**
      * 修改电网供应计量-小时
-     * 
+     *
      * @param pgSupplyH 电网供应计量-小时
      * @return 结果
      */
@@ -54,7 +61,7 @@ public interface IElecPgSupplyHService
 
     /**
      * 批量删除电网供应计量-小时
-     * 
+     *
      * @param ids 需要删除的电网供应计量-小时主键集合
      * @return 结果
      */
@@ -62,7 +69,7 @@ public interface IElecPgSupplyHService
 
     /**
      * 删除电网供应计量-小时信息
-     * 
+     *
      * @param id 电网供应计量-小时主键
      * @return 结果
      */

+ 32 - 3
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsPgSupplyHServiceImpl.java

@@ -1,13 +1,18 @@
 package com.ruoyi.ems.service.impl;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
-import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.ems.domain.vo.QueryIndex;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.ruoyi.ems.mapper.ElecPgSupplyHMapper;
+
+import com.ruoyi.common.core.utils.DateTimeUtil;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.ems.domain.ElecPgSupplyH;
+import com.ruoyi.ems.domain.vo.QueryIndex;
+import com.ruoyi.ems.mapper.ElecPgSupplyHMapper;
+import com.ruoyi.ems.mapper.PvSupplyHMapper;
 import com.ruoyi.ems.service.IElecPgSupplyHService;
 
 /**
@@ -22,6 +27,8 @@ public class EmsPgSupplyHServiceImpl implements IElecPgSupplyHService
     @Autowired
     private ElecPgSupplyHMapper emsPgSupplyHMapper;
 
+    @Autowired
+    private PvSupplyHMapper pvSupplyHMapper;
     /**
      * 查询电网供应计量-小时
      *
@@ -54,6 +61,28 @@ public class EmsPgSupplyHServiceImpl implements IElecPgSupplyHService
         return emsPgSupplyHMapper.selectPgSupplyH(queryIndex);
     }
 
+
+    @Override
+    public Map<String, Object> selectSupplyPvByH() {
+        String thisDay = DateTimeUtil.currentDateTime(DateTimeUtil.DateFormatter.yyyy_MM_dd);
+        Map<String, Map<String, Object>> supplyByHMap = emsPgSupplyHMapper.calThisDaySupplyByH(thisDay);
+        Map<String, Map<String, Object>> pvByHMap = pvSupplyHMapper.calThisDayPvByH(thisDay);
+        return new HashMap<String, Object>() {{
+            put("supply", supplyByHMap);
+            put("pv", pvByHMap);
+        }};
+    }
+
+    @Override
+    public Map<String, Object> selectSupplyPvByDay() {
+        String thisDay = DateTimeUtil.currentDateTime(DateTimeUtil.DateFormatter.yyyy_MM_dd);
+        Map<String, Object> thisDaySupply = emsPgSupplyHMapper.calThisDaySupply(thisDay);
+        Map<String, Object> thisDayPv = pvSupplyHMapper.calThisDayPv(thisDay);
+        return new HashMap<String, Object>() {{
+            put("supply", thisDaySupply);
+            put("pv", thisDayPv);
+        }};
+    }
     /**
      * 新增电网供应计量-小时
      *

+ 23 - 1
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/ElecPgSupplyHMapper.xml

@@ -77,8 +77,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         pg.`time` DESC,
         pg.`time_index`
     </select>
+    <select id="calThisDaySupply" parameterType="String" resultType="Map">
+        SELECT sum(
+                       COALESCE(CAST(use_elec_cost AS DECIMAL(10, 2)), 0))     cost,
+               sum(
+                       COALESCE(CAST(use_elec_quantity AS DECIMAL(10, 2)), 0)) quantity
+        FROM adm_ems_pg_supply_h
+        WHERE
+            DATE = #{thisDay}
+        GROUP BY
+            DATE
+    </select>
 
-
+    <select id="calThisDaySupplyByH" parameterType="String" resultType="Map">
+        SELECT time_index                                                      timeIndex,
+               sum(
+                       COALESCE(CAST(use_elec_cost AS DECIMAL(10, 2)), 0))     cost,
+               sum(
+                       COALESCE(CAST(use_elec_quantity AS DECIMAL(10, 2)), 0)) quantity
+        FROM adm_ems_pg_supply_h
+        WHERE
+            DATE = #{thisDay}
+        GROUP BY
+            DATE, time_index
+    </select>
 
     <select id="selectPgSupplyH" parameterType="com.ruoyi.ems.domain.vo.QueryIndex" resultMap="PgSupplyHResult">
         <include refid="selectPgSupplyHVo"/>

+ 34 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/ElecPvSupplyHMapper.xml

@@ -99,6 +99,40 @@
             pv.`time_index`
     </select>
 
+    <select id="calThisDayPv" resultType="Map">
+
+        SELECT sum(
+                       COALESCE(CAST(gen_elec_quantity AS DECIMAL(10, 2)), 0)) genQuantity,
+               sum(
+                       COALESCE(CAST(use_elec_quantity AS DECIMAL(10, 2)), 0)) useQuantity,
+               sum(
+                       COALESCE(CAST(up_elec_quantity AS DECIMAL(10, 2)), 0))  upQuantity,
+               sum(
+                       COALESCE(CAST(up_elec_earn AS DECIMAL(10, 2)), 0))      upEarn
+        FROM adm_ems_pv_supply_h
+        WHERE
+            DATE = #{thisDay}
+        GROUP BY
+            DATE
+    </select>
+    <select id="calThisDayPvByH" resultType="Map">
+
+        SELECT time_index                                                      timeIndex,
+               sum(
+                       COALESCE(CAST(gen_elec_quantity AS DECIMAL(10, 2)), 0)) genQuantity,
+               sum(
+                       COALESCE(CAST(use_elec_quantity AS DECIMAL(10, 2)), 0)) useQuantity,
+               sum(
+                       COALESCE(CAST(up_elec_quantity AS DECIMAL(10, 2)), 0))  upQuantity,
+               sum(
+                       COALESCE(CAST(up_elec_earn AS DECIMAL(10, 2)), 0))      upEarn
+        FROM adm_ems_pv_supply_h
+        WHERE
+            DATE = #{thisDay}
+        GROUP BY
+            DATE, time_index;
+    </select>
+
     <select id="selectAreaSupplyH" parameterType="com.ruoyi.ems.domain.PvSupplyH" resultMap="PvSupplyHResult">
         SELECT area_code,
                `date`,

+ 6 - 0
ems-cloud/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateTimeUtil.java

@@ -388,6 +388,8 @@ public class DateTimeUtil {
         return (int) Math.floor(minutes / tp);
     }
 
+
+
     /**
      * Gets time from step index. tp is min the format hh:mm:00
      *
@@ -571,6 +573,10 @@ public class DateTimeUtil {
         return getFirstDayOfRecentMonth(DateFormatter.yyyy_MM_dd);
     }
 
+    public static void main(String[] args) {
+
+    }
+
     /**
      * The interface Date formatter.
      *