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 a2a269c147e53c072b370e056f4e5a3c79a5c845..f88eb8f37f330c1c110267e2af8dec5c47dec1bf 100644 --- a/src/main/java/neatlogic/module/autoexec/process/dto/AutoexecJobBuilder.java +++ b/src/main/java/neatlogic/module/autoexec/process/dto/AutoexecJobBuilder.java @@ -48,6 +48,9 @@ public class AutoexecJobBuilder { @EntityField(name = "作业参数数据", type = ApiParamType.JSONOBJECT) private JSONObject param; + @EntityField(name = "原始数据", type = ApiParamType.JSONOBJECT) + private JSONObject rawData; + public Long getCombopId() { return combopId; } @@ -108,6 +111,14 @@ public class AutoexecJobBuilder { this.param = param; } + public JSONObject getRawData() { + return rawData; + } + + public void setRawData(JSONObject rawData) { + this.rawData = rawData; + } + 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 7ce3bfa9525c6f89ed2118a6aa92136f9719fe9b..0e60f2183cd1fa646ca34641fb761dca763b97a3 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 @@ -18,6 +18,7 @@ package neatlogic.module.autoexec.process.stephandler.component; import com.alibaba.fastjson.*; +import com.alibaba.fastjson.serializer.SerializerFeature; import neatlogic.framework.asynchronization.threadlocal.UserContext; import neatlogic.framework.autoexec.constvalue.AutoexecNotifyTriggerType; import neatlogic.framework.autoexec.constvalue.CombopOperationType; @@ -149,19 +150,25 @@ public class CreateJobProcessComponent extends ProcessStepHandlerBase { ISelectContentByHashCrossoverMapper selectContentByHashCrossoverMapper = CrossoverServiceFactory.getApi(ISelectContentByHashCrossoverMapper.class); IProcessTaskStepDataCrossoverMapper processTaskStepDataCrossoverMapper = CrossoverServiceFactory.getApi(IProcessTaskStepDataCrossoverMapper.class); try { - String configHash = currentProcessTaskStepVo.getConfigHash(); - if (StringUtils.isBlank(configHash)) { - ProcessTaskStepVo processTaskStepVo = processTaskCrossoverMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); - configHash = processTaskStepVo.getConfigHash(); - currentProcessTaskStepVo.setProcessStepUuid(processTaskStepVo.getProcessStepUuid()); - } - // 获取工单当前步骤配置信息 - String config = selectContentByHashCrossoverMapper.getProcessTaskStepConfigByHash(configHash); - if (StringUtils.isBlank(config)) { - processTaskStepComplete(currentProcessTaskStepVo.getId()); - return 0; + JSONObject config = currentProcessTaskStepVo.getConfig(); + if (MapUtils.isEmpty(config)) { + String configHash = currentProcessTaskStepVo.getConfigHash(); + if (StringUtils.isBlank(configHash)) { + ProcessTaskStepVo processTaskStepVo = processTaskCrossoverMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); + configHash = processTaskStepVo.getConfigHash(); + currentProcessTaskStepVo.setConfigHash(configHash); + currentProcessTaskStepVo.setProcessStepUuid(processTaskStepVo.getProcessStepUuid()); + } + // 获取工单当前步骤配置信息 + String configStr = selectContentByHashCrossoverMapper.getProcessTaskStepConfigByHash(configHash); + if (StringUtils.isBlank(configStr)) { + processTaskStepComplete(currentProcessTaskStepVo.getId()); + return 0; + } + config = JSONObject.parseObject(configStr); + currentProcessTaskStepVo.setConfig(config); } - JSONObject createJobConfig = (JSONObject) JSONPath.read(config, "createJobConfig"); + JSONObject createJobConfig = config.getJSONObject("createJobConfig"); if (MapUtils.isEmpty(createJobConfig)) { processTaskStepComplete(currentProcessTaskStepVo.getId()); return 0; @@ -275,11 +282,12 @@ public class CreateJobProcessComponent extends ProcessStepHandlerBase { } catch (Exception e) { // 增加提醒 logger.error(e.getMessage(), e); - logger.error(JSON.toJSONString(builder)); + String builderStr = JSON.toJSONString(builder, SerializerFeature.DisableCircularReferenceDetect); + logger.error(builderStr); JSONObject errorMessageObj = new JSONObject(); errorMessageObj.put("jobId", jobVo.getId()); errorMessageObj.put("jobName", jobVo.getName()); - errorMessageObj.put("error", e.getMessage() + " jobVo=" + JSON.toJSONString(builder)); + errorMessageObj.put("error", e.getMessage() + " jobVo=" + builderStr); errorMessageList.add(errorMessageObj); flag = true; } diff --git a/src/main/java/neatlogic/module/autoexec/process/util/CreateJobConfigUtil.java b/src/main/java/neatlogic/module/autoexec/process/util/CreateJobConfigUtil.java index 79962e536bcb31f40349e02da58a32cfa67939d5..b279d53546267057d5af2ddb48b9b144566138ec 100644 --- a/src/main/java/neatlogic/module/autoexec/process/util/CreateJobConfigUtil.java +++ b/src/main/java/neatlogic/module/autoexec/process/util/CreateJobConfigUtil.java @@ -191,6 +191,15 @@ public class CreateJobConfigUtil { // 组合工具ID Long combopId = createJobConfigConfigVo.getCombopId(); AutoexecJobBuilder builder = new AutoexecJobBuilder(combopId); + JSONObject rawData = new JSONObject(); + rawData.put("currentProcessTaskStepVo", currentProcessTaskStepVo); + rawData.put("createJobConfigConfigVo", createJobConfigConfigVo); + rawData.put("autoexecCombopVersionVo", autoexecCombopVersionVo); + rawData.put("formAttributeList", formAttributeList); + rawData.put("originalFormAttributeDataMap", originalFormAttributeDataMap); + rawData.put("formAttributeDataMap", formAttributeDataMap); + rawData.put("processTaskParam", processTaskParam); + builder.setRawData(JSONObject.parseObject(rawData.toJSONString())); // 作业名称 String jobName = createJobConfigConfigVo.getJobName(); AutoexecCombopVersionConfigVo versionConfig = autoexecCombopVersionVo.getConfig();