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}")
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