Search Postgresql Archives

Function fixing - PostgreSQL 9.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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")
  STABLE
AS $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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux