Advertisement
aadddrr

Untitled

Mar 15th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.30 KB | None | 0 0
  1. package org.jleaf.erp.master.bo.partner;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. import org.jleaf.core.AbstractBusinessFunction;
  10. import org.jleaf.core.BusinessFunction;
  11. import org.jleaf.core.BusinessTransaction;
  12. import org.jleaf.core.CoreException;
  13. import org.jleaf.core.DefaultBusinessTransaction;
  14. import org.jleaf.core.Dto;
  15. import org.jleaf.core.GeneralConstants;
  16. import org.jleaf.core.annotation.ErrorList;
  17. import org.jleaf.core.annotation.Info;
  18. import org.jleaf.core.annotation.InfoIn;
  19. import org.jleaf.core.annotation.InfoOut;
  20. import org.jleaf.core.dao.QueryBuilder;
  21. import org.jleaf.erp.master.dao.PartnerDao;
  22. import org.jleaf.util.ValidationUtil;
  23. import org.jleaf.validator.CommonBusinessValidator;
  24. import org.slf4j.Logger;
  25. import org.slf4j.LoggerFactory;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.beans.factory.annotation.Qualifier;
  28. import org.springframework.jdbc.core.JdbcTemplate;
  29. import org.springframework.stereotype.Service;
  30.  
  31. @Service
  32. // @formatter:off
  33. @InfoIn(value = {
  34.         @Info(name = "tenantLoginId", description = "tenant login Id", type = Long.class),
  35.         @Info(name = "sessionId", description = "Session Id", type = String.class),
  36.         @Info(name = "salesmanId", description = "Salesman Id", type = Long.class),
  37.         @Info(name = "period", description = "Period", type = String.class),
  38.         @Info(name = "keyword", description="keyword of code or name", type=String.class),
  39.         @Info(name = "ctgrPartnerId", description="category partner id", type=Long.class),
  40.         @Info(name = "active", description="active", type=String.class),
  41.         @Info(name = "userLoginId", description = "user login id", type = Long.class),
  42.         @Info(name = "roleLoginId", description = "role login id", type = Long.class)})
  43. @InfoOut(value = {@Info(name = "customerFromHierarchyList", description = "list of customer from hierarchy(id, code, name, ctgrPartnerId, extName, npwpId, holdingId, flagHolding, rankCode, rankPropKey, active, version, phone1, phone2, fax1, fax2)", type = List.class)})
  44. @ErrorList(errorKeys = {
  45. })
  46.  
  47. // @formatter:on
  48. public class GetAuthorizedCustomerFromSalesmanHierarchyList extends AbstractBusinessFunction {
  49.  
  50.     @Autowired
  51.     private PartnerDao partnerDao;
  52.    
  53.     @Autowired
  54.     private JdbcTemplate jdbcTemplate;
  55.  
  56.     private static final Logger log = LoggerFactory.getLogger(GetAuthorizedCustomerFromSalesmanHierarchyList.class);
  57.  
  58.     public String getDescription() {
  59.         return "Get Authorized Customer List From Salesman Hierarchy";
  60.     }
  61.  
  62.     @SuppressWarnings("unchecked")
  63.     @Override
  64.     public Dto execute(Dto inputDto) throws Exception {
  65.         List<Dto> results = new ArrayList<Dto>();
  66.        
  67.         ValidationUtil.valDtoContainsKey(inputDto, "tenantLoginId");
  68.         ValidationUtil.valDtoContainsKey(inputDto, "sessionId");
  69.         ValidationUtil.valDtoContainsKey(inputDto, "salesmanId");
  70.         ValidationUtil.valDate(inputDto, "period");
  71.         ValidationUtil.valDtoContainsKey(inputDto, "keyword");
  72.         ValidationUtil.valDtoContainsKey(inputDto, "ctgrPartnerId");
  73.         ValidationUtil.valDtoContainsKey(inputDto, "active");
  74.         ValidationUtil.valDtoContainsKey(inputDto, "userLoginId");
  75.         ValidationUtil.valDtoContainsKey(inputDto, "roleLoginId");
  76.  
  77.         Long tenantId = inputDto.getLong("tenantLoginId");
  78.         String sessionId = inputDto.getString("sessionId");
  79.         Long salesmanId = inputDto.getLong("salesmanId");
  80.         String period = inputDto.getString("period");
  81.         String keyword = inputDto.getString("keyword");
  82.         Long ctgrPartnerId = inputDto.getLong("ctgrPartnerId");
  83.         String active = inputDto.getString("active");
  84.         Long userId = inputDto.getLong("userLoginId");
  85.         Long roleId = inputDto.getLong("roleLoginId");
  86.  
  87.         Connection conn = jdbcTemplate.getDataSource().getConnection();
  88.         conn.setAutoCommit(false);
  89.         PreparedStatement p = null;
  90.  
  91.         try {
  92.             p = conn.prepareStatement("SELECT f_get_authorized_customer_from_salesman_hierarchy(?, ?, ?, ?, ?, ?, ?, ?, ?)");
  93.             p.setString(1, sessionId);
  94.             p.setLong(2, tenantId);
  95.             p.setLong(3, salesmanId);
  96.             p.setString(4, period);
  97.             p.setString(5, keyword);
  98.             p.setLong(6, ctgrPartnerId);
  99.             p.setString(7, active);
  100.             p.setLong(8, userId);
  101.             p.setLong(9, roleId);
  102.            
  103.             ResultSet resultSetFromFunction = p.executeQuery();
  104.             ResultSet resultSetFromQuery = null;
  105.             if (resultSetFromFunction.next()) {
  106.                 resultSetFromQuery = (ResultSet) resultSetFromFunction.getObject(1);
  107.             }
  108.            
  109.             resultSetFromFunction.close();
  110.            
  111.             //"id", "code", "name", "ctgrPartnerId", "ctgrPartnerCode", "ctgrPartnerName", "extName", "npwpId", "holdingId", "flagHolding", "rankCode", "rankPropKey", "active", "version",
  112.             //"phone1", "phone2", "fax1", "fax2"
  113.            
  114.             while (resultSetFromQuery != null && resultSetFromQuery.next()) {
  115.                 log.debug("detail : "+resultSetFromQuery);
  116.                 Dto detailDto = new Dto();
  117.                 detailDto.put("id", resultSetFromQuery.getLong(1));
  118.                 detailDto.put("code", resultSetFromQuery.getString(2));
  119.                 detailDto.put("name", resultSetFromQuery.getString(3));
  120.                 detailDto.put("ctgrPartnerId", resultSetFromQuery.getLong(4));
  121.                 detailDto.put("ctgrPartnerCode", resultSetFromQuery.getString(5));
  122.                 detailDto.put("ctgrPartnerName", resultSetFromQuery.getString(6));
  123.                 detailDto.put("extName", resultSetFromQuery.getString(7));
  124.                 detailDto.put("npwpId", resultSetFromQuery.getLong(8));
  125.                 detailDto.put("holdingId", resultSetFromQuery.getLong(9));
  126.                 detailDto.put("flagHolding", resultSetFromQuery.getString(10));
  127.                 detailDto.put("rankCode", resultSetFromQuery.getString(11));
  128.                 detailDto.put("rankPropKey", resultSetFromQuery.getString(12));
  129.                 detailDto.put("active", resultSetFromQuery.getString(13));
  130.                 detailDto.put("version", resultSetFromQuery.getLong(14));
  131.                 detailDto.put("phone1", resultSetFromQuery.getString(15));
  132.                 detailDto.put("phone2", resultSetFromQuery.getString(16));
  133.                 detailDto.put("fax1", resultSetFromQuery.getString(17));
  134.                 detailDto.put("fax2", resultSetFromQuery.getString(18));
  135.                
  136.                 results.add(detailDto);
  137.             }
  138.            
  139.             p.close();
  140.             conn.commit();
  141.             conn.close();
  142.            
  143.             return new Dto().put("customerFromHierarchyList", results);
  144.    
  145.         } catch (Exception e) {
  146.             if (p != null)
  147.                 p.close();
  148.            
  149.             if (conn != null && !conn.isClosed())
  150.                 conn.rollback();
  151.            
  152.             throw e;
  153.         }
  154.            
  155.     }
  156.    
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement