Advertisement
tarkhil

receipts_ext

Dec 25th, 2020
1,194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE VIEW billing.receipts_ext
  2. AS SELECT me.id,
  3.     me.payment_date,
  4.     me.number,
  5.     me.comments,
  6.     me.sum,
  7.     me.status,
  8.     me.payer,
  9.     me.proposed_agr,
  10.     me.proposed_bill,
  11.     me.process_result,
  12.     me.payer_ok,
  13.     me.sum - sum(COALESCE(pplus.values_sum, 0::numeric)) AS remaining,
  14.     b.id AS bill_id,
  15.     b.bill_number,
  16.     b.vat,
  17.     round(COALESCE(pplus.rur_sum, 0::numeric), 2) AS value,
  18.     round(COALESCE(pplus.rur_sum * (100::numeric + b.vat) / 100::numeric, 0::numeric), 2) AS value_vat,
  19.     status.name AS status_name,
  20.     client.data,
  21.     client.id AS client_id,
  22.     status.code AS status_code,
  23.     proposed_agr.number AS agr_number,
  24.     COALESCE(pplus.bills_per_rcpt, 0::bigint) AS bills_per_rcpt
  25.    FROM receipts me
  26.      LEFT JOIN (agreements proposed_agr
  27.      JOIN clients client ON client.id = proposed_agr.client) ON proposed_agr.id = me.proposed_agr
  28.      LEFT JOIN ( SELECT p.receipt,
  29.             count(DISTINCT p.bill) AS bills_per_rcpt,
  30.             p.value AS values_sum,
  31.             sum(sr.value_rur) AS rur_sum
  32.            FROM payments p
  33.              JOIN services sr ON sr.bill = p.bill
  34.              JOIN bills b_1 ON b_1.id = p.bill
  35.           GROUP BY p.receipt, p.value) pplus ON pplus.receipt = me.id
  36.      LEFT JOIN bills b ON b.id = me.proposed_bill
  37.      JOIN aux.receipt_states status ON status.id = me.status
  38.   GROUP BY me.id, me.payment_date, me.number, me.comments, me.sum, me.status, me.payer, me.proposed_agr, me.proposed_bill, me.process_result, me.payer_ok, b.id, b.bill_number, b.vat, status.name, pplus.rur_sum, client.data, client.id, status.code, proposed_agr.number, pplus.values_sum, pplus.bills_per_rcpt
  39.   ORDER BY me.status;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement