| | |
| | | package cn.gistack.sm.reportFlood.controller; |
| | | |
| | | import cn.gistack.flow.core.feign.IFlowClient; |
| | | import cn.gistack.flow.core.vo.BladeFlowVO; |
| | | import cn.gistack.sm.patrol.entity.PatrolConfig; |
| | | import cn.gistack.sm.patrol.entity.PatrolTask; |
| | | import cn.gistack.sm.patrol.service.IPatrolConfigService; |
| | | import cn.gistack.sm.patrol.vo.BladeFlowPage; |
| | | import cn.gistack.sm.patrol.vo.PatrolTaskVO; |
| | | import cn.gistack.sm.reportFlood.entity.ReportFloodRecord; |
| | | import cn.gistack.sm.reportFlood.service.IReportFloodRecordService; |
| | | import cn.gistack.sm.reportFlood.vo.ReportFloodRecordVO; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: 报汛记录 |
| | | */ |
| | | * @Description: 报汛记录 |
| | | */ |
| | | @Slf4j |
| | | @Api(tags="报汛记录") |
| | | @Api(tags = "报汛记录") |
| | | @RestController |
| | | @RequestMapping("/reportFloodRecord/reportFloodRecord") |
| | | @AllArgsConstructor |
| | | public class ReportFloodRecordController extends BladeController { |
| | | |
| | | private IReportFloodRecordService reportFloodRecordService; |
| | | private IReportFloodRecordService reportFloodRecordService; |
| | | private IFlowClient flowClient; |
| | | |
| | | /** |
| | | * 分页列表查询 |
| | | */ |
| | | @ApiOperation(value="报汛记录-分页列表查询", notes="报汛记录-分页列表查询") |
| | | @GetMapping(value = "/list") |
| | | public R<IPage<ReportFloodRecord>> queryPageList(ReportFloodRecord reportFloodRecord, Query query) { |
| | | IPage<ReportFloodRecord> pageList = reportFloodRecordService.selectReportFloodRecordPages(Condition.getPage(query),reportFloodRecord); |
| | | return R.data(pageList); |
| | | } |
| | | |
| | | /** |
| | | * 添加 |
| | | * |
| | | * @param reportFloodRecord |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="报汛记录-添加", notes="报汛记录-添加") |
| | | @PostMapping(value = "/add") |
| | | public R add(@RequestBody ReportFloodRecord reportFloodRecord) { |
| | | return R.data(reportFloodRecordService.save(reportFloodRecord)); |
| | | } |
| | | @GetMapping(value = "/isExistByTime") |
| | | public R isExistByTime(String reservoirId,String time) { |
| | | QueryWrapper queryWrapper = new QueryWrapper(); |
| | | queryWrapper.eq("reservoir_id" ,reservoirId); |
| | | queryWrapper.eq("report_time" ,time); |
| | | return R.data(reportFloodRecordService.count(queryWrapper) > 0); |
| | | } |
| | | |
| | | /** |
| | | * 编辑 |
| | | * |
| | | * @param reportFloodRecord |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="报汛记录-编辑", notes="报汛记录-编辑") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public R edit(@RequestBody ReportFloodRecord reportFloodRecord) { |
| | | return R.data(reportFloodRecordService.updateById(reportFloodRecord)); |
| | | } |
| | | |
| | | /** |
| | | * 通过id删除 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="报汛记录-通过id删除", notes="报汛记录-通过id删除") |
| | | @DeleteMapping(value = "/delete") |
| | | public R delete(@RequestParam(name="id",required=true) String id) { |
| | | return R.data(reportFloodRecordService.removeById(id)); |
| | | } |
| | | |
| | | /** |
| | | * 批量删除 |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="报汛记录-批量删除", notes="报汛记录-批量删除") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public R deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | return R.data(this.reportFloodRecordService.removeByIds(Arrays.asList(ids.split(",")))); |
| | | } |
| | | |
| | | /** |
| | | * 通过id查询 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="报汛记录-通过id查询", notes="报汛记录-通过id查询") |
| | | @GetMapping(value = "/queryById") |
| | | public R queryById(@RequestParam(name="id",required=true) String id) { |
| | | ReportFloodRecord reportFloodRecord = reportFloodRecordService.getById(id); |
| | | return R.data(reportFloodRecord); |
| | | } |
| | | |
| | | /**====================工作流==========================**/ |
| | | /** |
| | | * 新增或修改 |
| | | * 分页列表查询 |
| | | */ |
| | | @ApiOperation(value = "报汛记录-分页列表查询", notes = "报汛记录-分页列表查询") |
| | | @GetMapping(value = "/list") |
| | | public R<IPage<ReportFloodRecordVO>> queryPageList(ReportFloodRecordVO reportFloodRecord, Query query) { |
| | | |
| | | // String code = reportFloodRecord.getAdCode(); |
| | | // if (StringUtil.isNoneBlank(code)){ |
| | | // if (code.substring(0,4).indexOf("00") > -1) { |
| | | // reportFloodRecord.setAdCode(code.substring(0,2)); |
| | | // } else if (code.substring(0,6).indexOf("00") > -1) { |
| | | // reportFloodRecord.setAdCode(code.substring(0,4)); |
| | | // } |
| | | // } |
| | | IPage<ReportFloodRecordVO> pageList = reportFloodRecordService.selectReportFloodRecordPages(Condition.getPage(query), reportFloodRecord); |
| | | return R.data(pageList); |
| | | } |
| | | |
| | | /** |
| | | * 添加 |
| | | * |
| | | * @param reportFloodRecord |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="报汛记录-新增或修改", notes="报汛记录-新增或修改") |
| | | @PostMapping(value = "/start-process") |
| | | public R startProcess(@RequestBody ReportFloodRecord reportFloodRecord) { |
| | | return R.status(reportFloodRecordService.startProcess(reportFloodRecord)); |
| | | @ApiOperation(value = "报汛记录-添加", notes = "报汛记录-添加") |
| | | @PostMapping(value = "/add") |
| | | public R add(@RequestBody ReportFloodRecord reportFloodRecord) { |
| | | return R.data(reportFloodRecordService.save(reportFloodRecord)); |
| | | } |
| | | |
| | | /** |
| | | * 完成任务 |
| | | * 编辑 |
| | | * |
| | | * @param reportFloodRecord |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="报汛记录-新增或修改", notes="报汛记录-新增或修改") |
| | | @PostMapping(value = "/complete-task") |
| | | public R startProcess(@RequestBody ReportFloodRecordVO reportFloodRecord, String taskUser, String currentUser) { |
| | | return R.status(reportFloodRecordService.completeTask(reportFloodRecord,taskUser,currentUser)); |
| | | @ApiOperation(value = "报汛记录-编辑", notes = "报汛记录-编辑") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public R edit(@RequestBody ReportFloodRecord reportFloodRecord) { |
| | | return R.data(reportFloodRecordService.updateById(reportFloodRecord)); |
| | | } |
| | | |
| | | /** |
| | | * 查询待办 |
| | | * 通过id删除 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @PostMapping("reportFlood-todo-list") |
| | | @ApiOperation(value = "查询待办") |
| | | public R reportFloodToDoList(ReportFloodRecordVO reportFloodRecordVO, Query query){ |
| | | BladeFlowVO bladeFlow2 = new BladeFlowVO(); |
| | | //获取待办 |
| | | R<BladeFlowPage> res = flowClient.getTodoBladeFlowList(query.getSize(),query.getCurrent(),reportFloodRecordVO.getCurrentUserId(), bladeFlow2); |
| | | IPage<BladeFlowVO> bladeFlowVOIPage = new Page<>(); |
| | | List<BladeFlowVO> bladeFlowVOList = new ArrayList<>(); |
| | | |
| | | if (res.isSuccess()){ |
| | | List<Object> data = res.getData().getData(); |
| | | data.forEach(obj -> { |
| | | BladeFlowVO<ReportFloodRecord> bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlowVO.class); |
| | | ReportFloodRecordVO byId = reportFloodRecordService.customizeGetDetail(bladeFlow.getBusinessId()); |
| | | bladeFlow.setDetail(byId); |
| | | bladeFlowVOList.add(bladeFlow); |
| | | }); |
| | | } |
| | | //设置数据集 |
| | | bladeFlowVOIPage.setRecords(bladeFlowVOList); |
| | | //设置当前页 |
| | | bladeFlowVOIPage.setCurrent(res.getData().getCurrent()); |
| | | //设置页数 |
| | | bladeFlowVOIPage.setSize(res.getData().getSize()); |
| | | //设置总数 |
| | | bladeFlowVOIPage.setTotal(res.getData().getTotal()); |
| | | return R.data(bladeFlowVOIPage); |
| | | @ApiOperation(value = "报汛记录-通过id删除", notes = "报汛记录-通过id删除") |
| | | @PostMapping(value = "/delete") |
| | | public R delete(@RequestParam(name = "id", required = true) String id) { |
| | | return R.data(reportFloodRecordService.removeById(id)); |
| | | } |
| | | |
| | | /** |
| | | * 查询已办 |
| | | * 批量删除 |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @PostMapping("reportFlood-done-list") |
| | | @ApiOperation(value = "查询待办") |
| | | public R reportFloodDoneList(ReportFloodRecordVO reportFloodRecordVO, Query query){ |
| | | BladeFlowVO bladeFlow2 = new BladeFlowVO(); |
| | | //获取待办 |
| | | R<BladeFlowPage> res = flowClient.getDoneBladeFlowList(query.getSize(),query.getCurrent(),reportFloodRecordVO.getCurrentUserId(), bladeFlow2); |
| | | IPage<BladeFlowVO> bladeFlowVOIPage = new Page<>(); |
| | | List<BladeFlowVO> bladeFlowVOList = new ArrayList<>(); |
| | | @ApiOperation(value = "报汛记录-批量删除", notes = "报汛记录-批量删除") |
| | | @PostMapping(value = "/deleteBatch") |
| | | public R deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | return R.data(this.reportFloodRecordService.removeByIds(Arrays.asList(ids.split(",")))); |
| | | } |
| | | |
| | | if (res.isSuccess()){ |
| | | List<Object> data = res.getData().getData(); |
| | | data.forEach(obj -> { |
| | | BladeFlowVO<ReportFloodRecord> bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlowVO.class); |
| | | ReportFloodRecordVO byId = reportFloodRecordService.customizeGetDetail(bladeFlow.getBusinessId()); |
| | | bladeFlow.setDetail(byId); |
| | | bladeFlowVOList.add(bladeFlow); |
| | | }); |
| | | } |
| | | //设置数据集 |
| | | bladeFlowVOIPage.setRecords(bladeFlowVOList); |
| | | //设置当前页 |
| | | bladeFlowVOIPage.setCurrent(res.getData().getCurrent()); |
| | | //设置页数 |
| | | bladeFlowVOIPage.setSize(res.getData().getSize()); |
| | | //设置总数 |
| | | bladeFlowVOIPage.setTotal(res.getData().getTotal()); |
| | | return R.data(bladeFlowVOIPage); |
| | | /** |
| | | * 通过id查询 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "报汛记录-通过id查询", notes = "报汛记录-通过id查询") |
| | | @GetMapping(value = "/queryById") |
| | | public R queryById(@RequestParam(name = "id", required = true) String id) { |
| | | ReportFloodRecordVO reportFloodRecord = reportFloodRecordService.getDetailVO(id); |
| | | return R.data(reportFloodRecord); |
| | | } |
| | | |
| | | /** |
| | | * 根据水库id返回最新审核通过的报汛记录 |
| | | * |
| | | * @param reservoirId |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "报汛记录-根据水库id返回最新审核通过的报汛记录", notes = "报汛记录-根据水库id返回最新审核通过的报汛记录") |
| | | @GetMapping(value = "/getLatestRecord") |
| | | public R getLatestRecord(String reservoirId) { |
| | | ReportFloodRecord reportFloodRecord = reportFloodRecordService.getLatestRecord(reservoirId); |
| | | return R.data(reportFloodRecord); |
| | | } |
| | | } |
| | | |