update 通用查询单选
This commit is contained in:
+17
-58
@@ -91,65 +91,24 @@ public class ProcessFbInfoController {
|
||||
@ApiOperation(value = "测试")
|
||||
@GetMapping("/test")
|
||||
public Result<T> test() {
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("creator", "tom");
|
||||
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("test_countersign", variables);
|
||||
String processInstanceId = processInstance.getId();
|
||||
System.out.println("流程实例Id: " + processInstanceId);
|
||||
|
||||
List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
|
||||
System.out.println("============== 提出申请 ============");
|
||||
taskList.forEach(task -> {
|
||||
System.out.println("任务Id: " + task.getId());
|
||||
System.out.println("任务名称: " + task.getName());
|
||||
System.out.println("执行实例Id: " + task.getExecutionId());
|
||||
System.out.println("任务处理人: " + task.getAssignee());
|
||||
});
|
||||
System.out.println("==========================");
|
||||
|
||||
List<String> leaderList = Arrays.asList(new String[] {"aaa", "bbb", "ccc"});
|
||||
variables.put("leaderList", leaderList);
|
||||
runtimeService.setVariables(processInstanceId, variables);
|
||||
|
||||
Task tomTask = taskList.get(0);
|
||||
taskService.complete(tomTask.getId());
|
||||
System.out.println("完成任务: " + tomTask.getId());
|
||||
System.out.println("任务名称: " + tomTask.getName());
|
||||
System.out.println("完成人: " + tomTask.getAssignee());
|
||||
|
||||
taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
|
||||
System.out.println("============== 多人会签 ============");
|
||||
taskList.forEach(task -> {
|
||||
System.out.println("任务Id: " + task.getId());
|
||||
System.out.println("任务名称: " + task.getName());
|
||||
System.out.println("执行实例Id: " + task.getExecutionId());
|
||||
System.out.println("任务处理人: " + task.getAssignee());
|
||||
});
|
||||
System.out.println("==========================");
|
||||
|
||||
System.out.println("============= 多人会签 =============");
|
||||
taskList.forEach(task -> {
|
||||
taskService.claim(task.getId(), task.getAssignee());
|
||||
//taskService.complete(task.getId());
|
||||
System.out.println("完成任务: " + task.getId());
|
||||
});
|
||||
System.out.println("==========================");
|
||||
|
||||
taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
|
||||
System.out.println("============== 汇总 ============");
|
||||
taskList.forEach(task -> {
|
||||
System.out.println("任务Id: " + task.getId());
|
||||
System.out.println("任务名称: " + task.getName());
|
||||
System.out.println("执行实例Id: " + task.getExecutionId());
|
||||
System.out.println("任务处理人: " + task.getAssignee());
|
||||
});
|
||||
System.out.println("==========================");
|
||||
tomTask = taskList.get(0);
|
||||
//taskService.complete(tomTask.getId());
|
||||
System.out.println("完成任务: " + tomTask.getId());
|
||||
System.out.println("任务名称: " + tomTask.getName());
|
||||
System.out.println("完成人: " + tomTask.getAssignee());
|
||||
String processInstanceId = "20231117135055516";
|
||||
// 查询正在执行的多实例子流程的执行实例列表
|
||||
List<Execution> executions = runtimeService.createExecutionQuery()
|
||||
.processInstanceId(processInstanceId)
|
||||
.activityId("depart_leader_start_1") // 指定多实例活动的ID
|
||||
.list();
|
||||
|
||||
// 遍历执行实例列表
|
||||
System.out.println("processInstanceId: " + processInstanceId);
|
||||
for (Execution execution : executions) {
|
||||
// 获取执行实例的ID,即每个实例的唯一标识
|
||||
System.out.println("Id: " + execution.getId());
|
||||
System.out.println("SuperExecutionId: " + execution.getSuperExecutionId());
|
||||
System.out.println("ParentId: " + execution.getParentId());
|
||||
System.out.println("RootProcessInstanceId: " + execution.getRootProcessInstanceId());
|
||||
System.out.println("ProcessInstanceId: " + execution.getProcessInstanceId());
|
||||
// 执行其他逻辑,例如查询与该实例相关的任务等
|
||||
}
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
+3
-23
@@ -18,8 +18,10 @@ import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessFbStandardConsultationVO;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.Execution;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -39,6 +41,7 @@ import java.util.*;
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<ProcessFbStandardConsultationMapper, ProcessFbStandardConsultation> implements IProcessFbStandardConsultationService {
|
||||
|
||||
@@ -76,22 +79,6 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_STANDARD_CONSULTATION.getValue()); // 流程类型
|
||||
String processInstanceId = processHandleService.startProcess(processInfoVO);
|
||||
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
|
||||
|
||||
|
||||
System.out.println("=============流程信息=============");
|
||||
System.out.println("processInstanceId" + processInstance.getId());
|
||||
System.out.println("SuperExecutionId" + processInstance.getSuperExecutionId());
|
||||
System.out.println("============任务信息==============");
|
||||
taskList.forEach(task -> {
|
||||
System.out.println("任务Id: " + task.getId());
|
||||
System.out.println("ExecutionId: " + task.getExecutionId());
|
||||
System.out.println("ProcessInstanceId: " + task.getProcessInstanceId());
|
||||
System.out.println("Assignee: " + task.getAssignee());
|
||||
System.out.println("==========================");
|
||||
});
|
||||
|
||||
// 把各部所主管级领导数据存入关联人员表
|
||||
List<String> departLeaderList = Arrays.asList(departLeaders.split(","));
|
||||
List<ProcessFbConsultationUserLink> linkList = new ArrayList<>();
|
||||
@@ -206,7 +193,6 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
||||
String taskId = processInfoVO.getBasicTaskInfoDTO().getTaskId();
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String subProcessInstanceId = task.getProcessInstanceId();
|
||||
String executionId = task.getExecutionId();
|
||||
|
||||
LambdaQueryWrapper<ProcessFbConsultationUserLink> removeWrapper = new LambdaQueryWrapper<>();
|
||||
removeWrapper.eq(ProcessFbConsultationUserLink::getBusinessId, processInfoVO.getBusinessId());
|
||||
@@ -251,11 +237,5 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
||||
// 完成任务
|
||||
taskService.complete(taskId);
|
||||
|
||||
System.out.println("================================各部门主管级领导分发=================================");
|
||||
System.out.println("processInstanceId: " + processInfoVO.getBasicProcessInfoDTO().getProcessInstanceId());
|
||||
System.out.println("subProcessInstanceId: " + subProcessInstanceId);
|
||||
System.out.println("taskId: " + taskId);
|
||||
System.out.println("executionId: " + executionId);
|
||||
System.out.println("=======================================================================");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,32 @@ public class FieldCommon {
|
||||
LawsFieldTypeEnum.TREE_OPTION.getValue() // 树形弹框选择
|
||||
);
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/17 14:38
|
||||
* @Description: 多选弹框
|
||||
**/
|
||||
public static final List<String> TYPE_MANY_OPTION = Arrays.asList(
|
||||
LawsFieldTypeEnum.BOX_MANY.getValue(), // 多选标准弹框
|
||||
LawsFieldTypeEnum.GROUP_MANY.getValue(), // 多选组织机构弹框
|
||||
LawsFieldTypeEnum.FILE_UP.getValue(), // 上传文件
|
||||
LawsFieldTypeEnum.TREE_BOX.getValue(), // 树型多选
|
||||
LawsFieldTypeEnum.OPTION_MANY.getValue(), // 下拉多选
|
||||
LawsFieldTypeEnum.TREE_OPTION.getValue() // 树形弹框选择
|
||||
);
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/17 14:38
|
||||
* @Description: 单选搜索
|
||||
**/
|
||||
public static final List<String> TYPE_SIMPLE_OPTION = Arrays.asList(
|
||||
LawsFieldTypeEnum.USER_SINGLE.getValue(), // 单选用户弹框
|
||||
LawsFieldTypeEnum.GROUP_SINGLE.getValue(), // 单选组织机构弹框
|
||||
LawsFieldTypeEnum.OPTION_SINGLE.getValue(), // 下拉单选
|
||||
LawsFieldTypeEnum.TREE_BOX_SINGLE.getValue() // 树型单选
|
||||
);
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/3 17:22
|
||||
|
||||
+17
-5
@@ -1920,9 +1920,12 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
if (FieldCommon.TYPE_LIKE.contains(fieldShowType)) {
|
||||
// 模糊查询拼接
|
||||
processLikeTypeCondition(selectCondition, key, value);
|
||||
} else if (FieldCommon.TYPE_LIKE_IN.contains(fieldShowType)) {
|
||||
// 模糊查询+in查询
|
||||
processLikeInTypeCondition(selectCondition, key, value);
|
||||
} else if (FieldCommon.TYPE_MANY_OPTION.contains(fieldShowType)) {
|
||||
// 多选
|
||||
manyOption(selectCondition, key, value);
|
||||
} else if (FieldCommon.TYPE_SIMPLE_OPTION.contains(fieldShowType)) {
|
||||
// 单选
|
||||
simpleOption(selectCondition, key, value);
|
||||
} else if (LawsFieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||
// 单日期查询
|
||||
processDateSingleTypeCondition(selectCondition, key, value);
|
||||
@@ -1950,9 +1953,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/8/25 11:00
|
||||
* @Description: 模糊查询+in查询
|
||||
* @Description: 多选
|
||||
**/
|
||||
private void processLikeInTypeCondition(StringBuilder selectCondition, String key, String value) {
|
||||
private void manyOption(StringBuilder selectCondition, String key, String value) {
|
||||
StringBuilder valueSb = new StringBuilder();
|
||||
StringBuilder condition = new StringBuilder();
|
||||
for (String valueTemp : value.split(",")) {
|
||||
@@ -1964,6 +1967,15 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
selectCondition.append(" and (").append(key).append(" in(").append(substring).append(")").append(condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/17 14:41
|
||||
* @Description:单选
|
||||
**/
|
||||
private void simpleOption(StringBuilder selectCondition, String key, String value) {
|
||||
selectCondition.append(" and (").append(key).append(" = '").append(value).append("')");
|
||||
}
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/8/25 11:00
|
||||
|
||||
Reference in New Issue
Block a user