From 05702adf7e0732f90176fd3f9c5f4afe8c8f29da Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期六, 19 十月 2024 11:22:03 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoUnclosedValve.java | 25 +++++ pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java | 9 + pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java | 18 +++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java | 27 +++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml | 8 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 76 +++++--------- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml | 51 ++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java | 18 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayLastMapper.java | 15 +++ 10 files changed, 194 insertions(+), 55 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayLastMapper.java index 332281a..df753e4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayLastMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayLastMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast; import com.dy.pipIrrGlobal.voRm.VoClientAmountDay; +import com.dy.pipIrrGlobal.voSt.VoClient; import com.dy.pipIrrGlobal.voSt.VoDayClient; import com.dy.pipIrrGlobal.voSt.VoMonthClient; import org.apache.ibatis.annotations.Mapper; @@ -109,4 +110,18 @@ * @return */ List<VoMonthClient> getMonthAmountAndMoney(Map<?, ?> params); + + /** + * 鏈�杩戞湭鍏呭�肩殑鍐滄埛鏁伴噺 + * @param params + * @return + */ + Long getNotRechargeLastClientsCount(Map<String, Object> params); + + /** + * 鏈�杩戞湭鍏呭�肩殑鍐滄埛 + * @param params + * @return + */ + List<VoClient> getNotRechargeLastClients(Map<String, Object> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoUnclosedValve.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoUnclosedValve.java index e09b215..c556bf8 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoUnclosedValve.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoUnclosedValve.java @@ -1,6 +1,7 @@ package com.dy.pipIrrGlobal.voRm; import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.Data; /** @@ -11,22 +12,46 @@ */ @Data +@JsonPropertyOrder({"intakeNum", "isOnLine", "rtuAddr", "vcNum", "orderNo", "state", "planned"}) public class VoUnclosedValve implements BaseEntity { private static final long serialVersionUID = 202405241634001L; //private String commandCode; + /** + * 鍙栨按鍙g紪鍙� + */ private String intakeNum; + /** + * 鏄惁鍦ㄧ嚎 + */ private Boolean isOnLine; + /** + * 闃�鎺у櫒鍦板潃 + */ private String rtuAddr; + /** + * 铏氭嫙鍗$紪鍙� + */ private String vcNum; + /** + * 璁㈠崟鍙� + */ private String orderNo; + /** + * 鐘舵�� + */ private String state; + /** + * 鏄惁璁″垝鎬у紑闃� + */ + private Boolean planned; + //private Date openTime; } diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml index 07fb518..927a12d 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml @@ -833,4 +833,55 @@ </if> </trim> </select> + <!--鏈�杩戞湭鍏呭�肩殑鍐滄埛鏁伴噺--> + <select id="getNotRechargeLastClientsCount" resultType="java.lang.Long"> + SELECT COUNT(*) + FROM + ( SELECT + sc.id AS clientId, + sc.`name` AS clientName, + sc.clientNum AS clientNum, + sc.address AS address, + sc.phone AS phone, + sc.idCard AS idCard + FROM + se_client sc + LEFT JOIN (SELECT srh.clientId FROM `se_recharge_history` srh + <where> + srh.amount > 0 AND srh.operate_valid = 2 + <if test="timeStart != null and timeStart != ''"> + AND srh.operateDt > #{timeStart} + </if> + </where> + ) c on c.clientId = sc.id + WHERE c.clientId IS NULL + GROUP BY sc.id) d + </select> + <!--鏈�杩戞湭鍏呭�肩殑鍐滄埛--> + <select id="getNotRechargeLastClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> + SELECT + sc.id AS clientId, + sc.`name` AS clientName, + sc.clientNum AS clientNum, + sc.address AS address, + sc.phone AS phone, + sc.idCard AS idCard + FROM + se_client sc + LEFT JOIN (SELECT srh.clientId FROM `se_recharge_history` srh + <where> + srh.amount > 0 AND srh.operate_valid = 2 + <if test="timeStart != null and timeStart != ''"> + AND srh.operateDt > #{timeStart} + </if> + </where> + ) c on c.clientId = sc.id + WHERE c.clientId IS NULL + GROUP BY sc.id + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml index 7888144..f69c0b4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml @@ -197,55 +197,29 @@ <!--鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級--> <select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve"> - SELECT inta.name AS intakeNum, - rtus.isOnLine, - com.rtu_addr AS rtuAddr, - com.param ->> '$.icCardNo' AS vcNum, - (SELECT param ->> '$.orderNo' AS orderNo + SELECT + inta.name AS intakeNum, + rtus.isOnLine, + com.rtu_addr AS rtuAddr, + com.param ->> '$.icCardNo' AS vcNum, + ( + SELECT param ->> '$.orderNo' AS orderNo FROM rm_command_history WHERE rtu_addr = com.rtu_addr ORDER BY send_time desc - LIMIT 0,1) AS orderNo, - 'toClose' AS state + LIMIT 0,1 + ) AS orderNo, + 'toClose' AS state, + CASE + WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 0 + ELSE 0 + END AS planned, + com.send_time AS sendTime FROM rm_command_history com INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr INNER JOIN pr_intake inta ON con.intakeId = inta.id - INNER JOIN JSON_TABLE( - <!--'[{"rtuAddr":"37142501020100215","isOnLine":true},{"rtuAddr":"4000004","isOnLine":true},{"rtuAddr":"dy20240325","isOnLine":false}]',--> - #{onLineMap}, - '$[*]' COLUMNS ( - rtuAddr VARCHAR(20) PATH '$.rtuAddr', - isOnLine BOOLEAN PATH '$.isOnLine' - ) - ) rtus ON com.rtu_addr = rtus.rtuAddr - <where> - AND (com.command_code = '92' OR com.command_code = 'A2' OR com.command_code = '97') - AND com.operator = #{operator} - AND NOT EXISTS( - SELECT * - FROM rm_command_history - WHERE (result IS NULL OR result = 1) - AND (command_code = '93' OR command_code = 'A3' OR command_code = '98') - AND param ->> '$.orderNo' = com.param ->> '$.orderNo' - ) - </where> - GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo' - - UNION ALL - - SELECT inta.name AS intakeNum, - rtus.isOnLine, - com.rtu_addr AS rtuAddr, - com.param ->> '$.icCardNo' AS vcNum, - (SELECT param ->> '$.orderNo' AS orderNo - FROM rm_command_history - WHERE rtu_addr = com.rtu_addr - ORDER BY send_time desc - LIMIT 0,1) AS orderNo, - 'toCancel' AS state - FROM rm_command_history com - INNER JOIN pr_intake inta ON inta.id = com.intake_id - INNER JOIN JSON_TABLE( + LEFT JOIN JSON_TABLE( +<!-- '[{"rtuAddr":"620201000030","isOnLine":true}]',--> #{onLineMap}, '$[*]' COLUMNS ( rtuAddr VARCHAR(20) PATH '$.rtuAddr', @@ -253,14 +227,18 @@ ) ) rtus ON com.rtu_addr = rtus.rtuAddr <where> - AND (command_code = 'A1' OR command_code = 'A2') AND com.operator = #{operator} - AND DATE_FORMAT( - CONCAT(com.param ->> '$.year', '-', com.param ->> '$.month', '-', com.param ->> '$.day', - ' ', - com.param ->> '$.hour', ':', com.param ->> '$.minute', ':', '0'), - '%Y-%m-%d %H:%i:%S') > NOW() + AND (com.protocol = 'p206V1_0_1' AND (com.command_code = '92' OR com.command_code = '97' OR com.command_code = '99' OR com.command_code = 'A0' OR com.command_code = 'A1' OR com.command_code = 'A2')) + AND NOT EXISTS( + SELECT * FROM rm_command_history + WHERE (result IS NULL OR result = 1) + AND (com.protocol = 'p206V1_0_1' AND (command_code = '93' OR command_code = '98' OR command_code = '00')) + AND param ->> '$.orderNo' = com.param ->> '$.orderNo' + ) </where> + GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo', com.command_code, com.send_time + ORDER BY com.send_time DESC + LIMIT 1 </select> <!--鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟--> 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 dd62be3..34f6871 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveLastMapper.xml @@ -473,10 +473,10 @@ AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') </if> <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''"> - AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open} + AND oh.open_dt BETWEEN #{timeStart_open} AND #{timeStop_open} </if> <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''"> - AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} + AND oh.close_dt BETWEEN #{timeStart_close} AND #{timeStop_close} </if> </where> </select> @@ -540,10 +540,10 @@ AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') </if> <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''"> - AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open} + AND oh.open_dt BETWEEN #{timeStart_open} AND #{timeStop_open} </if> <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''"> - AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} + AND oh.close_dt BETWEEN #{timeStart_close} AND #{timeStop_close} </if> </where> ORDER BY oh.op_dt DESC diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java index 26e4ca5..26446d4 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java @@ -75,7 +75,7 @@ // 娣诲姞宸℃璁板綍 OpeInspect opeInspect = new OpeInspect(); - opeInspect.setInspectorId(inspects.getInspectorId()); + opeInspect.setInspectorId(inspectorId); if(startTime != null) { opeInspect.setStartTime(startTime); } @@ -97,7 +97,23 @@ } }else { // 璇ュ贰妫�宸蹭笂浼犺繃璁板綍锛岀画浼� + if(stopTime != null) { + OpeInspect inspect = new OpeInspect(); + inspect.setId(inspectId); + inspect.setStopTime(stopTime); + inspectSv.updateInspect(inspect); + } + if(tracks != null && tracks.size() > 0) { + for (int j = 0; j < tracks.size(); j++) { + tracks.get(j).setId(idLongGenerator.generate()); + tracks.get(j).setInspectId(inspectId); + } + Integer rec = inspectSv.insertTracks(tracks); + if(rec == null || rec == 0) { + return BaseResponseUtils.buildErrorMsg("宸℃杞ㄨ抗娣诲姞澶辫触"); + } + } } } return BaseResponseUtils.buildSuccess() ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java index 20893a0..6d04f09 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java @@ -37,6 +37,15 @@ } /** + * 淇敼宸℃璁板綍 + * @param po + * @return + */ + public Integer updateInspect(OpeInspect po) { + return opeInspectMapper.updateByPrimaryKeySelective(po); + } + + /** * 鎵归噺娣诲姞宸℃杞ㄨ抗 * @param list * @return diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java index 7675944..d485488 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java @@ -298,4 +298,22 @@ } } + + /** + * 鏈�杩戞湭鍏呭�肩殑鍐滄埛 + * + * @param qo + * @return + */ + @GetMapping(path = "/getNotRechargeLastClients") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoClient>>> getNotRechargeLastClients(CommonQO qo) { + try { + QueryResultVo<List<VoClient>> res = clientSv.getNotRechargeLastClients(qo); + return BaseResponseUtils.buildSuccess(res); + }catch (Exception e){ + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java index 1e5b1ad..334c320 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java @@ -493,4 +493,31 @@ rsVo.obj = rmClientAmountDayLastMapper.getMonthAmountAndMoney(params); return rsVo ; } + + /** + * 鏈�杩戞湭鍏呭�肩殑鍐滄埛 + * @param qo + * @return + */ + public QueryResultVo<List<VoClient>> getNotRechargeLastClients(CommonQO qo) { + String timeStart = qo.getTimeStart(); + if (timeStart != null && timeStart != ""){ + timeStart = timeStart + " 00:00:00"; + qo.setTimeStart(timeStart); + } + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmClientAmountDayLastMapper.getNotRechargeLastClientsCount(params)).orElse(0L); + + QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmClientAmountDayLastMapper.getNotRechargeLastClients(params); + return rsVo ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java index 6703fde..8af5d2f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java @@ -111,7 +111,7 @@ jsonArray.add(jsonObject); } - System.out.println(jsonArray); + System.out.println(jsonArray.toJSONString()); List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator); if(res != null) { return res; -- Gitblit v1.8.0