# -*- coding: utf-8 -*- # ============================================================================= # Nazev: promote_sipiq_submitted_v1.0.py # Verze: 1.0 # Datum: 2026-06-17 # Popis: Posune dane investigatory (KROK 6 - SIPIQ odeslan) na # KROK "7 - SIPIQ vyplneny" na zaklade Illuminator exportu # (status "SIPIQ Submitted"). Illuminator = ultimatni zdroj, protoze # lekar vyplneni SIPIQ nemusi oznamit e-mailem. Predřadi radek do STATUS. # Pouziti: python promote_sipiq_submitted_v1.0.py (dry-run) # python promote_sipiq_submitted_v1.0.py --apply # ============================================================================= import sys from pymongo import MongoClient from bson import ObjectId MONGO_URI = "mongodb://192.168.1.76:27017" LINE = ("17JUN2026: SIPIQ VYPLNENY — dle Illuminator exportu (status „SIPIQ " "Submitted“); lekar vyplneni neoznamil, Illuminator = ultimatni zdroj. KROK 7.") # 13 investigatoru se SIPIQ Submitted v Illuminatoru, v Mongo zatim KROK 6 IDS = [ ("6a19832b5fc2213518257969", "Durina Juraj"), ("6a19832b5fc221351825796e", "Falc Matej"), ("6a19832b5fc2213518257954", "Fedurco Miroslav"), ("6a19832b5fc221351825796c", "Gregar Jan"), ("6a19832b5fc221351825794f", "Hlavaty Tibor"), ("6a19832b5fc2213518257973", "Horvath Frantisek"), ("6a19832b5fc221351825796f", "Konecny Michal"), ("6a19832b5fc2213518257972", "Konecny Stefan"), ("6a1c4275aa46d8b608065cec", "Lukac Ludovit"), ("6a19832b5fc2213518257958", "Mihalkanin Lubomir"), ("6a198b661218c31ab0f5ba41", "Pesta Martin"), ("6a19832b5fc221351825795e", "Stepek David"), ("6a198b661218c31ab0f5ba43", "Tichy Michal"), ] def main(): apply = "--apply" in sys.argv col = MongoClient(MONGO_URI)["feasibility"]["investigators"] n = 0 for hid, label in IDS: oid = ObjectId(hid) d = col.find_one({"_id": oid}, {"STATUS": 1, "KROK": 1}) if not d: print(f" !! {label}: NENALEZEN"); continue krok = d.get("KROK", "") if not krok.startswith("6"): print(f" ~~ {label}: KROK={krok} (neni 6) -> preskakuji"); continue print(f" [{label}] KROK {krok} -> 7 - SIPIQ vyplneny") if apply: new_status = LINE + "\n" + (d.get("STATUS", "") or "") col.update_one({"_id": oid}, {"$set": { "KROK": "7 - SIPIQ vyplneny", "STATUS": new_status}}) n += 1 print(f"\n{'ZAPSANO' if apply else 'DRY-RUN'}: {n if apply else len(IDS)}/{len(IDS)}") if not apply: print(">>> Pro zapis spust s --apply") if __name__ == "__main__": main()