Function fixing - PostgreSQL 9.2

From: "drum(dot)lucas(at)gmail(dot)com" <drum(dot)lucas(at)gmail(dot)com>
To: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Function fixing - PostgreSQL 9.2
Date: 2016-02-29 21:56:08
Message-ID: CAE_gQfUVeew-96uZEUtB2c8JMFT5C4cKNaMGu18-R8OA7D2fAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

There is a number beside each color flag, and a number in the "sub status"
drop down. Instead of "the number of jobs that have billable items that can
be invoiced, it shows the "the number of jobs that have "something"
billable but not yet invoiced."

And since those payments cannot be invoiced alone, they won't show up in
the list.

Let me know if I can provide any further information.

*Question:*

Payments in a Pending state cannot be invoiced and are excluded from the
Invoice Runs section, but they are showing in the count mechanic.

How can I solve this?

Thank you

*Function:*

CREATE OR REPLACE FUNCTION "public"."g_status_types_jobs" ("client_id"
bigint DEFAULT NULL::bigint, "output_order" character varying DEFAULT
'-START_TIME'::character varying, "start_time" timestamp without time
zone DEFAULT NULL::timestamp without time zone, "end_time" timestamp
without time zone DEFAULT NULL::timestamp without time zone,
"statuses" "text" DEFAULT NULL::"text", "status_types" "text" DEFAULT
NULL::"text", "customer_id" bigint DEFAULT NULL::bigint, "user_id"
bigint DEFAULT NULL::bigint, "recurrence_id" bigint DEFAULT
NULL::bigint, "search_str" "text" DEFAULT NULL::"text",
"unscheduled_is_desired" boolean DEFAULT false,
"unassigned_is_desired" boolean DEFAULT false, "templated_status"
boolean DEFAULT false, "by_job_ref" boolean DEFAULT false,
"by_job_description" boolean DEFAULT false, "by_job_address" boolean
DEFAULT false, "by_title" boolean DEFAULT false, "by_status" boolean
DEFAULT false, "by_order_number" boolean DEFAULT false, "by_client"
boolean DEFAULT false, "by_client_notes" boolean DEFAULT false,
"by_billing_client" boolean DEFAULT false, "by_staff" boolean DEFAULT
false, "by_notes_description" boolean DEFAULT false,
"invoiceable_notes_only" boolean DEFAULT false) RETURNS
TABLE("status_type_id" bigint, "jobs_count" bigint, "job_ids" "text",
"status_type_data" "text")
STABLEAS $dbvis$SELECT
COALESCE(s.status_type_id, -1) AS status_type_id,
CAST(ROUND(SUM(s.jobs_count)) AS BIGINT) AS jobs_count,
-- we concatenate the lists from all the status labels. some
nullif/substring trickery is required here
CONCAT('{', STRING_AGG(NULLIF(SUBSTRING(s.job_ids FROM 2 FOR
(CHAR_LENGTH(s.job_ids) - 2)), ''), (CASE WHEN (s.job_ids != '{}')
THEN ',' ELSE '' END)), '}') AS job_ids,
(CASE
WHEN (COALESCE(s.status_type_id, -1) != -1) THEN
STRING_AGG(CONCAT(
CAST(s.status_id AS TEXT),
E'\t', REPLACE(REPLACE(s.status_label, E'\t',
'<tab>'), E'\n', '<lf>'),
E'\t', CAST(s.status_is_default AS TEXT),
E'\t', CAST(s.jobs_count AS TEXT),
E'\t', CAST(s.job_ids AS TEXT)
), E'\n')
ELSE
null
END) AS status_type_data
FROM
public.g_statuses_jobs($1, $2, $3, $4, $5, $6, $7, $8, $9,
$10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23,
$24, $25) AS s
GROUP BY
s.status_type_id
;$dbvis$ LANGUAGE sql

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2016-02-29 22:35:39 Re: Function fixing - PostgreSQL 9.2
Previous Message David G. Johnston 2016-02-29 20:26:25 Re: Only owners can ANALYZE tables...seems overly restrictive