From bc263d8bed5d1405f275bb8638a9bec9eaf06585 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 31 三月 2025 09:42:00 +0800 Subject: [PATCH] 添加审签逻辑,移动flow通用代码,添加根据角色查询用户,新增时间工具类,修改指派设备bug --- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java index 2bb58bd..ab62a88 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java @@ -42,7 +42,6 @@ import org.jeecg.modules.flowable.apithird.common.constant.ProcessConstants; import org.jeecg.modules.flowable.apithird.common.enums.FlowComment; import org.jeecg.modules.flowable.apithird.common.exception.CustomException; -import org.jeecg.modules.flowable.apithird.entity.ActStatus; import org.jeecg.modules.flowable.apithird.entity.SysUser; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; import org.jeecg.modules.flowable.apithird.service.IFlowThirdService; @@ -96,6 +95,10 @@ taskService.saveTask(task); } SysUser loginUser = iFlowThirdService.getLoginUser(); + //鍒ゆ柇鐢ㄦ埛鏄惁鏈夋潈闄� + if (!task.getAssignee().equals(loginUser.getUsername())){ + return Result.error("褰撳墠鐢ㄦ埛鏃犳潈闄�"); + } if (DelegationState.PENDING.equals(task.getDelegationState())) { taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.DELEGATE.getType(), taskVo.getComment()); //taskService.resolveTask(taskVo.getTaskId(), taskVo.getValues()); @@ -103,7 +106,6 @@ System.out.println("taskVo.getTaskId()--->taskVo.getInstanceId()--->FlowComment.NORMAL.getType()--->taskVo.getComment()"+taskVo.getTaskId() + "---" + taskVo.getInstanceId() + "---" + FlowComment.NORMAL.getType() + "---"+taskVo.getComment() ); taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.NORMAL.getType(), taskVo.getComment()); taskService.setAssignee(taskVo.getTaskId(), loginUser.getUsername()); - //taskService.complete(taskVo.getTaskId(), taskVo.getValues()); } /*======================瀹℃壒缁撴潫 鍥炶皟浠ュ強鍏抽敭鏁版嵁淇濆瓨======================*/ //涓氬姟鏁版嵁id @@ -157,8 +159,8 @@ if (task2!=null && task.getTaskDefinitionKey().equals(task2.getTaskDefinitionKey())){ // * 褰撳墠鑺傜偣鏄細绛捐妭鐐癸紝娌℃湁璧板畬 - business.setActStatus(ActStatus.doing) - .setTaskId(task2.getId()) + business.setTaskId(task2.getId()) +// .setActStatus(ActStatus.doing) .setDoneUsers(doneUserList.toJSONString()) ; String todoUsersStr = business.getTodoUsers(); @@ -202,8 +204,9 @@ // 鍓嶇浼犲叆鍊欓�変汉 collect_username = candidateUsers; } - business.setActStatus(ActStatus.doing) + business .setTaskId(task2.getId()) +// .setActStatus(ActStatus.doing) .setTaskNameId(nextTask.getId()) .setTaskName(nextTask.getName()) .setPriority(nextTask.getPriority()) @@ -234,7 +237,7 @@ } else { // **娌℃湁涓嬩竴涓妭鐐癸紝娴佺▼宸茬粡缁撴潫浜� - business.setActStatus(ActStatus.pass) + business .setDoneUsers(doneUserList.toJSONString()) .setTodoUsers("") .setTaskId("") @@ -250,11 +253,13 @@ if (flowCallBackService!=null)flowCallBackService.afterFlowHandle(business); return Result.OK(); } + @Override @Transactional(rollbackFor = Exception.class) public Result completeByDateId(FlowTaskVo flowTaskVo){ return this.complete(flowTaskVo); } + @Override public void taskRejectByDataId(FlowTaskVo flowTaskVo){ FlowMyBusiness business = flowMyBusinessService.getByDataId(flowTaskVo.getDataId()); @@ -409,8 +414,9 @@ if (!doneUserList.contains(loginUser.getUsername())){ doneUserList.add(loginUser.getUsername()); } - business.setActStatus(ActStatus.reject) + business .setTaskId(task2.getId()) +// .setActStatus(ActStatus.reject) .setTaskNameId(task2.getTaskDefinitionKey()) .setTaskName(task2.getName()) .setDoneUsers(doneUserList.toJSONString()) @@ -588,8 +594,9 @@ //**璺宠浆鍒扮洰鏍囪妭鐐� List<Task> task2List = taskService.createTaskQuery().processInstanceId(business.getProcessInstanceId()).active().list(); Task targetTask = task2List.get(0); - business.setActStatus(ActStatus.reject) + business .setTaskId(targetTask.getId()) +// .setActStatus(ActStatus.reject) .setTaskNameId(targetTask.getTaskDefinitionKey()) .setTaskName(targetTask.getName()) .setPriority(targetTask.getPriority()+"") -- Gitblit v1.9.3