Răsfoiți Sursa

+ 动力箱元器件最新指标

chen.cheng 11 luni în urmă
părinte
comite
2b391bf41a

+ 25 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/PvSupplyHController.java

@@ -1,6 +1,7 @@
 package com.ruoyi.ems.controller;
 
 import java.util.List;
+import java.util.Map;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -33,6 +34,7 @@ import com.ruoyi.ems.service.IPvSupplyHService;
 public class PvSupplyHController extends BaseController {
     @Autowired
     private IPvSupplyHService admEmsPvSupplyHService;
+
     /**
      * 查询光伏并网计量光伏并网计量-小时列表
      */
@@ -65,6 +67,29 @@ public class PvSupplyHController extends BaseController {
         return success(list);
     }
 
+    @RequiresPermissions("ems:prod:list")
+    @GetMapping("/list/prod/this/day/total")
+    public AjaxResult listProdThisDayTotalIndex(PvSupplyH admEmsPvSupplyH) {
+        List<Map<String, Object>> list = admEmsPvSupplyHService
+            .selectAreaSupplyHByThisDay(admEmsPvSupplyH.getAreaCode());
+        return success(list);
+    }
+
+    @RequiresPermissions("ems:prod:list")
+    @GetMapping("/list/prod/this/month/total")
+    public AjaxResult listProdThisMonthTotalIndex(PvSupplyH admEmsPvSupplyH) {
+        List<Map<String, Object>> list = admEmsPvSupplyHService
+            .selectAreaSupplyHByRefMonth(admEmsPvSupplyH.getAreaCode());
+        return success(list);
+    }
+
+    @RequiresPermissions("ems:prod:list")
+    @GetMapping("/list/prod/this/year/total")
+    public AjaxResult listProdThisYearTotalIndex(PvSupplyH admEmsPvSupplyH) {
+        List<Map<String, Object>> list = admEmsPvSupplyHService.selectAreaSupplyHByYear(admEmsPvSupplyH.getAreaCode());
+        return success(list);
+    }
+
     /**
      * 导出光伏并网计量光伏并网计量-小时列表
      */

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

@@ -1,7 +1,10 @@
 package com.ruoyi.ems.mapper;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.ems.domain.PvSupplyH;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 光伏并网计量光伏并网计量-小时Mapper接口
@@ -30,6 +33,10 @@ public interface PvSupplyHMapper
      List<PvSupplyH> selectAreaSupplyH(PvSupplyH pvSupplyH);
 
 
+    List<Map<String,Object>> selectAreaSupplyByDate(@Param("areaCode")String areaCode, @Param("date")String date);
+
+    List<Map<String,Object>> selectAreaSupplyByThisYear(@Param("areaCode")String areaCode, @Param("date")String date);
+
     /**
      * 新增光伏并网计量光伏并网计量-小时
      *

+ 8 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IPvSupplyHService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.ems.service;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.ems.domain.PvSupplyH;
 
 /**
@@ -29,6 +31,12 @@ public interface IPvSupplyHService
 
 
      List<PvSupplyH> selectAreaSupplyH(PvSupplyH admEmsPvSupplyH);
+
+    List<Map<String, Object>> selectAreaSupplyHByThisDay(String areaCode);
+
+    List<Map<String, Object>> selectAreaSupplyHByRefMonth(String areaCode);
+
+    List<Map<String, Object>> selectAreaSupplyHByYear(String areaCode);
     /**
      * 新增光伏并网计量-小时
      *

+ 23 - 1
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/PvSupplyHServiceImpl.java

@@ -1,10 +1,14 @@
 package com.ruoyi.ems.service.impl;
 
 import java.util.List;
+import java.util.Map;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.ruoyi.ems.mapper.PvSupplyHMapper;
+
+import com.ruoyi.common.core.utils.DateTimeUtil;
 import com.ruoyi.ems.domain.PvSupplyH;
+import com.ruoyi.ems.mapper.PvSupplyHMapper;
 import com.ruoyi.ems.service.IPvSupplyHService;
 
 /**
@@ -45,6 +49,24 @@ public class PvSupplyHServiceImpl implements IPvSupplyHService {
         return pvSupplyHMapper.selectAreaSupplyH(PvSupplyH);
     }
 
+    @Override
+    public List<Map<String, Object>> selectAreaSupplyHByThisDay(String areaCode) {
+        String dateTime = DateTimeUtil.currentDateTime(DateTimeUtil.DateFormatter.yyyy_MM_dd);
+        return pvSupplyHMapper.selectAreaSupplyByDate(areaCode, dateTime);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectAreaSupplyHByRefMonth(String areaCode) {
+        String firstDayOfRecentMonth = DateTimeUtil.getFirstDayOfRecentMonth();
+        return pvSupplyHMapper.selectAreaSupplyByDate(areaCode, firstDayOfRecentMonth);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectAreaSupplyHByYear(String areaCode) {
+        String dateTime = DateTimeUtil.getFirstDayOfThisYear(DateTimeUtil.DateFormatter.yyyy_MM_dd);
+        return pvSupplyHMapper.selectAreaSupplyByThisYear(areaCode, dateTime);
+    }
+
     /**
      * 新增光伏并网计量光伏并网计量-小时
      *

+ 88 - 43
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/ElecPvSupplyHMapper.xml

@@ -1,59 +1,71 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.ems.mapper.PvSupplyHMapper">
     <resultMap type="com.ruoyi.ems.domain.PvSupplyH" id="PvSupplyHResult">
-        <result property="id"    column="id"    />
-        <result property="areaCode"    column="area_code"    />
-        <result property="areaName"    column="area_name"    />
-        <result property="areaShortName"    column="area_short_name"    />
-        <result property="facsCode"    column="facs_code"    />
-        <result property="facsName"    column="facs_name"    />
-        <result property="date"    column="date"  jdbcType="DATE"  />
-        <result property="time"    column="time"    />
-        <result property="timeIndex"    column="time_index"    />
-        <result property="upUnitPrice"    column="up_unit_price"    />
-        <result property="genElecQuantity"    column="gen_elec_quantity"    />
-        <result property="useElecQuantity"    column="use_elec_quantity"    />
-        <result property="upElecQuantity"    column="up_elec_quantity"    />
-        <result property="upElecEarn"    column="up_elec_earn"    />
+        <result property="id" column="id"/>
+        <result property="areaCode" column="area_code"/>
+        <result property="areaName" column="area_name"/>
+        <result property="areaShortName" column="area_short_name"/>
+        <result property="facsCode" column="facs_code"/>
+        <result property="facsName" column="facs_name"/>
+        <result property="date" column="date" jdbcType="DATE"/>
+        <result property="time" column="time"/>
+        <result property="timeIndex" column="time_index"/>
+        <result property="upUnitPrice" column="up_unit_price"/>
+        <result property="genElecQuantity" column="gen_elec_quantity"/>
+        <result property="useElecQuantity" column="use_elec_quantity"/>
+        <result property="upElecQuantity" column="up_elec_quantity"/>
+        <result property="upElecEarn" column="up_elec_earn"/>
     </resultMap>
 
     <sql id="selectPvSupplyHVo">
-        select
-            pv.id, pv.area_code, a.area_name, a.short_name as area_short_name, pv.facs_code, f.facs_name, pv.`date`, pv.`time`, pv.time_index, pv.up_unit_price, pv.gen_elec_quantity, pv.use_elec_quantity, pv.up_elec_quantity, pv.up_elec_earn
+        select pv.id,
+               pv.area_code,
+               a.area_name,
+               a.short_name as area_short_name,
+               pv.facs_code,
+               f.facs_name,
+               pv.`date`,
+               pv.`time`,
+               pv.time_index,
+               pv.up_unit_price,
+               pv.gen_elec_quantity,
+               pv.use_elec_quantity,
+               pv.up_elec_quantity,
+               pv.up_elec_earn
         from adm_ems_pv_supply_h pv
-            LEFT JOIN adm_service_area a ON pv.`area_code` = a.`area_code`
-            LEFT JOIN adm_ems_facs f ON pv.`facs_code` = f.`facs_code`
+                 LEFT JOIN adm_service_area a ON pv.`area_code` = a.`area_code`
+                 LEFT JOIN adm_ems_facs f ON pv.`facs_code` = f.`facs_code`
     </sql>
 
     <select id="selectPvSupplyHList" parameterType="com.ruoyi.ems.domain.PvSupplyH" resultMap="PvSupplyHResult">
         <include refid="selectPvSupplyHVo"/>
         <where>
-            <if test="areaCode != null  and areaCode != ''"> and pv.area_code = #{areaCode}</if>
-            <if test="facsCode != null  and facsCode != ''"> and pv.facs_code = #{facsCode}</if>
-            <if test="date != null "> and pv.`date` = #{date}</if>
-            <if test="time != null "> and pv.`time` = #{time}</if>
-            <if test="timeIndex != null "> and pv.time_index = #{timeIndex}</if>
-            <if test="upUnitPrice != null "> and pv.up_unit_price = #{upUnitPrice}</if>
-            <if test="genElecQuantity != null "> and pv.gen_elec_quantity = #{genElecQuantity}</if>
-            <if test="useElecQuantity != null "> and pv.use_elec_quantity = #{useElecQuantity}</if>
-            <if test="upElecQuantity != null "> and pv.up_elec_quantity = #{upElecQuantity}</if>
-            <if test="upElecEarn != null "> and pv.up_elec_earn = #{upElecEarn}</if>
+            <if test="areaCode != null  and areaCode != ''">and pv.area_code = #{areaCode}</if>
+            <if test="facsCode != null  and facsCode != ''">and pv.facs_code = #{facsCode}</if>
+            <if test="date != null ">and pv.`date` = #{date}</if>
+            <if test="time != null ">and pv.`time` = #{time}</if>
+            <if test="timeIndex != null ">and pv.time_index = #{timeIndex}</if>
+            <if test="upUnitPrice != null ">and pv.up_unit_price = #{upUnitPrice}</if>
+            <if test="genElecQuantity != null ">and pv.gen_elec_quantity = #{genElecQuantity}</if>
+            <if test="useElecQuantity != null ">and pv.use_elec_quantity = #{useElecQuantity}</if>
+            <if test="upElecQuantity != null ">and pv.up_elec_quantity = #{upElecQuantity}</if>
+            <if test="upElecEarn != null ">and pv.up_elec_earn = #{upElecEarn}</if>
         </where>
     </select>
 
     <select id="selectAreaSupplyH" parameterType="com.ruoyi.ems.domain.PvSupplyH" resultMap="PvSupplyHResult">
-        SELECT area_code, `date`, time_index,
-               SUM( gen_elec_quantity ) as gen_elec_quantity,
-               SUM( use_elec_quantity ) as use_elec_quantity,
-               SUM( up_elec_quantity ) as up_elec_quantity,
-               SUM( up_elec_earn ) as up_elec_earn
-        FROM
-            adm_ems_pv_supply_h
-        WHERE
-            area_code = #{areaCode}
+        SELECT area_code,
+               `date`,
+               time_index,
+               SUM(gen_elec_quantity) as gen_elec_quantity,
+               SUM(use_elec_quantity) as use_elec_quantity,
+               SUM(up_elec_quantity)  as up_elec_quantity,
+               SUM(up_elec_earn)      as up_elec_earn
+        FROM adm_ems_pv_supply_h
+        WHERE area_code = #{areaCode}
           AND DATE = #{date,jdbcType=DATE}
         GROUP BY
             area_code,
@@ -62,12 +74,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             time_index ASC
     </select>
 
+    <select id="selectAreaSupplyByDate" resultType="Map">
+        SELECT area_code,
+               DATE_FORMAT(date, '%Y-%m-%d') AS dateIndex,
+               SUM(gen_elec_quantity)        as genElecQuantity,
+               SUM(use_elec_quantity)        as useElecQuantity,
+               SUM(up_elec_quantity)         as upElecQuantity,
+               SUM(up_elec_earn)             as upElecEarn
+        FROM adm_ems_pv_supply_h
+        WHERE area_code = #{areaCode}
+          AND DATE >= #{date}
+        GROUP BY
+            area_code,
+            dateIndex
+    </select>
+
+    <select id="selectAreaSupplyByThisYear" resultType="Map">
+        SELECT area_code,
+               DATE_FORMAT(date, '%Y') AS dateIndex,
+               SUM(gen_elec_quantity)  as genElecQuantity,
+               SUM(use_elec_quantity)  as useElecQuantity,
+               SUM(up_elec_quantity)   as upElecQuantity,
+               SUM(up_elec_earn)       as upElecEarn
+        FROM adm_ems_pv_supply_h
+        WHERE area_code = #{areaCode}
+          AND DATE >= #{date}
+        GROUP BY
+            area_code,
+            dateIndex
+    </select>
+
     <select id="selectPvSupplyHById" parameterType="Long" resultMap="PvSupplyHResult">
         <include refid="selectPvSupplyHVo"/>
         where id = #{id}
     </select>
 
-    <insert id="insertPvSupplyH" parameterType="com.ruoyi.ems.domain.PvSupplyH" useGeneratedKeys="true" keyProperty="id">
+    <insert id="insertPvSupplyH" parameterType="com.ruoyi.ems.domain.PvSupplyH" useGeneratedKeys="true"
+            keyProperty="id">
         insert into adm_ems_pv_supply_h
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">area_code,</if>
@@ -80,7 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="useElecQuantity != null">use_elec_quantity,</if>
             <if test="upElecQuantity != null">up_elec_quantity,</if>
             <if test="upElecEarn != null">up_elec_earn,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">#{areaCode},</if>
             <if test="facsCode != null and facsCode != ''">#{facsCode},</if>
@@ -92,7 +135,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="useElecQuantity != null">#{useElecQuantity},</if>
             <if test="upElecQuantity != null">#{upElecQuantity},</if>
             <if test="upElecEarn != null">#{upElecEarn},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updatePvSupplyH" parameterType="com.ruoyi.ems.domain.PvSupplyH">
@@ -113,7 +156,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deletePvSupplyHById" parameterType="Long">
-        delete from adm_ems_pv_supply_h where id = #{id}
+        delete
+        from adm_ems_pv_supply_h
+        where id = #{id}
     </delete>
 
     <delete id="deletePvSupplyHByIds" parameterType="String">

+ 12 - 5
ems-cloud/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateTimeUtil.java

@@ -338,11 +338,6 @@ public class DateTimeUtil {
         return month;
     }
 
-    public static void main(String[] args) {
-        List<String> month = monthOfRange("20230731", "20240831", DateFormatter.yyyyMMdd, DateFormatter.yyyyMM);
-        System.out.println(month);
-    }
-
     /**
      * Days of range list.
      *
@@ -544,6 +539,18 @@ public class DateTimeUtil {
         return localDate.format(formatter);
     }
 
+    public static String getFirstDayOfThisYear(String dateFormat) {
+        // 获取当前日期
+        LocalDate today = LocalDate.now();
+
+        // 计算近一年的年份
+        int recentYear = today.getYear();
+
+        // 使用 TemporalAdjusters 来找到近一年的第一天
+        LocalDate localDate = LocalDate.of(recentYear, 1, 1).with(TemporalAdjusters.firstDayOfYear());
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateFormat);
+        return localDate.format(formatter);
+    }
     public static String getFirstDayOfRecentYear() {
         return getFirstDayOfRecentYear(DateFormatter.yyyy_MM_dd);
     }