Advertisement
Guest User

Untitled

a guest
Feb 10th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. if ($augmentations['costfrom'] == 'invoiceable') {
  2. $cost_cols = "sum(i.quantity) AS quantity , sum(i.cost) AS cost";
  3. }else {
  4. $cost_cols = "a.quantity, a.cost";
  5. }
  6.  
  7. SELECT $cols $ec , sum(revenue) as revenue, $cost_cols
  8. FROM (".note_detail_report_view(). ") AS i
  9. LEFT JOIN (
  10. SELECT $join_col , SUM(cost) AS cost, SUM(quantity) AS quantity
  11. FROM (".note_detail_report_view(). ") AS note_detail_report_view
  12. $whereClause AND *n_quote_status = 0*
  13. GROUP BY $join_col
  14. ) AS a
  15. ON $joiner
  16. $whereClause AND invoice = true $limit_inv
  17. GROUP BY $group_by $ec, a.cost , a.quantity
  18. ORDER BY $order_by
  19.  
  20. SELECT
  21. CONCAT(client.company, ' ', client.name_first, ' ', client.name_last) AS customer,
  22. SUM(COALESCE(bill_item.unit_price, billable.unit_price, 0) * bill_item.quantity) AS revenue,
  23. SUM(bill_item.quantity) AS quantity,
  24. SUM(COALESCE(bill_item.unit_cost, billable.unit_cost, 0) * bill_item.quantity) AS cost
  25. FROM
  26. ja_clients AS account
  27. JOIN ja_customers AS client ON client.clientid = account.id
  28. JOIN ja_jobs AS job ON client.id=job.customerid
  29. JOIN ja_notes AS note ON note.jobid = job.id
  30. JOIN dm.bill_items AS bill_item ON bill_item.bill_item_id=note.bill_item_id
  31. LEFT JOIN dm.bills AS bill ON bill.bill_id=bill_item.bill_id
  32. LEFT JOIN dm.invoices AS invoice ON invoice.invoice_id=bill.invoice_id
  33. OR invoice.invoice_id=bill_item.invoice_id
  34. LEFT JOIN dm.billables AS billable ON billable.billable_id=note.billable_id
  35. LEFT JOIN dm.labors AS labs ON labs.billable_id = billable.billable_id
  36. JOIN ja_mobiusers AS "user" ON "user".id = note.mobiuserid
  37. JOIN ja_status AS status ON status.id = job.status_label_id
  38. JOIN ja_role AS ROLE ON ROLE.id="user".user_type
  39. WHERE
  40. note.note_type::text = ANY (ARRAY[ ('time'::CHARACTER VARYING)::text, ('part'::CHARACTER VARYING)::text ]) AND
  41. NOT job.templated AND
  42. NOT job.deleted AND
  43. job.clientid = 6239 AND
  44. time_job >= 1438351200 AND
  45. time_job <= 1448888340 AND
  46. bill_item.for_invoicing = TRUE
  47. GROUP BY
  48. customer
  49. ORDER BY
  50. revenue DESC
  51. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement