From 86bba1b6323d5ae0340371ebfb0bc91271068c7e Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 12 十一月 2024 15:37:07 +0800
Subject: [PATCH] 获取巡检员问题上报记录接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java     |   39 +++++++++++--
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java   |   25 +++++++-
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                         |    4 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java |   18 ++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml                |   82 +++++++++++++++++++++++++++
 5 files changed, 156 insertions(+), 12 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java
index dde252e..fe94e31 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeIssueReportMapper.java
@@ -2,7 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport;
+import com.dy.pipIrrGlobal.voOp.VoIssueReport;
 import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author ZhuBaoMin
@@ -24,4 +28,18 @@
     int updateByPrimaryKeySelective(OpeIssueReport record);
 
     int updateByPrimaryKey(OpeIssueReport record);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ユ暟閲�
+     * @param params
+     * @return
+     */
+    Long getIssueReportsCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶�
+     * @param params
+     * @return
+     */
+    List<VoIssueReport> getIssueReports(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index c3e6b55..5e8b483 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -77,7 +77,7 @@
 
 pipIrr:
     global:
-        dev: true  #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
+        dev: false  #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
         dsName: ym  #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
     nginx:
         webPort: 54321
@@ -329,7 +329,7 @@
     #鐩戞祴鎺у埗妯″潡鍥炶皟鍦板潃
     rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive"
     #rtu杩滅▼鍗囩骇妯″潡鍥炶皟鍦板潃
-    ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive
+    ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive"
     #寰俊灏忕▼搴忓洖璋冨湴鍧�
     rtuCallbackUrl_wx: "http://127.0.0.1:8087/wx/comRes/receive"
 
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml
index 8dedb69..e3609d8 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeIssueReportMapper.xml
@@ -170,4 +170,86 @@
       `state` = #{state,jdbcType=TINYINT}
     where id = #{id,jdbcType=BIGINT}
   </update>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ユ暟閲�-->
+  <select id="getIssueReportsCount" resultType="java.lang.Long">
+    SELECT COUNT(*) AS recordCount
+    FROM ope_issue_report rpt
+        LEFT JOIN ba_user us ON us.id = rpt.inspector_id
+        LEFT JOIN ope_report_reply rpy ON rpy.report_id = rpt.id
+    <where>
+      AND rpt.state != 3
+
+      <if test="inspectorId != null">
+        AND rpt.inspector_id = #{inspectorId}
+      </if>
+
+      <if test="inspectorName != null and inspectorName != ''">
+        AND us.name like CONCAT('%', #{inspectorName}, '%')
+      </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.voOp.VoIssueReport">
+    SELECT
+        rpt.id AS issueReportId,
+        us.name AS inspectorName,
+        rpt.phone,
+        rpt.report_time AS reportTime,
+        rpt.content,
+        rpt.images,
+        rpt.audios,
+        rpt.videos,
+        rpy.reply_time AS replyTime,
+        rpt.state AS stateId,
+        CASE
+            WHEN rpt.state = 1 THEN '鏈彈鐞�'
+            WHEN rpt.state = 2 THEN '宸插彈鐞�'
+        END AS state
+    FROM ope_issue_report rpt
+        LEFT JOIN ba_user us ON us.id = rpt.inspector_id
+        LEFT JOIN ope_report_reply rpy ON rpy.report_id = rpt.id
+    <where>
+      AND rpt.state != 3
+
+      <if test="inspectorId != null">
+        AND rpt.inspector_id = #{inspectorId}
+      </if>
+
+      <if test="inspectorName != null and inspectorName != ''">
+        AND us.name like CONCAT('%', #{inspectorName}, '%')
+      </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>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java
index 9fb6484..ba118b6 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java
@@ -3,17 +3,18 @@
 import com.dy.common.aop.SsoAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrApp.issue.qo.QoIssueReport;
 import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport;
+import com.dy.pipIrrGlobal.voOp.VoIssueReport;
 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.util.List;
 import java.util.Objects;
 
 /**
@@ -52,4 +53,20 @@
         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());
+        }
+    }
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
index 36f7867..a9c49ba 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
@@ -1,12 +1,18 @@
 package com.dy.pipIrrApp.issue;
 
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrApp.issue.qo.QoIssueReport;
 import com.dy.pipIrrGlobal.daoOp.OpeIssueReportMapper;
 import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport;
+import com.dy.pipIrrGlobal.voOp.VoIssueReport;
 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.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author ZhuBaoMin
@@ -39,13 +45,34 @@
     }
 
     /**
-     * 娣诲姞宸℃鍛橀棶棰樹笂鎶ヤ俊鎭�
-     * @param po
+     * 鏍规嵁鏉′欢鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰�
+     * @param queryVo
      * @return
      */
-    //public Long insertIssueReport(OpeIssueReport po) {
-    //    opeIssueReportMapper.insert(po);
-    //    return po.getId();
-    //}
+    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 = opeIssueReportMapper.getIssueReportsCount(params);
+        QueryResultVo<List<VoIssueReport>> rsVo = new QueryResultVo<>();
+
+        rsVo.pageSize = queryVo.pageSize;
+        rsVo.pageCurr = queryVo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = opeIssueReportMapper.getIssueReports(params);
+        return rsVo;
+    }
 
 }

--
Gitblit v1.8.0