@shundoo-ai/dsh-cosmic 1.0.21 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/cosmic-build/LOCAL-PATCHES.md +43 -14
- package/skills/cosmic-build/SKILL.md +24 -9
- package/skills/cosmic-build/examples/java-rules/CosmicReportAggregation.java +26 -17
- package/skills/cosmic-build/examples/java-rules/CosmicReportFilters.java +96 -2
- package/skills/cosmic-build/knowledge/cosmic/arch/security/security_standard.md +4 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/allimport.md +2 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/core/dynamic-object-collection.md +6 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/core/model.md +9 -9
- package/skills/cosmic-build/knowledge/cosmic/platform/core/view.md +5 -5
- package/skills/cosmic-build/knowledge/cosmic/platform/form-plugin.md +8 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/list-plugin.md +5 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/print-plugin-guide.md +1 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/report-plugin.md +269 -57
- package/skills/cosmic-build/knowledge/cosmic/platform/reportlistdata-plugin.md +130 -23
- package/skills/cosmic-build/knowledge/cosmic/platform/reporttreedata-plugin.md +48 -28
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/_index.md +12 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/common/attachment-name-process.md +17 -13
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/common/dynamic-update-field.md +4 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/filter-grid/filter-grid-set-value.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/list/filter-basedatafield.md +2 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/list/filter-container-init.md +0 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/list/filter-popup.md +0 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/list/filter-value-parse.md +5 -6
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/list/list-show-form.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/control/list/query-field-dynamic.md +0 -7
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/business-data/delete-service.md +24 -29
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/ksql/db-batch.md +4 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/ksql/db-direct-access.md +4 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/qfilter/entity-object-access.md +8 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/data-access/qfilter/qfilter-compose.md +6 -5
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/after-bind-data-set-visible.md +5 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/click-return-data.md +2 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/closed-call-back-set-value.md +2 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/register-listener.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/event/set-filter-tab-org.md +3 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/infra/dispatch-service/microservice-dev.md +18 -11
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/infra/dist-lock/dist-lock-basic.md +3 -6
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/infra/mq/mq-subscribe.md +5 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/infra/thread-pool/async-operation.md +10 -6
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/infra/thread-pool/big-task-async.md +4 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/infra/thread-pool/schedule-task.md +9 -7
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/operation/operation-interactive.md +33 -34
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/operation/operation-plugin-events.md +30 -22
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-async-query.md +133 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-batch-query.md +26 -22
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-chart.md +112 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-dataset-assembly.md +200 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-head-filter.md +177 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-hyperlink-drill.md +216 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-list-data-query.md +12 -12
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-merge-column.md +44 -6
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-print-data.md +163 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-row-data-toolbar.md +188 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-subtotal-total.md +139 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-tree-data-query.md +108 -12
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/report/report-tree-list.md +181 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/system-service/report-plugin-interface.md +3 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/tree/tree-basedata-cascade-confirm.md +14 -11
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/tree/tree-list-before-item-validate.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/tree/tree-list-build-filter.md +1 -1
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/tree/tree-list-multi-level-filter.md +11 -11
- package/skills/cosmic-build/knowledge/cosmic/platform/scenes/tree/tree-list-refresh-node.md +22 -15
- package/skills/cosmic-build/knowledge/cosmic/platform/sdk/sdk-algo.md +2 -2
- package/skills/cosmic-build/knowledge/cosmic/platform/sdk/sdk-entity-model.md +3 -4
- package/skills/cosmic-build/knowledge/cosmic/platform/sdk/sdk-exception.md +9 -5
- package/skills/cosmic-build/knowledge/cosmic/platform/sdk/sdk-orm-access.md +4 -0
- package/skills/cosmic-build/knowledge/cosmic/platform/sdk/sdk-request-context.md +7 -3
- package/skills/cosmic-build/knowledge/cosmic/platform/standards.md +28 -3
- package/skills/cosmic-build/references/compile-guide.md +36 -1
- package/skills/cosmic-build/references/dcs-code-rules.md +180 -0
- package/skills/cosmic-build/references/delivery.md +16 -2
- package/skills/cosmic-build/references/execution-contract.md +15 -3
- package/skills/cosmic-build/references/java-plugin-delivery.md +21 -11
- package/skills/cosmic-build/references/plugin-handoff-input.md +82 -24
- package/skills/cosmic-build/references/plugin-runtime-routing.md +23 -6
- package/skills/cosmic-build/references/report-filter-contract.md +53 -15
- package/skills/cosmic-build/references/sdk-inspection.md +4 -1
- package/skills/cosmic-build/references/type-registry.json +26 -17
- package/skills/cosmic-build/schemas/data-model-authoring.schema.json +1 -1
- package/skills/cosmic-build/scripts/_http_client.py +3 -0
- package/skills/cosmic-build/scripts/compile_plugin_source.py +251 -42
- package/skills/cosmic-build/scripts/configure_list.py +112 -0
- package/skills/cosmic-build/scripts/dcs-rule-catalog.json +799 -0
- package/skills/cosmic-build/scripts/dcs_code_gate.py +1976 -0
- package/skills/cosmic-build/scripts/execution_binding.py +25 -0
- package/skills/cosmic-build/scripts/platform_api_contract.py +352 -7
- package/skills/cosmic-build/scripts/plugin_source_gate.py +9 -1
- package/skills/cosmic-build/scripts/plugin_target_sdk.py +12 -8
- package/skills/cosmic-build/scripts/prepare_plugin_handoff.py +488 -88
- package/skills/cosmic-build/scripts/query_plugin_handoff.py +207 -20
- package/skills/cosmic-build/scripts/register_plugins.py +27 -10
- package/skills/cosmic-build/scripts/render_output_cards.py +57 -20
- package/skills/cosmic-build/scripts/resolve_output_path.py +60 -26
- package/skills/cosmic-build/scripts/run_java_tests.py +162 -0
- package/skills/cosmic-build/scripts/sync_generated_locale_assets.py +28 -0
- package/skills/cosmic-build/scripts/test/fixtures/ReportSdkCheck.java +1 -22
- package/skills/cosmic-build/scripts/test/fixtures/list_column_property_declarations.json +887 -0
- package/skills/cosmic-build/scripts/test/fixtures/operation-entry-field-prepare.java +78 -0
- package/skills/cosmic-build/scripts/test/test_add_field_required_contract.py +12 -0
- package/skills/cosmic-build/scripts/test/test_batch5_drift_governance.py +23 -2
- package/skills/cosmic-build/scripts/test/test_compile_plugin_source.py +287 -4
- package/skills/cosmic-build/scripts/test/test_configure_list_delivery.py +132 -0
- package/skills/cosmic-build/scripts/test/test_cosmic_sdk_examples.py +58 -1
- package/skills/cosmic-build/scripts/test/test_data_model_contract.py +19 -0
- package/skills/cosmic-build/scripts/test/test_dcs_code_gate.py +901 -0
- package/skills/cosmic-build/scripts/test/test_delivery_stage_boundary.py +1 -1
- package/skills/cosmic-build/scripts/test/test_direct_cli_architecture.py +2 -0
- package/skills/cosmic-build/scripts/test/test_http_client.py +6 -0
- package/skills/cosmic-build/scripts/test/test_java_toolchain_feedback.py +206 -0
- package/skills/cosmic-build/scripts/test/test_kd_api.py +21 -0
- package/skills/cosmic-build/scripts/test/test_list_configuration_closure.py +184 -0
- package/skills/cosmic-build/scripts/test/test_mcp_cli.py +139 -2
- package/skills/cosmic-build/scripts/test/test_menu_creation_closure.py +16 -0
- package/skills/cosmic-build/scripts/test/test_modeling_input_recovery.py +55 -1
- package/skills/cosmic-build/scripts/test/test_open_world_cli_catalog.py +1 -1
- package/skills/cosmic-build/scripts/test/test_operation_field_preparation.py +84 -0
- package/skills/cosmic-build/scripts/test/test_platform_api_contract.py +322 -1
- package/skills/cosmic-build/scripts/test/test_plugin_handoff.py +951 -4
- package/skills/cosmic-build/scripts/test/test_plugin_source_gate.py +30 -2
- package/skills/cosmic-build/scripts/test/test_plugin_target_sdk.py +21 -0
- package/skills/cosmic-build/scripts/test/test_property_reroute.py +165 -0
- package/skills/cosmic-build/scripts/test/test_property_schema_first.py +35 -0
- package/skills/cosmic-build/scripts/test/test_query_plugin_handoff.py +221 -0
- package/skills/cosmic-build/scripts/test/test_register_plugins.py +76 -4
- package/skills/cosmic-build/scripts/test/test_render_output_cards.py +75 -3
- package/skills/cosmic-build/scripts/test/test_report_business_contract.py +27 -5
- package/skills/cosmic-build/scripts/test/test_report_doc_contract_sync.py +103 -11
- package/skills/cosmic-build/scripts/test/test_report_plugin_source_gate.py +46 -16
- package/skills/cosmic-build/scripts/test/test_report_properties.py +74 -15
- package/skills/cosmic-build/scripts/test/test_report_query_data_source.py +3 -1
- package/skills/cosmic-build/scripts/test/test_report_sdk_optimization.py +1 -2
- package/skills/cosmic-build/scripts/test/test_test_environment.py +76 -1
- package/skills/cosmic-build/scripts/test_environment.py +67 -1
- package/skills/cosmic-build/skills/cosmic-coding-impl/SKILL.md +52 -10
- package/skills/cosmic-build/skills/cosmic-meta-api/apis/ai_meta.md +16 -3
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/report-write-contracts.json +59 -26
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/cli/rule-domain.json +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/contracts/schema/report-write.schema.json +75 -18
- package/skills/cosmic-build/skills/cosmic-meta-api/modules/pdm/scripts/pdm_auto.py +39 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/modules/pdm/scripts/pdm_client.py +97 -10
- package/skills/cosmic-build/skills/cosmic-meta-api/modules/verify/SKILL.md +10 -12
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_apps.py +3 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_formactions.py +38 -29
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_listui.py +400 -233
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_metaops.py +87 -45
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_properties.py +42 -15
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/cmd_rules.py +135 -5
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/config.py +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/execution_errors.py +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/formatters.py +17 -11
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/property_reroute.py +15 -5
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/report_ops.py +1429 -238
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/_core/validators.py +56 -28
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/cosmic_api.py +380 -134
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/field_decorator.py +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/meta_export.py +12 -11
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/meta_verifier.py +42 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_add_field_placement_closure.py +8 -8
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_build_configuration_readback.py +94 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_build_receipt_resume.py +47 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_metadata_unchanged_fail_closed.py +87 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_dym_evidence.py +23 -23
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_entity_integrity.py +279 -4
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_field_guard.py +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_plugin_contract.py +509 -32
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_readback_derivation.py +178 -1
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_recreate_plan.py +125 -10
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_serve_contract.py +208 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_report_typed_filters.py +259 -50
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_rule_inventory_perf.py +29 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_rule_write_closure.py +20 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_run_batch_post_build_recovery.py +18 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_run_batch_verification_evidence.py +35 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_run_identity_guard.py +25 -0
- package/skills/cosmic-build/skills/cosmic-meta-api/scripts/test/test_time_range_rule.py +98 -0
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/domain-model/report-model.md +20 -9
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/generation/report-modeling-guide.md +55 -25
- package/skills/cosmic-build/skills/cosmic-meta-knowledge/property-guides/report-column-properties.md +15 -39
- package/skills/cosmic-build/skills/cosmic-meta-modeling/SKILL.md +19 -17
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/SKILL.md +82 -38
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/examples/golden-example-report-batch.md +64 -19
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/examples/golden-example-report-plugin.md +32 -20
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/examples/golden-example-report-tree.md +78 -31
- package/skills/cosmic-build/skills/cosmic-meta-modeling/modules/report/report-artifact-schema.json +2 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/authoring-companion-fields.md +3 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/references/authoring-list-configuration.md +2 -0
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/data_model_contract.py +3 -1
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/data_model_emit.py +27 -4
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/report_validator.py +99 -44
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/test_report_examples.py +31 -4
- package/skills/cosmic-build/skills/cosmic-meta-modeling/scripts/test_report_validator.py +129 -29
- package/skills/cosmic-build/skills/cosmic-meta-modifier/SKILL.md +6 -2
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/operation/validation.md +2 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/property/SKILL.md +1 -1
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/report-op/SKILL.md +104 -25
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/rule/SKILL.md +9 -0
- package/skills/cosmic-build/skills/cosmic-meta-modifier/modules/verify/usage-guide.md +2 -2
- package/skills/cosmic-build/skills/cosmic-meta-modifier/references/list-filter-modification.md +39 -12
- package/skills/cosmic-build/skills/mcp-server/SKILL.md +39 -24
- package/skills/cosmic-build/skills/mcp-server/scripts/mcp_cli.py +20 -6
- package/skills/cosmic-dev-best-practices/SKILL.md +1 -1
- package/skills/cosmic-dev-best-practices/references/README.md +2 -2
- package/skills/cosmic-dev-best-practices/references/basedata-dev-convention.md +2 -2
- package/skills/cosmic-dev-best-practices/references/bill-dev-convention.md +4 -4
- package/skills/cosmic-dev-best-practices/references/design-document-convention.md +2 -2
- package/skills/cosmic-dev-best-practices/references/design-examples/basedata-design-example.md +4 -4
- package/skills/cosmic-dev-best-practices/references/design-examples/bill-design-example.md +13 -13
- package/skills/cosmic-dev-best-practices/references/elements/CustomerField.md +1 -1
- package/skills/cosmic-dev-best-practices/references/elements/README.md +1 -1
- package/skills/cosmic-dev-best-practices/references/elements/SupplierField.md +1 -1
- package/skills/cosmic-dev-best-practices/references/elements/common-field-property-conventions.md +109 -13
- package/skills/cosmic-dev-best-practices/references/layout-control-convention.md +1 -1
- package/skills/erp-analysis/references/delivery-contract.md +2 -1
- package/skills/erp-analysis/templates/AGENTS.template.md +3 -1
- package/skills/cosmic-build/assets/platform-report-filters/TypedReportFilterFields.java +0 -169
- package/skills/cosmic-build/assets/platform-report-filters/platform.patch +0 -98
- package/skills/cosmic-build/scripts/apply_report_filter_extension.py +0 -39
|
@@ -47,6 +47,9 @@ import kd.bos.entity.report.FilterInfo;
|
|
|
47
47
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
48
48
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
49
49
|
import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
|
|
50
|
+
import kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty;
|
|
51
|
+
import kd.bos.orm.query.QFilter;
|
|
52
|
+
import kd.bos.orm.query.QCP;
|
|
50
53
|
import java.util.Arrays;
|
|
51
54
|
import java.util.Date;
|
|
52
55
|
public class ReportFilterCheck {
|
|
@@ -71,10 +74,34 @@ public class ReportFilterCheck {
|
|
|
71
74
|
reject(() -> CosmicReportFilters.date(filter, "bad_date"));
|
|
72
75
|
reject(() -> CosmicReportFilters.numbers(10L));
|
|
73
76
|
if (!CosmicReportFilters.numbers(null).isEmpty()) throw new AssertionError("empty F7");
|
|
77
|
+
CosmicReportFilters.require(0, "zero"); CosmicReportFilters.require(false, "false");
|
|
78
|
+
reject(() -> CosmicReportFilters.require(null, "missing"));
|
|
79
|
+
reject(() -> CosmicReportFilters.require(Arrays.asList(), "missing"));
|
|
80
|
+
reject(() -> CosmicReportFilters.require(" ", "missing"));
|
|
81
|
+
QFilter equal = CosmicReportFilters.comparison("status", "=", "01");
|
|
82
|
+
if (!"status".equals(equal.getProperty()) || !QCP.equals.equals(equal.getCP())
|
|
83
|
+
|| !"01".equals(equal.getValue())) throw new AssertionError("equality");
|
|
84
|
+
QFilter multi = CosmicReportFilters.comparison("status", "in", Arrays.asList("0", "01"));
|
|
85
|
+
if (!QCP.in.equals(multi.getCP()) || !Arrays.equals((Object[]) multi.getValue(), new Object[]{"0", "01"}))
|
|
86
|
+
throw new AssertionError("in values");
|
|
87
|
+
reject(() -> CosmicReportFilters.comparison("status", "=", Arrays.asList("1", "2")));
|
|
88
|
+
reject(() -> CosmicReportFilters.comparison("status", "in", Arrays.asList("1", null)));
|
|
89
|
+
reject(() -> CosmicReportFilters.comparison("status", "in", "1"));
|
|
90
|
+
reject(() -> CosmicReportFilters.comparison("status", "unknown", null));
|
|
91
|
+
if (CosmicReportFilters.comparison("status", "in", Arrays.asList()) != null) throw new AssertionError("optional");
|
|
92
|
+
Date end = new Date(2000L);
|
|
93
|
+
java.util.List<QFilter> range = CosmicReportFilters.rangeFilters("created", start, end, false);
|
|
94
|
+
if (range.size() != 2 || !QCP.large_equals.equals(range.get(0).getCP())
|
|
95
|
+
|| !QCP.less_than.equals(range.get(1).getCP()) || !end.equals(range.get(1).getValue()))
|
|
96
|
+
throw new AssertionError("half-open between");
|
|
97
|
+
if (CosmicReportFilters.rangeFilters("created", null, end, true).size() != 1) throw new AssertionError("open start");
|
|
98
|
+
if (CosmicReportFilters.rangeFilters("created", start, null, true).size() != 1) throw new AssertionError("open end");
|
|
99
|
+
reject(() -> CosmicReportFilters.rangeFilters("created", end, start, true));
|
|
74
100
|
if (args.length == 0) { System.out.println("report filter SDK checks passed"); return; }
|
|
75
101
|
DynamicObjectType type = new DynamicObjectType("supplier");
|
|
76
102
|
type.registerProperty("number", String.class, null, false);
|
|
77
|
-
|
|
103
|
+
DynamicSimpleProperty pk = new DynamicSimpleProperty("id", Long.class, null);
|
|
104
|
+
pk.setPrimaryKey(true); type.registerSimpleProperty(pk);
|
|
78
105
|
DynamicObject first = new DynamicObject(type);
|
|
79
106
|
first.set("number", "0012"); first.set("id", 10L);
|
|
80
107
|
DynamicObject second = new DynamicObject(type);
|
|
@@ -85,6 +112,36 @@ public class ReportFilterCheck {
|
|
|
85
112
|
if (!CosmicReportFilters.numbers(values).equals(Arrays.asList("0012"))) throw new AssertionError("assigned ids differ");
|
|
86
113
|
second.set("number", "0034");
|
|
87
114
|
if (!CosmicReportFilters.numbers(values).equals(Arrays.asList("0012", "0034"))) throw new AssertionError("multi F7");
|
|
115
|
+
if (!CosmicReportFilters.ids(values).equals(Arrays.asList(10L, 20L))) throw new AssertionError("direct ids");
|
|
116
|
+
DynamicObjectType wrapperType = new DynamicObjectType("supplier_link");
|
|
117
|
+
DynamicSimpleProperty wrapperPk = new DynamicSimpleProperty("pkid", Long.class, null);
|
|
118
|
+
wrapperPk.setPrimaryKey(true); wrapperType.registerSimpleProperty(wrapperPk);
|
|
119
|
+
wrapperType.registerProperty("fbasedataid", DynamicObject.class, null, false);
|
|
120
|
+
wrapperType.registerProperty("fbasedataid_id", Long.class, null, false);
|
|
121
|
+
DynamicObject firstLink = new DynamicObject(wrapperType);
|
|
122
|
+
firstLink.set("pkid", 9001L); firstLink.set("fbasedataid", first);
|
|
123
|
+
DynamicObject secondLink = new DynamicObject(wrapperType);
|
|
124
|
+
secondLink.set("pkid", 9002L); secondLink.set("fbasedataid", second);
|
|
125
|
+
DynamicObjectCollection links = new DynamicObjectCollection(wrapperType, null);
|
|
126
|
+
links.add(firstLink); links.add(secondLink);
|
|
127
|
+
if (!CosmicReportFilters.ids(links).equals(Arrays.asList(10L, 20L))) throw new AssertionError("wrapper ids");
|
|
128
|
+
if (!CosmicReportFilters.numbers(links).equals(Arrays.asList("0012", "0034"))) throw new AssertionError("wrapper numbers");
|
|
129
|
+
QFilter idFilter = CosmicReportFilters.idFilter("supplier", links);
|
|
130
|
+
if (!"supplier".equals(idFilter.getProperty()) || !Arrays.equals((Object[]) idFilter.getValue(), new Long[]{10L, 20L}))
|
|
131
|
+
throw new AssertionError("id QFilter");
|
|
132
|
+
secondLink.set("fbasedataid", null);
|
|
133
|
+
reject(() -> CosmicReportFilters.ids(links));
|
|
134
|
+
secondLink.set("fbasedataid_id", 20L);
|
|
135
|
+
if (!CosmicReportFilters.ids(links).equals(Arrays.asList(10L, 20L))) throw new AssertionError("shadow ids");
|
|
136
|
+
reject(() -> CosmicReportFilters.numbers(links));
|
|
137
|
+
secondLink.set("fbasedataid", first);
|
|
138
|
+
reject(() -> CosmicReportFilters.ids(links));
|
|
139
|
+
DynamicObjectType shadowType = new DynamicObjectType("supplier_shadow_link");
|
|
140
|
+
shadowType.registerProperty("fbasedataid_id", Long.class, null, false);
|
|
141
|
+
DynamicObject shadowRow = new DynamicObject(shadowType);
|
|
142
|
+
shadowRow.set("fbasedataid_id", 30L);
|
|
143
|
+
if (!CosmicReportFilters.ids(shadowRow).equals(Arrays.asList(30L))) throw new AssertionError("shadow-only row");
|
|
144
|
+
reject(() -> CosmicReportFilters.numbers(shadowRow));
|
|
88
145
|
second.set("number", ""); reject(() -> CosmicReportFilters.numbers(values));
|
|
89
146
|
System.out.println("report filter SDK checks passed");
|
|
90
147
|
}
|
|
@@ -3942,3 +3942,22 @@ def test_emit_entrypoint_writes_structured_contract_failure(
|
|
|
3942
3942
|
and issue["path"] == "$.artifact.entities"
|
|
3943
3943
|
for issue in report["errors"]
|
|
3944
3944
|
)
|
|
3945
|
+
|
|
3946
|
+
|
|
3947
|
+
def test_list_presentation_properties_survive_authoring_and_key_binding():
|
|
3948
|
+
properties = {"Summary": "合计", "ZeroShow": False, "ColumnOrderAndFilter": "0"}
|
|
3949
|
+
main = {"bizName": "probe", "listConfiguration": {"columns": [{"fieldRef": "count", "properties": properties}]}}
|
|
3950
|
+
actual = _compile_list_configuration(main, {("probe", "count"): "real_persisted_count"}, preset_field_keys=set())
|
|
3951
|
+
assert actual == {"columns": [{"fieldKey": "real_persisted_count", "properties": properties}]}
|
|
3952
|
+
actual["columns"][0]["properties"]["Summary"] = 0
|
|
3953
|
+
assert properties["Summary"] == "合计"
|
|
3954
|
+
|
|
3955
|
+
|
|
3956
|
+
@pytest.mark.parametrize("properties,valid", [({"Summary": "合计", "ZeroShow": False}, True), ({}, False), ([], False)])
|
|
3957
|
+
def test_new_form_list_properties_shape_is_validated(properties, valid):
|
|
3958
|
+
data = _valid_authoring()
|
|
3959
|
+
main = data["artifact"]["entities"][0]
|
|
3960
|
+
main["listConfiguration"] = {"columns": [{"fieldRef": main["fields"][0]["bizWord"], "properties": properties}]}
|
|
3961
|
+
issues = validate_authoring_contract(data)
|
|
3962
|
+
property_issues = [issue for issue in issues if ".properties" in issue.path]
|
|
3963
|
+
assert (not property_issues) is valid
|