diff --git a/src/main/java/neatlogic/module/framework/dependency/handler/Matrix2FormAttributeDependencyHandler.java b/src/main/java/neatlogic/module/framework/dependency/handler/Matrix2FormAttributeDependencyHandler.java index 1ffc0d86e092e03beaf6b96b5dc3ca934c2a5425..29b3fd5412718222931bd04d26ba7276d4154170 100644 --- a/src/main/java/neatlogic/module/framework/dependency/handler/Matrix2FormAttributeDependencyHandler.java +++ b/src/main/java/neatlogic/module/framework/dependency/handler/Matrix2FormAttributeDependencyHandler.java @@ -35,7 +35,11 @@ public class Matrix2FormAttributeDependencyHandler extends DefaultDependencyHand @Override public int delete(Object to, JSONObject config) { - return super.delete(getGenerateTo(to, config), config); + int count = super.delete(getGenerateTo(to, config), config); + if (count == 0) { + count = super.delete(to, config); + } + return count; } @Override @@ -67,7 +71,10 @@ public class Matrix2FormAttributeDependencyHandler extends DefaultDependencyHand String uuid = config.getString("uuid"); FormAttributeVo formAttribute = FormUtil.getFormAttribute(formVersionVo.getFormConfig(), uuid, sceneUuid); if (formAttribute == null) { - return null; + formAttribute = FormUtil.getFormAttribute(formVersionVo.getFormConfig(), dependencyVo.getTo(), sceneUuid); + if (formAttribute == null) { + return null; + } } List parentNameList = new ArrayList<>(); FormAttributeParentVo parent = formAttribute.getParent(); diff --git a/src/main/java/neatlogic/module/framework/dependency/handler/MatrixAttr2FormAttrDependencyHandler.java b/src/main/java/neatlogic/module/framework/dependency/handler/MatrixAttr2FormAttrDependencyHandler.java index 8ba344da077776df46ff829cc15b41d900c74f58..c2eec1dfdc85a9d398b6dd7269169d16ac3d54f1 100644 --- a/src/main/java/neatlogic/module/framework/dependency/handler/MatrixAttr2FormAttrDependencyHandler.java +++ b/src/main/java/neatlogic/module/framework/dependency/handler/MatrixAttr2FormAttrDependencyHandler.java @@ -55,7 +55,11 @@ public class MatrixAttr2FormAttrDependencyHandler extends DefaultDependencyHandl @Override public int delete(Object to, JSONObject config) { - return super.delete(getGenerateTo(to, config), config); + int count = super.delete(getGenerateTo(to, config), config); + if (count == 0) { + count = super.delete(to, config); + } + return count; } @Override @@ -63,6 +67,7 @@ public class MatrixAttr2FormAttrDependencyHandler extends DefaultDependencyHandl JSONObject config = dependencyVo.getConfig(); if (MapUtils.isNotEmpty(config)) { String formVersionUuid = config.getString("formVersionUuid"); + String uuid = config.getString("uuid"); if (StringUtils.isNotBlank(formVersionUuid)) { FormVersionVo formVersionVo = formMapper.getFormVersionByUuid(formVersionUuid); if (formVersionVo != null) { @@ -73,7 +78,7 @@ public class MatrixAttr2FormAttrDependencyHandler extends DefaultDependencyHandl List formAttributeList = formVersionVo.getFormAttributeList(); if (CollectionUtils.isNotEmpty(formAttributeList)) { for (FormAttributeVo formAttributeVo : formAttributeList) { - if (Objects.equals(formAttributeVo.getUuid(), dependencyVo.getTo())) { + if (Objects.equals(formAttributeVo.getUuid(), dependencyVo.getTo()) || Objects.equals(formAttributeVo.getUuid(), uuid)) { JSONObject dependencyInfoConfig = new JSONObject(); dependencyInfoConfig.put("formUuid", formVo.getUuid()); // dependencyInfoConfig.put("formName", formVo.getName());