commit:同步2.1版本

This commit is contained in:
Jerry
2021-12-16 21:51:40 +08:00
parent c76388f593
commit 7af7fe5dc2
553 changed files with 8366 additions and 4151 deletions

View File

@@ -4,7 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>common</artifactId>
<groupId>com.flow.demo</groupId>
<groupId>com.orangeforms</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -16,12 +16,12 @@
<dependencies>
<dependency>
<groupId>com.flow.demo</groupId>
<groupId>com.orangeforms</groupId>
<artifactId>common-flow</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.flow.demo</groupId>
<groupId>com.orangeforms</groupId>
<artifactId>common-online</artifactId>
<version>1.0.0</version>
</dependency>

View File

@@ -1,4 +1,4 @@
package com.flow.demo.common.flow.online.config;
package com.orangeforms.common.flow.online.config;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

View File

@@ -1,4 +1,4 @@
package com.flow.demo.common.flow.online.config;
package com.orangeforms.common.flow.online.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@@ -1,4 +1,4 @@
package com.flow.demo.common.flow.online.controller;
package com.orangeforms.common.flow.online.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
@@ -8,33 +8,33 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.page.PageMethod;
import com.flow.demo.common.core.annotation.MyRequestBody;
import com.flow.demo.common.core.constant.ErrorCodeEnum;
import com.flow.demo.common.core.object.*;
import com.flow.demo.common.core.util.MyModelUtil;
import com.flow.demo.common.core.util.MyPageUtil;
import com.flow.demo.common.flow.dto.FlowWorkOrderDto;
import com.flow.demo.common.flow.vo.FlowEntryVo;
import com.flow.demo.common.flow.vo.FlowWorkOrderVo;
import com.flow.demo.common.online.dto.OnlineFilterDto;
import com.flow.demo.common.online.model.*;
import com.flow.demo.common.online.model.constant.FieldFilterType;
import com.flow.demo.common.online.model.constant.RelationType;
import com.flow.demo.common.online.object.ColumnData;
import com.flow.demo.common.online.service.OnlineFormService;
import com.flow.demo.common.online.service.OnlinePageService;
import com.flow.demo.common.online.service.OnlineOperationService;
import com.flow.demo.common.online.service.OnlineTableService;
import com.flow.demo.common.online.util.OnlineOperationHelper;
import com.flow.demo.common.flow.online.service.FlowOnlineOperationService;
import com.flow.demo.common.flow.constant.FlowApprovalType;
import com.flow.demo.common.flow.util.FlowOperationHelper;
import com.flow.demo.common.flow.constant.FlowTaskStatus;
import com.flow.demo.common.flow.dto.FlowTaskCommentDto;
import com.flow.demo.common.flow.exception.FlowOperationException;
import com.flow.demo.common.flow.model.*;
import com.flow.demo.common.flow.service.*;
import com.flow.demo.common.flow.vo.TaskInfoVo;
import com.orangeforms.common.core.annotation.MyRequestBody;
import com.orangeforms.common.core.constant.ErrorCodeEnum;
import com.orangeforms.common.core.object.*;
import com.orangeforms.common.core.util.MyModelUtil;
import com.orangeforms.common.core.util.MyPageUtil;
import com.orangeforms.common.flow.dto.FlowWorkOrderDto;
import com.orangeforms.common.flow.vo.FlowEntryVo;
import com.orangeforms.common.flow.vo.FlowWorkOrderVo;
import com.orangeforms.common.online.dto.OnlineFilterDto;
import com.orangeforms.common.online.model.*;
import com.orangeforms.common.online.model.constant.FieldFilterType;
import com.orangeforms.common.online.model.constant.RelationType;
import com.orangeforms.common.online.object.ColumnData;
import com.orangeforms.common.online.service.OnlineFormService;
import com.orangeforms.common.online.service.OnlinePageService;
import com.orangeforms.common.online.service.OnlineOperationService;
import com.orangeforms.common.online.service.OnlineTableService;
import com.orangeforms.common.online.util.OnlineOperationHelper;
import com.orangeforms.common.flow.online.service.FlowOnlineOperationService;
import com.orangeforms.common.flow.constant.FlowApprovalType;
import com.orangeforms.common.flow.util.FlowOperationHelper;
import com.orangeforms.common.flow.constant.FlowTaskStatus;
import com.orangeforms.common.flow.dto.FlowTaskCommentDto;
import com.orangeforms.common.flow.exception.FlowOperationException;
import com.orangeforms.common.flow.model.*;
import com.orangeforms.common.flow.service.*;
import com.orangeforms.common.flow.vo.TaskInfoVo;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ProcessInstance;
@@ -336,7 +336,10 @@ public class FlowOnlineOperationController {
List<FlowWorkOrder> flowWorkOrderList = flowWorkOrderService.getFlowWorkOrderList(flowWorkOrderFilter, orderBy);
MyPageData<FlowWorkOrderVo> resultData =
MyPageUtil.makeResponseData(flowWorkOrderList, FlowWorkOrder.INSTANCE);
this.makeWorkOrderTaskInfo(resultData.getDataList());
ResponseResult<Void> responseResult = this.makeWorkOrderTaskInfo(resultData.getDataList());
if (!responseResult.isSuccess()) {
return ResponseResult.errorFrom(responseResult);
}
return ResponseResult.success(resultData);
}
@@ -565,7 +568,7 @@ public class FlowOnlineOperationController {
errorMessage = "数据验证失败从表主键Id不存在";
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
}
OnlineColumn slaveColumn = slaveTable.getColumnMap().get(relation.getSlaveColumnId());
OnlineColumn slaveColumn = relation.getSlaveColumn();
Object relationSlaveDataId = dataMap.get(slaveColumn.getColumnName());
if (relationSlaveDataId == null) {
errorMessage = "数据验证失败当前关联的从表字段值为NULL";
@@ -631,9 +634,9 @@ public class FlowOnlineOperationController {
return ResponseResult.success(businessKey);
}
private void makeWorkOrderTaskInfo(List<FlowWorkOrderVo> flowWorkOrderVoList) {
private ResponseResult<Void> makeWorkOrderTaskInfo(List<FlowWorkOrderVo> flowWorkOrderVoList) {
if (CollUtil.isEmpty(flowWorkOrderVoList)) {
return;
return ResponseResult.success();
}
Set<String> definitionIdSet =
flowWorkOrderVoList.stream().map(FlowWorkOrderVo::getProcessDefinitionId).collect(Collectors.toSet());
@@ -656,8 +659,20 @@ public class FlowOnlineOperationController {
filterDto.setColumnName(masterTable.getPrimaryKeyColumn().getColumnName());
filterDto.setFilterType(FieldFilterType.IN_LIST_FILTER);
filterDto.setColumnValue(convertedBusinessKeySet);
TaskInfoVo taskInfoVo = JSON.parseObject(flowWorkOrderVoList.get(0).getInitTaskInfo(), TaskInfoVo.class);
// 验证在线表单及其关联数据源的合法性
ResponseResult<OnlineDatasource> datasourceResult = this.verifyAndGetOnlineDatasource(taskInfoVo.getFormId());
if (!datasourceResult.isSuccess()) {
return ResponseResult.errorFrom(datasourceResult);
}
OnlineDatasource datasource = datasourceResult.getData();
ResponseResult<List<OnlineDatasourceRelation>> relationListResult =
onlineOperationHelper.verifyAndGetRelationList(datasource.getDatasourceId(), RelationType.ONE_TO_ONE);
if (!relationListResult.isSuccess()) {
return ResponseResult.errorFrom(relationListResult);
}
List<Map<String, Object>> dataList = onlineOperationService.getMasterDataList(
masterTable, null, null, filterList, null);
masterTable, relationListResult.getData(), null, filterList, null);
Map<Object, Map<String, Object>> dataMap = dataList.stream()
.collect(Collectors.toMap(c -> c.get(masterTable.getPrimaryKeyColumn().getColumnName()), c -> c));
for (FlowWorkOrderVo flowWorkOrderVo : flowWorkOrderVoList) {
@@ -673,7 +688,7 @@ public class FlowOnlineOperationController {
.map(FlowWorkOrderVo::getProcessInstanceId)
.collect(Collectors.toList());
if (CollUtil.isEmpty(unfinishedProcessInstanceIds)) {
return;
return ResponseResult.success();
}
List<Task> taskList = flowApiService.getTaskListByProcessInstanceIds(unfinishedProcessInstanceIds);
Map<String, List<Task>> taskMap =
@@ -694,5 +709,6 @@ public class FlowOnlineOperationController {
}
flowWorkOrderVo.setRuntimeTaskInfoList(taskArray);
}
return ResponseResult.success();
}
}

View File

@@ -1,10 +1,10 @@
package com.flow.demo.common.flow.online.service;
package com.orangeforms.common.flow.online.service;
import com.alibaba.fastjson.JSONObject;
import com.flow.demo.common.online.model.OnlineDatasourceRelation;
import com.flow.demo.common.online.model.OnlineTable;
import com.flow.demo.common.online.object.ColumnData;
import com.flow.demo.common.flow.model.FlowTaskComment;
import com.orangeforms.common.online.model.OnlineDatasourceRelation;
import com.orangeforms.common.online.model.OnlineTable;
import com.orangeforms.common.online.object.ColumnData;
import com.orangeforms.common.flow.model.FlowTaskComment;
import org.flowable.task.api.Task;
import java.util.List;

View File

@@ -1,24 +1,24 @@
package com.flow.demo.common.flow.online.service.impl;
package com.orangeforms.common.flow.online.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.flow.demo.common.core.object.ResponseResult;
import com.flow.demo.common.online.model.OnlineColumn;
import com.flow.demo.common.online.model.OnlineDatasourceRelation;
import com.flow.demo.common.online.model.OnlineTable;
import com.flow.demo.common.online.model.constant.RelationType;
import com.flow.demo.common.online.object.ColumnData;
import com.flow.demo.common.online.service.OnlineOperationService;
import com.flow.demo.common.online.util.OnlineOperationHelper;
import com.flow.demo.common.flow.constant.FlowApprovalType;
import com.flow.demo.common.flow.constant.FlowTaskStatus;
import com.flow.demo.common.flow.exception.FlowOperationException;
import com.flow.demo.common.flow.model.FlowTaskComment;
import com.flow.demo.common.flow.service.FlowApiService;
import com.flow.demo.common.flow.service.FlowWorkOrderService;
import com.flow.demo.common.flow.online.service.FlowOnlineOperationService;
import com.orangeforms.common.core.object.ResponseResult;
import com.orangeforms.common.online.model.OnlineColumn;
import com.orangeforms.common.online.model.OnlineDatasourceRelation;
import com.orangeforms.common.online.model.OnlineTable;
import com.orangeforms.common.online.model.constant.RelationType;
import com.orangeforms.common.online.object.ColumnData;
import com.orangeforms.common.online.service.OnlineOperationService;
import com.orangeforms.common.online.util.OnlineOperationHelper;
import com.orangeforms.common.flow.constant.FlowApprovalType;
import com.orangeforms.common.flow.constant.FlowTaskStatus;
import com.orangeforms.common.flow.exception.FlowOperationException;
import com.orangeforms.common.flow.model.FlowTaskComment;
import com.orangeforms.common.flow.service.FlowApiService;
import com.orangeforms.common.flow.service.FlowWorkOrderService;
import com.orangeforms.common.flow.online.service.FlowOnlineOperationService;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.Task;
@@ -53,7 +53,7 @@ public class FlowOnlineOperationServiceImpl implements FlowOnlineOperationServic
Object dataId = onlineOperationService.saveNew(table, columnDataList);
ProcessInstance instance =
flowApiService.startAndTakeFirst(processDefinitionId, dataId, flowTaskComment, taskVariableData);
flowWorkOrderService.saveNew(instance, dataId, table.getTableId());
flowWorkOrderService.saveNew(instance, dataId, table.getTableId(), null);
}
@Transactional(rollbackFor = Exception.class)
@@ -69,7 +69,7 @@ public class FlowOnlineOperationServiceImpl implements FlowOnlineOperationServic
masterTable, masterColumnDataList, slaveColumnDataListMap);
ProcessInstance instance =
flowApiService.startAndTakeFirst(processDefinitionId, dataId, flowTaskComment, taskVariableData);
flowWorkOrderService.saveNew(instance, dataId, masterTable.getTableId());
flowWorkOrderService.saveNew(instance, dataId, masterTable.getTableId(), null);
}
@Transactional(rollbackFor = Exception.class)
@@ -92,7 +92,7 @@ public class FlowOnlineOperationServiceImpl implements FlowOnlineOperationServic
taskVariableData.putAll(variables);
flowApiService.completeTask(task, flowTaskComment, taskVariableData);
ProcessInstance instance = flowApiService.getProcessInstance(processInstanceId);
flowWorkOrderService.saveNew(instance, dataId, table.getTableId());
flowWorkOrderService.saveNew(instance, dataId, table.getTableId(), null);
}
@Transactional(rollbackFor = Exception.class)
@@ -117,7 +117,7 @@ public class FlowOnlineOperationServiceImpl implements FlowOnlineOperationServic
taskVariableData.putAll(variables);
flowApiService.completeTask(task, flowTaskComment, taskVariableData);
ProcessInstance instance = flowApiService.getProcessInstance(processInstanceId);
flowWorkOrderService.saveNew(instance, dataId, masterTable.getTableId());
flowWorkOrderService.saveNew(instance, dataId, masterTable.getTableId(), null);
}
@Transactional(rollbackFor = Exception.class)

View File

@@ -1,2 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.flow.demo.common.flow.online.config.FlowOnlineAutoConfig
com.orangeforms.common.flow.online.config.FlowOnlineAutoConfig