guoshilong
2023-05-18 6cd2da8eb7d7aefecd96a19ebbfe9caba59ea88c
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/reportFlood/controller/ReportFloodRecordController.java
@@ -28,176 +28,87 @@
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));
   }
   /**
    * 编辑
    *
    * @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<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 = "/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删除")
   @DeleteMapping(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 = "报汛记录-批量删除")
   @DeleteMapping(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) {
      ReportFloodRecord reportFloodRecord = reportFloodRecordService.getById(id);
      return R.data(reportFloodRecord);
   }
}