guoshilong
2023-07-12 b176ddd3a9acdd1eef2e7eb9c0cef5fa620334b4
巡查逻辑修改
16 files modified
1 files added
205 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolRecordController.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/dto/PatrolGroupDTO.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolRecord.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.xml 26 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.xml 67 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolRecordService.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolRecordServiceImpl.java 19 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/RecordBatchVO.java 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/controller/ReportFloodRecordController.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/mapper/ReportFloodRecordMapper.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/mapper/ReportFloodRecordMapper.xml 11 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/IReportFloodRecordService.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/impl/ReportFloodRecordServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolRecordController.java
@@ -2,11 +2,13 @@
import cn.gistack.sm.patrol.entity.PatrolGroupItem;
import cn.gistack.sm.patrol.entity.PatrolRecord;
import cn.gistack.sm.patrol.entity.PatrolReport;
import cn.gistack.sm.patrol.entity.PatrolType;
import cn.gistack.sm.patrol.service.IPatrolGroupItemService;
import cn.gistack.sm.patrol.service.IPatrolRecordService;
import cn.gistack.sm.patrol.vo.PatrolGroupItemVO;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
import cn.gistack.sm.patrol.vo.RecordBatchVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -151,4 +153,22 @@
        List<PatrolRecord> list = patrolRecordService.getByTaskIdAndGroupId(groupId,taskId);
        return R.data(list);
    }
    /**
     * 记录更新并且新增数据(适用于app处理)
     */
    @ApiOperation(value="巡查记录-记录更新并且新增数据", notes="巡查记录-记录更新并且新增数据")
    @RequestMapping(value = "/updateThenSaveBatch", method = {RequestMethod.PUT,RequestMethod.POST})
    public R updateThenSaveBatch(@RequestBody RecordBatchVO recordBatchVO){
        return R.data(patrolRecordService.updateThenSaveBatch(recordBatchVO));
    }
    /**
     * 获取历史记录
     */
    @ApiOperation(value="巡查记录-获取历史记录", notes="巡查记录-获取历史记录")
    @RequestMapping(value = "/getHistoryRecord", method = {RequestMethod.PUT,RequestMethod.POST})
    public R getHistoryRecord(PatrolRecordVO patrolRecordVO){
        return R.data(patrolRecordService.getHistoryRecord(patrolRecordVO));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -254,7 +254,7 @@
     * @param patrolTask 任务
     */
    @PostMapping("patrol-done-list")
    @ApiOperation(value = "查询待办")
    @ApiOperation(value = "查询已办")
    public R patrolDoneList(PatrolTaskVO patrolTask, Query query) {
        BladeFlowVO bladeFlow2 = new BladeFlowVO();
        //设置流程类型
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/dto/PatrolGroupDTO.java
@@ -11,5 +11,5 @@
@Data
public class PatrolGroupDTO extends PatrolGroup {
    private List<PatrolReportVO> patrolReportList;
    private List<PatrolRecordVO> patrolRecordVOList;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolRecord.java
@@ -75,4 +75,16 @@
     */
    private String solution;
    /**
     * 处理状态(1、已解决,2、未解决)
     */
    @ApiModelProperty("处理状态(1、已解决,2、未解决)")
    private String state;
    /**
     * 工作流任务id
     */
    @ApiModelProperty("工作流任务id")
    private String flowTaskId;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.xml
@@ -86,6 +86,7 @@
                WHERE R.IS_DELETED = 0 AND R.TASK_ID = #{taskId}
                AND R.STATUS = 2
                AND R.SOLUTION = 2
                AND R.state = 0
                GROUP BY I.GROUP_ID
            )D ON D.GROUP_ID = I.GROUP_ID
            WHERE R.IS_DELETED = 0 AND R.TASK_ID = #{taskId}
@@ -97,7 +98,7 @@
    <resultMap id="patrolGroupDTO" type="cn.gistack.sm.patrol.dto.PatrolGroupDTO">
        <id property="id" column="id"/>
        <result property="name" column="gname"/>
        <collection property="patrolReportList" javaType="java.util.List" ofType="cn.gistack.sm.patrol.vo.PatrolReportVO">
        <collection property="patrolRecordVOList" javaType="java.util.List" ofType="cn.gistack.sm.patrol.vo.PatrolRecordVO">
            <result property="id" column="rId"/>
            <result property="videos" column="videos" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
            <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
@@ -108,21 +109,32 @@
            <result property="taskId" column="taskId"/>
            <result property="solution" column="solution"/>
            <result property="content" column="content"/>
            <result property="recordId" column="recordId"/>
        </collection>
    </resultMap>
    <select id="getPatrolGroupDTO" resultMap="patrolGroupDTO">
       SELECT G.ID,G.NAME gname,
        R.ID rId, R.VIDEOS,R.IMAGES,R.STATUS,R.IS_DELETED,R.ITEM_ID itemId,R.record_id recordId,
        I.ITEMS_NAME itemsName,R.TASK_ID,R.SOLUTION,R.CONTENT FROM SM_PATROL_GROUP G
       SELECT G.ID,
              G.NAME AS gname,
             R.ID AS rId,
              R.VIDEOS,
              R.IMAGES,
              R.STATUS,
              R.IS_DELETED,
              R.ITEM_ID  AS itemId,
        I.ITEMS_NAME AS itemsName,
              R.TASK_ID AS taskId ,
              R.SOLUTION,
              R.CONTENT
       FROM SM_PATROL_GROUP G
       LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
       LEFT JOIN SM_PATROL_REPORT R ON R.ITEM_ID = I.ID
       LEFT JOIN SM_PATROL_RECORD R ON R.ITEM_ID = I.ID
       WHERE G.IS_DELETED = 0
       AND R.STATUS = 2
       AND R.STATUS = 2 AND R.state = 0 AND R.SOLUTION = 2
       AND R.TASK_ID = #{taskId}
    </select>
    <select id="getPatrolGroupByTaskId" resultType="cn.gistack.sm.patrol.entity.PatrolGroup">
       SELECT G.ID,G.NAME FROM SM_PATROL_GROUP G
       LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.java
@@ -1,5 +1,6 @@
package cn.gistack.sm.patrol.mapper;
import cn.gistack.sm.patrol.dto.PatrolGroupDTO;
import cn.gistack.sm.patrol.entity.PatrolRecord;
import cn.gistack.sm.patrol.entity.PatrolType;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
@@ -21,4 +22,6 @@
    PatrolRecordVO getPatrolRecordVO(@Param("itemId") Long itemId, @Param("taskId") String taskId);
    List<PatrolRecord> getByTaskIdAndGroupId(@Param("groupId") String groupId, @Param("taskId") String taskId);
    List<PatrolGroupDTO> getHistoryRecord(@Param("vo") PatrolRecordVO patrolRecordVO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.xml
@@ -100,8 +100,23 @@
        AND r.task_id = #{taskId}
    </select>
    <select id="getByTaskIdAndGroupId" resultMap="selectPatrolRecordList">
        SELECT c.group_id groupId,r.id,r.patrol_type,r.device_ids,r.images,r.videos,r.content,r.status,r.item_id,r.task_id,r.create_user,r.create_dept,r.solution,
        C.items_name itemsName,C.description FROM SM_PATROL_RECORD r
        SELECT
               c.group_id AS groupId,
               r.id,
               r.patrol_type,
               r.device_ids,
               r.images,
               r.videos,
               r.content,
               r.status,
               r.item_id,
               r.task_id,
               r.create_user,
               r.create_dept,
               r.solution,
                C.items_name AS itemsName,
               C.description
        FROM SM_PATROL_RECORD r
        RIGHT JOIN (
         SELECT B.ID,B.GROUP_ID,B.ITEMS_NAME,B.DESCRIPTION
         FROM SM_PATROL_GROUP A
@@ -112,6 +127,52 @@
         </if>
         ORDER BY B.GROUP_ID
        )C ON C.ID = r.ITEM_ID
        WHERE TASK_ID = #{taskId}
        WHERE TASK_ID = #{taskId} AND r.state = 0
    </select>
    <resultMap id="patrolGroupDTO" type="cn.gistack.sm.patrol.dto.PatrolGroupDTO">
        <id property="id" column="id"/>
        <result property="name" column="gname"/>
        <collection property="patrolRecordVOList" javaType="java.util.List" ofType="cn.gistack.sm.patrol.vo.PatrolRecordVO">
            <result property="id" column="rId"/>
            <result property="videos" column="videos" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
            <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
            <result property="status" column="status"/>
            <result property="isDeleted" column="isDeleted"/>
            <result property="itemId" column="itemId"/>
            <result property="itemsName" column="itemsName"/>
            <result property="taskId" column="taskId"/>
            <result property="solution" column="solution"/>
            <result property="content" column="content"/>
        </collection>
    </resultMap>
    <select id="getHistoryRecord" resultMap="patrolGroupDTO">
        SELECT G.ID,
               G.NAME AS gname,
               R.ID AS rId,
               R.VIDEOS,
               R.IMAGES,
               R.STATUS,
               R.IS_DELETED,
               R.ITEM_ID  AS itemId,
               I.ITEMS_NAME AS itemsName,
               R.TASK_ID AS taskId ,
               R.SOLUTION,
               R.CONTENT
        FROM SM_PATROL_GROUP G
                 LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
                 LEFT JOIN SM_PATROL_RECORD R ON R.ITEM_ID = I.ID
        WHERE G.IS_DELETED = 0
          <if test="vo.flowTaskId != null and vo.flowTaskId !='' ">
              AND R.FLOW_TASK_ID = #{vo.flowTaskId}
          </if>
         <if test="vo.taskId !=null and vo.taskId !='' ">
             AND R.TASK_ID = #{vo.taskId}
         </if>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -175,12 +175,11 @@
        where spt.id = #{id}
    </select>
    <select id="customizeGetById" resultType="cn.gistack.sm.patrol.vo.PatrolTaskVO">
        SELECT T.ID,T.TITLE,T.TO_USER_ID,U.REAL_NAME toUserIdName,A.PROBLEM_COUNT,T.PROJECT_ID,T.CONTENT,T.STATE,T.PATROL_ROUTE
        SELECT
            T.*,
            U.REAL_NAME AS toUserIdName
        FROM SM_PATROL_TASK T
        LEFT JOIN BLADE_USER U ON U.ID = T.TO_USER_ID
        LEFT JOIN (
            SELECT COUNT(*) PROBLEM_COUNT,R.TASK_ID FROM SM_PATROL_REPORT R WHERE R.TASK_ID = #{id} AND R.STATUS = 2 GROUP BY R.TASK_ID
        )A ON A.TASK_ID = T.ID
        WHERE T.ID = #{id}
        AND T.IS_DELETED = 0
    </select>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolRecordService.java
@@ -1,10 +1,12 @@
package cn.gistack.sm.patrol.service;
import cn.gistack.sm.patrol.dto.PatrolGroupDTO;
import cn.gistack.sm.patrol.entity.PatrolGroupItem;
import cn.gistack.sm.patrol.entity.PatrolRecord;
import cn.gistack.sm.patrol.entity.PatrolType;
import cn.gistack.sm.patrol.vo.PatrolGroupItemVO;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
import cn.gistack.sm.patrol.vo.RecordBatchVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
@@ -52,4 +54,8 @@
    List getItemByItemIds(String itemIds, String groupId, String taskId);
    List<PatrolRecord> getByTaskIdAndGroupId(String groupId, String taskId);
    Boolean updateThenSaveBatch(RecordBatchVO recordBatchVO);
    List<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolRecordServiceImpl.java
@@ -1,5 +1,6 @@
package cn.gistack.sm.patrol.service.impl;
import cn.gistack.sm.patrol.dto.PatrolGroupDTO;
import cn.gistack.sm.patrol.entity.PatrolGroupItem;
import cn.gistack.sm.patrol.entity.PatrolRecord;
import cn.gistack.sm.patrol.entity.PatrolType;
@@ -8,6 +9,7 @@
import cn.gistack.sm.patrol.service.IPatrolRecordService;
import cn.gistack.sm.patrol.vo.PatrolGroupItemVO;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
import cn.gistack.sm.patrol.vo.RecordBatchVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
@@ -17,6 +19,7 @@
import org.springblade.core.tool.utils.ObjectUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@@ -78,4 +81,20 @@
    public List<PatrolRecord> getByTaskIdAndGroupId(String groupId, String taskId) {
        return baseMapper.getByTaskIdAndGroupId(groupId,taskId);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Boolean updateThenSaveBatch(RecordBatchVO recordBatchVO) {
        boolean b = updateBatchById(recordBatchVO.getUpdateList());
        boolean b1 = saveBatch(recordBatchVO.getAddList());
        return b&&b1;
    }
    @Override
    public List<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO) {
        return baseMapper.getHistoryRecord(patrolRecordVO);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -157,7 +157,8 @@
            //保存巡查记录
            patrolRecordService.saveBatch(patrolTask.getPatrolRecordList());
            //保存上报
            saveReport(patrolTask);
            //停用
//            saveReport(patrolTask);
            return baseMapper.updateById(patrolTask) >0;
        }else {
            return  false;
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/RecordBatchVO.java
New file
@@ -0,0 +1,16 @@
package cn.gistack.sm.patrol.vo;
import cn.gistack.sm.patrol.entity.PatrolRecord;
import lombok.Data;
import java.util.List;
/**
 * 记录集合vo
 */
@Data
public class RecordBatchVO {
    private List<PatrolRecord> updateList;
    private List<PatrolRecord> addList;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/controller/ReportFloodRecordController.java
@@ -109,7 +109,7 @@
    @ApiOperation(value = "报汛记录-通过id查询", notes = "报汛记录-通过id查询")
    @GetMapping(value = "/queryById")
    public R queryById(@RequestParam(name = "id", required = true) String id) {
        ReportFloodRecord reportFloodRecord = reportFloodRecordService.getById(id);
        ReportFloodRecordVO reportFloodRecord = reportFloodRecordService.getDetailVO(id);
        return R.data(reportFloodRecord);
    }
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/mapper/ReportFloodRecordMapper.java
@@ -19,4 +19,6 @@
    ReportFloodRecordVO customizeGetDetail(@Param("reportFloodRecord") ReportFloodRecordVO reportFloodRecordVO);
    ReportFloodRecord getLatestRecord(@Param("reservoirId") String reservoirId);
    ReportFloodRecordVO getDetailVO(@Param("id") String id);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/mapper/ReportFloodRecordMapper.xml
@@ -31,7 +31,7 @@
    </resultMap>
    <select id="selectReportFloodRecordPages" resultType="cn.gistack.sm.reportFlood.vo.ReportFloodRecordVO">
    <select id="selectReportFloodRecordPages" resultMap="vo">
        SELECT R.*,atb."name" reservoirName FROM SM_REPORT_FLOOD_RECORD r
        LEFT JOIN "SJZT_MD"."att_res_base" atb on atb."guid" = r.reservoir_id
        WHERE r.is_deleted = 0
@@ -53,6 +53,9 @@
        <if test="reportFloodRecord.endTime !=null and reportFloodRecord.endTime !=''">
            AND DATE_FORMAT(r.create_time,'%Y-%m-%d') &lt;= #{reportFloodRecord.endTime}
        </if>
        <if test="reportFloodRecord.createUser !=null and reportFloodRecord.createUser !=''">
            AND r.create_user = #{reportFloodRecord.createUser}
        </if>
        ORDER BY CREATE_TIME DESC
    </select>
    <select id="customizeGetDetail" resultMap="vo">
@@ -64,4 +67,10 @@
        AND reservoir_id = #{reservoirId}
        ORDER BY UPDATE_TIME DESC LIMIT 1
    </select>
    <select id="getDetailVO"  resultMap="vo">
        SELECT R.*,atb."name" reservoirName FROM SM_REPORT_FLOOD_RECORD r
        LEFT JOIN "SJZT_MD"."att_res_base" atb on atb."guid" = r.reservoir_id
        WHERE r.is_deleted = 0 AND r.id = #{id}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/IReportFloodRecordService.java
@@ -16,4 +16,6 @@
    ReportFloodRecordVO customizeGetDetail(ReportFloodRecordVO reportFloodRecordVO);
    ReportFloodRecord getLatestRecord(String reservoirId);
    ReportFloodRecordVO getDetailVO(String id);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/service/impl/ReportFloodRecordServiceImpl.java
@@ -57,6 +57,11 @@
        return baseMapper.getLatestRecord(reservoirId);
    }
    @Override
    public ReportFloodRecordVO getDetailVO(String id) {
        return baseMapper.getDetailVO(id);
    }
    /**
     * 根据水库id和责任人类型获取用户
     * @param type 责任人类型