Просмотр исходного кода

fix(form): 修复过滤器网格和集成配置插件中的空指针异常

- 将FilterGridFormPlugin中的OnlyMainEntityField参数设置为false以支持多实体字段
- 在InttempConfigFromPlugin中添加对业务对象为空的检查
- 当业务对象未选择时显示错误通知并阻止进一步执行
- 防止因空指针导致的运行时崩溃
杨陆平-htwy 5 часов назад
Родитель
Сommit
23364f0011

+ 1 - 1
nckd-fi/src/main/java/nckd/fi/er/formplugin/FilterGridFormPlugin.java

@@ -204,7 +204,7 @@ public class FilterGridFormPlugin extends AbstractFormPlugin {
         //设置字段属性
         GetFilterFieldsParameter getFilterFieldsParameter = new GetFilterFieldsParameter(mainEntityType);
         getFilterFieldsParameter.setNeedMulBasedataField(false);
-        getFilterFieldsParameter.setOnlyMainEntityField(true);
+        getFilterFieldsParameter.setOnlyMainEntityField(false);
         List<Map<String, Object>> filterColumns = EntityTypeUtil.createFilterColumns(getFilterFieldsParameter);
         filterGrid.setFilterColumns(filterColumns);
 

+ 6 - 1
nckd-fi/src/main/java/nckd/fi/er/formplugin/InttempConfigFromPlugin.java

@@ -40,7 +40,12 @@ public class InttempConfigFromPlugin  extends AbstractFormPlugin {
             //通用过滤条件
             String qFilter = (String) model.getValue("nckd_qfilter");
             //业务对象编码
-            String bizObjectNumber = ((DynamicObject) model.getValue("nckd_entityobject")).getString(BaseFieldConst.NUMBER);
+            DynamicObject entity = (DynamicObject) model.getValue("nckd_entityobject");
+            if (entity == null) {
+                this.getView().showErrorNotification("请选择关联业务对象!");
+                return;
+            }
+            String bizObjectNumber = entity.getString(BaseFieldConst.NUMBER);
             //显示通用过滤动态表单
             showFilterGrid(bizObjectNumber, qFilter);
         }