优化代码 开关阀最新和历史记录 根据指定获取控制器记录
实现接口 最近未报数的取水口
7个文件已修改
1个文件已添加
172 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java
@@ -3,9 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
import com.dy.pipIrrGlobal.voRm.VoOnHour;
import com.dy.pipIrrGlobal.voSt.VoBatteryVolt;
import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow;
import com.dy.pipIrrGlobal.voSt.VoSignalIntensity;
import com.dy.pipIrrGlobal.voSt.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@@ -139,4 +137,17 @@
     */
    List<VoSignalIntensity> getSpecifiedSignalIntakes(Map<?, ?> params);
    /**
     * 最近未报数的取水口数量
     * @param params
     * @return
     */
    Long getUnReportedIntakesCount(Map<String, Object> params);
    /**
     * 最近未报数的取水口
     * @param params
     * @return
     */
    List<VoIntakeUnReported> getUnReportedIntakes(Map<String, Object> params);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java
New file
@@ -0,0 +1,28 @@
package com.dy.pipIrrGlobal.voSt;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * @author :WuZeYu
 * @Date :2024/10/11  9:45
 * @LastEditTime :2024/10/11  9:45
 * @Description
 */
@Data
public class VoIntakeUnReported {
    /**
     * 取水口编号
     */
    private String intakeNum;
    /**
     * 阀控器地址
     */
    private String rtuAddr;
    /**
     * 阀控器时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String rtuDt;
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml
@@ -417,5 +417,38 @@
            </if>
        </trim>
    </select>
    <!--获取最近未报数的取水口数量-->
    <select id="getUnReportedIntakesCount" resultType="java.lang.Long">
        SELECT
            count(*)
        FROM  pr_intake pit
        LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id
        LEFT JOIN pr_controller pct ON pit.id = pct.intakeId
        WHERE  rohrl.id is NULL
        <if test="timeStart != null and timeStart != '' ">
            OR rohrl.rtu_dt  &lt; #{timeStart}
        </if>
        <if test="timeStop != null and timeStop != '' ">
            OR rohrl.rtu_dt &gt; #{timeStop}
        </if>
        ORDER BY rtu_dt ASC
    </select>
    <!--获取最近未报数的取水口-->
    <select id="getUnReportedIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeUnReported">
        SELECT
            pit.`name` intakeNum,
            pct.rtuAddr,
            rohrl.rtu_dt rtuDt
        FROM  pr_intake pit
        LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id
        LEFT JOIN pr_controller pct ON pit.id = pct.intakeId
        WHERE  rohrl.id is NULL
        <if test="timeStart != null">
            OR rohrl.rtu_dt  &lt; #{timeStart}
        </if>
        <if test="timeStop != null">
            OR rohrl.rtu_dt &gt; #{timeStop}
        </if>
        ORDER BY rtu_dt ASC
    </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -470,7 +470,7 @@
               oh.client_name          AS clientName,
               oh.op_ic_card_no        AS openIcNum,
               oh.op_ic_card_addr      AS openIcAddr,
               oh.op_dt                AS openTime,
               oh.open_dt              AS openTime,
               CASE
                   WHEN oh.op_type = 1 THEN '刷卡开阀'
                   WHEN oh.op_type = 3 THEN '中心站开阀'
@@ -486,7 +486,7 @@
               oh.op_ele_total_amount  AS openEleTotalAmount,
               oh.cl_ic_card_no        AS closeIcNum,
               oh.cl_ic_card_addr      AS closeIcAddr,
               oh.cl_dt                AS closeTime,
               oh.close_dt             AS closeTime,
               CASE
                   WHEN oh.cl_type = 2 THEN '刷卡关阀'
                   WHEN oh.cl_type = 4 THEN '中心站关阀'
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml
@@ -489,7 +489,7 @@
               oh.client_name          AS clientName,
               oh.op_ic_card_no        AS openIcNum,
               oh.op_ic_card_addr      AS openIcAddr,
               oh.op_dt                AS openTime,
               oh.open_dt              AS openTime,
               CASE
                   WHEN oh.op_type = 1 THEN '刷卡开阀'
                   WHEN oh.op_type = 3 THEN '中心站开阀'
@@ -505,7 +505,7 @@
               oh.op_ele_total_amount  AS openEleTotalAmount,
               oh.cl_ic_card_no        AS closeIcNum,
               oh.cl_ic_card_addr      AS closeIcAddr,
               oh.cl_dt                AS closeTime,
               oh.close_dt             AS closeTime,
               CASE
                   WHEN oh.cl_type = 2 THEN '刷卡关阀'
                   WHEN oh.cl_type = 4 THEN '中心站关阀'
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.QueryResultVo;
@@ -16,6 +17,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
@@ -48,8 +50,21 @@
    @Autowired
    private RestTemplate restTemplate;
    protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send";
//    protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send";
    protected String comSendUrl;
    /**
     * pro_mw:属性
     * tag从控制器中获取
     * key_mw:url的key
     */
    private Environment env = null;
    private String pro_mw = "mw";
    private String key_mw = "comSendUrl";
    @Autowired
    public ControllerSv(Environment env) {
        this.env = env;
    }
    /**
     * 根据指定获取控制器记录
@@ -59,18 +74,13 @@
     */
    public QueryResultVo<List<VoController>> getControllers(QueryVo queryVo) {
        Command com = new Command();
        Command com = new Command() ;
        com.id = Command.defaultId;
        com.code = "LCD0001";
        com.type = "innerCommand";
        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
        JSONObject response = null;
        try {
            response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        }catch (Exception e) {
            QueryResultVo<List<VoController>> rsVo = new QueryResultVo<>();
            return rsVo;
        }
        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        if (response != null && response.getString("code").equals("0001")) {
@@ -234,7 +244,7 @@
     * @return
     */
    protected BaseResponse sendCom2Mw(Command com) {
        String url = UriComponentsBuilder.fromUriString(mwUrlSendCom)
        String url = UriComponentsBuilder.fromUriString(comSendUrl)
                .build()
                .toUriString();
        HttpHeaders headers = new HttpHeaders();
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java
@@ -771,4 +771,41 @@
        rsVo.obj = rmLossDayLastMapper.getMonthLossAmount(params);
        return rsVo ;
    }
    /**
     * 最近未报数的取水口
     * @param qo
     * @return
     */
    public QueryResultVo<List<VoIntakeUnReported>> getUnReportedIntakes(CommonQO qo) {
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart == "") {
            timeStart = null;
        }
        if(timeStop == "") {
            timeStop = null;
        }
        if(timeStart != null && timeStart != "") {
            timeStart = timeStart + " 00:00:00";
        }
        qo.setTimeStart(timeStart);
        if(timeStop != null && timeStop != "") {
            timeStop = timeStop + " 23:59:59";
        }
        qo.setTimeStop(timeStop);
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
        Long itemTotal = rmOnHourReportLastMapper.getUnReportedIntakesCount(params);
        QueryResultVo<List<VoIntakeUnReported>> rsVo = new QueryResultVo<>() ;
        rsVo.pageSize = qo.pageSize ;
        rsVo.pageCurr = qo.pageCurr ;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = rmOnHourReportLastMapper.getUnReportedIntakes(params);
        return rsVo ;
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
@@ -419,4 +419,21 @@
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 最近未报数的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getUnReportedIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntakeUnReported>>> getUnReportedIntakes(CommonQO qo) {
        try {
            QueryResultVo<List<VoIntakeUnReported>> res = intakeSv.getUnReportedIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
}