update 催办
This commit is contained in:
+38
-6
@@ -17,16 +17,19 @@ import com.jero.modules.activiti.vo.DelegateTaskParam;
|
||||
import com.jero.modules.activiti.vo.ResolveTaskParam;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.history.HistoricTaskInstance;
|
||||
import org.activiti.engine.history.HistoricTaskInstanceQuery;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.mapper.ProcessAllMapper;
|
||||
@@ -158,20 +161,49 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
||||
}
|
||||
|
||||
public void urging(String taskId) {
|
||||
if (StringUtils.isBlank(taskId)) {
|
||||
throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA);
|
||||
}
|
||||
//查询任务判断是否可以催办
|
||||
List<String> taskIds = Arrays.asList(taskId.split(","));
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
|
||||
ProcessApprovalRecord approvalRecord = approvalRecordService.getOne(wrapper);
|
||||
String processInstanceId = approvalRecord.getProcessInstanceId();
|
||||
//获得流程总表
|
||||
ProcessAll processAll = getByProcessInstanceId(processInstanceId);
|
||||
wrapper.in(ProcessApprovalRecord::getTaskId, taskIds);
|
||||
List<ProcessApprovalRecord> approvalRecordList = approvalRecordService.list(wrapper);
|
||||
if (approvalRecordList.isEmpty()){
|
||||
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
for (ProcessApprovalRecord approvalRecord : approvalRecordList) {
|
||||
Integer finishFlag = approvalRecord.getFinishFlag();
|
||||
if (!FinishFlagEnum.INCOMPLETE.getValue().equals(finishFlag)){
|
||||
throw new JeroBootException(ResultCommon.TASK_URGING_ERROR);
|
||||
}
|
||||
}
|
||||
String processInstanceId = approvalRecordList.get(0).getProcessInstanceId();
|
||||
//判断是否有权限
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.select(ProcessApprovalRecord::getUserId);
|
||||
wrapper1.in(ProcessApprovalRecord::getProcessInstanceId, processInstanceId);
|
||||
List<ProcessApprovalRecord> approvalRecordAllList = approvalRecordService.list(wrapper1);
|
||||
List<String> canUrgingUserList = approvalRecordAllList.stream()
|
||||
.map(ProcessApprovalRecord::getUserId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
String loginUserId = CurrentUserUtil.getId();
|
||||
if (!canUrgingUserList.contains(loginUserId)){
|
||||
throw new JeroBootException(ResultCommon.HORIZONTAL_TRANSGRESSION);
|
||||
}
|
||||
|
||||
//获得流程总表,发送消息
|
||||
ProcessAll processAll = getByProcessInstanceId(processInstanceId);
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.URGING);
|
||||
sendMessageDTO.setToUserId(approvalRecord.getUserId());
|
||||
String userIds = approvalRecordList.stream().map(ProcessApprovalRecord::getUserId).collect(Collectors.joining(","));
|
||||
sendMessageDTO.setToUserId(userIds);
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
sendMap.put("prcNum", processAll.getPrcNum());
|
||||
sendMap.put("prcName", processAll.getPrcName());
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user