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