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.*;
|
import cn.gistack.sm.patrol.service.IPatrolGroupItemService;
|
import cn.gistack.sm.patrol.service.IPatrolRecordService;
|
import cn.gistack.sm.patrol.vo.*;
|
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("/patrol/patrolRecord")
|
@AllArgsConstructor
|
public class PatrolRecordController extends BladeController {
|
private IPatrolRecordService patrolRecordService;
|
private IFlowClient flowClient;
|
|
/**
|
* 分页列表查询
|
*/
|
@ApiOperation(value = "巡查记录-分页列表查询", notes = "巡查记录-分页列表查询")
|
@GetMapping(value = "/list")
|
public R queryPageList(PatrolRecordVO patrolRecord, Query query) {
|
IPage<PatrolRecord> pageList = patrolRecordService.selectPatrolRecord(Condition.getPage(query), patrolRecord);
|
return R.data(pageList);
|
}
|
|
/**
|
* 获取所有巡查记录
|
*/
|
@ApiOperation(value = "获取所有巡查类型", notes = "获取所有巡查类型")
|
@GetMapping(value = "/all")
|
public R getAll(PatrolRecord patrolRecord) {
|
List<PatrolRecord> list = patrolRecordService.list(Condition.getQueryWrapper(patrolRecord));
|
return R.data(list);
|
}
|
|
/**
|
* 添加
|
*/
|
@ApiOperation(value = "巡查记录-添加", notes = "巡查记录-添加")
|
@PostMapping(value = "/add")
|
public R add(@RequestBody PatrolRecord patrolRecord) {
|
return R.data(patrolRecordService.save(patrolRecord));
|
}
|
|
/**
|
* 编辑
|
*/
|
@ApiOperation(value = "巡查记录-编辑", notes = "巡查记录-编辑")
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
public R edit(@RequestBody PatrolRecord patrolRecord) {
|
return R.data(patrolRecordService.updateById(patrolRecord));
|
}
|
|
/**
|
* 通过id删除
|
*
|
* @param id
|
* @return
|
*/
|
@ApiOperation(value = "巡查记录-通过id删除", notes = "巡查记录-通过id删除")
|
@PostMapping(value = "/delete")
|
public R delete(@RequestParam(name = "id", required = true) String id) {
|
return R.data(patrolRecordService.removeById(id));
|
}
|
|
/**
|
* 批量删除
|
*
|
* @param ids
|
* @return
|
*/
|
@ApiOperation(value = "巡查记录-批量删除", notes = "巡查记录-批量删除")
|
@PostMapping(value = "/deleteBatch")
|
public R deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
return R.data(patrolRecordService.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) {
|
PatrolRecordVO patrolRecordVO = patrolRecordService.getDetail(id);
|
return R.data(patrolRecordVO);
|
}
|
|
/**
|
* 通过taskId,itemsIds查询(用来判断是否完成任务)
|
*
|
* @return
|
*/
|
@ApiOperation(value = "巡查记录-通过taskId,itemsIds查询", notes = "巡查记录-通过taskId,itemsIds查询")
|
@GetMapping(value = "/getPatrolRecordByTaskId")
|
public R getPatrolRecordByTaskId(String taskId, String itemIds) {
|
List<PatrolGroupItemVO> list = patrolRecordService.getPatrolRecordByTaskId(taskId, itemIds);
|
return R.data(list);
|
}
|
|
/**
|
* 通过taskId,itemsIds查询(用来查询巡查记录)
|
*
|
* @return
|
*/
|
@ApiOperation(value = "巡查记录-通过itemId查询", notes = "巡查记录-通过itemId查询")
|
@GetMapping(value = "/getByTaskIdAndItemId")
|
public R getByTaskIdAndItemId(String taskId, String itemIds) {
|
List<PatrolRecordVO> list = patrolRecordService.getByTaskIdAndItemId(taskId, itemIds);
|
return R.data(list);
|
}
|
|
/**
|
* 通过itemIds查询(用于巡查上报时的回显)
|
*
|
* @return
|
*/
|
@ApiOperation(value = "巡查指标项目-通过itemIds查询", notes = "巡查指标项目-通过itemIds查询")
|
@GetMapping(value = "/getItemByItemIds")
|
public R getItemByItemIds(String itemIds, String groupId, String taskId) {
|
List list = patrolRecordService.getItemByItemIds(itemIds, groupId, taskId);
|
return R.data(list);
|
}
|
|
/**
|
* 通过任务id和组id获取记录表中的数据,用于数据回显
|
*
|
* @return
|
*/
|
@GetMapping(value = "/getByTaskIdAndGroupId")
|
public R getByTaskIdAndGroupId(PatrolRecordVO patrolRecordVO) {
|
List<PatrolRecord> list = patrolRecordService.getByTaskIdAndGroupId(patrolRecordVO);
|
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));
|
}
|
|
@GetMapping("getRecordDetail")
|
public R getRecordVO(RecordVO recordVO) {
|
RecordVO detail = patrolRecordService.getRecordVO(recordVO);
|
return R.data(detail);
|
}
|
|
/**
|
* 获取处理情况
|
*
|
* @param patrolRecord
|
* @return
|
*/
|
@GetMapping("getHandleRecord")
|
public R getHandleRecord(PatrolRecord patrolRecord) {
|
|
PatrolRecordVO res = patrolRecordService.getHandleRecord(patrolRecord);
|
return R.data(res);
|
}
|
|
/**
|
* 获取待办列表
|
*
|
* @return
|
*/
|
@GetMapping("getToDoList")
|
public R getToDoList(String currentUserId) {
|
BladeFlow bladeFlow = new BladeFlow();
|
//获取我的待办列表
|
List<BladeFlow> toDoList = flowClient.getMyToDoList(bladeFlow,currentUserId);
|
List<PatrolRecordVO> result = new ArrayList<>();
|
|
toDoList.forEach(flow -> {
|
PatrolRecordVO byId = patrolRecordService.customizeGetById(flow.getBusinessId());
|
if (byId != null) {
|
byId.setFlow(flow);
|
result.add(byId);
|
}
|
});
|
|
return R.data(result);
|
}
|
|
/**
|
* 获取已办列表
|
*
|
* @return
|
*/
|
@GetMapping("getDoneList")
|
public R getDoneList(String currentUserId) {
|
BladeFlow bladeFlow = new BladeFlow();
|
//获取我的已办列表
|
|
List<BladeFlow> doneList = flowClient.getMyDoneList(bladeFlow,currentUserId);
|
|
List<PatrolRecordVO> result = new ArrayList<>();
|
|
doneList.forEach(flow -> {
|
PatrolRecordVO byId = patrolRecordService.customizeGetById(flow.getBusinessId());
|
if (byId != null) {
|
byId.setFlow(flow);
|
result.add(byId);
|
}
|
});
|
|
return R.data(result);
|
}
|
|
|
/**
|
* 获取已办分页
|
*
|
* @return
|
*/
|
@GetMapping("getDonePage")
|
public R getDonePage(String currentUserId,Query query) {
|
BladeFlow bladeFlow = new BladeFlow();
|
Integer current = query.getCurrent();
|
Integer size = query.getSize();
|
|
//获取我的已办列表
|
List<BladeFlow> doneList = flowClient.getMyDonePage(bladeFlow,currentUserId,current,size);
|
|
List<PatrolRecordVO> result = new ArrayList<>();
|
|
doneList.forEach(flow -> {
|
PatrolRecordVO byId = patrolRecordService.customizeGetById(flow.getBusinessId());
|
if (byId != null) {
|
byId.setFlow(flow);
|
result.add(byId);
|
}
|
});
|
|
IPage<PatrolRecordVO> page = Condition.getPage(query);
|
page.setRecords(result);
|
page.setSize(size);
|
page.setCurrent(current);
|
|
return R.data(page);
|
}
|
|
|
|
|
}
|