Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.93 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <beans xmlns="http://www.springframework.org/schema/beans"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-3.2.xsd">
  9.  
  10. <!-- RFT-REPORT -->
  11. <bean id = "retrieveELPnsDetailsRepoImpl" class = "gov.bsp.lcmis.collaterals.report.dao.RetrieveELPnsDetailsRepoImpl">
  12. <property name = "dataSource" ref="dataSource"/>
  13. <property name = "endDateSelector" ref="endDateSelector"/>
  14. <property name="QUERY_RETRIEVE_PN_DETAILS" value="SELECT bank_name, date_close, pnt.pn_number, pn_status, pnt.date_granted AS pn_date_granted, pnt.maturity_date AS pn_maturity_date,
  15. lt.loan_interest_rate AS bsp_pn_rate, lt.date_granted AS loan_date_granted, lt.maturity_date AS loan_maturity_date, reprice_rate_flag,
  16. lt.amount_granted AS loan_amount_granted, collateral_number, entity_name, full_name, outstanding_principal, loan_term, cwt_flag, loan_application_number
  17. , payment_date
  18. FROM bank_tbl bt
  19. INNER JOIN loan_tbl lt ON bt.bank_id = lt.ref_bank_id
  20. INNER JOIN pn_tbl pnt ON lt.loan_id = pnt.ref_loan_id
  21. LEFT OUTER JOIN pn_collateral pnc ON pnt.pn_id = pnc.ref_pn_id
  22. RIGHT OUTER JOIN COLLATERAL_TBL ct ON pnc.ref_collateral_id = ct.collateral_id
  23. LEFT OUTER JOIN end_user_borrower_tbl eubt ON pnt.ref_borrower_id = eubt.borrower_id
  24. LEFT OUTER JOIN balance_tbl balt ON pnt.ref_balance_id = balt.balance_id
  25. LEFT OUTER JOIN (select MAX(ppt.payment_date) AS payment_date,ppt.pn_number,pn_id from payment_pending_tbl ppt
  26. join transaction_tbl txn on txn.transaction_id = ppt.ref_transaction_id
  27. join pn_tbl pn on pn.pn_number = ppt.pn_number
  28. join approval_status_tbl ast on ast.approval_status_id = txn.ref_approval_status_id
  29. WHERE UPPER(ast.approval_status) IN (:APPROVAL_STATUS)
  30. AND txn.transaction_type NOT IN (:TRANSACTION_TYPE)
  31. GROUP BY pn_id,ppt.pn_number) ppt
  32. ON ppt.pn_number = pnt.pn_number
  33. WHERE pnt.pn_id IN (:PN_ID)"></property>
  34. </bean>
  35.  
  36.  
  37.  
  38.  
  39. </beans>
  40.  
  41.  
  42.  
  43. --------------------------
  44.  
  45. package gov.bsp.lcmis.collaterals.report.dao;
  46.  
  47. import java.sql.ResultSet;
  48. import java.sql.SQLException;
  49. import java.util.ArrayList;
  50. import java.util.List;
  51.  
  52. import javax.sql.DataSource;
  53.  
  54. import org.slf4j.Logger;
  55. import org.slf4j.LoggerFactory;
  56. import org.springframework.beans.BeansException;
  57. import org.springframework.context.ApplicationContext;
  58. import org.springframework.context.ApplicationContextAware;
  59. import org.springframework.dao.DataAccessException;
  60. import org.springframework.dao.EmptyResultDataAccessException;
  61. import org.springframework.jdbc.core.RowMapper;
  62. import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
  63. import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
  64.  
  65. import gov.bsp.lcmis.collaterals.report.repo.RetrieveELPnsRepo;
  66. import gov.bsp.lcmis.internal.constants.ApprovalStatusConstants;
  67. import gov.bsp.lcmis.internal.constants.TransactionType;
  68. import gov.bsp.lcmis.internal.report.dao.constants.Constants;
  69. import gov.bsp.lcmis.internal.report.dao.constants.QueryConstants;
  70. import gov.bsp.lcmis.internal.report.domain.PromissoryNote;
  71. import gov.bsp.lcmis.internal.report.domain.RvcReport;
  72. import gov.bsp.lcmis.internal.utilities.EndDateSelector;
  73.  
  74. /**
  75. * #FSM-EL-RVC-006 Generate EL RVC Report
  76. */
  77. public class RetrieveELPnsDetailsRepoImpl implements
  78. RetrieveELPnsRepo<RvcReport>,
  79. Constants,
  80. QueryConstants,
  81. ApplicationContextAware{
  82.  
  83. private static final Logger log = LoggerFactory.getLogger(RetrieveELPnsDetailsRepoImpl.class);
  84.  
  85. private NamedParameterJdbcTemplate namedJdbc;
  86.  
  87. private ApplicationContext applicationContext;
  88.  
  89. private EndDateSelector endDateSelector;
  90.  
  91. private static String QUERY_RETRIEVE_PN_DETAILS;
  92.  
  93. /**
  94. * Retrieve EL PN info
  95. */
  96. public List<PromissoryNote> getPnDetails(List<Integer> pnIds) throws DataAccessException {
  97. if (log.isDebugEnabled()) {
  98. log.debug("MCI >> retrieveELPnsDetails");
  99. }
  100. List <PromissoryNote> elPnDetails = null;
  101. MapSqlParameterSource data = new MapSqlParameterSource();
  102.  
  103.  
  104. //TRANSACTION TYPES AND TRANSACTION STATUSES
  105. //FOR THE RETRIEVAL OF LAST PAYMENT DATE OF EACH PN
  106. List<String> includedTransactionTypes = new ArrayList<>();
  107. includedTransactionTypes.add(TransactionType.REVERSAL.getValue());
  108. includedTransactionTypes.add(TransactionType.CXS.getValue());
  109. includedTransactionTypes.add(TransactionType.RXS.getValue());
  110. includedTransactionTypes.add(TransactionType.ADJUSTMENT.getValue());
  111.  
  112. List<String> includedTransactionStatuses = new ArrayList<>();
  113. includedTransactionStatuses.add(ApprovalStatusConstants.COMPLETED.getValue().toUpperCase());
  114. includedTransactionStatuses.add(ApprovalStatusConstants.BOOKED.getValue().toUpperCase());
  115. includedTransactionStatuses.add(ApprovalStatusConstants.POSTED.getValue().toUpperCase());
  116. includedTransactionStatuses.add(ApprovalStatusConstants.POLLING_TO_CFAS.getValue().toUpperCase());
  117.  
  118.  
  119. data.addValue(COLUMN_PN_ID, pnIds);
  120. data.addValue(APPROVAL_STATUS, includedTransactionStatuses);
  121. data.addValue(COLUMN_SAP_TRANSACTION_TYPE, includedTransactionTypes);
  122.  
  123.  
  124. try {
  125. elPnDetails = namedJdbc.query(QUERY_RETRIEVE_PN_DETAILS, data, new RowMapper<PromissoryNote>() {
  126.  
  127. public PromissoryNote mapRow(ResultSet rs, int arg1) throws SQLException {
  128. PromissoryNote pnDetails = applicationContext.getBean(PromissoryNote.class);
  129. pnDetails.setPnId(rs.getInt(COLUMN_PN_ID));
  130. pnDetails.setBankName(rs.getString(COLUMN_BANK_NAME));
  131. pnDetails.setCwtFlag(rs.getString(COLUMN_BANK_CWT_FLAG));
  132. pnDetails.setBankClosureDate(rs.getDate(COLUMN_DATE_CLOSE));
  133. pnDetails.setPnNumber(rs.getString(COLUMN_PN_NUMBER));
  134. pnDetails.setPnStatus(rs.getString(COLUMN_PN_STATUS));
  135. pnDetails.setPnGrantedDate(rs.getDate(COLUMN_PN_DATE_GRANTED));
  136. pnDetails.setPnMaturityDate(rs.getDate(COLUMN_PN_MATURITY_DATE));
  137. pnDetails.setLoanNumber(rs.getInt(COLUMN_LOAN_NUMBER));
  138. pnDetails.setLoanAmount(rs.getBigDecimal(COLUMN_LOAN_AMOUNT));
  139. pnDetails.setLoanRate(rs.getBigDecimal(COLUMN_LOAN_INTEREST_RATE));
  140. pnDetails.setLoanGrantedDate(rs.getDate(COLUMN_LOAN_DATE_GRANTED));
  141. pnDetails.setLoanMaturityDate(rs.getDate(COLUMN_LOAN_MATURITY_DATE));
  142. pnDetails.setLoanTerm(rs.getBigDecimal(COLUMN_LOAN_TERM));
  143. pnDetails.setRepriceRateFlag(rs.getInt(COLUMN_REPRICE_RATE_FLAG));
  144. pnDetails.setCollateralNumber(rs.getString(COLUMN_COLLATERAL_NUMBER));
  145. pnDetails.setFullName(rs.getString(COLUMN_FULL_NAME));
  146. pnDetails.setCompanyName(rs.getString(COLUMN_ENTITY_NAME));
  147. pnDetails.setOutstandingPrincipal(rs.getBigDecimal(COLUMN_OUTSTANDING_PRINCIPAL));
  148.  
  149. return pnDetails;
  150. }
  151.  
  152. });
  153. } catch (EmptyResultDataAccessException e) {
  154. elPnDetails = null;
  155. if (log.isDebugEnabled()) {
  156. log.debug("Null elPnDetails object.");
  157. }
  158. } catch (DataAccessException e) {
  159. throw e;
  160. }
  161. if (log.isDebugEnabled()) {
  162. log.debug("MCO >> retrieveELPnsDetails");
  163. }
  164.  
  165. return elPnDetails;
  166. }
  167.  
  168. public void setDataSource(DataSource dataSource) {
  169. this.namedJdbc = new NamedParameterJdbcTemplate(dataSource);
  170. }
  171.  
  172. public void setApplicationContext(ApplicationContext appcontext) throws BeansException {
  173. this.applicationContext =appcontext;
  174. }
  175.  
  176. public void setEndDateSelector(EndDateSelector endDateSelector) {
  177. this.endDateSelector = endDateSelector;
  178. }
  179.  
  180. public static void setQUERY_RETRIEVE_PN_DETAILS(String qUERY_RETRIEVE_PN_DETAILS) {
  181. QUERY_RETRIEVE_PN_DETAILS = qUERY_RETRIEVE_PN_DETAILS;
  182. }
  183.  
  184. }
  185. ---------------
  186.  
  187. <import resource="classpath:collaterals-domain/*.xml" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement