{ "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions": { "For_each": { "actions": { "Switch": { "cases": { "At_risk": { "actions": { "Increment_atRiskCount": { "inputs": { "name": "atRisk_count", "value": 1 }, "runAfter": {}, "type": "IncrementVariable" }, "Increment_monitoredCount": { "inputs": { "name": "monitoredCount", "value": 1 }, "runAfter": { "Increment_atRiskCount": [ "Succeeded" ] }, "type": "IncrementVariable" }, "Set_turboName": { "inputs": { "name": "turboName_atRisk", "value": "@body('TurbochargersJSON')?['turbo_name']" }, "runAfter": { "Set_vesselIMO": [ "Succeeded" ] }, "type": "SetVariable" }, "Set_vesselIMO": { "inputs": { "name": "vesselIMO_atRisk", "value": "@body('TurbochargersJSON')?['vessel_IMO']" }, "runAfter": { "Set_vesselName": [ "Succeeded" ] }, "type": "SetVariable" }, "Set_vesselName": { "inputs": { "name": "vesselName_atRisk", "value": "@body('TurbochargersJSON')?['vessel_name']" }, "runAfter": { "Increment_monitoredCount": [ "Succeeded" ] }, "type": "SetVariable" } }, "case": "At risk" }, "Moderate": { "actions": { "Increment_moderateCount": { "inputs": { "name": "moderate_count", "value": 1 }, "runAfter": {}, "type": "IncrementVariable" }, "Increment_monitoredCount_2": { "inputs": { "name": "monitoredCount", "value": 1 }, "runAfter": { "Increment_moderateCount": [ "Succeeded" ] }, "type": "IncrementVariable" }, "Set_turboName_moderate": { "inputs": { "name": "turboName_moderate", "value": "@body('TurbochargersJSON')?['turbo_name']" }, "runAfter": { "Set_vesselIMO_moderate": [ "Succeeded" ] }, "type": "SetVariable" }, "Set_vesselIMO_moderate": { "inputs": { "name": "vesselIMO_moderate", "value": "@body('TurbochargersJSON')?['vessel_IMO']" }, "runAfter": { "Set_vesselName_moderate": [ "Succeeded" ] }, "type": "SetVariable" }, "Set_vesselName_moderate": { "inputs": { "name": "vesselName_moderate", "value": "@body('TurbochargersJSON')?['vessel_name']" }, "runAfter": { "Increment_monitoredCount_2": [ "Succeeded" ] }, "type": "SetVariable" } }, "case": "Moderate" } }, "default": { "actions": { "Append_to_array_variable": { "inputs": { "name": "turboName_healthy", "value": "@body('TurbochargersJSON')?['turbo_name']" }, "runAfter": {}, "type": "AppendToArrayVariable" }, "Increment_healthyCount": { "inputs": { "name": "healthy_count", "value": 1 }, "runAfter": { "Set_turboName_healthy": [ "Succeeded" ] }, "type": "IncrementVariable" }, "Increment_monitoredCount_3": { "inputs": { "name": "monitoredCount", "value": 1 }, "runAfter": { "Increment_healthyCount": [ "Succeeded" ] }, "type": "IncrementVariable" }, "Set_NA_atRisk": { "inputs": { "name": "vesselName_atRisk", "value": "N.A." }, "runAfter": { "Increment_monitoredCount_3": [ "Succeeded" ] }, "type": "SetVariable" }, "Set_NA_moderate": { "inputs": { "name": "vesselName_moderate", "value": "N.A." }, "runAfter": { "Set_NA_atRisk": [ "Succeeded" ] }, "type": "SetVariable" }, "Set_turboName_healthy": { "inputs": { "name": "healthyTurboNameString", "value": "@{concat(variables('turboName_healthy')[variables('healthy_count')])}" }, "runAfter": { "Append_to_array_variable": [ "Succeeded" ] }, "type": "SetVariable" } } }, "expression": "@body('TurbochargersJSON')?['status']", "runAfter": { "TurbochargersJSON": [ "Succeeded" ] }, "type": "Switch" }, "TurbochargersJSON": { "inputs": { "content": "@items('For_each')", "schema": { "properties": { "date_time": { "type": "string" }, "status": { "type": "string" }, "turbo_name": { "type": "string" }, "value": { "type": "number" }, "vessel_IMO": { "type": "string" }, "vessel_name": { "type": "string" } }, "type": "object" } }, "runAfter": {}, "type": "ParseJson" } }, "foreach": "@body('Query_documents_V5')?['value']", "runAfter": { "Query_documents_V5": [ "Succeeded" ] }, "type": "Foreach" }, "Initialize_atRisk_count": { "inputs": { "variables": [ { "name": "atRisk_count", "type": "integer", "value": 0 } ] }, "runAfter": { "Initialize_moderate_count": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_healthyCount": { "inputs": { "variables": [ { "name": "healthy_count", "type": "integer", "value": 0 } ] }, "runAfter": { "Initialize_monitoredCount": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_healthyTurboNameString": { "inputs": { "variables": [ { "name": "healthyTurboNameString", "type": "string" } ] }, "runAfter": { "Initialize_turboName_healthy": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_moderate_count": { "inputs": { "variables": [ { "name": "moderate_count", "type": "integer", "value": 0 } ] }, "runAfter": { "Initialize_healthyCount": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_monitoredCount": { "inputs": { "variables": [ { "name": "monitoredCount", "type": "integer", "value": 0 } ] }, "runAfter": {}, "type": "InitializeVariable" }, "Initialize_turboName_atRisk": { "inputs": { "variables": [ { "name": "turboName_atRisk", "type": "string" } ] }, "runAfter": { "Initialize_vesselIMO_atRisk": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_turboName_healthy": { "inputs": { "variables": [ { "name": "turboName_healthy", "type": "array" } ] }, "runAfter": { "Initialize_turboName_atRisk": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_turboName_moderate": { "inputs": { "variables": [ { "name": "turboName_moderate", "type": "string" } ] }, "runAfter": { "Initialize_vesselIMO_moderate": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_vesselIMO_atRisk": { "inputs": { "variables": [ { "name": "vesselIMO_atRisk", "type": "string" } ] }, "runAfter": { "Initialize_vesselName_atRisk": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_vesselIMO_moderate": { "inputs": { "variables": [ { "name": "vesselIMO_moderate", "type": "string" } ] }, "runAfter": { "Initialize_vesselName_moderate": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_vesselName_atRisk": { "inputs": { "variables": [ { "name": "vesselName_atRisk", "type": "string" } ] }, "runAfter": { "Initialize_turboName_moderate": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_vesselName_moderate": { "inputs": { "variables": [ { "name": "vesselName_moderate", "type": "string" } ] }, "runAfter": { "Initialize_atRisk_count": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Query_documents_V5": { "inputs": { "host": { "connection": { "name": "@parameters('$connections')['documentdb']['connectionId']" } }, "method": "get", "path": "/v5/cosmosdb/@{encodeURIComponent('AccountNameFromSettings')}/dbs/@{encodeURIComponent('aztruconnect')}/colls/@{encodeURIComponent('kotamanis-monthly-report')}/query", "queries": { "queryText": "SELECT TOP 6 * from c WHERE (c.turbo_name =\"AE1\" or c.turbo_name =\"AE2\" or c.turbo_name =\"AE3\" or c.turbo_name =\"AE4\" or c.turbo_name = \"ME1\" or c.turbo_name = \"ME2\") order by c._ts DESC" } }, "runAfter": { "Initialize_healthyTurboNameString": [ "Succeeded" ] }, "type": "ApiConnection" }, "Send_email_(V2)": { "inputs": { "body": { "Body": "

Dear Customer,
\n
\nPlease find the summary of turbocharger health status for November.
\n
\n
\n
\nTotal Turbochargers Monitored: @{variables('monitoredCount')}
\nTotal Turbocharger Healthy: @{variables('healthy_count')}
\nTotal Turbochargers Moderate: @{variables('moderate_count')}
\nTotal Tubocharger At Risk: @{variables('atRisk_count')}
\n
\n
\nNon Healthy turbocharger details:
\n
\nModerate:
\n@{variables('vesselName_moderate')}, @{variables('vesselIMO_moderate')}, @{variables('turboName_moderate')}
\n
\nAt Risk:
\n@{variables('vesselName_atRisk')}, @{variables('vesselIMO_atRisk')}, @{variables('turboName_atRisk')}
\n
\nHealthy_testing:
\n@{variables('healthyTurboNameString')}
\n
\n
\nFurther details can be found in TruCare Dashboard linked below.
\nThis is an automatically generated message. Please do not reply to this email.
\nThank you!

", "Importance": "High", "Subject": "Turbocharger Health Score Monthly Report", "To": "leeys2@artc.a-star.edu.sg" }, "host": { "connection": { "name": "@parameters('$connections')['gmail']['connectionId']" } }, "method": "post", "path": "/v2/Mail" }, "runAfter": { "For_each": [ "Succeeded" ] }, "type": "ApiConnection" } }, "contentVersion": "1.0.0.0", "outputs": {}, "parameters": { "$connections": { "defaultValue": {}, "type": "Object" } }, "triggers": { "Recurrence": { "evaluatedRecurrence": { "frequency": "Minute", "interval": 30, "timeZone": "Singapore Standard Time" }, "recurrence": { "frequency": "Minute", "interval": 30, "timeZone": "Singapore Standard Time" }, "type": "Recurrence" } } }, "parameters": { "$connections": { "value": { "documentdb": { "connectionId": "/subscriptions/xxxxxxxxxxxxxxxxxxxx/resourceGroups/xxxxxxxxxxxxxxxxxxxxxxx/providers/Microsoft.Web/connections/documentdb", "connectionName": "documentdb", "id": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/providers/Microsoft.Web/locations/southeastasia/managedApis/documentdb" }, "gmail": { "connectionId": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/xxxxxxxxxxxxxxxxxxxxxxxx/providers/Microsoft.Web/connections/gmail-9", "connectionName": "gmail-9", "id": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/providers/Microsoft.Web/locations/southeastasia/managedApis/gmail" } } } } }