update 通用查询单选
This commit is contained in:
+17
-58
@@ -91,65 +91,24 @@ public class ProcessFbInfoController {
|
|||||||
@ApiOperation(value = "测试")
|
@ApiOperation(value = "测试")
|
||||||
@GetMapping("/test")
|
@GetMapping("/test")
|
||||||
public Result<T> test() {
|
public Result<T> test() {
|
||||||
Map<String, Object> variables = new HashMap<>();
|
String processInstanceId = "20231117135055516";
|
||||||
variables.put("creator", "tom");
|
// 查询正在执行的多实例子流程的执行实例列表
|
||||||
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("test_countersign", variables);
|
List<Execution> executions = runtimeService.createExecutionQuery()
|
||||||
String processInstanceId = processInstance.getId();
|
.processInstanceId(processInstanceId)
|
||||||
System.out.println("流程实例Id: " + processInstanceId);
|
.activityId("depart_leader_start_1") // 指定多实例活动的ID
|
||||||
|
.list();
|
||||||
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());
|
|
||||||
|
|
||||||
|
// 遍历执行实例列表
|
||||||
|
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();
|
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.ProcessFbStandardConsultationVO;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
|
import org.activiti.engine.runtime.Execution;
|
||||||
import org.activiti.engine.runtime.ProcessInstance;
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
import org.activiti.engine.task.Task;
|
import org.activiti.engine.task.Task;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -39,6 +41,7 @@ import java.util.*;
|
|||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
@Transactional(rollbackFor = JeroBootException.class)
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<ProcessFbStandardConsultationMapper, ProcessFbStandardConsultation> implements IProcessFbStandardConsultationService {
|
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()); // 流程类型
|
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_STANDARD_CONSULTATION.getValue()); // 流程类型
|
||||||
String processInstanceId = processHandleService.startProcess(processInfoVO);
|
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<String> departLeaderList = Arrays.asList(departLeaders.split(","));
|
||||||
List<ProcessFbConsultationUserLink> linkList = new ArrayList<>();
|
List<ProcessFbConsultationUserLink> linkList = new ArrayList<>();
|
||||||
@@ -206,7 +193,6 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
|||||||
String taskId = processInfoVO.getBasicTaskInfoDTO().getTaskId();
|
String taskId = processInfoVO.getBasicTaskInfoDTO().getTaskId();
|
||||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||||
String subProcessInstanceId = task.getProcessInstanceId();
|
String subProcessInstanceId = task.getProcessInstanceId();
|
||||||
String executionId = task.getExecutionId();
|
|
||||||
|
|
||||||
LambdaQueryWrapper<ProcessFbConsultationUserLink> removeWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ProcessFbConsultationUserLink> removeWrapper = new LambdaQueryWrapper<>();
|
||||||
removeWrapper.eq(ProcessFbConsultationUserLink::getBusinessId, processInfoVO.getBusinessId());
|
removeWrapper.eq(ProcessFbConsultationUserLink::getBusinessId, processInfoVO.getBusinessId());
|
||||||
@@ -251,11 +237,5 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
|||||||
// 完成任务
|
// 完成任务
|
||||||
taskService.complete(taskId);
|
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() // 树形弹框选择
|
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
|
* @Author: liao
|
||||||
* @Date: 2023/11/3 17:22
|
* @Date: 2023/11/3 17:22
|
||||||
|
|||||||
+17
-5
@@ -1920,9 +1920,12 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
if (FieldCommon.TYPE_LIKE.contains(fieldShowType)) {
|
if (FieldCommon.TYPE_LIKE.contains(fieldShowType)) {
|
||||||
// 模糊查询拼接
|
// 模糊查询拼接
|
||||||
processLikeTypeCondition(selectCondition, key, value);
|
processLikeTypeCondition(selectCondition, key, value);
|
||||||
} else if (FieldCommon.TYPE_LIKE_IN.contains(fieldShowType)) {
|
} else if (FieldCommon.TYPE_MANY_OPTION.contains(fieldShowType)) {
|
||||||
// 模糊查询+in查询
|
// 多选
|
||||||
processLikeInTypeCondition(selectCondition, key, value);
|
manyOption(selectCondition, key, value);
|
||||||
|
} else if (FieldCommon.TYPE_SIMPLE_OPTION.contains(fieldShowType)) {
|
||||||
|
// 单选
|
||||||
|
simpleOption(selectCondition, key, value);
|
||||||
} else if (LawsFieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
} else if (LawsFieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||||
// 单日期查询
|
// 单日期查询
|
||||||
processDateSingleTypeCondition(selectCondition, key, value);
|
processDateSingleTypeCondition(selectCondition, key, value);
|
||||||
@@ -1950,9 +1953,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/8/25 11:00
|
* @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 valueSb = new StringBuilder();
|
||||||
StringBuilder condition = new StringBuilder();
|
StringBuilder condition = new StringBuilder();
|
||||||
for (String valueTemp : value.split(",")) {
|
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);
|
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
|
* @Author: liao
|
||||||
* @Date: 2023/8/25 11:00
|
* @Date: 2023/8/25 11:00
|
||||||
|
|||||||
Reference in New Issue
Block a user