Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. async list(meta, user, skip) {
  2. const asnClause = this.ctx(`${TABLE_NAME.ASNS} as A`)
  3. .select('A.purchase_orders_id')
  4. .max({ created_at: 'B.created_at'})
  5. .innerJoin(`${TABLE_NAME.ASN_HAS_PURCHASE_ORDER_ITEMS} as B`, 'A.id', 'B.asn_id')
  6. .groupBy('A.purchase_orders_id')
  7. .as('ASN');
  8.  
  9. const podClause = this.ctx(`${TABLE_NAME.PROOF_OF_DELIVERIES} as A`)
  10. .select('A.purchase_orders_id', 'B.url')
  11. .max({ created_at: 'B.created_at'})
  12. .innerJoin(`${TABLE_NAME.PROOF_OF_DELIVERY_ATTACHMENTS} as B`, 'A.id', 'B.proof_of_deliveries_id')
  13. .groupBy('A.purchase_orders_id')
  14. .as('POD');
  15.  
  16. const selectQuery = this.ctx(`${TABLE_NAME.PURCHASE_ORDER} as A`)
  17. .select(
  18. 'A.number',
  19. 'ASN.created_at as ASN_created_at',
  20. 'POD.url',
  21. 'POD.created_at as POD_created_at'
  22. )
  23. .max({revision: 'A.revision'})
  24. .where('vendor_organizations_id', 1)
  25. .groupBy('A.number')
  26. .leftJoin(asnClause, 'A.id', 'ASN.purchase_orders_id')
  27. .leftJoin(podClause, 'A.id', 'POD.purchase_orders_id')
  28. .offset(skip)
  29. .limit(meta.limit)
  30.  
  31. return selectQuery;
  32. }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement