|
@@ -185,7 +185,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
}
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
FlowTaskResult flowTaskResult = JSONObject.parseObject(sopApplyParam.getFormProperties(), FlowTaskResult.class);
|
|
|
- Map<String,Object> mapVar = this.getApproveUserIds(flowTaskResult);
|
|
|
+ Map<String, Object> mapVar = this.getApproveUserIds(flowTaskResult);
|
|
|
Long regionUserId = (Long) mapVar.get(SystemConstant.REGION_USER_ID);
|
|
|
Long engineerUserId = (Long) mapVar.get(SystemConstant.ENGINEER_USER_ID);
|
|
|
String assistantEngineerUserIds = (String) mapVar.get(SystemConstant.ASSISTANT_ENGINEER_USER_ID);
|
|
@@ -214,17 +214,23 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
@Transactional
|
|
|
public Boolean sopApprove(FlowApproveParam flowApproveParam) throws InterruptedException {
|
|
|
if (Objects.isNull(flowApproveParam.getTaskId())) {
|
|
|
- throw ExceptionResultEnum.PARAMS_ERROR.exception("流程节点id不能为空");
|
|
|
+ throw ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception();
|
|
|
}
|
|
|
if (flowApproveParam.getApprove() != FlowApprovePassEnum.PASS && flowApproveParam.getApprove() != FlowApprovePassEnum.REJECT && flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT) {
|
|
|
throw ExceptionResultEnum.PARAMS_ERROR.exception("sop填报只能为通过或驳回或草稿");
|
|
|
}
|
|
|
+ if (Objects.isNull(flowApproveParam.getFormProperties())) {
|
|
|
+ throw ExceptionResultEnum.FLOW_FORM_PROPERTIES_IS_NULL.exception();
|
|
|
+ }
|
|
|
+ if (flowApproveParam.getApprove() == FlowApprovePassEnum.REJECT && Objects.isNull(flowApproveParam.getSetup())) {
|
|
|
+ throw ExceptionResultEnum.FLOW_REJECT_SETUP_IS_NULL.exception();
|
|
|
+ }
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
Task task = taskService.createTaskQuery().taskId(String.valueOf(flowApproveParam.getTaskId())).singleResult();
|
|
|
Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_NO_DATA.exception());
|
|
|
|
|
|
- List<Long> taskApproveUserList = activitiService.getTaskApprove(task);
|
|
|
- if (flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT && !CollectionUtils.isEmpty(taskApproveUserList) && !taskApproveUserList.contains(sysUser.getId())) {
|
|
|
+ List<String> taskApproveUserList = activitiService.getTaskApprove(task);
|
|
|
+ if (flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT && !CollectionUtils.isEmpty(taskApproveUserList) && !taskApproveUserList.contains(sysUser.getId().toString())) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("不能审批他人的sop数据");
|
|
|
}
|
|
|
|
|
@@ -251,7 +257,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
.set(TBSopInfoDetail::getAssistantEngineerUserIds, assistantEngineerUserIds);
|
|
|
tbSopInfoDetailService.update(updateWrapper);
|
|
|
} else {
|
|
|
- engineerUserId = taskApproveUserList.get(0);
|
|
|
+ engineerUserId = Long.parseLong(taskApproveUserList.get(0));
|
|
|
}
|
|
|
List<String> approveUserIds = Objects.nonNull(engineerUserId) ? Arrays.asList(String.valueOf(engineerUserId)) : Arrays.asList(String.valueOf(sysUser.getId()));
|
|
|
flowApproveParam.setApproveUserIds(approveUserIds);
|
|
@@ -275,6 +281,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
* 获取审批人
|
|
|
*
|
|
|
* @param flowTaskResult
|
|
|
+ * @return
|
|
|
*/
|
|
|
public Map<String, Object> getApproveUserIds(FlowTaskResult flowTaskResult) {
|
|
|
Map<String, Object> map = new HashMap<>();
|