1
0
Files

79 lines
5.7 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.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
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). 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, 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]
# 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)"