liurunyu
2024-11-22 72b5d23ab48368c9a8da28b91d0da1e6d7d1c4f0
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
7个文件已修改
2个文件已添加
243 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeInspectMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeTrackMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voOp/VoInspect.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeInspectMapper.xml 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeTrackMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectSv.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/qo/QoInspect.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}