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