1
0

B03: resora kods izpildes fakta atslēgā; tukša pēdējā rinda avotā (0.2.1)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
This commit is contained in:
2026-10-11 10:52:12 +00:00
parent 88577135b5
commit ad36dc43a7
3 changed files with 14 additions and 6 deletions

View File

@@ -1,5 +1,11 @@
# Izmaiņu žurnāls # Izmaiņu žurnāls
## 0.2.1 — 2026-10-11
- `mappings/B03-izpilde.yaml` 0.1.1: izpildes fakta atslēgā pievienots resora kods (2024. gadā iestāde gada laikā pārcelta uz citu resoru; bez tā 121 rinda saņēma vienādu identifikatoru).
- Avota līgums 0.1.1: tukša pēdējā rinda datnē netiek uzskatīta par datiem.
- Paraugs `examples/lv-vbi-2026.sample.xml`.
## 0.2.0 — 2026-10-11 ## 0.2.0 — 2026-10-11
- Budžeta izpilde (B03): mērķa shēma `schemas/valsts-budzeta-izpilde-0.1.xsd`, avota līgums `contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml` (Valsts kases CSV), mērķa līgums `contracts/B03-valsts-budzeta-izpilde.odcs.yaml` (ģenerēts no XSD), pārveidošanas noteikumi `mappings/B03-izpilde.yaml`, paraugs `examples/lv-vbi-2026.sample.xml`, apraksts `docs/IZPILDE.md`. - Budžeta izpilde (B03): mērķa shēma `schemas/valsts-budzeta-izpilde-0.1.xsd`, avota līgums `contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml` (Valsts kases CSV), mērķa līgums `contracts/B03-valsts-budzeta-izpilde.odcs.yaml` (ģenerēts no XSD), pārveidošanas noteikumi `mappings/B03-izpilde.yaml`, paraugs `examples/lv-vbi-2026.sample.xml`, apraksts `docs/IZPILDE.md`.

View File

@@ -5,7 +5,7 @@ apiVersion: v3.0.2
kind: DataContract kind: DataContract
id: urn:pppa:cac:contract:B03-source id: urn:pppa:cac:contract:B03-source
name: Valsts budžeta izpilde — Valsts kases avota datne name: Valsts budžeta izpilde — Valsts kases avota datne
version: 0.1.0 version: 0.1.1
status: active status: active
domain: Valsts kā kods (Country as Code) domain: Valsts kā kods (Country as Code)
dataProduct: Valsts budžeta izpilde dataProduct: Valsts budžeta izpilde
@@ -38,7 +38,7 @@ schema:
logicalType: object logicalType: object
physicalType: csv-file physicalType: csv-file
physicalName: "vb_izpilde_pa_iestadem_budzeta_progr_apakspr_adkopai_<GGGG>.csv" physicalName: "vb_izpilde_pa_iestadem_budzeta_progr_apakspr_adkopai_<GGGG>.csv"
description: Viena rinda = viena summa par mēnesi vienā griezumā. Kolonnu secība ir fiksēta; virsrakstu rinda ir obligāta. description: Viena rinda = viena summa par mēnesi vienā griezumā. Kolonnu secība ir fiksēta; virsrakstu rinda ir obligāta. Datnes beigās var būt viena rinda, kurā visas kolonnas ir tukšas; tā netiek uzskatīta par datiem.
customProperties: customProperties:
- {property: lakehouseTable, value: cac_bronze.vk_budget_execution} - {property: lakehouseTable, value: cac_bronze.vk_budget_execution}
properties: properties:
@@ -90,7 +90,7 @@ quality:
- {name: source_values_valid, type: custom, engine: cac-lakehouse, implementation: "app.cac_execution:source_values_valid", - {name: source_values_valid, type: custom, engine: cac-lakehouse, implementation: "app.cac_execution:source_values_valid",
description: "Obligātās kolonnas aizpildītas; vērtības atbilst šablonam vai pieļaujamo vērtību sarakstam; summa ir skaitlis; gads sakrīt ar datni", dimension: validity} description: "Obligātās kolonnas aizpildītas; vērtības atbilst šablonam vai pieļaujamo vērtību sarakstam; summa ir skaitlis; gads sakrīt ar datni", dimension: validity}
- {name: source_key_unique, type: custom, engine: cac-lakehouse, implementation: "app.cac_execution:source_key_unique", - {name: source_key_unique, type: custom, engine: cac-lakehouse, implementation: "app.cac_execution:source_key_unique",
description: "Rindas atslēga (mappings/B03-izpilde.yaml, id.key) ir unikāla", dimension: uniqueness} description: "Rindas atslēga (mappings/B03-izpilde.yaml, id.key; ietver resora kodu) ir unikāla", dimension: uniqueness}
slaProperties: slaProperties:
- {property: frequency, value: 1, unit: d, element: "pārbaude katru dienu (cron 03:30 UTC); ielāde, ja datne portālā mainījusies"} - {property: frequency, value: 1, unit: d, element: "pārbaude katru dienu (cron 03:30 UTC); ielāde, ja datne portālā mainījusies"}
- {property: latency, value: 1, unit: month, element: "Valsts kase publicē iepriekšējā mēneša izpildi mēneša sākumā"} - {property: latency, value: 1, unit: month, element: "Valsts kase publicē iepriekšējā mēneša izpildi mēneša sākumā"}
@@ -104,3 +104,4 @@ customProperties:
- {property: sourceId, value: B03} - {property: sourceId, value: B03}
- {property: licence, value: CC0-1.0} - {property: licence, value: CC0-1.0}
- {property: years, value: "2024, 2025, 2026"} - {property: years, value: "2024, 2025, 2026"}
- {property: emptyRows, value: "Rinda, kurā visas kolonnas tukšas, tiek izlaista (avotā tāda ir datnes beigās)"}

View File

@@ -1,7 +1,7 @@
# B03 Valsts budžeta izpilde — pārveidošanas noteikumi (avota CSV → mērķa shēma valsts-budzeta-izpilde-0.1.xsd). # B03 Valsts budžeta izpilde — pārveidošanas noteikumi (avota CSV → mērķa shēma valsts-budzeta-izpilde-0.1.xsd).
# Šo datni lasa VDE savienotājs (lakehouse app/cac_execution.py) katrā ielādē tajā pašā commit, kurā ir shēma un datu līgumi. # Šo datni lasa VDE savienotājs (lakehouse app/cac_execution.py) katrā ielādē tajā pašā commit, kurā ir shēma un datu līgumi.
# Labojot noteikumus, jāpalielina version; savienotājs ielādi atkārto, ja mainījies Budget-as-Code commit. # Labojot noteikumus, jāpalielina version; savienotājs ielādi atkārto, ja mainījies Budget-as-Code commit.
version: 0.1.0 version: 0.1.1
source_contract: contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml source_contract: contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml
target_contract: contracts/B03-valsts-budzeta-izpilde.odcs.yaml target_contract: contracts/B03-valsts-budzeta-izpilde.odcs.yaml
schema: schemas/valsts-budzeta-izpilde-0.1.xsd schema: schemas/valsts-budzeta-izpilde-0.1.xsd
@@ -15,10 +15,11 @@ document:
part_size: 20000 # Execution ierakstu skaits vienā dokumenta daļā (lv-vbi-GGGG.pNNN) part_size: 20000 # Execution ierakstu skaits vienā dokumenta daļā (lv-vbi-GGGG.pNNN)
# Execution ieraksta identifikators: lv-vbi-GGGG.mMM.<sha1(atslēga)[:12]>; atslēga = šīs kolonnas, savienotas ar „|”. # Execution ieraksta identifikators: lv-vbi-GGGG.mMM.<sha1(atslēga)[:12]>; atslēga = šīs kolonnas, savienotas ar „|”.
# Kolonnu kombinācija avotā ir unikāla (pārbaudīts 2024–2026: katra rinda atšķiras vismaz vienā no tām). # Kolonnu kombinācija avotā ir unikāla (pārbaudīts 2024–2026). Resora kods ir atslēgā, jo iestāde gada laikā var pāriet
# uz citu resoru: 2024. gadā viena iestāde ar to pašu apakšprogrammu ir gan 20., gan 21. resorā (summa pārcelta ar pretēju zīmi).
id: id:
template: "lv-vbi-{Gads}.m{Menesis_Atslega:02d}.{hash}" template: "lv-vbi-{Gads}.m{Menesis_Atslega:02d}.{hash}"
key: [Gads, Menesis_Atslega, Iestades_NMR, Budzeta_tips_Atslega, Programma_Atslega, Apaksprogramma_Atslega, key: [Gads, Menesis_Atslega, Ministrija_Atslega, Iestades_NMR, Budzeta_tips_Atslega, Programma_Atslega, Apaksprogramma_Atslega,
Funkcija_zemakaja_limeni_Atslega, Saistibu_veids_Atslega, Projekta_arejais_kods_Atslega, Klasifikacija, Funkcija_zemakaja_limeni_Atslega, Saistibu_veids_Atslega, Projekta_arejais_kods_Atslega, Klasifikacija,
Vienotais_EKK_Atslega_7_limenis, Konsolidacija] Vienotais_EKK_Atslega_7_limenis, Konsolidacija]