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.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springblade.core.boot.ctrl.BladeController;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.tool.api.R;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
/**
|
* @Description: 报汛记录
|
*/
|
@Slf4j
|
@Api(tags = "报汛记录")
|
@RestController
|
@RequestMapping("/reportFloodRecord/reportFloodRecord")
|
@AllArgsConstructor
|
public class ReportFloodRecordController extends BladeController {
|
|
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);
|
}
|
|
/**====================工作流==========================**/
|
/**
|
* 新增或修改
|
*
|
* @param reportFloodRecord
|
* @return
|
*/
|
@ApiOperation(value = "报汛记录-新增或修改", notes = "报汛记录-新增或修改")
|
@PostMapping(value = "/start-process")
|
public R startProcess(@RequestBody ReportFloodRecordVO reportFloodRecord) {
|
return R.status(reportFloodRecordService.startProcess(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));
|
}
|
|
/**
|
* 查询待办
|
*/
|
@PostMapping("reportFlood-todo-list")
|
@ApiOperation(value = "查询待办")
|
public R reportFloodToDoList(ReportFloodRecordVO reportFloodRecordVO, Query query) {
|
BladeFlowVO bladeFlow2 = new BladeFlowVO();
|
//设置流程类型
|
bladeFlow2.setCategory("flow_4");
|
//获取待办
|
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);
|
}
|
|
/**
|
* 查询已办
|
*/
|
@PostMapping("reportFlood-done-list")
|
@ApiOperation(value = "查询待办")
|
public R reportFloodDoneList(ReportFloodRecordVO reportFloodRecordVO, Query query) {
|
BladeFlowVO bladeFlow2 = new BladeFlowVO();
|
//设置流程类型
|
bladeFlow2.setCategory("flow_4");
|
//获取待办
|
R<BladeFlowPage> res = flowClient.getDoneBladeFlowList(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);
|
}
|
}
|