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> 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); } 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); } pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java
New file @@ -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; /** * 巡检员ID */ 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; } 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> 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> 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()); } } } 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; } } pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/qo/QoInspect.java
New file @@ -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; /** * 巡检员ID */ @JsonSerialize(using = ToStringSerializer.class) private Long inspectorId; /** * 巡检员姓名 */ private String inspectorName; /** * 、开始巡检的时间,开始范围 */ private String timeStart; /** * 、开始巡检的时间,结束范围 */ private String timeStop; }