Explorar el Código

+ 大屏荷接口对接

chen.cheng hace 1 mes
padre
commit
f98fabf0c1

+ 7 - 2
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/ElecMeterHController.java

@@ -175,8 +175,8 @@ public class ElecMeterHController extends BaseController {
     }
 
     @GetMapping("/sum/byDate/{date}")
-    public AjaxResult qryElecMeterByDate(@PathVariable("date") String date) {
-        return success(elecMeterHService.qryElecMeterByDate(date));
+    public AjaxResult qryElecMeterByDate(@PathVariable("date") String date, @RequestParam(name = "areaCode", required = false) String areaCode) {
+        return success(elecMeterHService.qryElecMeterByDate(date, areaCode));
     }
 
     @GetMapping("/sum/timeIndex/byDate/{date}/{timeIndex}")
@@ -194,4 +194,9 @@ public class ElecMeterHController extends BaseController {
         return success(elecMeterHService.qryDateElecMeterByYear(date));
     }
 
+    @GetMapping("/sum/device/day")
+    public AjaxResult qryDeviceDay(ElecMeterH elecMeterH) {
+        return success(elecMeterHService.qryDeviceTypeElecMeterByDay(elecMeterH));
+    }
+
 }

+ 10 - 7
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/MeterDeviceController.java

@@ -17,7 +17,6 @@ import com.ruoyi.ems.service.IMeterDeviceService;
 import com.ruoyi.ems.util.AreaUtils;
 import io.swagger.annotations.Api;
 import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -84,8 +83,7 @@ public class MeterDeviceController extends BaseController {
             startPage();
             List<MeterDevice> list = meterDeviceService.selectMeterDeviceList(queryDevice);
             tabInfo = getDataTable(list);
-        }
-        catch (BusinessException e) {
+        } catch (BusinessException e) {
             tabInfo = new TableDataInfo();
             tabInfo.setCode(e.getCode());
             tabInfo.setMsg(e.getMessage());
@@ -103,9 +101,9 @@ public class MeterDeviceController extends BaseController {
     @RequiresPermissions("basecfg:meterdevc:list")
     @GetMapping("/getTreeByArea")
     public AjaxResult getTreeByArea(
-        @RequestParam(name = "parentCode", required = false, defaultValue = "0") String parentCode,
-        @RequestParam(value = "meterCls", required = false) Integer meterCls,
-        @RequestParam(value = "colMode", required = false) Integer colMode) {
+            @RequestParam(name = "parentCode", required = false, defaultValue = "0") String parentCode,
+            @RequestParam(value = "meterCls", required = false) Integer meterCls,
+            @RequestParam(value = "colMode", required = false) Integer colMode) {
         List<TreeEntity> retList = new ArrayList<>();
 
         // 查询区域树
@@ -117,7 +115,7 @@ public class MeterDeviceController extends BaseController {
         queryParam.setColMode(colMode);
         List<MeterDevice> list = meterDeviceService.selectMeterDeviceList(queryParam);
         Map<String, List<MeterDevice>> groupMap = list.stream()
-            .collect(Collectors.groupingBy(MeterDevice::getLocationRef, Collectors.toList()));
+                .collect(Collectors.groupingBy(MeterDevice::getLocationRef, Collectors.toList()));
 
         for (Area area : areas) {
             boolean flag = false;
@@ -222,4 +220,9 @@ public class MeterDeviceController extends BaseController {
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(meterDeviceService.deleteMeterDeviceByIds(ids));
     }
+
+    @GetMapping("/cnt")
+    public AjaxResult cntMeterDevice(@RequestParam(name = "areaCode", required = false) String areaCode) {
+        return success(meterDeviceService.cntMeterDevice(areaCode));
+    }
 }

+ 2 - 2
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/WaterMeterHController.java

@@ -93,8 +93,8 @@ public class WaterMeterHController extends BaseController {
 
 
     @GetMapping("/sum/byDate/{date}")
-    public AjaxResult qryWaterMeterByDate(@PathVariable(name = "date") String date) {
-        return success(waterMeterHService.qryWaterMeterByDate(date));
+    public AjaxResult qryWaterMeterByDate(@PathVariable(name = "date") String date, @RequestParam(name = "areaCode", required = false) String areaCode) {
+        return success(waterMeterHService.qryWaterMeterByDate(date, areaCode));
     }
 
     @GetMapping("/sum/timeIndex/byDate/{date}/{timeIndex}")

+ 3 - 1
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/ElecMeterHMapper.java

@@ -87,7 +87,7 @@ public interface ElecMeterHMapper {
     int deleteElecMeterHByDate(@Param("date") String date);
 
 
-    ElecMeterH qryElecMeterByDate(String dataRange);
+    ElecMeterH qryElecMeterByDate(ElecMeterH dataRange);
 
     List<ElecMeterH> qryTimeIndexElecMeterByDay(@Param("dataRange") String dataRange);
 
@@ -95,4 +95,6 @@ public interface ElecMeterHMapper {
 
     List<ElecMeterH> qryDateElecMeterByYear(String dataRange);
 
+    List<ElecMeterH> qryDeviceTypeElecMeterByDay(ElecMeterH elecMeterH);
+
 }

+ 8 - 2
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/MeterDeviceMapper.java

@@ -1,5 +1,6 @@
 package com.ruoyi.ems.mapper;
 
+import com.ruoyi.ems.domain.ElecMeterH;
 import com.ruoyi.ems.domain.MeterDevice;
 import com.ruoyi.ems.model.QueryDevice;
 import org.apache.ibatis.annotations.Param;
@@ -24,14 +25,13 @@ public interface MeterDeviceMapper {
     /**
      * 查询计量设备
      *
-
      * @param deviceCode 设备code
      * @return 计量设备
      */
     MeterDevice selectMeterDeviceByCode(@Param("deviceCode") String deviceCode);
 
     List<MeterDevice> selectMeterDeviceByObj(@Param("areaCode") String areaCode, @Param("objType") int objType,
-        @Param("boundaryObj") String boundaryObj, @Param("meterCls") int meterCls);
+                                             @Param("boundaryObj") String boundaryObj, @Param("meterCls") int meterCls);
 
     /**
      * 查询计量设备列表
@@ -80,4 +80,10 @@ public interface MeterDeviceMapper {
      * @return 结果
      */
     int deleteMeterDeviceByIds(Long[] ids);
+
+
+    int countMeterDeviceByObj(MeterDevice meterDevice);
+
+    int countOnlineMeterDeviceByObj(ElecMeterH elecMeterH);
+
 }

+ 1 - 1
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/WaterMeterHMapper.java

@@ -54,7 +54,7 @@ public interface WaterMeterHMapper {
     int deleteWaterMeterHByDate(@Param("date") String date);
 
 
-    WaterMeterH qryWaterMeterByDate(String dataRange);
+    WaterMeterH qryWaterMeterByDate(WaterMeterH waterMeterH);
 
     List<WaterMeterH> qryTimeIndexWaterMeterByDay(@Param("dataRange") String dataRange);
 

+ 3 - 2
ems/ems-core/src/main/java/com/ruoyi/ems/service/IElecMeterHService.java

@@ -85,12 +85,13 @@ public interface IElecMeterHService {
      */
     int deleteElecMeterHByDate(String date);
 
-
-    ElecMeterH qryElecMeterByDate(String dateRange);
+    ElecMeterH qryElecMeterByDate(String dateRange, String areaCode);
 
     List<ElecMeterH> qryTimeIndexElecMeterByDay(String dateRange, Integer timeIndex);
 
     List<ElecMeterH> qryDateElecMeterByDate(String dateRange);
 
     public List<ElecMeterH> qryDateElecMeterByYear(String dataRange);
+
+    List<ElecMeterH> qryDeviceTypeElecMeterByDay(ElecMeterH elecMeterH);
 }

+ 3 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/IMeterDeviceService.java

@@ -5,6 +5,7 @@ import com.ruoyi.ems.enums.MeterObjType;
 import com.ruoyi.ems.model.QueryDevice;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 计量设备Service接口
@@ -88,4 +89,6 @@ public interface IMeterDeviceService {
      * @return 结果
      */
     int deleteMeterDeviceById(Long id);
+
+    Map<String, Integer> cntMeterDevice(String areaCode);
 }

+ 1 - 1
ems/ems-core/src/main/java/com/ruoyi/ems/service/IWaterMeterHService.java

@@ -46,7 +46,7 @@ public interface IWaterMeterHService {
     int deleteWaterMeterHByDate(String date);
 
 
-    WaterMeterH qryWaterMeterByDate(String dataRange);
+    WaterMeterH qryWaterMeterByDate(String dataRange, String areaCode);
 
     List<WaterMeterH> qryTimeIndexWaterMeterByDay(String dataRange,Integer timeIndex);
 

+ 12 - 2
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/ElecMeterHServiceImpl.java

@@ -103,8 +103,11 @@ public class ElecMeterHServiceImpl implements IElecMeterHService {
     }
 
     @Override
-    public ElecMeterH qryElecMeterByDate(String dateRange) {
-        return elecMeterHMapper.qryElecMeterByDate(dateRange);
+    public ElecMeterH qryElecMeterByDate(String dateRange, String areaCode) {
+        return elecMeterHMapper.qryElecMeterByDate(new ElecMeterH() {{
+            setStartRecTime(dateRange);
+            setAreaCode(areaCode);
+        }});
     }
 
     @Override
@@ -121,4 +124,11 @@ public class ElecMeterHServiceImpl implements IElecMeterHService {
     public List<ElecMeterH> qryDateElecMeterByYear(String dataRange) {
         return elecMeterHMapper.qryDateElecMeterByYear(dataRange);
     }
+
+
+    @Override
+    public List<ElecMeterH> qryDeviceTypeElecMeterByDay(ElecMeterH elecMeterH) {
+        return elecMeterHMapper.qryDeviceTypeElecMeterByDay(elecMeterH);
+    }
+
 }

+ 32 - 2
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/MeterDeviceServiceImpl.java

@@ -1,15 +1,21 @@
 package com.ruoyi.ems.service.impl;
 
+import cn.hutool.core.thread.ThreadUtil;
+import com.ruoyi.common.core.utils.DateTimeUtil;
+import com.ruoyi.ems.domain.ElecMeterH;
 import com.ruoyi.ems.domain.MeterDevice;
 import com.ruoyi.ems.enums.MeterObjType;
 import com.ruoyi.ems.mapper.MeterDeviceMapper;
 import com.ruoyi.ems.model.QueryDevice;
 import com.ruoyi.ems.service.IMeterDeviceService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Future;
 
 /**
  * 计量设备Service业务层处理
@@ -18,6 +24,7 @@ import java.util.List;
  * @date 2024-08-08
  */
 @Service
+@Slf4j
 public class MeterDeviceServiceImpl implements IMeterDeviceService {
     @Autowired
     private MeterDeviceMapper meterDeviceMapper;
@@ -56,7 +63,7 @@ public class MeterDeviceServiceImpl implements IMeterDeviceService {
 
     @Override
     public List<MeterDevice> selectMeterDeviceByObj(String areaCode, MeterObjType objType, String boundaryObj,
-        Integer meterCls) {
+                                                    Integer meterCls) {
         return meterDeviceMapper.selectMeterDeviceByObj(areaCode, objType.getType(), boundaryObj, meterCls);
     }
 
@@ -103,4 +110,27 @@ public class MeterDeviceServiceImpl implements IMeterDeviceService {
     public int deleteMeterDeviceById(Long id) {
         return meterDeviceMapper.deleteMeterDeviceById(id);
     }
+
+
+    @Override
+    public Map<String, Integer> cntMeterDevice(String areaCode) {
+        Future<?> totalDevice = ThreadUtil.execAsync(() -> meterDeviceMapper.countMeterDeviceByObj(new MeterDevice() {{
+            setAreaCode(areaCode);
+        }}));
+        Future<?> onlineDevice = ThreadUtil.execAsync(() -> meterDeviceMapper.countOnlineMeterDeviceByObj(new ElecMeterH() {
+            {
+                setStartRecTime(DateTimeUtil.currentDateTime(DateTimeUtil.DateFormatter.yyyy_MM_dd));
+                setAreaCode(areaCode);
+            }
+        }));
+
+        Map<String, Integer> result = new HashMap<>();
+        try {
+            result.put("totalDevice", (Integer) totalDevice.get());
+            result.put("onlineDevice", (Integer) onlineDevice.get());
+        } catch (Exception e) {
+            log.error("cntMeterDevice error {}", e.getMessage());
+        }
+        return result;
+    }
 }

+ 5 - 2
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/WaterMeterHServiceImpl.java

@@ -68,8 +68,11 @@ public class WaterMeterHServiceImpl implements IWaterMeterHService {
 
 
     @Override
-    public WaterMeterH qryWaterMeterByDate(String dataRange) {
-        return waterMeterHMapper.qryWaterMeterByDate(dataRange);
+    public WaterMeterH qryWaterMeterByDate(String dataRange, String areaCode) {
+        return waterMeterHMapper.qryWaterMeterByDate(new WaterMeterH(){{
+            setStartRecTime(dataRange);
+            setAreaCode(areaCode);
+        }});
     }
 
     @Override

+ 20 - 15
ems/ems-core/src/main/resources/mapper/ems/ElecMeterHMapper.xml

@@ -214,12 +214,12 @@
     </delete>
 
 
-    <select id="qryElecMeterByDate" resultMap="ElecMeterHResult">
+    <select id="qryElecMeterByDate" parameterType="ElecMeterH" resultMap="ElecMeterHResult">
         SELECT sum(elec_quantity) elec_quantity,
-               SUM(elec_quantity * aemh.meter_unit_price),
-               SUM(use_elec_cost) use_elec_cost
+        SUM(use_elec_cost) use_elec_cost
         from adm_elec_meter_h aemh
-        where `date` like concat(#{dataRange}, '%')
+        where `date` like concat(#{startRecTime}, '%')
+        <if test="areaCode != null and areaCode != ''">and aemh.area_code = #{areaCode}</if>
     </select>
 
     <select id="qryTimeIndexElecMeterByDay" resultMap="ElecMeterHResult">
@@ -241,16 +241,21 @@
     </select>
 
     <select id="qryDateElecMeterByYear" resultMap="ElecMeterHResult">
-        SELECT
-            sum(use_elec_cost) use_elec_cost,
-            DATE_FORMAT(`date`, '%Y-%m') as startRecTime
-        from
-            adm_elec_meter_h aemh
-        where
-            `date` >= #{dataRange}
-        GROUP by
-            startRecTime
-        order by
-            startRecTime asc
+        SELECT sum(use_elec_cost)              use_elec_cost,
+               DATE_FORMAT(`date`, '%Y-%m') as startRecTime
+        from adm_elec_meter_h aemh
+        where `date` >= #{dataRange}
+        GROUP by startRecTime
+        order by startRecTime asc
+    </select>
+    <select id="qryDeviceTypeElecMeterByDay" parameterType="ElecMeterH" resultMap="ElecMeterHResult">
+        SELECT sum(elec_quantity) elec_quantity,
+        aed.device_name
+        from adm_ems_device aed
+        join adm_elec_meter_h aemh
+        on aed.device_code = aemh.device_code
+        where aemh.date >= #{startRecTime}
+        <if test="areaCode != null and areaCode != ''">and aemh.area_code = #{areaCode}</if>
+        GROUP by aed.device_name
     </select>
 </mapper>

+ 88 - 39
ems/ems-core/src/main/resources/mapper/ems/MeterDeviceMapper.xml

@@ -1,37 +1,49 @@
 <?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.MeterDeviceMapper">
-    
+
     <resultMap type="com.ruoyi.ems.domain.MeterDevice" id="meterDeviceResult">
-        <result property="id"    column="id"    />
-        <result property="areaCode"    column="area_code"    />
-        <result property="deviceCode"  column="device_code"    />
-        <result property="deviceName"  column="device_name"    />
-        <result property="location"    column="location"    />
-        <result property="locationRef"    column="location_ref"    />
-        <result property="meterCls"    column="meter_cls"    />
-        <result property="objTag"      column="obj_tag"    />
-        <result property="colCycle"    column="col_cycle"    />
-        <result property="colMode"     column="col_mode"    />
-        <result property="magnification" column="magnification" />
-        <result property="specDesc"    column="spec_desc"    />
+        <result property="id" column="id"/>
+        <result property="areaCode" column="area_code"/>
+        <result property="deviceCode" column="device_code"/>
+        <result property="deviceName" column="device_name"/>
+        <result property="location" column="location"/>
+        <result property="locationRef" column="location_ref"/>
+        <result property="meterCls" column="meter_cls"/>
+        <result property="objTag" column="obj_tag"/>
+        <result property="colCycle" column="col_cycle"/>
+        <result property="colMode" column="col_mode"/>
+        <result property="magnification" column="magnification"/>
+        <result property="specDesc" column="spec_desc"/>
     </resultMap>
 
     <sql id="selectMeterDeviceVo">
-        select id, area_code, device_code, device_name, location, location_ref, meter_cls, obj_tag, col_cycle, col_mode, magnification, spec_desc from adm_meter_device
+        select id,
+               area_code,
+               device_code,
+               device_name,
+               location,
+               location_ref,
+               meter_cls,
+               obj_tag,
+               col_cycle,
+               col_mode,
+               magnification,
+               spec_desc
+        from adm_meter_device
     </sql>
 
     <select id="selectMeterDeviceList" parameterType="com.ruoyi.ems.model.QueryDevice" resultMap="meterDeviceResult">
         <include refid="selectMeterDeviceVo"/>
         <where>
-            <if test="deviceCode != null and deviceCode != ''"> and device_code = #{deviceCode}</if>
-            <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
-            <if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
-            <if test="meterCls != null and meterCls != ''"> and meter_cls = #{meterCls}</if>
-            <if test="objTag != null and objTag != ''"> and obj_tag = #{objTag}</if>
-            <if test="colMode != null "> and col_mode = #{colMode}</if>
+            <if test="deviceCode != null and deviceCode != ''">and device_code = #{deviceCode}</if>
+            <if test="deviceName != null and deviceName != ''">and device_name like concat('%', #{deviceName}, '%')</if>
+            <if test="areaCode != null and areaCode != ''">and area_code = #{areaCode}</if>
+            <if test="meterCls != null and meterCls != ''">and meter_cls = #{meterCls}</if>
+            <if test="objTag != null and objTag != ''">and obj_tag = #{objTag}</if>
+            <if test="colMode != null ">and col_mode = #{colMode}</if>
             <if test="locationRef != null and locationRef != '' and areaCodes != null">
                 and `location_ref` in
                 <foreach item="areaCode" collection="areaCodes" open="(" separator="," close=")">
@@ -43,15 +55,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectByModel" parameterType="com.ruoyi.ems.model.QueryDevice" resultMap="meterDeviceResult">
         select
-            m.id, m.area_code, m.device_code, m.device_name, m.location, m.location_ref, m.meter_cls, m.obj_tag, m.col_cycle, m.col_mode, m.magnification, m.spec_desc
+        m.id, m.area_code, m.device_code, m.device_name, m.location, m.location_ref, m.meter_cls, m.obj_tag,
+        m.col_cycle, m.col_mode, m.magnification, m.spec_desc
         from adm_meter_device m
         left join adm_ems_device d on m.device_code = d.device_code
         <where>
             d.device_model = #{deviceModel}
-            <if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
-            <if test="meterCls != null and meterCls != ''"> and meter_cls = #{meterCls}</if>
-            <if test="objTag != null and objTag != ''"> and obj_tag = #{objTag}</if>
-            <if test="colMode != null "> and col_mode = #{colMode}</if>
+            <if test="areaCode != null and areaCode != ''">and area_code = #{areaCode}</if>
+            <if test="meterCls != null and meterCls != ''">and meter_cls = #{meterCls}</if>
+            <if test="objTag != null and objTag != ''">and obj_tag = #{objTag}</if>
+            <if test="colMode != null ">and col_mode = #{colMode}</if>
         </where>
     </select>
 
@@ -60,25 +73,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where id = #{id}
     </select>
 
-    <select id="selectMeterDeviceByCode"  resultMap="meterDeviceResult">
+    <select id="selectMeterDeviceByCode" resultMap="meterDeviceResult">
         <include refid="selectMeterDeviceVo"/>
         where device_code = #{deviceCode}
     </select>
 
-    <select id="selectMeterDeviceByObj"  resultMap="meterDeviceResult">
-        select
-            m.id, m.area_code, m.device_code, m.device_name, m.location, m.location_ref, m.meter_cls, m.obj_tag, m.col_cycle, m.col_mode, m.magnification, m.spec_desc
+    <select id="selectMeterDeviceByObj" resultMap="meterDeviceResult">
+        select m.id,
+               m.area_code,
+               m.device_code,
+               m.device_name,
+               m.location,
+               m.location_ref,
+               m.meter_cls,
+               m.obj_tag,
+               m.col_cycle,
+               m.col_mode,
+               m.magnification,
+               m.spec_desc
         from adm_meter_device m
         where m.area_code = #{areaCode}
           and m.meter_cls = #{meterCls}
           and m.device_code in
-              (select
-                   r.meter_device from adm_meter_boundary_rel r
+              (select r.meter_device
+               from adm_meter_boundary_rel r
                where r.boundary_obj = #{boundaryObj}
                  and r.obj_type = #{objType})
     </select>
-        
-    <insert id="insertMeterDevice" parameterType="com.ruoyi.ems.domain.MeterDevice" useGeneratedKeys="true" keyProperty="id">
+
+    <insert id="insertMeterDevice" parameterType="com.ruoyi.ems.domain.MeterDevice" useGeneratedKeys="true"
+            keyProperty="id">
         insert into adm_meter_device
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">area_code,</if>
@@ -92,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="colMode != null">col_mode,</if>
             <if test="magnification != null">magnification,</if>
             <if test="specDesc != null">spec_desc,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">#{areaCode},</if>
             <if test="deviceCode != null and deviceCode != ''">#{deviceCode},</if>
@@ -105,7 +129,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="colMode != null">#{colMode},</if>
             <if test="magnification != null">#{magnification},</if>
             <if test="specDesc != null">#{specDesc},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateMeterDevice" parameterType="com.ruoyi.ems.domain.MeterDevice">
@@ -127,13 +151,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deleteMeterDeviceById" parameterType="Long">
-        delete from adm_meter_device where id = #{id}
+        delete
+        from adm_meter_device
+        where id = #{id}
     </delete>
 
     <delete id="deleteMeterDeviceByIds" parameterType="String">
-        delete from adm_meter_device where id in 
+        delete from adm_meter_device where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>
+
+    <select id="countMeterDeviceByObj" parameterType="MeterDevice" resultType="java.lang.Integer">
+        select
+        count(*)
+        from adm_meter_device m
+        where
+        col_mode = 0
+        <if test="areaCode != null and areaCode != ''">and m.area_code = #{areaCode}</if>
+    </select>
+
+    <select id="countOnlineMeterDeviceByObj" parameterType="ElecMeterH" resultType="java.lang.Integer">
+        SELECT
+        count(DISTINCT aemh.device_code)
+        from
+        adm_elec_meter_h aemh
+        inner join adm_meter_device aed on aed.device_code = aemh.device_code and aed.col_mode = 0
+        <where>
+            <if test="areaCode != null and areaCode != ''">and aemh.area_code = #{areaCode}</if>
+            <if test="startRecTime != null and startRecTime != ''">and aemh.date = #{startRecTime}</if>
+        </where>
+    </select>
+
+
 </mapper>

+ 3 - 3
ems/ems-core/src/main/resources/mapper/ems/WaterMeterHMapper.xml

@@ -114,12 +114,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from adm_water_meter_h where `date` = #{date}
     </delete>
 
-    <select id="qryWaterMeterByDate" resultMap="WaterMeterHResult">
+    <select id="qryWaterMeterByDate" parameterType="WaterMeterH" resultMap="WaterMeterHResult">
         SELECT sum(water_quantity) water_quantity,
-               SUM(water_quantity * aemh.meter_unit_price),
                SUM(use_water_cost) use_water_cost
         from adm_water_meter_h aemh
-        where `date` like concat(#{dataRange}, '%')
+        where `date` like concat(#{startRecTime}, '%')
+        <if test="areaCode != null and areaCode != ''">and aemh.area_code = #{areaCode}</if>
 
     </select>