Advertisement
Ishu_15hu

Dashboard querys

Dec 7th, 2021
930
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Daily Collection Target
  2. SELECT sum(la.installment_amount),
  3.        count(distinct (la.member_id))
  4. FROM loan_account la
  5.          INNER JOIN member_info mi
  6.                     ON (mi.id = la.member_id
  7.                         AND mi.branch_info_id = :branchId
  8.                         AND mi.project_info_id = :projectId
  9.                         AND mi.domain_status_id = :domainStatusActive
  10.                         AND mi.member_status_id = :memberStatusActive)
  11. WHERE la.domain_status_id = :domainStatusActive
  12.   AND la.office_info_id = :branchId
  13.   AND la.project_info_id = :projectId
  14.   AND la.next_collection_date = :localDate
  15.   AND (la.loan_status_id = :currentStatus
  16.     OR la.loan_status_id = :late1
  17.     OR la.loan_status_id = :late2)
  18.   AND mi.assignedpo_id = :poId;
  19.  
  20. -- Daily collection achieved
  21. SELECT sum(lat.collection_amount),
  22.        count(distinct (mi.id))
  23. FROM loan_account_transaction lat
  24.          INNER JOIN member_info mi
  25.                     ON (mi.id = lat.member_info_id
  26.                         and mi.branch_info_id = :branchId
  27.                         and mi.project_info_id = :projectId
  28.                         AND mi.assignedpo_id = :poId
  29.                         and mi.domain_status_id = :domainStatusActive
  30.                         and mi.member_status_id = :memberStatusActive)
  31. WHERE lat.domain_status_id = :domainStatusActive
  32.   AND lat.office_info_id = :branchId
  33.   AND lat.project_info_id = :projectId
  34.   AND lat.domain_status_id = :domainStatusActive
  35.   AND lat.collection_amount > 0
  36.   AND (lat.loan_status_id = :currentStatus
  37.     OR lat.loan_status_id = :late1
  38.     OR lat.loan_status_id = :late2)
  39.   AND lat.transaction_date = :localDate;
  40.  
  41. -- Monthly/Trimester achieved
  42. select la.id,
  43.        la.office_info_id branch_id,
  44.        la.group_info_id  vo_id,
  45.        la.loan_product_details_id,
  46.        la.disbursement_date,
  47.        la.no_of_installment,
  48.        la.installment_amount,
  49.        la.interest_outstanding,
  50.        la.late_interest_os,
  51.        la.interest_amount,
  52.        la.realizable_interest_amount,
  53.        la.principal_outstanding,
  54.        la.overdue_amount,
  55.        la.outstanding_balance,
  56.        la.interest_factor,
  57.        la.interest_provision_fraction,
  58.        la.last_provision_date,
  59.        la.next_collection_date,
  60.        la.loan_duration_end_date,
  61.        la.loan_status_id,
  62.        la.country_id,
  63.        la.frequency_id
  64. from loan_account la
  65.          inner join member_info mi
  66.                     on (mi.branch_info_id = :branchId
  67.                         and mi.project_info_id = :projectId
  68.                         and mi.domain_status_id = :domainStatusActive
  69.                         and mi.member_status_id = :memberStatusActive
  70.                         and (cast(:poId as character varying) is null
  71.                             or mi.assignedpo_id = :poId)
  72.                         and la.member_id = mi.id)
  73. where la.office_info_id = :branchId
  74.   and la.project_info_id = :projectId
  75.   and la.domain_status_id = :domainStatusActive
  76.   and (cast(:loanAccountId as character varying) is null
  77.     or la.id = :loanAccountId);
  78.  
  79. -- Monthly/Trimester collection collected.
  80. SELECT sum(lat.collection_amount)
  81. FROM loan_account_transaction lat
  82.          INNER JOIN member_info mi
  83.                     ON (mi.id = lat.member_info_id
  84.                         and mi.branch_info_id = :branchId
  85.                         and mi.project_info_id = :projectId
  86.                         and mi.domain_status_id = :domainStatusActive
  87.                         and mi.member_status_id = :memberStatusActive)
  88. WHERE lat.domain_status_id = :domainStatusActive
  89.   AND lat.office_info_id = :branchId
  90.   AND lat.project_info_id = :projectId
  91.   AND (lat.loan_status_id = :currentStatus
  92.     OR lat.loan_status_id = :late1
  93.     OR lat.loan_status_id = :late2)
  94.   AND lat.transaction_date >= :startDate
  95.   AND lat.transaction_date <= :endDate
  96.   AND mi.assignedpo_id = :poId;
  97.  
  98. -- Daily overdue target.
  99. SELECT sum(la.overdue_amount), count(distinct (mi.id))
  100. FROM loan_account la
  101.          INNER JOIN member_info mi
  102.                     ON (mi.id = la.member_id
  103.                         AND mi.branch_info_id = :branchId
  104.                         AND mi.project_info_id = :projectId
  105.                         AND mi.assignedpo_id = :poId
  106.                         AND mi.domain_status_id = :domainStatusActive
  107.                         AND mi.member_status_id = :memberStatusActive)
  108. WHERE la.office_info_id = :branchId
  109.   AND la.project_info_id = :projectId
  110.   AND la.domain_status_id = :domainStatusActive;
  111.  
  112. -- Overdue Collect.
  113. SELECT sum(lc.last_overdue_amount - lc.overdue_amount),
  114.        count(distinct mi.id)
  115. FROM loan_collection lc
  116.          INNER JOIN loan_account la
  117.                     ON (lc.loan_account_id = la.id
  118.                         AND la.office_info_id = :branchId
  119.                         AND la.project_info_id = :projectId
  120.                         AND la.domain_status_id = :domainStatusActive)
  121.          INNER JOIN member_info mi
  122.                     ON (mi.id = la.member_id
  123.                         and mi.branch_info_id = :branchId
  124.                         AND mi.assignedpo_id = :poId
  125.                         AND mi.project_info_id = :projectId
  126.                         and mi.domain_status_id = :domainStatusActive
  127.                         and mi.member_status_id = :memberStatusActive)
  128. WHERE lc.domain_status_id = :domainStatusActive
  129.   AND lc.office_info_id = :branchId
  130.   AND lc.overdue_amount < lc.last_overdue_amount
  131.   AND lc.collection_date between :startDate and :endDate;
  132.  
  133. -- Disbursement Achieved
  134. SELECT sum(la.disbursed_amount)
  135. FROM loan_account la
  136.          INNER JOIN member_info mi
  137.                     ON (la.member_id = mi.id
  138.                         AND mi.branch_info_id = :branchId
  139.                         AND mi.project_info_id = :projectId
  140.                         AND mi.domain_status_id = :domainStatusActive
  141.                         AND mi.member_status_id = :memberStatusActive
  142.                         AND mi.assignedpo_id = :poId)
  143. WHERE la.office_info_id = :branchId
  144.   AND la.project_info_id = :projectId
  145.   AND la.domain_status_id = :domainStatusActive
  146.   AND la.disbursement_date >= :startDate
  147.   AND la.disbursement_date <= :endDate;
  148.  
  149. -- Disbursement Target
  150. SELECT pt.generalSavings,
  151.        pt.memberTarget,
  152.        pt.loanProposalTarget,
  153.        pt.loanDisbursementTarget,
  154.        pt.loanDisbursementAmountTarget
  155. FROM PoTarget pt
  156.          INNER JOIN ProgrammeOrganizer po
  157.                     on (pt.programmeOrganizerId = po.id AND po.branchId = :branchId)
  158. WHERE pt.programmeOrganizerId = :poId
  159.   and pt.yearOfTarget = :targetYear
  160.   AND pt.targetQuarterId = :quarterId
  161.   and pt.deleted = :isDeleted;
  162.  
  163.  
  164. -- Other Loan Info --
  165.  
  166. -- Current,Late,NIBL1 debt/OS
  167. SELECT la.loan_status_id, sum(la.outstanding_balance), count(*)
  168. FROM loan_account la
  169. WHERE la.office_info_id = :branchId
  170.   AND la.domain_status_id = 1
  171.   AND not la.loan_status_id = ANY (:loanStatus)
  172.   AND la.project_info_id = :projectId
  173. GROUP BY la.loan_status_id;
  174.  
  175. -- Number of new loan
  176. SELECT count(la.id)
  177. FROM loan_account la
  178. WHERE la.office_info_id = :branchId
  179.   AND la.domain_status_id = :domainStatusId
  180.   AND la.project_info_id = :projectId
  181.   AND la.disbursement_date >= :startDate
  182.   AND la.disbursement_date <= :endDate;
  183.  
  184.  
  185. -- Savings Information --
  186.  
  187. --Savings
  188. SELECT COUNT(sat.id),
  189.        SUM(sat.installment_amount)
  190. FROM savings_account_transaction sat
  191. WHERE sat.office_info_id = :branchId
  192.   AND sat.domain_status_id = :domainStatusId
  193.   AND sat.project_info_id = :projectId;
  194.  
  195. -- Special Savings
  196. SELECT COUNT(sa.id),
  197.        SUM(sa.savings_balance)
  198. FROM savings_account sa
  199. WHERE sa.office_info_id = :branchId
  200.   AND sa.domain_status_id = :domainStatusId
  201.   AND sa.account_type_id != :typeId
  202.   AND sa.project_info_id = :projectId;
  203.  
  204. -- Branch Address
  205. SELECT oa.address_line1,
  206.        oa.address_line2,
  207.        oa.zip_code,
  208.        city.name,
  209.        district.district_name,
  210.        division.division_name
  211. FROM physical_office_info poi
  212.          LEFT JOIN office_address oa
  213.                    ON (oa.branch_ref_code = poi.office_ref_code)
  214.          LEFT JOIN city ON (city.id = oa.city_id)
  215.          LEFT JOIN district ON (district.id = oa.district_info_id)
  216.          LEFT JOIN division ON (division.id = oa.division_info_id)
  217. WHERE poi.id = :branchRefId;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement