From 3bb15fc20653b796df0d83770bcb37ba3578b26d Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 18 二月 2025 10:04:43 +0800
Subject: [PATCH] 获取巡检记录

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java   |   19 +++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeInspectMapper.java       |   14 +++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java               |   10 ++++
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java |   17 ++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml                      |   29 ++++++++++++++
 5 files changed, 88 insertions(+), 1 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeInspectMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeInspectMapper.java
index e12d201..70af0b3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeInspectMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeInspectMapper.java
@@ -51,4 +51,18 @@
      * @return
      */
     int updateInspectDistance(@Param("inspectId") Long inspectId, @Param("distance")Double distance );
+
+    /**
+     * 鏍规嵁宸℃鍛業D鑾峰彇宸℃璁板綍鏁伴噺
+     * @param params
+     * @return
+     */
+    Long getInstectsCountByInspectorId(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁宸℃鍛業D鑾峰彇宸℃鍒楄〃
+     * @param params
+     * @return
+     */
+    List<VoInspect> getInstectsByInspectorId(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java
index cb8fc4d..e4656f8 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java
@@ -3,11 +3,12 @@
 import com.dy.common.po.BaseEntity;
 import com.dy.pipIrrGlobal.pojoOp.OpeTrack;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import lombok.Data;
-import java.util.Date;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -17,6 +18,7 @@
  * @Description
  */
 @Data
+@JsonPropertyOrder({"inspectorId", "inspectorName", "inspectId", "startTime", "stopTime", "inspectDistance", "tracks"})
 public class VoInspect implements BaseEntity {
     private static final long serialVersionUID = 202411201537001L;
 
@@ -46,8 +48,14 @@
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date stopTime;
+
     /**
      * 鍚勪釜宸℃鐐�
      */
     private List<OpeTrack> tracks;
+
+    /**
+     * 宸℃璺濈
+     */
+    private Double inspectDistance;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml
index 088784e..38e1d90 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml
@@ -161,4 +161,33 @@
     SET inspect_distance = #{distance}
     WHERE id = #{inspectId}
   </update>
+
+  <!--鏍规嵁宸℃鍛業D鑾峰彇宸℃璁板綍鏁伴噺-->
+  <select id="getInstectsCountByInspectorId" resultType="java.lang.Long">
+    SELECT
+        count(*)
+    FROM ope_inspect ins
+    LEFT JOIN ba_user user ON user.id = ins.inspector_id
+    WHERE ins.inspector_id = #{inspectorId}
+  </select>
+
+  <!--鏍规嵁宸℃鍛業D鑾峰彇宸℃鍒楄〃-->
+  <select id="getInstectsByInspectorId" resultType="com.dy.pipIrrGlobal.voOp.VoInspect">
+    SELECT
+        user.id AS inspectorId,
+        user.name AS inspectorName,
+        ins.id AS inspectId,
+        ins.start_time AS startTime,
+        ins.stop_time AS stopTime,
+        ins.inspect_distance AS inspectDistance
+    FROM ope_inspect ins
+        LEFT JOIN ba_user user ON user.id = ins.inspector_id
+    WHERE ins.inspector_id = #{inspectorId}
+    ORDER BY ins.start_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/inspect/InspectCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java
index 6279278..6e7c743 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
@@ -209,4 +209,21 @@
 
         return EARTH_RADIUS * c;
     }
+
+    /**
+     * 鏍规嵁宸℃鍛業D鑾峰彇宸℃鍒楄〃
+     * @param vo
+     * @return
+     */
+    @GetMapping(path = "/getInspectRecords")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoInspect>>> getInspectRecords(QoInspect vo) {
+        try {
+            QueryResultVo<List<VoInspect>> res = inspectSv.getInstectsByInspectorId(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/inspect/InspectSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java
index 3ced131..063264f 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
@@ -119,4 +119,23 @@
     public int updateInspectDistance(Long inspectId, double distance ) {
         return opeInspectMapper.updateInspectDistance(inspectId, distance);
     }
+
+    /**
+     * 鏍规嵁宸℃鍛業D鑾峰彇宸℃鍒楄〃
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoInspect>> getInstectsByInspectorId(QoInspect queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = opeInspectMapper.getInstectsCountByInspectorId(params);
+
+        QueryResultVo<List<VoInspect>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = queryVo.pageSize;
+        rsVo.pageCurr = queryVo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = opeInspectMapper.getInstectsByInspectorId(params);
+        return rsVo;
+    }
 }

--
Gitblit v1.8.0