Browse Source

代码提交,需要重新安装数据库

main
chengjie 9 months ago
parent
commit
efadd43d85
  1. 5
      app.irbs/src/main/resources/liquibase/data/irbs/IRBS_LOAN_BORR_INFO.csv
  2. 1168
      app.irbs/src/main/resources/liquibase/data/irbs/NS_R_CFG_RPT_SQL.csv
  3. 2
      irbs.defaultManager/src/main/java/irbs/defaultManager/jpa/repository/DefaultAutoTmpRepository.java
  4. 16
      irbs.defaultManager/src/main/java/irbs/defaultManager/jpa/repository/RebirthAutoTmpRepository.java
  5. 9
      irbs.defaultManager/src/main/java/irbs/defaultManager/service/impl/RebirthAutoBatchServiceImpl.java
  6. 24
      irbs.defaultManager/src/main/resources/META-INF/platform/plugins/parameters.json
  7. 7
      irbs.defaultManager/src/main/resources/irbs/defaultManager/i18n/messages.properties
  8. 7
      irbs.defaultManager/src/main/resources/irbs/defaultManager/i18n/messages_tw_CN.properties
  9. 7
      irbs.defaultManager/src/main/resources/irbs/defaultManager/i18n/messages_zh_CN.properties
  10. 28
      irbs.riskExposure/src/main/java/irbs/riskExposure/service/impl/RiskExposureBatchServiceImpl.java
  11. 36
      irbs.riskExposure/src/main/java/irbs/riskExposure/utils/RptSqlFormat.java

5
app.irbs/src/main/resources/liquibase/data/irbs/IRBS_LOAN_BORR_INFO.csv

@ -265,3 +265,8 @@
"20230228","3007520303",,"131365107007520220527250184198","HT0107503070220220531004",,,,,,,,,,,,"1000000.000000",,,,,,,,,,,,,,,,,,,,,,,
"20230228","3007698100",,"JJ0103520420230112001","HT0103503010220230112001",,,,,,,,,,,,"3950000.000000",,,,,,,,,,,,,,,,,,,,,,,
"20230228","3007545797",,"JJ0101820420220930001","HT0101803010920220929001",,,,,,,,,,,,"550000.000000",,,,,,,,,,,,,,,,,,,,,,,
"20240630","1",,"12345678","HT0101803010920220929001",,,,,,,,,,,,"550000.000000",,,,,,,,,,,,"30",,,,,,,,,,,
"20240630","2",,"223456789","HT01018030109202209294",,,,,,,,,,,,"550000.000000",,,,,"61.000000","1001.000000",,,,,,"",,,,,,,,,,,
"20240630","3",,"223456789","HT01018030109202209295",,,,,,,,,,,,"550000.000000",,,,,,,,,,,,"","1",,,,,,,,,,
"20240630","4",,"323456789","HT01018030109202209296",,,,,,,,,,,,"550000.000000",,,,,,,,,,,,"","",,,,"3.000000",,,,,,
"20240630","5",,"623456789","HT01018030109202209296",,,,,,,,,,,,"550000.000000",,,,,,,,,,,,"","",,,,"3.000000",,,,,,
1 IRBS_LOAN_BORR_INFO
265 20230228 3007520303 131365107007520220527250184198 HT0107503070220220531004 1000000.000000
266 20230228 3007698100 JJ0103520420230112001 HT0103503010220230112001 3950000.000000
267 20230228 3007545797 JJ0101820420220930001 HT0101803010920220929001 550000.000000
268 20240630 1 12345678 HT0101803010920220929001 550000.000000 30
269 20240630 2 223456789 HT01018030109202209294 550000.000000 61.000000 1001.000000
270 20240630 3 223456789 HT01018030109202209295 550000.000000 1
271 20240630 4 323456789 HT01018030109202209296 550000.000000 3.000000
272 20240630 5 623456789 HT01018030109202209296 550000.000000 3.000000

1168
app.irbs/src/main/resources/liquibase/data/irbs/NS_R_CFG_RPT_SQL.csv

File diff suppressed because it is too large

2
irbs.defaultManager/src/main/java/irbs/defaultManager/jpa/repository/DefaultAutoTmpRepository.java

@ -30,7 +30,7 @@ public interface DefaultAutoTmpRepository extends DaoRepository<DefaultAutoTmp,
@Modifying
@Query(value = "INSERT INTO NS_COMPANY_RATING(ID_,CUST_ID,CUST_NO,CUST_NAME,CUST_TYPE,MANAGER_CODE,MANAGER_NAME,MANAGER_ORG_CODE,MANAGER_ORG_NAME,FINAL_LEVEL,PD,PROCESS_STATUS,RATING_STATUS,TRIGGER_TYPE,START_TIME,EFFECTIVE_TIME,MATURE_TIME,MODEL_ID," +
"MODEL_CODE,MODEL_NAME,IS_ADMIT,DEFAULT_IND,DATA_COME_FROM_,CREATOR_,CREATE_DATE_,LAST_MODIFIER_,LAST_MODIFYDATE_,CORP_CODE_" +
")SELECT " +
") SELECT " +
"T1.ID,T2.CUST_ID,T2.CUST_NO,T2.CUST_NAME,T2.CUST_TYPE,T2.MANAGER_CODE,T2.MANAGER_NAME,T2.MANAGER_ORG_CODE," +
"T2.MANAGER_ORG_NAME,'D',1,'PASS','EFFECTIVE','DEFAULT',T1.DEFAULT_DATE,T1.DEFAULT_DATE,T1.REBIRTHE_INVALID_DATE," +
"T2.MODEL_ID,T2.MODEL_CODE,T2.MODEL_NAME,'0','1','IMPORT','SYSTEM',NULL,'SYSTEM',NULL,'_PRIMARY_' " +

16
irbs.defaultManager/src/main/java/irbs/defaultManager/jpa/repository/RebirthAutoTmpRepository.java

@ -7,6 +7,8 @@ import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
public interface RebirthAutoTmpRepository extends DaoRepository<RebirthAutoTmp, String> {
@Transactional
@Modifying
@ -31,11 +33,15 @@ public interface RebirthAutoTmpRepository extends DaoRepository<RebirthAutoTmp,
@Transactional
@Modifying
@Query(value = "INSERT INTO NS_COMPANY_RATING " +
"SELECT T1.ID,T2.CUST_ID,T2.CUST_NO,T2.CUST_NAME,T2.CUST_TYPE,T2.MANAGER_CODE,T2.MANAGER_NAME,T2.MANAGER_ORG_CODE,T2.MANAGER_ORG_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,:ratingLevel,NULL,NULL,'PASS','EFFECTIVE','REBIRTH',NULL,NULL,NULL,T1.REBIRTH_DATE,T1.REBIRTH_DATE,NULL,T2.MODEL_ID,T2.MODEL_CODE,T2.MODEL_NAME,NULL,'1',NULL,NULL,T2.CURRENT_STEP,NULL,NULL,:ratingLevel,'0',0,0,NULL,'IMPORT','SYSTEM',T1.REBIRTH_DATE,'SYSTEM',T1.REBIRTH_DATE,'_PRIMARY_' " +
"FROM P_IRS_REBIRTH_AUTO_TMP T1, NS_COMPANY_RATING T2 " +
"WHERE T1.CUST_NO = T2.CUST_NO AND T2.RATING_STATUS IN ('010', 'EFFECTIVE') AND T2.FINAL_LEVEL='D'", nativeQuery = true)
void newRebirthRatingBatch(@Param("ratingLevel")String ratingLevel);
@Query(value = "INSERT INTO NS_COMPANY_RATING(ID_,CUST_ID,CUST_NO,CUST_NAME,CUST_TYPE,MANAGER_CODE,MANAGER_NAME,MANAGER_ORG_CODE,MANAGER_ORG_NAME,FINAL_LEVEL,PD,PROCESS_STATUS,RATING_STATUS,TRIGGER_TYPE,START_TIME,EFFECTIVE_TIME,MATURE_TIME,MODEL_ID, \n" +
"MODEL_CODE,MODEL_NAME,IS_ADMIT,DEFAULT_IND,DATA_COME_FROM_,CREATOR_,CREATE_DATE_,LAST_MODIFIER_,LAST_MODIFYDATE_,CORP_CODE_ \n" +
") SELECT \n" +
"T1.ID,T2.CUST_ID,T2.CUST_NO,T2.CUST_NAME,T2.CUST_TYPE,T2.MANAGER_CODE,T2.MANAGER_NAME,T2.MANAGER_ORG_CODE, \n" +
"T2.MANAGER_ORG_NAME,:ratingLevel,:pd,'PASS','EFFECTIVE','REBIRTH',T1.REBIRTH_DATE,T1.REBIRTH_DATE,NULL, \n" +
"T2.MODEL_ID,T2.MODEL_CODE,T2.MODEL_NAME,'1','0','IMPORT','SYSTEM',T1.REBIRTH_DATE,'SYSTEM',T1.REBIRTH_DATE,'_PRIMARY_' \n" +
"FROM P_IRS_REBIRTH_AUTO_TMP T1,NS_COMPANY_RATING T2 WHERE T1.CUST_NO = T2.CUST_NO \n" +
"AND T2.RATING_STATUS IN ('010', 'EFFECTIVE') AND T2.FINAL_LEVEL='D'", nativeQuery = true)
void newRebirthRatingBatch(@Param("ratingLevel")String ratingLevel, @Param("pd")String pd);
@Transactional
@Modifying

9
irbs.defaultManager/src/main/java/irbs/defaultManager/service/impl/RebirthAutoBatchServiceImpl.java

@ -56,14 +56,15 @@ public class RebirthAutoBatchServiceImpl implements RebirthAutoBatchService,JobH
/**
* 将自动违约重生的客户的评级按照配置策略设置应的评级
* 将自动违约重生的客户的评级按照配置策略设置应的评级
*/
private void newRebirthRating(){
String rebirthRating = systemParameterService.getParameter("parameter.system.config.custRating.rebirthRating");
String rebirthRating = systemParameterService.getParameter("parameter.irbs.params.default.rebirthRating");
if(rebirthRating.equals(RebirthRating.准入评级.code())){
String admittanceRating = systemParameterService.getParameter("parameter.system.config.custRating.admittance");
String admittanceRating = systemParameterService.getParameter("parameter.irbs.params.default.admittance");
String admittanceRatingPd = systemParameterService.getParameter("parameter.irbs.params.default.admittancePd");
rebirthAutoTmpRepository.deleteRepeatRebirthRating();
rebirthAutoTmpRepository.newRebirthRatingBatch(admittanceRating);
rebirthAutoTmpRepository.newRebirthRatingBatch(admittanceRating, admittanceRatingPd);
rebirthAutoTmpRepository.updateRebirthRatingBatch();
}else{
rebirthAutoTmpRepository.updateRebirthRatingBatch();

24
irbs.defaultManager/src/main/resources/META-INF/platform/plugins/parameters.json

@ -12,13 +12,10 @@
/* */
[
{"id":"parameter.system","order":0},
{"id":"parameter.system.config","parentId":"parameter.system","order":10000},
{"id":"parameter.system.config.custRating","parentId":"parameter.system.config","order":100000},
{
"id" : "parameter.system.config.custRating.rebirthRating",
"parentId" : "parameter.system.config.custRating",
"code" : "parameter.system.config.custRating.rebirthRating",
"id" : "parameter.irbs.params.default.rebirthRating",
"parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.default.rebirthRating",
"defaultValue" : "ADMITTANCE",
"order" : 100001,
"options" :{
@ -27,10 +24,17 @@
}
},
{
"id" : "parameter.system.config.custRating.admittance",
"parentId" : "parameter.system.config.custRating",
"code" : "parameter.system.config.custRating.admittance",
"defaultValue" : "B",
"id" : "parameter.irbs.params.default.admittance",
"parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.default.admittance",
"defaultValue" : "BB",
"order" : 100002
},
{
"id" : "parameter.irbs.params.default.admittancePd",
"parentId" : "parameter.irbs.params",
"code" : "parameter.irbs.params.default.admittancePd",
"defaultValue" : "0.0821",
"order" : 100003
}
]

7
irbs.defaultManager/src/main/resources/irbs/defaultManager/i18n/messages.properties

@ -3,7 +3,6 @@ irbs.defaultManager.enums.DefaultProcessStatus.RETURNED=\u9000\u56DE
irbs.defaultManager.enums.DefaultProcessStatus.TO_BE_CHECKED=\u5BA1\u6279\u4E2D
irbs.defaultManager.enums.DefaultProcessStatus.COMPLETED_PASS=\u901A\u8FC7
irbs.defaultManager.enums.DefaultProcessStatus.COMPLETED_REJECT=\u5426\u51B3
parameter.system.config=\u7CFB\u7EDF\u53C2\u6570\u914D\u7F6E
parameter.system.config.custRating=\u5BA2\u6237\u8BC4\u7EA7\u53C2\u6570
parameter.system.config.custRating.rebirthRating=\u8FDD\u7EA6\u91CD\u751F\u8BC4\u7EA7\u7B56\u7565
parameter.system.config.custRating.admittance=\u8FDD\u7EA6\u91CD\u751F\u51C6\u5165\u8BC4\u7EA7
parameter.irbs.params.default.rebirthRating=\u8FDD\u7EA6\u91CD\u751F\u8BC4\u7EA7\u7B56\u7565
parameter.irbs.params.default.admittance=\u8FDD\u7EA6\u91CD\u751F\u51C6\u5165\u8BC4\u7EA7
parameter.irbs.params.default.admittancePd=\u51C6\u5165\u8BC4\u7EA7PD

7
irbs.defaultManager/src/main/resources/irbs/defaultManager/i18n/messages_tw_CN.properties

@ -3,7 +3,6 @@ irbs.defaultManager.enums.DefaultProcessStatus.RETURNED=\u9000\u56DE
irbs.defaultManager.enums.DefaultProcessStatus.TO_BE_CHECKED=\u5BA1\u6279\u4E2D
irbs.defaultManager.enums.DefaultProcessStatus.COMPLETED_PASS=\u901A\u8FC7
irbs.defaultManager.enums.DefaultProcessStatus.COMPLETED_REJECT=\u5426\u51B3
parameter.system.config=\u7CFB\u7EDF\u53C2\u6570\u914D\u7F6E
parameter.system.config.custRating=\u5BA2\u6237\u8BC4\u7EA7\u53C2\u6570
parameter.system.config.custRating.rebirthRating=\u8FDD\u7EA6\u91CD\u751F\u8BC4\u7EA7\u7B56\u7565
parameter.system.config.custRating.admittance=\u8FDD\u7EA6\u91CD\u751F\u51C6\u5165\u8BC4\u7EA7
parameter.irbs.params.default.rebirthRating=\u8FDD\u7EA6\u91CD\u751F\u8BC4\u7EA7\u7B56\u7565
parameter.irbs.params.default.admittance=\u8FDD\u7EA6\u91CD\u751F\u51C6\u5165\u8BC4\u7EA7
parameter.irbs.params.default.admittancePd=\u51C6\u5165\u8BC4\u7EA7PD

7
irbs.defaultManager/src/main/resources/irbs/defaultManager/i18n/messages_zh_CN.properties

@ -3,7 +3,6 @@ irbs.defaultManager.enums.DefaultProcessStatus.RETURNED=\u9000\u56DE
irbs.defaultManager.enums.DefaultProcessStatus.TO_BE_CHECKED=\u5BA1\u6279\u4E2D
irbs.defaultManager.enums.DefaultProcessStatus.COMPLETED_PASS=\u901A\u8FC7
irbs.defaultManager.enums.DefaultProcessStatus.COMPLETED_REJECT=\u5426\u51B3
parameter.system.config=\u7CFB\u7EDF\u53C2\u6570\u914D\u7F6E
parameter.system.config.custRating=\u5BA2\u6237\u8BC4\u7EA7\u53C2\u6570
parameter.system.config.custRating.rebirthRating=\u8FDD\u7EA6\u91CD\u751F\u8BC4\u7EA7\u7B56\u7565
parameter.system.config.custRating.admittance=\u8FDD\u7EA6\u91CD\u751F\u51C6\u5165\u8BC4\u7EA7
parameter.irbs.params.default.rebirthRating=\u8FDD\u7EA6\u91CD\u751F\u8BC4\u7EA7\u7B56\u7565
parameter.irbs.params.default.admittance=\u8FDD\u7EA6\u91CD\u751F\u51C6\u5165\u8BC4\u7EA7
parameter.irbs.params.default.admittancePd=\u51C6\u5165\u8BC4\u7EA7PD

28
irbs.riskExposure/src/main/java/irbs/riskExposure/service/impl/RiskExposureBatchServiceImpl.java

@ -1,6 +1,7 @@
package irbs.riskExposure.service.impl;
import io.sc.platform.core.util.StringUtil;
import io.sc.platform.jdbc.DatabaseType;
import io.sc.platform.orm.api.enums.DataComeFrom;
import io.sc.platform.scheduler.core.JobHandler;
import io.sc.platform.scheduler.core.vo.Task;
@ -17,9 +18,11 @@ import irbs.riskExposure.service.RiskExposureRuleService;
import irbs.riskExposure.service.support.ParamRuleDtl;
import irbs.riskExposure.service.support.ParamRuleMain;
import irbs.riskExposure.utils.DateUtil;
import irbs.riskExposure.utils.RptSqlFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.object.BatchSqlUpdate;
import org.springframework.jdbc.support.MetaDataAccessException;
import org.springframework.stereotype.Service;
import javax.sql.DataSource;
@ -39,6 +42,8 @@ public class RiskExposureBatchServiceImpl implements RiskExposureBatchService, J
private JdbcTemplate jdbcTemplate;
@Autowired
private RiskExposureTmpRepository riskExposureTmpRepository;
@Autowired
private DataSource dataSource;
private List<ParamRuleMain> expoRuleMainList = null;
private Map<String, List<ParamRuleDtl>> expoRuleDtlMap = null;
@ -50,10 +55,31 @@ public class RiskExposureBatchServiceImpl implements RiskExposureBatchService, J
@Override
public void exec() throws Exception{
cacheRule();
insertAutoRiskExposureDebt();
recogRiskExposure();
saveRiskExposureResult();
}
/**
* 插入自动风险暴露分类的基础债项数据
* @throws Exception
*/
private void insertAutoRiskExposureDebt() throws Exception {
DatabaseType type = DatabaseType.fromMetaData(dataSource);
String sql = "select sql_text from ns_r_cfg_rpt_sql where report_id='insertRiskExposureAutoData' and database_type='" + type + "'";
Map<String, Object> map = jdbcTemplate.queryForMap(sql);
if(map != null && map.get("SQL_TEXT") != null){
sql = String.valueOf(map.get("SQL_TEXT"));
Map<String, String> params = new HashMap<>();
params.put("DATA_DT", DateUtil.getLastMonthEndString());
sql = RptSqlFormat.format(sql, params);
//先删除相同数据日期的债项数据,避免任务重跑引起数据重复
jdbcTemplate.execute("delete from P_IRS_RISK_EXPOSURE_DEBT where DATA_DT='" + DateUtil.getLastMonthEndString() + "'");
//执行插入语句
jdbcTemplate.execute(sql);
}
}
/**
* 保存风险暴露分类结果
*/
@ -65,7 +91,7 @@ public class RiskExposureBatchServiceImpl implements RiskExposureBatchService, J
private void recogRiskExposure() {
List<RiskExposureDebt> debts = riskExposureDebtService.findLastMonthData();
if(debts != null){
if(debts != null && debts.size() > 0){
//删除风险暴露分类结果临时表中的数据
jdbcTemplate.execute("delete from P_IRS_RISK_EXPOSURE_TMP");
String sql = "insert into P_IRS_RISK_EXPOSURE_TMP(ID,BUSINESS_NO,PRODUCT_TYPE,CUST_NO,CUST_NAME,START_WAY,IS_NEED_OPERATE,ADJUST_END_DATE,FINISH_DATE,SYS_RESULT,MANAGER_NAME,MGER_ORG_NM,CUST_TYPE,DATA_COME_FROM_,CREATOR_,CREATE_DATE_,LAST_MODIFIER_,LAST_MODIFYDATE_,CORP_CODE_) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

36
irbs.riskExposure/src/main/java/irbs/riskExposure/utils/RptSqlFormat.java

@ -0,0 +1,36 @@
package irbs.riskExposure.utils;
import io.sc.platform.core.util.StringUtil;
import java.util.Map;
public class RptSqlFormat {
public static String format(String sql, Map<String, String> params){
if(params != null) {
for(String p : params.keySet()){
if(StringUtil.isNullOrEmpty(params.get(p))){
sql = replace(sql, p);
continue;
}
String c = "#" + p;
sql = sql.replaceAll(c, params.get(p));
if(!StringUtil.isNullOrEmpty(params.get(p)) && sql.indexOf("<" + p + ">") != -1){
sql = sql.replaceAll("<" + p + ">", "").replaceAll("</" + p + ">", "");
}
}
}
return sql;
}
public static String replace(String sql, String code){
if(sql.indexOf("<"+code+">") == -1){
return sql;
}
sql = sql.substring(0, sql.indexOf("<"+code+">")) + sql.substring(sql.indexOf("</"+code+">")+code.length()+4);
if(sql.indexOf("<"+code+">") != -1){
sql = replace(sql, code);
}
return sql;
}
}
Loading…
Cancel
Save