- schemas/valsts-budzeta-izpilde-0.1.xsd - contracts/B03-valsts-budzeta-izpilde.source.odcs.yaml (Valsts kases CSV) - contracts/B03-valsts-budzeta-izpilde.odcs.yaml (ģenerēts no XSD) - mappings/B03-izpilde.yaml, docs/IZPILDE.md; CHANGELOG 0.2.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
78 lines
5.5 KiB
YAML
78 lines
5.5 KiB
YAML
# 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
|
|
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
|
|
namespace: urn:pppa:vpk:budzeta-izpilde:0.1
|
|
root: BudgetExecution
|
|
|
|
# Kuras avota rindas tiek pārveidotas. Visas rindas ar summu; rinda bez gada vai mēneša ir kļūda (avota līguma pārbaude).
|
|
document:
|
|
id: "lv-vbi-{Gads}"
|
|
law: "lv-vb-{Gads}" # tā paša gada budžeta likums (B15); ja nav ielādēts, purpose netiek aizpildīts
|
|
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 „|”.
|
|
# Kolonnu kombinācija avotā ir unikāla (pārbaudīts 2024–2026: katra rinda atšķiras vismaz vienā no tām).
|
|
id:
|
|
template: "lv-vbi-{Gads}.m{Menesis_Atslega:02d}.{hash}"
|
|
key: [Gads, Menesis_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]
|
|
|
|
# Atribūti: kolonna → atribūts; map — vērtību vārdnīca (nezināma vērtība = kļūda); empty — ja tukšs, atribūts netiek rakstīts.
|
|
attributes:
|
|
month: {column: Menesis_Atslega, type: int}
|
|
flow: {column: Klasifikacija, map: {"Ieņēmumi": resource, "Izdevumi": expenditure, "Finansēšana": financing}}
|
|
fund: {column: Budzeta_tips_Atslega, map: {"P": basic, "S": special, "6": loans, "7": donations}}
|
|
block: {column: Buzeta_bloks, map: {"Pamatfunkcijas": core, "Ārvalstu finanšu palīdzība": eu}, empty: omit}
|
|
consolidation: {column: Konsolidacija, map: {"Visu resoru NETO - bez transfertiem": net,
|
|
"+ pamatbudžeta savstarpējie transferti un atmaksas": basicTransfers,
|
|
"+ pamatbudžeta/speciālā budžeta savstarpējie transferti": basicSpecialTransfers,
|
|
"+ speciālā budžeta savstarpējie transferti": specialTransfers}}
|
|
resort: {column: Ministrija_Atslega}
|
|
institution: {column: Iestades_NMR}
|
|
institutionCode: {column: Iestade_Atslega}
|
|
programme: {column: Programma_Atslega}
|
|
subprogramme: {column: Apaksprogramma_Atslega}
|
|
function: {column: Funkcija_zemakaja_limeni_Atslega, empty: omit}
|
|
commitmentKind: {column: Saistibu_veids_Atslega, empty: omit}
|
|
project: {column: Projekta_arejais_kods_Atslega, empty: omit}
|
|
scheme: {column: Klasifikacija, map: {"Ieņēmumi": revenue, "Izdevumi": ekk, "Finansēšana": financing}}
|
|
code: {column: Vienotais_EKK_Atslega_7_limenis}
|
|
group: {column: Vienotais_EKK_Atslega_4_limenis, when: {flow: expenditure}, empty: omit}
|
|
lawCode: {column: Likuma_griezuma_EKK, take: first_token, empty: omit} # „1000 Atlīdzība” → 1000
|
|
amount: {column: Summa, type: decimal}
|
|
|
|
# Sasaiste ar budžeta likumu (B15): vispirms apakšprogramma, tad programma; ja nav neviena — lawMatch=none.
|
|
purpose:
|
|
candidates:
|
|
- {match: subprogramme, template: "lv-vb-{Gads}.pr.{Ministrija_Atslega}.{Apaksprogramma_Atslega}"}
|
|
- {match: programme, template: "lv-vb-{Gads}.pr.{Ministrija_Atslega}.{Programma_Atslega}"}
|
|
|
|
# Nosaukumi (Name ieraksti): koda nosaukums no avota; viens ieraksts katram (kind, key) gadā.
|
|
names:
|
|
- {kind: resort, key: Ministrija_Atslega, name: Ministrija_nosaukums}
|
|
- {kind: institution, key: Iestades_NMR, name: Iestade_nosaukums}
|
|
- {kind: programme, key: Programma_Atslega, name: Programma_nosaukums, scope: Ministrija_Atslega}
|
|
- {kind: programme, key: Apaksprogramma_Atslega, name: Apaksprogramma_nosaukums, scope: Ministrija_Atslega}
|
|
- {kind: function, key: Funkcija_zemakaja_limeni_Atslega, name: Funkcija_zemakaja_limeni_nosaukums}
|
|
- {kind: function, key: Funkcija_augstakais_limenis_Atslega, name: Funkcija_augstakais_limenis_Nosaukums}
|
|
- {kind: commitment, key: Saistibu_veids_Atslega, name: Saistibu_veids_nosaukums}
|
|
- {kind: project, key: Projekta_arejais_kods_Atslega, name: Projekts_nosaukums}
|
|
- {kind: code, key: Vienotais_EKK_Atslega_7_limenis, name: Vienotais_EKK_Nosaukums_7_limenis}
|
|
- {kind: lawCode, key: Likuma_griezuma_EKK, name: Likuma_griezuma_EKK, take: split_first}
|
|
|
|
# Kolonnas, kas netiek pārnestas, un kāpēc.
|
|
not_mapped:
|
|
Menesis_nosaukums: "atkārto Menesis_Atslega"
|
|
Resora_veids: "resora veids (ministrija, centrālā valsts iestāde, neatkarīgā institūcija) — pieejams VPK reģistrā (B01)"
|
|
Vienotais_EKK_Atslega_1_limenis: "grupu teksta apzīmējumi; kods ir atribūtos code un group"
|
|
Vienotais_EKK_Atslega_2_limenis: "tas pats"
|
|
Vienotais_EKK_Atslega_3_limenis: "tas pats"
|
|
Vienotais_EKK_Atslega_5_limenis: "starplīmenis; atjaunojams no code"
|
|
Vienotais_EKK_Atslega_6_limenis: "starplīmenis; atjaunojams no code"
|
|
Datu_valuta: "vienmēr Euro (avota līguma pārbaude)"
|