164 lines
4.8 KiB
JSON
164 lines
4.8 KiB
JSON
{
|
|
"schema_version": 2,
|
|
"contract_version": "TMS-DICTIONARY-PROJECTION-V2",
|
|
"supersedes": ".project-control/architecture/tms-dictionary-projection-v1.json",
|
|
"required_fields_contract_ref": ".project-control/architecture/inquiry-required-fields-v1.json",
|
|
"business_semantics_owner": "DEEPSEEK_B",
|
|
"protocol_projection_owner": "JAVA_TMS_ADAPTER",
|
|
"last_amended_requirement_id": "REQ-20260831-009 revision 1",
|
|
"matching_policy": {
|
|
"mode": "EXACT_ONLY",
|
|
"allowed_keys": ["source_code", "source_name"],
|
|
"allow_regex": false,
|
|
"allow_fuzzy": false,
|
|
"allow_alias_inference": false,
|
|
"allow_suffix_trimming": false,
|
|
"allow_last_write_wins": false,
|
|
"multiple_distinct_values": "AMBIGUOUS",
|
|
"zero_values": "UNMAPPED",
|
|
"air_package_fallback": {
|
|
"target_field": "packageType",
|
|
"value": 1,
|
|
"meaning": "全部",
|
|
"preserve_raw_source": true
|
|
}
|
|
},
|
|
"catalog_statuses": [
|
|
"PROJECTABLE",
|
|
"AMBIGUOUS_NAME_GROUP",
|
|
"SOURCE_VALUE_MISSING",
|
|
"REFERENCE_ONLY"
|
|
],
|
|
"resolution_statuses": [
|
|
"RESOLVED",
|
|
"UNMAPPED",
|
|
"AMBIGUOUS",
|
|
"SOURCE_VALUE_MISSING",
|
|
"CARDINALITY_UNSUPPORTED",
|
|
"NOT_APPLICABLE"
|
|
],
|
|
"dictionary_domains": [
|
|
"air_airport",
|
|
"air_packaging_type",
|
|
"land_address",
|
|
"land_vehicle",
|
|
"sea_container",
|
|
"land_transport_type",
|
|
"currency_reference"
|
|
],
|
|
"projection_rules": [
|
|
{
|
|
"transport_mode": "AIR",
|
|
"transport_type": null,
|
|
"source_field": "origin",
|
|
"target_field": "originCode",
|
|
"dictionary_domain": "air_airport",
|
|
"output_column": "projection_value",
|
|
"default_source_value": null
|
|
},
|
|
{
|
|
"transport_mode": "AIR",
|
|
"transport_type": null,
|
|
"source_field": "destination",
|
|
"target_field": "destinationCode",
|
|
"dictionary_domain": "air_airport",
|
|
"output_column": "projection_value",
|
|
"default_source_value": null
|
|
},
|
|
{
|
|
"transport_mode": "AIR",
|
|
"transport_type": null,
|
|
"source_field": "packagingType",
|
|
"target_field": "packageType",
|
|
"dictionary_domain": "air_packaging_type",
|
|
"output_column": "projection_value",
|
|
"default_source_value": "全部"
|
|
},
|
|
{
|
|
"transport_mode": "LAND",
|
|
"transport_type": null,
|
|
"source_field": "origin",
|
|
"target_field": "originCode",
|
|
"dictionary_domain": "land_address",
|
|
"output_column": "projection_value",
|
|
"default_source_value": null
|
|
},
|
|
{
|
|
"transport_mode": "LAND",
|
|
"transport_type": null,
|
|
"source_field": "destination",
|
|
"target_field": "destinationCode",
|
|
"dictionary_domain": "land_address",
|
|
"output_column": "projection_value",
|
|
"default_source_value": null
|
|
},
|
|
{
|
|
"transport_mode": "LAND",
|
|
"transport_type": "DOMESTIC_FTL|HK",
|
|
"source_field": "vehicleItems",
|
|
"target_field": "vehicleType",
|
|
"dictionary_domain": "land_vehicle",
|
|
"output_column": "projection_value",
|
|
"default_source_value": null
|
|
},
|
|
{
|
|
"transport_mode": "SEA",
|
|
"transport_type": null,
|
|
"source_field": "containerItems",
|
|
"target_field": "containerType",
|
|
"dictionary_domain": "sea_container",
|
|
"output_column": "projection_value",
|
|
"default_source_value": null
|
|
},
|
|
{
|
|
"transport_mode": "LAND",
|
|
"transport_type": null,
|
|
"source_field": "transportType",
|
|
"target_field": "landTransportType",
|
|
"dictionary_domain": "land_transport_type",
|
|
"output_column": "projection_value",
|
|
"default_source_value": null
|
|
}
|
|
],
|
|
"direct_projection_rules": [
|
|
{
|
|
"transport_mode": "SEA",
|
|
"transport_type": null,
|
|
"source_field": "containerItems",
|
|
"source_item_field": "quantity",
|
|
"target_field": "containerQty",
|
|
"value_type": "positive_integer",
|
|
"dictionary_domain": null,
|
|
"unit_in_value": false
|
|
}
|
|
],
|
|
"non_blocking_projection_failures": [
|
|
{
|
|
"transport_mode": "LAND",
|
|
"dictionary_domain": "land_address",
|
|
"target_fields": ["originCode", "destinationCode"],
|
|
"resolution_status": "UNMAPPED",
|
|
"required_source_names": ["origin", "destination"],
|
|
"behavior": "保留投影审计;名称非空时以名称且代码空值继续真实TMS查询。AMBIGUOUS、SOURCE_VALUE_MISSING及其他业务线仍失败关闭。"
|
|
}
|
|
],
|
|
"direct_passthrough_fields": [
|
|
{
|
|
"transport_mode": "LAND",
|
|
"source_field": "时效要求",
|
|
"target_field": "routeCategory",
|
|
"behavior": "逐字透传用户值,不做字典或本地语义映射。"
|
|
}
|
|
],
|
|
"unsupported_projection_fields": [
|
|
{
|
|
"field": "seaPortCode",
|
|
"reason": "SOURCE_WORKBOOK_HAS_NO_SEA_PORT_DICTIONARY"
|
|
},
|
|
{
|
|
"field": "currency",
|
|
"reason": "WORKBOOK_NUMERIC_VALUE_IS_REFERENCE_ONLY_NOT_ISO4217_PROJECTION"
|
|
}
|
|
]
|
|
}
|