Skip to content

Commit 0a46b1d

Browse files
Stats: Attendances Ratio
1 parent c59d0a7 commit 0a46b1d

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

src/main/mule/coach.xml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1386,13 +1386,34 @@ AND Session__r.Team_Season__c = ':teamSeasonId']]></salesforce:salesforce-query>
13861386
{
13871387
coachId: vars.coachId,
13881388
teamSeasonId: vars.teamSeasonId
1389+
}]]]></salesforce:parameters>
1390+
</salesforce:query>
1391+
<salesforce:query doc:name="Query to retrieve attendance records for particular coach and teamseason" doc:id="9eba5095-dd10-4ee1-a117-d1e0cee3e90f" config-ref="Salesforce_Config" target="totalAttendancesThisTeamseason">
1392+
<salesforce:salesforce-query><![CDATA[SELECT Attended__c,Id,Session__c, Session__r.Team_Season__c, Session__r.Team_Season__r.Coach_Soccer__c, Session__r.Team_Season__r.Coach_Writing__c
1393+
FROM Attendance__c
1394+
WHERE Session__r.Team_Season__c = ':teamSeasonId'
1395+
AND
1396+
(Session__r.Team_Season__r.Coach_Writing__c = ':coachId' OR Session__r.Team_Season__r.Coach_Soccer__c = ':coachId')]]></salesforce:salesforce-query>
1397+
<salesforce:parameters><![CDATA[#[output application/java
1398+
---
1399+
{
1400+
coachId: vars.coachId,
1401+
teamSeasonId: vars.teamSeasonId
13891402
}]]]></salesforce:parameters>
13901403
</salesforce:query>
13911404
<ee:transform doc:name="Prepare Response" doc:id="2a9bf057-e618-4767-8d9f-ac63a99127fc">
13921405
<ee:message>
13931406
<ee:set-payload><![CDATA[%dw 2.0
13941407
var rightNow = (now() >> "America/Los_Angeles") as LocalDateTime
13951408
1409+
var true_attendances = sizeOf(vars.totalAttendancesThisTeamseason filter (item, i) -> item.Attended__c == "true") default 0
1410+
var total_attendances = sizeOf(vars.totalAttendancesThisTeamseason) default 1
1411+
var attendances_ratio =
1412+
if (total_attendances != 0)
1413+
((true_attendances as Number / total_attendances) * 100)
1414+
as String {format: "##0.00", roundMode: "HALF_UP"} ++ "%"
1415+
else "0%"
1416+
13961417
output application/json
13971418
---
13981419
{
@@ -1407,8 +1428,12 @@ output application/json
14071428
"done": sizeOf(vars.totalTasksThisTeamSeason filter (item, i) -> item.Task_Status__c == "Done"),
14081429
"total": sizeOf(vars.totalTasksThisTeamSeason) default 0
14091430
}
1431+
},
1432+
"attendances":{
1433+
"current_teamseason_ratio": attendances_ratio
14101434
}
1411-
}]]></ee:set-payload>
1435+
}
1436+
]]></ee:set-payload>
14121437
</ee:message>
14131438
</ee:transform>
14141439
<!-- [STUDIO:"Query to gather stats based on &quot;coachId&quot;"]<salesforce:query doc:name='Query to gather stats based on "coachId"' doc:id="4495ba6e-b4ac-4345-a66e-f1d783fe6db1" config-ref="Salesforce_Config" target="availableStats" >

0 commit comments

Comments
 (0)