|
@@ -104,7 +104,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
ExamDetailService examDetailService;
|
|
|
|
|
|
@Resource
|
|
|
- TExamTaskFlowService tExamTaskFlowService;
|
|
|
+ TFFlowJoinService tfFlowJoinService;
|
|
|
|
|
|
@Resource
|
|
|
MultiWorkFlow multiWorkFlow;
|
|
@@ -266,6 +266,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
ExamTask examTask = examTaskService.findByFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
//流程审批
|
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(SystemConstant.convertIdToLong(flowId), examTask.getSchoolId());
|
|
|
+ TFFlowJoin tfFlowJoin = tfFlowJoinService.findByRootLevel(SystemConstant.convertIdToLong(flowId));
|
|
|
if (Objects.isNull(tfFlowApprove)) {
|
|
|
tfFlowApprove = new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), sysUser.getId(), FlowStatusEnum.END, sysUser.getId());
|
|
|
} else {
|
|
@@ -276,7 +277,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
|
|
|
|
//流程流水日志
|
|
|
- TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), examTask.getFlowId(), examTask.getId(), sysUser.getId(), sysUser.getId(), FlowApproveSetupEnum.END.getTitle());
|
|
|
+ TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), examTask.getFlowId(), examTask.getId(), sysUser.getId(), sysUser.getId(), FlowApproveSetupEnum.END.getTitle(), tfFlowJoin.getObjectTable());
|
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
|
tfFlowLog.setApproveSetup(FlowApproveSetupEnum.END.getSetup());
|
|
|
tfFlowLogService.save(tfFlowLog);
|
|
@@ -308,6 +309,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
Optional.ofNullable(map.get(SystemConstant.FLOW_ID)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程id不能为空"));
|
|
|
String flowId = (String) map.get(SystemConstant.FLOW_ID);
|
|
|
+ TFCustomTypeEnum flowType = (TFCustomTypeEnum) map.get(SystemConstant.FLOW_TYPE);
|
|
|
|
|
|
Optional.ofNullable(map.get(SystemConstant.FLOW_STATUS)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程状态不能为空"));
|
|
|
FlowStatusEnum flowStatusEnum = (FlowStatusEnum) map.get(SystemConstant.FLOW_STATUS);
|
|
@@ -315,19 +317,22 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
String approveId = Objects.nonNull(map.get(SystemConstant.APPROVE_ID)) ? String.valueOf((Long) map.get(SystemConstant.APPROVE_ID)) : null;
|
|
|
tfFlowApproveService.save(new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), sysUser.getId(), flowStatusEnum, sysUser.getId()));
|
|
|
|
|
|
+ Long objectId = (Long) map.get(SystemConstant.OBJECT_ID);
|
|
|
//TODO 测试用
|
|
|
- Long examTaskId = (Long) map.get(SystemConstant.EXAM_TASK_ID);
|
|
|
- ExamTask examTask = examTaskService.getById(examTaskId);
|
|
|
- examTask.setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
- examTaskService.updateById(examTask);
|
|
|
+ if (flowType == TFCustomTypeEnum.ELECTRON_FLOW) {//如果是电子交卷审核,就查询命题任务
|
|
|
+ ExamTask examTask = examTaskService.getById(objectId);
|
|
|
+ examTask.setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
+ examTaskService.updateById(examTask);
|
|
|
+ }
|
|
|
|
|
|
String id = (String) map.get(SystemConstant.FLOW_ENTITY_ID);
|
|
|
- TExamTaskFlow tExamTaskFlow = tExamTaskFlowService.findByFlowLevel(examTaskId);
|
|
|
- tExamTaskFlow.setFlowEntityId(SystemConstant.convertIdToLong(id));
|
|
|
- tExamTaskFlow.setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
- tExamTaskFlowService.updateById(tExamTaskFlow);
|
|
|
+ TFFlowJoin tfFlowJoin = tfFlowJoinService.findByFlowLevel(objectId);
|
|
|
+ tfFlowJoin.setFlowEntityId(SystemConstant.convertIdToLong(id));
|
|
|
+ tfFlowJoin.setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
+ tfFlowJoin.setObjectTable(flowType.getTable());
|
|
|
+ tfFlowJoinService.updateById(tfFlowJoin);
|
|
|
|
|
|
- tfFlowLogService.save(new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), examTaskId, sysUser.getId(), sysUser.getId(), "提交流程", approveId, FlowApproveOperationEnum.SUBMIT));
|
|
|
+ tfFlowLogService.save(new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), objectId, sysUser.getId(), sysUser.getId(), "提交流程", approveId, FlowApproveOperationEnum.SUBMIT, flowType.getTable()));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -367,6 +372,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
TFCustomFlowEntity tfCustomFlowEntity = tfCustomFlowEntityService.findByFlowId(flowId);
|
|
|
Map<String, Object> flowProcessVarMap = this.getFlowProcessVarMap(tfCustomFlowEntity);
|
|
|
|
|
|
+ TFFlowJoin tfFlowJoin = tfFlowJoinService.findByRootLevel(flowId);
|
|
|
+
|
|
|
String remark = null;
|
|
|
FlowTaskResult currFlowTaskResult = null, nextFlowTaskResult = null;
|
|
|
Map<String, CustomFlowVarDto> agginessMap = (Map<String, CustomFlowVarDto>) flowProcessVarMap.get(SystemConstant.AGGINESS_MAP);
|
|
@@ -387,7 +394,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
}
|
|
|
remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
|
|
|
//流程流水日志
|
|
|
- tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
|
|
|
+ tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, examTask.getId(), sysUser.getId(), sysUser.getId(), remark, tfFlowJoin.getObjectTable());
|
|
|
//判断流程审批是通过还是驳回
|
|
|
FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
Map<String, FlowTaskResult> setupMap = (Map<String, FlowTaskResult>) flowProcessVarMap.get(SystemConstant.SETUP_MAP);
|
|
@@ -1090,8 +1097,11 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
|
|
|
ExamTask examTask = examTaskService.findByFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
SysUser exchangeUser = sysUserService.getById(userId);
|
|
|
+
|
|
|
+ TFFlowJoin tfFlowJoin = tfFlowJoinService.findByRootLevel(SystemConstant.convertIdToLong(flowId));
|
|
|
+
|
|
|
//流程流水日志
|
|
|
- TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), examTask.getFlowId(), examTask.getId(), sysUser.getId(), sysUser.getRealName() + "转" + exchangeUser.getRealName() + "审批", FlowApproveOperationEnum.EXCHANGE, sysUser.getId(), String.valueOf(exchangeUser.getId()));
|
|
|
+ TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), examTask.getFlowId(), examTask.getId(), sysUser.getId(), sysUser.getRealName() + "转" + exchangeUser.getRealName() + "审批", FlowApproveOperationEnum.EXCHANGE, sysUser.getId(), String.valueOf(exchangeUser.getId()), tfFlowJoin.getObjectTable());
|
|
|
Gson gson = new Gson();
|
|
|
CustomFlowVarDto customFlowVarDto = gson.fromJson(gson.toJson(agginessMap.get(userTask.getId())), CustomFlowVarDto.class);
|
|
|
if (customFlowVarDto.getApproveIds().size() == 1) {
|
|
@@ -1375,7 +1385,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
@Override
|
|
|
public List<FlowTaskSubmitPeopleAllResult> taskApproverSubmitList(String examTaskId) {
|
|
|
List<FlowTaskSubmitPeopleAllResult> flowTaskSubmitPeopleAllResultList = null;
|
|
|
- List<TFFlowLogResult> tfFlowLogResultList = tfFlowLogService.findByExamTaskId(SystemConstant.convertIdToLong(examTaskId));
|
|
|
+ List<TFFlowLogResult> tfFlowLogResultList = tfFlowLogService.findByObjectId(SystemConstant.convertIdToLong(examTaskId));
|
|
|
if (Objects.nonNull(tfFlowLogResultList) && tfFlowLogResultList.size() > 0) {
|
|
|
flowTaskSubmitPeopleAllResultList = new LinkedList<>();
|
|
|
for (TFFlowLogResult t : tfFlowLogResultList) {
|
|
@@ -2262,8 +2272,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
Optional.ofNullable(tfCustomFlowEntity).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("自定义流程实体数据为空"));
|
|
|
|
|
|
//获取流程id
|
|
|
- List<TExamTaskFlow> tExamTaskFlowList = tExamTaskFlowService.findByFlowEntityId(tfCustomFlowEntity.getId());
|
|
|
- Optional.ofNullable(tExamTaskFlowList).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程数据为空"));
|
|
|
+ List<TFFlowJoin> tfFlowJoinList = tfFlowJoinService.findByFlowEntityId(tfCustomFlowEntity.getId());
|
|
|
+ Optional.ofNullable(tfFlowJoinList).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程数据为空"));
|
|
|
|
|
|
//获取当前流程节点
|
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId, sysUser.getSchoolId());
|
|
@@ -2290,7 +2300,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
}
|
|
|
|
|
|
//获取流程审批历史
|
|
|
- List<TFFlowLogResult> tfFlowLogResultList = tfFlowLogService.findByExamTaskId(tExamTaskFlowList.get(0).getTaskId());
|
|
|
+ List<TFFlowLogResult> tfFlowLogResultList = tfFlowLogService.findByObjectId(tfFlowJoinList.get(0).getObjectId());
|
|
|
if (Objects.nonNull(tfFlowLogResultList) && tfFlowLogResultList.size() > 0) {
|
|
|
List<TFFlowViewLogResult> flowViewTaskResultList = gson.fromJson(gson.toJson(tfFlowLogResultList), new TypeToken<List<TFFlowViewLogResult>>() {
|
|
|
}.getType());
|