diff --git a/src/main/java/neatlogic/module/process/api/form/FormAttributeCheckApi.java b/src/main/java/neatlogic/module/process/api/form/FormAttributeCheckApi.java index 670a373812976249af17456a0b3ebbde1ff79a23..a35108d9600306672ab3987d6e0d3d29aa4a4f4a 100644 --- a/src/main/java/neatlogic/module/process/api/form/FormAttributeCheckApi.java +++ b/src/main/java/neatlogic/module/process/api/form/FormAttributeCheckApi.java @@ -123,6 +123,8 @@ public class FormAttributeCheckApi extends PrivateApiComponentBase { throw new ParamIrregularException("config","config参数中必须包含'processTaskId'或'channelUuid'"); } String attributeUuid = jsonObj.getString("attributeUuid"); + String mainSceneUuid = formVersionVo.getFormConfig().getString("uuid"); + formVersionVo.setSceneUuid(mainSceneUuid); List formAttributeList = formVersionVo.getFormAttributeList(); for(FormAttributeVo formAttribute : formAttributeList) { if(attributeUuid.equals(formAttribute.getUuid())) { diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java index 7a6730bfbccb5d1ed461e058980d4d1fe3003783..672b2586376d37061304a920bcc35d28fd8e5e2c 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java @@ -206,6 +206,8 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { //获取目标表单值 FormVersionVo toFormVersion = new FormVersionVo(); toFormVersion.setFormConfig(toProcessTaskFormConfig); + String mainSceneUuid = toProcessTaskFormConfig.getString("uuid"); + toFormVersion.setSceneUuid(mainSceneUuid); for (FormAttributeVo formAttributeVo : toFormVersion.getFormAttributeList()) { String fromFormAttributeHandler = labelHandlerMap.getString(formAttributeVo.getLabel()); if (Objects.equals(fromFormAttributeHandler, formAttributeVo.getHandler())) { @@ -237,8 +239,11 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { if (StringUtils.isNotBlank(formContent)) { Map labelUuidMap = new HashMap<>(); Map labelHandlerMap = new HashMap<>(); + JSONObject formConfig = JSON.parseObject(formContent); FormVersionVo fromFormVersion = new FormVersionVo(); - fromFormVersion.setFormConfig(JSON.parseObject(formContent)); + fromFormVersion.setFormConfig(formConfig); + String mainSceneUuid = formConfig.getString("uuid"); + fromFormVersion.setSceneUuid(mainSceneUuid); List fromFormAttributeList = fromFormVersion.getFormAttributeList(); for (FormAttributeVo formAttributeVo : fromFormAttributeList) { labelUuidMap.put(formAttributeVo.getLabel(), formAttributeVo.getUuid()); @@ -303,6 +308,8 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { Map resultObj = new HashMap<>(); FormVersionVo toFormVersion = new FormVersionVo(); toFormVersion.setFormConfig(processTaskVo.getFormConfig()); + String mainSceneUuid = processTaskVo.getFormConfig().getString("uuid"); + toFormVersion.setSceneUuid(mainSceneUuid); for (FormAttributeVo formAttributeVo : toFormVersion.getFormAttributeList()) { String parentFormLabel = parentSubProcessTaskStepConfigFormMapping.getString(formAttributeVo.getLabel()); if (StringUtils.isNotBlank(parentFormLabel)) { diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFormDataListForEmailApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFormDataListForEmailApi.java index db3b3bdab70284c1ff67165e4b457e8f3620c96a..af5bb954ce5d77f94283faebb8424cc57fd6318b 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFormDataListForEmailApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFormDataListForEmailApi.java @@ -88,6 +88,8 @@ public class ProcessTaskFormDataListForEmailApi extends PrivateApiComponentBase if (MapUtils.isNotEmpty(processTaskVo.getFormConfig())) { FormVersionVo formVersionVo = new FormVersionVo(); formVersionVo.setFormConfig(processTaskVo.getFormConfig()); + String mainSceneUuid = processTaskVo.getFormConfig().getString("uuid"); + formVersionVo.setSceneUuid(mainSceneUuid); List formAttributeList = formVersionVo.getFormAttributeList(); for (FormAttributeVo formAttribute : formAttributeList) { ProcessTaskFormAttributeDataVo attributeDataVo = processTaskFormAttributeDataMap.get(formAttribute.getUuid()); diff --git a/src/main/java/neatlogic/module/process/api/workcenter/WorkcenterDataExportApi.java b/src/main/java/neatlogic/module/process/api/workcenter/WorkcenterDataExportApi.java index be9280f3f6b57f338aa83c98bad3f0ec3c50d172..0fdac280424f075d0d4511ad53146abe88460df0 100644 --- a/src/main/java/neatlogic/module/process/api/workcenter/WorkcenterDataExportApi.java +++ b/src/main/java/neatlogic/module/process/api/workcenter/WorkcenterDataExportApi.java @@ -185,6 +185,8 @@ public class WorkcenterDataExportApi extends PrivateBinaryStreamApiComponentBase if (processForm != null) { FormVersionVo formVersionVo = formMapper.getActionFormVersionByFormUuid(processForm.getFormUuid()); if (formVersionVo != null) { + String mainSceneUuid = formVersionVo.getFormConfig().getString("uuid"); + formVersionVo.setSceneUuid(mainSceneUuid); List formAttributeList = formVersionVo.getFormAttributeList(); if (CollectionUtils.isNotEmpty(formAttributeList)) { List formAttributeVoList = new ArrayList<>(); diff --git a/src/main/java/neatlogic/module/process/audithandler/handler/FormAuditHandler.java b/src/main/java/neatlogic/module/process/audithandler/handler/FormAuditHandler.java index 7612e834dc75718fe599d57447e3aa58561f9748..3205d35417c70397b84dea5e52da16dff9253761 100644 --- a/src/main/java/neatlogic/module/process/audithandler/handler/FormAuditHandler.java +++ b/src/main/java/neatlogic/module/process/audithandler/handler/FormAuditHandler.java @@ -88,12 +88,14 @@ public class FormAuditHandler implements IProcessTaskStepAuditDetailHandler { formVersionVo.setFormUuid(processTaskForm.getFormUuid()); formVersionVo.setFormName(processTaskForm.getFormName()); formVersionVo.setFormConfig(JSONObject.parseObject(formContent)); - List defaultSceneFormAttributeList = formVersionVo.getFormAttributeList(); - if (CollectionUtils.isEmpty(defaultSceneFormAttributeList)) { + String mainSceneUuid = formVersionVo.getFormConfig().getString("uuid"); + formVersionVo.setSceneUuid(mainSceneUuid); + List mainSceneFormAttributeList = formVersionVo.getFormAttributeList(); + if (CollectionUtils.isEmpty(mainSceneFormAttributeList)) { return 0; } // 判断是否修改了表单数据 - if (!FormUtil.isModifiedFormData(defaultSceneFormAttributeList, processTaskFormAttributeDataList, oldProcessTaskFormAttributeDataList)) { + if (!FormUtil.isModifiedFormData(mainSceneFormAttributeList, processTaskFormAttributeDataList, oldProcessTaskFormAttributeDataList)) { // 表单未修改,返回值为0,表示不用显示表单内容 return 0; } @@ -102,7 +104,7 @@ public class FormAuditHandler implements IProcessTaskStepAuditDetailHandler { Map oldProcessTaskFormAttributeDataMap = oldProcessTaskFormAttributeDataList.stream().collect(Collectors.toMap(e -> e.getAttributeUuid(), e -> e)); Map attributeConfigMap = new HashMap<>(); Map attributeLabelMap = new HashMap<>(); - for (FormAttributeVo formAttributeVo : defaultSceneFormAttributeList) { + for (FormAttributeVo formAttributeVo : mainSceneFormAttributeList) { String attributeUuid = formAttributeVo.getUuid(); attributeLabelMap.put(attributeUuid, formAttributeVo.getLabel()); attributeConfigMap.put(attributeUuid, formAttributeVo.getConfig()); diff --git a/src/main/java/neatlogic/module/process/notify/handler/param/FormParamHandler.java b/src/main/java/neatlogic/module/process/notify/handler/param/FormParamHandler.java index 8ed891a95758f18f5d7bb04653665cdb13cf4d35..7c91ef5998b70881a86419889b84dd18ebdb3103 100644 --- a/src/main/java/neatlogic/module/process/notify/handler/param/FormParamHandler.java +++ b/src/main/java/neatlogic/module/process/notify/handler/param/FormParamHandler.java @@ -89,6 +89,8 @@ public class FormParamHandler extends ProcessTaskNotifyParamHandlerBase { List attributeExtendedDataList = new ArrayList<>(); FormVersionVo formVersionVo = new FormVersionVo(); formVersionVo.setFormConfig(JSONObject.parseObject(formContent)); + String mainSceneUuid = formVersionVo.getFormConfig().getString("uuid"); + formVersionVo.setSceneUuid(mainSceneUuid); List formAttributeList = formVersionVo.getFormAttributeList(); for (FormAttributeVo formAttribute : formAttributeList) { AttributeDataVo attributeDataVo = attributeDataMap.get(formAttribute.getUuid()); diff --git a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java index 33b4a6c5f4f6632c4baca9b23e756fb2970a8a37..a04d5e6366261aab849eb93e56fb3fad2e8cf195 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java +++ b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java @@ -861,23 +861,26 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess } Map formExtendAttributeMap = new HashMap<>(); - List defaultSceneFormAttributeList; + List mainSceneFormAttributeList; String formContent = selectContentByHashMapper.getProcessTaskFromContentByHash(processTaskFormVo.getFormContentHash()); { - // 默认场景的表单 + // 主场景的表单 + JSONObject formConfig = JSONObject.parseObject(formContent); FormVersionVo formVersionVo = new FormVersionVo(); formVersionVo.setFormUuid(processTaskFormVo.getFormUuid()); formVersionVo.setFormName(processTaskFormVo.getFormName()); - formVersionVo.setFormConfig(JSONObject.parseObject(formContent)); + formVersionVo.setFormConfig(formConfig); + String mainSceneUuid = formConfig.getString("uuid"); + formVersionVo.setSceneUuid(mainSceneUuid); /* 校验表单属性是否合法 **/ FormUtil.formAttributeValueValid(formVersionVo, formAttributeDataList); - defaultSceneFormAttributeList = formVersionVo.getFormAttributeList(); + mainSceneFormAttributeList = formVersionVo.getFormAttributeList(); List formExtendAttributeList = formVersionVo.getFormExtendAttributeList(); if (CollectionUtils.isNotEmpty(formExtendAttributeList)) { formExtendAttributeMap = formExtendAttributeList.stream().collect(Collectors.toMap(e -> e.getParentUuid() + "#" + e.getTag() + "#" + e.getKey(), e -> e)); } } - if (CollectionUtils.isEmpty(defaultSceneFormAttributeList)) { + if (CollectionUtils.isEmpty(mainSceneFormAttributeList)) { return; } Map formAttributeDataMap = new HashMap<>(); @@ -950,7 +953,7 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess List newProcessTaskFormAttributeDataList = new ArrayList<>(); int i = 0; - for (FormAttributeVo formAttributeVo : defaultSceneFormAttributeList) { + for (FormAttributeVo formAttributeVo : mainSceneFormAttributeList) { String attributeUuid = formAttributeVo.getUuid(); if (formAttributeDataMap.containsKey(attributeUuid)) { Object data = formAttributeDataMap.get(attributeUuid); @@ -972,7 +975,7 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess i++; } // 判断是否修改了表单数据,如果是,则记录活动 - if (FormUtil.isModifiedFormData(defaultSceneFormAttributeList, newProcessTaskFormAttributeDataList, oldProcessTaskFormAttributeDataList)) { + if (FormUtil.isModifiedFormData(mainSceneFormAttributeList, newProcessTaskFormAttributeDataList, oldProcessTaskFormAttributeDataList)) { paramObj.put(ProcessTaskAuditDetailType.FORM.getOldDataParamName(), JSON.toJSONString(oldProcessTaskFormAttributeDataList)); paramObj.put(ProcessTaskAuditDetailType.FORM.getParamName(), JSON.toJSONString(newProcessTaskFormAttributeDataList)); } diff --git a/src/main/java/neatlogic/module/process/stephandler/component/TimerProcessComponent.java b/src/main/java/neatlogic/module/process/stephandler/component/TimerProcessComponent.java index 5b156b7422b44bb3b8a73e02331e768da252357f..0cc49dd7eaaae86f31b9f9f2bb85c3425cc27bf4 100644 --- a/src/main/java/neatlogic/module/process/stephandler/component/TimerProcessComponent.java +++ b/src/main/java/neatlogic/module/process/stephandler/component/TimerProcessComponent.java @@ -165,6 +165,8 @@ public class TimerProcessComponent extends ProcessStepHandlerBase { if (StringUtils.isNotBlank(formContent)) { FormVersionVo fromFormVersion = new FormVersionVo(); fromFormVersion.setFormConfig(JSONObject.parseObject(formContent)); + String mainSceneUuid = fromFormVersion.getFormConfig().getString("uuid"); + fromFormVersion.setSceneUuid(mainSceneUuid); List fromFormAttributeList = fromFormVersion.getFormAttributeList(); for (FormAttributeVo formAttributeVo : fromFormAttributeList) { if (Objects.equals(formAttributeVo.getUuid(), attributeUuid)) {