From ad36dc43a702da6cdc5acc9363ec45a89e1c0576 Mon Sep 17 00:00:00 2001 From: Rihards Gailums Date: Sun, 11 Oct 2026 10:52:12 +0000 Subject: [PATCH] =?UTF-8?q?B03:=20resora=20kods=20izpildes=20fakta=20atsl?= =?UTF-8?q?=C4=93g=C4=81;=20tuk=C5=A1a=20p=C4=93d=C4=93j=C4=81=20rinda=20a?= =?UTF-8?q?vot=C4=81=20(0.2.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk --- CHANGELOG.md | 6 ++++++ contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml | 7 ++++--- mappings/B03-izpilde.yaml | 7 ++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c13d4c5..ae984f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # 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 - 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`. diff --git a/contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml b/contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml index 8395cbe..bb96f35 100644 --- a/contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml +++ b/contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml @@ -5,7 +5,7 @@ apiVersion: v3.0.2 kind: DataContract id: urn:pppa:cac:contract:B03-source name: Valsts budžeta izpilde — Valsts kases avota datne -version: 0.1.0 +version: 0.1.1 status: active domain: Valsts kā kods (Country as Code) dataProduct: Valsts budžeta izpilde @@ -38,7 +38,7 @@ schema: logicalType: object physicalType: csv-file physicalName: "vb_izpilde_pa_iestadem_budzeta_progr_apakspr_adkopai_.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: - {property: lakehouseTable, value: cac_bronze.vk_budget_execution} properties: @@ -90,7 +90,7 @@ quality: - {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} - {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: - {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ā"} @@ -104,3 +104,4 @@ customProperties: - {property: sourceId, value: B03} - {property: licence, value: CC0-1.0} - {property: years, value: "2024, 2025, 2026"} +- {property: emptyRows, value: "Rinda, kurā visas kolonnas tukšas, tiek izlaista (avotā tāda ir datnes beigās)"} diff --git a/mappings/B03-izpilde.yaml b/mappings/B03-izpilde.yaml index c859609..4dbe7fc 100644 --- a/mappings/B03-izpilde.yaml +++ b/mappings/B03-izpilde.yaml @@ -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). # Š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. -version: 0.1.0 +version: 0.1.1 source_contract: contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml target_contract: contracts/B03-valsts-budzeta-izpilde.odcs.yaml 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) # Execution ieraksta identifikators: lv-vbi-GGGG.mMM.; 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: 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, Vienotais_EKK_Atslega_7_limenis, Konsolidacija]