from rldd.client import Client
from rldd import config

client = Client(config.PROD)
db = client.connect()
iteration = 0
claims = db["claims"].find({"service.srguServiceId": "1234567891000000001", "currStatus.statusCode": "2",
                            "claimCreate": {'$gte': Client.ISODate("2020-01-08T16:19:26.860+0000")}})
for claim in claims:
    iteration += 1
    claimId = claim["_id"]
    status62 = False
    client.postStatus(claimId, 56, "Статус проставлен автоматически через РЛДД")
    client.postStatus(claimId, 3, "Статус проставлен автоматически через РЛДД")
    # client.postStatus(claimId, 62, "Статус проставлен автоматически через РЛДД, в рамках задачи EISOUSUP-6074")

    while not status62:
        statuses = db["claims_status"].find_one({"claimId": str(claimId), "statusCode": "62"})
        if statuses is not None:
            status62 = True
            client.postStatus(claimId, 24, "Статус проставлен автоматически через РЛДД")

    print(f"Claim {claimId} is done. Iteration: {iteration}")
Beispiel #2
0
from bson import ObjectId

from rldd.client import Client
from rldd import config

client = Client(config.PROD)
db = client.connect()
iteration = 0
claims = db["claims"].find(
    {"customClaimNumber": {
        "$in": ["P001-9411085075-42403100"]
    }})
for claim in claims:
    iteration += 1
    claimId = claim["_id"]
    response = client.postStatus(claimId, 4, "")

    print(
        f"{iteration}. Claim {claimId} is done. Iteration: {iteration} \n {response.text.encode('utf-8')}"
    )
from rldd.client import Client
from rldd import config

client = Client(config.PROD)
db = client.connect()
claims = db["claims"].find({
    "customClaimNumber": {
        "$in": [
            "P001-3206060485-38442141", "P001-8777633930-38669048",
            "P001-9035191347-38490792", "P001-5550349546-38279361",
            "P001-7334602401-38578180", "P001-8378983642-38458407",
            "P001-8378983642-38458894", "P001-0457096026-38774976",
            "P001-4370267090-38372832", "P001-3884170601-38462274",
            "P001-5205403179-38268679", "P001-8875649947-38575415",
            "P001-0257828240-38288922", "P001-0536022742-39473316",
            "P001-0798303238-39175168", "P001-4500273732-38567354",
            "P001-5026543613-38648596", "P001-1973411847-38281729",
            "P001-3240530790-39270122", "P001-9033133783-39136489"
        ]
    }
})
for claim in claims:
    client.postStatus(claim["_id"], 4, "")
db = client.connect()
claims = db["claims"].find({"customClaimNumber": {"$in": claims_list}})

for claim in claims:
    claimId = claim["_id"]
    try:
        ccn = claim["customClaimNumber"]
        statuses = db["claims_status"].find({"claimId": str(claimId), "statusCode": {"$in": ["3", "4"]}})

        for status in statuses:
            statusId = status["_id"]
            docs = db["docs"].find({"ownerId": str(statusId)})

            for doc in docs:
                md5 = doc["fileMetadata"]["md5"]
                # Удаление доков привязанных к статусу с результатом
                delete_doc = db["docs"].delete_many({"ownerType": "CLAIM", "fileMetadata.md5": str(md5)})
                print(f"md5: {md5}, deleted: {delete_doc.deleted_count} docs.")
        # Удаление из заявки атрибутов resultStatus, docSendDate
        upd = db["claims"].update_one({"_id": claimId}, {"$unset": {"resultStatus": "", "docSendDate": ""}})
        # Пост статуса в заявку
        client.postStatus(claimId, back_to_status)
        print(f"Claim: {ccn}. Progress: {upd.modified_count} / {upd.matched_count}")

    except KeyError as k_e:
        print(claimId, k_e)
        continue
    except AttributeError as a_e:
        print(claimId, a_e)
        continue