Allow undoing Teamspace acknowledgements
This commit is contained in:
+28
-2
@@ -702,7 +702,8 @@ async function getStatisticsOverview(period: ParsedPeriod, userId: string) {
|
||||
td.tracked_minutes,
|
||||
COALESCE(tdb.billed_minutes, 0)::int AS crm_billed_minutes,
|
||||
tdb.billed_minutes IS NOT NULL AS has_crm_value,
|
||||
ack.acknowledged_at IS NOT NULL AS missing_crm_acknowledged
|
||||
ack.acknowledged_at IS NOT NULL AS missing_crm_acknowledged,
|
||||
ack.acknowledged_at AS missing_crm_acknowledged_at
|
||||
FROM ticket_day td
|
||||
LEFT JOIN ticket_day_billings tdb
|
||||
ON tdb.ticket_id = td.ticket_id
|
||||
@@ -753,6 +754,7 @@ async function getStatisticsOverview(period: ParsedPeriod, userId: string) {
|
||||
ticketResult,
|
||||
openResult,
|
||||
missingCrmResult,
|
||||
acknowledgedMissingCrmResult,
|
||||
mismatchResult,
|
||||
closureResult
|
||||
] = await Promise.all([
|
||||
@@ -917,7 +919,9 @@ async function getStatisticsOverview(period: ParsedPeriod, userId: string) {
|
||||
MIN(sb.organization_name) AS organization_name,
|
||||
tdb.day::text AS day,
|
||||
tdb.tracked_minutes,
|
||||
tdb.crm_billed_minutes
|
||||
tdb.crm_billed_minutes,
|
||||
false AS acknowledged,
|
||||
NULL::text AS acknowledged_at
|
||||
FROM ticket_day_billing tdb
|
||||
JOIN session_base sb ON sb.ticket_id = tdb.ticket_id AND sb.day = tdb.day
|
||||
WHERE NOT tdb.has_crm_value
|
||||
@@ -927,6 +931,27 @@ async function getStatisticsOverview(period: ParsedPeriod, userId: string) {
|
||||
`,
|
||||
[period.startIso, period.endIso, userId]
|
||||
),
|
||||
query(
|
||||
`
|
||||
${baseCte}
|
||||
SELECT
|
||||
tdb.ticket_id::text AS ticket_id,
|
||||
tdb.ticket_number,
|
||||
MIN(sb.organization_name) AS organization_name,
|
||||
tdb.day::text AS day,
|
||||
tdb.tracked_minutes,
|
||||
tdb.crm_billed_minutes,
|
||||
true AS acknowledged,
|
||||
MAX(tdb.missing_crm_acknowledged_at)::text AS acknowledged_at
|
||||
FROM ticket_day_billing tdb
|
||||
JOIN session_base sb ON sb.ticket_id = tdb.ticket_id AND sb.day = tdb.day
|
||||
WHERE NOT tdb.has_crm_value
|
||||
AND tdb.missing_crm_acknowledged
|
||||
GROUP BY tdb.ticket_id, tdb.ticket_number, tdb.day, tdb.tracked_minutes, tdb.crm_billed_minutes
|
||||
ORDER BY tdb.day ASC, tdb.ticket_number ASC;
|
||||
`,
|
||||
[period.startIso, period.endIso, userId]
|
||||
),
|
||||
query(
|
||||
`
|
||||
${baseCte}
|
||||
@@ -1009,6 +1034,7 @@ async function getStatisticsOverview(period: ParsedPeriod, userId: string) {
|
||||
attention: {
|
||||
openSessions: openResult.rows,
|
||||
missingCrmDays: missingCrmResult.rows,
|
||||
acknowledgedMissingCrmDays: acknowledgedMissingCrmResult.rows,
|
||||
crmMismatches: mismatchResult.rows
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user