16 files modified
1 files added
| | |
| | | |
| | | 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; |
| | |
| | | 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)); |
| | | } |
| | | } |
| | |
| | | * @param patrolTask 任务 |
| | | */ |
| | | @PostMapping("patrol-done-list") |
| | | @ApiOperation(value = "查询待办") |
| | | @ApiOperation(value = "查询已办") |
| | | public R patrolDoneList(PatrolTaskVO patrolTask, Query query) { |
| | | BladeFlowVO bladeFlow2 = new BladeFlowVO(); |
| | | //设置流程类型 |
| | |
| | | @Data |
| | | public class PatrolGroupDTO extends PatrolGroup { |
| | | |
| | | private List<PatrolReportVO> patrolReportList; |
| | | private List<PatrolRecordVO> patrolRecordVOList; |
| | | } |
| | |
| | | */ |
| | | private String solution; |
| | | |
| | | |
| | | /** |
| | | * 处理状态(1、已解决,2、未解决) |
| | | */ |
| | | @ApiModelProperty("处理状态(1、已解决,2、未解决)") |
| | | private String state; |
| | | |
| | | /** |
| | | * 工作流任务id |
| | | */ |
| | | @ApiModelProperty("工作流任务id") |
| | | private String flowTaskId; |
| | | } |
| | |
| | | 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} |
| | |
| | | <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"/> |
| | |
| | | <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 |
| | |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | |
| | | 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 |
| | |
| | | </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> |
| | |
| | | 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> |
| | |
| | | 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; |
| | | |
| | |
| | | List getItemByItemIds(String itemIds, String groupId, String taskId); |
| | | |
| | | List<PatrolRecord> getByTaskIdAndGroupId(String groupId, String taskId); |
| | | |
| | | Boolean updateThenSaveBatch(RecordBatchVO recordBatchVO); |
| | | |
| | | List<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | //保存巡查记录 |
| | | patrolRecordService.saveBatch(patrolTask.getPatrolRecordList()); |
| | | //保存上报 |
| | | saveReport(patrolTask); |
| | | //停用 |
| | | // saveReport(patrolTask); |
| | | return baseMapper.updateById(patrolTask) >0; |
| | | }else { |
| | | return false; |
| New file |
| | |
| | | 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; |
| | | } |
| | |
| | | @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); |
| | | } |
| | | |
| | |
| | | ReportFloodRecordVO customizeGetDetail(@Param("reportFloodRecord") ReportFloodRecordVO reportFloodRecordVO); |
| | | |
| | | ReportFloodRecord getLatestRecord(@Param("reservoirId") String reservoirId); |
| | | |
| | | ReportFloodRecordVO getDetailVO(@Param("id") String id); |
| | | } |
| | |
| | | </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 |
| | |
| | | <if test="reportFloodRecord.endTime !=null and reportFloodRecord.endTime !=''"> |
| | | AND DATE_FORMAT(r.create_time,'%Y-%m-%d') <= #{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"> |
| | |
| | | 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> |
| | |
| | | ReportFloodRecordVO customizeGetDetail(ReportFloodRecordVO reportFloodRecordVO); |
| | | |
| | | ReportFloodRecord getLatestRecord(String reservoirId); |
| | | |
| | | ReportFloodRecordVO getDetailVO(String id); |
| | | } |
| | |
| | | return baseMapper.getLatestRecord(reservoirId); |
| | | } |
| | | |
| | | @Override |
| | | public ReportFloodRecordVO getDetailVO(String id) { |
| | | return baseMapper.getDetailVO(id); |
| | | } |
| | | |
| | | /** |
| | | * 根据水库id和责任人类型获取用户 |
| | | * @param type 责任人类型 |