package cn.gistack.sm.patrol.service.impl;
|
|
import cn.gistack.flow.core.constant.ProcessConstant;
|
import cn.gistack.flow.core.entity.BladeFlow;
|
import cn.gistack.flow.core.feign.IFlowClient;
|
import cn.gistack.flow.core.utils.TaskUtil;
|
import cn.gistack.nky.fegin.INkyClient;
|
import cn.gistack.sm.patrol.params.PersonHandleParams;
|
import cn.gistack.sm.patrol.dto.PatrolTaskDTO;
|
import cn.gistack.sm.patrol.entity.PatrolRecord;
|
import cn.gistack.sm.patrol.entity.PatrolReport;
|
import cn.gistack.sm.patrol.entity.PatrolTask;
|
import cn.gistack.sm.patrol.mapper.PatrolTaskMapper;
|
import cn.gistack.sm.patrol.service.IPatrolRecordService;
|
import cn.gistack.sm.patrol.service.IPatrolReportService;
|
import cn.gistack.sm.patrol.service.IPatrolTaskService;
|
import cn.gistack.sm.patrol.util.EnhancementServicesTool;
|
import cn.gistack.sm.patrol.util.IdWorker;
|
import cn.gistack.sm.patrol.vo.*;
|
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
|
import cn.gistack.sm.sjztmd.service.IYwTermitesTaskService;
|
import cn.gistack.sm.sjztmd.vo.ChargePersonVO;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import lombok.AllArgsConstructor;
|
import org.springblade.core.log.exception.ServiceException;
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.support.Kv;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
@Service
|
@AllArgsConstructor
|
@Transactional(rollbackFor = Exception.class)
|
public class PatrolTaskServiceImpl extends BaseServiceImpl<PatrolTaskMapper, PatrolTask> implements IPatrolTaskService {
|
private final IFlowClient flowClient;
|
private final IPatrolRecordService patrolRecordService;
|
private final IPatrolReportService patrolReportService;
|
private final INkyClient nkyClient;
|
private final IYwTermitesTaskService waterDataTermitesService;
|
private final IAttResManagePersonService attResManagePersonService;
|
|
private final String PATROL_USER = "patrolUser";
|
private final String TECH_USER = "techUser";
|
private final String SUPERVISOR_USER = "supervisorUser";
|
private final String ADMIN_USER = "adminUser";
|
private final String DEPT_USER = "deptUser";
|
|
/**
|
* 自定义分页查询
|
*
|
* @param page
|
* @param patrolTask
|
* @return
|
*/
|
@Override
|
public IPage<PatrolTaskVO> selectPatrolTask(IPage<PatrolTaskVO> page, PatrolTaskVO patrolTask) {
|
List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTask(page, patrolTask);
|
|
// List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTaskPage(page.getCurrent() - 1, page.getSize(), patrolTask);
|
// long total = baseMapper.getPatrolTaskTotal(patrolTask);
|
// page.setRecords(patrolTaskList);
|
// page.setTotal(total);
|
|
return page.setRecords(patrolTaskList);
|
}
|
|
/**
|
* 查询巡查人员统计数据信息
|
*
|
* @param patrolTask
|
* @return
|
*/
|
@Override
|
public Object getPatrolTaskStatistic(PatrolTaskVO patrolTask) {
|
return baseMapper.getPatrolTaskStatistic(patrolTask);
|
}
|
|
/**
|
* 自定义编辑(空间坐标编辑)
|
*
|
* @param patrolTask
|
* @return
|
*/
|
@Override
|
public Boolean updatePatrolTask(PatrolTask patrolTask) {
|
// 设置基础信息
|
EnhancementServicesTool enhancementServicesTool = new EnhancementServicesTool();
|
enhancementServicesTool.resolveEntity(patrolTask);
|
Integer update = baseMapper.updatePatrolTask(patrolTask);
|
//返回
|
return update > 0 ? true : false;
|
}
|
|
/**
|
* 自定义添加
|
*
|
* @param patrolTask
|
* @return
|
*/
|
@Override
|
public Boolean savePatrolTask(PatrolTask patrolTask) {
|
// 设置基础信息
|
EnhancementServicesTool enhancementServicesTool = new EnhancementServicesTool();
|
enhancementServicesTool.resolveEntity(patrolTask);
|
patrolTask.setId(IdWorker.getId());
|
// 新增
|
Integer save = baseMapper.savePatrolTask(patrolTask);
|
//返回
|
return save > 0 ? true : false;
|
}
|
|
/**
|
* 自定义通过id查询
|
*
|
* @param id
|
* @return
|
*/
|
@Override
|
public PatrolTask getPatrolTaskById(String id) {
|
return baseMapper.getPatrolTaskById(id);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public PatrolTask startProcess(PatrolTask patrolTask) {
|
// String businessTable = FlowUtil.getBusinessTable(ProcessConstant.PATROL_KEY);
|
// if (Func.isEmpty(patrolTask.getId())) {
|
// save(patrolTask);
|
//
|
//
|
// // 启动流程
|
//// Kv variables = Kv.create()
|
//// //设置创建人
|
//// .set(ProcessConstant.TASK_VARIABLE_CREATE_USER, AuthUtil.getUserId())
|
//// //指定任务处理人
|
//// .set("taskUser", TaskUtil.getTaskUser(patrolTask.getToUserId()));
|
//// R<BladeFlow> result = flowClient.startProcessInstanceById(patrolTask.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(patrolTask.getId())), variables);
|
//
|
// Kv variables = Kv.create()
|
// //设置创建人
|
// .set(ProcessConstant.TASK_VARIABLE_CREATE_USER, AuthUtil.getUserId())
|
// //指定巡查责任人
|
// .set(PATROL_USER, TaskUtil.getTaskUser(patrolTask.getToUserId()))
|
// .set("taskUser", TaskUtil.getTaskUser(patrolTask.getToUserId()));
|
// R<BladeFlow> result = flowClient.startProcessInstanceById(patrolTask.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(patrolTask.getId())), variables);
|
//
|
// if (result.isSuccess()) {
|
// log.debug("流程已启动,流程ID:" + result.getData().getProcessInstanceId());
|
// // 返回流程id写入leave
|
// patrolTask.setProcessInstanceId(result.getData().getProcessInstanceId());
|
// updateById(patrolTask);
|
// } else {
|
// throw new ServiceException("开启流程失败");
|
// }
|
// } else {
|
// updateById(patrolTask);
|
// }
|
// return patrolTask;
|
return null;
|
}
|
|
|
@Override
|
public boolean personCompleteTask(PatrolTaskVO patrolTaskVO, String currentUserId, String taskUser) {
|
|
// String taskId = patrolTaskVO.getFlowTaskId();
|
// String processInstanceId = patrolTaskVO.getProcessInstanceId();
|
// String comment = patrolTaskVO.getComment();
|
//
|
// //保存巡查记录
|
// if (patrolTaskVO.getPatrolRecordList() != null && patrolTaskVO.getPatrolRecordList().size()>0){
|
// patrolRecordService.saveBatch(patrolTaskVO.getPatrolRecordList());
|
// }
|
//
|
// // 创建变量
|
// Map<String, Object> variables = new HashMap<>();
|
// if (variables == null) {
|
// variables = Kv.create();
|
// }
|
//
|
// //指定了人就是上报,没指定就表示已经处理了
|
// if (StringUtil.isNotBlank(taskUser)){
|
// variables.put("taskUser",TaskUtil.getTaskUser(taskUser));
|
// variables.put(ProcessConstant.REPORT_KEY,true);
|
// }else{
|
// variables.put(ProcessConstant.REPORT_KEY,false);
|
//
|
// //查监测预警表,看是否有这个任务,有的话修改任务状态
|
// Boolean finishDamTask = nkyClient.finishTask(patrolTaskVO.getId().toString());
|
// if (!finishDamTask){
|
// //查白蚁表,看是否有这个任务,有的话修改任务状态
|
// Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTaskVO.getId().toString());
|
// }
|
// }
|
//
|
//
|
//
|
//
|
// flowClient.completeTask(taskId, processInstanceId, comment, variables);
|
// return updateById(patrolTaskVO);
|
return false;
|
}
|
|
@Override
|
public List<PatrolTask> deliverTask(PatrolTask patrolTask) {
|
|
String projectIds = patrolTask.getProjectId();
|
String patrolRole = patrolTask.getPatrolRole();
|
String reservoirName = patrolTask.getReservoirName();
|
|
List<String> resList = Arrays.asList(projectIds.split(","));
|
List<String> roleList = Arrays.asList(patrolRole.split(","));
|
List<String> reservoirNameList = Arrays.asList(reservoirName.split(","));
|
|
List<PatrolTask> saveList = new ArrayList<>();
|
//循环水库
|
for (int i = 0; i < resList.size(); i++) {
|
String resId = resList.get(i);
|
|
for (int j = 0; j < roleList.size(); j++) {
|
String role = roleList.get(j);
|
|
//获取该类型责任人
|
List<ChargePersonVO> managePersonList = attResManagePersonService.getManagePersonList(resId, role);
|
|
PatrolTask saveTask = new PatrolTask();
|
saveTask.setTitle(patrolTask.getTitle());
|
saveTask.setStartTime(patrolTask.getStartTime());
|
saveTask.setEndTime(patrolTask.getEndTime());
|
saveTask.setContent(patrolTask.getContent());
|
|
List<String> collect = managePersonList.stream().map(p -> p.getUserId()).collect(Collectors.toList());
|
|
if (StringUtil.isBlank(patrolTask.getToUserId())) {
|
//没传就自己找
|
//有几个就有几个
|
saveTask.setToUserId(StringUtil.join(collect, ","));
|
} else {
|
saveTask.setToUserId(patrolTask.getToUserId());
|
}
|
saveTask.setProjectId(resId);
|
saveTask.setReservoirName(reservoirNameList.get(i));
|
|
saveTask.setTaskType(patrolTask.getTaskType());
|
saveTask.setPatrolGroupItemId(patrolTask.getPatrolGroupItemId());
|
saveTask.setPatrolRole(role);
|
|
saveList.add(saveTask);
|
}
|
}
|
|
boolean saveBatch = saveBatch(saveList);
|
return saveList;
|
}
|
|
@Override
|
public PatrolTask saveTask(PatrolTask patrolTask) {
|
save(patrolTask);
|
return patrolTask;
|
}
|
|
@Override
|
public PatrolTaskDTO getTaskDTO(String taskId) {
|
return baseMapper.getTaskDTO(taskId);
|
}
|
|
@Override
|
public Object getMyTask(PatrolTaskVO patrolTask, IPage<PatrolTask> page) {
|
if (patrolTask.getIsPage()) {
|
return page.setRecords(baseMapper.getMyTask(patrolTask, page));
|
}
|
|
return baseMapper.getMyTask(patrolTask, null);
|
}
|
|
@Override
|
public Boolean finishPatrolTask(PatrolTaskVO patrolTaskVO) {
|
|
//更新任务信息
|
boolean updateTask = updateById(patrolTaskVO);
|
|
// 查监测预警表,看是否有这个任务,有的话修改任务状态
|
Boolean finishDamTask = nkyClient.finishTask(patrolTaskVO.getId().toString());
|
if (!finishDamTask) {
|
//查白蚁表,看是否有这个任务,有的话修改任务状态
|
Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTaskVO.getId().toString());
|
}
|
|
List<PatrolRecordVO> patrolRecordList = patrolTaskVO.getPatrolRecordList();
|
|
if (patrolRecordList != null && patrolRecordList.size() > 0) {
|
patrolRecordList.forEach(record -> {
|
patrolRecordService.startProcess(record, patrolTaskVO.getProjectId());
|
});
|
}
|
|
return updateTask;
|
}
|
|
@Override
|
public Boolean personHandle(PersonHandleParams personHandleParams) {
|
|
PatrolRecord patrolRecord = personHandleParams.getPatrolRecord();
|
String recordId = personHandleParams.getRecordId();
|
String taskId = personHandleParams.getTaskId();
|
String flowTaskId = personHandleParams.getFlowTaskId();
|
String taskUser = personHandleParams.getTaskUser();
|
String comment = personHandleParams.getComment();
|
String processInstanceId = personHandleParams.getProcessInstanceId();
|
|
|
if (StringUtil.isBlank(recordId)) {
|
throw new ServiceException("recordId为空");
|
}
|
|
if (StringUtil.isBlank(taskId)) {
|
throw new ServiceException("taskId为空");
|
}
|
|
if (StringUtil.isBlank(flowTaskId)) {
|
throw new ServiceException("flowTaskId为空");
|
}
|
|
if (StringUtil.isBlank(processInstanceId)) {
|
throw new ServiceException("processInstanceId为空");
|
}
|
|
|
//说明处理了问题
|
if (patrolRecord != null) {
|
//保存处理记录
|
patrolRecordService.save(patrolRecord);
|
|
//修改该任务的处理状态
|
PatrolRecord upRecord = new PatrolRecord();
|
upRecord.setId(Long.parseLong(recordId));
|
upRecord.setState("1");
|
patrolRecordService.updateById(upRecord);
|
|
//修改任务的问题数量
|
PatrolTask byId = getById(taskId);
|
|
Integer problemCount = byId.getProblemCount();
|
PatrolTask upTask = new PatrolTask();
|
upTask.setId(byId.getId());
|
upTask.setProblemCount(problemCount - 1);
|
updateById(upTask);
|
|
}
|
|
|
// 创建变量
|
Map<String, Object> variables = new HashMap<>();
|
if (variables == null) {
|
variables = Kv.create();
|
}
|
|
//指定了人就是上报,没指定就表示已经处理了
|
if (StringUtil.isNotBlank(taskUser)) {
|
variables.put("taskUser", TaskUtil.getTaskUser(taskUser));
|
variables.put(ProcessConstant.REPORT_KEY, true);
|
} else {
|
variables.put(ProcessConstant.REPORT_KEY, false);
|
// //查监测预警表,看是否有这个任务,有的话修改任务状态
|
// Boolean finishDamTask = nkyClient.finishTask(patrolTaskVO.getId().toString());
|
// if (!finishDamTask){
|
// //查白蚁表,看是否有这个任务,有的话修改任务状态
|
// Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTaskVO.getId().toString());
|
// }
|
}
|
|
flowClient.completeTask(flowTaskId, processInstanceId, comment, variables);
|
return true;
|
|
}
|
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public boolean patrolCompleteTask(PatrolTaskVO patrolTask, String currentUserId, String taskUser) {
|
// R<BladeFlow> res = flowClient.getBladeFlow(patrolTask.getId().toString(), currentUserId);
|
// if (res.isSuccess()) {
|
// BladeFlow flow = res.getData();
|
// String taskId = flow.getTaskId();
|
// String processInstanceId = patrolTask.getProcessInstanceId();
|
//// String comment = patrolTask.getReport() ? "巡查任务发现问题" : "巡查任务完成,未发现问题";
|
// String comment = patrolTask.getComment();
|
// // 创建变量
|
// Map<String, Object> variables = flow.getVariables();
|
// if (variables == null) {
|
// variables = Kv.create();
|
// }
|
// //设置是否上报标识
|
// variables.put(ProcessConstant.REPORT_KEY, patrolTask.getReport());
|
//// variables.put("taskUser",StringUtil.format("{}{}", TASK_USR_PREFIX, taskUser));
|
// variables.put(TECH_USER, TaskUtil.getTaskUser(taskUser));
|
// // 完成任务
|
// flowClient.completeTask(taskId, processInstanceId, comment, variables);
|
// //保存巡查记录
|
// if (patrolTask.getPatrolRecordList() != null && patrolTask.getPatrolRecordList().size() > 0){
|
// patrolRecordService.saveBatch(patrolTask.getPatrolRecordList());
|
// }
|
//
|
//
|
//
|
// return baseMapper.updateById(patrolTask) > 0;
|
// } else {
|
// return false;
|
// }
|
return false;
|
}
|
|
@Override
|
public boolean chargeCompletePerson(BladeFlowTask bladeFlowTask) {
|
// boolean isReport = false;
|
// if (StringUtil.isNoneBlank(bladeFlowTask.getTaskUser())){
|
// isReport = true;
|
// }
|
//
|
// String taskId = bladeFlowTask.getTaskId();
|
// String processInstanceId = bladeFlowTask.getProcessInstanceId();
|
// String comment = "完成";
|
// // 创建变量
|
// Map<String, Object> variables = new HashMap<>();
|
// if (variables == null) {
|
// variables = Kv.create();
|
// }
|
// //指定下一个人
|
// variables.put("taskUser",StringUtil.format("{}{}", TASK_USR_PREFIX, bladeFlowTask.getTaskUser()));
|
// //指定是否上报
|
// variables.put(ProcessConstant.REPORT_KEY,isReport);
|
// //指定是否上报给部门
|
// variables.put(ProcessConstant.TODEPT_KEY,bladeFlowTask.getToDept());
|
// //指定是否转交
|
// variables.put(ProcessConstant.TOTECH_KEY,bladeFlowTask.getToTech());
|
// //完成任务
|
// flowClient.completeTask(taskId, processInstanceId, comment, variables);
|
// return true;
|
|
|
String taskId = bladeFlowTask.getTaskId();
|
String processInstanceId = bladeFlowTask.getProcessInstanceId();
|
String comment = bladeFlowTask.getComment();
|
|
// 创建变量
|
Map<String, Object> variables = new HashMap<>();
|
if (variables == null) {
|
variables = Kv.create();
|
}
|
|
//默认不上报
|
boolean isReport = false;
|
if (StringUtil.isNoneBlank(bladeFlowTask.getTaskUser())) {
|
//指定了下一个人,修改状态为上报
|
isReport = true;
|
}
|
|
//techPerson supervisorPerson adminPerson department
|
//获取当前节点
|
BladeFlow currentNode = getFlowNode(processInstanceId, 1);
|
|
switch (currentNode.getHistoryActivityId()) {
|
case "techPerson":
|
variables.put(bladeFlowTask.getToDept() ? DEPT_USER : SUPERVISOR_USER, TaskUtil.getTaskUser(bladeFlowTask.getTaskUser()));
|
break;
|
case "supervisorPerson":
|
variables.put(bladeFlowTask.getToDept() ? DEPT_USER : ADMIN_USER, TaskUtil.getTaskUser(bladeFlowTask.getTaskUser()));
|
break;
|
case "adminPerson":
|
variables.put(DEPT_USER, TaskUtil.getTaskUser(bladeFlowTask.getTaskUser()));
|
break;
|
case "department":
|
//当前节点为水行政部门,需要指定回复给谁
|
//获取前一个节点
|
BladeFlow beforeNode = getFlowNode(processInstanceId, 2);
|
String beforeId = beforeNode.getHistoryActivityId();
|
if (beforeId.equals("techPerson")) {
|
//前一个节点是技术责任人
|
variables.put(ProcessConstant.TOTECH_KEY, true);
|
} else if (beforeId.equals("supervisorPerson")) {
|
variables.put(ProcessConstant.TOSUPERVISOR_KEY, true);
|
} else if (beforeId.equals("adminPerson")) {
|
variables.put(ProcessConstant.TOADMIN_KEY, true);
|
}
|
break;
|
default:
|
break;
|
}
|
|
variables.put(ProcessConstant.REPORT_KEY, isReport);
|
variables.put(ProcessConstant.TODEPT_KEY, bladeFlowTask.getToDept());
|
flowClient.completeTask(taskId, processInstanceId, comment, variables);
|
return true;
|
}
|
|
/**
|
* 获取节点信息,倒数第一个是自己,第二个是上一节点
|
*
|
* @param processInstanceId
|
* @param i 倒数第几
|
* @return
|
*/
|
private BladeFlow getFlowNode(String processInstanceId, int i) {
|
R<List<BladeFlow>> res = flowClient.historyFlowList(processInstanceId, "start", "finish");
|
|
if (res.isSuccess()) {
|
//历史流程
|
List<BladeFlow> data = res.getData();
|
|
//size减1为当前节点,-2为上一节点
|
BladeFlow bladeFlow = data.get(data.size() - i);
|
return bladeFlow;
|
} else {
|
return null;
|
}
|
}
|
|
@Override
|
public PatrolTaskVO customizeGetById(String businessId) {
|
return baseMapper.customizeGetById(businessId);
|
}
|
|
@Override
|
public List<PatrolTask> getAll(PatrolTaskVO patrolTaskVO) {
|
return baseMapper.getAll(patrolTaskVO);
|
}
|
|
@Override
|
public IPage<PatrolTaskReport> getTaskReportPage(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport) {
|
List<PatrolTaskReport> list = new ArrayList<>();
|
|
//获取行政区划统计报表
|
if (patrolTaskReport.getRegionFlag().equals("1")) {
|
list = baseMapper.getRegionReportPage(page, patrolTaskReport);
|
} else {
|
//获取水库巡查报表
|
list = baseMapper.getReservoirReportPage(page, patrolTaskReport);
|
}
|
return page.setRecords(list);
|
}
|
|
@Override
|
public List<PatrolTaskReport> getTaskReportList(PatrolTaskReport patrolTaskReport) {
|
List<PatrolTaskReport> list = new ArrayList();
|
|
//获取行政区划统计报表
|
if (patrolTaskReport.getRegionFlag().equals("1")) {
|
list = baseMapper.getRegionReportList(patrolTaskReport);
|
} else {
|
//获取水库巡查报表
|
list = baseMapper.getReservoirReportList(patrolTaskReport);
|
}
|
return list;
|
}
|
|
@Override
|
public List<TaskStatusCount> getTaskStatusCount(PatrolTaskVO patrolTaskVO) {
|
return baseMapper.getTaskStatusCount(patrolTaskVO);
|
}
|
|
@Override
|
public List<TaskStatusCount> getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO) {
|
List<TaskStatusCount> list = new ArrayList<>();
|
// TaskStatusCount all = baseMapper.getTaskStatusCountAll(patrolTaskVO);
|
//
|
// TaskStatusCount unfinished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"1");
|
// TaskStatusCount processing = baseMapper.getTaskStatusCountByType(patrolTaskVO,"2");
|
// TaskStatusCount finished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"3");
|
//
|
// list.add(unfinished);
|
// list.add(processing);
|
// list.add(finished);
|
// list.add(all);
|
|
TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO);
|
|
TaskStatusCount unfinished = new TaskStatusCount("未完成", "1", taskStatus.getUnfinished());
|
TaskStatusCount processing = new TaskStatusCount("进行中", "2", taskStatus.getProcessing());
|
TaskStatusCount finished = new TaskStatusCount("已完成", "3", taskStatus.getFinished());
|
TaskStatusCount all = new TaskStatusCount("全部", "", taskStatus.getTotal());
|
|
list.add(unfinished);
|
list.add(processing);
|
list.add(finished);
|
list.add(all);
|
return list;
|
}
|
|
@Override
|
public TaskStatus getTaskStatus(PatrolTaskVO patrolTaskVO) {
|
|
TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO);
|
|
return taskStatus;
|
}
|
|
|
@Override
|
public List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO) {
|
return baseMapper.getTaskTypeCount(patrolTaskVO);
|
}
|
|
@Override
|
public IPage<PatrolTaskReport> getTaskReportDetail(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport) {
|
|
List<PatrolTaskReport> list = new ArrayList();
|
|
list = baseMapper.getTaskReportDetailRegion(page, patrolTaskReport);
|
|
return page.setRecords(list);
|
}
|
|
|
@Transactional(rollbackFor = Exception.class)
|
public void saveReport(PatrolTask patrolTask) {
|
//拿到当前任务下的异常巡查记录
|
PatrolRecord patrolRecord = new PatrolRecord();
|
patrolRecord.setTaskId(patrolTask.getId().toString());
|
patrolRecord.setStatus(2);
|
patrolRecord.setSolution("2");
|
List<PatrolRecord> list = patrolRecordService.list(Condition.getQueryWrapper(patrolRecord));
|
|
//向上报表中添加数据
|
list.forEach(record -> {
|
PatrolReport patrolReport = new PatrolReport();
|
patrolReport.setContent(record.getContent());
|
patrolReport.setImages(record.getImages());
|
patrolReport.setVideos(record.getVideos());
|
patrolReport.setItemId(record.getItemId());
|
patrolReport.setSolution(record.getSolution());
|
patrolReport.setTaskId(record.getTaskId());
|
patrolReport.setRecordId(record.getId().toString());
|
patrolReport.setStatus(record.getStatus());
|
|
patrolReportService.save(patrolReport);
|
});
|
}
|
|
|
}
|