Files
administrator 8c01fd6e1a Pridani novych skriptu, reportu a zpracovanych dat
- EmailsImport: jnj_mailbox_sync_v1.0 (sync JNJ schranky)
- Covance: create_lab_results_report_v1.0 + zpracovane CSV (samples/kits/equeries/test-results), browser profily
- Feasibility UCO2001: store_cda_*, store_sipiq_links, classify_krok, mark_sipiq_sent, report v1.1 (stary report do TRASH)
- IWRS/Drugs: pregenerovane onsite inventory / shipment reporty
- TrilliumMCP server + trilium upload/diacritics skripty
- .mcp.json

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 15:10:21 +02:00

70 lines
2.4 KiB
Python

# -*- coding: utf-8 -*-
# =============================================================================
# Nazev: mark_sipiq_sent_v1.0.py
# Verze: 1.0
# Datum: 2026-06-09
# Popis: Predřadi do STATUS radek "09JUN2026: SIPIQ odeslán" u 14 investigatoru
# (krok 5 -> po odeslani SIPIQ). Idempotentni (nepridava 2x stejny den).
# Po zapisu spustit classify_krok_v1.0.py --apply (prejdou na KROK 6).
# Pouziti: python mark_sipiq_sent_v1.0.py (dry-run)
# python mark_sipiq_sent_v1.0.py --apply (zapise)
# =============================================================================
import os
import sys
from pymongo import MongoClient
from bson import ObjectId
MONGO_URI = os.environ.get("MONGO_URI", "mongodb://192.168.1.76:27017")
LINE = "09JUN2026: SIPIQ odeslán"
IDS = [
("6a1c4275aa46d8b608065cec", "Lukac"),
("6a19832b5fc221351825794f", "Hlavaty"),
("6a19832b5fc2213518257954", "Fedurco"),
("6a198b661218c31ab0f5ba43", "Tichy"),
("6a19832b5fc221351825796e", "Falc"),
("6a198b661218c31ab0f5ba41", "Pesta"),
("6a198b661218c31ab0f5ba45", "Jungwirthova"),
("6a19832b5fc2213518257950", "Matous"),
("6a19832b5fc2213518257958", "Mihalkanin"),
("6a198b661218c31ab0f5ba4e", "Krizova"),
("6a19832b5fc221351825795e", "Stepek"),
("6a19832b5fc2213518257972", "Konecny"),
("6a1987481218c31ab0f5ba33", "Svoboda"),
("6a198b661218c31ab0f5ba42", "Kojecky"),
]
def main():
apply = "--apply" in sys.argv
client = MongoClient(MONGO_URI)
col = client["feasibility"]["investigators"]
print("=== NAHLED: predazeni STATUS radku ===\n")
n = 0
for inv_id, label in IDS:
doc = col.find_one({"_id": ObjectId(inv_id)}, {"STATUS": 1})
if not doc:
print(f"!!! NENALEZEN {label} ({inv_id})")
continue
status = doc.get("STATUS", "") or ""
if LINE in status:
print(f"[SKIP] {label}: radek uz existuje")
continue
new_status = LINE + "\n" + status
print(f"[OK] {label}: + '{LINE}'")
if apply:
res = col.update_one({"_id": ObjectId(inv_id)}, {"$set": {"STATUS": new_status}})
n += res.modified_count
print()
if apply:
print(f">>> ZAPSANO: {n} zaznamu. Ted spust classify_krok_v1.0.py --apply")
else:
print(">>> DRY-RUN. Pro zapis spust s --apply")
if __name__ == "__main__":
main()