Browse Source

设施分类能耗统计接口

lv.wenbin 9 months ago
parent
commit
4b05892cef

+ 13 - 7
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/ElecUseHController.java

@@ -46,14 +46,20 @@ public class ElecUseHController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo list(ElecUseH elecUseH) {
         startPage();
-        List<ElecUseH> list = elecUseHService.selectElecUseHList(elecUseH);
+        List<ElecUseH> list = elecUseHService.getElecUseHList(elecUseH);
         return getDataTable(list);
     }
 
+    @GetMapping("/sumBySubCategory")
+    public AjaxResult sumBySubCategory(ElecUseH elecUseH) {
+        List<ElecUseH> list = elecUseHService.getSumBySubCategory(elecUseH);
+        return success(list);
+    }
+
     @GetMapping("/listSum")
     public TableDataInfo listSum(ElecUseH elecUseH) {
         startPage();
-        List<ElecUseH> list = elecUseHService.selectElecUseHListSum(elecUseH);
+        List<ElecUseH> list = elecUseHService.getElecUseHListSum(elecUseH);
         return getDataTable(list);
     }
 
@@ -64,7 +70,7 @@ public class ElecUseHController extends BaseController {
     @Log(title = "用能计量-小时", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ElecUseH elecUseH) {
-        List<ElecUseH> list = elecUseHService.selectElecUseHList(elecUseH);
+        List<ElecUseH> list = elecUseHService.getElecUseHList(elecUseH);
         ExcelUtil<ElecUseH> util = new ExcelUtil<ElecUseH>(ElecUseH.class);
         util.exportExcel(response, list, "用能计量-小时数据");
     }
@@ -74,7 +80,7 @@ public class ElecUseHController extends BaseController {
      */
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
-        return success(elecUseHService.selectElecUseHById(id));
+        return success(elecUseHService.getElecUseHById(id));
     }
 
     /**
@@ -127,7 +133,7 @@ public class ElecUseHController extends BaseController {
      */
     @GetMapping("/area/month/elec/use")
     public AjaxResult getAreaMonthElecUse(@RequestParam(value = "area", required = false) String area) {
-        return success(elecUseHService.selectMonthElecUse(area));
+        return success(elecUseHService.getMonthElecUse(area));
     }
 
     /**
@@ -138,7 +144,7 @@ public class ElecUseHController extends BaseController {
      */
     @GetMapping("/area/thisday/fac/category/elec/use")
     public AjaxResult getAreaThisDayFacCategoryElecUse(@RequestParam(value = "area", required = false) String area) {
-        return success(elecUseHService.selectThisDayFacsCategoryElecUse(area));
+        return success(elecUseHService.getThisDayFacsCategoryElecUse(area));
     }
 
     /**
@@ -149,6 +155,6 @@ public class ElecUseHController extends BaseController {
      */
     @GetMapping("/area/thisday/elec/use")
     public AjaxResult getAreaThisDayElecUse(@RequestParam(value = "area", required = false) String area) {
-        return success(elecUseHService.selectThisDayAreaElecUse(area));
+        return success(elecUseHService.getThisDayAreaElecUse(area));
     }
 }

+ 2 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/ElecUseHMapper.java

@@ -33,6 +33,8 @@ public interface ElecUseHMapper {
 
     List<ElecUseH> selectElecUseHListSum(ElecUseH elecUseH);
 
+    List<ElecUseH> selectSumBySubCategory(ElecUseH elecUseH);
+
     /**
      * 新增用能计量-小时
      *

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

@@ -18,17 +18,24 @@ public interface IElecUseHService {
      * @param id 用能计量-小时主键
      * @return 用能计量-小时
      */
-    ElecUseH selectElecUseHById(Long id);
+    ElecUseH getElecUseHById(Long id);
 
     /**
      * 查询用能计量-小时列表
      *
-     * @param elecUseH 用能计量-小时
+     * @param elecUseH 条件参数
+     * @return 用能计量-小时集合
+     */
+    List<ElecUseH> getElecUseHList(ElecUseH elecUseH);
+
+    /**
+     * 查询用能计量-小时列表(合并计算)
+     * @param elecUseH 条件参数
      * @return 用能计量-小时集合
      */
-    List<ElecUseH> selectElecUseHList(ElecUseH elecUseH);
+    List<ElecUseH> getElecUseHListSum(ElecUseH elecUseH);
 
-    List<ElecUseH> selectElecUseHListSum(ElecUseH elecUseH);
+    List<ElecUseH> getSumBySubCategory(ElecUseH elecUseH);
 
     /**
      * 新增用能计量-小时
@@ -67,9 +74,9 @@ public interface IElecUseHService {
      */
     List<Map> selectElecAndPower(String areaCode);
 
-    Map<String, List<Map<String, Object>>> selectMonthElecUse(String areaCode);
+    Map<String, List<Map<String, Object>>> getMonthElecUse(String areaCode);
 
-    List<Map<String, Object>> selectThisDayFacsCategoryElecUse(String areaCode);
+    List<Map<String, Object>> getThisDayFacsCategoryElecUse(String areaCode);
 
-    Map<String, Object> selectThisDayAreaElecUse(String areaCode);
+    Map<String, Object> getThisDayAreaElecUse(String areaCode);
 }

+ 11 - 6
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/ElecUseHServiceImpl.java

@@ -37,7 +37,7 @@ public class ElecUseHServiceImpl implements IElecUseHService {
      * @return 用能计量-小时
      */
     @Override
-    public ElecUseH selectElecUseHById(Long id) {
+    public ElecUseH getElecUseHById(Long id) {
         return elecUseHMapper.selectElecUseHById(id);
     }
 
@@ -48,15 +48,20 @@ public class ElecUseHServiceImpl implements IElecUseHService {
      * @return 用能计量-小时
      */
     @Override
-    public List<ElecUseH> selectElecUseHList(ElecUseH ElecUseH) {
+    public List<ElecUseH> getElecUseHList(ElecUseH ElecUseH) {
         return elecUseHMapper.selectElecUseHList(ElecUseH);
     }
 
     @Override
-    public List<ElecUseH> selectElecUseHListSum(ElecUseH elecUseH) {
+    public List<ElecUseH> getElecUseHListSum(ElecUseH elecUseH) {
         return elecUseHMapper.selectElecUseHListSum(elecUseH);
     }
 
+    @Override
+    public List<ElecUseH> getSumBySubCategory(ElecUseH elecUseH) {
+        return elecUseHMapper.selectSumBySubCategory(elecUseH);
+    }
+
     /**
      * 新增用能计量-小时
      *
@@ -129,20 +134,20 @@ public class ElecUseHServiceImpl implements IElecUseHService {
     }
 
     @Override
-    public Map<String, List<Map<String, Object>>> selectMonthElecUse(String areaCode) {
+    public Map<String, List<Map<String, Object>>> getMonthElecUse(String areaCode) {
         String date = DateTimeUtil.getFirstDayOfRecentYear();
         List<Map<String, Object>> areaData = elecUseHMapper.selectMonthElecUse(areaCode, date);
         return StreamUtils.groupByKey(areaData, map -> MapUtil.getStr(map, "areaCode"));
     }
 
     @Override
-    public List<Map<String, Object>> selectThisDayFacsCategoryElecUse(String areaCode) {
+    public List<Map<String, Object>> getThisDayFacsCategoryElecUse(String areaCode) {
         String date = DateTimeUtil.currentDateTime(DateTimeUtil.DateFormatter.yyyy_MM_dd);
         return elecUseHMapper.selectThisDayFacsCategoryElecUse(areaCode, date);
     }
 
     @Override
-    public Map<String, Object> selectThisDayAreaElecUse(String areaCode) {
+    public Map<String, Object> getThisDayAreaElecUse(String areaCode) {
         String date = DateTimeUtil.currentDateTime(DateTimeUtil.DateFormatter.yyyy_MM_dd);
         return elecUseHMapper.selectThisDayElecUse(areaCode, date);
     }

+ 26 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/ElecUseHMapper.xml

@@ -107,6 +107,9 @@
         <where>
             <if test="areaCode != null and areaCode != '' and areaCode != '-1'">and u.area_code = #{areaCode}</if>
             <if test="objCode != null and objCode != ''">and u.obj_code = #{objCode}</if>
+            <if test="startRecTime != null  and startRecTime != '' and endRecTime != null and endRecTime !=''">
+                and u.`record_time` &gt;= #{startRecTime} and u.`record_time` &lt;= #{endRecTime}
+            </if>
             <if test="facsCategory != null and facsCategory != ''">and fa.facs_category = #{facsCategory}</if>
             <if test="facsSubCategory != null and facsSubCategory != ''">and fa.facs_subcategory = #{facsSubCategory}</if>
         </where>
@@ -120,6 +123,29 @@
             u.`time_index`
     </select>
 
+    <select id="selectSumBySubCategory" parameterType="com.ruoyi.ems.domain.ElecUseH" resultMap="elecUseHResult">
+        select
+          sc.`code` as obj_code, sc.`name` as obj_name, sum(t.elec_quantity) as elec_quantity
+        from dim_ems_facs_subcategory sc
+        left join
+          ( select
+              f.facs_subcategory, sum(u.elec_quantity) as elec_quantity
+            from
+              adm_ems_facs f
+            left join adm_ems_obj_use_h u on f.facs_code = u.obj_code
+            <where>
+              f.facs_category = 'Z'
+              and u.obj_type = 1
+              <if test="startRecTime != null  and startRecTime != '' and endRecTime != null and endRecTime !=''">
+                  and u.record_time &gt;= #{startRecTime} and u.record_time &lt;= #{endRecTime}
+              </if>
+            </where>
+            GROUP BY f.facs_subcategory
+          ) t on sc.`code` = t.facs_subcategory
+        where sc.parent_code = 'Z'
+        GROUP BY sc.`code`, sc.`name`;
+    </select>
+
     <select id="selectElecUseHById" parameterType="Long" resultMap="elecUseHResult">
         <include refid="selectElecUseHVo"/>
         where u.`id` = #{id}