7 changed files with 183 additions and 69 deletions
@ -0,0 +1,45 @@ |
|||
package irbs.cust.rating.controller; |
|||
|
|||
import irbs.cust.rating.jpa.support.KeyValueWrapper; |
|||
import irbs.cust.rating.service.HomeService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestMethod; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 首页控制器 |
|||
* @author likunming |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/api/irbs/home") |
|||
public class HomeController { |
|||
|
|||
@Autowired |
|||
private HomeService homeService; |
|||
|
|||
/** |
|||
* 首页,敞口分布统计 |
|||
* |
|||
* @throws Exception 异常 |
|||
*/ |
|||
@RequestMapping(value = "ratingModelExposure", method = RequestMethod.GET) |
|||
@ResponseBody |
|||
public List<KeyValueWrapper> ratingModelExposure() throws Exception { |
|||
return homeService.getRatingModelExposureList(); |
|||
} |
|||
|
|||
/** |
|||
* 首页,评级分布统计 |
|||
* |
|||
* @throws Exception 异常 |
|||
*/ |
|||
@RequestMapping(value = "ratingLevelExposure", method = RequestMethod.GET) |
|||
@ResponseBody |
|||
public List<KeyValueWrapper> ratingLevelExposureList() throws Exception { |
|||
return homeService.getRatingLevelExposureList(); |
|||
} |
|||
} |
@ -0,0 +1,17 @@ |
|||
package irbs.cust.rating.service; |
|||
|
|||
import irbs.cust.rating.jpa.support.KeyValueWrapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 客户评级流程处理服务 |
|||
* @author likunming |
|||
* |
|||
*/ |
|||
public interface HomeService { |
|||
|
|||
public List<KeyValueWrapper> getRatingModelExposureList() throws Exception; |
|||
|
|||
public List<KeyValueWrapper> getRatingLevelExposureList() throws Exception; |
|||
} |
@ -0,0 +1,52 @@ |
|||
package irbs.cust.rating.service.impl; |
|||
|
|||
import irbs.cust.rating.jpa.support.KeyValueWrapper; |
|||
import irbs.cust.rating.service.HomeService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class HomeServiceImpl implements HomeService { |
|||
|
|||
@Autowired |
|||
NamedParameterJdbcTemplate namedParameterJdbcTemplate; |
|||
|
|||
@Override |
|||
public List<KeyValueWrapper> getRatingModelExposureList() throws Exception { |
|||
String querySql = "select MODEL_NAME, count(*) MODEL_NUMBER from NS_COMPANY_RATING where MODEL_CODE IS NOT NULL "; |
|||
querySql += " group by MODEL_CODE, MODEL_NAME order by CAST(substr(MODEL_CODE,4) as DECIMAL) asc "; |
|||
List<KeyValueWrapper> query = namedParameterJdbcTemplate.query(querySql, |
|||
(rs, rowNum) -> { |
|||
KeyValueWrapper kv = new KeyValueWrapper(); |
|||
kv.setKey(rs.getString("MODEL_NAME")); |
|||
kv.setValue(rs.getString("MODEL_NUMBER")); |
|||
return kv; |
|||
}); |
|||
return query; |
|||
} |
|||
|
|||
@Override |
|||
public List<KeyValueWrapper> getRatingLevelExposureList() throws Exception { |
|||
String querySql1 = "select p.FINAL_LEVEL,count(*) FINAL_NUMBER from (" + |
|||
"select distinct(cust_no) as cust_no,FINAL_LEVEL from NS_COMPANY_RATING " + |
|||
"WHERE cust_no is not null and FINAL_LEVEL IS NOT NULL AND RATING_STATUS = '010' "; |
|||
String querySql2 = "select 'D' FINAL_LEVEL, COUNT(*) FINAL_NUMBER from (" + |
|||
"select distinct(cust_no) as cust_no from P_IRS_DEFAULT_COGNIZANCE " + |
|||
"where ((VALID = '1' and DEFAULT_TYPE ='02') or (VALID <> '0' and DEFAULT_TYPE = '01')) and cust_no is not null "; |
|||
querySql1 += ") p GROUP BY p.FINAL_LEVEL"; |
|||
querySql2 += ") q"; |
|||
String querySql = querySql1 + " UNION ALL " + querySql2; |
|||
List<KeyValueWrapper> query = namedParameterJdbcTemplate.query(querySql, |
|||
(rs, rowNum) -> { |
|||
KeyValueWrapper kv = new KeyValueWrapper(); |
|||
kv.setKey(rs.getString("FINAL_LEVEL")); |
|||
kv.setValue(rs.getString("FINAL_NUMBER")); |
|||
return kv; |
|||
}); |
|||
return query; |
|||
} |
|||
} |
Loading…
Reference in new issue