actionEffectLogs Collection

View documents in this collection


Documents

Showing up to 10 documents:

Document 1 - ID: 69d10ec7142b214bd8c388dc
{"_id": {"$oid": "69d10ec7142b214bd8c388dc"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d10e43142b214bd8c388da", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d10ec647b9aa455ba4f612", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775308486599, "completedAt": 1775308487771, "durationMs": 1172, "effectLogs": [{"effectId": "69d10eaf142b214bd8c388db", "effectName": "Send Notification", "effectType": "NOTIFICATION", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775308486600, "completedAt": 1775308487771, "durationMs": 1171, "input": {"subject": "Material Creation", "body": "A New Material Lot was created with id = Material 1", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 1, "success": 1, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D10EC6000000012B042C01002B066E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D10EC647B9AA455BA4F612000004\"}"}, "changeStreamData": {"_id": "69d10ec647b9aa455ba4f612", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d10ec647b9aa455ba4f612"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 1", "externalId": "Material 1", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 1", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 1", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775308486", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775308486", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775308486, "createdAt": 1775308486, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SErEdks9DG", "searchable": {"69d10d9147b9aa455ba4f609": "Material 1", "69d10d9147b9aa455ba4f608": "Material 1", "69d10d9147b9aa455ba4f60b": 1775308486, "69d10d9147b9aa455ba4f60a": 1775308486, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d10ec647b9aa455ba4f612"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775308486}, "sourceData": {"_id": {"$oid": "69d10ec647b9aa455ba4f612"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 1", "externalId": "Material 1", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 1", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 1", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775308486", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775308486", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775308486, "createdAt": 1775308486, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SErEdks9DG", "searchable": {"69d10d9147b9aa455ba4f609": "Material 1", "69d10d9147b9aa455ba4f608": "Material 1", "69d10d9147b9aa455ba4f60b": 1775308486, "69d10d9147b9aa455ba4f60a": 1775308486, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775308487772, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 2 - ID: 69d10f4d142b214bd8c388dd
{"_id": {"$oid": "69d10f4d142b214bd8c388dd"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d10e43142b214bd8c388da", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d10f4c47b9aa455ba4f618", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775308620832, "completedAt": 1775308621475, "durationMs": 643, "effectLogs": [{"effectId": "69d10eaf142b214bd8c388db", "effectName": "Send Notification", "effectType": "NOTIFICATION", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775308620832, "completedAt": 1775308621475, "durationMs": 643, "input": {"subject": "Material Creation", "body": "A New Material Lot was created with \nMaterial Name = Material 2\nId = Material 2", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 1, "success": 1, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D10F4C000000012B042C01002B026E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D10F4C47B9AA455BA4F618000004\"}"}, "changeStreamData": {"_id": "69d10f4c47b9aa455ba4f618", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d10f4c47b9aa455ba4f618"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 2", "externalId": "Material 2", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 2", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 2", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775308620", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775308620", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775308620, "createdAt": 1775308620, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SErO81WIRW", "searchable": {"69d10d9147b9aa455ba4f609": "Material 2", "69d10d9147b9aa455ba4f608": "Material 2", "69d10d9147b9aa455ba4f60b": 1775308620, "69d10d9147b9aa455ba4f60a": 1775308620, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d10f4c47b9aa455ba4f618"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775308620}, "sourceData": {"_id": {"$oid": "69d10f4c47b9aa455ba4f618"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 2", "externalId": "Material 2", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 2", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 2", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775308620", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775308620", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775308620, "createdAt": 1775308620, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SErO81WIRW", "searchable": {"69d10d9147b9aa455ba4f609": "Material 2", "69d10d9147b9aa455ba4f608": "Material 2", "69d10d9147b9aa455ba4f60b": 1775308620, "69d10d9147b9aa455ba4f60a": 1775308620, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775308621475, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 3 - ID: 69d1106b142b214bd8c388e0
{"_id": {"$oid": "69d1106b142b214bd8c388e0"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d10e43142b214bd8c388da", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d1106a47b9aa455ba4f61e", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775308906177, "completedAt": 1775308907040, "durationMs": 863, "effectLogs": [{"effectId": "69d10eaf142b214bd8c388db", "effectName": "Send Notification", "effectType": "NOTIFICATION", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775308906177, "completedAt": 1775308906817, "durationMs": 640, "input": {"subject": "Material Creation", "body": "A New Material Lot was created with \nMaterial Name = Material 4\nId = Material 4", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}, {"effectId": "69d10fea142b214bd8c388de", "effectName": "getdata", "effectType": "MONGO_QUERY", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775308906817, "completedAt": 1775308906832, "durationMs": 15, "input": {"query": "db.getCollection(\"notification\").aggregate([{\"$match\":{\"_id\":{\"$oid\":\"69d1106a47b9aa455ba4f61e\"}}},{\"$project\":{\"_id\":0,\"combined\":{\"$mergeObjects\":[{\"shortCode\":\"$shortCode\"},{\"$arrayToObject\":{\"$filter\":{\"input\":{\"$map\":{\"input\":\"$properties\",\"as\":\"property\",\"in\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"createdBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$createdBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$createdBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$createdBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"updatedBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$modifiedBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$modifiedBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$modifiedBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$gt\":[{\"$size\":\"$$property.choices\"},0]},\"then\":[\"$$property.externalId\",{\"$arrayElemAt\":[\"$$property.choices.displayName\",0]}],\"else\":[\"$$property.externalId\",\"$$property.value\"]}}}}}}}},\"as\":\"item\",\"cond\":{\"$ne\":[{\"$arrayElemAt\":[\"$$item\",1]},null]}}}},{\"$arrayToObject\":{\"$map\":{\"input\":\"$relations\",\"as\":\"relation\",\"in\":[\"$$relation.externalId\",{\"$concat\":[{\"$arrayElemAt\":[\"$$relation.targets.displayName\",0]},\" (ID: \",{\"$arrayElemAt\":[\"$$relation.targets.externalId\",0]},\")\"]}]}}}]}}},{\"$replaceRoot\":{\"newRoot\":\"$combined\"}}])"}, "output": {"result": [{"shortCode": "SEs9cpDine", "displayName": "Material 4", "externalId": "Material 4", "createdAt": "1775308906", "updatedAt": "1775308906", "createdBy": "Akash_pp  (ID: 9001)", "updatedBy": "Akash_pp  (ID: 9001)", "usageStatus": "1"}]}}, {"effectId": "69d11056142b214bd8c388df", "effectName": "pushdata", "effectType": "NOTIFICATION", "executionOrder": 3, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775308906833, "completedAt": 1775308907040, "durationMs": 207, "input": {"subject": "send 2", "body": "Material 4 Test", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 3, "success": 3, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D1106A000000012B042C01002B026E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D1106A47B9AA455BA4F61E000004\"}"}, "changeStreamData": {"_id": "69d1106a47b9aa455ba4f61e", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d1106a47b9aa455ba4f61e"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 4", "externalId": "Material 4", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 4", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 4", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775308906", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775308906", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775308906, "createdAt": 1775308906, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEs9cpDine", "searchable": {"69d10d9147b9aa455ba4f609": "Material 4", "69d10d9147b9aa455ba4f608": "Material 4", "69d10d9147b9aa455ba4f60b": 1775308906, "69d10d9147b9aa455ba4f60a": 1775308906, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d1106a47b9aa455ba4f61e"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775308906}, "sourceData": {"_id": {"$oid": "69d1106a47b9aa455ba4f61e"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 4", "externalId": "Material 4", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 4", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 4", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775308906", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775308906", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775308906, "createdAt": 1775308906, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEs9cpDine", "searchable": {"69d10d9147b9aa455ba4f609": "Material 4", "69d10d9147b9aa455ba4f608": "Material 4", "69d10d9147b9aa455ba4f60b": 1775308906, "69d10d9147b9aa455ba4f60a": 1775308906, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775308907040, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 4 - ID: 69d11287142b214bd8c388e1
{"_id": {"$oid": "69d11287142b214bd8c388e1"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d10e43142b214bd8c388da", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d112861e0c6a3047950db5", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775309447070, "completedAt": 1775309447947, "durationMs": 877, "effectLogs": [{"effectId": "69d10eaf142b214bd8c388db", "effectName": "Send Notification", "effectType": "NOTIFICATION", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775309447070, "completedAt": 1775309447725, "durationMs": 655, "input": {"subject": "Material Creation", "body": "A New Material Lot was created with \nMaterial Name = Material 5\nId = Material 5", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}, {"effectId": "69d10fea142b214bd8c388de", "effectName": "getdata", "effectType": "MONGO_QUERY", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775309447726, "completedAt": 1775309447731, "durationMs": 5, "input": {"query": "db.getCollection(\"notification\").aggregate([{\"$match\":{\"_id\":{\"$oid\":\"69d112861e0c6a3047950db5\"}}},{\"$project\":{\"_id\":0,\"combined\":{\"$mergeObjects\":[{\"shortCode\":\"$shortCode\"},{\"$arrayToObject\":{\"$filter\":{\"input\":{\"$map\":{\"input\":\"$properties\",\"as\":\"property\",\"in\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"createdBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$createdBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$createdBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$createdBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"updatedBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$modifiedBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$modifiedBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$modifiedBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$gt\":[{\"$size\":\"$$property.choices\"},0]},\"then\":[\"$$property.externalId\",{\"$arrayElemAt\":[\"$$property.choices.displayName\",0]}],\"else\":[\"$$property.externalId\",\"$$property.value\"]}}}}}}}},\"as\":\"item\",\"cond\":{\"$ne\":[{\"$arrayElemAt\":[\"$$item\",1]},null]}}}},{\"$arrayToObject\":{\"$map\":{\"input\":\"$relations\",\"as\":\"relation\",\"in\":[\"$$relation.externalId\",{\"$concat\":[{\"$arrayElemAt\":[\"$$relation.targets.displayName\",0]},\" (ID: \",{\"$arrayElemAt\":[\"$$relation.targets.externalId\",0]},\")\"]}]}}}]}}},{\"$replaceRoot\":{\"newRoot\":\"$combined\"}}])"}, "output": {"result": [{"shortCode": "SEsN85TgJ2", "displayName": "Material 5", "externalId": "Material 5", "status": "Option 1", "createdAt": "1775309446", "updatedAt": "1775309446", "createdBy": "Akash_pp  (ID: 9001)", "updatedBy": "Akash_pp  (ID: 9001)", "usageStatus": "1"}]}}, {"effectId": "69d11056142b214bd8c388df", "effectName": "pushdata", "effectType": "NOTIFICATION", "executionOrder": 3, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775309447732, "completedAt": 1775309447947, "durationMs": 215, "input": {"subject": "send 2", "body": "Material 5 Test Option 1", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 3, "success": 3, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D11287000000012B042C01002B026E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D112861E0C6A3047950DB5000004\"}"}, "changeStreamData": {"_id": "69d112861e0c6a3047950db5", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d112861e0c6a3047950db5"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 5", "externalId": "Material 5", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 5", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 5", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775309446", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775309446", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775309446, "createdAt": 1775309446, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEsN85TgJ2", "searchable": {"69d10d9147b9aa455ba4f609": "Material 5", "69d10d9147b9aa455ba4f608": "Material 5", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775309446, "69d10d9147b9aa455ba4f60a": 1775309446, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d112861e0c6a3047950db5"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775309447}, "sourceData": {"_id": {"$oid": "69d112861e0c6a3047950db5"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 5", "externalId": "Material 5", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 5", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 5", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775309446", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775309446", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775309446, "createdAt": 1775309446, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEsN85TgJ2", "searchable": {"69d10d9147b9aa455ba4f609": "Material 5", "69d10d9147b9aa455ba4f608": "Material 5", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775309446, "69d10d9147b9aa455ba4f60a": 1775309446, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775309447947, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 5 - ID: 69d11331142b214bd8c388e2
{"_id": {"$oid": "69d11331142b214bd8c388e2"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d10e43142b214bd8c388da", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d113311e0c6a3047950dbc", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775309617266, "completedAt": 1775309617902, "durationMs": 636, "effectLogs": [{"effectId": "69d10fea142b214bd8c388de", "effectName": "getdata", "effectType": "MONGO_QUERY", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775309617267, "completedAt": 1775309617271, "durationMs": 4, "input": {"query": "db.getCollection(\"notification\").aggregate([{\"$match\":{\"_id\":{\"$oid\":\"69d113311e0c6a3047950dbc\"}}},{\"$project\":{\"_id\":0,\"combined\":{\"$mergeObjects\":[{\"shortCode\":\"$shortCode\"},{\"$arrayToObject\":{\"$filter\":{\"input\":{\"$map\":{\"input\":\"$properties\",\"as\":\"property\",\"in\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"createdBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$createdBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$createdBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$createdBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"updatedBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$modifiedBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$modifiedBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$modifiedBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$gt\":[{\"$size\":\"$$property.choices\"},0]},\"then\":[\"$$property.externalId\",{\"$arrayElemAt\":[\"$$property.choices.displayName\",0]}],\"else\":[\"$$property.externalId\",\"$$property.value\"]}}}}}}}},\"as\":\"item\",\"cond\":{\"$ne\":[{\"$arrayElemAt\":[\"$$item\",1]},null]}}}},{\"$arrayToObject\":{\"$map\":{\"input\":\"$relations\",\"as\":\"relation\",\"in\":[\"$$relation.externalId\",{\"$concat\":[{\"$arrayElemAt\":[\"$$relation.targets.displayName\",0]},\" (ID: \",{\"$arrayElemAt\":[\"$$relation.targets.externalId\",0]},\")\"]}]}}}]}}},{\"$replaceRoot\":{\"newRoot\":\"$combined\"}}])"}, "output": {"result": [{"shortCode": "SEsZHUxa24", "displayName": "Material 6", "externalId": "Material 6", "status": "Option 1", "createdAt": "1775309617", "updatedAt": "1775309617", "createdBy": "Akash_pp  (ID: 9001)", "updatedBy": "Akash_pp  (ID: 9001)", "usageStatus": "1"}]}}, {"effectId": "69d11056142b214bd8c388df", "effectName": "pushdata", "effectType": "NOTIFICATION", "executionOrder": 3, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775309617271, "completedAt": 1775309617902, "durationMs": 631, "input": {"subject": "Material Lot Creation", "body": "A new Material Lot is added with ID = Material 6 and STATUS =  Option 1", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 2, "success": 2, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D11331000000012B042C01002B026E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D113311E0C6A3047950DBC000004\"}"}, "changeStreamData": {"_id": "69d113311e0c6a3047950dbc", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d113311e0c6a3047950dbc"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 6", "externalId": "Material 6", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 6", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 6", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775309617", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775309617", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775309617, "createdAt": 1775309617, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEsZHUxa24", "searchable": {"69d10d9147b9aa455ba4f609": "Material 6", "69d10d9147b9aa455ba4f608": "Material 6", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775309617, "69d10d9147b9aa455ba4f60a": 1775309617, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d113311e0c6a3047950dbc"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775309617}, "sourceData": {"_id": {"$oid": "69d113311e0c6a3047950dbc"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 6", "externalId": "Material 6", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 6", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 6", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775309617", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775309617", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775309617, "createdAt": 1775309617, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEsZHUxa24", "searchable": {"69d10d9147b9aa455ba4f609": "Material 6", "69d10d9147b9aa455ba4f608": "Material 6", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775309617, "69d10d9147b9aa455ba4f60a": 1775309617, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775309617902, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 6 - ID: 69d11388142b214bd8c388e3
{"_id": {"$oid": "69d11388142b214bd8c388e3"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d10e43142b214bd8c388da", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d113881e0c6a3047950dc3", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775309704280, "completedAt": 1775309704929, "durationMs": 649, "effectLogs": [{"effectId": "69d10fea142b214bd8c388de", "effectName": "getdata", "effectType": "MONGO_QUERY", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775309704280, "completedAt": 1775309704285, "durationMs": 5, "input": {"query": "db.getCollection(\"notification\").aggregate([{\"$match\":{\"_id\":{\"$oid\":\"69d113881e0c6a3047950dc3\"}}},{\"$project\":{\"_id\":0,\"combined\":{\"$mergeObjects\":[{\"shortCode\":\"$shortCode\"},{\"$arrayToObject\":{\"$filter\":{\"input\":{\"$map\":{\"input\":\"$properties\",\"as\":\"property\",\"in\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"createdBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$createdBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$createdBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$createdBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"updatedBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$modifiedBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$modifiedBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$modifiedBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$gt\":[{\"$size\":\"$$property.choices\"},0]},\"then\":[\"$$property.externalId\",{\"$arrayElemAt\":[\"$$property.choices.displayName\",0]}],\"else\":[\"$$property.externalId\",\"$$property.value\"]}}}}}}}},\"as\":\"item\",\"cond\":{\"$ne\":[{\"$arrayElemAt\":[\"$$item\",1]},null]}}}},{\"$arrayToObject\":{\"$map\":{\"input\":\"$relations\",\"as\":\"relation\",\"in\":[\"$$relation.externalId\",{\"$concat\":[{\"$arrayElemAt\":[\"$$relation.targets.displayName\",0]},\" (ID: \",{\"$arrayElemAt\":[\"$$relation.targets.externalId\",0]},\")\"]}]}}}]}}},{\"$replaceRoot\":{\"newRoot\":\"$combined\"}}])"}, "output": {"result": [{"shortCode": "SEt68jYdeo", "displayName": "Material 7", "externalId": "Material 7", "status": "Option 1", "createdAt": "1775309704", "updatedAt": "1775309704", "createdBy": "Akash_pp  (ID: 9001)", "updatedBy": "Akash_pp  (ID: 9001)", "usageStatus": "1"}]}}, {"effectId": "69d11056142b214bd8c388df", "effectName": "pushdata", "effectType": "NOTIFICATION", "executionOrder": 3, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775309704285, "completedAt": 1775309704929, "durationMs": 644, "input": {"subject": "Material Lot Creation", "body": "A new Material Lot is added with Name = Material 7 ID = Material 7 and STATUS =  Option 1", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 2, "success": 2, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D11388000000012B042C01002B026E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D113881E0C6A3047950DC3000004\"}"}, "changeStreamData": {"_id": "69d113881e0c6a3047950dc3", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d113881e0c6a3047950dc3"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 7", "externalId": "Material 7", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 7", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 7", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775309704", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775309704", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775309704, "createdAt": 1775309704, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEt68jYdeo", "searchable": {"69d10d9147b9aa455ba4f609": "Material 7", "69d10d9147b9aa455ba4f608": "Material 7", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775309704, "69d10d9147b9aa455ba4f60a": 1775309704, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d113881e0c6a3047950dc3"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775309704}, "sourceData": {"_id": {"$oid": "69d113881e0c6a3047950dc3"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material 7", "externalId": "Material 7", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material 7", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "Material 7", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775309704", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775309704", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775309704, "createdAt": 1775309704, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEt68jYdeo", "searchable": {"69d10d9147b9aa455ba4f609": "Material 7", "69d10d9147b9aa455ba4f608": "Material 7", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775309704, "69d10d9147b9aa455ba4f60a": 1775309704, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775309704929, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 7 - ID: 69d11b88662708c99a9e048b
{"_id": {"$oid": "69d11b88662708c99a9e048b"}, "objectTypeId": "69d114171e0c6a3047950dca", "objectTypeExternalId": "analytics", "triggerId": "69d11881662708c99a9e0483", "triggerName": "Analytics", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d11b851e0c6a3047950eaa", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775311749675, "completedAt": 1775311752980, "durationMs": 3305, "effectLogs": [{"effectId": "69d11942662708c99a9e0484", "effectName": "activeProcesses", "effectType": "SQL_QUERY", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775311749676, "completedAt": 1775311749700, "durationMs": 24, "input": {"sql": "SELECT\n    r.facility_id,\n    r.facility_name,\n    COUNT(DISTINCT r.process_id)\n        FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months'\n                AND r.job_created_ts <= current_date) AS active_proc_analysis,\n    COUNT(DISTINCT r.process_id)\n        FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months'\n                AND r.job_created_ts <= current_date) AS active_proc_baseline,\n    CASE\n        WHEN COUNT(DISTINCT r.process_id)\n            FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months'\n                    AND r.job_created_ts <= current_date) = 0 THEN NULL\n        ELSE ROUND(\n            100.0 * (\n                COUNT(DISTINCT r.process_id) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months' AND r.job_created_ts <= current_date)\n                - COUNT(DISTINCT r.process_id) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date)\n            )\n            / COUNT(DISTINCT r.process_id) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date)\n        , 1) || '%'\n    END AS pct_change_active_proc\nFROM public.raw_job_exec_mv r\nWHERE r.facility_id = 1643103503\nGROUP BY r.facility_id, r.facility_name"}, "output": {"result": [{"facility_id": 1643103503, "facility_name": "Sydney", "active_proc_analysis": 38, "active_proc_baseline": 82, "pct_change_active_proc": "-53.7%"}]}}, {"effectId": "69d11991662708c99a9e0485", "effectName": "jobThroughput", "effectType": "SQL_QUERY", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775311749701, "completedAt": 1775311749706, "durationMs": 5, "input": {"sql": "SELECT\n    r.facility_id,\n    r.facility_name,\n    ROUND(\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n                         AND r.job_end_ts >= current_date - INTERVAL '3 months'\n                         AND r.job_end_ts <= current_date)\n        * 30.0 / 90\n    , 1) AS jobs_per_30d_analysis,\n    ROUND(\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n                         AND r.job_end_ts >= current_date - INTERVAL '6 months'\n                         AND r.job_end_ts <= current_date)\n        * 30.0 / 180\n    , 1) AS jobs_per_30d_baseline,\n    CASE\n        WHEN COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n                              AND r.job_end_ts >= current_date - INTERVAL '6 months'\n                              AND r.job_end_ts <= current_date) = 0 THEN NULL\n        ELSE ROUND(\n            100.0 * (\n                COUNT(*) FILTER (WHERE r.state='COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '3 months' AND r.job_end_ts <= current_date) * 30.0 / 90\n                - COUNT(*) FILTER (WHERE r.state='COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180\n            )\n            / (COUNT(*) FILTER (WHERE r.state='COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180)\n        , 1) || '%'\n    END AS pct_change_jobs_per_30d\nFROM public.raw_job_exec_mv r\nWHERE r.facility_id = 1643103503\nGROUP BY r.facility_id, r.facility_name"}, "output": {"result": [{"facility_id": 1643103503, "facility_name": "Sydney", "jobs_per_30d_analysis": {"$numberDecimal": "54.7"}, "jobs_per_30d_baseline": {"$numberDecimal": "39.8"}, "pct_change_jobs_per_30d": "37.2%"}]}}, {"effectId": "69d119cb662708c99a9e0486", "effectName": "completionRate", "effectType": "SQL_QUERY", "executionOrder": 3, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775311749706, "completedAt": 1775311749709, "durationMs": 3, "input": {"sql": "WITH totals AS (\n    SELECT\n        COUNT(*) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months' AND r.job_created_ts <= current_date) AS total_analysis,\n        COUNT(*) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date) AS total_baseline,\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_created_ts >= current_date - INTERVAL '3 months' AND r.job_created_ts <= current_date) AS completed_analysis,\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date) AS completed_baseline\n    FROM public.raw_job_exec_mv r\n    WHERE r.facility_id = 1643103503\n)\nSELECT\n    CASE WHEN total_analysis = 0 THEN NULL\n         ELSE ROUND((completed_analysis::numeric / total_analysis) * 100, 1)\n    END AS completion_rate_analysis_pct,\n    CASE WHEN total_baseline = 0 THEN NULL\n         ELSE ROUND((completed_baseline::numeric / total_baseline) * 100, 1)\n    END AS completion_rate_baseline_pct,\n    CASE WHEN total_baseline = 0 THEN NULL\n         ELSE ROUND(\n             ((completed_analysis::numeric / total_analysis) - (completed_baseline::numeric / total_baseline))\n             / (completed_baseline::numeric / total_baseline) * 100.0\n         , 1)\n    END AS pct_change_completion_rate\nFROM totals"}, "output": {"result": [{"completion_rate_analysis_pct": {"$numberDecimal": "100.0"}, "completion_rate_baseline_pct": {"$numberDecimal": "100.0"}, "pct_change_completion_rate": {"$numberDecimal": "0.0"}}]}}, {"effectId": "69d11a12662708c99a9e0487", "effectName": "efficiencyGain", "effectType": "SQL_QUERY", "executionOrder": 4, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775311749709, "completedAt": 1775311749714, "durationMs": 5, "input": {"sql": "WITH analysis AS (\n    SELECT\n        r.process_id, r.process_name,\n        SUM(r.duration_hr) AS sum_analysis_hr,\n        COUNT(*)           AS cnt_analysis\n    FROM public.raw_job_exec_mv r\n    WHERE r.facility_id = 1748421478\n      AND r.state = 'COMPLETED'\n      AND r.job_start_ts >= current_date - INTERVAL '3 months'\n      AND r.job_start_ts <= current_date\n    GROUP BY r.process_id, r.process_name\n),\nbaseline_avg AS (\n    SELECT\n        r.process_id,\n        AVG(r.duration_hr) AS avg_baseline_hr\n    FROM public.raw_job_exec_mv r\n    WHERE r.facility_id = 1643103503\n      AND r.state = 'COMPLETED'\n      AND r.job_start_ts >= current_date - INTERVAL '6 months'\n      AND r.job_start_ts <= current_date\n    GROUP BY r.process_id\n),\nexpected AS (\n    SELECT\n        a.process_id, a.process_name,\n        a.sum_analysis_hr, a.cnt_analysis,\n        COALESCE(b.avg_baseline_hr, 0)                   AS avg_baseline_hr,\n        COALESCE(b.avg_baseline_hr, 0) * a.cnt_analysis  AS expected_baseline_hr\n    FROM analysis a\n    LEFT JOIN baseline_avg b ON b.process_id = a.process_id\n),\nanalysis_total AS (SELECT SUM(sum_analysis_hr)      AS analysis_duration_hr          FROM analysis),\nexpected_total AS (SELECT SUM(expected_baseline_hr) AS expected_baseline_duration_hr  FROM expected)\nSELECT\n    ROUND(at.analysis_duration_hr::numeric, 2)            AS analysis_duration_hr,\n    ROUND(et.expected_baseline_duration_hr::numeric, 2)   AS expected_baseline_duration_hr,\n    CASE WHEN et.expected_baseline_duration_hr = 0 THEN NULL\n         ELSE ROUND(100.0 * (et.expected_baseline_duration_hr - at.analysis_duration_hr)\n                    / et.expected_baseline_duration_hr, 1) || '%'\n    END AS efficiency_gain_pct\nFROM analysis_total at\nCROSS JOIN expected_total et"}, "output": {"result": [{"analysis_duration_hr": null, "expected_baseline_duration_hr": null, "efficiency_gain_pct": null}]}}, {"effectId": "69d11a36662708c99a9e0488", "effectName": "weeklyTimeline", "effectType": "SQL_QUERY", "executionOrder": 5, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775311749714, "completedAt": 1775311749719, "durationMs": 5, "input": {"sql": "SELECT\n    w.facility_id,\n    w.facility_name,\n    w.week_start,\n    w.jobs_created,\n    w.jobs_completed,\n    w.exception_count\nFROM public.weekly_facility_job_metrics_mv w\nWHERE w.facility_id = 1643103503\n  AND w.week_start >= date_trunc('week', current_date - INTERVAL '6 months')\n  AND w.week_start <= current_date\nORDER BY w.week_start"}, "output": {"result": [{"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-10-19T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-10-26T18:30:00Z"}, "jobs_created": 2, "jobs_completed": 2, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-02T18:30:00Z"}, "jobs_created": 17, "jobs_completed": 17, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-09T18:30:00Z"}, "jobs_created": 20, "jobs_completed": 20, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-16T18:30:00Z"}, "jobs_created": 4, "jobs_completed": 4, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-23T18:30:00Z"}, "jobs_created": 9, "jobs_completed": 9, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-30T18:30:00Z"}, "jobs_created": 19, "jobs_completed": 19, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-12-07T18:30:00Z"}, "jobs_created": 2, "jobs_completed": 2, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-12-28T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-01-04T18:30:00Z"}, "jobs_created": 8, "jobs_completed": 8, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-01-11T18:30:00Z"}, "jobs_created": 3, "jobs_completed": 3, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-01-25T18:30:00Z"}, "jobs_created": 4, "jobs_completed": 4, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-01T18:30:00Z"}, "jobs_created": 41, "jobs_completed": 41, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-08T18:30:00Z"}, "jobs_created": 50, "jobs_completed": 50, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-15T18:30:00Z"}, "jobs_created": 19, "jobs_completed": 19, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-22T18:30:00Z"}, "jobs_created": 8, "jobs_completed": 8, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-01T18:30:00Z"}, "jobs_created": 14, "jobs_completed": 14, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-08T18:30:00Z"}, "jobs_created": 8, "jobs_completed": 8, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-15T18:30:00Z"}, "jobs_created": 7, "jobs_completed": 7, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-22T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-29T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}]}}, {"effectId": "69d11a7b662708c99a9e0489", "effectName": "usecaseComparison", "effectType": "SQL_QUERY", "executionOrder": 6, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775311749719, "completedAt": 1775311749725, "durationMs": 6, "input": {"sql": "SELECT\n    r.usecase_id,\n    r.usecase_name                                                                                      AS usecase,\n    COUNT(DISTINCT r.process_id)                                                                        AS processes,\n    ROUND(COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n          AND r.job_end_ts >= current_date - INTERVAL '3 months'\n          AND r.job_end_ts <= current_date) * 30.0 / 90, 0)                                            AS jobs_30d,\n    COALESCE(\n        ROUND(AVG(r.duration_hr) FILTER (WHERE r.state = 'COMPLETED'\n              AND r.job_start_ts >= current_date - INTERVAL '3 months'\n              AND r.job_start_ts <= current_date), 1)::text || 'h',\n        'N/A')                                                                                          AS avg_time,\n    CASE\n        WHEN COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n             AND r.job_end_ts >= current_date - INTERVAL '6 months'\n             AND r.job_end_ts <= current_date) = 0 THEN 'N/A'\n        ELSE ROUND(100.0 * (\n                COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '3 months' AND r.job_end_ts <= current_date) * 30.0 / 90\n                - COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180\n             ) / (COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180)\n        , 1) || '%'\n    END                                                                                                 AS percent_change,\n    COALESCE(\n        ROUND(COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n              AND r.job_created_ts >= current_date - INTERVAL '3 months'\n              AND r.job_created_ts <= current_date)::numeric\n              / NULLIF(COUNT(*) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months'\n                                        AND r.job_created_ts <= current_date), 0) * 100, 1)::text || '%',\n        'N/A')                                                                                          AS completion_rate,\n    CASE\n        WHEN COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n             AND r.job_end_ts >= current_date - INTERVAL '6 months'\n             AND r.job_end_ts <= current_date) = 0 THEN 'Attention'\n        WHEN (COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '3 months' AND r.job_end_ts <= current_date) * 30.0 / 90)\n           < (COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180)\n            THEN 'Attention'\n        ELSE 'Improved'\n    END                                                                                                 AS status\nFROM public.raw_job_exec_mv r\nWHERE r.facility_id = 1643103503\nGROUP BY r.usecase_id, r.usecase_name\nORDER BY r.usecase_name"}, "output": {"result": [{"usecase_id": 1644232801, "usecase": "cleaning", "processes": 82, "jobs_30d": {"$numberDecimal": "55"}, "avg_time": "0.0h", "percent_change": "37.2%", "completion_rate": "100.0%", "status": "Improved"}]}}, {"effectId": "69d11b13662708c99a9e048a", "effectName": "send pdf", "effectType": "PDF", "executionOrder": 7, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775311749725, "completedAt": 1775311752980, "durationMs": 3255, "input": {"to": ["akash.verma@leucinetech.com"], "subject": "Analytics PDF | Sydney", "emailBody": "Analytics PDF", "fileName": "Analytics.pdf", "htmlTemplate": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n  <title>Cycle Time Analytics &mdash; Sydney</title>\n  <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n  <link href=\"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,300;9..144,600;9..144,700&family=DM+Sans:wght@400;500;600&display=swap\" rel=\"stylesheet\" />\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js\"></script>\n  <style>\n    :root {\n      --bg:#0b0f14; --surface:#111720; --card:#161d27; --border:#1f2d3d;\n      --accent:#00e5a0; --accent2:#3b82f6; --accent3:#f59e0b;\n      --danger:#ef4444; --text:#e8edf4; --muted:#5b7091; --soft:#8aa0b8;\n      --radius:12px;\n      --mono:'DM Mono',monospace; --serif:'Fraunces',serif; --sans:'DM Sans',sans-serif;\n    }\n    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n    body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.6;min-height:100vh}\n    #week-data,#usecase-data{display:none}\n    .wrapper{max-width:1280px;margin:0 auto;padding:32px 24px 64px}\n    .header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:40px;animation:slideDown .5s ease both}\n    .eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:8px}\n    .eyebrow::before{content:'';display:inline-block;width:20px;height:1px;background:var(--accent)}\n    h1{font-family:var(--serif);font-size:36px;font-weight:600;letter-spacing:-.02em;line-height:1.1}\n    .facility-meta{display:flex;align-items:center;gap:16px;margin-top:10px}\n    .chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:var(--mono);font-size:11px;border:1px solid var(--border);color:var(--soft);background:var(--surface)}\n    .chip.live{border-color:var(--accent);color:var(--accent)}\n    .chip.live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse 2s infinite}\n    .header-periods{display:flex;gap:12px;flex-shrink:0}\n    .period-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;min-width:172px}\n    .period-box.analysis{border-top:2px solid var(--accent2)}\n    .period-box.baseline{border-top:2px solid var(--muted)}\n    .period-label{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}\n    .period-dates{font-family:var(--mono);font-size:12px;color:var(--soft)}\n    .period-days{font-size:11px;color:var(--muted);margin-top:2px}\n    .section-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}\n    .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}\n    .kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;position:relative;overflow:hidden;animation:fadeUp .5s ease both;transition:border-color .2s,transform .2s}\n    .kpi-card:hover{border-color:#2a3d55;transform:translateY(-2px)}\n    .kpi-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px}\n    .kpi-card.c1::after{background:var(--accent2)}\n    .kpi-card.c2::after{background:var(--accent)}\n    .kpi-card.c3::after{background:var(--accent3)}\n    .kpi-card.c4::after{background:#a855f7}\n    .kpi-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:15px}\n    .kpi-card.c1 .kpi-icon{background:rgba(59,130,246,.12);color:var(--accent2)}\n    .kpi-card.c2 .kpi-icon{background:rgba(0,229,160,.1);color:var(--accent)}\n    .kpi-card.c3 .kpi-icon{background:rgba(245,158,11,.1);color:var(--accent3)}\n    .kpi-card.c4 .kpi-icon{background:rgba(168,85,247,.1);color:#a855f7}\n    .kpi-title{font-size:11px;color:var(--muted);letter-spacing:.04em;margin-bottom:4px}\n    .kpi-value{font-family:var(--mono);font-size:28px;font-weight:500;color:var(--text);line-height:1;margin-bottom:10px}\n    .kpi-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}\n    .kpi-baseline{font-family:var(--mono);font-size:11px;color:var(--muted)}\n    .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-family:var(--mono);font-size:11px;font-weight:500}\n    .badge.up{background:rgba(0,229,160,.1);color:var(--accent)}\n    .badge.down{background:rgba(239,68,68,.1);color:var(--danger)}\n    .badge.flat{background:rgba(91,112,145,.12);color:var(--soft)}\n    .progress-wrap{height:4px;background:var(--border);border-radius:2px;margin:10px 0;overflow:hidden}\n    .progress-bar{height:100%;border-radius:2px;background:var(--accent3)}\n    .eff-row{display:flex;justify-content:space-between;font-size:11px;margin-top:4px}\n    .eff-row span:first-child{color:var(--muted)}\n    .eff-row span:last-child{font-family:var(--mono);color:var(--soft)}\n    .chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:32px;animation:fadeUp .6s ease both}\n    .chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}\n    .chart-title{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--text)}\n    .chart-desc{font-size:12px;color:var(--muted);margin-top:2px}\n    .legend{display:flex;gap:16px}\n    .legend-item{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--soft)}\n    .legend-dot{width:8px;height:8px;border-radius:50%}\n    .chart-wrap{position:relative;height:260px}\n    .table-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:fadeUp .7s ease both}\n    .table-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}\n    .filter-row{display:flex;align-items:center;gap:8px}\n    select{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--soft);padding:6px 12px;font-family:var(--mono);font-size:11px;outline:none;cursor:pointer}\n    select:focus{border-color:var(--accent2)}\n    .count-chip{font-family:var(--mono);font-size:10px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 10px}\n    table{width:100%;border-collapse:collapse}\n    thead tr{border-bottom:1px solid var(--border)}\n    th{padding:10px 16px;text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;cursor:pointer;user-select:none}\n    th:hover{color:var(--soft)}\n    th.sorted{color:var(--accent2)}\n    tbody tr{border-bottom:1px solid rgba(31,45,61,.6);transition:background .15s}\n    tbody tr:hover{background:rgba(255,255,255,.02)}\n    tbody tr:last-child{border-bottom:none}\n    td{padding:12px 16px;font-size:13px;color:var(--soft);white-space:nowrap}\n    td.name{color:var(--text);font-weight:500}\n    td.mono{font-family:var(--mono)}\n    .status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase}\n    .status-badge.improved{background:rgba(0,229,160,.1);color:var(--accent);border:1px solid rgba(0,229,160,.2)}\n    .status-badge.attention{background:rgba(239,68,68,.1);color:var(--danger);border:1px solid rgba(239,68,68,.2)}\n    .view-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--soft);font-family:var(--mono);font-size:11px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}\n    .view-btn:hover{border-color:var(--accent2);color:var(--accent2);background:rgba(59,130,246,.06)}\n    .table-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}\n    .legend-summary{display:flex;gap:16px}\n    .leg-s{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px}\n    .dot{width:7px;height:7px;border-radius:50%}\n    .dot.g{background:var(--accent)}\n    .dot.r{background:var(--danger)}\n    .empty-row td{text-align:center;padding:40px;color:var(--muted);font-style:italic}\n    @keyframes slideDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}\n    @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}\n    @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}\n    .kpi-card:nth-child(1){animation-delay:.05s}\n    .kpi-card:nth-child(2){animation-delay:.10s}\n    .kpi-card:nth-child(3){animation-delay:.15s}\n    .kpi-card:nth-child(4){animation-delay:.20s}\n    @media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.header{flex-direction:column}.header-periods{flex-wrap:wrap}}\n    @media(max-width:600px){.kpi-grid{grid-template-columns:1fr}h1{font-size:26px}}\n  </style>\n</head>\n<body>\n\n<!-- effect5 data: tokens in HTML attributes, read by JS from DOM -->\n<div id=\"week-data\">\n  <div class=\"w\" data-ws=\"2025-10-20\" data-jc=\"1\" data-jp=\"1\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-10-27\" data-jc=\"2\" data-jp=\"2\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-03\" data-jc=\"17\" data-jp=\"17\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-10\" data-jc=\"20\" data-jp=\"20\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-17\" data-jc=\"4\" data-jp=\"4\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-24\" data-jc=\"9\" data-jp=\"9\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-12-01\" data-jc=\"19\" data-jp=\"19\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-12-08\" data-jc=\"2\" data-jp=\"2\" data-ex=\"0\"></div>\n</div>\n\n<!-- effect6 data: tokens in HTML attributes, read by JS from DOM -->\n<div id=\"usecase-data\">\n  <div class=\"u\" data-id=\"1644232801\" data-uc=\"cleaning\" data-pr=\"82\" data-j3=\"55\" data-at=\"0.0h\" data-pc=\"37.2%\" data-cr=\"100.0%\" data-st=\"Improved\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n</div>\n\n<div class=\"wrapper\">\n\n  <!-- HEADER -->\n  <div class=\"header\">\n    <div class=\"header-left\">\n      <div class=\"eyebrow\">Operational Efficiency &middot; Cycle Time</div>\n      <h1>Sydney</h1>\n      <div class=\"facility-meta\">\n        <span class=\"chip live\">Operational</span>\n        <span class=\"chip\">ID: 1643103503</span>\n      </div>\n    </div>\n    <div class=\"header-periods\">\n      <div class=\"period-box analysis\">\n        <div class=\"period-label\">Analysis Period</div>\n        <div class=\"period-dates\">Last 3 months</div>\n        <div class=\"period-days\">90 days</div>\n      </div>\n      <div class=\"period-box baseline\">\n        <div class=\"period-label\">Baseline Period</div>\n        <div class=\"period-dates\">Last 6 months</div>\n        <div class=\"period-days\">180 days</div>\n      </div>\n    </div>\n  </div>\n\n  <!-- KPI CARDS -->\n  <div class=\"section-label\">Key Metrics</div>\n  <div class=\"kpi-grid\">\n\n    <div class=\"kpi-card c1\">\n      <div class=\"kpi-icon\">&#x2B21;</div>\n      <div class=\"kpi-title\">Active Processes</div>\n      <div class=\"kpi-value\">38</div>\n      <div class=\"kpi-footer\">\n        <div class=\"kpi-baseline\">Baseline: 82</div>\n        <div class=\"badge\" data-pct=\"-53.7%\">-53.7%</div>\n      </div>\n    </div>\n\n    <div class=\"kpi-card c2\">\n      <div class=\"kpi-icon\">&#x26A1;</div>\n      <div class=\"kpi-title\">Job Throughput</div>\n      <div class=\"kpi-value\">54.7</div>\n      <div style=\"font-family:var(--mono);font-size:10px;color:var(--muted);margin-bottom:6px;\">jobs / 30 days</div>\n      <div class=\"kpi-footer\">\n        <div class=\"kpi-baseline\">Baseline: 39.8</div>\n        <div class=\"badge\" data-pct=\"37.2%\">37.2%</div>\n      </div>\n    </div>\n\n    <div class=\"kpi-card c3\">\n      <div class=\"kpi-icon\">&#x25CE;</div>\n      <div class=\"kpi-title\">Completion Rate</div>\n      <div class=\"kpi-value\">100.0%</div>\n      <div class=\"progress-wrap\">\n        <div class=\"progress-bar\" id=\"completionBar\" data-pct=\"100.0\" style=\"width:0%\"></div>\n      </div>\n      <div class=\"kpi-footer\">\n        <div class=\"kpi-baseline\">Baseline: 100.0%</div>\n        <div class=\"badge\" data-pct=\"0.0\">0.0</div>\n      </div>\n    </div>\n\n    <div class=\"kpi-card c4\">\n      <div class=\"kpi-icon\">&#x2191;</div>\n      <div class=\"kpi-title\">Efficiency Gain</div>\n      <div class=\"kpi-value\"></div>\n      <div class=\"eff-row\"><span>Actual</span><span> h</span></div>\n      <div class=\"eff-row\"><span>Expected</span><span> h</span></div>\n    </div>\n\n  </div>\n\n  <!-- WEEKLY TIMELINE CHART -->\n  <div class=\"chart-card\">\n    <div class=\"chart-header\">\n      <div>\n        <div class=\"chart-title\">Weekly Timeline</div>\n        <div class=\"chart-desc\">Job activity over the last 6 months</div>\n      </div>\n      <div class=\"legend\">\n        <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#3b82f6\"></div>Created</div>\n        <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#00e5a0\"></div>Completed</div>\n        <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#f59e0b\"></div>Exceptions</div>\n      </div>\n    </div>\n    <div class=\"chart-wrap\"><canvas id=\"weeklyChart\"></canvas></div>\n  </div>\n\n  <!-- USECASE COMPARISON TABLE -->\n  <div class=\"table-card\">\n    <div class=\"table-top\">\n      <div>\n        <div class=\"chart-title\">Usecase Comparison</div>\n        <div class=\"chart-desc\">Performance breakdown across use cases</div>\n      </div>\n      <div class=\"filter-row\">\n        <select id=\"filterSelect\" onchange=\"applyFilter()\">\n          <option value=\"all\">All Usecases</option>\n          <option value=\"improved\">Improved Only</option>\n          <option value=\"attention\">Attention Only</option>\n          <option value=\"high\">High Volume (&gt;3000 jobs)</option>\n          <option value=\"low\">Low Volume (&lt;2000 jobs)</option>\n        </select>\n        <span class=\"count-chip\" id=\"rowCount\">--</span>\n      </div>\n    </div>\n    <div style=\"overflow-x:auto\">\n      <table>\n        <thead>\n          <tr>\n            <th onclick=\"sortTable('usecase')\">Usecase <span id=\"si-usecase\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('processes')\">Processes <span id=\"si-processes\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('jobs_30d')\">Jobs 30d <span id=\"si-jobs_30d\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('avg_time')\">Avg Time <span id=\"si-avg_time\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('percent_change')\">% Change <span id=\"si-percent_change\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('completion_rate')\">Completion <span id=\"si-completion_rate\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('status')\">Status <span id=\"si-status\">&#x21D5;</span></th>\n            <th>Action</th>\n          </tr>\n        </thead>\n        <tbody id=\"tableBody\"></tbody>\n      </table>\n    </div>\n    <div class=\"table-footer\">\n      <span id=\"showingCount\">--</span>\n      <div class=\"legend-summary\">\n        <div class=\"leg-s\"><div class=\"dot g\"></div><span id=\"lgImproved\">--</span></div>\n        <div class=\"leg-s\"><div class=\"dot r\"></div><span id=\"lgAttention\">--</span></div>\n      </div>\n    </div>\n  </div>\n\n</div>\n\n<script>\n\nconst WEEKS = Array.from(document.querySelectorAll('#week-data .w'))\n  .map(el => ({\n    week_start:      el.dataset.ws,\n    jobs_created:    el.dataset.jc,\n    jobs_completed:  el.dataset.jp,\n    exception_count: el.dataset.ex\n  }))\n  .filter(w => w.week_start && !w.week_start.startsWith('@e.'));\n\nconst USECASES = Array.from(document.querySelectorAll('#usecase-data .u'))\n  .map(el => ({\n    usecase_id:      el.dataset.id,\n    usecase:         el.dataset.uc,\n    processes:       el.dataset.pr,\n    jobs_30d:        el.dataset.j3,\n    avg_time:        el.dataset.at,\n    percent_change:  el.dataset.pc,\n    completion_rate: el.dataset.cr,\n    status:          el.dataset.st\n  }))\n  .filter(u => u.usecase && !u.usecase.startsWith('@e.'));\n\nfunction classifyBadge(pct) {\n  const s = String(pct ?? '');\n  if (!s || s === 'N/A' || s.replace('%','') === '0.0' || s === '0.0') return 'flat';\n  return s.startsWith('-') ? 'down' : 'up';\n}\nfunction arrowFor(pct) {\n  const s = String(pct ?? '');\n  if (!s || s === 'N/A' || s.replace('%','') === '0.0') return '\\u2192';\n  return s.startsWith('-') ? '\\u2193' : '\\u2191';\n}\nfunction colourBadges() {\n  document.querySelectorAll('.badge[data-pct]').forEach(el => {\n    const pct = el.dataset.pct;\n    el.className = 'badge ' + classifyBadge(pct);\n    el.textContent = arrowFor(pct) + ' ' + (pct || 'N/A');\n  });\n}\nfunction setProgressBar() {\n  const bar = document.getElementById('completionBar');\n  if (bar) bar.style.width = (parseFloat(bar.dataset.pct) || 0) + '%';\n}\n\nfunction renderChart() {\n  if (!WEEKS.length) return;\n  const labels = WEEKS.map(w => {\n    const d = new Date(w.week_start);\n    return d.toLocaleDateString('en-US', { month:'short', day:'numeric' });\n  });\n  const ctx = document.getElementById('weeklyChart').getContext('2d');\n  const g1 = ctx.createLinearGradient(0,0,0,260);\n  g1.addColorStop(0,'rgba(59,130,246,.35)'); g1.addColorStop(1,'rgba(59,130,246,0)');\n  const g2 = ctx.createLinearGradient(0,0,0,260);\n  g2.addColorStop(0,'rgba(0,229,160,.25)');  g2.addColorStop(1,'rgba(0,229,160,0)');\n  const g3 = ctx.createLinearGradient(0,0,0,260);\n  g3.addColorStop(0,'rgba(245,158,11,.25)'); g3.addColorStop(1,'rgba(245,158,11,0)');\n  new Chart(ctx, {\n    type: 'line',\n    data: {\n      labels,\n      datasets: [\n        { label:'Jobs Created',    data:WEEKS.map(w=>Number(w.jobs_created)),    borderColor:'#3b82f6', backgroundColor:g1, fill:true, tension:.4, pointRadius:4, pointBackgroundColor:'#3b82f6', borderWidth:2 },\n        { label:'Jobs Completed',  data:WEEKS.map(w=>Number(w.jobs_completed)),  borderColor:'#00e5a0', backgroundColor:g2, fill:true, tension:.4, pointRadius:4, pointBackgroundColor:'#00e5a0', borderWidth:2 },\n        { label:'With Exceptions', data:WEEKS.map(w=>Number(w.exception_count)), borderColor:'#f59e0b', backgroundColor:g3, fill:true, tension:.4, pointRadius:4, pointBackgroundColor:'#f59e0b', borderWidth:2, yAxisID:'y2' }\n      ]\n    },\n    options: {\n      responsive: true, maintainAspectRatio: false,\n      interaction: { mode:'index', intersect:false },\n      plugins: {\n        legend: { display:false },\n        tooltip: { backgroundColor:'#161d27', borderColor:'#1f2d3d', borderWidth:1, titleColor:'#8aa0b8', bodyColor:'#e8edf4', padding:12 }\n      },\n      scales: {\n        x:  { grid:{ color:'rgba(31,45,61,.6)' }, ticks:{ color:'#5b7091' } },\n        y:  { position:'left',  grid:{ color:'rgba(31,45,61,.6)' }, ticks:{ color:'#5b7091', callback: v => v.toLocaleString() } },\n        y2: { position:'right', grid:{ display:false },             ticks:{ color:'#f59e0b' } }\n      }\n    }\n  });\n}\n\nlet sortKey = null, sortDir = 'asc', currentFilter = 'all';\n\nfunction applyFilter() {\n  currentFilter = document.getElementById('filterSelect').value;\n  renderTable();\n}\n\nfunction sortTable(key) {\n  sortDir = (sortKey === key && sortDir === 'asc') ? 'desc' : 'asc';\n  sortKey = key;\n  document.querySelectorAll('th').forEach(th => th.classList.remove('sorted'));\n  document.querySelectorAll(\"[id^='si-']\").forEach(s => s.textContent = '\\u21D5');\n  document.querySelectorAll('th').forEach(th => {\n    if (th.getAttribute('onclick') === \"sortTable('\" + key + \"')\") th.classList.add('sorted');\n  });\n  const icon = document.getElementById('si-' + key);\n  if (icon) icon.textContent = sortDir === 'asc' ? '\\u2191' : '\\u2193';\n  renderTable();\n}\n\nfunction parsePct(v)    { if (!v || v === 'N/A') return 0; return parseFloat(String(v).replace(/[+%]/g,'')); }\nfunction parseH(v)      { return parseFloat(String(v || '0').replace('h','')); }\nfunction parsePctStr(v) { return parseFloat(String(v || '0').replace('%','')); }\n\nfunction renderTable() {\n  let rows = [...USECASES];\n  switch (currentFilter) {\n    case 'improved':  rows = rows.filter(r => r.status === 'Improved');        break;\n    case 'attention': rows = rows.filter(r => r.status === 'Attention');       break;\n    case 'high':      rows = rows.filter(r => Number(r.jobs_30d) > 3000);      break;\n    case 'low':       rows = rows.filter(r => Number(r.jobs_30d) < 2000);      break;\n  }\n  if (sortKey) {\n    rows.sort((a, b) => {\n      let av, bv;\n      if (['processes','jobs_30d'].includes(sortKey)) { av = Number(a[sortKey]);          bv = Number(b[sortKey]); }\n      else if (sortKey === 'avg_time')                { av = parseH(a.avg_time);           bv = parseH(b.avg_time); }\n      else if (sortKey === 'percent_change')          { av = parsePct(a.percent_change);   bv = parsePct(b.percent_change); }\n      else if (sortKey === 'completion_rate')         { av = parsePctStr(a.completion_rate); bv = parsePctStr(b.completion_rate); }\n      else { av = String(a[sortKey]||'').toLowerCase(); bv = String(b[sortKey]||'').toLowerCase(); }\n      return av < bv ? (sortDir==='asc'?-1:1) : av > bv ? (sortDir==='asc'?1:-1) : 0;\n    });\n  }\n  const improved  = rows.filter(r => r.status === 'Improved').length;\n  const attention = rows.filter(r => r.status === 'Attention').length;\n  document.getElementById('rowCount').textContent     = rows.length + ' / ' + USECASES.length;\n  document.getElementById('showingCount').textContent = 'Showing ' + rows.length + ' of ' + USECASES.length + ' usecases';\n  document.getElementById('lgImproved').textContent   = 'Improved (' + improved + ')';\n  document.getElementById('lgAttention').textContent  = 'Attention (' + attention + ')';\n  const tbody = document.getElementById('tableBody');\n  if (!rows.length) {\n    tbody.innerHTML = '<tr class=\"empty-row\"><td colspan=\"8\">No data available</td></tr>';\n    return;\n  }\n  tbody.innerHTML = rows.map(r => {\n    const pc      = r.percent_change;\n    const pcClass = pc === 'N/A' ? 'flat' : (String(pc).startsWith('-') ? 'up' : 'down');\n    const pcArrow = pc === 'N/A' ? '\\u2192' : (String(pc).startsWith('-') ? '\\u2193' : '\\u2191');\n    const sClass  = r.status === 'Improved' ? 'improved' : 'attention';\n    const sIcon   = r.status === 'Improved' ? '\\u2713' : '\\u26A0';\n    return '<tr>'\n      + '<td class=\"name\">' + r.usecase + '</td>'\n      + '<td class=\"mono\">' + Number(r.processes).toLocaleString() + '</td>'\n      + '<td class=\"mono\">' + Number(r.jobs_30d).toLocaleString() + '</td>'\n      + '<td class=\"mono\">' + r.avg_time + '</td>'\n      + '<td><span class=\"badge ' + pcClass + '\">' + pcArrow + ' ' + (pc || 'N/A') + '</span></td>'\n      + '<td class=\"mono\">' + r.completion_rate + '</td>'\n      + '<td><span class=\"status-badge ' + sClass + '\">' + sIcon + ' ' + r.status + '</span></td>'\n      + '<td><button class=\"view-btn\" onclick=\"handleView(\\'' + r.usecase_id + '\\')\">&#x21D7; View</button></td>'\n      + '</tr>';\n  }).join('');\n}\n\nfunction handleView(id) { console.log('Navigate to usecase:', id); }\n\ncolourBadges();\nsetProgressBar();\nrenderChart();\nrenderTable();\n\n</script>\n</body>\n</html>"}, "output": {"sizeBytes": 254519, "fileName": "Analytics.pdf", "emailedTo": ["akash.verma@leucinetech.com"]}}], "effectsSummary": {"total": 7, "success": 7, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D11B85000000012B042C01002B086E5A1004915344FFDA2D4BA1A7B922ABD97AAB15463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D11B851E0C6A3047950EAA000004\"}"}, "changeStreamData": {"_id": "69d11b851e0c6a3047950eaa", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d11b851e0c6a3047950eaa"}, "objectTypeId": {"$oid": "69d114171e0c6a3047950dca"}, "version": 1, "collection": "analytics", "displayName": "Analytics Report", "externalId": "REPORT-0426-1", "objectType": {"_id": {"$oid": "69d114171e0c6a3047950dca"}, "externalId": "analytics", "displayName": "Analytics", "version": 1}, "properties": [{"_id": {"$oid": "69d114171e0c6a3047950dcb"}, "externalId": "displayName", "displayName": "Name", "value": "Analytics Report", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcc"}, "externalId": "externalId", "displayName": "ID", "value": "REPORT-0426-1", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcd"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775311749", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dce"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775311749", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcf"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd0"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd1"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775311749, "createdAt": 1775311749, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEvxaww8KY", "searchable": {"69d114171e0c6a3047950dcf": 632530635632599040, "69d114171e0c6a3047950dce": 1775311749, "69d114171e0c6a3047950dd1": 1, "69d114171e0c6a3047950dd0": 632530635632599040, "69d114171e0c6a3047950dcb": "Analytics Report", "69d114171e0c6a3047950dcd": 1775311749, "69d114171e0c6a3047950dcc": "REPORT-0426-1"}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d11b851e0c6a3047950eaa"}}, "ns": {"db": "qa", "coll": "analytics"}, "clusterTime": 1775311749}, "sourceData": {"_id": {"$oid": "69d11b851e0c6a3047950eaa"}, "objectTypeId": {"$oid": "69d114171e0c6a3047950dca"}, "version": 1, "collection": "analytics", "displayName": "Analytics Report", "externalId": "REPORT-0426-1", "objectType": {"_id": {"$oid": "69d114171e0c6a3047950dca"}, "externalId": "analytics", "displayName": "Analytics", "version": 1}, "properties": [{"_id": {"$oid": "69d114171e0c6a3047950dcb"}, "externalId": "displayName", "displayName": "Name", "value": "Analytics Report", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcc"}, "externalId": "externalId", "displayName": "ID", "value": "REPORT-0426-1", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcd"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775311749", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dce"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775311749", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcf"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd0"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd1"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775311749, "createdAt": 1775311749, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEvxaww8KY", "searchable": {"69d114171e0c6a3047950dcf": 632530635632599040, "69d114171e0c6a3047950dce": 1775311749, "69d114171e0c6a3047950dd1": 1, "69d114171e0c6a3047950dd0": 632530635632599040, "69d114171e0c6a3047950dcb": "Analytics Report", "69d114171e0c6a3047950dcd": 1775311749, "69d114171e0c6a3047950dcc": "REPORT-0426-1"}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775311752981, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 8 - ID: 69d11c8b662708c99a9e048c
{"_id": {"$oid": "69d11c8b662708c99a9e048c"}, "objectTypeId": "69d114171e0c6a3047950dca", "objectTypeExternalId": "analytics", "triggerId": "69d11881662708c99a9e0483", "triggerName": "Analytics", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d11c891e0c6a3047950ee2", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775312009129, "completedAt": 1775312011386, "durationMs": 2257, "effectLogs": [{"effectId": "69d11942662708c99a9e0484", "effectName": "activeProcesses", "effectType": "SQL_QUERY", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775312009129, "completedAt": 1775312009134, "durationMs": 5, "input": {"sql": "SELECT\n    r.facility_id,\n    r.facility_name,\n    COUNT(DISTINCT r.process_id)\n        FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months'\n                AND r.job_created_ts <= current_date) AS active_proc_analysis,\n    COUNT(DISTINCT r.process_id)\n        FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months'\n                AND r.job_created_ts <= current_date) AS active_proc_baseline,\n    CASE\n        WHEN COUNT(DISTINCT r.process_id)\n            FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months'\n                    AND r.job_created_ts <= current_date) = 0 THEN NULL\n        ELSE ROUND(\n            100.0 * (\n                COUNT(DISTINCT r.process_id) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months' AND r.job_created_ts <= current_date)\n                - COUNT(DISTINCT r.process_id) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date)\n            )\n            / COUNT(DISTINCT r.process_id) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date)\n        , 1) || '%'\n    END AS pct_change_active_proc\nFROM public.raw_job_exec_mv r\nWHERE r.facility_id = 1643103503\nGROUP BY r.facility_id, r.facility_name"}, "output": {"result": [{"facility_id": 1643103503, "facility_name": "Sydney", "active_proc_analysis": 38, "active_proc_baseline": 82, "pct_change_active_proc": "-53.7%"}]}}, {"effectId": "69d11991662708c99a9e0485", "effectName": "jobThroughput", "effectType": "SQL_QUERY", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775312009135, "completedAt": 1775312009138, "durationMs": 3, "input": {"sql": "SELECT\n    r.facility_id,\n    r.facility_name,\n    ROUND(\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n                         AND r.job_end_ts >= current_date - INTERVAL '3 months'\n                         AND r.job_end_ts <= current_date)\n        * 30.0 / 90\n    , 1) AS jobs_per_30d_analysis,\n    ROUND(\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n                         AND r.job_end_ts >= current_date - INTERVAL '6 months'\n                         AND r.job_end_ts <= current_date)\n        * 30.0 / 180\n    , 1) AS jobs_per_30d_baseline,\n    CASE\n        WHEN COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n                              AND r.job_end_ts >= current_date - INTERVAL '6 months'\n                              AND r.job_end_ts <= current_date) = 0 THEN NULL\n        ELSE ROUND(\n            100.0 * (\n                COUNT(*) FILTER (WHERE r.state='COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '3 months' AND r.job_end_ts <= current_date) * 30.0 / 90\n                - COUNT(*) FILTER (WHERE r.state='COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180\n            )\n            / (COUNT(*) FILTER (WHERE r.state='COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180)\n        , 1) || '%'\n    END AS pct_change_jobs_per_30d\nFROM public.raw_job_exec_mv r\nWHERE r.facility_id = 1643103503\nGROUP BY r.facility_id, r.facility_name"}, "output": {"result": [{"facility_id": 1643103503, "facility_name": "Sydney", "jobs_per_30d_analysis": {"$numberDecimal": "54.7"}, "jobs_per_30d_baseline": {"$numberDecimal": "39.8"}, "pct_change_jobs_per_30d": "37.2%"}]}}, {"effectId": "69d119cb662708c99a9e0486", "effectName": "completionRate", "effectType": "SQL_QUERY", "executionOrder": 3, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775312009139, "completedAt": 1775312009142, "durationMs": 3, "input": {"sql": "WITH totals AS (\n    SELECT\n        COUNT(*) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months' AND r.job_created_ts <= current_date) AS total_analysis,\n        COUNT(*) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date) AS total_baseline,\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_created_ts >= current_date - INTERVAL '3 months' AND r.job_created_ts <= current_date) AS completed_analysis,\n        COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_created_ts >= current_date - INTERVAL '6 months' AND r.job_created_ts <= current_date) AS completed_baseline\n    FROM public.raw_job_exec_mv r\n    WHERE r.facility_id = 1643103503\n)\nSELECT\n    CASE WHEN total_analysis = 0 THEN NULL\n         ELSE ROUND((completed_analysis::numeric / total_analysis) * 100, 1)\n    END AS completion_rate_analysis_pct,\n    CASE WHEN total_baseline = 0 THEN NULL\n         ELSE ROUND((completed_baseline::numeric / total_baseline) * 100, 1)\n    END AS completion_rate_baseline_pct,\n    CASE WHEN total_baseline = 0 THEN NULL\n         ELSE ROUND(\n             ((completed_analysis::numeric / total_analysis) - (completed_baseline::numeric / total_baseline))\n             / (completed_baseline::numeric / total_baseline) * 100.0\n         , 1)\n    END AS pct_change_completion_rate\nFROM totals"}, "output": {"result": [{"completion_rate_analysis_pct": {"$numberDecimal": "100.0"}, "completion_rate_baseline_pct": {"$numberDecimal": "100.0"}, "pct_change_completion_rate": {"$numberDecimal": "0.0"}}]}}, {"effectId": "69d11a12662708c99a9e0487", "effectName": "efficiencyGain", "effectType": "SQL_QUERY", "executionOrder": 4, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775312009142, "completedAt": 1775312009145, "durationMs": 3, "input": {"sql": "WITH analysis AS (\n    SELECT\n        r.process_id, r.process_name,\n        SUM(r.duration_hr) AS sum_analysis_hr,\n        COUNT(*)           AS cnt_analysis\n    FROM public.raw_job_exec_mv r\n    WHERE r.facility_id = 1748421478\n      AND r.state = 'COMPLETED'\n      AND r.job_start_ts >= current_date - INTERVAL '3 months'\n      AND r.job_start_ts <= current_date\n    GROUP BY r.process_id, r.process_name\n),\nbaseline_avg AS (\n    SELECT\n        r.process_id,\n        AVG(r.duration_hr) AS avg_baseline_hr\n    FROM public.raw_job_exec_mv r\n    WHERE r.facility_id = 1643103503\n      AND r.state = 'COMPLETED'\n      AND r.job_start_ts >= current_date - INTERVAL '6 months'\n      AND r.job_start_ts <= current_date\n    GROUP BY r.process_id\n),\nexpected AS (\n    SELECT\n        a.process_id, a.process_name,\n        a.sum_analysis_hr, a.cnt_analysis,\n        COALESCE(b.avg_baseline_hr, 0)                   AS avg_baseline_hr,\n        COALESCE(b.avg_baseline_hr, 0) * a.cnt_analysis  AS expected_baseline_hr\n    FROM analysis a\n    LEFT JOIN baseline_avg b ON b.process_id = a.process_id\n),\nanalysis_total AS (SELECT SUM(sum_analysis_hr)      AS analysis_duration_hr          FROM analysis),\nexpected_total AS (SELECT SUM(expected_baseline_hr) AS expected_baseline_duration_hr  FROM expected)\nSELECT\n    ROUND(at.analysis_duration_hr::numeric, 2)            AS analysis_duration_hr,\n    ROUND(et.expected_baseline_duration_hr::numeric, 2)   AS expected_baseline_duration_hr,\n    CASE WHEN et.expected_baseline_duration_hr = 0 THEN NULL\n         ELSE ROUND(100.0 * (et.expected_baseline_duration_hr - at.analysis_duration_hr)\n                    / et.expected_baseline_duration_hr, 1) || '%'\n    END AS efficiency_gain_pct\nFROM analysis_total at\nCROSS JOIN expected_total et"}, "output": {"result": [{"analysis_duration_hr": null, "expected_baseline_duration_hr": null, "efficiency_gain_pct": null}]}}, {"effectId": "69d11a36662708c99a9e0488", "effectName": "weeklyTimeline", "effectType": "SQL_QUERY", "executionOrder": 5, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775312009145, "completedAt": 1775312009148, "durationMs": 3, "input": {"sql": "SELECT\n    w.facility_id,\n    w.facility_name,\n    w.week_start,\n    w.jobs_created,\n    w.jobs_completed,\n    w.exception_count\nFROM public.weekly_facility_job_metrics_mv w\nWHERE w.facility_id = 1643103503\n  AND w.week_start >= date_trunc('week', current_date - INTERVAL '6 months')\n  AND w.week_start <= current_date\nORDER BY w.week_start"}, "output": {"result": [{"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-10-19T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-10-26T18:30:00Z"}, "jobs_created": 2, "jobs_completed": 2, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-02T18:30:00Z"}, "jobs_created": 17, "jobs_completed": 17, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-09T18:30:00Z"}, "jobs_created": 20, "jobs_completed": 20, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-16T18:30:00Z"}, "jobs_created": 4, "jobs_completed": 4, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-23T18:30:00Z"}, "jobs_created": 9, "jobs_completed": 9, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-11-30T18:30:00Z"}, "jobs_created": 19, "jobs_completed": 19, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-12-07T18:30:00Z"}, "jobs_created": 2, "jobs_completed": 2, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2025-12-28T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-01-04T18:30:00Z"}, "jobs_created": 8, "jobs_completed": 8, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-01-11T18:30:00Z"}, "jobs_created": 3, "jobs_completed": 3, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-01-25T18:30:00Z"}, "jobs_created": 4, "jobs_completed": 4, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-01T18:30:00Z"}, "jobs_created": 41, "jobs_completed": 41, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-08T18:30:00Z"}, "jobs_created": 50, "jobs_completed": 50, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-15T18:30:00Z"}, "jobs_created": 19, "jobs_completed": 19, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-02-22T18:30:00Z"}, "jobs_created": 8, "jobs_completed": 8, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-01T18:30:00Z"}, "jobs_created": 14, "jobs_completed": 14, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-08T18:30:00Z"}, "jobs_created": 8, "jobs_completed": 8, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-15T18:30:00Z"}, "jobs_created": 7, "jobs_completed": 7, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-22T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}, {"facility_id": 1643103503, "facility_name": "Sydney", "week_start": {"$date": "2026-03-29T18:30:00Z"}, "jobs_created": 1, "jobs_completed": 1, "exception_count": 0}]}}, {"effectId": "69d11a7b662708c99a9e0489", "effectName": "usecaseComparison", "effectType": "SQL_QUERY", "executionOrder": 6, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775312009148, "completedAt": 1775312009152, "durationMs": 4, "input": {"sql": "SELECT\n    r.usecase_id,\n    r.usecase_name                                                                                      AS usecase,\n    COUNT(DISTINCT r.process_id)                                                                        AS processes,\n    ROUND(COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n          AND r.job_end_ts >= current_date - INTERVAL '3 months'\n          AND r.job_end_ts <= current_date) * 30.0 / 90, 0)                                            AS jobs_30d,\n    COALESCE(\n        ROUND(AVG(r.duration_hr) FILTER (WHERE r.state = 'COMPLETED'\n              AND r.job_start_ts >= current_date - INTERVAL '3 months'\n              AND r.job_start_ts <= current_date), 1)::text || 'h',\n        'N/A')                                                                                          AS avg_time,\n    CASE\n        WHEN COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n             AND r.job_end_ts >= current_date - INTERVAL '6 months'\n             AND r.job_end_ts <= current_date) = 0 THEN 'N/A'\n        ELSE ROUND(100.0 * (\n                COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '3 months' AND r.job_end_ts <= current_date) * 30.0 / 90\n                - COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180\n             ) / (COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180)\n        , 1) || '%'\n    END                                                                                                 AS percent_change,\n    COALESCE(\n        ROUND(COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n              AND r.job_created_ts >= current_date - INTERVAL '3 months'\n              AND r.job_created_ts <= current_date)::numeric\n              / NULLIF(COUNT(*) FILTER (WHERE r.job_created_ts >= current_date - INTERVAL '3 months'\n                                        AND r.job_created_ts <= current_date), 0) * 100, 1)::text || '%',\n        'N/A')                                                                                          AS completion_rate,\n    CASE\n        WHEN COUNT(*) FILTER (WHERE r.state = 'COMPLETED'\n             AND r.job_end_ts >= current_date - INTERVAL '6 months'\n             AND r.job_end_ts <= current_date) = 0 THEN 'Attention'\n        WHEN (COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '3 months' AND r.job_end_ts <= current_date) * 30.0 / 90)\n           < (COUNT(*) FILTER (WHERE r.state = 'COMPLETED' AND r.job_end_ts >= current_date - INTERVAL '6 months' AND r.job_end_ts <= current_date) * 30.0 / 180)\n            THEN 'Attention'\n        ELSE 'Improved'\n    END                                                                                                 AS status\nFROM public.raw_job_exec_mv r\nWHERE r.facility_id = 1643103503\nGROUP BY r.usecase_id, r.usecase_name\nORDER BY r.usecase_name"}, "output": {"result": [{"usecase_id": 1644232801, "usecase": "cleaning", "processes": 82, "jobs_30d": {"$numberDecimal": "55"}, "avg_time": "0.0h", "percent_change": "37.2%", "completion_rate": "100.0%", "status": "Improved"}]}}, {"effectId": "69d11b13662708c99a9e048a", "effectName": "send pdf", "effectType": "PDF", "executionOrder": 7, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775312009153, "completedAt": 1775312011386, "durationMs": 2233, "input": {"to": ["akash.verma@leucinetech.com"], "subject": "Analytics PDF | Sydney", "emailBody": "Analytics PDF", "fileName": "Analytics.pdf", "htmlTemplate": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n  <title>Cycle Time Analytics &mdash; Sydney</title>\n  <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n  <link href=\"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,300;9..144,600;9..144,700&family=DM+Sans:wght@400;500;600&display=swap\" rel=\"stylesheet\" />\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js\"></script>\n  <style>\n    :root {\n      --bg:#0b0f14; --surface:#111720; --card:#161d27; --border:#1f2d3d;\n      --accent:#00e5a0; --accent2:#3b82f6; --accent3:#f59e0b;\n      --danger:#ef4444; --text:#e8edf4; --muted:#5b7091; --soft:#8aa0b8;\n      --radius:12px;\n      --mono:'DM Mono',monospace; --serif:'Fraunces',serif; --sans:'DM Sans',sans-serif;\n    }\n    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n    body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.6;min-height:100vh}\n    #week-data,#usecase-data{display:none}\n    .wrapper{max-width:1280px;margin:0 auto;padding:32px 24px 64px}\n    .header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:40px;animation:slideDown .5s ease both}\n    .eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:8px}\n    .eyebrow::before{content:'';display:inline-block;width:20px;height:1px;background:var(--accent)}\n    h1{font-family:var(--serif);font-size:36px;font-weight:600;letter-spacing:-.02em;line-height:1.1}\n    .facility-meta{display:flex;align-items:center;gap:16px;margin-top:10px}\n    .chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:var(--mono);font-size:11px;border:1px solid var(--border);color:var(--soft);background:var(--surface)}\n    .chip.live{border-color:var(--accent);color:var(--accent)}\n    .chip.live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse 2s infinite}\n    .header-periods{display:flex;gap:12px;flex-shrink:0}\n    .period-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;min-width:172px}\n    .period-box.analysis{border-top:2px solid var(--accent2)}\n    .period-box.baseline{border-top:2px solid var(--muted)}\n    .period-label{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}\n    .period-dates{font-family:var(--mono);font-size:12px;color:var(--soft)}\n    .period-days{font-size:11px;color:var(--muted);margin-top:2px}\n    .section-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}\n    .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}\n    .kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;position:relative;overflow:hidden;animation:fadeUp .5s ease both;transition:border-color .2s,transform .2s}\n    .kpi-card:hover{border-color:#2a3d55;transform:translateY(-2px)}\n    .kpi-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px}\n    .kpi-card.c1::after{background:var(--accent2)}\n    .kpi-card.c2::after{background:var(--accent)}\n    .kpi-card.c3::after{background:var(--accent3)}\n    .kpi-card.c4::after{background:#a855f7}\n    .kpi-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:15px}\n    .kpi-card.c1 .kpi-icon{background:rgba(59,130,246,.12);color:var(--accent2)}\n    .kpi-card.c2 .kpi-icon{background:rgba(0,229,160,.1);color:var(--accent)}\n    .kpi-card.c3 .kpi-icon{background:rgba(245,158,11,.1);color:var(--accent3)}\n    .kpi-card.c4 .kpi-icon{background:rgba(168,85,247,.1);color:#a855f7}\n    .kpi-title{font-size:11px;color:var(--muted);letter-spacing:.04em;margin-bottom:4px}\n    .kpi-value{font-family:var(--mono);font-size:28px;font-weight:500;color:var(--text);line-height:1;margin-bottom:10px}\n    .kpi-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}\n    .kpi-baseline{font-family:var(--mono);font-size:11px;color:var(--muted)}\n    .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-family:var(--mono);font-size:11px;font-weight:500}\n    .badge.up{background:rgba(0,229,160,.1);color:var(--accent)}\n    .badge.down{background:rgba(239,68,68,.1);color:var(--danger)}\n    .badge.flat{background:rgba(91,112,145,.12);color:var(--soft)}\n    .progress-wrap{height:4px;background:var(--border);border-radius:2px;margin:10px 0;overflow:hidden}\n    .progress-bar{height:100%;border-radius:2px;background:var(--accent3)}\n    .eff-row{display:flex;justify-content:space-between;font-size:11px;margin-top:4px}\n    .eff-row span:first-child{color:var(--muted)}\n    .eff-row span:last-child{font-family:var(--mono);color:var(--soft)}\n    .chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:32px;animation:fadeUp .6s ease both}\n    .chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}\n    .chart-title{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--text)}\n    .chart-desc{font-size:12px;color:var(--muted);margin-top:2px}\n    .legend{display:flex;gap:16px}\n    .legend-item{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--soft)}\n    .legend-dot{width:8px;height:8px;border-radius:50%}\n    .chart-wrap{position:relative;height:260px}\n    .table-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:fadeUp .7s ease both}\n    .table-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}\n    .filter-row{display:flex;align-items:center;gap:8px}\n    select{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--soft);padding:6px 12px;font-family:var(--mono);font-size:11px;outline:none;cursor:pointer}\n    select:focus{border-color:var(--accent2)}\n    .count-chip{font-family:var(--mono);font-size:10px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 10px}\n    table{width:100%;border-collapse:collapse}\n    thead tr{border-bottom:1px solid var(--border)}\n    th{padding:10px 16px;text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;cursor:pointer;user-select:none}\n    th:hover{color:var(--soft)}\n    th.sorted{color:var(--accent2)}\n    tbody tr{border-bottom:1px solid rgba(31,45,61,.6);transition:background .15s}\n    tbody tr:hover{background:rgba(255,255,255,.02)}\n    tbody tr:last-child{border-bottom:none}\n    td{padding:12px 16px;font-size:13px;color:var(--soft);white-space:nowrap}\n    td.name{color:var(--text);font-weight:500}\n    td.mono{font-family:var(--mono)}\n    .status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase}\n    .status-badge.improved{background:rgba(0,229,160,.1);color:var(--accent);border:1px solid rgba(0,229,160,.2)}\n    .status-badge.attention{background:rgba(239,68,68,.1);color:var(--danger);border:1px solid rgba(239,68,68,.2)}\n    .view-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--soft);font-family:var(--mono);font-size:11px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}\n    .view-btn:hover{border-color:var(--accent2);color:var(--accent2);background:rgba(59,130,246,.06)}\n    .table-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}\n    .legend-summary{display:flex;gap:16px}\n    .leg-s{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px}\n    .dot{width:7px;height:7px;border-radius:50%}\n    .dot.g{background:var(--accent)}\n    .dot.r{background:var(--danger)}\n    .empty-row td{text-align:center;padding:40px;color:var(--muted);font-style:italic}\n    @keyframes slideDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}\n    @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}\n    @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}\n    .kpi-card:nth-child(1){animation-delay:.05s}\n    .kpi-card:nth-child(2){animation-delay:.10s}\n    .kpi-card:nth-child(3){animation-delay:.15s}\n    .kpi-card:nth-child(4){animation-delay:.20s}\n    @media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.header{flex-direction:column}.header-periods{flex-wrap:wrap}}\n    @media(max-width:600px){.kpi-grid{grid-template-columns:1fr}h1{font-size:26px}}\n  </style>\n</head>\n<body>\n\n<!-- effect5 data: tokens in HTML attributes, read by JS from DOM -->\n<div id=\"week-data\">\n  <div class=\"w\" data-ws=\"2025-10-20\" data-jc=\"1\" data-jp=\"1\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-10-27\" data-jc=\"2\" data-jp=\"2\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-03\" data-jc=\"17\" data-jp=\"17\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-10\" data-jc=\"20\" data-jp=\"20\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-17\" data-jc=\"4\" data-jp=\"4\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-11-24\" data-jc=\"9\" data-jp=\"9\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-12-01\" data-jc=\"19\" data-jp=\"19\" data-ex=\"0\"></div>\n  <div class=\"w\" data-ws=\"2025-12-08\" data-jc=\"2\" data-jp=\"2\" data-ex=\"0\"></div>\n</div>\n\n<!-- effect6 data: tokens in HTML attributes, read by JS from DOM -->\n<div id=\"usecase-data\">\n  <div class=\"u\" data-id=\"1644232801\" data-uc=\"cleaning\" data-pr=\"82\" data-j3=\"55\" data-at=\"0.0h\" data-pc=\"37.2%\" data-cr=\"100.0%\" data-st=\"Improved\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n  <div class=\"u\" data-id=\"\" data-uc=\"\" data-pr=\"\" data-j3=\"\" data-at=\"\" data-pc=\"\" data-cr=\"\" data-st=\"\"></div>\n</div>\n\n<div class=\"wrapper\">\n\n  <!-- HEADER -->\n  <div class=\"header\">\n    <div class=\"header-left\">\n      <div class=\"eyebrow\">Operational Efficiency &middot; Cycle Time</div>\n      <h1>Sydney</h1>\n      <div class=\"facility-meta\">\n        <span class=\"chip live\">Operational</span>\n        <span class=\"chip\">ID: 1643103503</span>\n      </div>\n    </div>\n    <div class=\"header-periods\">\n      <div class=\"period-box analysis\">\n        <div class=\"period-label\">Analysis Period</div>\n        <div class=\"period-dates\">Last 3 months</div>\n        <div class=\"period-days\">90 days</div>\n      </div>\n      <div class=\"period-box baseline\">\n        <div class=\"period-label\">Baseline Period</div>\n        <div class=\"period-dates\">Last 6 months</div>\n        <div class=\"period-days\">180 days</div>\n      </div>\n    </div>\n  </div>\n\n  <!-- KPI CARDS -->\n  <div class=\"section-label\">Key Metrics</div>\n  <div class=\"kpi-grid\">\n\n    <div class=\"kpi-card c1\">\n      <div class=\"kpi-icon\">&#x2B21;</div>\n      <div class=\"kpi-title\">Active Processes</div>\n      <div class=\"kpi-value\">38</div>\n      <div class=\"kpi-footer\">\n        <div class=\"kpi-baseline\">Baseline: 82</div>\n        <div class=\"badge\" data-pct=\"-53.7%\">-53.7%</div>\n      </div>\n    </div>\n\n    <div class=\"kpi-card c2\">\n      <div class=\"kpi-icon\">&#x26A1;</div>\n      <div class=\"kpi-title\">Job Throughput</div>\n      <div class=\"kpi-value\">54.7</div>\n      <div style=\"font-family:var(--mono);font-size:10px;color:var(--muted);margin-bottom:6px;\">jobs / 30 days</div>\n      <div class=\"kpi-footer\">\n        <div class=\"kpi-baseline\">Baseline: 39.8</div>\n        <div class=\"badge\" data-pct=\"37.2%\">37.2%</div>\n      </div>\n    </div>\n\n    <div class=\"kpi-card c3\">\n      <div class=\"kpi-icon\">&#x25CE;</div>\n      <div class=\"kpi-title\">Completion Rate</div>\n      <div class=\"kpi-value\">100.0%</div>\n      <div class=\"progress-wrap\">\n        <div class=\"progress-bar\" id=\"completionBar\" data-pct=\"100.0\" style=\"width:0%\"></div>\n      </div>\n      <div class=\"kpi-footer\">\n        <div class=\"kpi-baseline\">Baseline: 100.0%</div>\n        <div class=\"badge\" data-pct=\"0.0\">0.0</div>\n      </div>\n    </div>\n\n    <div class=\"kpi-card c4\">\n      <div class=\"kpi-icon\">&#x2191;</div>\n      <div class=\"kpi-title\">Efficiency Gain</div>\n      <div class=\"kpi-value\"></div>\n      <div class=\"eff-row\"><span>Actual</span><span> h</span></div>\n      <div class=\"eff-row\"><span>Expected</span><span> h</span></div>\n    </div>\n\n  </div>\n\n  <!-- WEEKLY TIMELINE CHART -->\n  <div class=\"chart-card\">\n    <div class=\"chart-header\">\n      <div>\n        <div class=\"chart-title\">Weekly Timeline</div>\n        <div class=\"chart-desc\">Job activity over the last 6 months</div>\n      </div>\n      <div class=\"legend\">\n        <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#3b82f6\"></div>Created</div>\n        <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#00e5a0\"></div>Completed</div>\n        <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#f59e0b\"></div>Exceptions</div>\n      </div>\n    </div>\n    <div class=\"chart-wrap\"><canvas id=\"weeklyChart\"></canvas></div>\n  </div>\n\n  <!-- USECASE COMPARISON TABLE -->\n  <div class=\"table-card\">\n    <div class=\"table-top\">\n      <div>\n        <div class=\"chart-title\">Usecase Comparison</div>\n        <div class=\"chart-desc\">Performance breakdown across use cases</div>\n      </div>\n      <div class=\"filter-row\">\n        <select id=\"filterSelect\" onchange=\"applyFilter()\">\n          <option value=\"all\">All Usecases</option>\n          <option value=\"improved\">Improved Only</option>\n          <option value=\"attention\">Attention Only</option>\n          <option value=\"high\">High Volume (&gt;3000 jobs)</option>\n          <option value=\"low\">Low Volume (&lt;2000 jobs)</option>\n        </select>\n        <span class=\"count-chip\" id=\"rowCount\">--</span>\n      </div>\n    </div>\n    <div style=\"overflow-x:auto\">\n      <table>\n        <thead>\n          <tr>\n            <th onclick=\"sortTable('usecase')\">Usecase <span id=\"si-usecase\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('processes')\">Processes <span id=\"si-processes\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('jobs_30d')\">Jobs 30d <span id=\"si-jobs_30d\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('avg_time')\">Avg Time <span id=\"si-avg_time\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('percent_change')\">% Change <span id=\"si-percent_change\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('completion_rate')\">Completion <span id=\"si-completion_rate\">&#x21D5;</span></th>\n            <th onclick=\"sortTable('status')\">Status <span id=\"si-status\">&#x21D5;</span></th>\n            <th>Action</th>\n          </tr>\n        </thead>\n        <tbody id=\"tableBody\"></tbody>\n      </table>\n    </div>\n    <div class=\"table-footer\">\n      <span id=\"showingCount\">--</span>\n      <div class=\"legend-summary\">\n        <div class=\"leg-s\"><div class=\"dot g\"></div><span id=\"lgImproved\">--</span></div>\n        <div class=\"leg-s\"><div class=\"dot r\"></div><span id=\"lgAttention\">--</span></div>\n      </div>\n    </div>\n  </div>\n\n</div>\n\n<script>\n\nconst WEEKS = Array.from(document.querySelectorAll('#week-data .w'))\n  .map(el => ({\n    week_start:      el.dataset.ws,\n    jobs_created:    el.dataset.jc,\n    jobs_completed:  el.dataset.jp,\n    exception_count: el.dataset.ex\n  }))\n  .filter(w => w.week_start && !w.week_start.startsWith('@e.'));\n\nconst USECASES = Array.from(document.querySelectorAll('#usecase-data .u'))\n  .map(el => ({\n    usecase_id:      el.dataset.id,\n    usecase:         el.dataset.uc,\n    processes:       el.dataset.pr,\n    jobs_30d:        el.dataset.j3,\n    avg_time:        el.dataset.at,\n    percent_change:  el.dataset.pc,\n    completion_rate: el.dataset.cr,\n    status:          el.dataset.st\n  }))\n  .filter(u => u.usecase && !u.usecase.startsWith('@e.'));\n\nfunction classifyBadge(pct) {\n  const s = String(pct ?? '');\n  if (!s || s === 'N/A' || s.replace('%','') === '0.0' || s === '0.0') return 'flat';\n  return s.startsWith('-') ? 'down' : 'up';\n}\nfunction arrowFor(pct) {\n  const s = String(pct ?? '');\n  if (!s || s === 'N/A' || s.replace('%','') === '0.0') return '\\u2192';\n  return s.startsWith('-') ? '\\u2193' : '\\u2191';\n}\nfunction colourBadges() {\n  document.querySelectorAll('.badge[data-pct]').forEach(el => {\n    const pct = el.dataset.pct;\n    el.className = 'badge ' + classifyBadge(pct);\n    el.textContent = arrowFor(pct) + ' ' + (pct || 'N/A');\n  });\n}\nfunction setProgressBar() {\n  const bar = document.getElementById('completionBar');\n  if (bar) bar.style.width = (parseFloat(bar.dataset.pct) || 0) + '%';\n}\n\nfunction renderChart() {\n  if (!WEEKS.length) return;\n  const labels = WEEKS.map(w => {\n    const d = new Date(w.week_start);\n    return d.toLocaleDateString('en-US', { month:'short', day:'numeric' });\n  });\n  const ctx = document.getElementById('weeklyChart').getContext('2d');\n  const g1 = ctx.createLinearGradient(0,0,0,260);\n  g1.addColorStop(0,'rgba(59,130,246,.35)'); g1.addColorStop(1,'rgba(59,130,246,0)');\n  const g2 = ctx.createLinearGradient(0,0,0,260);\n  g2.addColorStop(0,'rgba(0,229,160,.25)');  g2.addColorStop(1,'rgba(0,229,160,0)');\n  const g3 = ctx.createLinearGradient(0,0,0,260);\n  g3.addColorStop(0,'rgba(245,158,11,.25)'); g3.addColorStop(1,'rgba(245,158,11,0)');\n  new Chart(ctx, {\n    type: 'line',\n    data: {\n      labels,\n      datasets: [\n        { label:'Jobs Created',    data:WEEKS.map(w=>Number(w.jobs_created)),    borderColor:'#3b82f6', backgroundColor:g1, fill:true, tension:.4, pointRadius:4, pointBackgroundColor:'#3b82f6', borderWidth:2 },\n        { label:'Jobs Completed',  data:WEEKS.map(w=>Number(w.jobs_completed)),  borderColor:'#00e5a0', backgroundColor:g2, fill:true, tension:.4, pointRadius:4, pointBackgroundColor:'#00e5a0', borderWidth:2 },\n        { label:'With Exceptions', data:WEEKS.map(w=>Number(w.exception_count)), borderColor:'#f59e0b', backgroundColor:g3, fill:true, tension:.4, pointRadius:4, pointBackgroundColor:'#f59e0b', borderWidth:2, yAxisID:'y2' }\n      ]\n    },\n    options: {\n      responsive: true, maintainAspectRatio: false,\n      interaction: { mode:'index', intersect:false },\n      plugins: {\n        legend: { display:false },\n        tooltip: { backgroundColor:'#161d27', borderColor:'#1f2d3d', borderWidth:1, titleColor:'#8aa0b8', bodyColor:'#e8edf4', padding:12 }\n      },\n      scales: {\n        x:  { grid:{ color:'rgba(31,45,61,.6)' }, ticks:{ color:'#5b7091' } },\n        y:  { position:'left',  grid:{ color:'rgba(31,45,61,.6)' }, ticks:{ color:'#5b7091', callback: v => v.toLocaleString() } },\n        y2: { position:'right', grid:{ display:false },             ticks:{ color:'#f59e0b' } }\n      }\n    }\n  });\n}\n\nlet sortKey = null, sortDir = 'asc', currentFilter = 'all';\n\nfunction applyFilter() {\n  currentFilter = document.getElementById('filterSelect').value;\n  renderTable();\n}\n\nfunction sortTable(key) {\n  sortDir = (sortKey === key && sortDir === 'asc') ? 'desc' : 'asc';\n  sortKey = key;\n  document.querySelectorAll('th').forEach(th => th.classList.remove('sorted'));\n  document.querySelectorAll(\"[id^='si-']\").forEach(s => s.textContent = '\\u21D5');\n  document.querySelectorAll('th').forEach(th => {\n    if (th.getAttribute('onclick') === \"sortTable('\" + key + \"')\") th.classList.add('sorted');\n  });\n  const icon = document.getElementById('si-' + key);\n  if (icon) icon.textContent = sortDir === 'asc' ? '\\u2191' : '\\u2193';\n  renderTable();\n}\n\nfunction parsePct(v)    { if (!v || v === 'N/A') return 0; return parseFloat(String(v).replace(/[+%]/g,'')); }\nfunction parseH(v)      { return parseFloat(String(v || '0').replace('h','')); }\nfunction parsePctStr(v) { return parseFloat(String(v || '0').replace('%','')); }\n\nfunction renderTable() {\n  let rows = [...USECASES];\n  switch (currentFilter) {\n    case 'improved':  rows = rows.filter(r => r.status === 'Improved');        break;\n    case 'attention': rows = rows.filter(r => r.status === 'Attention');       break;\n    case 'high':      rows = rows.filter(r => Number(r.jobs_30d) > 3000);      break;\n    case 'low':       rows = rows.filter(r => Number(r.jobs_30d) < 2000);      break;\n  }\n  if (sortKey) {\n    rows.sort((a, b) => {\n      let av, bv;\n      if (['processes','jobs_30d'].includes(sortKey)) { av = Number(a[sortKey]);          bv = Number(b[sortKey]); }\n      else if (sortKey === 'avg_time')                { av = parseH(a.avg_time);           bv = parseH(b.avg_time); }\n      else if (sortKey === 'percent_change')          { av = parsePct(a.percent_change);   bv = parsePct(b.percent_change); }\n      else if (sortKey === 'completion_rate')         { av = parsePctStr(a.completion_rate); bv = parsePctStr(b.completion_rate); }\n      else { av = String(a[sortKey]||'').toLowerCase(); bv = String(b[sortKey]||'').toLowerCase(); }\n      return av < bv ? (sortDir==='asc'?-1:1) : av > bv ? (sortDir==='asc'?1:-1) : 0;\n    });\n  }\n  const improved  = rows.filter(r => r.status === 'Improved').length;\n  const attention = rows.filter(r => r.status === 'Attention').length;\n  document.getElementById('rowCount').textContent     = rows.length + ' / ' + USECASES.length;\n  document.getElementById('showingCount').textContent = 'Showing ' + rows.length + ' of ' + USECASES.length + ' usecases';\n  document.getElementById('lgImproved').textContent   = 'Improved (' + improved + ')';\n  document.getElementById('lgAttention').textContent  = 'Attention (' + attention + ')';\n  const tbody = document.getElementById('tableBody');\n  if (!rows.length) {\n    tbody.innerHTML = '<tr class=\"empty-row\"><td colspan=\"8\">No data available</td></tr>';\n    return;\n  }\n  tbody.innerHTML = rows.map(r => {\n    const pc      = r.percent_change;\n    const pcClass = pc === 'N/A' ? 'flat' : (String(pc).startsWith('-') ? 'up' : 'down');\n    const pcArrow = pc === 'N/A' ? '\\u2192' : (String(pc).startsWith('-') ? '\\u2193' : '\\u2191');\n    const sClass  = r.status === 'Improved' ? 'improved' : 'attention';\n    const sIcon   = r.status === 'Improved' ? '\\u2713' : '\\u26A0';\n    return '<tr>'\n      + '<td class=\"name\">' + r.usecase + '</td>'\n      + '<td class=\"mono\">' + Number(r.processes).toLocaleString() + '</td>'\n      + '<td class=\"mono\">' + Number(r.jobs_30d).toLocaleString() + '</td>'\n      + '<td class=\"mono\">' + r.avg_time + '</td>'\n      + '<td><span class=\"badge ' + pcClass + '\">' + pcArrow + ' ' + (pc || 'N/A') + '</span></td>'\n      + '<td class=\"mono\">' + r.completion_rate + '</td>'\n      + '<td><span class=\"status-badge ' + sClass + '\">' + sIcon + ' ' + r.status + '</span></td>'\n      + '<td><button class=\"view-btn\" onclick=\"handleView(\\'' + r.usecase_id + '\\')\">&#x21D7; View</button></td>'\n      + '</tr>';\n  }).join('');\n}\n\nfunction handleView(id) { console.log('Navigate to usecase:', id); }\n\ncolourBadges();\nsetProgressBar();\nrenderChart();\nrenderTable();\n\n</script>\n</body>\n</html>"}, "output": {"sizeBytes": 254641, "fileName": "Analytics.pdf", "emailedTo": ["akash.verma@leucinetech.com"]}}], "effectsSummary": {"total": 7, "success": 7, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D11C89000000012B042C01002B086E5A1004915344FFDA2D4BA1A7B922ABD97AAB15463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D11C891E0C6A3047950EE2000004\"}"}, "changeStreamData": {"_id": "69d11c891e0c6a3047950ee2", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d11c891e0c6a3047950ee2"}, "objectTypeId": {"$oid": "69d114171e0c6a3047950dca"}, "version": 1, "collection": "analytics", "displayName": "Analytics Report", "externalId": "REPORT-0426-2", "objectType": {"_id": {"$oid": "69d114171e0c6a3047950dca"}, "externalId": "analytics", "displayName": "Analytics", "version": 1}, "properties": [{"_id": {"$oid": "69d114171e0c6a3047950dcb"}, "externalId": "displayName", "displayName": "Name", "value": "Analytics Report", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcc"}, "externalId": "externalId", "displayName": "ID", "value": "REPORT-0426-2", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcd"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775312009", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dce"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775312009", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcf"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd0"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd1"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775312009, "createdAt": 1775312009, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEvQktdupi", "searchable": {"69d114171e0c6a3047950dcf": 632530635632599040, "69d114171e0c6a3047950dce": 1775312009, "69d114171e0c6a3047950dd1": 1, "69d114171e0c6a3047950dd0": 632530635632599040, "69d114171e0c6a3047950dcb": "Analytics Report", "69d114171e0c6a3047950dcd": 1775312009, "69d114171e0c6a3047950dcc": "REPORT-0426-2"}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d11c891e0c6a3047950ee2"}}, "ns": {"db": "qa", "coll": "analytics"}, "clusterTime": 1775312009}, "sourceData": {"_id": {"$oid": "69d11c891e0c6a3047950ee2"}, "objectTypeId": {"$oid": "69d114171e0c6a3047950dca"}, "version": 1, "collection": "analytics", "displayName": "Analytics Report", "externalId": "REPORT-0426-2", "objectType": {"_id": {"$oid": "69d114171e0c6a3047950dca"}, "externalId": "analytics", "displayName": "Analytics", "version": 1}, "properties": [{"_id": {"$oid": "69d114171e0c6a3047950dcb"}, "externalId": "displayName", "displayName": "Name", "value": "Analytics Report", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcc"}, "externalId": "externalId", "displayName": "ID", "value": "REPORT-0426-2", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcd"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775312009", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dce"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775312009", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dcf"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd0"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d114171e0c6a3047950dd1"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775312009, "createdAt": 1775312009, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SEvQktdupi", "searchable": {"69d114171e0c6a3047950dcf": 632530635632599040, "69d114171e0c6a3047950dce": 1775312009, "69d114171e0c6a3047950dd1": 1, "69d114171e0c6a3047950dd0": 632530635632599040, "69d114171e0c6a3047950dcb": "Analytics Report", "69d114171e0c6a3047950dcd": 1775312009, "69d114171e0c6a3047950dcc": "REPORT-0426-2"}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775312011386, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 9 - ID: 69d121a2662708c99a9e0493
{"_id": {"$oid": "69d121a2662708c99a9e0493"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d120d6662708c99a9e0490", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d121a21e0c6a3047950fe2", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775313314156, "completedAt": 1775313314816, "durationMs": 660, "effectLogs": [{"effectId": "69d1211a662708c99a9e0491", "effectName": "getdata", "effectType": "MONGO_QUERY", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775313314157, "completedAt": 1775313314164, "durationMs": 7, "input": {"query": "db.getCollection(\"notification\").aggregate([{\"$match\":{\"_id\":{\"$oid\":\"69d121a21e0c6a3047950fe2\"}}},{\"$project\":{\"_id\":0,\"combined\":{\"$mergeObjects\":[{\"shortCode\":\"$shortCode\"},{\"$arrayToObject\":{\"$filter\":{\"input\":{\"$map\":{\"input\":\"$properties\",\"as\":\"property\",\"in\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"createdBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$createdBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$createdBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$createdBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"updatedBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$modifiedBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$modifiedBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$modifiedBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$gt\":[{\"$size\":\"$$property.choices\"},0]},\"then\":[\"$$property.externalId\",{\"$arrayElemAt\":[\"$$property.choices.displayName\",0]}],\"else\":[\"$$property.externalId\",\"$$property.value\"]}}}}}}}},\"as\":\"item\",\"cond\":{\"$ne\":[{\"$arrayElemAt\":[\"$$item\",1]},null]}}}},{\"$arrayToObject\":{\"$map\":{\"input\":\"$relations\",\"as\":\"relation\",\"in\":[\"$$relation.externalId\",{\"$concat\":[{\"$arrayElemAt\":[\"$$relation.targets.displayName\",0]},\" (ID: \",{\"$arrayElemAt\":[\"$$relation.targets.externalId\",0]},\")\"]}]}}}]}}},{\"$replaceRoot\":{\"newRoot\":\"$combined\"}}])"}, "output": {"result": [{"shortCode": "SExoHkqMzS", "displayName": "Material", "externalId": "MAT/LOT/2", "status": "Option 1", "createdAt": "1775313314", "updatedAt": "1775313314", "createdBy": "Akash_pp  (ID: 9001)", "updatedBy": "Akash_pp  (ID: 9001)", "usageStatus": "1"}]}}, {"effectId": "69d1218b662708c99a9e0492", "effectName": "pushdata", "effectType": "NOTIFICATION", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775313314165, "completedAt": 1775313314815, "durationMs": 650, "input": {"subject": "Material Lot Creation", "body": "A new Material Lot is added with Name = Material ID = MAT/LOT/2 and STATUS = Option 1", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 2, "success": 2, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D121A2000000012B042C01002B046E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D121A21E0C6A3047950FE2000004\"}"}, "changeStreamData": {"_id": "69d121a21e0c6a3047950fe2", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d121a21e0c6a3047950fe2"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material", "externalId": "MAT/LOT/2", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "MAT/LOT/2", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775313314", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775313314", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775313314, "createdAt": 1775313314, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SExoHkqMzS", "searchable": {"69d10d9147b9aa455ba4f609": "MAT/LOT/2", "69d10d9147b9aa455ba4f608": "Material", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775313314, "69d10d9147b9aa455ba4f60a": 1775313314, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d121a21e0c6a3047950fe2"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775313314}, "sourceData": {"_id": {"$oid": "69d121a21e0c6a3047950fe2"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material", "externalId": "MAT/LOT/2", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "MAT/LOT/2", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775313314", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775313314", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775313314, "createdAt": 1775313314, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SExoHkqMzS", "searchable": {"69d10d9147b9aa455ba4f609": "MAT/LOT/2", "69d10d9147b9aa455ba4f608": "Material", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775313314, "69d10d9147b9aa455ba4f60a": 1775313314, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775313314816, "_class": "com.leucine.ontology.collections.ActionEffectLog"}
Document 10 - ID: 69d121d4662708c99a9e0494
{"_id": {"$oid": "69d121d4662708c99a9e0494"}, "objectTypeId": "69d10d9147b9aa455ba4f607", "objectTypeExternalId": "notification", "triggerId": "69d120d6662708c99a9e0490", "triggerName": "Material Lot Creation Notification", "triggerType": "RESOURCE_BASED", "facilityId": "1643103503", "entityObjectId": "69d121d41e0c6a3047951002", "eventType": "CREATE", "status": "SUCCESS", "startedAt": 1775313364694, "completedAt": 1775313364922, "durationMs": 228, "effectLogs": [{"effectId": "69d1211a662708c99a9e0491", "effectName": "getdata", "effectType": "MONGO_QUERY", "executionOrder": 1, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775313364694, "completedAt": 1775313364699, "durationMs": 5, "input": {"query": "db.getCollection(\"notification\").aggregate([{\"$match\":{\"_id\":{\"$oid\":\"69d121d41e0c6a3047951002\"}}},{\"$project\":{\"_id\":0,\"combined\":{\"$mergeObjects\":[{\"shortCode\":\"$shortCode\"},{\"$arrayToObject\":{\"$filter\":{\"input\":{\"$map\":{\"input\":\"$properties\",\"as\":\"property\",\"in\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"createdBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$createdBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$createdBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$createdBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$eq\":[\"$$property.externalId\",\"updatedBy\"]},\"then\":[\"$$property.externalId\",{\"$concat\":[{\"$getField\":{\"field\":\"firstName\",\"input\":\"$modifiedBy\"}},\" \",{\"$getField\":{\"field\":\"lastName\",\"input\":\"$modifiedBy\"}},\" (ID: \",{\"$getField\":{\"field\":\"employeeId\",\"input\":\"$modifiedBy\"}},\")\"]}],\"else\":{\"$cond\":{\"if\":{\"$gt\":[{\"$size\":\"$$property.choices\"},0]},\"then\":[\"$$property.externalId\",{\"$arrayElemAt\":[\"$$property.choices.displayName\",0]}],\"else\":[\"$$property.externalId\",\"$$property.value\"]}}}}}}}},\"as\":\"item\",\"cond\":{\"$ne\":[{\"$arrayElemAt\":[\"$$item\",1]},null]}}}},{\"$arrayToObject\":{\"$map\":{\"input\":\"$relations\",\"as\":\"relation\",\"in\":[\"$$relation.externalId\",{\"$concat\":[{\"$arrayElemAt\":[\"$$relation.targets.displayName\",0]},\" (ID: \",{\"$arrayElemAt\":[\"$$relation.targets.externalId\",0]},\")\"]}]}}}]}}},{\"$replaceRoot\":{\"newRoot\":\"$combined\"}}])"}, "output": {"result": [{"shortCode": "SExsqEnoDC", "displayName": "Material", "externalId": "MAT/LOT/3", "status": "Option 1", "createdAt": "1775313364", "updatedAt": "1775313364", "createdBy": "Akash_pp  (ID: 9001)", "updatedBy": "Akash_pp  (ID: 9001)", "usageStatus": "1"}]}}, {"effectId": "69d1218b662708c99a9e0492", "effectName": "pushdata", "effectType": "NOTIFICATION", "executionOrder": 2, "status": "SUCCESS", "skipped": false, "attempt": 1, "maxAttempts": 1, "startedAt": 1775313364699, "completedAt": 1775313364922, "durationMs": 223, "input": {"subject": "Material Lot Creation", "body": "A new Material Lot is added with Name = Material ID = MAT/LOT/3 and STATUS = Option 1", "to": ["akash.verma@leucinetech.com"]}, "output": {"message": "Notification sent"}}], "effectsSummary": {"total": 2, "success": 2, "failure": 0, "skipped": 0}, "metadata": {"changeStreamResumeToken": "{\"_data\": \"8269D121D4000000012B042C01002B086E5A1004EC9CB1041C3349039B691AF3134A162B463C6F7065726174696F6E54797065003C696E736572740046646F63756D656E744B65790046645F6964006469D121D41E0C6A3047951002000004\"}"}, "changeStreamData": {"_id": "69d121d41e0c6a3047951002", "operationType": "insert", "eventType": "CREATE", "fullDocument": {"_id": {"$oid": "69d121d41e0c6a3047951002"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material", "externalId": "MAT/LOT/3", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "MAT/LOT/3", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775313364", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775313364", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775313364, "createdAt": 1775313364, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SExsqEnoDC", "searchable": {"69d10d9147b9aa455ba4f609": "MAT/LOT/3", "69d10d9147b9aa455ba4f608": "Material", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775313364, "69d10d9147b9aa455ba4f60a": 1775313364, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "documentKey": {"_id": {"$oid": "69d121d41e0c6a3047951002"}}, "ns": {"db": "qa", "coll": "notification"}, "clusterTime": 1775313364}, "sourceData": {"_id": {"$oid": "69d121d41e0c6a3047951002"}, "objectTypeId": {"$oid": "69d10d9147b9aa455ba4f607"}, "version": 1, "collection": "notification", "displayName": "Material", "externalId": "MAT/LOT/3", "objectType": {"_id": {"$oid": "69d10d9147b9aa455ba4f607"}, "externalId": "notification", "displayName": "Material Lot Notification", "version": 1}, "properties": [{"_id": {"$oid": "69d10d9147b9aa455ba4f608"}, "externalId": "displayName", "displayName": "Name", "value": "Material", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f609"}, "externalId": "externalId", "displayName": "ID", "value": "MAT/LOT/3", "choices": []}, {"_id": {"$oid": "69d10dc347b9aa455ba4f60f"}, "externalId": "status", "displayName": "Status", "choices": [{"_id": {"$oid": "69d10dc347b9aa455ba4f610"}, "displayName": "Option 1"}]}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60a"}, "externalId": "createdAt", "displayName": "Created At", "value": "1775313364", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60b"}, "externalId": "updatedAt", "displayName": "Updated At", "value": "1775313364", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60c"}, "externalId": "createdBy", "displayName": "Created By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60d"}, "externalId": "updatedBy", "displayName": "Updated By", "value": "632530635632599040", "choices": []}, {"_id": {"$oid": "69d10d9147b9aa455ba4f60e"}, "externalId": "usageStatus", "displayName": "Usage Status", "value": "1", "choices": []}], "relations": [], "modifiedAt": 1775313364, "createdAt": 1775313364, "createdBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "modifiedBy": {"_id": "632530635632599040", "employeeId": "9001", "firstName": "Akash_pp", "lastName": ""}, "usageStatus": 1, "facilityId": "1643103503", "shortCode": "SExsqEnoDC", "searchable": {"69d10d9147b9aa455ba4f609": "MAT/LOT/3", "69d10d9147b9aa455ba4f608": "Material", "69d10dc347b9aa455ba4f60f": "69d10dc347b9aa455ba4f610", "69d10d9147b9aa455ba4f60b": 1775313364, "69d10d9147b9aa455ba4f60a": 1775313364, "69d10d9147b9aa455ba4f60d": 632530635632599040, "69d10d9147b9aa455ba4f60c": 632530635632599040, "69d10d9147b9aa455ba4f60e": 1}, "_class": "com.leucine.streem.collections.EntityObject"}, "retrigger": false, "archived": false, "createdAt": 1775313364922, "_class": "com.leucine.ontology.collections.ActionEffectLog"}