| | |
| | | package cn.gistack.sm.patrol.controller; |
| | | |
| | | import cn.gistack.flow.core.entity.BladeFlow; |
| | | import cn.gistack.flow.core.feign.IFlowClient; |
| | | import cn.gistack.flow.core.vo.BladeFlowVO; |
| | | import cn.gistack.sm.patrol.entity.PatrolReport; |
| | | import cn.gistack.sm.patrol.entity.PatrolTask; |
| | | import cn.gistack.sm.patrol.entity.PatrolTask; |
| | | import cn.gistack.sm.patrol.service.IPatrolTaskService; |
| | | import cn.gistack.sm.patrol.vo.BladeFlowPage; |
| | | import cn.gistack.sm.patrol.vo.BladeFlowTask; |
| | | import cn.gistack.sm.patrol.vo.PatrolTaskVO; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | 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 io.swagger.annotations.ApiParam; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.redisson.executor.TasksService; |
| | | 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.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.sound.midi.Soundbank; |
| | | import java.net.http.HttpRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | |
| | | @AllArgsConstructor |
| | | public class PatrolTaskController extends BladeController { |
| | | private IPatrolTaskService patrolTaskService; |
| | | private IFlowClient flowClient; |
| | | |
| | | /** |
| | | * 分页列表查询 |
| | |
| | | */ |
| | | @ApiOperation(value="获取所有巡查任务", notes="获取所有巡查任务") |
| | | @GetMapping(value = "/all") |
| | | public R getAll(){ |
| | | List<PatrolTask> list = patrolTaskService.list(); |
| | | return R.data(list); |
| | | public R getAll(PatrolTaskVO patrolTaskVO){ |
| | | List<PatrolTask> list = patrolTaskService.getAll(patrolTaskVO); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | |
| | | return R.data(patrolTaskService.getPatrolTaskStatistic(patrolTask)); |
| | | } |
| | | |
| | | /**====================工作流==========================**/ |
| | | /** |
| | | * 新增或修改 |
| | | * |
| | | * @param patrolTask 任务 |
| | | */ |
| | | @PostMapping("start-process") |
| | | public R startProcess(@RequestBody PatrolTask patrolTask) { |
| | | return R.status(patrolTaskService.startProcess(patrolTask)); |
| | | } |
| | | |
| | | /** |
| | | * 巡查人员完成任务 |
| | | */ |
| | | @PostMapping("patrol-complete-task") |
| | | @ApiOperation(value = "完成任务", notes = "传入流程信息") |
| | | public R completeTask(@RequestBody PatrolTaskVO patrolTaskVO) { |
| | | return R.status(patrolTaskService.patrolCompleteTask(patrolTaskVO,patrolTaskVO.getCurrentUserId(),patrolTaskVO.getTaskUser())); |
| | | } |
| | | |
| | | /** |
| | | * 责任人完成任务 |
| | | */ |
| | | @PostMapping("charge-complete-task") |
| | | @ApiOperation(value = "完成任务", notes = "传入流程信息") |
| | | public R chargeCompletePerson(@RequestBody BladeFlowTask bladeFlowTask) { |
| | | return R.status(patrolTaskService.chargeCompletePerson(bladeFlowTask)); |
| | | } |
| | | |
| | | /** |
| | | * 查询待办 |
| | | * |
| | | * @param patrolTask 任务 |
| | | */ |
| | | @PostMapping("patrol-todo-list") |
| | | @ApiOperation(value = "查询待办") |
| | | public R patrolTodoList(PatrolTaskVO patrolTask, Query query) { |
| | | BladeFlow bladeFlow2 = new BladeFlow(); |
| | | //设置流程类型 |
| | | bladeFlow2.setCategory("flow_3"); |
| | | R<BladeFlowPage> res = flowClient.getTodoBladeFlowList(query.getSize(),query.getCurrent(),patrolTask.getCurrentUserId(), bladeFlow2); |
| | | IPage<PatrolTask> patrolTaskIPage = new Page<>(); |
| | | List<PatrolTask> patrolTaskList = new ArrayList<>(); |
| | | |
| | | if (res.isSuccess()){ |
| | | List<Object> data = res.getData().getData(); |
| | | data.forEach(obj -> { |
| | | BladeFlow bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlow.class); |
| | | PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId()); |
| | | if (byId != null){ |
| | | byId.setFlow(bladeFlow); |
| | | patrolTaskList.add(byId); |
| | | } |
| | | }); |
| | | } |
| | | //设置数据集 |
| | | patrolTaskIPage.setRecords(patrolTaskList); |
| | | //设置当前页 |
| | | patrolTaskIPage.setCurrent(res.getData().getCurrent()); |
| | | //设置页数 |
| | | patrolTaskIPage.setSize(res.getData().getSize()); |
| | | //设置总数 |
| | | patrolTaskIPage.setTotal(res.getData().getTotal()); |
| | | |
| | | return R.data(patrolTaskIPage); |
| | | } |
| | | |
| | | /** |
| | | * 查询已办 |
| | | * |
| | | * @param patrolTask 任务 |
| | | */ |
| | | @PostMapping("patrol-done-list") |
| | | @ApiOperation(value = "查询待办") |
| | | public R patrolDoneList(PatrolTaskVO patrolTask, Query query){ |
| | | BladeFlowVO bladeFlow2 = new BladeFlowVO(); |
| | | //设置流程类型 |
| | | bladeFlow2.setCategory("flow_3"); |
| | | R<BladeFlowPage> res = flowClient.getDoneBladeFlowList(query.getSize(),query.getCurrent(),patrolTask.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<PatrolTask> bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlowVO.class); |
| | | PatrolTask byId = patrolTaskService.customizeGetById(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); |
| | | } |
| | | } |