remove audit system time script

This commit is contained in:
johnnyq
2026-08-06 19:26:43 -04:00
parent ac598f6379
commit 10f0c9de58

View File

@@ -1,64 +0,0 @@
-- ITFlow - how much billable time did system-generated replies invent?
--
-- Run these BEFORE deciding whether to correct historical data. Nothing here
-- writes; the UPDATE at the bottom is commented out on purpose.
--
-- Background: until this fix, replies ITFlow wrote itself booked time worked -
-- one minute for assignment / priority / merge / close / invoice / quote /
-- schedule / task reopen, and the task's full completion estimate for task
-- completion. That time is in ticket totals, technician and client time
-- reports, project totals and anything already invoiced.
-- 1. Total invented time, by reply kind.
SELECT
CASE
WHEN ticket_reply LIKE 'Completed Task - %' THEN 'Task completed (estimate booked)'
WHEN ticket_reply LIKE 'Undo Completed Task - %' THEN 'Task reopened'
WHEN ticket_reply LIKE 'Ticket closed.' THEN 'Ticket closed'
WHEN ticket_reply LIKE 'Created invoice %' THEN 'Invoice created'
WHEN ticket_reply LIKE 'Created quote %' THEN 'Quote created'
WHEN ticket_reply LIKE 'Ticket %merged into%' THEN 'Merged'
WHEN ticket_reply LIKE '%updated the priority from%' THEN 'Priority changed'
ELSE 'Other'
END AS reply_kind,
COUNT(*) AS replies,
SEC_TO_TIME(SUM(TIME_TO_SEC(ticket_reply_time_worked))) AS total_time
FROM ticket_replies
WHERE ticket_reply_type = 'Internal'
AND ticket_reply_archived_at IS NULL
AND TIME_TO_SEC(ticket_reply_time_worked) > 0
AND (
ticket_reply LIKE 'Completed Task - %'
OR ticket_reply LIKE 'Undo Completed Task - %'
OR ticket_reply = 'Ticket closed.'
OR ticket_reply LIKE 'Created invoice %'
OR ticket_reply LIKE 'Created quote %'
OR ticket_reply LIKE 'Ticket %merged into%'
OR ticket_reply LIKE '%updated the priority from%'
)
GROUP BY reply_kind
ORDER BY SUM(TIME_TO_SEC(ticket_reply_time_worked)) DESC;
-- 2. The same rows per client, so you can see whose totals moved.
SELECT client_name,
COUNT(*) AS replies,
SEC_TO_TIME(SUM(TIME_TO_SEC(ticket_reply_time_worked))) AS total_time
FROM ticket_replies
LEFT JOIN tickets ON ticket_id = ticket_reply_ticket_id
LEFT JOIN clients ON client_id = ticket_client_id
WHERE ticket_reply_type = 'Internal'
AND ticket_reply_archived_at IS NULL
AND TIME_TO_SEC(ticket_reply_time_worked) > 0
AND (ticket_reply LIKE 'Completed Task - %' OR ticket_reply LIKE 'Undo Completed Task - %')
GROUP BY client_name
ORDER BY SUM(TIME_TO_SEC(ticket_reply_time_worked)) DESC;
-- 3. Correction, if you want it. NOT shipped as a migration: these rows are
-- editable in the UI, so some of them may carry time a technician put there
-- deliberately, and anything already invoiced should not move underneath the
-- invoice. Review the output above first, back up, then run by hand.
--
-- UPDATE ticket_replies
-- SET ticket_reply_time_worked = '00:00:00'
-- WHERE ticket_reply_type = 'Internal'
-- AND (ticket_reply LIKE 'Completed Task - %' OR ticket_reply LIKE 'Undo Completed Task - %');