From 97c30cdf60ebd8b702bb73c62c59b512e998677a Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 31 十月 2024 10:54:52 +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/command/ComSupport.java | 4
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/qo/QoIssueReport.java | 45 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java | 48 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java | 21 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml | 3
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java | 36 +--
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java | 93 ++++----
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml | 75 +++---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml | 83 ++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java | 25 ++
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java | 13 +
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java | 19 -
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java | 70 +++++++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java | 53 ++++
14 files changed, 461 insertions(+), 127 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
index 7cc909c..54646cf 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -254,6 +254,10 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ if(response == null) {
+ return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+ }
return response.getBody();
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java
index 5d1f9ac..cc4e746 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java
@@ -2,7 +2,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSe.SeIssueReport;
+import com.dy.pipIrrGlobal.voSe.VoIssueReport;
import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
/**
* @author ZhuBaoMin
@@ -24,4 +28,25 @@
int updateByPrimaryKeySelective(SeIssueReport record);
int updateByPrimaryKey(SeIssueReport record);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛闂涓婃姤鏁伴噺
+ * @param params
+ * @return
+ */
+ Long getIssueReportsCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛闂涓婃姤
+ * @param params
+ * @return
+ */
+ List<VoIssueReport> getIssueReports(Map<?, ?> params);
+
+ /**
+ * 閫昏緫鍒犻櫎涓�涓啘鎴烽棶棰樹笂鎶�
+ * @param issueReportId
+ * @return
+ */
+ Integer deleteIssueReport(Long issueReportId);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java
new file mode 100644
index 0000000..e5ca60d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoIssueReport.java
@@ -0,0 +1,70 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-10-30 13:51
+ * @LastEditTime 2024-10-30 13:51
+ * @Description 鍐滄埛闂涓婃姤瑙嗗浘瀵硅薄
+ */
+
+@Data
+@JsonPropertyOrder({"issueReportId", "clientName", "phone", "reportTime", "content", "images", "audios", "videos", "state"})
+public class VoIssueReport implements BaseEntity {
+ private static final long serialVersionUID = 202410301354001L;
+
+ /**
+ * 鍐滄埛闂涓婃姤ID
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ private Long issueReportId;
+
+ /**
+ * 鍐滄埛濮撳悕
+ */
+ private String clientName;
+
+ /**
+ * 鑱旂郴鐢佃瘽
+ */
+ private String phone;
+
+ /**
+ * 涓婃姤鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date reportTime;
+
+ /**
+ * 涓婃姤鍐呭
+ */
+ private String content;
+
+ /**
+ * 鐓х墖鍒楄〃
+ */
+ private String images;
+
+ /**
+ * 闊抽鍒楄〃
+ */
+ private String audios;
+
+ /**
+ * 瑙嗛鍒楄〃
+ */
+ private String videos;
+
+ /**
+ * 鐘舵��
+ */
+ private String state;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index a75444d..5c02036 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -438,44 +438,45 @@
<!--鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄥ厛锛�-->
<select id="getOnLineIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
- SELECT inta.id AS intakeId,
- con.rtuAddr,
- inta.name AS intakeNum,
- inta.lng,
- inta.lat,
- IFNULL(hou.total_amount, 0) AS totalAmount,
- (CASE
- WHEN con.rtuAddr IS NULL THEN false
- WHEN con.rtuAddr IS NOT NULL THEN true
- END) AS isBinded,
- rtus.isOnLine,
- alarm.alarm
+ SELECT
+ inta.id AS intakeId,
+ con.rtuAddr,
+ inta.name AS intakeNum,
+ inta.lng,
+ inta.lat,
+ IFNULL(hou.total_amount, 0) AS totalAmount,
+ (CASE
+ WHEN con.rtuAddr IS NULL THEN false
+ WHEN con.rtuAddr IS NOT NULL THEN true
+ END) AS isBinded,
+ rtus.isOnLine,
+ alarm.alarm
FROM pr_intake inta
- LEFT JOIN pr_controller con ON con.intakeId = inta.id
- LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
- LEFT JOIN(
- SELECT intake_id AS intakeId,
- CONCAT(
- IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''),
- IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')),
- IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''),
- IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')),
- IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''),
- IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')),
- IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '')
- ) AS alarm
- FROM rm_alarm_state_last
- WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1)
- AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR)
- ) alarm ON alarm.intakeId = inta.id
- LEFT 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 con.rtuAddr = rtus.rtuAddr
+ LEFT JOIN pr_controller con ON con.intakeId = inta.id
+ LEFT JOIN rm_on_hour_report_last hou ON hou.intake_id = inta.id
+ LEFT JOIN(
+ SELECT intake_id AS intakeId,
+ CONCAT(
+ IF(alarm_loss = 1, IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�,', ''),
+ IF(alarm_water_meter_fault = 1, '娴侀噺璁℃晠闅�', '')),
+ IF(alarm_battery_volt = 1, IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ,', ''),
+ IF(alarm_loss = 1, '婕忔崯(鍋锋按)鎶ヨ', '')),
+ IF(alarm_valve = 1, IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�,', ''),
+ IF(alarm_battery_volt = 1, '钃勭數姹犵數鍘嬫姤璀�', '')),
+ IF(alarm_valve = 1, '闃�闂ㄦ姤璀�', '')
+ ) AS alarm
+ FROM rm_alarm_state_last
+ WHERE (alarm_water_meter_fault = 1 OR alarm_loss = 1 OR alarm_battery_volt = 1 OR alarm_valve = 1)
+ AND dt >= DATE_SUB(NOW(), INTERVAL 12 HOUR)
+ ) alarm ON alarm.intakeId = inta.id
+ LEFT 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 con.rtuAddr = rtus.rtuAddr
<where>
<if test="isOnLine != null">
rtus.isOnLine = #{isOnLine}
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 2f95192..66a399f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -199,7 +199,8 @@
<select id="getUnclosedValves" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
SELECT
inta.name AS intakeNum,
- rtus.isOnLine,
+<!-- rtus.isOnLine,-->
+ IFNULL(rtus.isOnLine,'鏈煡') AS isOnLine,
com.rtu_addr AS rtuAddr,
com.param ->> '$.icCardNo' AS vcNum,
(
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml
index 1d9065f..8e8c84f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml
@@ -169,4 +169,87 @@
`state` = #{state,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛闂涓婃姤鏁伴噺-->
+ <select id="getIssueReportsCount" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ FROM se_issue_report rpt
+ LEFT JOIN se_client cli ON cli.id = rpt.client_id
+ <where>
+ AND rpt.state != 3
+
+ <if test="clientId != null">
+ AND rpt.client_id = #{clientId}
+ </if>
+
+ <if test="clientName != null and clientName != ''">
+ AND cli.name like CONCAT('%', #{clientName}, '%')
+ </if>
+
+ <if test="content != null and content != ''">
+ AND rpt.content like CONCAT('%', #{content}, '%')
+ </if>
+
+ <if test="timeStart != null and timeStop != null ">
+ AND rpt.report_time BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+
+ <if test="state != null">
+ AND rpt.state = #{state}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛闂涓婃姤-->
+ <select id="getIssueReports" resultType="com.dy.pipIrrGlobal.voSe.VoIssueReport" >
+ SELECT
+ rpt.id AS issueReportId,
+ cli.name AS clientName,
+ rpt.phone,
+ rpt.report_time AS reportTime,
+ rpt.content,
+ rpt.images,
+ rpt.audios,
+ rpt.videos,
+ CASE
+ WHEN rpt.state = 1 THEN '鏈彈鐞�'
+ WHEN rpt.state = 2 THEN '宸插彈鐞�'
+ END AS state
+ FROM se_issue_report rpt
+ LEFT JOIN se_client cli ON cli.id = rpt.client_id
+ <where>
+ AND rpt.state != 3
+
+ <if test="clientId != null">
+ AND rpt.client_id = #{clientId}
+ </if>
+
+ <if test="clientName != null and clientName != ''">
+ AND cli.name like CONCAT('%', #{clientName}, '%')
+ </if>
+
+ <if test="content != null and content != ''">
+ AND rpt.content like CONCAT('%', #{content}, '%')
+ </if>
+
+ <if test="timeStart != null and timeStop != null ">
+ AND rpt.report_time BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+
+ <if test="state != null">
+ AND rpt.state = #{state}
+ </if>
+ </where>
+ ORDER BY rpt.report_time DESC
+ <trim prefix="limit ">
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
+
+ <!--閫昏緫鍒犻櫎涓�涓啘鎴烽棶棰樹笂鎶�-->
+ <update id="deleteIssueReport">
+ UPDATE se_issue_report SET state = 3 WHERE id = #{issueReportId}
+ </update>
</mapper>
\ No newline at end of file
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 9dd4755..edec64e 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
@@ -6,6 +6,7 @@
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoPr.PrIntakeControllerMapper;
@@ -25,7 +26,10 @@
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
/**
* @author ZhuBaoMin
@@ -80,6 +84,8 @@
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+
if (response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
@@ -256,6 +262,11 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ if(response == null) {
+ return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+ }
+
return response.getBody();
}
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
index e5c9295..1c3e486 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
@@ -6,6 +6,7 @@
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.config.DingTalk;
import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
@@ -26,7 +27,9 @@
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
-import java.util.*;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
/**
* @author wuzeyu
@@ -272,23 +275,22 @@
com.code = "LCD0001";
com.type = "innerCommand";
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ JSONArray jsonArray = new JSONArray();
if (response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
- return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
- } else {
- return new ArrayList<>();
+ //} else {
+ // return new ArrayList<>();
}
+ return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
}
/**
@@ -309,6 +311,11 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ if(response == null) {
+ return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+ }
+
return response.getBody();
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
index 9cbb39f..c706351 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
@@ -16,7 +16,6 @@
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
-import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
import com.dy.pipIrrGlobal.voRm.VoCommand;
import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
@@ -121,29 +120,27 @@
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ JSONArray jsonArray = new JSONArray();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
-
System.out.println(jsonArray);
- List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator);
- if(res != null) {
- return res;
- } else {
- return new ArrayList<>();
- }
+ //} else {
+ // return new ArrayList<>();
+ }
+
+ List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator);
+ if(res != null) {
+ return res;
} else {
- QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
return new ArrayList<>();
}
}
@@ -189,27 +186,24 @@
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ JSONArray jsonArray = new JSONArray();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
System.out.println(jsonArray);
- return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
- } else {
- QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
- VoUnclosedParam voUnclosedParam = new VoUnclosedParam();
- return voUnclosedParam;
+ //} else {
+ // VoUnclosedParam voUnclosedParam = new VoUnclosedParam();
+ // return voUnclosedParam;
}
-
+ return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
}
/**
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 218b9ef..21df891 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
@@ -17,7 +17,6 @@
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
-import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
import com.dy.pipIrrGlobal.voRm.VoIrrigaterProfile;
import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
@@ -102,29 +101,25 @@
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ JSONArray jsonArray = new JSONArray();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
-
System.out.println(jsonArray.toJSONString());
- List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator);
- if(res != null) {
- return res;
- } else {
- return new ArrayList<>();
- }
+ }
+
+ List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator);
+ if(res != null) {
+ return res;
} else {
- QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
return new ArrayList<>();
}
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
index ec68ff5..f8ce89c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
@@ -6,6 +6,7 @@
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
@@ -25,7 +26,6 @@
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
-import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -75,32 +75,31 @@
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ JSONArray jsonArray = new JSONArray();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
-
- qo.setOnLineMap(jsonArray.toJSONString());
- // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
- String intakeNum = qo.getIntakeNum();
- if(intakeNum != null) {
- qo.setIntakeNum(intakeNum.toLowerCase());
- }
-
- Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
- return prIntakeMapper.getIntakeByName(params);
- } else {
- return new VoOnLineIntake();
+ //} else {
+ // return new VoOnLineIntake();
}
+
+ qo.setOnLineMap(jsonArray.toJSONString());
+ // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+ String intakeNum = qo.getIntakeNum();
+ if(intakeNum != null) {
+ qo.setIntakeNum(intakeNum.toLowerCase());
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+ return prIntakeMapper.getIntakeByName(params);
}
/**
@@ -115,40 +114,40 @@
comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ JSONArray jsonArray = new JSONArray();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("rtuAddr", key);
jsonObject.put("isOnLine", value);
jsonArray.add(jsonObject);
-
});
}
-
- qo.setOnLineMap(jsonArray.toJSONString());
- // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
- String intakeNum = qo.getIntakeNum();
- if(intakeNum != null) {
- qo.setIntakeNum(intakeNum.toLowerCase());
- }
-
- Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
- Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
-
- QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
- rsVo.pageSize = qo.pageSize ;
- rsVo.pageCurr = qo.pageCurr ;
- rsVo.calculateAndSet(itemTotal, params);
- rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
- return rsVo;
- } else {
- QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
- return rsVo;
+ //} else {
+ // QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
+ // return rsVo;
}
+
+ qo.setOnLineMap(jsonArray.toJSONString());
+ // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+ String intakeNum = qo.getIntakeNum();
+ if(intakeNum != null) {
+ qo.setIntakeNum(intakeNum.toLowerCase());
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+ Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
+
+ QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
+ return rsVo;
+
}
/**
@@ -168,10 +167,9 @@
//JSONObject response = JSON.parseObject(response_Str);
//String test = response.toJSONString();
+ JSONArray jsonArray = new JSONArray();
if(response != null && response.getString("code").equals("0001")) {
JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
-
- JSONArray jsonArray = new JSONArray();
if(attachment != null) {
attachment.forEach((key, value) -> {
JSONObject jsonObject = new JSONObject();
@@ -183,10 +181,12 @@
}
System.out.println(jsonArray.toJSONString());
- return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
- } else {
- return new ArrayList<>();
+ //return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
+ //} else {
+ // return new ArrayList<>();
}
+
+ return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
}
/**
@@ -206,6 +206,11 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ if(response == null) {
+ return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+ }
+
return response.getBody();
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java
index 3c18226..8ea2eec 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java
@@ -3,19 +3,21 @@
import com.alibaba.fastjson2.JSONArray;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.pojoSe.SeIssueReport;
+import com.dy.pipIrrGlobal.voSe.VoIssueReport;
import com.dy.pipIrrWechat.issue.dto.DtoIssueReport;
+import com.dy.pipIrrWechat.issue.qo.QoIssueReport;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -64,6 +66,8 @@
seIssueReport.setImages(images);
seIssueReport.setAudios(audios);
seIssueReport.setVideos(videos);
+ seIssueReport.setReportTime(new Date());
+ seIssueReport.setState((byte)1);
Long issueReportId = issueSv.insertIssueReport(seIssueReport);
if(issueReportId == null) {
return BaseResponseUtils.buildErrorMsg("鍐滄埛闂涓婃姤澶辫触");
@@ -71,4 +75,45 @@
return BaseResponseUtils.buildSuccess(true) ;
}
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛闂涓婃姤
+ * @param vo
+ * @return
+ */
+ @GetMapping(path = "/getIssueReports")
+ public BaseResponse<QueryResultVo<List<VoIssueReport>>> getIssueReports(QoIssueReport vo) {
+ try {
+ QueryResultVo<List<VoIssueReport>> res = issueSv.getIssueReports(vo);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇鍐滄埛闂涓婃姤璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
+
+ /**
+ * 閫昏緫鍒犻櫎鍐滄埛闂涓婃姤
+ * @param issueReportId
+ * @return
+ */
+ @PostMapping(path = "deleteIssueReport")
+ public BaseResponse<Boolean> deleteIssueReport(@RequestParam("issueReportId") Long issueReportId) {
+ if (issueReportId == null) {
+ return BaseResponseUtils.buildErrorMsg("鏈�夋嫨瑕佸垹闄ょ殑鍐滄埛闂涓婃姤");
+ }
+
+ try {
+ //鍙栨按鍙D
+ Integer recordCount = Optional.ofNullable(issueSv.deleteIssueReport(issueReportId)).orElse(0);
+ if (recordCount == 0) {
+ return BaseResponseUtils.buildErrorMsg("鍐滄埛闂涓婃姤鍒犻櫎澶辫触");
+ } else {
+ return BaseResponseUtils.buildSuccess(true);
+ }
+ } catch (Exception e) {
+ log.error("鍐滄埛闂涓婃姤鍒犻櫎澶辫触", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java
index 44b313d..dc3836c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java
@@ -1,10 +1,17 @@
package com.dy.pipIrrWechat.issue;
+import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoSe.SeIssueReportMapper;
import com.dy.pipIrrGlobal.pojoSe.SeIssueReport;
+import com.dy.pipIrrGlobal.voSe.VoIssueReport;
+import com.dy.pipIrrWechat.issue.qo.QoIssueReport;
import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
/**
* @author ZhuBaoMin
@@ -28,4 +35,45 @@
seIssueReportMapper.insert(po);
return po.getId();
}
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛闂涓婃姤
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoIssueReport>> getIssueReports(QoIssueReport queryVo) {
+ //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
+ String timeStart = queryVo.getTimeStart();
+ String timeStop = queryVo.getTimeStop();
+ if (timeStart != null) {
+ timeStart = timeStart + " 00:00:00";
+ queryVo.setTimeStart(timeStart);
+ }
+ if (timeStop != null) {
+ timeStop = timeStop + " 23:59:59";
+ queryVo.setTimeStop(timeStop);
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = seIssueReportMapper.getIssueReportsCount(params);
+ QueryResultVo<List<VoIssueReport>> rsVo = new QueryResultVo<>();
+
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seIssueReportMapper.getIssueReports(params);
+ return rsVo;
+ }
+
+ /**
+ * 鍒犻櫎鍐滄埛闂涓婃姤
+ * @param issueReportId
+ * @return
+ */
+ public Integer deleteIssueReport(Long issueReportId) {
+ return seIssueReportMapper.deleteIssueReport(issueReportId);
+ }
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/qo/QoIssueReport.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/qo/QoIssueReport.java
new file mode 100644
index 0000000..1574948
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/qo/QoIssueReport.java
@@ -0,0 +1,45 @@
+package com.dy.pipIrrWechat.issue.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-10-30 21:51
+ * @LastEditTime 2024-10-30 21:51
+ * @Description 鍐滄埛闂涓婃姤鏌ヨ瀵硅薄
+ */
+
+@Data
+public class QoIssueReport extends QueryConditionVo {
+
+ /**
+ * 鍐滄埛ID
+ */
+ private Long clientId;
+
+ /**
+ * 鍐滄埛濮撳悕
+ */
+ private String clientName;
+
+ /**
+ * 涓婃姤鍐呭
+ */
+ private String content;
+
+ /**
+ * 鏌ヨ寮�濮嬫椂闂�
+ */
+ private String timeStart;
+
+ /**
+ * 鏌ヨ缁撴潫鏃堕棿
+ */
+ private String timeStop;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+}
--
Gitblit v1.8.0