← DokArh Portal
plan_izvrsavanja

GenosisPOS CC2 — Backend / Fiscal / QR Generacija

Kreator: cc_claude Datum: 2026-05-08 Status: PLAN_DOGOVOREN
WeisE3™ ID: cc919fdcdeee91fe071f0a3a3507c2c2f2b10180f08661cd37abee95ad120cf9
tipplan_izvrsavanja
sustavgenesispos
prethodnic0117_genesispos_cc1_frontend_plan.dok.json
verzija1.0
statusPLAN_DOGOVOREN
dogovorIvan Seki, 2026-05-08 — split CC1/CC2 potvrđen, QR dodan
sto_trebaCC2 izvršava backend/services/fiscal zadatke na GenosisPOS-u. Teritorij: services/, alati/, tasks.py, fiscal/, views.py API. Ne dira templates/static/nginx.
teritorij{ "smije": [ "pos/services/", "pos/alati/", "pos/tasks.py", "pos/fiscal/", "pos/views.py (API views, ne template context)", "pos/models.py (nova fiscal/QR polja)", "pos/migrations/ (samo fiscal/QR migration)" ], "ne_smije": [ "pos/templates/", "pos/static/", "pos/ai/order_intake.py", "/etc/nginx/sites-enabled/genesispos" ] }
zadaci[ { "id": "T01", "naziv": "omega_engine.py: threading.Thread → Celery async + N+1 fix", "problem": "threading.Thread u gunicornu = connection leak. receipt_items.count() = N+1 query.", "zakoni": [ "ZAKON 28" ], "chain": "c0126" }, { "id": "T02", "naziv": "BunkerSeal BPZ-9: L0, L1, L3-L8 implementacija", "problem": "Samo L2 implementiran od 9 slojeva BPZ-9", "zakoni": [ "ZAKON 3" ], "chain": "c0127" }, { "id": "T03", "n
definicija_done[ "threading.Thread = 0 upotreba u omega_engine.py", "bunker_seal_id počinje s 'BPZ9::' na svakom novom receiptu", "Trojna pohrana: Bršljan + Krunica pokušaj (Dvorac sync)", "BasePOSAlat.on_demand() definiran, 0 AttributeError", "pos/fiscal/hr/qr_gen.py postoji, build_verification_url() vraća ispravan URL", "QR PNG sprema se u /media/pos/qr/", "fiscalize_receipt task poziva attach_qr_to_receipt() nakon JIR", "FISCAL_HR_DEMO_MODE=true → QR generira se, nema crash", "python manag
qr_specifikacija{ "url_format": "https://porezna.gov.hr/provjera-racuna/?zki={ZKI}&datIzd={dd.MM.yyyyTHH:mm:ss}&oib={OIB}", "referenca": "Tehnička specifikacija fiskalizacije HR v2.5, poglavlje 6.3", "library": "qrcode[pil]==7.4.2", "error_correction": "ERROR_CORRECT_M (~15% recovery — balans između veličine i otpornosti)", "output": "/media/pos/qr/{weise3_id}.png, 300x300px", "demo_mode": "ZKI = DEMO{receipt_pk:028d}, QR se svejedno generira za testiranje", "sto_radi": "Porezna uprava prima ZKI,
faze[ { "faza": 1, "naziv": "Infrastruktura (threading, BPZ-9, trojna pohrana)", "zadaci": [ "T01", "T02", "T03" ] }, { "faza": 2, "naziv": "Interface ispravci (BasePOSAlat, offline bundle)", "zadaci": [ "T04", "T08" ] }, { "faza": 3, "naziv": "QR generacija + FINA demo mode", "zadaci": [ "T05", "T06" ] }, { "faza": 4, "naziv": "SI FURS sandbox", "zadaci": [ "T07" ] } ]
zakonZAKON 3 + ZAKON 26 + ZAKON 27 + ZAKON 28 + ZAKON 29 + ZAKON 32 + ZAKON 33
plan_urlhttps://genesis.limit-connect.com/plans/cc2_genesispos_backend.md
v_urlhttps://genesis.limit-connect.com/v/cc919fdcdeee91fe071f0a3a3507c2c2f2b10180f08661cd37abee95ad120cf9