commit
This commit is contained in:
+26
-5
@@ -79,14 +79,19 @@ public class ProposalDashboardController {
|
||||
// 节点
|
||||
ProcessDefine define = processDefineService.getLastByName("JDHTA_NC");
|
||||
ProcessModel processModel = processDefineService.processDefineToModel(define);
|
||||
List<TaskModel> taskModels = processModel.getTasks();
|
||||
// 按流程图的连线关系遍历任务节点,保证看板展示顺序与流程图一致。
|
||||
List<TaskModel> taskModels = processModel.getModels(TaskModel.class);
|
||||
|
||||
List<String> excludeNodes = new ArrayList<>(3);
|
||||
excludeNodes.add("撰写提案");
|
||||
excludeNodes.add("邀请附议人");
|
||||
excludeNodes.add("提案附议");
|
||||
|
||||
List<NutMap> taskNodes = taskModels.stream().filter(taskModel -> !excludeNodes.contains(taskModel.getDisplayName()))
|
||||
// opinion_unit_reply、two_unit_reply 为临时屏蔽的承办单位答复节点,不在看板展示。
|
||||
List<String> hiddenNodeIds = List.of("opinion_unit_reply", "two_unit_reply");
|
||||
List<NutMap> taskNodes = new ArrayList<>(taskModels.stream()
|
||||
.filter(taskModel -> !excludeNodes.contains(taskModel.getDisplayName()))
|
||||
.filter(taskModel -> !hiddenNodeIds.contains(taskModel.getName()))
|
||||
.map(taskModel -> NutMap.NEW()
|
||||
.addv("name", taskModel.getDisplayName())
|
||||
.addv("id", taskModel.getName())
|
||||
@@ -94,19 +99,35 @@ public class ProposalDashboardController {
|
||||
.addv("count", 0)
|
||||
.addv("todoCount", 0)
|
||||
.addv("doneCount", 0)
|
||||
).toList();
|
||||
nodes.addAll(taskNodes);
|
||||
).toList());
|
||||
|
||||
// 立案结果
|
||||
List<Sys_dict> caseFilingResult = sysDictService.getSubListByCode("PROPOSAL_CASE_FILING_RESULT");
|
||||
List<NutMap> caseFilingResultNodes = new ArrayList<>();
|
||||
for (Sys_dict dict : caseFilingResult) {
|
||||
nodes.add(NutMap.NEW()
|
||||
caseFilingResultNodes.add(NutMap.NEW()
|
||||
.addv("name", dict.getName())
|
||||
.addv("id", dict.getCode())
|
||||
.addv("type", "caseFilingResult")
|
||||
.addv("count", 0));
|
||||
}
|
||||
|
||||
// 立案结果需展示在委员会确认承办单位之前,反馈评价统一固定到看板末尾。
|
||||
List<NutMap> feedbackNodes = taskNodes.stream()
|
||||
.filter(taskNode -> "feedback".equals(taskNode.getString("id")))
|
||||
.toList();
|
||||
taskNodes.removeIf(taskNode -> "feedback".equals(taskNode.getString("id")));
|
||||
int committeeFilingUnitIndex = taskNodes.size();
|
||||
for (int i = 0; i < taskNodes.size(); i++) {
|
||||
if ("committeeFilingUnit".equals(taskNodes.get(i).getString("id"))) {
|
||||
committeeFilingUnitIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
taskNodes.addAll(committeeFilingUnitIndex, caseFilingResultNodes);
|
||||
nodes.addAll(taskNodes);
|
||||
nodes.addAll(feedbackNodes);
|
||||
|
||||
// 查询待办任务
|
||||
Sql todoSql = Sqls.create("""
|
||||
SELECT
|
||||
|
||||
Reference in New Issue
Block a user