diff --git a/src/main/java/neatlogic/module/autoexec/process/dto/AutoexecJobBuilder.java b/src/main/java/neatlogic/module/autoexec/process/dto/AutoexecJobBuilder.java index 9002d4b137b296c98b916c2179bc65fad4a72a32..d687aa43ae019d24af4362f119a7e61d8d79cf77 100644 --- a/src/main/java/neatlogic/module/autoexec/process/dto/AutoexecJobBuilder.java +++ b/src/main/java/neatlogic/module/autoexec/process/dto/AutoexecJobBuilder.java @@ -55,6 +55,8 @@ public class AutoexecJobBuilder { @EntityField(name = "作业参数数据", type = ApiParamType.JSONOBJECT) private JSONObject param; + private String error; + public Long getCombopId() { return combopId; } @@ -131,6 +133,14 @@ public class AutoexecJobBuilder { this.parallelPolicy = parallelPolicy; } + public String getError() { + return error; + } + + public void setError(String error) { + this.error = error; + } + public AutoexecJobBuilder(Long combopId) { this.combopId = combopId; } diff --git a/src/main/java/neatlogic/module/autoexec/process/stephandler/component/CreateJobProcessComponent.java b/src/main/java/neatlogic/module/autoexec/process/stephandler/component/CreateJobProcessComponent.java index b5c97e1835efd3b8da51a88778e92fc5832c6de8..f77c39910ac2d4021cd4ec71a140bf2a28e69e69 100644 --- a/src/main/java/neatlogic/module/autoexec/process/stephandler/component/CreateJobProcessComponent.java +++ b/src/main/java/neatlogic/module/autoexec/process/stephandler/component/CreateJobProcessComponent.java @@ -219,72 +219,93 @@ public class CreateJobProcessComponent extends ProcessStepHandlerBase { continue; } if (Objects.equals(createJobConfigConfigVo.getType(), "service")) { - JSONObject paramObj = null; - Long processTaskId = processTaskStepVo.getProcessTaskId(); - // 如果工单有表单信息,则查询出表单配置及数据 - IProcessTaskCrossoverService processTaskCrossoverService = CrossoverServiceFactory.getApi(IProcessTaskCrossoverService.class); - List formAttributeList = processTaskCrossoverService.getFormAttributeListByProcessTaskIdAngTagNew(processTaskId, createJobConfigConfigVo.getFormTag()); - if (CollectionUtils.isNotEmpty(formAttributeList)) { - List processTaskFormAttributeDataList = processTaskCrossoverService.getProcessTaskFormAttributeDataListByProcessTaskIdAndTagNew(processTaskId, createJobConfigConfigVo.getFormTag()); - for (ProcessTaskFormAttributeDataVo attributeDataVo : processTaskFormAttributeDataList) { - if (Objects.equals(attributeDataVo.getAttributeUuid(), createJobConfigConfigVo.getFormAttributeUuid())) { - paramObj = (JSONObject) attributeDataVo.getDataObj(); - break; + Long combopId = null; + String jobName = null; + try { + JSONObject paramObj = null; + Long processTaskId = processTaskStepVo.getProcessTaskId(); + // 如果工单有表单信息,则查询出表单配置及数据 + IProcessTaskCrossoverService processTaskCrossoverService = CrossoverServiceFactory.getApi(IProcessTaskCrossoverService.class); + List formAttributeList = processTaskCrossoverService.getFormAttributeListByProcessTaskIdAngTagNew(processTaskId, createJobConfigConfigVo.getFormTag()); + if (CollectionUtils.isNotEmpty(formAttributeList)) { + List processTaskFormAttributeDataList = processTaskCrossoverService.getProcessTaskFormAttributeDataListByProcessTaskIdAndTagNew(processTaskId, createJobConfigConfigVo.getFormTag()); + for (ProcessTaskFormAttributeDataVo attributeDataVo : processTaskFormAttributeDataList) { + if (Objects.equals(attributeDataVo.getAttributeUuid(), createJobConfigConfigVo.getFormAttributeUuid())) { + paramObj = (JSONObject) attributeDataVo.getDataObj(); + break; + } } } - } - if (MapUtils.isNotEmpty(paramObj)) { - Long serviceId = paramObj.getLong("serviceId"); - AutoexecServiceVo autoexecServiceVo = autoexecServiceMapper.getAutoexecServiceById(serviceId); - if (autoexecServiceVo == null) { - throw new AutoexecServiceNotFoundException(serviceId); + if (MapUtils.isNotEmpty(paramObj)) { + Long serviceId = paramObj.getLong("serviceId"); + String name = paramObj.getString("name"); + jobName = name; + AutoexecServiceVo autoexecServiceVo = autoexecServiceMapper.getAutoexecServiceById(serviceId); + if (autoexecServiceVo == null) { + throw new AutoexecServiceNotFoundException(serviceId); + } + if (Objects.equals(autoexecServiceVo.getConfigExpired(), 1)) { + throw new AutoexecServiceConfigExpiredException(autoexecServiceVo.getName()); + } + combopId = autoexecServiceVo.getCombopId(); + AutoexecCombopVersionVo autoexecCombopVersionVo = autoexecCombopVersionMapper.getAutoexecCombopActiveVersionByCombopId(combopId); + if (autoexecCombopVersionVo == null) { + throw new AutoexecCombopActiveVersionNotFoundException(combopId); + } + Long scenarioId = paramObj.getLong("scenarioId"); + JSONArray formAttributeDataList = paramObj.getJSONArray("formAttributeDataList"); + JSONArray hidecomponentList = paramObj.getJSONArray("hidecomponentList"); + Integer roundCount = paramObj.getInteger("roundCount"); + Integer parallelCount = paramObj.getInteger("parallelCount"); + String parallelPolicy = paramObj.getString("parallelPolicy"); + String executeUser = paramObj.getString("executeUser"); + Long protocol = paramObj.getLong("protocol"); + AutoexecCombopExecuteNodeConfigVo executeNodeConfig = paramObj.getObject("executeNodeConfig", AutoexecCombopExecuteNodeConfigVo.class); + JSONObject runtimeParamMap = paramObj.getJSONObject("runtimeParamMap"); + ParamMappingVo runnerGroup = null; + JSONObject runnerGroupObj = paramObj.getJSONObject("runnerGroup"); + if (MapUtils.isNotEmpty(runnerGroupObj)) { + runnerGroup = runnerGroupObj.toJavaObject(ParamMappingVo.class); + } + ParamMappingVo runnerGroupTag = null; + JSONObject runnerGroupTagObj = paramObj.getJSONObject("runnerGroupTag"); + if (MapUtils.isNotEmpty(runnerGroupTagObj)) { + runnerGroupTag = runnerGroupTagObj.toJavaObject(ParamMappingVo.class); + } + AutoexecJobBuilder autoexecJobBuilder = autoexecServiceService.getAutoexecJobBuilder(autoexecServiceVo, autoexecCombopVersionVo, name, scenarioId, formAttributeDataList, hidecomponentList, roundCount, parallelCount, parallelPolicy, executeUser, protocol, executeNodeConfig, runtimeParamMap, runnerGroup, runnerGroupTag); + if (autoexecJobBuilder != null) { + builderList.add(autoexecJobBuilder); + } } - if (Objects.equals(autoexecServiceVo.getConfigExpired(), 1)) { - throw new AutoexecServiceConfigExpiredException(autoexecServiceVo.getName()); + } catch (Exception e) { + logger.error(e.getMessage(), e); + AutoexecJobBuilder autoexecJobBuilder = new AutoexecJobBuilder(combopId); + autoexecJobBuilder.setJobName(jobName); + autoexecJobBuilder.setError(e.getMessage()); + builderList.add(autoexecJobBuilder); + } + } else { + try { + Long activeVersionId = autoexecCombopVersionMapper.getAutoexecCombopActiveVersionIdByCombopId(createJobConfigConfigVo.getCombopId()); + if (activeVersionId == null) { + throw new AutoexecCombopActiveVersionNotFoundException(createJobConfigConfigVo.getCombopId()); } - Long combopId = autoexecServiceVo.getCombopId(); - AutoexecCombopVersionVo autoexecCombopVersionVo = autoexecCombopVersionMapper.getAutoexecCombopActiveVersionByCombopId(combopId); + AutoexecCombopVersionVo autoexecCombopVersionVo = autoexecCombopService.getAutoexecCombopVersionById(activeVersionId); if (autoexecCombopVersionVo == null) { - throw new AutoexecCombopActiveVersionNotFoundException(combopId); - } - String name = paramObj.getString("name"); - Long scenarioId = paramObj.getLong("scenarioId"); - JSONArray formAttributeDataList = paramObj.getJSONArray("formAttributeDataList"); - JSONArray hidecomponentList = paramObj.getJSONArray("hidecomponentList"); - Integer roundCount = paramObj.getInteger("roundCount"); - Integer parallelCount = paramObj.getInteger("parallelCount"); - String parallelPolicy = paramObj.getString("parallelPolicy"); - String executeUser = paramObj.getString("executeUser"); - Long protocol = paramObj.getLong("protocol"); - AutoexecCombopExecuteNodeConfigVo executeNodeConfig = paramObj.getObject("executeNodeConfig", AutoexecCombopExecuteNodeConfigVo.class); - JSONObject runtimeParamMap = paramObj.getJSONObject("runtimeParamMap"); - ParamMappingVo runnerGroup = null; - JSONObject runnerGroupObj = paramObj.getJSONObject("runnerGroup"); - if (MapUtils.isNotEmpty(runnerGroupObj)) { - runnerGroup = runnerGroupObj.toJavaObject(ParamMappingVo.class); - } - ParamMappingVo runnerGroupTag = null; - JSONObject runnerGroupTagObj = paramObj.getJSONObject("runnerGroupTag"); - if (MapUtils.isNotEmpty(runnerGroupTagObj)) { - runnerGroupTag = runnerGroupTagObj.toJavaObject(ParamMappingVo.class); + throw new AutoexecCombopVersionNotFoundException(activeVersionId); } - AutoexecJobBuilder autoexecJobBuilder = autoexecServiceService.getAutoexecJobBuilder(autoexecServiceVo, autoexecCombopVersionVo, name, scenarioId, formAttributeDataList, hidecomponentList, roundCount,parallelCount,parallelPolicy, executeUser, protocol, executeNodeConfig, runtimeParamMap, runnerGroup, runnerGroupTag); - if (autoexecJobBuilder != null) { - builderList.add(autoexecJobBuilder); + // 根据配置信息创建AutoexecJobBuilder对象 + List list = CreateJobConfigUtil.createAutoexecJobBuilderList(processTaskStepVo, createJobConfigConfigVo, autoexecCombopVersionVo); + if (CollectionUtils.isNotEmpty(list)) { + builderList.addAll(list); } + } catch (Exception e) { + logger.error(e.getMessage(), e); + AutoexecJobBuilder autoexecJobBuilder = new AutoexecJobBuilder(createJobConfigConfigVo.getCombopId()); + autoexecJobBuilder.setJobName(createJobConfigConfigVo.getJobName()); + autoexecJobBuilder.setError(e.getMessage()); + builderList.add(autoexecJobBuilder); } - } else { - Long activeVersionId = autoexecCombopVersionMapper.getAutoexecCombopActiveVersionIdByCombopId(createJobConfigConfigVo.getCombopId()); - if (activeVersionId == null) { - throw new AutoexecCombopActiveVersionNotFoundException(createJobConfigConfigVo.getCombopId()); - } - AutoexecCombopVersionVo autoexecCombopVersionVo = autoexecCombopService.getAutoexecCombopVersionById(activeVersionId); - if (autoexecCombopVersionVo == null) { - throw new AutoexecCombopVersionNotFoundException(activeVersionId); - } - // 根据配置信息创建AutoexecJobBuilder对象 - List list = CreateJobConfigUtil.createAutoexecJobBuilderList(processTaskStepVo, createJobConfigConfigVo, autoexecCombopVersionVo); - builderList.addAll(list); } }