From 4464c056c18deb156e51b9ec6fb1fb18223b69d4 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期五, 22 十一月 2024 15:52:04 +0800 Subject: [PATCH] 查询巡检轨迹 --- pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java | 40 ++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeInspectMapper.java | 18 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java | 48 +++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java | 26 ++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeTrackMapper.java | 7 + pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/qo/QoInspect.java | 41 ++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeTrackMapper.xml | 10 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml | 48 +++++++++ pipIrr-platform/pipIrr-common/pom.xml | 5 + 9 files changed, 239 insertions(+), 4 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/pom.xml b/pipIrr-platform/pipIrr-common/pom.xml index 9b94099..c044a21 100644 --- a/pipIrr-platform/pipIrr-common/pom.xml +++ b/pipIrr-platform/pipIrr-common/pom.xml @@ -167,6 +167,11 @@ <artifactId>log4j-slf4j-impl</artifactId> <version>2.17.2</version> </dependency> + <dependency> + <groupId>com.baomidou</groupId> + <artifactId>mybatis-plus-extension</artifactId> + <version>3.5.3.2</version> + </dependency> </dependencies> <build> 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 86ab9e7..3e5c041 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 @@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoOp.OpeInspect; +import com.dy.pipIrrGlobal.voOp.VoInspect; import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -24,4 +28,18 @@ int updateByPrimaryKeySelective(OpeInspect record); int updateByPrimaryKey(OpeInspect record); + + /** + * 宸℃鏌ヨ + * @param params + * @return + */ + Long getInspectsCount(Map<String, Object> params); + + /** + * 宸℃鏌ヨ + * @param params + * @return + */ + List<VoInspect> getInspects(Map<String, Object> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeTrackMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeTrackMapper.java index 492a918..c1e7004 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeTrackMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeTrackMapper.java @@ -33,4 +33,11 @@ * @return */ int insertTracks(List<OpeTrack> list); + + /** + * 閫氳繃宸℃ID鏌ヨ杞ㄨ抗 + * @param inspectId + * @return + */ + List<OpeTrack> selectByInspectId(Long inspectId); } \ 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 new file mode 100644 index 0000000..4e5ff81 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java @@ -0,0 +1,48 @@ +package com.dy.pipIrrGlobal.voOp; + +import com.dy.common.po.BaseEntity; +import com.dy.pipIrrGlobal.pojoOp.OpeTrack; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.List; + +/** + * @author :WuZeYu + * @Date :2024/11/20 15:37 + * @LastEditTime :2024/11/20 15:37 + * @Description + */ +@Data +public class VoInspect implements BaseEntity { + private static final long serialVersionUID = 202411201537001L; + + /** + * 宸℃鍛業D + */ + private Long inspectorId; + + /** + * 宸℃鍛樺鍚� + */ + private String inspectorName; + + /** + * 宸℃ID + */ + private Long inspectId; + /** + * 寮�濮嬪贰妫�鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Data startTime; + /** + * 缁撴潫宸℃鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Data stopTime; + /** + * 鍚勪釜宸℃鐐� + */ + private List<OpeTrack> tracks; +} 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 888dd76..c7f927a 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml @@ -88,4 +88,52 @@ stop_time = #{stopTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} </update> +<!-- 鏌ヨ鎬绘暟 --> + <select id="getInspectsCount" resultType="java.lang.Long"> + SELECT + count(*) + FROM `ope_inspect` oi + INNER JOIN `ba_user` ON oi.inspector_id = ba_user.id + <where> + ba_user.deleted = 0 + <if test="inspectorId != null"> + AND oi.inspector_id = #{inspectorId} + </if> + <if test="inspectId != null"> + AND oi.id = #{inspectId} + </if> + <if test="inspectorName != null"> + AND ba_user.`name` LIKE CONCAT('%',#{inspectorName},'%') + </if> + <if test="timeStart != null and timeStop != null"> + AND oi.start_time BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + </select> +<!-- 鏌ヨ鍒楄〃 --> + <select id="getInspects" resultType="com.dy.pipIrrGlobal.voOp.VoInspect"> + SELECT + oi.inspector_id AS inspectorId, + ba_user.`name` AS inspectorName, + oi.id AS inspectId, + oi.start_time AS startTime, + oi.stop_time AS stopTime + FROM `ope_inspect` oi + INNER JOIN `ba_user` ON oi.inspector_id = ba_user.id + <where> + ba_user.deleted = 0 + <if test="inspectorId != null"> + AND oi.inspector_id = #{inspectorId} + </if> + <if test="inspectId != null"> + AND oi.id = #{inspectId} + </if> + <if test="inspectorName != null"> + AND ba_user.`name` LIKE CONCAT('%',#{inspectorName},'%') + </if> + <if test="timeStart != null and timeStop != null"> + AND oi.start_time BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeTrackMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeTrackMapper.xml index ebb150d..52d3403 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeTrackMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeTrackMapper.xml @@ -108,4 +108,14 @@ (#{item.id}, #{item.inspectId}, #{item.lng}, #{item.lat}, #{item.locateTime}) </foreach> </insert> + <!--鏍规嵁宸℃id鏌ヨ杞ㄨ抗--> + <select id="selectByInspectId" resultMap="BaseResultMap"> + SELECT + id, + inspect_id AS inspectId, + lng, + lat, + locate_time AS locateTime + FROM ope_track WHERE inspect_id = #{inspectId} + </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 26446d4..f18bb02 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 @@ -4,19 +4,20 @@ import com.dy.common.util.IDLongGenerator; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrApp.inspect.dto.Inspects; +import com.dy.pipIrrApp.inspect.qo.QoInspect; import com.dy.pipIrrGlobal.pojoOp.OpeInspect; import com.dy.pipIrrGlobal.pojoOp.OpeTrack; +import com.dy.pipIrrGlobal.voOp.VoInspect; +import com.dy.pipIrrGlobal.voOp.VoIssueReport; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; 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.Date; import java.util.List; @@ -121,4 +122,21 @@ return BaseResponseUtils.buildErrorMsg("鎮ㄦ彁浜ょ殑宸℃杞ㄨ抗涓虹┖"); } + /** + * 鏌ヨ宸℃杞ㄨ抗 + * @param qo + * @return + */ + @GetMapping(path = "/getInspects") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoInspect>>> getInspects(QoInspect qo){ + + try{ + QueryResultVo<List<VoInspect>> res = inspectSv.getInspects(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-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 6d04f09..7434053 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 @@ -1,14 +1,20 @@ package com.dy.pipIrrApp.inspect; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrApp.inspect.qo.QoInspect; import com.dy.pipIrrGlobal.daoOp.OpeInspectMapper; import com.dy.pipIrrGlobal.daoOp.OpeTrackMapper; import com.dy.pipIrrGlobal.pojoOp.OpeInspect; import com.dy.pipIrrGlobal.pojoOp.OpeTrack; +import com.dy.pipIrrGlobal.voOp.VoInspect; +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.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -54,5 +60,39 @@ return opeTrackMapper.insertTracks(list); } + /** + * 宸℃鏌ヨ + * @param queryVo + * @return + */ + public QueryResultVo<List<VoInspect>> getInspects(QoInspect 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 = opeInspectMapper.getInspectsCount(params); + QueryResultVo<List<VoInspect>> rsVo = new QueryResultVo<>(); + + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + + rsVo.calculateAndSet(itemTotal, params); + + List<VoInspect> inspects = opeInspectMapper.getInspects(params); + for (int i = 0; i < inspects.size(); i++) { + inspects.get(i).setTracks(opeTrackMapper.selectByInspectId(inspects.get(i).getInspectId())); + } + rsVo.obj = inspects; + return rsVo; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/qo/QoInspect.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/qo/QoInspect.java new file mode 100644 index 0000000..294c259 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/qo/QoInspect.java @@ -0,0 +1,41 @@ +package com.dy.pipIrrApp.inspect.qo; + +import com.dy.common.webUtil.QueryConditionVo; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +/** + * @author :WuZeYu + * @Date :2024/11/20 15:19 + * @LastEditTime :2024/11/20 15:19 + * @Description + */ +@Data +public class QoInspect extends QueryConditionVo { + /** + * 宸℃ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectId; + /** + * 宸℃鍛業D + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectorId; + + /** + * 宸℃鍛樺鍚� + */ + private String inspectorName; + + /** + * 銆佸紑濮嬪贰妫�鐨勬椂闂达紝寮�濮嬭寖鍥� + */ + private String timeStart; + + /** + * 銆佸紑濮嬪贰妫�鐨勬椂闂达紝缁撴潫鑼冨洿 + */ + private String timeStop; +} -- Gitblit v1.8.0