From 58481c160b0d45894d631b96e63d3f02f4243533 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期五, 11 十月 2024 10:09:19 +0800 Subject: [PATCH] 优化代码 开关阀最新和历史记录 根据指定获取控制器记录 实现接口 最近未报数的取水口 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 4 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java | 28 +++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java | 17 +++++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 37 ++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java | 30 ++++++--- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java | 17 ++++- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml | 35 +++++++++++ 8 files changed, 154 insertions(+), 18 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java index 582f401..bb17720 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportLastMapper.java +++ b/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); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java new file mode 100644 index 0000000..63194d6 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeUnReported.java @@ -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 { + + /** + * 鍙栨按鍙g紪鍙� + */ + private String intakeNum; + /** + * 闃�鎺у櫒鍦板潃 + */ + private String rtuAddr; + /** + * 闃�鎺у櫒鏃堕棿 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String rtuDt; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml index a41ef3c..9c251e9 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportLastMapper.xml +++ b/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 < #{timeStart} + </if> + <if test="timeStop != null and timeStop != '' "> + OR rohrl.rtu_dt > #{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 < #{timeStart} + </if> + <if test="timeStop != null"> + OR rohrl.rtu_dt > #{timeStop} + </if> + ORDER BY rtu_dt ASC + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml index f724ab8..453e6e3 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml +++ b/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 '涓績绔欏叧闃�' diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml index 5bdd2d1..dd62be3 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml +++ b/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 '涓績绔欏叧闃�' diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java index edce345..681ea4a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java +++ b/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锛歶rl鐨刱ey + */ + 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(); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java index 77e36a9..f0d7ddf 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java +++ b/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 ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java index 6a999b5..b87d9f7 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java +++ b/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()) ; + } + } } -- Gitblit v1.8.0