View documents in this collection
Showing up to 10 documents:
{"_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"}
{"_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"}
{"_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"}
{"_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"}
{"_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"}
{"_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"}
{"_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 — 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 · 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\">⬡</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\">⚡</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\">◎</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\">↑</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 (>3000 jobs)</option>\n <option value=\"low\">Low Volume (<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\">⇕</span></th>\n <th onclick=\"sortTable('processes')\">Processes <span id=\"si-processes\">⇕</span></th>\n <th onclick=\"sortTable('jobs_30d')\">Jobs 30d <span id=\"si-jobs_30d\">⇕</span></th>\n <th onclick=\"sortTable('avg_time')\">Avg Time <span id=\"si-avg_time\">⇕</span></th>\n <th onclick=\"sortTable('percent_change')\">% Change <span id=\"si-percent_change\">⇕</span></th>\n <th onclick=\"sortTable('completion_rate')\">Completion <span id=\"si-completion_rate\">⇕</span></th>\n <th onclick=\"sortTable('status')\">Status <span id=\"si-status\">⇕</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 + '\\')\">⇗ 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"}
{"_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 — 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 · 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\">⬡</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\">⚡</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\">◎</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\">↑</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 (>3000 jobs)</option>\n <option value=\"low\">Low Volume (<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\">⇕</span></th>\n <th onclick=\"sortTable('processes')\">Processes <span id=\"si-processes\">⇕</span></th>\n <th onclick=\"sortTable('jobs_30d')\">Jobs 30d <span id=\"si-jobs_30d\">⇕</span></th>\n <th onclick=\"sortTable('avg_time')\">Avg Time <span id=\"si-avg_time\">⇕</span></th>\n <th onclick=\"sortTable('percent_change')\">% Change <span id=\"si-percent_change\">⇕</span></th>\n <th onclick=\"sortTable('completion_rate')\">Completion <span id=\"si-completion_rate\">⇕</span></th>\n <th onclick=\"sortTable('status')\">Status <span id=\"si-status\">⇕</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 + '\\')\">⇗ 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"}
{"_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"}
{"_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"}