|
@@ -17,19 +17,14 @@ import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.commons.lang.time.DateUtils;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springblade.archive.dto.ArchiveTaskDTO;
|
|
|
import org.springblade.archive.dto.SaveApplyDTO;
|
|
|
import org.springblade.archive.feign.ArchiveAutoClient;
|
|
|
-import org.springblade.archive.vo.ArchiveTaskPageVO;
|
|
|
import org.springblade.business.dto.*;
|
|
|
import org.springblade.business.entity.*;
|
|
|
import org.springblade.business.service.*;
|
|
|
-import org.springblade.business.socket.WebSocket;
|
|
|
import org.springblade.business.utils.StringSPUtils;
|
|
|
import org.springblade.business.vo.*;
|
|
|
-import org.springblade.common.utils.CommonUtil;
|
|
|
+import org.springblade.common.constant.ClientIdConstant;
|
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
@@ -53,20 +48,16 @@ import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
|
|
|
import org.springblade.manager.entity.ContractInfo;
|
|
|
import org.springblade.manager.entity.ContractRelationJlyz;
|
|
|
import org.springblade.manager.entity.ProjectInfo;
|
|
|
-import org.springblade.manager.feign.ContractClient;
|
|
|
-import org.springblade.manager.feign.ExcelTabClient;
|
|
|
+import org.springblade.producer.bean.PushMessage;
|
|
|
import org.springblade.resource.feign.CommonFileClient;
|
|
|
import org.springblade.resource.feign.NewISmsClient;
|
|
|
import org.springblade.system.entity.DictBiz;
|
|
|
-import org.springblade.system.entity.Role;
|
|
|
-import org.springblade.system.feign.IDictBizClient;
|
|
|
import org.springblade.system.user.dto.UserDTO;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
-import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
@@ -91,22 +82,14 @@ import java.util.stream.Collectors;
|
|
|
@Api(value = "任务审核主表", tags = "任务审核主表接口")
|
|
|
public class TaskController extends BladeController {
|
|
|
|
|
|
- private static final Logger log = LoggerFactory.getLogger(TaskController.class);
|
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
private final ITaskService taskService;
|
|
|
private final ITaskParallelService taskParallelService;
|
|
|
private final NewFlowClient newFlowClient;
|
|
|
- private final IDictBizClient dictBizClient;
|
|
|
private final NewISmsClient newSmsClient;
|
|
|
private final IDefaultConfigService defaultConfigService;
|
|
|
- private final ITaskBatchService taskBatchService;
|
|
|
- private final ITaskService iTaskService;
|
|
|
- private final WebSocket webSocket;
|
|
|
private final CommonFileClient commonFileClient;
|
|
|
- private final ContractClient contractClient;
|
|
|
- private final IInformationQueryService informationQueryService;
|
|
|
private final EVisaClient eVisaClient;
|
|
|
- private final ExcelTabClient excelTabClient;
|
|
|
private final ArchiveFileTaskClient archiveFileTaskClient;
|
|
|
private final IUserClient userClient;
|
|
|
private final ArchiveAutoClient archiveClient;
|
|
@@ -319,7 +302,8 @@ public class TaskController extends BladeController {
|
|
|
@PostMapping("/batch-complete-approval-task")
|
|
|
@ApiOperationSupport(order = 8)
|
|
|
@ApiOperation(value = "批量审批")
|
|
|
- public R<Boolean> batchCompleteApprovalTask(@RequestBody BatchTaskVO batchTaskVO) throws IOException {
|
|
|
+ @PushMessage(clientId = ClientIdConstant.BUSINESS_CLIENT_ID)
|
|
|
+ public R<Object> batchCompleteApprovalTask(@RequestBody BatchTaskVO batchTaskVO) throws IOException {
|
|
|
String taskIds = batchTaskVO.getTaskIds();
|
|
|
String parallelProcessInstanceIds = batchTaskVO.getParallelProcessInstanceIds();
|
|
|
if (StringUtils.isNotEmpty(taskIds)) {
|
|
@@ -383,24 +367,13 @@ public class TaskController extends BladeController {
|
|
|
//审批
|
|
|
this.taskService.batchCompleteApprovalTask(taskApprovalVOS);
|
|
|
|
|
|
- //通过WebSocket推送数量条数
|
|
|
+ Set<String> aopParamsSet = new HashSet<>();
|
|
|
if (ObjectUtil.isNotEmpty(AuthUtil.getUserId())) {
|
|
|
- Map<String, String> webSocketMessageMap = WebSocket.getWebSocketMessageMap();
|
|
|
- Set<Map.Entry<String, String>> message = webSocketMessageMap.entrySet();
|
|
|
- for (Map.Entry<String, String> entry : message) {
|
|
|
- String userId = entry.getKey();
|
|
|
- if (userId.equals(AuthUtil.getUserId().toString())) { //只推送当前用户
|
|
|
- String projectAndContractId = entry.getValue();
|
|
|
- if (StringUtils.isNotEmpty(projectAndContractId) && StringUtils.isNotEmpty(userId) && projectAndContractId.contains(",")) {
|
|
|
- String projectId = projectAndContractId.split(",")[0];
|
|
|
- String contractId = projectAndContractId.split(",")[1];
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCount(projectId, contractId, userId);
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ String param = AuthUtil.getUserId() + "," + batchTaskVO.getProjectId() + "," + batchTaskVO.getContractId();
|
|
|
+ aopParamsSet.add(param);
|
|
|
}
|
|
|
- return R.data(true);
|
|
|
+
|
|
|
+ return R.data(200, aopParamsSet, "操作成功");
|
|
|
}
|
|
|
return R.data(false);
|
|
|
}
|
|
@@ -411,7 +384,8 @@ public class TaskController extends BladeController {
|
|
|
@PostMapping("/batch-report-task-archive")
|
|
|
@ApiOperationSupport(order = 8)
|
|
|
@ApiOperation(value = "批量上报-档案")
|
|
|
- public R<Object> batchReportTaskArchive(@RequestBody ArchiveTaskBatchReportDTO archiveTaskBatchReportDTO) throws IOException {
|
|
|
+ @PushMessage(clientId = ClientIdConstant.ARCHIVE_CLIENT_ID)
|
|
|
+ public R<Object> batchReportTaskArchive(@RequestBody ArchiveTaskBatchReportDTO archiveTaskBatchReportDTO) {
|
|
|
if (ObjectUtil.isEmpty(archiveTaskBatchReportDTO.getDataIds())
|
|
|
|| ObjectUtil.isEmpty(archiveTaskBatchReportDTO.getBatch())
|
|
|
|| ObjectUtil.isEmpty(archiveTaskBatchReportDTO.getProjectId())
|
|
@@ -457,7 +431,7 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
//创建上报任务
|
|
|
Map<Long, String> nameMap = jdbcTemplate.query("select id,name from blade_user where is_deleted = 0", new BeanPropertyRowMapper<>(User.class)).stream().collect(Collectors.toMap(User::getId, User::getName, (key1, key2) -> key1));
|
|
|
-
|
|
|
+ String[] userIds = archiveTaskBatchReportDTO.getUserIds().split(",");
|
|
|
String[] dataArr = archiveTaskBatchReportDTO.getDataIds().split(",");
|
|
|
if (dataArr.length > 0) {
|
|
|
for (String id : dataArr) {
|
|
@@ -520,7 +494,6 @@ public class TaskController extends BladeController {
|
|
|
taskService.save(task);
|
|
|
|
|
|
//创建任务相关信息
|
|
|
- String[] userIds = archiveTaskBatchReportDTO.getUserIds().split(",");
|
|
|
for (String userId : userIds) {
|
|
|
TaskParallel taskParallel = new TaskParallel();
|
|
|
taskParallel.setId(SnowFlakeUtil.getId());
|
|
@@ -552,25 +525,15 @@ public class TaskController extends BladeController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //WebSocket推送
|
|
|
- if (ObjectUtil.isNotEmpty(AuthUtil.getUserId())) {
|
|
|
- Map<String, String> webSocketMessageMap = WebSocket.getWebSocketMessageMap();
|
|
|
- Set<Map.Entry<String, String>> message = webSocketMessageMap.entrySet();
|
|
|
- for (Map.Entry<String, String> entry : message) {
|
|
|
- String userId = entry.getKey();
|
|
|
- if (userId.equals(AuthUtil.getUserId().toString())) { //只推送当前用户
|
|
|
- String projectAndContractId = entry.getValue();
|
|
|
- if (StringUtils.isNotEmpty(projectAndContractId) && StringUtils.isNotEmpty(userId)) {
|
|
|
- String projectId = projectAndContractId.split(",")[0];
|
|
|
- String contractId = projectAndContractId.split(",")[1];
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCountArchive(projectId, contractId, userId);
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- }
|
|
|
- }
|
|
|
+ Set<String> aopParamsSet = new HashSet<>();
|
|
|
+ if (userIds.length > 0) {
|
|
|
+ for (String userId : userIds) {
|
|
|
+ String param = userId + "," + archiveTaskBatchReportDTO.getProjectId() + "," + archiveTaskBatchReportDTO.getContractId();
|
|
|
+ aopParamsSet.add(param);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return R.success("上报成功");
|
|
|
+ return R.data(200, aopParamsSet, "操作成功");
|
|
|
}
|
|
|
return R.fail("操作失败");
|
|
|
}
|
|
@@ -581,8 +544,11 @@ public class TaskController extends BladeController {
|
|
|
@PostMapping("/batch-repeal-task-archive")
|
|
|
@ApiOperationSupport(order = 8)
|
|
|
@ApiOperation(value = "批量撤销(废除)-档案")
|
|
|
- public R<Object> batchRepealTaskArchive(@RequestBody ArchiveTaskBatchRepealDTO repealDTO) throws IOException {
|
|
|
- if (repealDTO.getType().equals(1)) { //文件收集废除(有可能是 认证废除 或 上报任务废除)
|
|
|
+ @PushMessage(clientId = ClientIdConstant.ARCHIVE_CLIENT_ID)
|
|
|
+ public R<Object> batchRepealTaskArchive(@RequestBody ArchiveTaskBatchRepealDTO repealDTO) {
|
|
|
+ Set<String> aopParamsSet = new HashSet<>();
|
|
|
+ if (repealDTO.getType().equals(1)) {
|
|
|
+ //文件收集废除
|
|
|
String[] archiveIds = repealDTO.getIds().split(",");
|
|
|
for (String archiveId : archiveIds) {
|
|
|
//判断现在的数据是否是待审批数据,只有上报状态、未认证状态的数据才能撤销
|
|
@@ -597,29 +563,21 @@ public class TaskController extends BladeController {
|
|
|
jdbcTemplate.execute("update u_task set status = 3 where id = " + task.getId());
|
|
|
//审批任务详情=已废除
|
|
|
jdbcTemplate.execute("update u_task_parallel set status = 3 where process_instance_id = '" + task.getProcessInstanceId() + "'");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //WebSocket推送
|
|
|
- if (ObjectUtil.isNotEmpty(AuthUtil.getUserId())) {
|
|
|
- Map<String, String> webSocketMessageMap = WebSocket.getWebSocketMessageMap();
|
|
|
- Set<Map.Entry<String, String>> message = webSocketMessageMap.entrySet();
|
|
|
- for (Map.Entry<String, String> entry : message) {
|
|
|
- String userId = entry.getKey();
|
|
|
- if (userId.equals(AuthUtil.getUserId().toString())) { //只推送当前用户
|
|
|
- String projectAndContractId = entry.getValue();
|
|
|
- if (StringUtils.isNotEmpty(projectAndContractId) && StringUtils.isNotEmpty(userId)) {
|
|
|
- String projectId = projectAndContractId.split(",")[0];
|
|
|
- String contractId = projectAndContractId.split(",")[1];
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCountArchive(projectId, contractId, userId);
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
+
|
|
|
+ /*通知*/
|
|
|
+ List<TaskParallel> taskParallelList = jdbcTemplate.query("SELECT task_user FROM u_task_parallel WHERE process_instance_id = '" + task.getProcessInstanceId() + "'", new BeanPropertyRowMapper<>(TaskParallel.class));
|
|
|
+ for (TaskParallel taskParallel : taskParallelList) {
|
|
|
+ String param = taskParallel.getTaskUser() + "," + repealDTO.getProjectId() + "," + repealDTO.getContractId();
|
|
|
+ aopParamsSet.add(param);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return R.success("操作成功");
|
|
|
|
|
|
- } else if (repealDTO.getType().equals(2)) { //任务审批废除
|
|
|
+ return R.data(200, aopParamsSet, "操作成功");
|
|
|
+
|
|
|
+ } else if (repealDTO.getType().equals(2)) {
|
|
|
+ //任务审批废除
|
|
|
String[] taskIds = repealDTO.getIds().split(",");
|
|
|
for (String taskId : taskIds) {
|
|
|
Task task = jdbcTemplate.query("select id,status,process_instance_id,form_data_id from u_task where id = " + taskId, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
@@ -630,26 +588,18 @@ public class TaskController extends BladeController {
|
|
|
jdbcTemplate.execute("update u_task_parallel set status = 3 where process_instance_id = '" + task.getProcessInstanceId() + "'");
|
|
|
//修改档案文件收集业务数据状态
|
|
|
jdbcTemplate.execute("update u_archive_file set status = 3,e_visa_file = null where id = " + task.getFormDataId());
|
|
|
- }
|
|
|
- }
|
|
|
- //WebSocket推送
|
|
|
- if (ObjectUtil.isNotEmpty(AuthUtil.getUserId())) {
|
|
|
- Map<String, String> webSocketMessageMap = WebSocket.getWebSocketMessageMap();
|
|
|
- Set<Map.Entry<String, String>> message = webSocketMessageMap.entrySet();
|
|
|
- for (Map.Entry<String, String> entry : message) {
|
|
|
- String userId = entry.getKey();
|
|
|
- if (userId.equals(AuthUtil.getUserId().toString())) { //只推送当前用户
|
|
|
- String projectAndContractId = entry.getValue();
|
|
|
- if (StringUtils.isNotEmpty(projectAndContractId) && StringUtils.isNotEmpty(userId)) {
|
|
|
- String projectId = projectAndContractId.split(",")[0];
|
|
|
- String contractId = projectAndContractId.split(",")[1];
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCountArchive(projectId, contractId, userId);
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- }
|
|
|
+
|
|
|
+ /*通知*/
|
|
|
+ List<TaskParallel> taskParallelList = jdbcTemplate.query("SELECT task_user FROM u_task_parallel WHERE process_instance_id = '" + task.getProcessInstanceId() + "'", new BeanPropertyRowMapper<>(TaskParallel.class));
|
|
|
+ for (TaskParallel taskParallel : taskParallelList) {
|
|
|
+ String param = taskParallel.getTaskUser() + "," + repealDTO.getProjectId() + "," + repealDTO.getContractId();
|
|
|
+ aopParamsSet.add(param);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return R.success("操作成功");
|
|
|
+
|
|
|
+ return R.data(200, aopParamsSet, "操作成功");
|
|
|
+
|
|
|
}
|
|
|
return R.fail(400, "操作失败");
|
|
|
}
|
|
@@ -661,7 +611,8 @@ public class TaskController extends BladeController {
|
|
|
@ApiOperationSupport(order = 8)
|
|
|
@ApiOperation(value = "批量审批(档案 垂直审批)")
|
|
|
@Transactional
|
|
|
- public R<Boolean> batchCompleteApprovalTaskArchive(@RequestBody TaskArchiveOuterLayerDTO taskArchiveOuterLayerDTO) throws IOException {
|
|
|
+ @PushMessage(clientId = ClientIdConstant.ARCHIVE_CLIENT_ID)
|
|
|
+ public R<Object> batchCompleteApprovalTaskArchive(@RequestBody TaskArchiveOuterLayerDTO taskArchiveOuterLayerDTO) {
|
|
|
if (ObjectUtil.isEmpty(SecureUtil.getUser()) || ObjectUtil.isEmpty(SecureUtil.getUserId()) || SecureUtil.getUserId().equals(-1L)) {
|
|
|
throw new ServiceException("未获取到当前登陆的用户信息,操作失败");
|
|
|
}
|
|
@@ -671,7 +622,7 @@ public class TaskController extends BladeController {
|
|
|
throw new ServiceException("请选择审批操作类型,【同意】或【废除任务】");
|
|
|
}
|
|
|
|
|
|
- //同意审批
|
|
|
+ /*同意审批*/
|
|
|
if (flag.equals("OK")) {
|
|
|
//检查审批人是否符合顺序
|
|
|
this.checkArchiveTaskUserByCurrent(taskArchiveOuterLayerDTO.getTaskArchiveDtoList());
|
|
@@ -732,7 +683,7 @@ public class TaskController extends BladeController {
|
|
|
dto.setProjectAndUserList(list);
|
|
|
//单个保存专家信息
|
|
|
R<Boolean> booleanR = userClient.saveUserDTO(dto);
|
|
|
- if (booleanR.getData() == null || booleanR.isSuccess() != true) {
|
|
|
+ if (booleanR.getData() == null || !booleanR.isSuccess()) {
|
|
|
throw new ServiceException(booleanR.getMsg());
|
|
|
}
|
|
|
}
|
|
@@ -741,7 +692,7 @@ public class TaskController extends BladeController {
|
|
|
if (StringUtils.isNotBlank(archiveIds)) {
|
|
|
List<Long> longs = Func.toLongList(archiveIds);
|
|
|
R<Boolean> booleanR = archiveClient.batchUpdateIsApply(1, longs);
|
|
|
- if (booleanR.getData() == null || booleanR.isSuccess() != true) {
|
|
|
+ if (booleanR.getData() == null || !booleanR.isSuccess()) {
|
|
|
throw new ServiceException("修改档案类型失败");
|
|
|
}
|
|
|
}
|
|
@@ -783,26 +734,16 @@ public class TaskController extends BladeController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //WebSocket推送
|
|
|
+ Set<String> aopParamsSet = new HashSet<>();
|
|
|
if (ObjectUtil.isNotEmpty(AuthUtil.getUserId())) {
|
|
|
- Map<String, String> webSocketMessageMap = WebSocket.getWebSocketMessageMap();
|
|
|
- Set<Map.Entry<String, String>> message = webSocketMessageMap.entrySet();
|
|
|
- for (Map.Entry<String, String> entry : message) {
|
|
|
- String userId = entry.getKey();
|
|
|
- if (userId.equals(AuthUtil.getUserId().toString())) { //只推送当前用户
|
|
|
- String projectAndContractId = entry.getValue();
|
|
|
- if (StringUtils.isNotEmpty(projectAndContractId) && StringUtils.isNotEmpty(userId)) {
|
|
|
- String projectId = projectAndContractId.split(",")[0];
|
|
|
- String contractId = projectAndContractId.split(",")[1];
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCountArchive(projectId, contractId, userId);
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ String param = AuthUtil.getUserId() + "," + taskArchiveOuterLayerDTO.getProjectId() + "," + taskArchiveOuterLayerDTO.getContractId();
|
|
|
+ aopParamsSet.add(param);
|
|
|
}
|
|
|
- return R.data(true);
|
|
|
+
|
|
|
+ return R.data(200, aopParamsSet, "操作成功");
|
|
|
|
|
|
} else {
|
|
|
+ /*废除任务*/
|
|
|
List<String> taskIds = taskArchiveOuterLayerDTO.getTaskArchiveDtoList().stream().map(TaskArchiveDTO::getTaskId).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList());
|
|
|
//判断任务类型是否是验收任务,档案验收任务单独处理修改状态直接返回
|
|
|
if (taskArchiveOuterLayerDTO.getTaskArchiveDtoList().get(0) == null || taskArchiveOuterLayerDTO.getTaskArchiveDtoList().get(0).getTaskId() == null) {
|
|
@@ -819,35 +760,12 @@ public class TaskController extends BladeController {
|
|
|
return R.data(true);
|
|
|
}
|
|
|
}
|
|
|
- //废除任务
|
|
|
+
|
|
|
ArchiveTaskBatchRepealDTO dto = new ArchiveTaskBatchRepealDTO();
|
|
|
dto.setType(2);
|
|
|
dto.setIds(StringUtils.join(taskIds, ","));
|
|
|
- R<Object> objectR = this.batchRepealTaskArchive(dto);
|
|
|
- if (objectR.getCode() == 200) {
|
|
|
- //WebSocket推送
|
|
|
- if (ObjectUtil.isNotEmpty(AuthUtil.getUserId())) {
|
|
|
- Map<String, String> webSocketMessageMap = WebSocket.getWebSocketMessageMap();
|
|
|
- Set<Map.Entry<String, String>> message = webSocketMessageMap.entrySet();
|
|
|
- for (Map.Entry<String, String> entry : message) {
|
|
|
- String userId = entry.getKey();
|
|
|
- if (userId.equals(AuthUtil.getUserId().toString())) { //只推送当前用户
|
|
|
- String projectAndContractId = entry.getValue();
|
|
|
- if (StringUtils.isNotEmpty(projectAndContractId) && StringUtils.isNotEmpty(userId)) {
|
|
|
- String projectId = projectAndContractId.split(",")[0];
|
|
|
- String contractId = projectAndContractId.split(",")[1];
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCountArchive(projectId, contractId, userId);
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return R.data(true);
|
|
|
- } else if (objectR.getCode() == 400) {
|
|
|
- return R.data(false);
|
|
|
- }
|
|
|
+ return this.batchRepealTaskArchive(dto);
|
|
|
}
|
|
|
- return R.data(false);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1020,7 +938,7 @@ public class TaskController extends BladeController {
|
|
|
@GetMapping("/user-to-do-task-list")
|
|
|
@ApiOperationSupport(order = 3)
|
|
|
@ApiOperation(value = "获取当前用户待办流程")
|
|
|
- public R<IPage<TaskVO>> todoUserApprovalTask(TaskQueryVO queryVO) throws IOException {
|
|
|
+ public R<IPage<TaskVO>> todoUserApprovalTask(TaskQueryVO queryVO){
|
|
|
//设置获取参数
|
|
|
Map<String, Task> masterTaskMap = new HashMap<>();
|
|
|
Map<String, TaskParallel> parallelMap = new HashMap<>();
|
|
@@ -1031,7 +949,6 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
//如果为空直接返回
|
|
|
if (masterTaskMap.size() == 0 && parallelMap.size() == 0 && ObjectUtil.isNotEmpty(queryVO.getContractId()) && ObjectUtil.isNotEmpty(queryVO.getProjectId())) {
|
|
|
- this.sendsWebSocketCount(null, 2, queryVO);
|
|
|
return R.data(null);
|
|
|
}
|
|
|
|
|
@@ -1039,46 +956,7 @@ public class TaskController extends BladeController {
|
|
|
R<Object> rObject = this.newFlowClient.selectTodoPage(queryVO.getCurrent(), queryVO.getSize(), queryVO.getOrdType() == null ? 1 : queryVO.getOrdType(), String.join(",", parallelProcessInstanceIds));
|
|
|
|
|
|
//处理参数
|
|
|
- R<IPage<TaskVO>> iPageR = this.integrationMethod(queryVO, rObject, masterTaskMap, parallelMap, true);
|
|
|
-
|
|
|
- //推送
|
|
|
- if (ObjectUtil.isNotEmpty(iPageR.getData()) && ObjectUtil.isNotEmpty(iPageR.getData().getRecords()) && ObjectUtil.isNotEmpty(queryVO.getContractId()) && ObjectUtil.isNotEmpty(queryVO.getProjectId())) {
|
|
|
- this.sendsWebSocketCount(iPageR, 1, queryVO);
|
|
|
- } else if (ObjectUtil.isNotEmpty(queryVO.getContractId()) && ObjectUtil.isNotEmpty(queryVO.getProjectId())) {
|
|
|
- this.sendsWebSocketCount(null, 2, queryVO);
|
|
|
- }
|
|
|
- return iPageR;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 推送消息
|
|
|
- *
|
|
|
- * @param iPageR
|
|
|
- * @param type
|
|
|
- * @param queryVO
|
|
|
- * @throws IOException
|
|
|
- */
|
|
|
- @Async
|
|
|
- public void sendsWebSocketCount(R<IPage<TaskVO>> iPageR, int type, TaskQueryVO queryVO) throws IOException {
|
|
|
- if (ObjectUtil.isEmpty(queryVO.getCurrentContractId())) {
|
|
|
- //如果getCurrentContractId=null,那么表示是APP的待办查询(web端不为null)
|
|
|
- queryVO.setCurrentContractId(queryVO.getContractId());
|
|
|
- }
|
|
|
- if (type == 1) {
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCount(queryVO.getProjectId(), queryVO.getCurrentContractId(), SecureUtil.getUserId().toString());
|
|
|
- stringMap.put("taskCount", String.valueOf(iPageR.getData().getTotal()));
|
|
|
- long messageCount = Long.parseLong(stringMap.get("messageCount"));
|
|
|
- long taskCount = Long.parseLong(stringMap.get("taskCount"));
|
|
|
- stringMap.put("allCount", String.valueOf(messageCount + taskCount));
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- } else if (type == 2) {
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCount(queryVO.getProjectId(), queryVO.getCurrentContractId(), SecureUtil.getUserId().toString());
|
|
|
- stringMap.put("taskCount", "0");
|
|
|
- long messageCount = Long.parseLong(stringMap.get("messageCount"));
|
|
|
- long taskCount = Long.parseLong(stringMap.get("taskCount"));
|
|
|
- stringMap.put("allCount", String.valueOf(messageCount + taskCount));
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- }
|
|
|
+ return this.integrationMethod(queryVO, rObject, masterTaskMap, parallelMap, true);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1503,50 +1381,7 @@ public class TaskController extends BladeController {
|
|
|
.collect(Collectors.toList());
|
|
|
page.setRecords(pageList);
|
|
|
page.setTotal(totalCount);
|
|
|
-
|
|
|
- R<IPage<BusinessTaskPageVO>> iPageR = R.data(page);
|
|
|
-
|
|
|
- //待办推送
|
|
|
- if (dto.getSelectedType().equals(1)) {
|
|
|
- if (ObjectUtil.isNotEmpty(iPageR.getData()) && ObjectUtil.isNotEmpty(iPageR.getData().getRecords()) && ObjectUtil.isNotEmpty(dto.getContractIdValue()) && ObjectUtil.isNotEmpty(dto.getProjectIdValue())) {
|
|
|
- this.sendsWebSocketCount(iPageR, 1, dto);
|
|
|
- } else if (ObjectUtil.isNotEmpty(dto.getContractIdValue()) && ObjectUtil.isNotEmpty(dto.getProjectIdValue())) {
|
|
|
- this.sendsWebSocketCount(null, 2, dto);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return iPageR;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 推送消息
|
|
|
- *
|
|
|
- * @param iPageR
|
|
|
- * @param type
|
|
|
- * @param dto
|
|
|
- * @throws IOException
|
|
|
- */
|
|
|
- @Async
|
|
|
- public void sendsWebSocketCount(R<IPage<BusinessTaskPageVO>> iPageR, int type, BusinessTaskDTO dto) throws IOException {
|
|
|
- if (ObjectUtil.isEmpty(dto.getCurrentContractId())) {
|
|
|
- //如果getCurrentContractId=null,那么表示是APP的待办查询(web端不为null)
|
|
|
- dto.setCurrentContractId(dto.getContractIdValue());
|
|
|
- }
|
|
|
- if (type == 1) {
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCount(dto.getProjectIdValue().toString(), dto.getCurrentContractId().toString(), SecureUtil.getUserId().toString());
|
|
|
- stringMap.put("taskCount", String.valueOf(iPageR.getData().getTotal()));
|
|
|
- long messageCount = Long.parseLong(stringMap.get("messageCount"));
|
|
|
- long taskCount = Long.parseLong(stringMap.get("taskCount"));
|
|
|
- stringMap.put("allCount", String.valueOf(messageCount + taskCount));
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- } else if (type == 2) {
|
|
|
- Map<String, String> stringMap = iTaskService.getTaskCount(dto.getProjectIdValue().toString(), dto.getCurrentContractId().toString(), SecureUtil.getUserId().toString());
|
|
|
- stringMap.put("taskCount", "0");
|
|
|
- long messageCount = Long.parseLong(stringMap.get("messageCount"));
|
|
|
- long taskCount = Long.parseLong(stringMap.get("taskCount"));
|
|
|
- stringMap.put("allCount", String.valueOf(messageCount + taskCount));
|
|
|
- webSocket.sendMessageByUserId(AuthUtil.getUserId().toString(), JSON.toJSONString(stringMap));
|
|
|
- }
|
|
|
+ return R.data(page);
|
|
|
}
|
|
|
|
|
|
/**
|