From b8d2b4296e33d5a3bdab50cd774ddb9763197e12 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Thu, 31 Mar 2022 21:39:00 +0800 Subject: [PATCH 01/44] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=88=B0maven=E4=BB=93?= =?UTF-8?q?=E5=BA=93=20=E8=A1=A8=E5=90=8D=E5=A4=A7=E5=B0=8F=E5=86=99?= =?UTF-8?q?=E5=8F=AF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 13 ++-- pom.xml | 65 ++++++------------- .../dalgen/mybatis/gen/model/java/Base.java | 3 + .../templates/dalgen/ResultMap.java.ftl | 2 +- .../dalgen/templates/dalgen/XMLMapper.xml.ftl | 2 +- 5 files changed, 31 insertions(+), 54 deletions(-) diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index 8b58fda..14bd4b8 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -18,7 +18,8 @@ - + + @@ -52,18 +53,16 @@ - - + - + - + - + - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 44f8f89..10a37ae 100644 --- a/pom.xml +++ b/pom.xml @@ -9,16 +9,17 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.1.4 + 2.2.2 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list 2017 - org.sonatype.oss - oss-parent - 7 + org.springframework.boot + spring-boot-starter-parent + 1.5.8.RELEASE + @@ -49,12 +50,15 @@ - releases - https://oss.sonatype.org/service/local/staging/deploy/maven2/ + maven-releases + maven-releases + http://maven.abssqr.cn:8081/nexus/content/repositories/maven-releases/ + - snapshots - https://oss.sonatype.org/content/repositories/snapshots/ + maven-snapshots + maven-snapshots + http://maven.abssqr.cn:8081/nexus/content/repositories/maven-snapshots/ @@ -118,7 +122,7 @@ mysql mysql-connector-java - 5.1.33 + 5.1.47 @@ -137,21 +141,16 @@ 1.10.19 test + + com.oracle + ojdbc8 + 8.0 + provided + - - - - - - - - - - - maven-antrun-plugin @@ -190,30 +189,6 @@ 1.7 - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - cn.dalgen.plugins - mybatis-maven-plugin - 1.2.4.0 - - srcTmp - false - dalgen/template - - @@ -228,4 +203,4 @@ --> - + \ No newline at end of file diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/Base.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/Base.java index abebee4..172d0fe 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/Base.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/Base.java @@ -101,6 +101,9 @@ public class Base { * @param importClass the import class */ public void addImport(String importClass) { + if(importClass.startsWith("java.lang")){ + return; + } String _importClass = importClass; String __importClass; if (importClass.indexOf("<") > 0 && importClass.indexOf(".") > 0) { diff --git a/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl b/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl index 74e5255..1d6884f 100644 --- a/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl @@ -11,7 +11,7 @@ import ${import}; <@lib.importByResultMap daos=dalgen.daos resultMap=resultMap/> <#assign extend = ""> <#list dalgen.dos as DO> - <#if DO.tableName == resultMap.tableName?upper_case && resultMap.extend == "base"> + <#if DO.tableName?upper_case == resultMap.tableName?upper_case && resultMap.extend == "base"> <#assign extend = "extends "+DO.className> import ${DO.packageName}.${DO.className}; diff --git a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl index 1546797..6d43b20 100644 --- a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl +++ b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl @@ -26,7 +26,7 @@ <#list resultMap.columnList as column> - <#if column.sqlName?upper_case =="ID"><#else> + <#if column.sqlName?upper_case =="ID"><#else> <#list resultMap.associations as association> -- Gitee From 642a5da4857d8a77022f6f6a1d2641bc29b103e4 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Mon, 18 Apr 2022 17:51:35 +0800 Subject: [PATCH 02/44] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=88=B0maven=E4=BB=93?= =?UTF-8?q?=E5=BA=93=20=E8=A1=A8=E5=90=8D=E5=A4=A7=E5=B0=8F=E5=86=99?= =?UTF-8?q?=E5=8F=AF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 13 +++++++------ pom.xml | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index 14bd4b8..8b58fda 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -18,8 +18,7 @@ - - + @@ -53,16 +52,18 @@ - + + - + - + - + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 10a37ae..fba87eb 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.2 + 2.2.3 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list -- Gitee From 6e4992ddaa553df39b687cc0be80a93dd04b4822 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Mon, 18 Apr 2022 18:25:30 +0800 Subject: [PATCH 03/44] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=88=B0maven=E4=BB=93?= =?UTF-8?q?=E5=BA=93=20=E8=A1=A8=E5=90=8D=E5=A4=A7=E5=B0=8F=E5=86=99?= =?UTF-8?q?=E5=8F=AF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRU/config/config.yml | 32 ++++++++++++++++++++++++++++++++ CRU/data/iteration3.csv | Bin 0 -> 1906 bytes 2 files changed, 32 insertions(+) create mode 100644 CRU/config/config.yml create mode 100644 CRU/data/iteration3.csv diff --git a/CRU/config/config.yml b/CRU/config/config.yml new file mode 100644 index 0000000..067a96a --- /dev/null +++ b/CRU/config/config.yml @@ -0,0 +1,32 @@ +allReviewProjects: +- iteration1 +- iteration2 +curReviewProject: iteration3 +developers: +- admin +- developer1 +- developer2 +fixReView: +- '----' +- 已解决 +- 未解决 +fixResult: +- '----' +- 拒绝 +- 已修复 +- 待修复 +questionType: +- '----' +- 问题 +- 建议 +- 疑问 +severityLevel: +- '----' +- 提示 +- 一般 +- 严重 +triggerFactor: +- '----' +- 编码基础类 +- 业务功能类 +- 安全可靠类 diff --git a/CRU/data/iteration3.csv b/CRU/data/iteration3.csv new file mode 100644 index 0000000000000000000000000000000000000000..efa278e53274411a132f0e5cc025e01d2a0f58bf GIT binary patch literal 1906 zcmb7EUr*Ce6yGz6-{FR*Es?G5z1`Xx5@nMF6Vycf0C(-((xq#mw?h^$2|frRNHCa) z4}u~l_~POp#Dr=1GV3W6z|i zdwJ@)SodZyCG$?nNd|sQl$e-iF|b(4Tc!?h-0HXi_gB18F_%Skvt%8+U=~Lmop&6IU>le;>nv8g6>;wv zqtqy{DZct1A$*b`iBkgqAs{N6AZxPB_zDq6f+~w@8mf{26*M;D0s02^Fm)=fPG~AO z!wa`LE~aD8awa%DAqkSgAmk(j%PfHS6VEm6;#1GGXb0_%A$laqQUzOdu4p?h$#O2^ zljSO1vL+lA^Pi6;^X@ci154~)EiSy|3Cmx&8X10TUO zu*owp%(F{Ff025xPaZgUQm3?@IX<#xe$fUBT?NFVCZEW3xl<6-woRQWZ4SYM3fQuI4P Date: Tue, 19 Apr 2022 11:39:22 +0800 Subject: [PATCH 04/44] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../mybatis/gen/model/java/ResultMap.java | 7 ++ src/main/resources/dalgen/config/config.xml | 1 + .../dalgen/configTables/MTYF_COMMON.xml | 65 +++++++++++++++++++ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 5 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/dalgen/configTables/MTYF_COMMON.xml diff --git a/pom.xml b/pom.xml index fba87eb..7c7710e 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.3 + 2.2.4 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java index aa352f8..26eec5c 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java @@ -5,6 +5,7 @@ import java.util.List; import cn.dalgen.mybatis.gen.model.config.CfAssociation; import cn.dalgen.mybatis.gen.model.config.CfCollection; import cn.dalgen.mybatis.gen.model.dbtable.Column; +import cn.dalgen.mybatis.gen.utils.ConfigUtil; import com.google.common.collect.Lists; import com.google.common.collect.Ordering; import com.google.common.primitives.Ints; @@ -74,6 +75,7 @@ public class ResultMap extends DO { this.type = type; } + public static final List loanTypes = Lists.newArrayList("LONGVARBINARY","LONGVARCHAR"); /** * Gets column list. * @@ -84,6 +86,11 @@ public class ResultMap extends DO { Ordering typeOrdering = new Ordering() { @Override public int compare(Column left, Column right) { + if(loanTypes.contains(left.getSqlType()) + && StringUtils.startsWith(ConfigUtil.getConfig().getExtParam("mybatis.version"),"1") + ){ + return -2; + } if (StringUtils.equalsIgnoreCase(left.getSqlName(), "ID")) { return -1; } diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 8aa55c4..c1ee3fd 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -110,5 +110,6 @@ + diff --git a/src/main/resources/dalgen/configTables/MTYF_COMMON.xml b/src/main/resources/dalgen/configTables/MTYF_COMMON.xml new file mode 100644 index 0000000..e26d1a1 --- /dev/null +++ b/src/main/resources/dalgen/configTables/MTYF_COMMON.xml @@ -0,0 +1,65 @@ + + + + ID,LOAN_ID,LOAN_STATUS,ORG_NO,ABS_SYNC_DATE, + ABS_STATUS,PRODUCT_ID,PRODUCT_NAME,NEXT_EXEC_TIME,GROUP_ID,gmt_modified + + + + + INSERT INTO ORG_ABS_MFS_BILL_CTR () + SELECT + SEQ_ORG_ABS_MFS_BILL_CTR.nextval as ID + ,loan_id + ,status LOAN_STATUS + ,#{orgCode,jdbcType=VARCHAR} ORG_NO + , #{syncDate,jdbcType=DATE} as ABS_SYNC_DATE + ,'init' as ABS_STATUS + ,product_no||'-'||loan_type PRODUCT_ID + ,'消费贷' + , #{syncDate,jdbcType=DATE} as NEXT_EXEC_TIME + ,trunc(dbms_random.value(0,120)) + ,sysdate + FROM + MTYF_BANK_LOAN_INIT + WHERE + proj_no in + + #{projNo,jdbcType=VARCHAR} + + + + + + + + + + select + HIGH_VALUE PARTITION_VALUE + ,PARTITION_NAME + from + USER_TAB_PARTITIONS + where + TABLE_NAME = #{tableName,jdbcType=VARCHAR} + order by PARTITION_NAME + + + + + + + + ALTER TABLE ${tableName} TRUNCATE PARTITION ${partitionName} update global indexes + + + + select + COLUMN_NAME + from + user_tab_columns + where + TABLE_NAME = #{tableName,jdbcType=VARCHAR} + ORDER BY COLUMN_ID + +
diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index 040ae58..f587d36 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("ABS_PLAN_CAPITAL_ORDER"); + ConfigUtil.setCmd("MTYF_COMMON"); } catch (IOException e) { LOG.error(e); } -- Gitee From f38111d0ca38320188d15101741fc8ea1d9c65f9 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 19 Apr 2022 13:43:33 +0800 Subject: [PATCH 05/44] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/dalgen/mybatis/gen/model/java/DO.java | 17 ------- .../mybatis/gen/model/java/ResultMap.java | 48 ++++++++++--------- src/main/resources/dalgen/config/config.xml | 1 - 3 files changed, 25 insertions(+), 41 deletions(-) diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/DO.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/DO.java index d15d4bd..2918bcb 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/DO.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/DO.java @@ -27,23 +27,6 @@ public class DO extends Base{ * @return the fieldses */ public List getFieldses() { - //对params进行排序 - //Ordering typeOrdering = new Ordering() { - // @Override - // public int compare(Filelds left, Filelds right) { - // if(StringUtils.equalsIgnoreCase(left.getName(), "id")){ - // return -1; - // } - // int cr = compare(left.getJavaType(), right.getJavaType()); - // return cr == 0 ? compare(left.getName(), right.getName()) : cr; - // } - // - // private int compare(String left, String right) { - // int cr = Ints.compare(left.length(), right.length()); - // return cr == 0 ? left.compareTo(right) : cr; - // } - // - //}; return fieldses; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java index 26eec5c..80ce599 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/ResultMap.java @@ -82,29 +82,31 @@ public class ResultMap extends DO { * @return the column list */ public List getColumnList() { - //对params进行排序 - Ordering typeOrdering = new Ordering() { - @Override - public int compare(Column left, Column right) { - if(loanTypes.contains(left.getSqlType()) - && StringUtils.startsWith(ConfigUtil.getConfig().getExtParam("mybatis.version"),"1") - ){ - return -2; - } - if (StringUtils.equalsIgnoreCase(left.getSqlName(), "ID")) { - return -1; - } - int cr = compare(left.getJavaType(), right.getJavaType()); - return cr == 0 ? compare(left.getJavaName(), right.getJavaName()) : cr; - } - - private int compare(String left, String right) { - int cr = Ints.compare(left.length(), right.length()); - return cr == 0 ? left.compareTo(right) : cr; - } - - }; - return typeOrdering.sortedCopy(columnList); + ////对params进行排序 + //Ordering typeOrdering = new Ordering() { + // @Override + // public int compare(Column left, Column right) { + // if(loanTypes.contains(right.getSqlType()) + // && StringUtils.startsWith(ConfigUtil.getConfig().getExtParam("mybatis.version"),"1") + // ){ + // return -1; + // } + // if (StringUtils.equalsIgnoreCase(right.getSqlName(), "ID")) { + // return -1; + // } + // int cr = compare(left.getJavaType(), right.getJavaType()); + // return cr == 0 ? compare(left.getJavaName(), right.getJavaName()) : cr; + // } + // + // private int compare(String left, String right) { + // int cr = Ints.compare(left.length(), right.length()); + // return cr == 0 ? left.compareTo(right) : cr; + // } + // + //}; + // + //List columns = typeOrdering.sortedCopy(columnList); + return columnList; } /** diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index c1ee3fd..8aa55c4 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -110,6 +110,5 @@ - -- Gitee From 5b9d1cb34dcdd0a7d51c2d115d855cc7f288691f Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 6 Sep 2022 13:51:20 +0800 Subject: [PATCH 06/44] =?UTF-8?q?mysql=20=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 2 +- pom.xml | 4 +- .../mybatis/gen/dataloaders/DalgenLoader.java | 17 +- .../gen/datasources/DBConnectionFactory.java | 1 + .../gen/datasources/JdbcConnectionDriver.java | 19 ++- .../mybatis/gen/enums/MultiplicityEnum.java | 4 + .../dalgen/mybatis/gen/enums/TypeMapEnum.java | 4 + .../mybatis/gen/model/config/CfOperation.java | 4 +- .../model/repository/CfTableRepository.java | 1 + .../gen/model/repository/TableRepository.java | 38 +++-- .../repository/db/JDBCTableRepository.java | 13 +- src/main/resources/dalgen/config/config.xml | 19 ++- .../dalgen/config/table-config-1.0.dtd | 3 +- .../configTables/ABS_PLAN_CAPITAL_ORDER.xml | 35 ---- .../dalgen/configTables/MTYF_COMMON.xml | 65 -------- .../dalgen/configTables/SIMU_PROD_ATTR.xml | 155 ++++++++++++++++++ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 17 files changed, 249 insertions(+), 137 deletions(-) delete mode 100644 src/main/resources/dalgen/configTables/ABS_PLAN_CAPITAL_ORDER.xml delete mode 100644 src/main/resources/dalgen/configTables/MTYF_COMMON.xml create mode 100644 src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index 8b58fda..07a5319 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -64,6 +64,6 @@ - + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 7c7710e..78a9eaf 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.4 + 2.2.6 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -143,7 +143,7 @@ com.oracle - ojdbc8 + ojdbc 8.0 provided diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 684f80e..1541543 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -3,6 +3,8 @@ package cn.dalgen.mybatis.gen.dataloaders; import java.io.File; import java.sql.Connection; import java.text.MessageFormat; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -61,6 +63,11 @@ public class DalgenLoader extends AbstractDalgenLoader { * The constant RESULT_MANY. */ private static final String RESULT_MANY = "List<{0}>"; + /** + * The constant RESULT_MANY. + */ + private static final String RESULT_CURSOR = "Cursor<{0}>"; + /** * The Table repository. */ @@ -106,10 +113,10 @@ public class DalgenLoader extends AbstractDalgenLoader { } } } + for (Entry elementEntry : xmltableMap.entrySet()) { cfTableMap.put(elementEntry.getKey(), cfTableRepository.gainCfTable(elementEntry.getValue(), cfSqlMap)); } - //存在的模板文件内容 gen.setTmpCfTables(Lists.newArrayList(cfTableMap.values())); @@ -118,7 +125,6 @@ public class DalgenLoader extends AbstractDalgenLoader { Table table = tableRepository.gainTable(connection, tbName, cfTableMap.get(tbName)); gen.addTmpTable(table); } - List needGenTableNames = preNeedGenTableNames(cmd, cfTableMap); //获取需要重新生成的表(为重新生成Mapper.xml,DO,Mapper.java 准备) @@ -807,6 +813,13 @@ public class DalgenLoader extends AbstractDalgenLoader { return MessageFormat.format(RESULT_MANY, resultType); } } + //返回一行 + if (MultiplicityEnum.cursor == operation.getMultiplicity()) { + if(operation.getResultSetType()==ResultSetTypeEnum.DEFAULT) { + base.addImport("org.apache.ibatis.cursor.Cursor"); + return MessageFormat.format(RESULT_CURSOR, resultType); + } + } return resultType; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java b/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java index 5e50fcc..9402531 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java +++ b/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java @@ -1,5 +1,6 @@ package cn.dalgen.mybatis.gen.datasources; +import java.net.ProxySelector; import java.sql.Connection; import cn.dalgen.mybatis.gen.utils.ConfigUtil; diff --git a/src/main/java/cn/dalgen/mybatis/gen/datasources/JdbcConnectionDriver.java b/src/main/java/cn/dalgen/mybatis/gen/datasources/JdbcConnectionDriver.java index 2281e87..dfc69b4 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/datasources/JdbcConnectionDriver.java +++ b/src/main/java/cn/dalgen/mybatis/gen/datasources/JdbcConnectionDriver.java @@ -4,7 +4,12 @@ import cn.dalgen.mybatis.gen.model.db.DataBase; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.logging.SystemStreamLog; -import java.sql.*; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.text.SimpleDateFormat; +import java.util.Date; /** * Created by bangis.wangdf on 15/12/4. Desc @@ -23,7 +28,7 @@ public class JdbcConnectionDriver implements DalgenConnectionDriver { * @return the connection */ @Override - public Connection getConnection(DataBase dataBase) { + public Connection getConnection(DataBase dataBase) { try { Class.forName(dataBase.getDriverClass()); @@ -31,11 +36,19 @@ public class JdbcConnectionDriver implements DalgenConnectionDriver { LOG.info("驱动加载错误"); } try { - + DriverManager.setLogWriter(new PrintWriter(System.out){ + @Override + public void println(String x){ + x = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) + " " + x; + super.println(x); + } + }); return DriverManager.getConnection(dataBase.getPropertyMapVal("url"), dataBase.getPropertyMapVal("userid"), dataBase.getPropertyMapVal("password")); } catch (SQLException e) { LOG.error("获取连接失败", e); + }finally { + LOG.info("connection "+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()) ); } return null; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/enums/MultiplicityEnum.java b/src/main/java/cn/dalgen/mybatis/gen/enums/MultiplicityEnum.java index 49ece81..cc15486 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/enums/MultiplicityEnum.java +++ b/src/main/java/cn/dalgen/mybatis/gen/enums/MultiplicityEnum.java @@ -14,6 +14,10 @@ public enum MultiplicityEnum { * Many multiplicity enum. */ many("many"), + /** + * Many multiplicity enum. + */ + cursor("cursor"), /** * Paging multiplicity enum. */ diff --git a/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java b/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java index 6144fcb..8aa1692 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java +++ b/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java @@ -30,6 +30,10 @@ public enum TypeMapEnum { * Longvarchar type map enum. */ LONGVARCHAR("LONGVARCHAR", "String"), + /** + * Longvarchar type map enum. + */ + LONGTEXT("LONGTEXT", "String"), /** * Longvarchar type map enum. */ diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java index d2c8259..0c177f0 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java @@ -527,9 +527,7 @@ public class CfOperation { public void validate() { //流式读取校验 - if (this.getResultSetType() != ResultSetTypeEnum.DEFAULT) { - Validate.isTrue(this.getMultiplicity() == MultiplicityEnum.many, - "流式读取数据要求返回结果必须是many"); + if (this.getMultiplicity() == MultiplicityEnum.cursor) { Validate.isTrue(StringUtils.equals(this.getKvMap(), "false"), "流式读取数据不能返回KV"); Validate.isTrue(this.getMultiplicity() != MultiplicityEnum.paging, "流式读取数据不能是分页"); } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java index 24ec382..6304c08 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java @@ -650,6 +650,7 @@ public class CfTableRepository { cfColumn.setName(attr(e, "name")); cfColumn.setJavatype(attr(e, "javatype")); cfColumn.setTestVal(attr(e, "testVal")); + cfColumn.setSqlType(attr(e,"jdbctype")); cfColumn.setTypeHandler(attr(e, "typeHandler")); cfColumn.setRelatedColumn(attr(e, "relatedColumn")); cfTable.addColumn(cfColumn); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java index e297205..98d499b 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java @@ -32,24 +32,28 @@ public class TableRepository { */ public Table gainTable(Connection connection, String tableName, CfTable cfTable) throws SQLException { - - if (cfTable == null || !StringUtils.equalsIgnoreCase(cfTable.getPhysicalName(), "dual")) { - if (StringUtils.equalsIgnoreCase(ConfigUtil.getCurrentDb().getType(), "mysql")) { - JDBCTableRepository tableRepository = new JDBCTableRepository(); - return tableRepository.gainTable(connection, tableName, cfTable); - }else { - JDBCTableRepository tableRepository = new JDBCTableRepository(); - return tableRepository.gainTable(connection, tableName, cfTable); + long start =System.currentTimeMillis(); + try { + if (cfTable == null || !StringUtils.equalsIgnoreCase(cfTable.getPhysicalName(), "dual")) { + if (StringUtils.equalsIgnoreCase(ConfigUtil.getCurrentDb().getType(), "mysql")) { + JDBCTableRepository tableRepository = new JDBCTableRepository(); + return tableRepository.gainTable(connection, tableName, cfTable); + } else { + JDBCTableRepository tableRepository = new JDBCTableRepository(); + return tableRepository.gainTable(connection, tableName, cfTable); + } + } else { + Table table = new Table(); + String physicalName = cfTable == null ? tableName : cfTable.getPhysicalName(); + table.setSqlName(tableName); + table.setPhysicalName(physicalName); + table.setRemark(tableName); + table.setJavaName(CamelCaseUtils.toCapitalizeCamelCase(tableName)); + return table; } - } else { - Table table = new Table(); - String physicalName = cfTable == null ? tableName : cfTable.getPhysicalName(); - table.setSqlName(tableName); - table.setPhysicalName(physicalName); - table.setRemark(tableName); - table.setJavaName(CamelCaseUtils.toCapitalizeCamelCase(tableName)); - return table; + }finally { + long end = System.currentTimeMillis()-start; + //System.out.println(tableName+" query "+end); } - } } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java index 514fcd0..b6642aa 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java @@ -309,8 +309,8 @@ public class JDBCTableRepository { } Column column = new Column(); column.setSqlName(upperLowerName(dbColumnMap.get("COLUMN_NAME"))); - column.setSqlType(TypeMapEnum.getByJdbcTypeWithOther(dbColumnMap.get("DATA_TYPE")).getJdbcType()); column.setMySqlType(dbColumnMap.get("DATA_TYPE")); + column.setSqlType(getSqlType(column,cfColumns,TypeMapEnum.getByJdbcTypeWithOther(dbColumnMap.get("DATA_TYPE")).getJdbcType())); column.setDefaultValue(dbColumnMap.get("COLUMN_DEFAULT")); column.setJavaName(CamelCaseUtils.toCamelCase(column.getSqlName())); column.setTestVal(getTestVal(column, cfColumns)); @@ -328,6 +328,7 @@ public class JDBCTableRepository { } } + private String getTypeHandler(Column column, List cfColumns) { if (cfColumns != null && cfColumns.size() > 0) { for (CfColumn cfColumn : cfColumns) { @@ -350,6 +351,16 @@ public class JDBCTableRepository { return null; } + private String getSqlType( Column column, List cfColumns,String jdbcType) { + if (cfColumns != null && cfColumns.size() > 0) { + for (CfColumn cfColumn : cfColumns) { + if (StringUtils.equalsIgnoreCase(column.getSqlName(), cfColumn.getName())) { + return cfColumn.getSqlType(); + } + } + } + return jdbcType; + } /** * Gets java type. * diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 8aa55c4..15f5788 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -29,15 +29,22 @@ - - - - - - + + + + + + + + + + + + + diff --git a/src/main/resources/dalgen/config/table-config-1.0.dtd b/src/main/resources/dalgen/config/table-config-1.0.dtd index b07fadf..b960ea3 100755 --- a/src/main/resources/dalgen/config/table-config-1.0.dtd +++ b/src/main/resources/dalgen/config/table-config-1.0.dtd @@ -127,6 +127,7 @@ customParamClass 根据字段类型生成 multiplicity one 返回对象, many 返回list + cursor 流式查询 paging 返回分页 pagingCntType paging 默认 optimize @@ -152,7 +153,7 @@ - - - - select - /*+ - index(la UK_ABS_LOAN_1) - index(ala ABS_LOAN_AST_IDX) - index(li IDX_LOAN_INSTAL_AST_NO) - */ - sf.ID as DT_ID - ,sf.AST_NO - ,sf.MANAGER_ORG_CODE - ,ala.TERM_NO MAX_TERM_NO - ,li.START_DATE - ,li.END_DATE - ,sf.CONTEXT as CONTEXT - ,sf.SLICE - ,la.RISK_CL - ,la.lender_org_code - ,la.STATUS - ,la.PROD_NO - ,ala.prin_bal PRIN_BAL - ,ala.TERM_NO MIN_TERM_NO - ,la.term_cnt as term_cnt - ,la.max_ovd_days - from ABS_AST_POOL sf - LEFT JOIN abs_loan la ON sf.ast_no = la.ast_no - LEFT JOIN ABS_LOAN_AST ala ON sf.ast_no = ala.ast_no - LEFT JOIN ABS_LOAN_INSTAL li ON ala.ast_no=li.ast_no and ala.TERM_NO=li.TERM_NO - where - AND ala.AST_STATUS = 'nor' - order by li.END_DATE desc,li.AST_NO,li.TERM_NO - -
diff --git a/src/main/resources/dalgen/configTables/MTYF_COMMON.xml b/src/main/resources/dalgen/configTables/MTYF_COMMON.xml deleted file mode 100644 index e26d1a1..0000000 --- a/src/main/resources/dalgen/configTables/MTYF_COMMON.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - ID,LOAN_ID,LOAN_STATUS,ORG_NO,ABS_SYNC_DATE, - ABS_STATUS,PRODUCT_ID,PRODUCT_NAME,NEXT_EXEC_TIME,GROUP_ID,gmt_modified - - - - - INSERT INTO ORG_ABS_MFS_BILL_CTR () - SELECT - SEQ_ORG_ABS_MFS_BILL_CTR.nextval as ID - ,loan_id - ,status LOAN_STATUS - ,#{orgCode,jdbcType=VARCHAR} ORG_NO - , #{syncDate,jdbcType=DATE} as ABS_SYNC_DATE - ,'init' as ABS_STATUS - ,product_no||'-'||loan_type PRODUCT_ID - ,'消费贷' - , #{syncDate,jdbcType=DATE} as NEXT_EXEC_TIME - ,trunc(dbms_random.value(0,120)) - ,sysdate - FROM - MTYF_BANK_LOAN_INIT - WHERE - proj_no in - - #{projNo,jdbcType=VARCHAR} - - - - - - - - - - select - HIGH_VALUE PARTITION_VALUE - ,PARTITION_NAME - from - USER_TAB_PARTITIONS - where - TABLE_NAME = #{tableName,jdbcType=VARCHAR} - order by PARTITION_NAME - - - - - - - - ALTER TABLE ${tableName} TRUNCATE PARTITION ${partitionName} update global indexes - - - - select - COLUMN_NAME - from - user_tab_columns - where - TABLE_NAME = #{tableName,jdbcType=VARCHAR} - ORDER BY COLUMN_ID - -
diff --git a/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml b/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml new file mode 100644 index 0000000..e369757 --- /dev/null +++ b/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + ID,OVERDUE_STAT,ASSET_CLASS_DEF,OVERDUE_REPAY_STAT,REDEPTION_ALL_STAT + ,REDEMPTION_TERM_STAT,CREATOR,MODIFIER,PROD_CODE,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.ID,sf.OVERDUE_STAT,sf.ASSET_CLASS_DEF,sf.OVERDUE_REPAY_STAT,sf.REDEPTION_ALL_STAT + ,sf.REDEMPTION_TERM_STAT,sf.CREATOR,sf.MODIFIER,sf.PROD_CODE,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + INSERT INTO SIMU_PROD_ATTR( + ID + ,OVERDUE_STAT + ,ASSET_CLASS_DEF + ,OVERDUE_REPAY_STAT + ,REDEPTION_ALL_STAT + ,REDEMPTION_TERM_STAT + ,CREATOR + ,MODIFIER + ,PROD_CODE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + + ( + null + , #{item.overdueStat,jdbcType=OTHER} + , #{item.assetClassDef,jdbcType=OTHER} + , #{item.overdueRepayStat,jdbcType=OTHER} + , #{item.redeptionAllStat,jdbcType=OTHER} + , #{item.redemptionTermStat,jdbcType=OTHER} + , #{item.creator,jdbcType=VARCHAR} + , #{item.modifier,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , now() + , now() + ) + + + + + + + + + + SELECT * + FROM SIMU_PROD_ATTR + WHERE + + + + + + + + + + + + + + SELECT * + FROM SIMU_PROD_ATTR + WHERE + + + +
diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index f587d36..3cab087 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("MTYF_COMMON"); + ConfigUtil.setCmd("SIMU_PROD_ATTR"); } catch (IOException e) { LOG.error(e); } -- Gitee From b2c3ab4ecfa5133bbcb3bb76ef1041bbc675e1fc Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 7 Sep 2022 18:15:07 +0800 Subject: [PATCH 07/44] =?UTF-8?q?oracle=20=E6=8F=90=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 4 + pom.xml | 5 + .../db/database/DataBaseInfoHandler.java | 18 +- .../database/OracleDataBaseInfoService.java | 44 +++-- .../database/proxy/InvocationHandlerImpl.java | 46 ++++++ src/main/resources/dalgen/config/config.xml | 26 +-- .../dalgen/configTables/SIMU_PROD_ATTR.xml | 155 ------------------ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 8 files changed, 111 insertions(+), 189 deletions(-) create mode 100644 src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java delete mode 100644 src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index 07a5319..c8c1a01 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -65,5 +65,9 @@ + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 78a9eaf..31f177a 100644 --- a/pom.xml +++ b/pom.xml @@ -147,6 +147,11 @@ 8.0 provided + + cn.hutool + hutool-db + 5.8.6 + diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java index a69b2dd..8eb15b7 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java @@ -4,9 +4,12 @@ */ package cn.dalgen.mybatis.gen.model.repository.db.database; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Proxy; import java.util.HashMap; import java.util.Map; +import cn.dalgen.mybatis.gen.model.repository.db.database.proxy.InvocationHandlerImpl; import cn.dalgen.mybatis.gen.utils.ConfigUtil; import org.apache.commons.lang.StringUtils; @@ -19,8 +22,19 @@ public class DataBaseInfoHandler { private static Map dataBaseInfoServiceMap = new HashMap<>(); static { - dataBaseInfoServiceMap.put("mysql", new MySqlDataBaseInfoService()); - dataBaseInfoServiceMap.put("oracle", new OracleDataBaseInfoService()); + proxy("mysql",new MySqlDataBaseInfoService()); + proxy("oracle",new OracleDataBaseInfoService()); + } + + private static void proxy(String key,DataBaseInfoService dataBaseInfoService) { + InvocationHandler handler = new InvocationHandlerImpl(dataBaseInfoService); + ClassLoader loader = dataBaseInfoService.getClass().getClassLoader(); + Class[] interfaces = dataBaseInfoService.getClass().getInterfaces(); + /** + * 该方法用于为指定类装载器、一组接口及调用处理器生成动态代理类实例 + */ + DataBaseInfoService subject = (DataBaseInfoService) Proxy.newProxyInstance(loader, interfaces, handler); + dataBaseInfoServiceMap.put(key, subject); } public static DataBaseInfoService getDataBaseInfoService() { diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java index c2c5949..234389b 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java @@ -31,28 +31,36 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { private static final String TABLE_COMMENT = "SELECT TABLE_NAME,TABLE_TYPE,COMMENTS as TABLE_COMMENT from USER_TAB_COMMENTS "; - private Map>> tableCloumnsCacheMap = Maps.newHashMap(); + private static Map>> tableCloumnsCacheMap = Maps.newHashMap(); private static final String TABLE_CLOUMNS = - "select t.TABLE_NAME,t.COLUMN_NAME,t.DATA_TYPE,t.COLUMN_ID as ORDINAL_POSITION,t" - + ".DATA_DEFAULT as COLUMN_DEFAULT,c.comments as COLUMN_COMMENT ,t.DATA_LENGTH as C_LENGTH,t" - + ".DATA_PRECISION as C_PRECISION,t.DATA_SCALE as C_SCALE " - + "from user_tab_columns t " - + "left join user_col_comments c on t.table_name = c.table_name and t.column_name = c.column_name " - + "order by t.TABLE_NAME,t.COLUMN_ID asc"; + "select t.TABLE_NAME,\n" + + " t.COLUMN_NAME,\n" + + " t.DATA_TYPE,\n" + + " t.COLUMN_ID as ORDINAL_POSITION,\n" + + " t.DATA_DEFAULT as COLUMN_DEFAULT,\n" + + " c.comments as COLUMN_COMMENT,\n" + + " t.DATA_LENGTH as C_LENGTH,\n" + + " t.DATA_PRECISION as C_PRECISION,\n" + + " t.DATA_SCALE as C_SCALE\n" + + "from user_tab_columns t\n" + + " left join user_col_comments c on t.table_name = c.table_name and t.column_name = c" + + ".column_name\n" + + "where t.TABLE_NAME='${tableName}'\n" + + "order by t.TABLE_NAME, t.COLUMN_ID asc"; - - private Map> tablePrimaryKeyCacheMap = Maps.newHashMap(); + private static Map> tablePrimaryKeyCacheMap = Maps.newHashMap(); public static final String TABLE_PRIMARY_KEY = "SELECT au.table_name ,uc.column_name,au.index_name as PK_NAME FROM user_cons_columns uc JOIN " + "user_constraints au ON uc.constraint_name=au.constraint_name WHERE au.constraint_type='P' AND au" + ".table_name not like 'BIN%' order by au.table_name"; - private Map> tableUKCacheMap = Maps.newHashMap(); - private Map> tableIdxCacheMap = Maps.newHashMap(); + private static Map> tableUKCacheMap = Maps.newHashMap(); + private static Map> tableIdxCacheMap = Maps.newHashMap(); public static final String TABLE_INDEX = - "SELECT ui.table_name,ui.INDEX_NAME,uc.COLUMN_NAME,uc.COLUMN_POSITION FROM user_indexes ui JOIN user_ind_columns uc ON uc" + "SELECT ui.table_name,ui.INDEX_NAME,uc.COLUMN_NAME,uc.COLUMN_POSITION FROM user_indexes ui JOIN " + + "user_ind_columns uc ON uc" + ".table_name=ui.table_name AND uc.index_name=ui.index_name WHERE " + " ui.uniqueness='${uniqueness}' " + " ORDER BY ui.table_name,ui.INDEX_NAME,uc.column_position ASC"; @@ -60,6 +68,7 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { public static void main(String[] args) { System.out.println(TABLE_PRIMARY_KEY); System.out.println(TABLE_INDEX); + System.out.println(TABLE_CLOUMNS); } /** @@ -101,11 +110,11 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { public List> getAllColumnsByTableName(Connection connection, String tableName) throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); - if (MapUtils.isEmpty(tableCloumnsCacheMap)) { + + if (tableCloumnsCacheMap.get(upperCaseTableName) == null) { String sql = currSql(upperCaseTableName, TABLE_CLOUMNS); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql); - while (resultSet.next()) { String _tableName = resultSet.getString("TABLE_NAME"); List> maps = tableCloumnsCacheMap.get(_tableName); @@ -123,7 +132,6 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); maps.add(columnMap); - } statement.close(); } @@ -246,12 +254,12 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { * 构造sql * * @param tableName - * @param tablePrimaryKey + * @param sqlTpl * @return */ - private String currSql(String tableName, String tablePrimaryKey) { + private String currSql(String tableName, String sqlTpl) { String schema = ConfigUtil.getCurrentDb().getPropertyMapVal("schema"); - String sql = StringUtils.replace(tablePrimaryKey, "${tableSchema}", schema); + String sql = StringUtils.replace(sqlTpl, "${tableSchema}", schema); sql = StringUtils.replace(sql, "${tableName}", StringUtils.upperCase(tableName)); return sql; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java new file mode 100644 index 0000000..527491b --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java @@ -0,0 +1,46 @@ +package cn.dalgen.mybatis.gen.model.repository.db.database.proxy; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.util.concurrent.TimeUnit; + +import com.google.common.base.Stopwatch; + +/** + * 调用处理器实现类 + * 每次生成动态代理类对象时都需要指定一个实现了该接口的调用处理器对象 + */ +public class InvocationHandlerImpl implements InvocationHandler { + Stopwatch stopwatch = Stopwatch.createStarted(); + /** + * 这个就是我们要代理的真实对象 + */ + private Object subject; + + /** + * 构造方法,给我们要代理的真实对象赋初值 + * + * @param subject + */ + public InvocationHandlerImpl(Object subject) { + this.subject = subject; + } + + /** + * 该方法负责集中处理动态代理类上的所有方法调用。 + * 调用处理器根据这三个参数进行预处理或分派到委托类实例上反射执行 + * + * @param proxy 代理类实例 + * @param method 被调用的方法对象 + * @param args 调用参数 + * @return + * @throws Throwable + */ + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + stopwatch.reset(); + Object returnValue = method.invoke(subject, args); + // System.out.println(subject.getClass().getName()+"."+method.getName()+":"+stopwatch.elapsed(TimeUnit.SECONDS)); + return returnValue; + } +} \ No newline at end of file diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 15f5788..40ce275 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -29,22 +29,22 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml b/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml deleted file mode 100644 index e369757..0000000 --- a/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - ID,OVERDUE_STAT,ASSET_CLASS_DEF,OVERDUE_REPAY_STAT,REDEPTION_ALL_STAT - ,REDEMPTION_TERM_STAT,CREATOR,MODIFIER,PROD_CODE,GMT_CREATE - ,GMT_MODIFIED - - - - - sf.ID,sf.OVERDUE_STAT,sf.ASSET_CLASS_DEF,sf.OVERDUE_REPAY_STAT,sf.REDEPTION_ALL_STAT - ,sf.REDEMPTION_TERM_STAT,sf.CREATOR,sf.MODIFIER,sf.PROD_CODE,sf.GMT_CREATE - ,sf.GMT_MODIFIED - - - - - - - - - - INSERT INTO SIMU_PROD_ATTR( - ID - ,OVERDUE_STAT - ,ASSET_CLASS_DEF - ,OVERDUE_REPAY_STAT - ,REDEPTION_ALL_STAT - ,REDEMPTION_TERM_STAT - ,CREATOR - ,MODIFIER - ,PROD_CODE - ,GMT_CREATE - ,GMT_MODIFIED - )VALUES - - ( - null - , #{item.overdueStat,jdbcType=OTHER} - , #{item.assetClassDef,jdbcType=OTHER} - , #{item.overdueRepayStat,jdbcType=OTHER} - , #{item.redeptionAllStat,jdbcType=OTHER} - , #{item.redemptionTermStat,jdbcType=OTHER} - , #{item.creator,jdbcType=VARCHAR} - , #{item.modifier,jdbcType=VARCHAR} - , #{item.prodCode,jdbcType=VARCHAR} - , now() - , now() - ) - - - - - - - - - - SELECT * - FROM SIMU_PROD_ATTR - WHERE - - - - - - - - - - - - - - SELECT * - FROM SIMU_PROD_ATTR - WHERE - - - -
diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index 3cab087..a047f37 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("SIMU_PROD_ATTR"); + ConfigUtil.setCmd("ABS_PLAN"); } catch (IOException e) { LOG.error(e); } -- Gitee From 3c89bccd6367cfa4b6e2268781af703f01185e42 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 7 Sep 2022 18:16:37 +0800 Subject: [PATCH 08/44] =?UTF-8?q?oracle=20=E6=8F=90=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 31f177a..aa843cf 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.6 + 2.2.6.1 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -147,11 +147,6 @@ 8.0 provided - - cn.hutool - hutool-db - 5.8.6 - -- Gitee From 8f7bb892ff9b02431ab64180c9f57ae5d98d9dba Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 7 Sep 2022 18:45:52 +0800 Subject: [PATCH 09/44] =?UTF-8?q?oracle=20=E6=8F=90=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 4 - pom.xml | 2 +- .../mybatis/gen/dataloaders/DalgenLoader.java | 4 +- .../gen/dataloaders/DalgenTbLoader.java | 1 + .../dalgen/mybatis/gen/enums/TypeMapEnum.java | 1 - .../database/OracleDataBaseInfoService.java | 6 +- .../dalgen/mybatis/gen/utils/ConfigUtil.java | 29 +- .../dalgen/configTables/ABS_PLAN.xml | 342 ++++++++++++++++++ 8 files changed, 372 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/dalgen/configTables/ABS_PLAN.xml diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index c8c1a01..07a5319 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -65,9 +65,5 @@ - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index aa843cf..77386f4 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.6.1 + 2.2.7 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 1541543..5de597b 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -117,6 +117,8 @@ public class DalgenLoader extends AbstractDalgenLoader { for (Entry elementEntry : xmltableMap.entrySet()) { cfTableMap.put(elementEntry.getKey(), cfTableRepository.gainCfTable(elementEntry.getValue(), cfSqlMap)); } + List needGenTableNames = preNeedGenTableNames(cmd, cfTableMap); + ConfigUtil.setNeedGenTableNames(needGenTableNames); //存在的模板文件内容 gen.setTmpCfTables(Lists.newArrayList(cfTableMap.values())); @@ -125,7 +127,7 @@ public class DalgenLoader extends AbstractDalgenLoader { Table table = tableRepository.gainTable(connection, tbName, cfTableMap.get(tbName)); gen.addTmpTable(table); } - List needGenTableNames = preNeedGenTableNames(cmd, cfTableMap); + //获取需要重新生成的表(为重新生成Mapper.xml,DO,Mapper.java 准备) Map tableMap = Maps.newHashMap(); diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java index a45afea..06f0b4b 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java @@ -64,6 +64,7 @@ public class DalgenTbLoader extends AbstractDalgenLoader { } LOG.info("开始初始化表"+neadInitTables); + ConfigUtil.setNeedGenTableNames(neadInitTables); for (String neadInitTable : neadInitTables) { LOG.info("初始化表:" + neadInitTable); gen.addTable(tableRepository.gainTable(connection, neadInitTable, null)); diff --git a/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java b/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java index 8aa1692..8daced3 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java +++ b/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java @@ -168,7 +168,6 @@ public enum TypeMapEnum { if (type != null) { return type; } - System.out.println(jdbcType +" OTHER"); return OTHER; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java index 234389b..6137de2 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java @@ -46,7 +46,7 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { + "from user_tab_columns t\n" + " left join user_col_comments c on t.table_name = c.table_name and t.column_name = c" + ".column_name\n" - + "where t.TABLE_NAME='${tableName}'\n" + + "where t.TABLE_NAME in(${tableName})\n" + "order by t.TABLE_NAME, t.COLUMN_ID asc"; private static Map> tablePrimaryKeyCacheMap = Maps.newHashMap(); @@ -111,8 +111,8 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); - if (tableCloumnsCacheMap.get(upperCaseTableName) == null) { - String sql = currSql(upperCaseTableName, TABLE_CLOUMNS); + if (MapUtils.isEmpty(tableCloumnsCacheMap)) { + String sql = currSql(ConfigUtil.getNeedGenTableNames(), TABLE_CLOUMNS); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql); while (resultSet.next()) { diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java index e33c852..896dc64 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java @@ -2,10 +2,12 @@ package cn.dalgen.mybatis.gen.utils; import java.io.File; import java.io.IOException; +import java.util.List; import cn.dalgen.mybatis.gen.model.Config; import cn.dalgen.mybatis.gen.model.config.DeleteColumn; import cn.dalgen.mybatis.gen.model.db.DataBase; +import com.google.common.collect.Lists; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.jsoup.Jsoup; @@ -30,9 +32,10 @@ public class ConfigUtil { /** * The constant cmd. */ - private static String cmd = null; + private static String cmd = null; - public static String dalgenPath; + public static String dalgenPath; + public static List needGenTableNames = Lists.newArrayList(); /** * Read config config. @@ -85,13 +88,12 @@ public class ConfigUtil { } } - String genPackage = StringUtils.replace(defaultPackage, "${database.name}", - dataBase.getName()); + dataBase.getName()); dataBase.setGenPackage(genPackage); dataBase.setGenPackagePath(StringUtils.replace(genPackage, ".", "/")); String genCommonPackage = StringUtils.replace(defaultPackage, "${database.name}", - "common"); + "common"); dataBase.setGenDalCommonPackage(genCommonPackage); dataBase.setGenDalCommonPackagePath(StringUtils.replace(genCommonPackage, ".", "/")); dataBase.setTablePath(dataBase.getName() + "Tables"); @@ -100,7 +102,7 @@ public class ConfigUtil { if (subClass != null && subClass.size() > 0) { for (Element sc : subClass) { dataBase.addSubPackage(sc.attr("name"), - StringUtils.replace(sc.val(), "${database.name}", dataBase.getName())); + StringUtils.replace(sc.val(), "${database.name}", dataBase.getName())); } } // @@ -118,7 +120,6 @@ public class ConfigUtil { config.addDataSource(dataBase); } - //获取分表规则 for (Element element : document.getElementsByTag("splitTableSuffix")) { config.addSplitTableSuffix(element.val()); @@ -201,4 +202,18 @@ public class ConfigUtil { return cmd; } + public static void setNeedGenTableNames(List needGenTableNames) { + ConfigUtil.needGenTableNames = needGenTableNames; + } + + public static String getNeedGenTableNames() { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < needGenTableNames.size(); i++) { + if(i>0){ + sb.append("','"); + } + sb.append("'").append(needGenTableNames.get(i)).append("'"); + } + return sb.toString(); + } } diff --git a/src/main/resources/dalgen/configTables/ABS_PLAN.xml b/src/main/resources/dalgen/configTables/ABS_PLAN.xml new file mode 100644 index 0000000..a90a0ca --- /dev/null +++ b/src/main/resources/dalgen/configTables/ABS_PLAN.xml @@ -0,0 +1,342 @@ + + + + + + ID,TOTAL_AMT,PLAN_NO,POND_NO,STATUS + ,CREATOR,PAY_FREQ,FUND_TYPE,MODIFIER,PLAN_NAME + ,PLAN_TYPE,FEE_CONFIG,OUT_PLAN_NO,PRICE_TYPE,TRUST_CODE + ,GMT_CREATOR,CALC_FEE_TYPE,GMT_MODIFIER,PAYMENT_TYPE,CALC_INTR_TYPE + ,PAYMENT_MODEL,PLAN_FULL_NAME,APPROVE_STATUS,PLAN_MGR_ORG_CODE,SPONSOR_ORG_CODE + ,ALLOC_TEMPLATE_NO,PASSED,ALLOC_EFF,FEE_EXTEND_EFF,END_DATE + ,BEGIN_DATE,GMT_CREATE,EFFECT_DATE,GMT_MODIFIED,WAIT_FOR_DATE + ,FIRST_PAY_DATE,INIT_CALC_DATE,FIRST_CLEAR_DATE,LAST_UPDATE_DATE,VAT_RATE + ,FIN_SER_FEE_RATE + + + + + sf.ID,sf.TOTAL_AMT,sf.PLAN_NO,sf.POND_NO,sf.STATUS + ,sf.CREATOR,sf.PAY_FREQ,sf.FUND_TYPE,sf.MODIFIER,sf.PLAN_NAME + ,sf.PLAN_TYPE,sf.FEE_CONFIG,sf.OUT_PLAN_NO,sf.PRICE_TYPE,sf.TRUST_CODE + ,sf.GMT_CREATOR,sf.CALC_FEE_TYPE,sf.GMT_MODIFIER,sf.PAYMENT_TYPE,sf.CALC_INTR_TYPE + ,sf.PAYMENT_MODEL,sf.PLAN_FULL_NAME,sf.APPROVE_STATUS,sf.PLAN_MGR_ORG_CODE,sf.SPONSOR_ORG_CODE + ,sf.ALLOC_TEMPLATE_NO,sf.PASSED,sf.ALLOC_EFF,sf.FEE_EXTEND_EFF,sf.END_DATE + ,sf.BEGIN_DATE,sf.GMT_CREATE,sf.EFFECT_DATE,sf.GMT_MODIFIED,sf.WAIT_FOR_DATE + ,sf.FIRST_PAY_DATE,sf.INIT_CALC_DATE,sf.FIRST_CLEAR_DATE,sf.LAST_UPDATE_DATE,sf.VAT_RATE + ,sf.FIN_SER_FEE_RATE + + + + + + + + + + + INSERT INTO ABS_PLAN( + ID + ,TOTAL_AMT + ,PLAN_NO + ,POND_NO + ,STATUS + ,CREATOR + ,PAY_FREQ + ,FUND_TYPE + ,MODIFIER + ,PLAN_NAME + ,PLAN_TYPE + ,FEE_CONFIG + ,OUT_PLAN_NO + ,PRICE_TYPE + ,TRUST_CODE + ,GMT_CREATOR + ,CALC_FEE_TYPE + ,GMT_MODIFIER + ,PAYMENT_TYPE + ,CALC_INTR_TYPE + ,PAYMENT_MODEL + ,PLAN_FULL_NAME + ,APPROVE_STATUS + ,PLAN_MGR_ORG_CODE + ,SPONSOR_ORG_CODE + ,ALLOC_TEMPLATE_NO + ,PASSED + ,ALLOC_EFF + ,FEE_EXTEND_EFF + ,END_DATE + ,BEGIN_DATE + ,GMT_CREATE + ,EFFECT_DATE + ,GMT_MODIFIED + ,WAIT_FOR_DATE + ,FIRST_PAY_DATE + ,INIT_CALC_DATE + ,FIRST_CLEAR_DATE + ,LAST_UPDATE_DATE + ,VAT_RATE + ,FIN_SER_FEE_RATE + )VALUES + ( + null + , #{item.totalAmt,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.pondNo,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.creator,jdbcType=VARCHAR} + , #{item.payFreq,jdbcType=VARCHAR} + , #{item.fundType,jdbcType=VARCHAR} + , #{item.modifier,jdbcType=VARCHAR} + , #{item.planName,jdbcType=VARCHAR} + , #{item.planType,jdbcType=VARCHAR} + , #{item.feeConfig,jdbcType=VARCHAR} + , #{item.outPlanNo,jdbcType=VARCHAR} + , #{item.priceType,jdbcType=VARCHAR} + , #{item.trustCode,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.calcFeeType,jdbcType=VARCHAR} + , #{item.gmtModifier,jdbcType=VARCHAR} + , #{item.paymentType,jdbcType=VARCHAR} + , #{item.calcIntrType,jdbcType=VARCHAR} + , #{item.paymentModel,jdbcType=VARCHAR} + , #{item.planFullName,jdbcType=VARCHAR} + , #{item.approveStatus,jdbcType=VARCHAR} + , #{item.planMgrOrgCode,jdbcType=VARCHAR} + , #{item.sponsorOrgCode,jdbcType=VARCHAR} + , #{item.allocTemplateNo,jdbcType=VARCHAR} + , #{item.passed,jdbcType=CHAR} + , #{item.allocEff,jdbcType=CHAR} + , #{item.feeExtendEff,jdbcType=CHAR} + , #{item.endDate,jdbcType=DATE} + , #{item.beginDate,jdbcType=DATE} + , sysdate + , #{item.effectDate,jdbcType=DATE} + , sysdate + , #{item.waitForDate,jdbcType=DATE} + , #{item.firstPayDate,jdbcType=DATE} + , #{item.initCalcDate,jdbcType=DATE} + , #{item.firstClearDate,jdbcType=DATE} + , #{item.lastUpdateDate,jdbcType=DATE} + , #{item.vatRate,jdbcType=DECIMAL} + , #{item.finSerFeeRate,jdbcType=DECIMAL} + ) + + + + + + + + + + SELECT * + FROM ABS_PLAN + WHERE + + + + + + + + + + + + + + SELECT * + FROM ABS_PLAN + WHERE + + + +
-- Gitee From c9be47b54bc6d416667b2761c520f2619c55b6a3 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 7 Sep 2022 19:39:49 +0800 Subject: [PATCH 10/44] =?UTF-8?q?oracle=20=E6=8F=90=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/db/JDBCTableRepository.java | 8 +- .../database/OracleDataBaseInfoService.java | 121 +-- .../dalgen/mybatis/gen/utils/ConfigUtil.java | 8 +- .../dalgen/mybatis/gen/utils/SqlExecutor.java | 29 + .../mybatis/gen/utils/db/RsHandler.java | 8 + .../dalgen/configTables/ABS_PLAN.xml | 765 ++++++++++++------ .../java/cn/dalgen/mybatis/gen/TestTT.java | 41 - 7 files changed, 605 insertions(+), 375 deletions(-) create mode 100644 src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java create mode 100644 src/main/java/cn/dalgen/mybatis/gen/utils/db/RsHandler.java delete mode 100644 src/test/java/cn/dalgen/mybatis/gen/TestTT.java diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java index b6642aa..4c60a3c 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java @@ -2,7 +2,6 @@ package cn.dalgen.mybatis.gen.model.repository.db; import java.sql.Connection; import java.sql.SQLException; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -20,14 +19,11 @@ import cn.dalgen.mybatis.gen.model.dbtable.UniqueIndex; import cn.dalgen.mybatis.gen.model.repository.db.database.DataBaseInfoHandler; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; -import cn.dalgen.mybatis.gen.utils.ResultSetUtils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.time.DateUtils; -import org.apache.ibatis.type.JdbcType; /** * Created by bangis.wangdf on 15/12/5. Desc @@ -324,7 +320,9 @@ public class JDBCTableRepository { table.addColumn(column); } } else { - System.out.println(tableName + " fillColumns error"); + if(ConfigUtil.getNeedGenTableNames().contains(tableName)) { + throw new RuntimeException(tableName + " fillColumns error"); + } } } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java index 6137de2..8afe687 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java @@ -5,16 +5,16 @@ package cn.dalgen.mybatis.gen.model.repository.db.database; import java.sql.Connection; -import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Statement; import java.util.List; import java.util.Map; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; import cn.dalgen.mybatis.gen.utils.ResultSetUtils; +import cn.dalgen.mybatis.gen.utils.SqlExecutor; +import cn.dalgen.mybatis.gen.utils.db.RsHandler; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; @@ -82,14 +82,14 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { */ @Override public Map getAllTableRemark(Connection connection) throws SQLException { - Map result = Maps.newHashMap(); - Statement statement = connection.createStatement(); - ResultSet resultSet = statement.executeQuery(TABLE_COMMENT); - while (resultSet.next()) { - result.put(StringUtils.upperCase(resultSet.getString("TABLE_NAME")), - resultSet.getString("TABLE_COMMENT")); - } - statement.close(); + final Map result = Maps.newHashMap(); + SqlExecutor.query(connection, TABLE_COMMENT, new RsHandler() { + @Override + public void accept(ResultSet resultSet) throws SQLException { + result.put(StringUtils.upperCase(resultSet.getString("TABLE_NAME")), + resultSet.getString("TABLE_COMMENT")); + } + }); return result; } @@ -112,28 +112,29 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { String upperCaseTableName = StringUtils.upperCase(tableName); if (MapUtils.isEmpty(tableCloumnsCacheMap)) { - String sql = currSql(ConfigUtil.getNeedGenTableNames(), TABLE_CLOUMNS); - Statement statement = connection.createStatement(); - ResultSet resultSet = statement.executeQuery(sql); - while (resultSet.next()) { - String _tableName = resultSet.getString("TABLE_NAME"); - List> maps = tableCloumnsCacheMap.get(_tableName); - if (CollectionUtils.isEmpty(maps)) { - maps = Lists.newArrayList(); - tableCloumnsCacheMap.put(_tableName, maps); + String sql = currSql(ConfigUtil.getNeedGenTableNameStr(), TABLE_CLOUMNS); + SqlExecutor.query(connection, sql, new RsHandler() { + @Override + public void accept(ResultSet resultSet) throws SQLException { + String _tableName = resultSet.getString("TABLE_NAME"); + List> maps = tableCloumnsCacheMap.get(_tableName); + if (CollectionUtils.isEmpty(maps)) { + maps = Lists.newArrayList(); + tableCloumnsCacheMap.put(_tableName, maps); + } + Map columnMap = Maps.newHashMap(); + columnMap.put("ORDINAL_POSITION", resultSet.getString("ORDINAL_POSITION")); + columnMap.put("COLUMN_NAME", ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME")); + columnMap.put("COLUMN_DEFAULT", ResultSetUtils.getRsStr(resultSet, "COLUMN_DEFAULT")); + columnMap.put("COLUMN_COMMENT", ResultSetUtils.getRsStr(resultSet, "COLUMN_COMMENT")); + columnMap.put("DATA_TYPE", ResultSetUtils.getRsStr(resultSet, "DATA_TYPE")); + columnMap.put("C_LENGTH", ResultSetUtils.getRsStr(resultSet, "C_LENGTH")); + columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); + columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); + // System.out.println(i++); 21609 + maps.add(columnMap); } - Map columnMap = Maps.newHashMap(); - columnMap.put("ORDINAL_POSITION", resultSet.getString("ORDINAL_POSITION")); - columnMap.put("COLUMN_NAME", ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME")); - columnMap.put("COLUMN_DEFAULT", ResultSetUtils.getRsStr(resultSet, "COLUMN_DEFAULT")); - columnMap.put("COLUMN_COMMENT", ResultSetUtils.getRsStr(resultSet, "COLUMN_COMMENT")); - columnMap.put("DATA_TYPE", ResultSetUtils.getRsStr(resultSet, "DATA_TYPE")); - columnMap.put("C_LENGTH", ResultSetUtils.getRsStr(resultSet, "C_LENGTH")); - columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); - columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); - maps.add(columnMap); - } - statement.close(); + }); } return tableCloumnsCacheMap.get(upperCaseTableName); } @@ -151,22 +152,21 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { @Override public Map getPrimaryKeys(Connection connection, String tableName) throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); - if (MapUtils.isEmpty(tablePrimaryKeyCacheMap)) { - + if (!tablePrimaryKeyCacheMap.containsKey(upperCaseTableName)) { String sql = currSql(upperCaseTableName, TABLE_PRIMARY_KEY); - Statement statement = connection.createStatement(); - ResultSet resultSet = statement.executeQuery(sql); - while (resultSet.next()) { - String _tableName = resultSet.getString("TABLE_NAME"); - Map pkMap = tablePrimaryKeyCacheMap.get(_tableName); - if (MapUtils.isEmpty(pkMap)) { - pkMap = Maps.newHashMap(); - tablePrimaryKeyCacheMap.put(_tableName, pkMap); + SqlExecutor.query(connection, sql, new RsHandler() { + @Override + public void accept(ResultSet resultSet) throws SQLException { + String _tableName = resultSet.getString("TABLE_NAME"); + Map pkMap = tablePrimaryKeyCacheMap.get(_tableName); + if (MapUtils.isEmpty(pkMap)) { + pkMap = Maps.newHashMap(); + tablePrimaryKeyCacheMap.put(_tableName, pkMap); + } + String pkName = CamelCaseUtils.toCapitalizeCamelCase(ResultSetUtils.getRsStr(resultSet, "PK_NAME")); + pkMap.put(ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME"), pkName); } - String pkName = CamelCaseUtils.toCapitalizeCamelCase(ResultSetUtils.getRsStr(resultSet, "PK_NAME")); - pkMap.put(ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME"), pkName); - } - statement.close(); + }); } return tablePrimaryKeyCacheMap.get(upperCaseTableName); } @@ -227,27 +227,28 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { } } - private void cacheUkIdx(Connection connection, Map> tableUKIdxCacheMap, + private void cacheUkIdx(Connection connection, final Map> tableUKIdxCacheMap, String tableName, boolean unique) throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); String sql = currSql(upperCaseTableName, TABLE_INDEX); String _uniqueness = unique ? "UNIQUE" : "NONUNIQUE"; sql = StringUtils.replace(sql, "${uniqueness}", _uniqueness); - Statement statement = connection.createStatement(); - ResultSet resultSet = statement.executeQuery(sql); - while (resultSet.next()) { - String _tableName = resultSet.getString("TABLE_NAME"); - Map ukidxMap = tableUKIdxCacheMap.get(_tableName); - if (MapUtils.isEmpty(ukidxMap)) { - ukidxMap = Maps.newHashMap(); - tableUKIdxCacheMap.put(_tableName, ukidxMap); + + SqlExecutor.query(connection, sql, new RsHandler() { + @Override + public void accept(ResultSet resultSet) throws SQLException { + String _tableName = resultSet.getString("TABLE_NAME"); + Map ukidxMap = tableUKIdxCacheMap.get(_tableName); + if (MapUtils.isEmpty(ukidxMap)) { + ukidxMap = Maps.newHashMap(); + tableUKIdxCacheMap.put(_tableName, ukidxMap); + } + String indexName = CamelCaseUtils.toCapitalizeCamelCase( + ConfigUtil.getConfig().dealIndexName(ResultSetUtils.getRsStr(resultSet, + "INDEX_NAME"))); + ukidxMap.put(ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME"), indexName); } - String indexName = CamelCaseUtils.toCapitalizeCamelCase( - ConfigUtil.getConfig().dealIndexName(ResultSetUtils.getRsStr(resultSet, - "INDEX_NAME"))); - ukidxMap.put(ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME"), indexName); - } - statement.close(); + }); } /** diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java index 896dc64..4a21f95 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java @@ -206,11 +206,15 @@ public class ConfigUtil { ConfigUtil.needGenTableNames = needGenTableNames; } - public static String getNeedGenTableNames() { + public static List getNeedGenTableNames() { + return needGenTableNames; + } + + public static String getNeedGenTableNameStr() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < needGenTableNames.size(); i++) { if(i>0){ - sb.append("','"); + sb.append(","); } sb.append("'").append(needGenTableNames.get(i)).append("'"); } diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java b/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java new file mode 100644 index 0000000..fec7d1d --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java @@ -0,0 +1,29 @@ +package cn.dalgen.mybatis.gen.utils; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import cn.dalgen.mybatis.gen.utils.db.RsHandler; + +public class SqlExecutor { + public static void query(Connection connection, String sql, RsHandler rsHandler) throws SQLException { + boolean autoCommit = connection.getAutoCommit(); + Statement statement=null; + try { + connection.setAutoCommit(false); + statement = connection.createStatement(); + statement.setFetchSize(1024); + ResultSet resultSet = statement.executeQuery(sql); + while (resultSet.next()){ + rsHandler.accept(resultSet); + } + }finally { + connection.setAutoCommit(autoCommit); + if(statement!=null){ + statement.close(); + } + } + } +} diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/db/RsHandler.java b/src/main/java/cn/dalgen/mybatis/gen/utils/db/RsHandler.java new file mode 100644 index 0000000..1da0d42 --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/db/RsHandler.java @@ -0,0 +1,8 @@ +package cn.dalgen.mybatis.gen.utils.db; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public interface RsHandler { + void accept(ResultSet resultSet) throws SQLException; +} diff --git a/src/main/resources/dalgen/configTables/ABS_PLAN.xml b/src/main/resources/dalgen/configTables/ABS_PLAN.xml index a90a0ca..a201f0b 100644 --- a/src/main/resources/dalgen/configTables/ABS_PLAN.xml +++ b/src/main/resources/dalgen/configTables/ABS_PLAN.xml @@ -1,342 +1,573 @@ - +
- ID,TOTAL_AMT,PLAN_NO,POND_NO,STATUS - ,CREATOR,PAY_FREQ,FUND_TYPE,MODIFIER,PLAN_NAME - ,PLAN_TYPE,FEE_CONFIG,OUT_PLAN_NO,PRICE_TYPE,TRUST_CODE - ,GMT_CREATOR,CALC_FEE_TYPE,GMT_MODIFIER,PAYMENT_TYPE,CALC_INTR_TYPE - ,PAYMENT_MODEL,PLAN_FULL_NAME,APPROVE_STATUS,PLAN_MGR_ORG_CODE,SPONSOR_ORG_CODE - ,ALLOC_TEMPLATE_NO,PASSED,ALLOC_EFF,FEE_EXTEND_EFF,END_DATE - ,BEGIN_DATE,GMT_CREATE,EFFECT_DATE,GMT_MODIFIED,WAIT_FOR_DATE - ,FIRST_PAY_DATE,INIT_CALC_DATE,FIRST_CLEAR_DATE,LAST_UPDATE_DATE,VAT_RATE - ,FIN_SER_FEE_RATE + ID,LAST_UPDATE_DATE,TOTAL_AMT,PLAN_NO,STATUS + ,CREATOR,FUND_TYPE,MODIFIER,PLAN_NAME,APPROVE_STATUS + ,PLAN_MGR_ORG_CODE,SPONSOR_ORG_CODE,END_DATE,WAIT_FOR_DATE + ,BEGIN_DATE,GMT_CREATE,EFFECT_DATE,GMT_MODIFIED + ,FIRST_PAY_DATE,INIT_CALC_DATE,FIRST_CLEAR_DATE + ,PAY_FREQ,CALC_INTR_TYPE,VAT_RATE,GMT_CREATOR,GMT_MODIFIER + ,PASSED,PLAN_TYPE,PRICE_TYPE,FIN_SER_FEE_RATE,PLAN_FULL_NAME + ,FEE_CONFIG,CALC_FEE_TYPE,PAYMENT_TYPE, FEE_EXTEND_EFF, ALLOC_TEMPLATE_NO + ,PAYMENT_MODEL,TRUST_CODE,ALLOC_EFF,POND_NO ,OUT_PLAN_NO - sf.ID,sf.TOTAL_AMT,sf.PLAN_NO,sf.POND_NO,sf.STATUS - ,sf.CREATOR,sf.PAY_FREQ,sf.FUND_TYPE,sf.MODIFIER,sf.PLAN_NAME - ,sf.PLAN_TYPE,sf.FEE_CONFIG,sf.OUT_PLAN_NO,sf.PRICE_TYPE,sf.TRUST_CODE - ,sf.GMT_CREATOR,sf.CALC_FEE_TYPE,sf.GMT_MODIFIER,sf.PAYMENT_TYPE,sf.CALC_INTR_TYPE - ,sf.PAYMENT_MODEL,sf.PLAN_FULL_NAME,sf.APPROVE_STATUS,sf.PLAN_MGR_ORG_CODE,sf.SPONSOR_ORG_CODE - ,sf.ALLOC_TEMPLATE_NO,sf.PASSED,sf.ALLOC_EFF,sf.FEE_EXTEND_EFF,sf.END_DATE - ,sf.BEGIN_DATE,sf.GMT_CREATE,sf.EFFECT_DATE,sf.GMT_MODIFIED,sf.WAIT_FOR_DATE - ,sf.FIRST_PAY_DATE,sf.INIT_CALC_DATE,sf.FIRST_CLEAR_DATE,sf.LAST_UPDATE_DATE,sf.VAT_RATE - ,sf.FIN_SER_FEE_RATE + sf.ID,sf.LAST_UPDATE_DATE,sf.TOTAL_AMT,sf.PLAN_NO,sf.STATUS + ,sf.CREATOR,sf.FUND_TYPE,sf.MODIFIER,sf.PLAN_NAME,sf.APPROVE_STATUS + ,sf.PLAN_MGR_ORG_CODE,sf.SPONSOR_ORG_CODE,sf.END_DATE,sf.WAIT_FOR_DATE + ,sf.BEGIN_DATE,sf.GMT_CREATE,sf.EFFECT_DATE,sf.GMT_MODIFIED + ,sf.FIRST_PAY_DATE,sf.INIT_CALC_DATE,sf.FIRST_CLEAR_DATE + ,sf.PAY_FREQ,sf.CALC_INTR_TYPE,sf.VAT_RATE,sf.GMT_CREATOR,sf.GMT_MODIFIER + ,sf.PASSED,sf.PLAN_TYPE,sf.PRICE_TYPE,sf.FIN_SER_FEE_RATE,sf.PLAN_FULL_NAME + ,sf.FEE_CONFIG,sf.CALC_FEE_TYPE,sf.PAYMENT_TYPE, sf.FEE_EXTEND_EFF, sf.ALLOC_TEMPLATE_NO + ,sf.PAYMENT_MODEL,sf.TRUST_CODE,sf.ALLOC_EFF,sf.POND_NO ,sf.OUT_PLAN_NO - - + - - - - - INSERT INTO ABS_PLAN( - ID - ,TOTAL_AMT - ,PLAN_NO - ,POND_NO - ,STATUS - ,CREATOR - ,PAY_FREQ - ,FUND_TYPE - ,MODIFIER - ,PLAN_NAME - ,PLAN_TYPE - ,FEE_CONFIG - ,OUT_PLAN_NO - ,PRICE_TYPE - ,TRUST_CODE - ,GMT_CREATOR - ,CALC_FEE_TYPE - ,GMT_MODIFIER - ,PAYMENT_TYPE - ,CALC_INTR_TYPE - ,PAYMENT_MODEL - ,PLAN_FULL_NAME - ,APPROVE_STATUS - ,PLAN_MGR_ORG_CODE - ,SPONSOR_ORG_CODE - ,ALLOC_TEMPLATE_NO - ,PASSED - ,ALLOC_EFF - ,FEE_EXTEND_EFF - ,END_DATE - ,BEGIN_DATE - ,GMT_CREATE - ,EFFECT_DATE - ,GMT_MODIFIED - ,WAIT_FOR_DATE - ,FIRST_PAY_DATE - ,INIT_CALC_DATE - ,FIRST_CLEAR_DATE - ,LAST_UPDATE_DATE - ,VAT_RATE - ,FIN_SER_FEE_RATE - )VALUES - ( - null - , #{item.totalAmt,jdbcType=DECIMAL} - , #{item.planNo,jdbcType=VARCHAR} - , #{item.pondNo,jdbcType=VARCHAR} - , #{item.status,jdbcType=VARCHAR} - , #{item.creator,jdbcType=VARCHAR} - , #{item.payFreq,jdbcType=VARCHAR} - , #{item.fundType,jdbcType=VARCHAR} - , #{item.modifier,jdbcType=VARCHAR} - , #{item.planName,jdbcType=VARCHAR} - , #{item.planType,jdbcType=VARCHAR} - , #{item.feeConfig,jdbcType=VARCHAR} - , #{item.outPlanNo,jdbcType=VARCHAR} - , #{item.priceType,jdbcType=VARCHAR} - , #{item.trustCode,jdbcType=VARCHAR} - , #{item.gmtCreator,jdbcType=VARCHAR} - , #{item.calcFeeType,jdbcType=VARCHAR} - , #{item.gmtModifier,jdbcType=VARCHAR} - , #{item.paymentType,jdbcType=VARCHAR} - , #{item.calcIntrType,jdbcType=VARCHAR} - , #{item.paymentModel,jdbcType=VARCHAR} - , #{item.planFullName,jdbcType=VARCHAR} - , #{item.approveStatus,jdbcType=VARCHAR} - , #{item.planMgrOrgCode,jdbcType=VARCHAR} - , #{item.sponsorOrgCode,jdbcType=VARCHAR} - , #{item.allocTemplateNo,jdbcType=VARCHAR} - , #{item.passed,jdbcType=CHAR} - , #{item.allocEff,jdbcType=CHAR} - , #{item.feeExtendEff,jdbcType=CHAR} - , #{item.endDate,jdbcType=DATE} - , #{item.beginDate,jdbcType=DATE} - , sysdate - , #{item.effectDate,jdbcType=DATE} - , sysdate - , #{item.waitForDate,jdbcType=DATE} - , #{item.firstPayDate,jdbcType=DATE} - , #{item.initCalcDate,jdbcType=DATE} - , #{item.firstClearDate,jdbcType=DATE} - , #{item.lastUpdateDate,jdbcType=DATE} - , #{item.vatRate,jdbcType=DECIMAL} - , #{item.finSerFeeRate,jdbcType=DECIMAL} - ) - - - - + - --> - + + + + UPDATE abs_plan + SET + GMT_MODIFIED = sysdate + + ,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + + ,GMT_MODIFIER = #{gmtModifier,jdbcType=VARCHAR} + + + ,STATUS = #{status,jdbcType=VARCHAR} + + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + - - SELECT * - FROM ABS_PLAN - WHERE + + - - + + - + - + SELECT * - FROM ABS_PLAN + FROM abs_plan WHERE + + SELECT * + FROM abs_plan + WHERE + + + + + SELECT * + FROM abs_plan + WHERE + PLAN_NO + IN + + #{planNo,jdbcType=VARCHAR} + + + AND ( + PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + + + select count(*) + FROM abs_plan + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + OR + PLAN_NAME = #{planName,jdbcType=VARCHAR} + + + + select count(*) + FROM abs_plan + WHERE + PLAN_NO != #{planNo,jdbcType=VARCHAR} + AND + PLAN_NAME = #{planName,jdbcType=VARCHAR} + + + + + + + + SELECT + sf.* + ,oe.STOP_PAY_DATE + FROM + ABS_PLAN sf + left join ABS_ORGANIZATION_ENTITY oe on sf.plan_no = oe.ENTITY_CODE + WHERE + ( + sf.PASSED = #{passed,jdbcType=CHAR} + + OR + sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR} + OR + sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR} + + ) + + AND sf.PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + + AND sf.PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + + + AND sf.POND_NO = #{pondNo,jdbcType=VARCHAR} + + + AND sf.PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + + + AND sf.SPONSOR_ORG_CODE = #{sponsorOrgCode,jdbcType=CHAR} + + + AND sf.STATUS = #{planStatus,jdbcType=CHAR} + + + AND sf.STATUS IN + + #{status,jdbcType=VARCHAR} + + + + AND oe.MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + AND sf.END_DATE <= #{latestEndDate,jdbcType=DATE} + + + AND sf.END_DATE >= #{earliestEndDate,jdbcType=DATE} + + + AND ( + sf.PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + sf.PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + + AND + (sf.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + AND sf.PLAN_NO IN + + #{item,jdbcType=VARCHAR} + + + ) + + + AND sf.PLAN_NO IN + + #{item,jdbcType=VARCHAR} + + + ORDER BY BEGIN_DATE DESC , ID ASC + + + + + SELECT + * + FROM + ABS_PLAN + WHERE + STATUS IN + + #{status,jdbcType=VARCHAR} + + + AND PLAN_TYPE IN + + #{planType,jdbcType=VARCHAR} + + + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + + ORDER BY PLAN_TYPE DESC,BEGIN_DATE DESC + + + + SELECT + SUM(i.LAYER_AMT) + FROM + ABS_PLAN p left join ABS_PLAN_INVEST_STRUCTURE i on i.PLAN_NO = p.PLAN_NO + WHERE + p.PLAN_TYPE IN + + #{planType,jdbcType=VARCHAR} + + + AND p.STATUS IN + + #{status,jdbcType=VARCHAR} + + + + + AND p.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + SELECT + PLAN.TOTAL_AMOUNT,PLAN.LEGAL_END_DATE,TRANSFER.IS_RECYCLE_ACQUISITION,PLAN.BEGIN_DATE + FROM + ABS_PLAN PLAN + LEFT JOIN + ABS_TRANSFER_RULE TRANSFER + ON PLAN.TRANSFER_RULE_NO=TRANSFER.TRANSFER_RULE_NO + WHERE + PLAN.PLAN_NO= #{planNo,jdbcType=VARCHAR} + + + + SELECT + sf.* + FROM ABS_PLAN sf + JOIN ABS_ORGANIZATION_ENTITY aon + ON sf.plan_no = aon.ENTITY_CODE + WHERE + aon.MANAGER_ORG_CODE=#{managerOrgCode,jdbcType=VARCHAR} + AND + sf.PLAN_TYPE = 'SPV' + + + + SELECT + COUNT(*) + FROM + ABS_PLAN + WHERE + LAST_UPDATE_DATE != #{curDate,jdbcType=DATE} + AND + STATUS IN + + #{one,jdbcType=VARCHAR} + + + + + + + + + SELECT + * + FROM + ABS_PLAN + WHERE + STATUS in + + #{one,jdbcType=VARCHAR} + + + AND PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + + AND ( + PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + OR + PLAN_NO = #{planName,jdbcType=VARCHAR} + ) + + + AND PLAN_NO IN (SELECT ENTITY_CODE FROM ABS_ORGANIZATION_ENTITY WHERE MANAGER_ORG_CODE = + #{managerOrgCode,jdbcType=VARCHAR} ) + + + AND END_DATE <= #{latestEndDate,jdbcType=DATE} + + + AND END_DATE >= #{earliestEndDate,jdbcType=DATE} + + ORDER BY PLAN_TYPE,BEGIN_DATE,PLAN_NAME + + + + SELECT + * + FROM + ABS_PLAN + WHERE + POND_NO = #{pondNo,jdbcType=VARCHAR} + + AND + PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + ORDER BY END_DATE DESC + + + + SELECT + * + FROM + ABS_PLAN + WHERE + APPROVE_STATUS = 'PASSED' + AND + PLAN_TYPE = #{planType,jdbcType=VARCHAR} + AND + SPONSOR_ORG_CODE + IN + + #{sponsorOrgCode,jdbcType=VARCHAR} + + ORDER BY GMT_CREATE DESC + + + + SELECT + * + FROM + ABS_PLAN + WHERE + POND_NO IN + + #{pondNo,jdbcType=VARCHAR} + + + AND + STATUS IN + + #{status,jdbcType=VARCHAR} + + + ORDER BY END_DATE DESC + + + + select * from abs_plan where end_date = trunc(#{endDate,jdbcType=DATE}) +
diff --git a/src/test/java/cn/dalgen/mybatis/gen/TestTT.java b/src/test/java/cn/dalgen/mybatis/gen/TestTT.java deleted file mode 100644 index 2b766b8..0000000 --- a/src/test/java/cn/dalgen/mybatis/gen/TestTT.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * abssqr.com Inc. - * Copyright (c) 2017-2019 All Rights Reserved. - */ -package cn.dalgen.mybatis.gen; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * - * @author bangis.wangdf - * @version cn.dalgen.mybatis.gen: TestTT.java, v 0.1 2019-04-25 19:17 bangis.wangdf Exp $ - */ -public class TestTT { - public static void main(String[] args) { - String pp = "order"; - String sql =" a order b order c order "; - //sql.replaceFirst(pp,"aaa"); - - Matcher matcher = Pattern.compile(pp).matcher(sql); - matcher.reset(); - int cnt = 0; - while (matcher.find()){ - cnt=cnt+1; - } - System.out.println(cnt); - matcher.reset(); - StringBuffer sb = new StringBuffer(); - while (matcher.find()){ - if(cnt==1){ - // 将匹配之前的字符串复制到sb,再将匹配结果替换为:"favour",并追加到sb - matcher.appendReplacement(sb, "favour"); - } - cnt=cnt-1; - } - matcher.appendTail(sb); - System.out.println(sb.toString()); - - } -} -- Gitee From bbb7831a39cfac1399ead1bcdd41951db0a26d60 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 7 Sep 2022 19:56:45 +0800 Subject: [PATCH 11/44] =?UTF-8?q?oracle=20=E6=8F=90=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dalgen/abs/ABS_LOAN_AST_RECORD.xml | 272 --------- .../repository/db/JDBCTableRepository.java | 16 +- .../configTables/ABS_ALLOC_TRIAL_ITEM.xml | 133 ++++ .../dalgen/configTables/ABS_COMMON_CODN.xml | 99 +++ .../dalgen/configTables/ABS_PLAN.xml | 573 ------------------ 5 files changed, 241 insertions(+), 852 deletions(-) delete mode 100755 dalgen/abs/ABS_LOAN_AST_RECORD.xml create mode 100644 src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml create mode 100644 src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml delete mode 100644 src/main/resources/dalgen/configTables/ABS_PLAN.xml diff --git a/dalgen/abs/ABS_LOAN_AST_RECORD.xml b/dalgen/abs/ABS_LOAN_AST_RECORD.xml deleted file mode 100755 index bfa155b..0000000 --- a/dalgen/abs/ABS_LOAN_AST_RECORD.xml +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ID,INTR_BAL,PRIN_BAL,INST_FEE_BAL,INTR_PENAL_BAL,PRIN_PENAL_BAL,INST_FEE_PENAL_BAL,AST_ID,SEQ_NO,USER_ID,EXEC_TMS,BSN_SEQ_NO,CUR_AST_CL,ORI_AST_CL,OUT_AST_ID,CUR_STATUS,EVENT_CODE,ORI_STATUS,SCENE_CODE,CUR_CST_AST_CL,ORI_CST_AST_CL,TERM_NO,CUR_TERM_CNT,ORI_TERM_CNT,CUR_ODUE_DAYS,ORI_ODUE_DAYS,TXT_DT,SETL_DT,GMT_CREATE,CUR_END_DATE,ORI_END_DATE,GMT_MODIFIED,LAST_UPDATE_DT - - - - - sf.ID,sf.INTR_BAL,sf.PRIN_BAL,sf.INST_FEE_BAL,sf.INTR_PENAL_BAL,sf.PRIN_PENAL_BAL,sf.INST_FEE_PENAL_BAL,sf.AST_ID,sf.SEQ_NO,sf.USER_ID,sf.EXEC_TMS,sf.BSN_SEQ_NO,sf.CUR_AST_CL,sf.ORI_AST_CL,sf.OUT_AST_ID,sf.CUR_STATUS,sf.EVENT_CODE,sf.ORI_STATUS,sf.SCENE_CODE,sf.CUR_CST_AST_CL,sf.ORI_CST_AST_CL,sf.TERM_NO,sf.CUR_TERM_CNT,sf.ORI_TERM_CNT,sf.CUR_ODUE_DAYS,sf.ORI_ODUE_DAYS,sf.TXT_DT,sf.SETL_DT,sf.GMT_CREATE,sf.CUR_END_DATE,sf.ORI_END_DATE,sf.GMT_MODIFIED,sf.LAST_UPDATE_DT - - - - - SELECT - LAST_INSERT_ID() - - - - - - - - INSERT INTO ABS_LOAN_AST_RECORD( - ID - ,INTR_BAL - ,PRIN_BAL - ,INST_FEE_BAL - ,INTR_PENAL_BAL - ,PRIN_PENAL_BAL - ,INST_FEE_PENAL_BAL - ,AST_ID - ,SEQ_NO - ,USER_ID - ,EXEC_TMS - ,BSN_SEQ_NO - ,CUR_AST_CL - ,ORI_AST_CL - ,OUT_AST_ID - ,CUR_STATUS - ,EVENT_CODE - ,ORI_STATUS - ,SCENE_CODE - ,CUR_CST_AST_CL - ,ORI_CST_AST_CL - ,TERM_NO - ,CUR_TERM_CNT - ,ORI_TERM_CNT - ,CUR_ODUE_DAYS - ,ORI_ODUE_DAYS - ,TXT_DT - ,SETL_DT - ,GMT_CREATE - ,CUR_END_DATE - ,ORI_END_DATE - ,GMT_MODIFIED - ,LAST_UPDATE_DT - )VALUES - - ( - null - , #{item.intrBal,jdbcType=BIGINT} - , #{item.prinBal,jdbcType=BIGINT} - , #{item.instFeeBal,jdbcType=BIGINT} - , #{item.intrPenalBal,jdbcType=BIGINT} - , #{item.prinPenalBal,jdbcType=BIGINT} - , #{item.instFeePenalBal,jdbcType=BIGINT} - , #{item.astId,jdbcType=VARCHAR} - , #{item.seqNo,jdbcType=VARCHAR} - , #{item.userId,jdbcType=VARCHAR} - , #{item.execTms,jdbcType=VARCHAR} - , #{item.bsnSeqNo,jdbcType=VARCHAR} - , #{item.curAstCl,jdbcType=VARCHAR} - , #{item.oriAstCl,jdbcType=VARCHAR} - , #{item.outAstId,jdbcType=VARCHAR} - , #{item.curStatus,jdbcType=VARCHAR} - , #{item.eventCode,jdbcType=VARCHAR} - , #{item.oriStatus,jdbcType=VARCHAR} - , #{item.sceneCode,jdbcType=VARCHAR} - , #{item.curCstAstCl,jdbcType=VARCHAR} - , #{item.oriCstAstCl,jdbcType=VARCHAR} - , #{item.termNo,jdbcType=INTEGER} - , #{item.curTermCnt,jdbcType=INTEGER} - , #{item.oriTermCnt,jdbcType=INTEGER} - , #{item.curOdueDays,jdbcType=INTEGER} - , #{item.oriOdueDays,jdbcType=INTEGER} - , #{item.txtDt,jdbcType=TIMESTAMP} - , #{item.setlDt,jdbcType=TIMESTAMP} - , now() - , #{item.curEndDate,jdbcType=TIMESTAMP} - , #{item.oriEndDate,jdbcType=TIMESTAMP} - , now() - , #{item.lastUpdateDt,jdbcType=TIMESTAMP} - ) - - - - - - - - - - SELECT * - FROM ABS_LOAN_AST_RECORD - WHERE - - - - - select * from - ABS_LOAN_AST_RECORD - where CUR_END_DATE = #{curEndDate,jdbcType=TIMESTAMP} - order by GMT_MODIFIED desc,id desc - - - - - select sf.* from - ABS_LOAN_AST_RECORD sf - JOIN( - - select - id - from - ABS_LOAN_AST_RECORD - where - CUR_END_DATE = #{curEndDate,jdbcType=TIMESTAMP} - ORDER BY GMT_MODIFIED desc,id desc - - ) b - on a.id=b.id - - - - select distinct code,name from ABS_LOAN_AST_RECORD where xx=? - - -
diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java index 4c60a3c..3183294 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java @@ -306,7 +306,7 @@ public class JDBCTableRepository { Column column = new Column(); column.setSqlName(upperLowerName(dbColumnMap.get("COLUMN_NAME"))); column.setMySqlType(dbColumnMap.get("DATA_TYPE")); - column.setSqlType(getSqlType(column,cfColumns,TypeMapEnum.getByJdbcTypeWithOther(dbColumnMap.get("DATA_TYPE")).getJdbcType())); + column.setSqlType(getSqlType(column,cfColumns,TypeMapEnum.getByJdbcTypeWithOther(dbColumnMap.get("DATA_TYPE")))); column.setDefaultValue(dbColumnMap.get("COLUMN_DEFAULT")); column.setJavaName(CamelCaseUtils.toCamelCase(column.getSqlName())); column.setTestVal(getTestVal(column, cfColumns)); @@ -349,15 +349,17 @@ public class JDBCTableRepository { return null; } - private String getSqlType( Column column, List cfColumns,String jdbcType) { - if (cfColumns != null && cfColumns.size() > 0) { - for (CfColumn cfColumn : cfColumns) { - if (StringUtils.equalsIgnoreCase(column.getSqlName(), cfColumn.getName())) { - return cfColumn.getSqlType(); + private String getSqlType( Column column, List cfColumns,TypeMapEnum typeMapEnum) { + if(typeMapEnum==TypeMapEnum.OTHER) { + if (cfColumns != null && cfColumns.size() > 0) { + for (CfColumn cfColumn : cfColumns) { + if (StringUtils.equalsIgnoreCase(column.getSqlName(), cfColumn.getName())) { + return cfColumn.getSqlType(); + } } } } - return jdbcType; + return typeMapEnum.getJdbcType(); } /** * Gets java type. diff --git a/src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml b/src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml new file mode 100644 index 0000000..ddcf6ea --- /dev/null +++ b/src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + ID,CURR_PAY,TRIAL_AMT,TRIAL_TAX_AMT,PLAN_NO + ,TITLE_NO,PAY_DATE,CLEAR_DATE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.CURR_PAY,sf.TRIAL_AMT,sf.TRIAL_TAX_AMT,sf.PLAN_NO + ,sf.TITLE_NO,sf.PAY_DATE,sf.CLEAR_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + MERGE INTO abs_alloc_trial_item t1 + USING (SELECT #{item.clearDate,jdbcType=DATE} CLEAR_DATE, #{item.payDate,jdbcType=DATE} PAY_DATE, #{item.titleNo,jdbcType=VARCHAR} TITLE_NO FROM DUAL) t2 + ON (t1.CLEAR_DATE = t2.CLEAR_DATE and t1.PAY_DATE = t2.PAY_DATE and t1.TITLE_NO = t2.TITLE_NO) + WHEN MATCHED THEN UPDATE SET + CURR_PAY = #{item.currPay,jdbcType=DECIMAL} + ,TRIAL_AMT = #{item.trialAmt,jdbcType=DECIMAL} + ,TRIAL_TAX_AMT = #{item.trialTaxAmt,jdbcType=DECIMAL} + ,GMT_MODIFIED = sysdate + WHEN NOT MATCHED THEN INSERT ( + ID + ,CURR_PAY + ,TRIAL_AMT + ,TRIAL_TAX_AMT + ,PLAN_NO + ,TITLE_NO + ,PAY_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_ALLOC_TRIAL_ITEM.nextval + , #{item.currPay,jdbcType=DECIMAL} + , #{item.trialAmt,jdbcType=DECIMAL} + , #{item.trialTaxAmt,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.titleNo,jdbcType=VARCHAR} + , #{item.payDate,jdbcType=DATE} + , #{item.clearDate,jdbcType=DATE} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_alloc_trial_item + WHERE + + + + + + SELECT * + FROM abs_alloc_trial_item + WHERE + + +
diff --git a/src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml b/src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml new file mode 100644 index 0000000..b9ec0fa --- /dev/null +++ b/src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml @@ -0,0 +1,99 @@ + + + + + + codn_sort,biz_code,biz_type,codn_attr,codn_code ,codn_exp + + + + + sf.codn_sort,sf.biz_code,sf.biz_type,sf.codn_attr,sf.codn_code ,sf.codn_exp + + + + + + + + + + + INSERT INTO abs_common_codn( + codn_sort + ,biz_code + ,biz_type + ,codn_attr + ,codn_code + ,codn_exp + )VALUES + ( + #{item.codnSort,jdbcType=DECIMAL} + , #{item.bizCode,jdbcType=VARCHAR} + , #{item.bizType,jdbcType=VARCHAR} + , #{item.codnAttr,jdbcType=VARCHAR} + , #{item.codnCode,jdbcType=VARCHAR} + , #{item.codnExp,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + + + SELECT * + FROM abs_common_codn + WHERE + biz_type = #{bizType,jdbcType=VARCHAR} + and biz_code in + + #{bizCode,jdbcType=VARCHAR} + + + AND codn_attr IN + + #{codnAttr,jdbcType=VARCHAR} + + + ORDER BY biz_code,CODN_SORT ASC + + +
diff --git a/src/main/resources/dalgen/configTables/ABS_PLAN.xml b/src/main/resources/dalgen/configTables/ABS_PLAN.xml deleted file mode 100644 index a201f0b..0000000 --- a/src/main/resources/dalgen/configTables/ABS_PLAN.xml +++ /dev/null @@ -1,573 +0,0 @@ - - - - - - ID,LAST_UPDATE_DATE,TOTAL_AMT,PLAN_NO,STATUS - ,CREATOR,FUND_TYPE,MODIFIER,PLAN_NAME,APPROVE_STATUS - ,PLAN_MGR_ORG_CODE,SPONSOR_ORG_CODE,END_DATE,WAIT_FOR_DATE - ,BEGIN_DATE,GMT_CREATE,EFFECT_DATE,GMT_MODIFIED - ,FIRST_PAY_DATE,INIT_CALC_DATE,FIRST_CLEAR_DATE - ,PAY_FREQ,CALC_INTR_TYPE,VAT_RATE,GMT_CREATOR,GMT_MODIFIER - ,PASSED,PLAN_TYPE,PRICE_TYPE,FIN_SER_FEE_RATE,PLAN_FULL_NAME - ,FEE_CONFIG,CALC_FEE_TYPE,PAYMENT_TYPE, FEE_EXTEND_EFF, ALLOC_TEMPLATE_NO - ,PAYMENT_MODEL,TRUST_CODE,ALLOC_EFF,POND_NO ,OUT_PLAN_NO - - - - - sf.ID,sf.LAST_UPDATE_DATE,sf.TOTAL_AMT,sf.PLAN_NO,sf.STATUS - ,sf.CREATOR,sf.FUND_TYPE,sf.MODIFIER,sf.PLAN_NAME,sf.APPROVE_STATUS - ,sf.PLAN_MGR_ORG_CODE,sf.SPONSOR_ORG_CODE,sf.END_DATE,sf.WAIT_FOR_DATE - ,sf.BEGIN_DATE,sf.GMT_CREATE,sf.EFFECT_DATE,sf.GMT_MODIFIED - ,sf.FIRST_PAY_DATE,sf.INIT_CALC_DATE,sf.FIRST_CLEAR_DATE - ,sf.PAY_FREQ,sf.CALC_INTR_TYPE,sf.VAT_RATE,sf.GMT_CREATOR,sf.GMT_MODIFIER - ,sf.PASSED,sf.PLAN_TYPE,sf.PRICE_TYPE,sf.FIN_SER_FEE_RATE,sf.PLAN_FULL_NAME - ,sf.FEE_CONFIG,sf.CALC_FEE_TYPE,sf.PAYMENT_TYPE, sf.FEE_EXTEND_EFF, sf.ALLOC_TEMPLATE_NO - ,sf.PAYMENT_MODEL,sf.TRUST_CODE,sf.ALLOC_EFF,sf.POND_NO ,sf.OUT_PLAN_NO - - - - - - - - - - - - - - UPDATE abs_plan - SET - GMT_MODIFIED = sysdate - - ,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} - - - ,GMT_MODIFIER = #{gmtModifier,jdbcType=VARCHAR} - - - ,STATUS = #{status,jdbcType=VARCHAR} - - WHERE - PLAN_NO = #{planNo,jdbcType=VARCHAR} - - - - - - - - - - - - - - - - - - - - - - - SELECT * - FROM abs_plan - WHERE - - - - - SELECT * - FROM abs_plan - WHERE - - - - - SELECT * - FROM abs_plan - WHERE - PLAN_NO - IN - - #{planNo,jdbcType=VARCHAR} - - - AND ( - PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') - or - PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') - ) - - - - - select count(*) - FROM abs_plan - WHERE - PLAN_NO = #{planNo,jdbcType=VARCHAR} - OR - PLAN_NAME = #{planName,jdbcType=VARCHAR} - - - - select count(*) - FROM abs_plan - WHERE - PLAN_NO != #{planNo,jdbcType=VARCHAR} - AND - PLAN_NAME = #{planName,jdbcType=VARCHAR} - - - - - - - - SELECT - sf.* - ,oe.STOP_PAY_DATE - FROM - ABS_PLAN sf - left join ABS_ORGANIZATION_ENTITY oe on sf.plan_no = oe.ENTITY_CODE - WHERE - ( - sf.PASSED = #{passed,jdbcType=CHAR} - - OR - sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR} - OR - sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR} - - ) - - AND sf.PLAN_TYPE = #{planType,jdbcType=VARCHAR} - - - AND sf.PLAN_NO = #{planNo,jdbcType=VARCHAR} - - - - - - AND sf.POND_NO = #{pondNo,jdbcType=VARCHAR} - - - AND sf.PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') - - - AND sf.SPONSOR_ORG_CODE = #{sponsorOrgCode,jdbcType=CHAR} - - - AND sf.STATUS = #{planStatus,jdbcType=CHAR} - - - AND sf.STATUS IN - - #{status,jdbcType=VARCHAR} - - - - AND oe.MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} - - - AND sf.END_DATE <= #{latestEndDate,jdbcType=DATE} - - - AND sf.END_DATE >= #{earliestEndDate,jdbcType=DATE} - - - AND ( - sf.PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') - or - sf.PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') - ) - - - - AND - (sf.PLAN_NO IN - - #{uniqueCode,jdbcType=VARCHAR} - - - AND sf.PLAN_NO IN - - #{item,jdbcType=VARCHAR} - - - ) - - - AND sf.PLAN_NO IN - - #{item,jdbcType=VARCHAR} - - - ORDER BY BEGIN_DATE DESC , ID ASC - - - - - SELECT - * - FROM - ABS_PLAN - WHERE - STATUS IN - - #{status,jdbcType=VARCHAR} - - - AND PLAN_TYPE IN - - #{planType,jdbcType=VARCHAR} - - - - AND PLAN_NO IN - - #{planNo,jdbcType=VARCHAR} - - - - AND PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') - - ORDER BY PLAN_TYPE DESC,BEGIN_DATE DESC - - - - SELECT - SUM(i.LAYER_AMT) - FROM - ABS_PLAN p left join ABS_PLAN_INVEST_STRUCTURE i on i.PLAN_NO = p.PLAN_NO - WHERE - p.PLAN_TYPE IN - - #{planType,jdbcType=VARCHAR} - - - AND p.STATUS IN - - #{status,jdbcType=VARCHAR} - - - - - AND p.PLAN_NO IN - - #{planNo,jdbcType=VARCHAR} - - - - - - - - - - - - - - - - SELECT - PLAN.TOTAL_AMOUNT,PLAN.LEGAL_END_DATE,TRANSFER.IS_RECYCLE_ACQUISITION,PLAN.BEGIN_DATE - FROM - ABS_PLAN PLAN - LEFT JOIN - ABS_TRANSFER_RULE TRANSFER - ON PLAN.TRANSFER_RULE_NO=TRANSFER.TRANSFER_RULE_NO - WHERE - PLAN.PLAN_NO= #{planNo,jdbcType=VARCHAR} - - - - SELECT - sf.* - FROM ABS_PLAN sf - JOIN ABS_ORGANIZATION_ENTITY aon - ON sf.plan_no = aon.ENTITY_CODE - WHERE - aon.MANAGER_ORG_CODE=#{managerOrgCode,jdbcType=VARCHAR} - AND - sf.PLAN_TYPE = 'SPV' - - - - SELECT - COUNT(*) - FROM - ABS_PLAN - WHERE - LAST_UPDATE_DATE != #{curDate,jdbcType=DATE} - AND - STATUS IN - - #{one,jdbcType=VARCHAR} - - - - - - - - - SELECT - * - FROM - ABS_PLAN - WHERE - STATUS in - - #{one,jdbcType=VARCHAR} - - - AND PLAN_TYPE = #{planType,jdbcType=VARCHAR} - - - AND ( - PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') - OR - PLAN_NO = #{planName,jdbcType=VARCHAR} - ) - - - AND PLAN_NO IN (SELECT ENTITY_CODE FROM ABS_ORGANIZATION_ENTITY WHERE MANAGER_ORG_CODE = - #{managerOrgCode,jdbcType=VARCHAR} ) - - - AND END_DATE <= #{latestEndDate,jdbcType=DATE} - - - AND END_DATE >= #{earliestEndDate,jdbcType=DATE} - - ORDER BY PLAN_TYPE,BEGIN_DATE,PLAN_NAME - - - - SELECT - * - FROM - ABS_PLAN - WHERE - POND_NO = #{pondNo,jdbcType=VARCHAR} - - AND - PLAN_TYPE = #{planType,jdbcType=VARCHAR} - - ORDER BY END_DATE DESC - - - - SELECT - * - FROM - ABS_PLAN - WHERE - APPROVE_STATUS = 'PASSED' - AND - PLAN_TYPE = #{planType,jdbcType=VARCHAR} - AND - SPONSOR_ORG_CODE - IN - - #{sponsorOrgCode,jdbcType=VARCHAR} - - ORDER BY GMT_CREATE DESC - - - - SELECT - * - FROM - ABS_PLAN - WHERE - POND_NO IN - - #{pondNo,jdbcType=VARCHAR} - - - AND - STATUS IN - - #{status,jdbcType=VARCHAR} - - - ORDER BY END_DATE DESC - - - - select * from abs_plan where end_date = trunc(#{endDate,jdbcType=DATE}) - -
-- Gitee From 3142549ec48c382cab5af89f3df1ab6a562cd8a3 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Thu, 8 Sep 2022 13:22:18 +0800 Subject: [PATCH 12/44] =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=B1=A0=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E6=8F=90=E5=8D=87=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dalgen/abs/coll_org.xml | 183 -------------- dalgen/abssqrTables/TB_TEST.xml | 122 --------- dalgen/config.xml | 102 -------- dalgen/config/README.md | 7 - dalgen/config/config.xml | 111 -------- dalgen/config/table-config-1.0.dtd | 238 ------------------ dalgen/ext/init.sql.ftl | 34 --- dalgen/ext/mybatis-config.xml.ftl | 57 ----- dalgen/ext/toOracle.sql.ftl | 19 -- dalgen/oracleTables/ABS_LOAN.xml | 125 --------- dalgen/oracleTables/ABS_LOAN_AST.xml | 96 ------- dalgen/qiudxTables/SERVER_COST.xml | 84 ------- mybatis-maven-plugin.iml | 2 + pom.xml | 29 ++- .../cn/dalgen/mybatis/ddl/DalddlMojo.java | 0 .../extend/dml/OracleDmlChangeService.java | 92 ------- .../gen/dataloaders/AbstractDalgenLoader.java | 17 +- .../mybatis/gen/dataloaders/DalgenLoader.java | 7 +- .../gen/dataloaders/DalgenTbLoader.java | 5 +- .../gen/datasources/DBConnectionFactory.java | 4 + .../gen/model/repository/TableRepository.java | 7 +- .../repository/db/JDBCTableRepository.java | 49 ++-- .../db/database/DataBaseInfoService.java | 14 +- .../db/database/MySqlDataBaseInfoService.java | 31 +-- .../database/OracleDataBaseInfoService.java | 90 +++---- .../database/proxy/InvocationHandlerImpl.java | 10 +- .../mybatis/gen/utils/DalgenThreadUtil.java | 54 ++++ .../mybatis/gen/utils/HikaricpUtils.java | 70 ++++++ .../dalgen/mybatis/gen/utils/SqlExecutor.java | 3 +- src/main/resources/hikaricp.properties | 6 + .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 31 files changed, 271 insertions(+), 1399 deletions(-) delete mode 100644 dalgen/abs/coll_org.xml delete mode 100644 dalgen/abssqrTables/TB_TEST.xml delete mode 100644 dalgen/config.xml delete mode 100644 dalgen/config/README.md delete mode 100644 dalgen/config/config.xml delete mode 100644 dalgen/config/table-config-1.0.dtd delete mode 100644 dalgen/ext/init.sql.ftl delete mode 100644 dalgen/ext/mybatis-config.xml.ftl delete mode 100644 dalgen/ext/toOracle.sql.ftl delete mode 100644 dalgen/oracleTables/ABS_LOAN.xml delete mode 100644 dalgen/oracleTables/ABS_LOAN_AST.xml delete mode 100644 dalgen/qiudxTables/SERVER_COST.xml mode change 100755 => 100644 src/main/java/cn/dalgen/mybatis/ddl/DalddlMojo.java delete mode 100644 src/main/java/cn/dalgen/mybatis/extend/dml/OracleDmlChangeService.java create mode 100644 src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java create mode 100644 src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java create mode 100644 src/main/resources/hikaricp.properties diff --git a/dalgen/abs/coll_org.xml b/dalgen/abs/coll_org.xml deleted file mode 100644 index 46a8273..0000000 --- a/dalgen/abs/coll_org.xml +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - ID,STATUS,ORG_CODE,ORG_NAME,ORG_TYPE - ,GMT_CREATE,GMT_MODIFIED - - - - - sf.ID,sf.STATUS,sf.ORG_CODE,sf.ORG_NAME,sf.ORG_TYPE - ,sf.GMT_CREATE,sf.GMT_MODIFIED - - - - - - - - - - SELECT - LAST_INSERT_ID() - - - - - - - - INSERT INTO coll_org( - ID - ,STATUS - ,ORG_CODE - ,ORG_NAME - ,ORG_TYPE - ,GMT_CREATE - ,GMT_MODIFIED - )VALUES - - ( - null - , #{item.status,jdbcType=VARCHAR} - , #{item.orgCode,jdbcType=VARCHAR} - , #{item.orgName,jdbcType=VARCHAR} - , #{item.orgType,jdbcType=VARCHAR} - , now() - , now() - ) - - - - - INSERT INTO coll_org( - ID - ,STATUS - ,ORG_CODE - ,ORG_NAME - ,ORG_TYPE - ,GMT_CREATE - ,GMT_MODIFIED - )VALUES - - ( - null - , #{item.status,jdbcType=VARCHAR} - , #{item.orgCode,jdbcType=VARCHAR} - , #{item.orgName,jdbcType=VARCHAR} - , #{item.orgType,jdbcType=VARCHAR} - , now() - , now() - ) - - - - - - - - - - SELECT * - FROM coll_org - WHERE - - - - - - - - - - - - - - SELECT * - FROM coll_org - WHERE - - - - - SELECT * - FROM diary_relation AS t1 JOIN - ( - SELECT ROUND - ( - RAND() \\* - ( - (SELECT MAX(id) FROM diary_relation)-(SELECT MIN(id) FROM diary_relation) - ) + - ( - SELECT MIN(id) FROM diary_relation - ) - ) AS id - ) AS t2 - WHERE t1.id >= t2.id - - AND t1.level = #{level,jdbcType=INTEGER} - AND t1.level = #{a,jdbcType=INTEGER} - - ORDER BY t1.id LIMIT #{limit}; - - - SELECT * FROM loan_verify_data_task WHERE id >= (SELECT floor(RAND() /*/ (SELECT MAX(id) FROM loan_verify_data_task))) ORDER BY id LIMIT 0,5 - -
diff --git a/dalgen/abssqrTables/TB_TEST.xml b/dalgen/abssqrTables/TB_TEST.xml deleted file mode 100644 index 1dc4d92..0000000 --- a/dalgen/abssqrTables/TB_TEST.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - ID,AMT,CODE,NAME,DD - ,DT - - - - - sf.ID,sf.AMT,sf.CODE,sf.NAME,sf.DD - ,sf.DT - - - - - - - - - - INSERT INTO tb_test( - ID - ,AMT - ,CODE - ,NAME - ,DD - ,DT - )VALUES - - ( - null - , #{item.amt,jdbcType=DECIMAL} - , #{item.code,jdbcType=VARCHAR} - , #{item.name,jdbcType=VARCHAR} - , #{item.dd,jdbcType=DATE} - , #{item.dt,jdbcType=DATETIME} - ) - - - - - - - - - - SELECT * - FROM tb_test - WHERE - - - - - - - - - - - - - - SELECT * - FROM tb_test - WHERE - - - -
diff --git a/dalgen/config.xml b/dalgen/config.xml deleted file mode 100644 index 74af1be..0000000 --- a/dalgen/config.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dalgen/config/README.md b/dalgen/config/README.md deleted file mode 100644 index 7c20bb7..0000000 --- a/dalgen/config/README.md +++ /dev/null @@ -1,7 +0,0 @@ -> mybatis代码生成器,参考蚂蚁金服idalgen针对mybatis重新定义的一套代码生成器,idalgen在蚂蚁内部绝大多数应用都强制使用,优化版代码生成器除具有idalgen类似语法外,额外提供了常用的扩展功能 如List 自动转 Map,Map>等进一步减少体力开发 - -[项目文档](http://git.oschina.net/bangis/mybatis.generator/wikis/pages) - -
- -
diff --git a/dalgen/config/config.xml b/dalgen/config/config.xml deleted file mode 100644 index 8913fb9..0000000 --- a/dalgen/config/config.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dalgen/config/table-config-1.0.dtd b/dalgen/config/table-config-1.0.dtd deleted file mode 100644 index 02af3d5..0000000 --- a/dalgen/config/table-config-1.0.dtd +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dalgen/ext/init.sql.ftl b/dalgen/ext/init.sql.ftl deleted file mode 100644 index c514b47..0000000 --- a/dalgen/ext/init.sql.ftl +++ /dev/null @@ -1,34 +0,0 @@ -<@pp.dropOutputFile /> -<#list dalgen.tables as table> - <@pp.changeOutputFile name = "/main/resources/oracle/${table.sqlName}.sql" /> - -CREATE TABLE ${table.sqlName?upper_case}( - <#list table.columnList as column> - ${column.sqlName?upper_case} ${column.sqlType?upper_case}, - - - "ID" NUMBER, - "NAME" VARCHAR2(20 BYTE), - "CODE" VARCHAR2(20 BYTE), - "AGE" NUMBER, - "IN_COME" NUMBER(20,2), - PRIMARY KEY("ID","CODE") -) ; - -COMMENT ON TABLE "TABLE6" is '标注释'; -COMMENT ON COLUMN "TABLE6"."ID" IS '主键'; -COMMENT ON COLUMN "TABLE6"."NAME" IS '姓名'; -COMMENT ON COLUMN "TABLE6"."CODE" IS 'code'; -COMMENT ON COLUMN "TABLE6"."AGE" IS '年龄'; -COMMENT ON COLUMN "TABLE6"."IN_COME" IS '收入'; - -commit; - - - -create table ${table.sqlName?upper_case} - <#list table.columnList as column> - <#if column_index gt 0>,${column.sqlName} ,${column.sqlType},${column.length!""} ,${column.precision!""},${column.scale!""},,${column.remarks!""} - - - diff --git a/dalgen/ext/mybatis-config.xml.ftl b/dalgen/ext/mybatis-config.xml.ftl deleted file mode 100644 index 1dd812a..0000000 --- a/dalgen/ext/mybatis-config.xml.ftl +++ /dev/null @@ -1,57 +0,0 @@ -<@pp.dropOutputFile /> -<#assign tmpTables = dalgen.tmpCfTables> -<@pp.changeOutputFile name = "/main/resources/mybatis-config.xml" /> - - -<#assign enumTypes = pp.newWritableSequence()> -<#assign jsonTypes = pp.newWritableSequence()> -<#assign othTypes = pp.newWritableSequence()> -<#list tmpTables as tmpTable> - <#list tmpTable.columns as column> - <#if column.javatype?lower_case?starts_with(dalgen.config.getCustomerProperty("enumPathBase")!null)> - <#if !enumTypes?seq_contains(column.javatype)> - <@pp.add seq=enumTypes value="${column.javatype}" /> - - <#elseif column.javatype?lower_case?starts_with(dalgen.config.getCustomerProperty("jsonPathBase")!null)> - <#if !jsonTypes?seq_contains(column.javatype)> - <@pp.add seq=jsonTypes value="${column.javatype}" /> - - <#elseif !othTypes?seq_contains(column.javatype) && !column.javatype?lower_case?starts_with("com.alibaba.hr.common.util.encrypt")> - <@pp.add seq=othTypes value="${column.javatype}" /> - - - - - - - - - -<#-- - - - - - - - -<#list enumTypes as enumType> - - -<#list jsonTypes as jsonType> - - -<#list othTypes as othType> - - ---> - - - - - <#--<#list dalgen.doMappers as doMapper>--> - <#----> - <#----> - - diff --git a/dalgen/ext/toOracle.sql.ftl b/dalgen/ext/toOracle.sql.ftl deleted file mode 100644 index 0da244c..0000000 --- a/dalgen/ext/toOracle.sql.ftl +++ /dev/null @@ -1,19 +0,0 @@ -<@pp.dropOutputFile /> -<@pp.changeOutputFile name = "/main/resources/oracle/toOracle.sql" /> -<#list dalgen.tables as table> -CREATE TABLE ${table.sqlName?upper_case}( - <#list table.columnList as column> - <#if column_index gt 0>,${column.sqlName?upper_case} ${column.sqlType?upper_case},<#if column.sqlName?upper_case=="ID">NOT NULL - - , CONSTRAINT TB_TEST_PK PRIMARY KEY - ( - ID - ) - ENABLE -); - -COMMENT ON TABLE ${table.sqlName?upper_case} IS '${table.remark!}'; -<#list table.columnList as column> -COMMENT ON COLUMN ${table.sqlName?upper_case}.${column.sqlName?upper_case} IS '${column.remarks!}'; - - diff --git a/dalgen/oracleTables/ABS_LOAN.xml b/dalgen/oracleTables/ABS_LOAN.xml deleted file mode 100644 index ebe7156..0000000 --- a/dalgen/oracleTables/ABS_LOAN.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - CODE,SEX,NAME - - - - - sf.CODE,sf.SEX,sf.NAME - - - - - - - - - - INSERT INTO abs_loan( - CODE - ,SEX - ,NAME - )VALUES - - ( - #{item.code,jdbcType=NUMBER} - , #{item.sex,jdbcType=VARCHAR2} - , #{item.name,jdbcType=VARCHAR2} - ) - - - - - - - - - - SELECT * - FROM abs_loan - WHERE - - - - - - - - - - - - - - SELECT * - FROM abs_loan - WHERE - - - - - - SELECT * - FROM abs_loan - WHERE - - - - - - SELECT *, ROWNUM RN - FROM abs_loan - WHERE - - ORDER BY name desc - -
diff --git a/dalgen/oracleTables/ABS_LOAN_AST.xml b/dalgen/oracleTables/ABS_LOAN_AST.xml deleted file mode 100644 index 0de9aac..0000000 --- a/dalgen/oracleTables/ABS_LOAN_AST.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - ID,CODE,NAME - ,ROWNUM RN - - - - - sf.ID,sf.CODE,sf.NAME - ,ROWNUM RN - - - - - - - - - - INSERT INTO abs_loan_ast( - ID - ,CODE - ,NAME - )VALUES - - ( - null - , #{item.code,jdbcType=VARCHAR2} - , #{item.name,jdbcType=VARCHAR2} - ) - - - - - - - - - - SELECT * - FROM abs_loan_ast - WHERE - - - - - - SELECT * - FROM abs_loan_ast - WHERE - - - - - SELECT *, ROWNUM RN - FROM abs_loan - WHERE - - ORDER BY name desc - -
diff --git a/dalgen/qiudxTables/SERVER_COST.xml b/dalgen/qiudxTables/SERVER_COST.xml deleted file mode 100644 index 4c21c4f..0000000 --- a/dalgen/qiudxTables/SERVER_COST.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - COST_VALUE,DEFAULT_VALUE,COMMENT,COST_NAME,LAST_UPDATE - - - - - sf.COST_VALUE,sf.DEFAULT_VALUE,sf.COMMENT,sf.COST_NAME,sf.LAST_UPDATE - - - - - - - - - - INSERT INTO server_cost( - COST_VALUE - ,DEFAULT_VALUE - ,COMMENT - ,COST_NAME - ,LAST_UPDATE - )VALUES - - ( - #{item.costValue,jdbcType=FLOAT} - , #{item.defaultValue,jdbcType=FLOAT} - , #{item.comment,jdbcType=VARCHAR} - , #{item.costName,jdbcType=VARCHAR} - , #{item.lastUpdate,jdbcType=TIMESTAMP} - ) - - - - - - - - - - SELECT * - FROM server_cost - WHERE - - - -
diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index 07a5319..cf55231 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -65,5 +65,7 @@ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 77386f4..b869950 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.7 + 2.2.7.1 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -147,6 +147,12 @@ 8.0 provided + + com.zaxxer + HikariCP + 4.0.3 + + @@ -168,7 +174,11 @@ - + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + maven-source-plugin 2.4 @@ -189,6 +199,21 @@ 1.7 + + cn.dalgen.plugins + mybatis-maven-plugin + 2.2.7.1 + + src/out + + + + com.oracle + ojdbc + 8.0 + + + diff --git a/src/main/java/cn/dalgen/mybatis/ddl/DalddlMojo.java b/src/main/java/cn/dalgen/mybatis/ddl/DalddlMojo.java old mode 100755 new mode 100644 diff --git a/src/main/java/cn/dalgen/mybatis/extend/dml/OracleDmlChangeService.java b/src/main/java/cn/dalgen/mybatis/extend/dml/OracleDmlChangeService.java deleted file mode 100644 index 325a677..0000000 --- a/src/main/java/cn/dalgen/mybatis/extend/dml/OracleDmlChangeService.java +++ /dev/null @@ -1,92 +0,0 @@ -/** - * abssqr.com Inc. - * Copyright (c) 2017-2019 All Rights Reserved. - */ -package cn.dalgen.mybatis.extend.dml; - -import java.sql.Connection; -import java.util.Scanner; - -import cn.dalgen.mybatis.extend.CustomExtendService; -import cn.dalgen.mybatis.gen.datasources.DBConnectionFactory; - -/** - * - * @author bangis.wangdf - * @version cn.dalgen.mybatis.extend.dml: OracleDmlChangeService.java, v 0.1 2019-11-14 16:54 bangis.wangdf Exp $ - */ -public class OracleDmlChangeService implements CustomExtendService { - @Override - public String extendCmd() { - return "oralDmlChange"; - } - - @Override - public String extendCmdMemo() { - return "Oracle表结构变更对比"; - } - - @Override - public String execute(Scanner cmdIn) { - Connection connection = DBConnectionFactory.getConnection(); - return null; - } - - /* - - - SELECT TABLE_NAME,TABLE_TYPE,COMMENTS as TABLE_COMMENT from USER_TAB_COMMENTS; - - - -select l.*,r.* from -(select * from all_tab_comments where owner='ABSSQR_QRY') l -FULL JOIN -(select * from all_tab_comments where owner='ABSSQR_TEST') r -on l.table_name=r.table_name -where l.table_type='TABLE' AND -( - l.table_name is null or r.table_name is null -); - - - -select * from ( -SELECT - t.owner, - t.table_name, - t.column_name, - t.data_type, - t.column_id AS ordinal_position, - t.data_default AS column_default, - t.data_length AS c_length, - t.data_precision AS c_precision, - t.data_scale AS c_scale, - c.comments AS column_comment -FROM - all_tab_columns t -LEFT JOIN all_col_comments c -ON t.owner=c.owner and t.table_name = c.table_name AND t.column_name = c.column_name -ORDER BY - t.owner, - t.table_name, - t.column_id ASC) -where table_name in -( - select l.table_name from - (select * from all_tab_comments where owner='ABSSQR_QRY') l - FULL JOIN - (select * from all_tab_comments where owner='ABSSQR_TEST') r - on l.table_name=r.table_name - where l.table_type='TABLE' AND r.table_name is null -) - -; - - -SELECT username FROM DBA_USERS T WHERE T.USERNAME NOT IN ('SYS','SYSTEM','OUTLN') AND account_status ='OPEN'; - - - - */ -} diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java index 05a7b75..0a174a7 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java @@ -3,6 +3,7 @@ package cn.dalgen.mybatis.gen.dataloaders; import cn.dalgen.mybatis.gen.model.Gen; import cn.dalgen.mybatis.gen.datasources.DBConnectionFactory; import cn.dalgen.mybatis.gen.utils.ConfigUtil; +import cn.dalgen.mybatis.gen.utils.HikaricpUtils; import fmpp.Engine; import fmpp.tdd.DataLoader; import org.apache.commons.lang.StringUtils; @@ -12,6 +13,8 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.List; +import javax.sql.DataSource; + /** * Created by bangis.wangdf on 15/12/12. Desc */ @@ -46,18 +49,13 @@ public abstract class AbstractDalgenLoader implements DataLoader { if (!tablesFile.exists()) { tablesFile.mkdir(); } - - Connection connection = null; try { - connection = DBConnectionFactory.getConnection(); + HikaricpUtils.getDataSource(ConfigUtil.getCurrentDb()); gen.setDbType(ConfigUtil.getCurrentDb().getType()); gen.setConfig(ConfigUtil.getConfig()); - load(gen, connection, tablesFile); - + load(gen, tablesFile); } finally { - if (connection != null) { - connection.close(); - } + HikaricpUtils.close(); } return gen; @@ -67,10 +65,9 @@ public abstract class AbstractDalgenLoader implements DataLoader { * Load. * * @param gen the gen - * @param connection the connection * @throws SQLException the sql exception */ - public abstract void load(Gen gen, Connection connection, File tablesFile) throws Exception; + public abstract void load(Gen gen, File tablesFile) throws Exception; /** * File 2 db name string. diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 5de597b..fe6dab2 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -81,12 +81,11 @@ public class DalgenLoader extends AbstractDalgenLoader { * Load. * * @param gen the gen - * @param connection the connection * @param tablesFile the tables file * @throws Exception the exception */ @Override - public void load(Gen gen, Connection connection, File tablesFile) throws Exception { + public void load(Gen gen, File tablesFile) throws Exception { String cmd = ConfigUtil.getCmd(); //解析所有table.xml(为生成sqlMap.xml做准备) Map cfTableMap = Maps.newHashMap(); @@ -124,7 +123,7 @@ public class DalgenLoader extends AbstractDalgenLoader { //获取到所有表相关信息 for (String tbName : cfTableMap.keySet()) { - Table table = tableRepository.gainTable(connection, tbName, cfTableMap.get(tbName)); + Table table = tableRepository.gainTable(tbName, cfTableMap.get(tbName)); gen.addTmpTable(table); } @@ -134,7 +133,7 @@ public class DalgenLoader extends AbstractDalgenLoader { for (String tbName : needGenTableNames) { tableMap.put(StringUtils.upperCase(tbName), - tableRepository.gainTable(connection, tbName, cfTableMap.get(tbName))); + tableRepository.gainTable(tbName, cfTableMap.get(tbName))); } //根据需要重新生成的表 准备数据 diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java index 06f0b4b..27d81fa 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenTbLoader.java @@ -33,10 +33,9 @@ public class DalgenTbLoader extends AbstractDalgenLoader { * Load. * * @param gen the gen - * @param connection the connection */ @Override - public void load(Gen gen, Connection connection, File tablesFile) throws SQLException { + public void load(Gen gen, File tablesFile) throws SQLException { String cmd = ConfigUtil.getCmd(); if (StringUtils.equals(StringUtils.trim(cmd), "*")) { @@ -67,7 +66,7 @@ public class DalgenTbLoader extends AbstractDalgenLoader { ConfigUtil.setNeedGenTableNames(neadInitTables); for (String neadInitTable : neadInitTables) { LOG.info("初始化表:" + neadInitTable); - gen.addTable(tableRepository.gainTable(connection, neadInitTable, null)); + gen.addTable(tableRepository.gainTable( neadInitTable, null)); } } } diff --git a/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java b/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java index 9402531..8963ded 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java +++ b/src/main/java/cn/dalgen/mybatis/gen/datasources/DBConnectionFactory.java @@ -27,6 +27,10 @@ public class DBConnectionFactory { Connection connection = null; try { LOG.debug("==== init connection"); + + + + if (StringUtils .equalsIgnoreCase("mysql", ConfigUtil.getCurrentDb().getType())) { JdbcConnectionDriver jdbcConnection = new JdbcConnectionDriver(); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java index 98d499b..04b3e0d 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/TableRepository.java @@ -24,23 +24,22 @@ public class TableRepository { /** * Gain table table. * - * @param connection the connection * @param tableName the table name * @param cfTable the cf table * @return the table * @throws SQLException the sql exception */ - public Table gainTable(Connection connection, String tableName, CfTable cfTable) + public Table gainTable( String tableName, CfTable cfTable) throws SQLException { long start =System.currentTimeMillis(); try { if (cfTable == null || !StringUtils.equalsIgnoreCase(cfTable.getPhysicalName(), "dual")) { if (StringUtils.equalsIgnoreCase(ConfigUtil.getCurrentDb().getType(), "mysql")) { JDBCTableRepository tableRepository = new JDBCTableRepository(); - return tableRepository.gainTable(connection, tableName, cfTable); + return tableRepository.gainTable(tableName, cfTable); } else { JDBCTableRepository tableRepository = new JDBCTableRepository(); - return tableRepository.gainTable(connection, tableName, cfTable); + return tableRepository.gainTable(tableName, cfTable); } } else { Table table = new Table(); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java index 3183294..0c39c3b 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java @@ -19,6 +19,7 @@ import cn.dalgen.mybatis.gen.model.dbtable.UniqueIndex; import cn.dalgen.mybatis.gen.model.repository.db.database.DataBaseInfoHandler; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; +import cn.dalgen.mybatis.gen.utils.HikaricpUtils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; @@ -35,13 +36,12 @@ public class JDBCTableRepository { /** * Gain table table. * - * @param connection the connection * @param tableName the table name * @param cfTable the cf table * @return the table * @throws SQLException the sql exception */ - public Table gainTable(Connection connection, String tableName, CfTable cfTable) + public Table gainTable( String tableName, CfTable cfTable) throws SQLException { String physicalName = cfTable == null ? tableName : cfTable.getPhysicalName(); String logicName = tableName; @@ -79,15 +79,15 @@ public class JDBCTableRepository { } table.setPhysicalName(physicalName); - String tableRemark = queryTableRemark(connection, tableName, logicName); + String tableRemark = queryTableRemark( tableName, logicName); table.setRemark(tableRemark); //填充字段 - fillColumns(physicalName, connection, table, cfColumns, cfTable); + fillColumns(physicalName, table, cfColumns, cfTable); //主键,唯一约束,索引 - fillPrimaryUniqueIndexKeys(connection, physicalName, table); + fillPrimaryUniqueIndexKeys( physicalName, table); //是否满足软删除 if (ConfigUtil.getConfig().getDeleteColumn() != null) { @@ -110,17 +110,15 @@ public class JDBCTableRepository { /** * 获取表中文注释 * - * @param connection * @param tableName * @param logicName * @return * @throws SQLException */ - private String queryTableRemark(Connection connection, String tableName, String logicName) + private String queryTableRemark(String tableName, String logicName) throws SQLException { if (MapUtils.isEmpty(tableRemarkMap)) { - tableRemarkMap = DataBaseInfoHandler.getDataBaseInfoService().getAllTableRemark( - connection); + tableRemarkMap = DataBaseInfoHandler.getDataBaseInfoService().getAllTableRemark(); } final String remark = tableRemarkMap.get(StringUtils.upperCase(tableName)); return StringUtils.isBlank(remark) ? logicName : remark; @@ -129,12 +127,11 @@ public class JDBCTableRepository { /** * 主键,唯一约束,索引. 支持联合主键,主键仅有一个字段是 主键名替换为字段名 * - * @param connection the connection * @param tableName the table name * @param table the table * @throws SQLException the sql exception */ - private void fillPrimaryUniqueIndexKeys(Connection connection, String tableName, Table table) + private void fillPrimaryUniqueIndexKeys(String tableName, Table table) throws SQLException { //有哪些主键 @@ -143,34 +140,32 @@ public class JDBCTableRepository { //有哪些唯一索引 List uniqueNameList = Lists.newArrayList(); - fillPrimaryKeys(connection, tableName, table, pkNameList); + fillPrimaryKeys(tableName, table, pkNameList); //唯一约束 用于生成 select update - fillUniqueIndex(connection, tableName, table, pkNameList, uniqueNameList); + fillUniqueIndex(tableName, table, pkNameList, uniqueNameList); //普通索引 用于生成 select - fillNormalIndex(connection, tableName, table, pkNameList, uniqueNameList); + fillNormalIndex( tableName, table, pkNameList, uniqueNameList); } /** * 普通索引 用于生成 select * - * @param connection * @param tableName * @param table * @param pkNameList * @param uniqueNameList * @throws SQLException */ - private void fillNormalIndex(Connection connection, String tableName, Table table, - List pkNameList, List uniqueNameList) + private void fillNormalIndex( String tableName, Table table, List pkNameList, List uniqueNameList) throws SQLException { List indexNameList = Lists.newArrayList(); Map normalIndexMap = Maps.newHashMap(); - Map dbNormalIndexMap = DataBaseInfoHandler.getDataBaseInfoService().getNormalIndexs(connection, + Map dbNormalIndexMap = DataBaseInfoHandler.getDataBaseInfoService().getNormalIndexs( tableName); if (MapUtils.isNotEmpty(dbNormalIndexMap)) { for (Entry idxEntry : dbNormalIndexMap.entrySet()) { @@ -196,19 +191,17 @@ public class JDBCTableRepository { /** * 唯一约束 用于生成 select update * - * @param connection * @param tableName * @param table * @param pkNameList * @param uniqueNameList * @throws SQLException */ - private void fillUniqueIndex(Connection connection, String tableName, Table table, + private void fillUniqueIndex(String tableName, Table table, List pkNameList, List uniqueNameList) throws SQLException { - Map dbUniqueIndexMap = DataBaseInfoHandler.getDataBaseInfoService().getUniqueIndexs(connection, - tableName); + Map dbUniqueIndexMap = DataBaseInfoHandler.getDataBaseInfoService().getUniqueIndexs(tableName); Map uniqueIndexMap = Maps.newHashMap(); if (MapUtils.isNotEmpty(dbUniqueIndexMap)) { @@ -236,17 +229,15 @@ public class JDBCTableRepository { /** * 填充主键 * - * @param connection * @param tableName * @param table * @param pkNameList * @throws SQLException */ - private void fillPrimaryKeys(Connection connection, String tableName, Table table, + private void fillPrimaryKeys(String tableName, Table table, List pkNameList) throws SQLException { //支持联合主键 - Map dbPrimaryKeyMaps = DataBaseInfoHandler.getDataBaseInfoService().getPrimaryKeys(connection, - tableName); + Map dbPrimaryKeyMaps = DataBaseInfoHandler.getDataBaseInfoService().getPrimaryKeys(tableName); if (MapUtils.isNotEmpty(dbPrimaryKeyMaps)) { for (Entry pkEntry : dbPrimaryKeyMaps.entrySet()) { if (!pkNameList.contains(pkEntry.getValue())) { @@ -276,17 +267,15 @@ public class JDBCTableRepository { * Fill columns. * * @param tableName the table name - * @param connection the connection meta data * @param table the table * @param cfColumns the cf columns * @throws SQLException the sql exception */ - private void fillColumns(String tableName, Connection connection, Table table, + private void fillColumns(String tableName,Table table, List cfColumns, CfTable cfTable) throws SQLException { List> dbColumnMaps = DataBaseInfoHandler.getDataBaseInfoService() - .getAllColumnsByTableName(connection, - tableName); + .getAllColumnsByTableName(tableName); //指定表字段 //组装字段 diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoService.java index b0653ec..9268610 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoService.java @@ -24,11 +24,10 @@ public interface DataBaseInfoService { * * 获取所有表备注 * - * @param connection * @return * @throws SQLException */ - Map getAllTableRemark(Connection connection) throws SQLException; + Map getAllTableRemark() throws SQLException; /** * 获取表字段,类型,注释等 @@ -44,41 +43,38 @@ public interface DataBaseInfoService { * @return * @throws SQLException */ - List> getAllColumnsByTableName(Connection connection, String tableName) throws SQLException; + List> getAllColumnsByTableName(String tableName) throws SQLException; /** * 获取数据库主键 * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ - Map getPrimaryKeys(Connection connection, String tableName) throws SQLException; + Map getPrimaryKeys(String tableName) throws SQLException; /** * 获取数据库唯一约束 * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ - Map getUniqueIndexs(Connection connection, String tableName) throws SQLException; + Map getUniqueIndexs(String tableName) throws SQLException; /** * 获取数据库普通索引 * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ - Map getNormalIndexs(Connection connection, String tableName) throws SQLException; + Map getNormalIndexs(String tableName) throws SQLException; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java index 7667fd9..2f8ed31 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java @@ -4,7 +4,6 @@ */ package cn.dalgen.mybatis.gen.model.repository.db.database; -import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -13,6 +12,7 @@ import java.util.Map; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; +import cn.dalgen.mybatis.gen.utils.HikaricpUtils; import cn.dalgen.mybatis.gen.utils.ResultSetUtils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -40,13 +40,12 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { * * 获取所有表备注 * - * @param connection * @return */ @Override - public Map getAllTableRemark(Connection connection) throws SQLException { + public Map getAllTableRemark() throws SQLException { Map result = Maps.newHashMap(); - final PreparedStatement pstmt = connection.prepareStatement(table_comment); + final PreparedStatement pstmt = HikaricpUtils.getConnection().prepareStatement(table_comment); final ResultSet resultSet = pstmt.executeQuery(); while (resultSet.next()) { result.put(StringUtils.upperCase(resultSet.getString("TABLE_NAME")), @@ -64,17 +63,16 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { * COLUMN_DEFAULT 字段默认值 * COLUMN_COMMENT 字段备注 * - * @param connection * @param tableName * @return */ @Override - public List> getAllColumnsByTableName(Connection connection, String tableName) + public List> getAllColumnsByTableName(String tableName) throws SQLException { String schema = ConfigUtil.getCurrentDb().getPropertyMapVal("schema"); String sql = StringUtils.replace(table_cloumns, "${tableSchema}", schema); sql = StringUtils.replace(sql, "${tableName}", tableName); - final PreparedStatement pstmt = connection.prepareStatement(sql); + final PreparedStatement pstmt = HikaricpUtils.getConnection().prepareStatement(sql); ResultSet resultSet = pstmt.executeQuery(); List> result = Lists.newArrayList(); @@ -99,16 +97,15 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ @Override - public Map getPrimaryKeys(Connection connection, String tableName) throws SQLException { + public Map getPrimaryKeys( String tableName) throws SQLException { Map result = Maps.newHashMap(); - ResultSet resultSet = connection.getMetaData().getPrimaryKeys(null, null, StringUtils.lowerCase(tableName)); + ResultSet resultSet = HikaricpUtils.getConnection().getMetaData().getPrimaryKeys(null, null, StringUtils.lowerCase(tableName)); while (resultSet.next()) { String pkName = CamelCaseUtils.toCapitalizeCamelCase(ResultSetUtils.getRsStr(resultSet, "PK_NAME")); @@ -122,15 +119,14 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ @Override - public Map getUniqueIndexs(Connection connection, String tableName) throws SQLException { + public Map getUniqueIndexs(String tableName) throws SQLException { Map result = Maps.newHashMap(); - getDBIndex(connection, tableName, result, true); + getDBIndex( tableName, result, true); return result; } @@ -139,21 +135,20 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ @Override - public Map getNormalIndexs(Connection connection, String tableName) throws SQLException { + public Map getNormalIndexs( String tableName) throws SQLException { Map result = Maps.newHashMap(); - getDBIndex(connection, tableName, result, false); + getDBIndex(tableName, result, false); return result; } - private void getDBIndex(Connection connection, String tableName, Map result, boolean unique) + private void getDBIndex( String tableName, Map result, boolean unique) throws SQLException { - ResultSet indexResultSet = connection.getMetaData().getIndexInfo(null, null, StringUtils.lowerCase(tableName), + ResultSet indexResultSet = HikaricpUtils.getConnection().getMetaData().getIndexInfo(null, null, StringUtils.lowerCase(tableName), unique, false); while (indexResultSet.next()) { diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java index 8afe687..c30dca1 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java @@ -12,9 +12,11 @@ import java.util.Map; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; +import cn.dalgen.mybatis.gen.utils.DalgenThreadUtil; import cn.dalgen.mybatis.gen.utils.ResultSetUtils; import cn.dalgen.mybatis.gen.utils.SqlExecutor; import cn.dalgen.mybatis.gen.utils.db.RsHandler; +import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; @@ -31,7 +33,7 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { private static final String TABLE_COMMENT = "SELECT TABLE_NAME,TABLE_TYPE,COMMENTS as TABLE_COMMENT from USER_TAB_COMMENTS "; - private static Map>> tableCloumnsCacheMap = Maps.newHashMap(); + private static Map>> tableCloumnsCacheMap = Maps.newConcurrentMap(); private static final String TABLE_CLOUMNS = "select t.TABLE_NAME,\n" @@ -46,7 +48,7 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { + "from user_tab_columns t\n" + " left join user_col_comments c on t.table_name = c.table_name and t.column_name = c" + ".column_name\n" - + "where t.TABLE_NAME in(${tableName})\n" + + "where t.TABLE_NAME ='${tableName}'\n" + "order by t.TABLE_NAME, t.COLUMN_ID asc"; private static Map> tablePrimaryKeyCacheMap = Maps.newHashMap(); @@ -77,13 +79,12 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { * * 获取所有表备注 * - * @param connection * @return */ @Override - public Map getAllTableRemark(Connection connection) throws SQLException { - final Map result = Maps.newHashMap(); - SqlExecutor.query(connection, TABLE_COMMENT, new RsHandler() { + public Map getAllTableRemark() throws SQLException { + final Map result = Maps.newHashMap(); + SqlExecutor.query(TABLE_COMMENT, new RsHandler() { @Override public void accept(ResultSet resultSet) throws SQLException { result.put(StringUtils.upperCase(resultSet.getString("TABLE_NAME")), @@ -102,39 +103,43 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { * COLUMN_DEFAULT 字段默认值 * COLUMN_COMMENT 字段备注 * - * @param connection * @param tableName * @return */ @Override - public List> getAllColumnsByTableName(Connection connection, String tableName) - throws SQLException { + public List> getAllColumnsByTableName(String tableName) { String upperCaseTableName = StringUtils.upperCase(tableName); if (MapUtils.isEmpty(tableCloumnsCacheMap)) { - String sql = currSql(ConfigUtil.getNeedGenTableNameStr(), TABLE_CLOUMNS); - SqlExecutor.query(connection, sql, new RsHandler() { + + DalgenThreadUtil.run(ConfigUtil.getNeedGenTableNames(), new Function() { @Override - public void accept(ResultSet resultSet) throws SQLException { - String _tableName = resultSet.getString("TABLE_NAME"); - List> maps = tableCloumnsCacheMap.get(_tableName); - if (CollectionUtils.isEmpty(maps)) { - maps = Lists.newArrayList(); - tableCloumnsCacheMap.put(_tableName, maps); + public Void apply(String tableName) { + String sql = currSql(tableName, TABLE_CLOUMNS); + final List> maps = Lists.newArrayList(); + try { + SqlExecutor.query(sql, new RsHandler() { + @Override + public void accept(ResultSet resultSet) throws SQLException { + Map columnMap = Maps.newHashMap(); + columnMap.put("ORDINAL_POSITION", resultSet.getString("ORDINAL_POSITION")); + columnMap.put("COLUMN_NAME", ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME")); + columnMap.put("COLUMN_DEFAULT", ResultSetUtils.getRsStr(resultSet, "COLUMN_DEFAULT")); + columnMap.put("COLUMN_COMMENT", ResultSetUtils.getRsStr(resultSet, "COLUMN_COMMENT")); + columnMap.put("DATA_TYPE", ResultSetUtils.getRsStr(resultSet, "DATA_TYPE")); + columnMap.put("C_LENGTH", ResultSetUtils.getRsStr(resultSet, "C_LENGTH")); + columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); + columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); + maps.add(columnMap); + } + }); + } catch (SQLException e) { + throw new RuntimeException(e); } - Map columnMap = Maps.newHashMap(); - columnMap.put("ORDINAL_POSITION", resultSet.getString("ORDINAL_POSITION")); - columnMap.put("COLUMN_NAME", ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME")); - columnMap.put("COLUMN_DEFAULT", ResultSetUtils.getRsStr(resultSet, "COLUMN_DEFAULT")); - columnMap.put("COLUMN_COMMENT", ResultSetUtils.getRsStr(resultSet, "COLUMN_COMMENT")); - columnMap.put("DATA_TYPE", ResultSetUtils.getRsStr(resultSet, "DATA_TYPE")); - columnMap.put("C_LENGTH", ResultSetUtils.getRsStr(resultSet, "C_LENGTH")); - columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); - columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); - // System.out.println(i++); 21609 - maps.add(columnMap); + tableCloumnsCacheMap.put(tableName, maps); + return null; } - }); + }, 5); } return tableCloumnsCacheMap.get(upperCaseTableName); } @@ -144,17 +149,16 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ @Override - public Map getPrimaryKeys(Connection connection, String tableName) throws SQLException { + public Map getPrimaryKeys(String tableName) throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); - if (!tablePrimaryKeyCacheMap.containsKey(upperCaseTableName)) { + if (MapUtils.isEmpty(tablePrimaryKeyCacheMap)) { String sql = currSql(upperCaseTableName, TABLE_PRIMARY_KEY); - SqlExecutor.query(connection, sql, new RsHandler() { + SqlExecutor.query(sql, new RsHandler() { @Override public void accept(ResultSet resultSet) throws SQLException { String _tableName = resultSet.getString("TABLE_NAME"); @@ -176,15 +180,14 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ @Override - public Map getUniqueIndexs(Connection connection, String tableName) throws SQLException { + public Map getUniqueIndexs(String tableName) throws SQLException { Map result = Maps.newHashMap(); - getDBIndex(connection, tableName, result, true); + getDBIndex(tableName, result, true); return result; } @@ -193,24 +196,23 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { * key: 字段名 * val: 主键名 注意转成驼峰结构 * - * @param connection * @param tableName * @return * @throws SQLException */ @Override - public Map getNormalIndexs(Connection connection, String tableName) throws SQLException { + public Map getNormalIndexs(String tableName) throws SQLException { Map result = Maps.newHashMap(); - getDBIndex(connection, tableName, result, false); + getDBIndex(tableName, result, false); return result; } - private void getDBIndex(Connection connection, String tableName, Map result, boolean unique) + private void getDBIndex(String tableName, Map result, boolean unique) throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); if (unique) { if (MapUtils.isEmpty(tableUKCacheMap)) { - cacheUkIdx(connection, tableUKCacheMap, upperCaseTableName, unique); + cacheUkIdx(tableUKCacheMap, upperCaseTableName, unique); } Map stringStringMap = tableUKCacheMap.get(upperCaseTableName); if (MapUtils.isNotEmpty(stringStringMap)) { @@ -218,7 +220,7 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { } } else { if (MapUtils.isEmpty(tableIdxCacheMap)) { - cacheUkIdx(connection, tableIdxCacheMap, upperCaseTableName, unique); + cacheUkIdx(tableIdxCacheMap, upperCaseTableName, unique); } Map stringStringMap = tableIdxCacheMap.get(upperCaseTableName); if (MapUtils.isNotEmpty(stringStringMap)) { @@ -227,14 +229,14 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { } } - private void cacheUkIdx(Connection connection, final Map> tableUKIdxCacheMap, + private void cacheUkIdx(final Map> tableUKIdxCacheMap, String tableName, boolean unique) throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); String sql = currSql(upperCaseTableName, TABLE_INDEX); String _uniqueness = unique ? "UNIQUE" : "NONUNIQUE"; sql = StringUtils.replace(sql, "${uniqueness}", _uniqueness); - SqlExecutor.query(connection, sql, new RsHandler() { + SqlExecutor.query(sql, new RsHandler() { @Override public void accept(ResultSet resultSet) throws SQLException { String _tableName = resultSet.getString("TABLE_NAME"); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java index 527491b..5a94630 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/proxy/InvocationHandlerImpl.java @@ -39,8 +39,12 @@ public class InvocationHandlerImpl implements InvocationHandler { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { stopwatch.reset(); - Object returnValue = method.invoke(subject, args); - // System.out.println(subject.getClass().getName()+"."+method.getName()+":"+stopwatch.elapsed(TimeUnit.SECONDS)); - return returnValue; + try { + return method.invoke(subject, args); + }catch (Throwable e){ + System.out.println(subject.getClass().getName()+"."+method.getName()+":"+stopwatch.elapsed(TimeUnit.MILLISECONDS)); + e.printStackTrace(); + throw e; + } } } \ No newline at end of file diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java b/src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java new file mode 100644 index 0000000..8117c48 --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java @@ -0,0 +1,54 @@ +/** + * abssqr.com Inc. + * Copyright (c) 2017-2021 All Rights Reserved. + */ + +package cn.dalgen.mybatis.gen.utils; + +import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +import com.google.common.base.Function; +import com.google.common.collect.Lists; +import org.apache.commons.collections.CollectionUtils; + +/** + * @author xiachenxiang + * @version com.abssqr.plat.common.util.utils: AbsThreadUtil.java, v 0.1 2021-04-08 4:46 PM xiachenxiang Exp $ + */ +public class DalgenThreadUtil { + + public static void run(List datas, final Function function, int threadSize) { + if (CollectionUtils.isNotEmpty(datas)) { + BlockingQueue queue = new ArrayBlockingQueue<>(datas.size()); + // 2. 初始化线程池 + ThreadPoolExecutor executor = new ThreadPoolExecutor(threadSize, threadSize, 24 * 60 * 60, TimeUnit.SECONDS, + queue); + final CountDownLatch countDownLatch = new CountDownLatch(datas.size()); + for (final T data : datas) { + executor.execute(new Runnable() { + @Override + public void run() { + try { + function.apply(data); + } finally { + countDownLatch.countDown(); + } + } + }); + } + try {//所有都执行完毕 + countDownLatch.await(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException(e); + } finally { + executor.shutdown(); + } + } + } +} diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java b/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java new file mode 100644 index 0000000..c7442fc --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java @@ -0,0 +1,70 @@ +package cn.dalgen.mybatis.gen.utils; + +import javax.sql.DataSource; +import java.io.IOException; +import java.io.InputStream; +import java.sql.Connection; +import java.sql.SQLException; +import java.util.Properties; + +import cn.dalgen.mybatis.gen.model.db.DataBase; +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; + +/** + * Hikaricp数据库连接池工具类的设计 + * @author Mryang + */ +public class HikaricpUtils { + + // 定义HikariDataSource类型的dataSource + // 注意: 因为HikariDataSource类 实现了DataSource 接口。 因此 dataSource 即是HikariDataSource类型也是DataSource类型 + private static HikariDataSource dataSource; + + /** + * 获取数据源 + * @return + * @throws SQLException + * @throws IOException + * @param currentDb + */ + public static DataSource getDataSource(DataBase currentDb) { + // 因为dataSource是全局变量、默认初始化值为null + if (dataSource == null){ + // 通过字节输入流 读取 配置文件 hikaricp.properties + Properties props = new Properties(); + props.put("maximumPoolSize",30); + props.put("minimumIdle",10); + props.put("autoCommit",true); + props.put("validationTimeout",3000); + props.put("idleTimeout",60000); + props.put("dataSource.cachePrepStmts",true); + props.put("dataSource.prepStmtCacheSize",250); + props.put("dataSource.prepStmtCacheSqlLimit",2048); + props.put("driverClassName",currentDb.getDriverClass()); + props.put("jdbcUrl",currentDb.getPropertyMapVal("url")); + props.put("username",currentDb.getPropertyMapVal("userid")); + props.put("password",currentDb.getPropertyMapVal("password")); + // 再将封装好的props 传入到HikariConfig 类中,得到 config对象 + HikariConfig config = new HikariConfig(props); + // 将config对象传入给HikariDataSource ,返回dataSource + dataSource = new HikariDataSource(config); + } + // 返回dataSource + return dataSource; + } + + /** + * 通过数据源获取连接 + * @return + * @throws SQLException + */ + public static Connection getConnection() throws SQLException { + return dataSource.getConnection(); + } + public static void close(){ + if (dataSource == null){ + dataSource.close(); + } + } +} \ No newline at end of file diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java b/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java index fec7d1d..ad88725 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java @@ -8,7 +8,8 @@ import java.sql.Statement; import cn.dalgen.mybatis.gen.utils.db.RsHandler; public class SqlExecutor { - public static void query(Connection connection, String sql, RsHandler rsHandler) throws SQLException { + public static void query(String sql, RsHandler rsHandler) throws SQLException { + Connection connection = HikaricpUtils.getConnection(); boolean autoCommit = connection.getAutoCommit(); Statement statement=null; try { diff --git a/src/main/resources/hikaricp.properties b/src/main/resources/hikaricp.properties new file mode 100644 index 0000000..cd29cbf --- /dev/null +++ b/src/main/resources/hikaricp.properties @@ -0,0 +1,6 @@ +maximumPoolSize=30 +minimumIdle=10 +autoCommit=true +dataSource.cachePrepStmts=true +dataSource.prepStmtCacheSize=250 +dataSource.prepStmtCacheSqlLimit=2048 \ No newline at end of file diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index a047f37..9d2fe97 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("ABS_PLAN"); + ConfigUtil.setCmd("*"); } catch (IOException e) { LOG.error(e); } -- Gitee From 1915ee597f012a2d5c4f0ee433a45db1ed7854ed Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Thu, 8 Sep 2022 13:51:45 +0800 Subject: [PATCH 13/44] =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=B1=A0=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E6=8F=90=E5=8D=87=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../database/OracleDataBaseInfoService.java | 50 ++++++++----------- .../mybatis/gen/utils/DalgenThreadUtil.java | 2 + 2 files changed, 23 insertions(+), 29 deletions(-) diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java index c30dca1..7bd9c09 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java @@ -48,7 +48,7 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { + "from user_tab_columns t\n" + " left join user_col_comments c on t.table_name = c.table_name and t.column_name = c" + ".column_name\n" - + "where t.TABLE_NAME ='${tableName}'\n" + + "where t.TABLE_NAME in (${tableName})\n" + "order by t.TABLE_NAME, t.COLUMN_ID asc"; private static Map> tablePrimaryKeyCacheMap = Maps.newHashMap(); @@ -107,39 +107,31 @@ public class OracleDataBaseInfoService implements DataBaseInfoService { * @return */ @Override - public List> getAllColumnsByTableName(String tableName) { + public List> getAllColumnsByTableName(String tableName) throws SQLException { String upperCaseTableName = StringUtils.upperCase(tableName); - if (MapUtils.isEmpty(tableCloumnsCacheMap)) { - - DalgenThreadUtil.run(ConfigUtil.getNeedGenTableNames(), new Function() { + String sql = currSql(ConfigUtil.getNeedGenTableNameStr(), TABLE_CLOUMNS); + SqlExecutor.query(sql, new RsHandler() { @Override - public Void apply(String tableName) { - String sql = currSql(tableName, TABLE_CLOUMNS); - final List> maps = Lists.newArrayList(); - try { - SqlExecutor.query(sql, new RsHandler() { - @Override - public void accept(ResultSet resultSet) throws SQLException { - Map columnMap = Maps.newHashMap(); - columnMap.put("ORDINAL_POSITION", resultSet.getString("ORDINAL_POSITION")); - columnMap.put("COLUMN_NAME", ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME")); - columnMap.put("COLUMN_DEFAULT", ResultSetUtils.getRsStr(resultSet, "COLUMN_DEFAULT")); - columnMap.put("COLUMN_COMMENT", ResultSetUtils.getRsStr(resultSet, "COLUMN_COMMENT")); - columnMap.put("DATA_TYPE", ResultSetUtils.getRsStr(resultSet, "DATA_TYPE")); - columnMap.put("C_LENGTH", ResultSetUtils.getRsStr(resultSet, "C_LENGTH")); - columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); - columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); - maps.add(columnMap); - } - }); - } catch (SQLException e) { - throw new RuntimeException(e); + public void accept(ResultSet resultSet) throws SQLException { + String dbTableName = resultSet.getString("TABLE_NAME"); + List> maps = tableCloumnsCacheMap.get(dbTableName); + if(maps==null){ + maps = Lists.newArrayList(); + tableCloumnsCacheMap.put(dbTableName,maps); } - tableCloumnsCacheMap.put(tableName, maps); - return null; + Map columnMap = Maps.newHashMap(); + columnMap.put("ORDINAL_POSITION", resultSet.getString("ORDINAL_POSITION")); + columnMap.put("COLUMN_NAME", ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME")); + columnMap.put("COLUMN_DEFAULT", ResultSetUtils.getRsStr(resultSet, "COLUMN_DEFAULT")); + columnMap.put("COLUMN_COMMENT", ResultSetUtils.getRsStr(resultSet, "COLUMN_COMMENT")); + columnMap.put("DATA_TYPE", ResultSetUtils.getRsStr(resultSet, "DATA_TYPE")); + columnMap.put("C_LENGTH", ResultSetUtils.getRsStr(resultSet, "C_LENGTH")); + columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); + columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); + maps.add(columnMap); } - }, 5); + }); } return tableCloumnsCacheMap.get(upperCaseTableName); } diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java b/src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java index 8117c48..e885bde 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/DalgenThreadUtil.java @@ -34,8 +34,10 @@ public class DalgenThreadUtil { @Override public void run() { try { + System.out.println(Thread.currentThread().getName()); function.apply(data); } finally { + System.out.println(Thread.currentThread().getName()+"- finished"); countDownLatch.countDown(); } } -- Gitee From fca172dbededef7d5a9ce3678f64ab3708bac423 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 14 Sep 2022 09:47:25 +0800 Subject: [PATCH 14/44] =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=B1=A0=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E6=8F=90=E5=8D=87=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../database/OracleDataBaseInfoService.java | 4 - .../mybatis/gen/utils/HikaricpUtils.java | 58 +++++--- .../configTables/ABS_ALLOC_TRIAL_ITEM.xml | 133 ------------------ .../dalgen/configTables/ABS_COMMON_CODN.xml | 99 ------------- .../dalgen/templates/dalgen/XMLMapper.xml.ftl | 4 +- .../dalgen/templates/init/initTableXml.ftl | 15 ++ .../resources/dalgen/templates/lib/macro.ftl | 27 ++++ src/main/resources/hikaricp.properties | 6 - .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- .../java/cn/dalgen/mybatis/gen/SqlTest.java | 41 ++++++ 10 files changed, 123 insertions(+), 266 deletions(-) delete mode 100644 src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml delete mode 100644 src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml delete mode 100644 src/main/resources/hikaricp.properties create mode 100644 src/test/java/cn/dalgen/mybatis/gen/SqlTest.java diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java index 7bd9c09..f1a5f5c 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/OracleDataBaseInfoService.java @@ -4,7 +4,6 @@ */ package cn.dalgen.mybatis.gen.model.repository.db.database; -import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; @@ -12,14 +11,11 @@ import java.util.Map; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; -import cn.dalgen.mybatis.gen.utils.DalgenThreadUtil; import cn.dalgen.mybatis.gen.utils.ResultSetUtils; import cn.dalgen.mybatis.gen.utils.SqlExecutor; import cn.dalgen.mybatis.gen.utils.db.RsHandler; -import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java b/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java index c7442fc..28a79aa 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java @@ -1,18 +1,19 @@ package cn.dalgen.mybatis.gen.utils; -import javax.sql.DataSource; import java.io.IOException; -import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; +import javax.sql.DataSource; + import cn.dalgen.mybatis.gen.model.db.DataBase; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; /** * Hikaricp数据库连接池工具类的设计 + * * @author Mryang */ public class HikaricpUtils { @@ -23,47 +24,62 @@ public class HikaricpUtils { /** * 获取数据源 + * + * @param currentDb + * @return + * @throws SQLException + * @throws IOException + */ + public static DataSource getDataSource(DataBase currentDb) { + return getDataSource(currentDb.getDriverClass(), currentDb.getPropertyMapVal("url"), + currentDb.getPropertyMapVal("userid"), currentDb.getPropertyMapVal("password")); + } + + /** + * 获取数据源 + * * @return * @throws SQLException * @throws IOException - * @param currentDb */ - public static DataSource getDataSource(DataBase currentDb) { + public static DataSource getDataSource(String driverClassName, String jdbcUrl, String username, String password) { // 因为dataSource是全局变量、默认初始化值为null - if (dataSource == null){ + if (dataSource == null) { // 通过字节输入流 读取 配置文件 hikaricp.properties Properties props = new Properties(); - props.put("maximumPoolSize",30); - props.put("minimumIdle",10); - props.put("autoCommit",true); - props.put("validationTimeout",3000); - props.put("idleTimeout",60000); - props.put("dataSource.cachePrepStmts",true); - props.put("dataSource.prepStmtCacheSize",250); - props.put("dataSource.prepStmtCacheSqlLimit",2048); - props.put("driverClassName",currentDb.getDriverClass()); - props.put("jdbcUrl",currentDb.getPropertyMapVal("url")); - props.put("username",currentDb.getPropertyMapVal("userid")); - props.put("password",currentDb.getPropertyMapVal("password")); + props.put("maximumPoolSize", 30); + props.put("minimumIdle", 10); + props.put("autoCommit", true); + props.put("validationTimeout", 3000); + props.put("idleTimeout", 60000); + props.put("dataSource.cachePrepStmts", true); + props.put("dataSource.prepStmtCacheSize", 250); + props.put("dataSource.prepStmtCacheSqlLimit", 2048); + props.put("driverClassName", driverClassName); + props.put("jdbcUrl", jdbcUrl); + props.put("username", username); + props.put("password", password); // 再将封装好的props 传入到HikariConfig 类中,得到 config对象 HikariConfig config = new HikariConfig(props); // 将config对象传入给HikariDataSource ,返回dataSource dataSource = new HikariDataSource(config); } // 返回dataSource - return dataSource; + return dataSource; } /** * 通过数据源获取连接 + * * @return * @throws SQLException */ - public static Connection getConnection() throws SQLException { + public static Connection getConnection() throws SQLException { return dataSource.getConnection(); } - public static void close(){ - if (dataSource == null){ + + public static void close() { + if (dataSource == null) { dataSource.close(); } } diff --git a/src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml b/src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml deleted file mode 100644 index ddcf6ea..0000000 --- a/src/main/resources/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - ID,CURR_PAY,TRIAL_AMT,TRIAL_TAX_AMT,PLAN_NO - ,TITLE_NO,PAY_DATE,CLEAR_DATE,GMT_CREATE,GMT_MODIFIED - - - - - sf.ID,sf.CURR_PAY,sf.TRIAL_AMT,sf.TRIAL_TAX_AMT,sf.PLAN_NO - ,sf.TITLE_NO,sf.PAY_DATE,sf.CLEAR_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED - - - - - - - - - - - MERGE INTO abs_alloc_trial_item t1 - USING (SELECT #{item.clearDate,jdbcType=DATE} CLEAR_DATE, #{item.payDate,jdbcType=DATE} PAY_DATE, #{item.titleNo,jdbcType=VARCHAR} TITLE_NO FROM DUAL) t2 - ON (t1.CLEAR_DATE = t2.CLEAR_DATE and t1.PAY_DATE = t2.PAY_DATE and t1.TITLE_NO = t2.TITLE_NO) - WHEN MATCHED THEN UPDATE SET - CURR_PAY = #{item.currPay,jdbcType=DECIMAL} - ,TRIAL_AMT = #{item.trialAmt,jdbcType=DECIMAL} - ,TRIAL_TAX_AMT = #{item.trialTaxAmt,jdbcType=DECIMAL} - ,GMT_MODIFIED = sysdate - WHEN NOT MATCHED THEN INSERT ( - ID - ,CURR_PAY - ,TRIAL_AMT - ,TRIAL_TAX_AMT - ,PLAN_NO - ,TITLE_NO - ,PAY_DATE - ,CLEAR_DATE - ,GMT_CREATE - ,GMT_MODIFIED - )VALUES - ( - SEQ_ABS_ALLOC_TRIAL_ITEM.nextval - , #{item.currPay,jdbcType=DECIMAL} - , #{item.trialAmt,jdbcType=DECIMAL} - , #{item.trialTaxAmt,jdbcType=DECIMAL} - , #{item.planNo,jdbcType=VARCHAR} - , #{item.titleNo,jdbcType=VARCHAR} - , #{item.payDate,jdbcType=DATE} - , #{item.clearDate,jdbcType=DATE} - , sysdate - , sysdate - ) - - - - - - - - - - SELECT * - FROM abs_alloc_trial_item - WHERE - - - - - - SELECT * - FROM abs_alloc_trial_item - WHERE - - -
diff --git a/src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml b/src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml deleted file mode 100644 index b9ec0fa..0000000 --- a/src/main/resources/dalgen/configTables/ABS_COMMON_CODN.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - codn_sort,biz_code,biz_type,codn_attr,codn_code ,codn_exp - - - - - sf.codn_sort,sf.biz_code,sf.biz_type,sf.codn_attr,sf.codn_code ,sf.codn_exp - - - - - - - - - - - INSERT INTO abs_common_codn( - codn_sort - ,biz_code - ,biz_type - ,codn_attr - ,codn_code - ,codn_exp - )VALUES - ( - #{item.codnSort,jdbcType=DECIMAL} - , #{item.bizCode,jdbcType=VARCHAR} - , #{item.bizType,jdbcType=VARCHAR} - , #{item.codnAttr,jdbcType=VARCHAR} - , #{item.codnCode,jdbcType=VARCHAR} - , #{item.codnExp,jdbcType=VARCHAR} - ) - - - - - - - - - - - - - - - SELECT * - FROM abs_common_codn - WHERE - biz_type = #{bizType,jdbcType=VARCHAR} - and biz_code in - - #{bizCode,jdbcType=VARCHAR} - - - AND codn_attr IN - - #{codnAttr,jdbcType=VARCHAR} - - - ORDER BY biz_code,CODN_SORT ASC - - -
diff --git a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl index 6d43b20..74395ca 100644 --- a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl +++ b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl @@ -95,11 +95,11 @@ ${operation.cdata!} <#if operation.autoGen> <@m.autoGen operation.name ,xmlMapper.table/> <#else> - <#if operation.name=="insertBatch" && dalgen.dbType?lower_case=="oracle"> + <#if (operation.name=="insertBatch"||operation.name=="deleteBatch") && dalgen.dbType?lower_case=="oracle"> begin ${operation.cdata!} - <#if operation.name=="insertBatch" && dalgen.dbType?lower_case=="oracle"> + <#if (operation.name=="insertBatch"||operation.name=="deleteBatch") && dalgen.dbType?lower_case=="oracle"> ;end; diff --git a/src/main/resources/dalgen/templates/init/initTableXml.ftl b/src/main/resources/dalgen/templates/init/initTableXml.ftl index 6517540..ed5c3ac 100644 --- a/src/main/resources/dalgen/templates/init/initTableXml.ftl +++ b/src/main/resources/dalgen/templates/init/initTableXml.ftl @@ -22,6 +22,8 @@ <@m.insertBatchMethod table/> + <@m.oracleUpdateBatchMethod table/> + <#if table.primaryKeys??> + DELETE FROM ${table.sqlName} + WHERE + <#list table.primaryKeys.columnList as column> + <#if column_index gt 0>AND ${column.sqlName} = ${"#"}{${column.javaName},jdbcType=${column.sqlType}} + + ]]> + + + SELECT * FROM ${table.sqlName} diff --git a/src/main/resources/dalgen/templates/lib/macro.ftl b/src/main/resources/dalgen/templates/lib/macro.ftl index f9dcbd7..80df5f1 100644 --- a/src/main/resources/dalgen/templates/lib/macro.ftl +++ b/src/main/resources/dalgen/templates/lib/macro.ftl @@ -32,6 +32,33 @@ ]]> +<#macro oracleUpdateBatchMethod table> + <#if dalgen.dbType?lower_case=="oracle" && table.primaryKeys??> + + merge into ${table.sqlName} u + using + ( + + SELECT <#list table.columnList as column><#if column_index gt 0>, <#if dalgen.dbType?upper_case=="ORACLE" && column.sqlName?upper_case == "ID">SEQ_${table.sqlName?upper_case}.nextval <#else>${lib.insertVal(column,dalgen)} ${column.sqlName} + FROM dual + + ) t + on (<#list table.primaryKeys.columnList as column> <#if column_index gt 0>AND u.${column.sqlName} = t.${column.sqlName} ) + when matched then + update set + <#list table.columnList as column> + <#if column_index gt 0>,u.${column.sqlName} = t.${column.sqlName} + + when not matched then + insert ( + <#list table.columnList as column><#if column_index gt 0>,${column.sqlName}) + VALUES( + <#list table.columnList as column> t.${column.sqlName} + ) + + + <#macro insertBatchMethod table> <#if dalgen.dbType?lower_case=="oracle"> diff --git a/src/main/resources/hikaricp.properties b/src/main/resources/hikaricp.properties deleted file mode 100644 index cd29cbf..0000000 --- a/src/main/resources/hikaricp.properties +++ /dev/null @@ -1,6 +0,0 @@ -maximumPoolSize=30 -minimumIdle=10 -autoCommit=true -dataSource.cachePrepStmts=true -dataSource.prepStmtCacheSize=250 -dataSource.prepStmtCacheSqlLimit=2048 \ No newline at end of file diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index 9d2fe97..b0b34db 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("*"); + ConfigUtil.setCmd("ABS_COMMON_CODN"); } catch (IOException e) { LOG.error(e); } diff --git a/src/test/java/cn/dalgen/mybatis/gen/SqlTest.java b/src/test/java/cn/dalgen/mybatis/gen/SqlTest.java new file mode 100644 index 0000000..728585f --- /dev/null +++ b/src/test/java/cn/dalgen/mybatis/gen/SqlTest.java @@ -0,0 +1,41 @@ +package cn.dalgen.mybatis.gen; + +import java.sql.ResultSet; +import java.sql.SQLException; + +import cn.dalgen.mybatis.gen.utils.HikaricpUtils; +import cn.dalgen.mybatis.gen.utils.SqlExecutor; +import cn.dalgen.mybatis.gen.utils.db.RsHandler; +import org.apache.commons.lang.time.StopWatch; + +public class SqlTest { + public static void main(String[] args) throws SQLException { + String jdbc = "oracle.jdbc.driver.OracleDriver"; + String url = "jdbc:oracle:thin:@47.114.85.8:1521:orcl"; + String userid = "C##abssqr_dev"; + String password = "JUEDUI2tech"; + HikaricpUtils.getDataSource(jdbc, url, userid, password); + StopWatch stopWatch = new StopWatch(); + stopWatch.start(); + SqlExecutor.query("select t.TABLE_NAME,\n" + + " t.COLUMN_NAME,\n" + + " t.DATA_TYPE,\n" + + " t.COLUMN_ID as ORDINAL_POSITION,\n" + + " t.DATA_DEFAULT as COLUMN_DEFAULT,\n" + + " c.comments as COLUMN_COMMENT,\n" + + " t.DATA_LENGTH as C_LENGTH,\n" + + " t.DATA_PRECISION as C_PRECISION,\n" + + " t.DATA_SCALE as C_SCALE\n" + + "from user_tab_columns t\n" + + " left join user_col_comments c on t.table_name = c.table_name and t.column_name = c" + + ".column_name\n" + + "where t.TABLE_NAME like 'ABS%'\n" + + "order by t.TABLE_NAME, t.COLUMN_ID asc", new RsHandler() { + @Override + public void accept(ResultSet resultSet) throws SQLException { + System.out.println(resultSet.getString("TABLE_NAME") + " " + resultSet.getString("COLUMN_NAME")); + } + }); + System.out.println(stopWatch.getTime()); + } +} -- Gitee From 35ba539fb818ec9a337eb5c6ebb429c6f878b846 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 28 Sep 2022 14:46:46 +0800 Subject: [PATCH 15/44] =?UTF-8?q?mysql=20=E9=A9=B1=E5=8A=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 3 ++- pom.xml | 4 +-- .../db/database/MySqlDataBaseInfoService.java | 1 - .../mybatis/gen/utils/HikaricpUtils.java | 3 ++- src/main/resources/dalgen/config/config.xml | 26 +++++++++---------- .../resources/dalgen/templates/lib/macro.ftl | 2 +- .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 7 files changed, 21 insertions(+), 20 deletions(-) diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index cf55231..08bc24d 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -59,7 +59,8 @@ - + + diff --git a/pom.xml b/pom.xml index b869950..19327ac 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.7.1 + 2.3.0 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -122,7 +122,7 @@ mysql mysql-connector-java - 5.1.47 + 8.0.30 diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java index 2f8ed31..51a4097 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java @@ -106,7 +106,6 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { Map result = Maps.newHashMap(); ResultSet resultSet = HikaricpUtils.getConnection().getMetaData().getPrimaryKeys(null, null, StringUtils.lowerCase(tableName)); - while (resultSet.next()) { String pkName = CamelCaseUtils.toCapitalizeCamelCase(ResultSetUtils.getRsStr(resultSet, "PK_NAME")); result.put(ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME"), pkName); diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java b/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java index 28a79aa..1652a85 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java @@ -79,8 +79,9 @@ public class HikaricpUtils { } public static void close() { - if (dataSource == null) { + if (dataSource != null) { dataSource.close(); + dataSource=null; } } } \ No newline at end of file diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 40ce275..654aad2 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -29,22 +29,22 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/main/resources/dalgen/templates/lib/macro.ftl b/src/main/resources/dalgen/templates/lib/macro.ftl index 80df5f1..d24010e 100644 --- a/src/main/resources/dalgen/templates/lib/macro.ftl +++ b/src/main/resources/dalgen/templates/lib/macro.ftl @@ -54,7 +54,7 @@ insert ( <#list table.columnList as column><#if column_index gt 0>,${column.sqlName}) VALUES( - <#list table.columnList as column> t.${column.sqlName} + <#list table.columnList as column><#if column_index gt 0>,t.${column.sqlName} ) diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index b0b34db..9d2fe97 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("ABS_COMMON_CODN"); + ConfigUtil.setCmd("*"); } catch (IOException e) { LOG.error(e); } -- Gitee From 49e565fa02c96ff312671a583b1c875627c31169 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Sat, 8 Oct 2022 20:47:52 +0800 Subject: [PATCH 16/44] =?UTF-8?q?mysql=20=E9=A9=B1=E5=8A=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 1 + pom.xml | 8 +- .../gen/dataloaders/AbstractDalgenLoader.java | 10 +-- .../repository/db/JDBCTableRepository.java | 2 - .../db/database/MySqlDataBaseInfoService.java | 10 +-- .../mybatis/gen/utils/DataSourceUtils.java | 63 +++++++++++++++ .../dalgen/mybatis/gen/utils/SqlExecutor.java | 2 +- .../mybatis/gen/utils/db/DruidUtils.java | 79 +++++++++++++++++++ .../gen/utils/{ => db}/HikaricpUtils.java | 6 +- .../java/cn/dalgen/mybatis/gen/SqlTest.java | 41 ---------- 10 files changed, 161 insertions(+), 61 deletions(-) create mode 100644 src/main/java/cn/dalgen/mybatis/gen/utils/DataSourceUtils.java create mode 100644 src/main/java/cn/dalgen/mybatis/gen/utils/db/DruidUtils.java rename src/main/java/cn/dalgen/mybatis/gen/utils/{ => db}/HikaricpUtils.java (92%) delete mode 100644 src/test/java/cn/dalgen/mybatis/gen/SqlTest.java diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index 08bc24d..ebfe9fe 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -68,5 +68,6 @@ + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 19327ac..8a7fab1 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.3.0 + 2.3.1 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -152,7 +152,11 @@ HikariCP 4.0.3 - + + com.alibaba + druid + 1.2.13 + diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java index 0a174a7..f25639c 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java @@ -1,20 +1,16 @@ package cn.dalgen.mybatis.gen.dataloaders; import cn.dalgen.mybatis.gen.model.Gen; -import cn.dalgen.mybatis.gen.datasources.DBConnectionFactory; import cn.dalgen.mybatis.gen.utils.ConfigUtil; -import cn.dalgen.mybatis.gen.utils.HikaricpUtils; +import cn.dalgen.mybatis.gen.utils.DataSourceUtils; import fmpp.Engine; import fmpp.tdd.DataLoader; import org.apache.commons.lang.StringUtils; import java.io.File; -import java.sql.Connection; import java.sql.SQLException; import java.util.List; -import javax.sql.DataSource; - /** * Created by bangis.wangdf on 15/12/12. Desc */ @@ -50,12 +46,12 @@ public abstract class AbstractDalgenLoader implements DataLoader { tablesFile.mkdir(); } try { - HikaricpUtils.getDataSource(ConfigUtil.getCurrentDb()); + DataSourceUtils.initDataSource(ConfigUtil.getCurrentDb()); gen.setDbType(ConfigUtil.getCurrentDb().getType()); gen.setConfig(ConfigUtil.getConfig()); load(gen, tablesFile); } finally { - HikaricpUtils.close(); + DataSourceUtils.close(); } return gen; diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java index 0c39c3b..23d9d24 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java @@ -1,6 +1,5 @@ package cn.dalgen.mybatis.gen.model.repository.db; -import java.sql.Connection; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Date; @@ -19,7 +18,6 @@ import cn.dalgen.mybatis.gen.model.dbtable.UniqueIndex; import cn.dalgen.mybatis.gen.model.repository.db.database.DataBaseInfoHandler; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; -import cn.dalgen.mybatis.gen.utils.HikaricpUtils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java index 51a4097..83eb883 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/MySqlDataBaseInfoService.java @@ -12,7 +12,7 @@ import java.util.Map; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; -import cn.dalgen.mybatis.gen.utils.HikaricpUtils; +import cn.dalgen.mybatis.gen.utils.DataSourceUtils; import cn.dalgen.mybatis.gen.utils.ResultSetUtils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -45,7 +45,7 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { @Override public Map getAllTableRemark() throws SQLException { Map result = Maps.newHashMap(); - final PreparedStatement pstmt = HikaricpUtils.getConnection().prepareStatement(table_comment); + final PreparedStatement pstmt = DataSourceUtils.getConnection().prepareStatement(table_comment); final ResultSet resultSet = pstmt.executeQuery(); while (resultSet.next()) { result.put(StringUtils.upperCase(resultSet.getString("TABLE_NAME")), @@ -72,7 +72,7 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { String schema = ConfigUtil.getCurrentDb().getPropertyMapVal("schema"); String sql = StringUtils.replace(table_cloumns, "${tableSchema}", schema); sql = StringUtils.replace(sql, "${tableName}", tableName); - final PreparedStatement pstmt = HikaricpUtils.getConnection().prepareStatement(sql); + final PreparedStatement pstmt = DataSourceUtils.getConnection().prepareStatement(sql); ResultSet resultSet = pstmt.executeQuery(); List> result = Lists.newArrayList(); @@ -105,7 +105,7 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { public Map getPrimaryKeys( String tableName) throws SQLException { Map result = Maps.newHashMap(); - ResultSet resultSet = HikaricpUtils.getConnection().getMetaData().getPrimaryKeys(null, null, StringUtils.lowerCase(tableName)); + ResultSet resultSet = DataSourceUtils.getConnection().getMetaData().getPrimaryKeys(null, null, StringUtils.lowerCase(tableName)); while (resultSet.next()) { String pkName = CamelCaseUtils.toCapitalizeCamelCase(ResultSetUtils.getRsStr(resultSet, "PK_NAME")); result.put(ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME"), pkName); @@ -147,7 +147,7 @@ public class MySqlDataBaseInfoService implements DataBaseInfoService { private void getDBIndex( String tableName, Map result, boolean unique) throws SQLException { - ResultSet indexResultSet = HikaricpUtils.getConnection().getMetaData().getIndexInfo(null, null, StringUtils.lowerCase(tableName), + ResultSet indexResultSet = DataSourceUtils.getConnection().getMetaData().getIndexInfo(null, null, StringUtils.lowerCase(tableName), unique, false); while (indexResultSet.next()) { diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/DataSourceUtils.java b/src/main/java/cn/dalgen/mybatis/gen/utils/DataSourceUtils.java new file mode 100644 index 0000000..1d4aa50 --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/DataSourceUtils.java @@ -0,0 +1,63 @@ +package cn.dalgen.mybatis.gen.utils; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import cn.dalgen.mybatis.gen.model.db.DataBase; +import cn.dalgen.mybatis.gen.utils.db.DruidUtils; +import cn.dalgen.mybatis.gen.utils.db.HikaricpUtils; +import org.apache.maven.plugin.logging.Log; +import org.apache.maven.plugin.logging.SystemStreamLog; + +/** + * Hikaricp数据库连接池工具类的设计 + * + * @author Mryang + */ +public class DataSourceUtils { + + /** + * The constant LOG. + */ + private static final Log LOG = new SystemStreamLog(); + private static Connection connection; + + /** + * 获取数据源 + * + * @param dataBase + * @return + * @throws SQLException + * @throws IOException + */ + public static void initDataSource(DataBase dataBase) { + HikaricpUtils.getDataSource(dataBase); + } + + /** + * 通过数据源获取连接 + * + * @return + * @throws SQLException + */ + public static Connection getConnection() throws SQLException { + if(connection!=null){ + connection.close(); + connection=null; + } + connection= HikaricpUtils.getConnection(); + return connection; + } + + public static void close() { + if (connection != null) { + connection=null; + HikaricpUtils.close(); + } + } +} \ No newline at end of file diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java b/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java index ad88725..856f6b2 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/SqlExecutor.java @@ -9,7 +9,7 @@ import cn.dalgen.mybatis.gen.utils.db.RsHandler; public class SqlExecutor { public static void query(String sql, RsHandler rsHandler) throws SQLException { - Connection connection = HikaricpUtils.getConnection(); + Connection connection = DataSourceUtils.getConnection(); boolean autoCommit = connection.getAutoCommit(); Statement statement=null; try { diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/db/DruidUtils.java b/src/main/java/cn/dalgen/mybatis/gen/utils/db/DruidUtils.java new file mode 100644 index 0000000..610bb90 --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/db/DruidUtils.java @@ -0,0 +1,79 @@ +package cn.dalgen.mybatis.gen.utils.db; + +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import cn.dalgen.mybatis.gen.model.db.DataBase; +import com.alibaba.druid.pool.DruidDataSource; + +public class DruidUtils { + private static DruidDataSource dataSource; + /** + * 获取数据源 + * + * @param currentDb + * @return + * @throws SQLException + * @throws IOException + */ + public static DataSource getDataSource(DataBase currentDb) { + return getDataSource(currentDb.getDriverClass(), currentDb.getPropertyMapVal("url"), + currentDb.getPropertyMapVal("userid"), currentDb.getPropertyMapVal("password")); + } + + /** + * 获取数据源 + * + * @return + * @throws SQLException + * @throws IOException + */ + private static DataSource getDataSource(String driverClassName, String jdbcUrl, String username, String password) { + // 因为dataSource是全局变量、默认初始化值为null + if (dataSource == null) { + dataSource = new DruidDataSource(); + dataSource.setUrl(jdbcUrl); + dataSource.setUsername(username); + dataSource.setPassword(password); + dataSource.setDriverClassName(driverClassName); + dataSource.setMaxActive(20); + dataSource.setInitialSize(1); + dataSource.setMaxWait(6000); + dataSource.setMinIdle(1); + dataSource.setTimeBetweenEvictionRunsMillis(60000); + dataSource.setMinEvictableIdleTimeMillis(300000); + dataSource.setTestWhileIdle(true); + dataSource.setTestOnBorrow(false); + dataSource.setTestOnReturn(false); + dataSource.setPoolPreparedStatements(true); + dataSource.setMaxOpenPreparedStatements(20); + dataSource.setAsyncInit(true); + try { + dataSource.init(); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + // 返回dataSource + return dataSource; + } + /** + * 通过数据源获取连接 + * + * @return + * @throws SQLException + */ + public static Connection getConnection() throws SQLException { + return dataSource.getConnection(); + } + + public static void close() { + if (dataSource != null) { + dataSource.close(); + dataSource=null; + } + } +} diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java b/src/main/java/cn/dalgen/mybatis/gen/utils/db/HikaricpUtils.java similarity index 92% rename from src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java rename to src/main/java/cn/dalgen/mybatis/gen/utils/db/HikaricpUtils.java index 1652a85..cde360f 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/HikaricpUtils.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/db/HikaricpUtils.java @@ -1,4 +1,4 @@ -package cn.dalgen.mybatis.gen.utils; +package cn.dalgen.mybatis.gen.utils.db; import java.io.IOException; import java.sql.Connection; @@ -42,13 +42,13 @@ public class HikaricpUtils { * @throws SQLException * @throws IOException */ - public static DataSource getDataSource(String driverClassName, String jdbcUrl, String username, String password) { + private static DataSource getDataSource(String driverClassName, String jdbcUrl, String username, String password) { // 因为dataSource是全局变量、默认初始化值为null if (dataSource == null) { // 通过字节输入流 读取 配置文件 hikaricp.properties Properties props = new Properties(); props.put("maximumPoolSize", 30); - props.put("minimumIdle", 10); + props.put("minimumIdle", 30); props.put("autoCommit", true); props.put("validationTimeout", 3000); props.put("idleTimeout", 60000); diff --git a/src/test/java/cn/dalgen/mybatis/gen/SqlTest.java b/src/test/java/cn/dalgen/mybatis/gen/SqlTest.java deleted file mode 100644 index 728585f..0000000 --- a/src/test/java/cn/dalgen/mybatis/gen/SqlTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.dalgen.mybatis.gen; - -import java.sql.ResultSet; -import java.sql.SQLException; - -import cn.dalgen.mybatis.gen.utils.HikaricpUtils; -import cn.dalgen.mybatis.gen.utils.SqlExecutor; -import cn.dalgen.mybatis.gen.utils.db.RsHandler; -import org.apache.commons.lang.time.StopWatch; - -public class SqlTest { - public static void main(String[] args) throws SQLException { - String jdbc = "oracle.jdbc.driver.OracleDriver"; - String url = "jdbc:oracle:thin:@47.114.85.8:1521:orcl"; - String userid = "C##abssqr_dev"; - String password = "JUEDUI2tech"; - HikaricpUtils.getDataSource(jdbc, url, userid, password); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - SqlExecutor.query("select t.TABLE_NAME,\n" - + " t.COLUMN_NAME,\n" - + " t.DATA_TYPE,\n" - + " t.COLUMN_ID as ORDINAL_POSITION,\n" - + " t.DATA_DEFAULT as COLUMN_DEFAULT,\n" - + " c.comments as COLUMN_COMMENT,\n" - + " t.DATA_LENGTH as C_LENGTH,\n" - + " t.DATA_PRECISION as C_PRECISION,\n" - + " t.DATA_SCALE as C_SCALE\n" - + "from user_tab_columns t\n" - + " left join user_col_comments c on t.table_name = c.table_name and t.column_name = c" - + ".column_name\n" - + "where t.TABLE_NAME like 'ABS%'\n" - + "order by t.TABLE_NAME, t.COLUMN_ID asc", new RsHandler() { - @Override - public void accept(ResultSet resultSet) throws SQLException { - System.out.println(resultSet.getString("TABLE_NAME") + " " + resultSet.getString("COLUMN_NAME")); - } - }); - System.out.println(stopWatch.getTime()); - } -} -- Gitee From 46fd87d9fcc9a880f500b9add6f2b84dd2936558 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 25 Oct 2022 10:07:02 +0800 Subject: [PATCH 17/44] =?UTF-8?q?mysql=20=E9=A9=B1=E5=8A=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.abs.xml | 37 +++++++++++++++++-- .../dalgen/mybatis/gen/enums/TypeMapEnum.java | 2 +- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/pom.abs.xml b/pom.abs.xml index 3696649..8a7fab1 100644 --- a/pom.abs.xml +++ b/pom.abs.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.2.1 + 2.3.1 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -122,7 +122,7 @@ mysql mysql-connector-java - 5.1.47 + 8.0.30 @@ -143,10 +143,20 @@ com.oracle - ojdbc8 + ojdbc 8.0 provided + + com.zaxxer + HikariCP + 4.0.3 + + + com.alibaba + druid + 1.2.13 + @@ -168,7 +178,11 @@ - + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + maven-source-plugin 2.4 @@ -189,6 +203,21 @@ 1.7 + + cn.dalgen.plugins + mybatis-maven-plugin + 2.2.7.1 + + src/out + + + + com.oracle + ojdbc + 8.0 + + + diff --git a/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java b/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java index 8daced3..8645b70 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java +++ b/src/main/java/cn/dalgen/mybatis/gen/enums/TypeMapEnum.java @@ -112,7 +112,7 @@ public enum TypeMapEnum { /** * Datetime type map enum. */ - DATETIME("TIMESTAMP", "java.sql.Time"), + DATETIME("TIMESTAMP", "java.sql.Timestamp"), /** * Timestamp type map enum. */ -- Gitee From eb2d39b67de1a5b5d57e5bf14335cc87407332d9 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 9 Nov 2022 11:38:41 +0800 Subject: [PATCH 18/44] =?UTF-8?q?mysql=20=E9=A9=B1=E5=8A=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/resources/dalgen/config/config.xml | 18 +++++++++--------- .../dalgen/templates/dalgen/ResultMap.java.ftl | 5 +++++ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 8a7fab1..d38deb6 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.3.1 + 2.3.3 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 654aad2..79b173d 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -11,10 +11,10 @@ - - - - + + + + @@ -30,12 +30,12 @@ - - - - + + + + - + diff --git a/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl b/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl index 1d6884f..740bd14 100644 --- a/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/ResultMap.java.ftl @@ -66,6 +66,11 @@ private static final long serialVersionUID = -1L; * @return the string */ public ${fields.javaType} <#if fields.javaType=="boolean">is<#else>get${fields.name?cap_first}(){ + <#if fields.javaType=="Money"> + if(${fields.name}==null){ + ${fields.name} = new Money(); + } + return ${fields.name}; } diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index 9d2fe97..b1f001c 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("*"); + ConfigUtil.setCmd("common_task"); } catch (IOException e) { LOG.error(e); } -- Gitee From da0d419d54c8078499f658cefdbd1bc2c3c680e2 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Thu, 17 Nov 2022 11:01:34 +0800 Subject: [PATCH 19/44] =?UTF-8?q?mysql=20=E9=A9=B1=E5=8A=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-maven-plugin.iml | 2 + pom.xml | 8 +- .../db/database/DataBaseInfoHandler.java | 1 + .../PostgreSQLDataBaseInfoService.java | 161 ++++++++++++++++++ .../dalgen/templates/dalgen/DAO.java.ftl | 13 +- .../dalgen/templates/dalgen/DO.java.ftl | 11 +- 6 files changed, 188 insertions(+), 8 deletions(-) create mode 100644 src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/PostgreSQLDataBaseInfoService.java diff --git a/mybatis-maven-plugin.iml b/mybatis-maven-plugin.iml index ebfe9fe..4c75e95 100644 --- a/mybatis-maven-plugin.iml +++ b/mybatis-maven-plugin.iml @@ -61,6 +61,8 @@ + + diff --git a/pom.xml b/pom.xml index d38deb6..19d3b2b 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.3.3 + 2.3.4 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -124,7 +124,11 @@ mysql-connector-java 8.0.30 - + + org.postgresql + postgresql + 42.2.18 + org.mybatis mybatis diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java index 8eb15b7..74af796 100644 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/DataBaseInfoHandler.java @@ -23,6 +23,7 @@ public class DataBaseInfoHandler { static { proxy("mysql",new MySqlDataBaseInfoService()); + proxy("postgresql",new OracleDataBaseInfoService()); proxy("oracle",new OracleDataBaseInfoService()); } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/PostgreSQLDataBaseInfoService.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/PostgreSQLDataBaseInfoService.java new file mode 100644 index 0000000..9dcec2d --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/database/PostgreSQLDataBaseInfoService.java @@ -0,0 +1,161 @@ +/** + * abssqr.com Inc. + * Copyright (c) 2017-2019 All Rights Reserved. + */ +package cn.dalgen.mybatis.gen.model.repository.db.database; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; + +import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; +import cn.dalgen.mybatis.gen.utils.ConfigUtil; +import cn.dalgen.mybatis.gen.utils.DataSourceUtils; +import cn.dalgen.mybatis.gen.utils.ResultSetUtils; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import org.apache.commons.lang.StringUtils; + +/** + * @author bangis.wangdf + * @version cn.dalgen.mybatis.gen.model.repository.db.database: MySqlDataBaseInfoService.java, v 0.1 2019-04-23 16:39 + * bangis.wangdf Exp $ + */ +public class PostgreSQLDataBaseInfoService implements DataBaseInfoService { + + private static final String table_comment + = "select relname table_name,obj_description(c.OID)table_comment from pg_class c "; + + private static final String table_cloumns = "SELECT COLUMN_NAME,DATA_TYPE," + + "COLUMN_COMMENT,ORDINAL_POSITION,COLUMN_DEFAULT,CHARACTER_MAXIMUM_LENGTH as C_LENGTH,NUMERIC_PRECISION as " + + "C_PRECISION,NUMERIC_SCALE as C_SCALE FROM INFORMATION_SCHEMA.Columns WHERE " + + "table_name='${tableName}' AND " + + "table_schema='${tableSchema}' order by ordinal_position asc"; + + /** + * TABLE_NAME 表名 + * TABLE_COMMENT 表备注 + * + * 获取所有表备注 + * + * @return + */ + @Override + public Map getAllTableRemark() throws SQLException { + Map result = Maps.newHashMap(); + final PreparedStatement pstmt = DataSourceUtils.getConnection().prepareStatement(table_comment); + final ResultSet resultSet = pstmt.executeQuery(); + while (resultSet.next()) { + result.put(StringUtils.upperCase(resultSet.getString("TABLE_NAME")), + resultSet.getString("TABLE_COMMENT")); + } + return result; + } + + /** + * 获取表字段,类型,注释等 + * + * ORDINAL_POSITION 字段顺序 + * COLUMN_NAME 字段名 + * DATA_TYPE 字段类型 + * COLUMN_DEFAULT 字段默认值 + * COLUMN_COMMENT 字段备注 + * + * @param tableName + * @return + */ + @Override + public List> getAllColumnsByTableName(String tableName) + throws SQLException { + String schema = ConfigUtil.getCurrentDb().getPropertyMapVal("schema"); + String sql = StringUtils.replace(table_cloumns, "${tableSchema}", schema); + sql = StringUtils.replace(sql, "${tableName}", tableName); + final PreparedStatement pstmt = DataSourceUtils.getConnection().prepareStatement(sql); + ResultSet resultSet = pstmt.executeQuery(); + List> result = Lists.newArrayList(); + + while (resultSet.next()) { + Map columnMap = Maps.newHashMap(); + columnMap.put("ORDINAL_POSITION", resultSet.getString("ORDINAL_POSITION")); + columnMap.put("COLUMN_NAME", ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME")); + columnMap.put("COLUMN_DEFAULT", ResultSetUtils.getRsStr(resultSet, "COLUMN_DEFAULT")); + columnMap.put("COLUMN_COMMENT", ResultSetUtils.getRsStr(resultSet, "COLUMN_COMMENT")); + columnMap.put("DATA_TYPE", ResultSetUtils.getRsStr(resultSet, "DATA_TYPE")); + columnMap.put("C_LENGTH", ResultSetUtils.getRsStr(resultSet, "C_LENGTH")); + columnMap.put("C_PRECISION", ResultSetUtils.getRsStr(resultSet, "C_PRECISION")); + columnMap.put("C_SCALE", ResultSetUtils.getRsStr(resultSet, "C_SCALE")); + result.add(columnMap); + + } + return result; + } + + /** + * 获取数据库主键 + * key: 字段名 + * val: 主键名 注意转成驼峰结构 + * + * @param tableName + * @return + * @throws SQLException + */ + @Override + public Map getPrimaryKeys( String tableName) throws SQLException { + + Map result = Maps.newHashMap(); + ResultSet resultSet = DataSourceUtils.getConnection().getMetaData().getPrimaryKeys(null, null, StringUtils.lowerCase(tableName)); + while (resultSet.next()) { + String pkName = CamelCaseUtils.toCapitalizeCamelCase(ResultSetUtils.getRsStr(resultSet, "PK_NAME")); + result.put(ResultSetUtils.getRsStr(resultSet, "COLUMN_NAME"), pkName); + } + return result; + } + + /** + * 获取数据库唯一约束 + * key: 字段名 + * val: 主键名 注意转成驼峰结构 + * + * @param tableName + * @return + * @throws SQLException + */ + @Override + public Map getUniqueIndexs(String tableName) throws SQLException { + Map result = Maps.newHashMap(); + getDBIndex( tableName, result, true); + return result; + } + + /** + * 获取数据库普通索引 + * key: 字段名 + * val: 主键名 注意转成驼峰结构 + * + * @param tableName + * @return + * @throws SQLException + */ + @Override + public Map getNormalIndexs( String tableName) throws SQLException { + Map result = Maps.newHashMap(); + getDBIndex(tableName, result, false); + return result; + } + + private void getDBIndex( String tableName, Map result, boolean unique) + throws SQLException { + ResultSet indexResultSet = DataSourceUtils.getConnection().getMetaData().getIndexInfo(null, null, StringUtils.lowerCase(tableName), + unique, + false); + while (indexResultSet.next()) { + String index_name = ResultSetUtils.getRsStr(indexResultSet, + "INDEX_NAME"); + String uniqueName = CamelCaseUtils.toCapitalizeCamelCase( + ConfigUtil.getConfig().dealIndexName(index_name)); + result.put(ResultSetUtils.getRsStr(indexResultSet, "COLUMN_NAME"), uniqueName); + } + } +} diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index 90fb49e..a886745 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -7,6 +7,7 @@ package ${dao.packageName}; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import java.util.ArrayList; +import com.google.common.collect.Lists; <#list dao.importLists as import> import ${import}; @@ -44,7 +45,7 @@ public class ${dao.className}{ */ <#if method.deprecated??&&method.deprecated=="true">@Deprecated public ${fun.methodClass(method)} ${method.name}(<#list method.params as param><#if param_index gt 0>,${param.paramType!} <#assign pagingParam = param.param/>${param.param}){ - <#if method.listLimit??><#if !method.name?starts_with("insert")><#list method.params as param><#if param.paramType?starts_with("List<")> + <#if method.listLimit??><#if !method.name?starts_with("insert") && method.params?size==1><#list method.params as param><#if param.paramType?starts_with("List<")> if(${param.param}!=null && ${param.param}.size()>${method.listLimit}){throw new RuntimeException("${param.param} 超出${method.listLimit}长度限制");} <#if method.pagingFlag == "true"> @@ -119,7 +120,15 @@ public class ${dao.className}{ return result; <#else> <#if method.name == "insertBatch"> - ${dao.doMapper.className?uncap_first}.${method.name}(<#list method.params as param><#if param_index gt 0>, ${param.param}); + if(list.size()>200){ + <#list method.params as param><#if param_index = 0><#assign ptype =param.paramType/> + List<${ptype}> partition = Lists.partition(list, 200); + for (${ptype} _list : partition) { + ${dao.doMapper.className?uncap_first}.${method.name}(_list); + } + }else{ + ${dao.doMapper.className?uncap_first}.${method.name}(list); + } return <#list method.params as param><#if param_index == 0> ${param.param}.size(); <#else> <#if method.returnClass != "void">return ${dao.doMapper.className?uncap_first}.${method.name}(<#list method.params as param><#if param_index gt 0>, ${param.param}); diff --git a/src/main/resources/dalgen/templates/dalgen/DO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DO.java.ftl index aea33ad..d05e9c0 100644 --- a/src/main/resources/dalgen/templates/dalgen/DO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DO.java.ftl @@ -38,12 +38,15 @@ public class ${DO.className}{ public ${fields.javaType} <#if fields.javaType=="boolean">is<#else>get${fields.name?cap_first}(){ <#if fields.javaType=="Money"> if(${fields.name}==null){ - return new Money(); + ${fields.name}= new Money(); + } + + <#if fields.javaType=="BigDecimal"> + if(${fields.name}==null){ + ${fields.name}= BigDecimal.ZERO; } - return ${fields.name}; - <#else> - return ${fields.name}; + return ${fields.name}; } } -- Gitee From 2f6c754e4c657f2a588e6bd9716547ea43acdad7 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 7 Dec 2022 14:19:53 +0800 Subject: [PATCH 20/44] =?UTF-8?q?=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dalgen/config/README.md | 7 + dalgen/config/config.xml | 121 ++ dalgen/config/table-config-1.0.dtd | 246 ++++ dalgen/configTables/ABS_ACCMULATION.xml | 214 +++ dalgen/configTables/ABS_ACCOUNT.xml | 207 +++ .../configTables/ABS_ACCOUNT_CAPITAL_MODE.xml | 176 +++ .../ABS_ACCT_CHANNEL_CONDITION.xml | 110 ++ dalgen/configTables/ABS_ACCT_DATE.xml | 86 ++ dalgen/configTables/ABS_ALLOC_BATCH.xml | 201 +++ dalgen/configTables/ABS_ALLOC_BATCH_REL.xml | 94 ++ dalgen/configTables/ABS_ALLOC_MODEL.xml | 107 ++ dalgen/configTables/ABS_ALLOC_MODEL_RULE.xml | 73 + dalgen/configTables/ABS_ALLOC_RULE.xml | 158 +++ dalgen/configTables/ABS_ALLOC_RULE_TITLE.xml | 86 ++ .../configTables/ABS_ALLOC_TITLE_TEMPLATE.xml | 140 ++ dalgen/configTables/ABS_ALLOC_TRIAL.xml | 131 ++ dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml | 133 ++ dalgen/configTables/ABS_AST_FUND_RES.xml | 230 ++++ dalgen/configTables/ABS_AST_MATCH.xml | 321 +++++ dalgen/configTables/ABS_AST_MATCH_CTR.xml | 394 ++++++ .../configTables/ABS_AST_MATCH_PRE_COST.xml | 310 +++++ dalgen/configTables/ABS_AST_PACK.xml | 635 +++++++++ .../configTables/ABS_AST_PACK_ASSET_ITEM.xml | 58 + .../configTables/ABS_AST_PACK_AUTO_RULE.xml | 150 +++ .../configTables/ABS_AST_PACK_FUND_RULE.xml | 89 ++ dalgen/configTables/ABS_AST_PACK_REL.xml | 81 ++ dalgen/configTables/ABS_AST_PRICE_RULE.xml | 68 + dalgen/configTables/ABS_AST_REQ.xml | 145 ++ dalgen/configTables/ABS_AST_REQ_REL.xml | 89 ++ dalgen/configTables/ABS_AST_SCREEN_RULE.xml | 377 ++++++ dalgen/configTables/ABS_AST_SYNC_TASK_CTR.xml | 104 ++ .../ABS_AST_SYNC_TASK_CTR_LOG.xml | 183 +++ dalgen/configTables/ABS_BIZ_DATA_CHANGE.xml | 186 +++ dalgen/configTables/ABS_BIZ_MSG_LOG.xml | 100 ++ dalgen/configTables/ABS_BIZ_MSG_TPL.xml | 126 ++ .../configTables/ABS_BIZ_NOTICE_SUBSCRIBE.xml | 99 ++ dalgen/configTables/ABS_COMMON_CODN.xml | 99 ++ dalgen/configTables/ABS_COMMON_CODN_VAL.xml | 57 + dalgen/configTables/ABS_COMMON_TASK.xml | 374 ++++++ dalgen/configTables/ABS_DATA_CHECK.xml | 118 ++ .../ABS_DATA_TABLE_EXTRACT_ENGINE.xml | 15 + .../configTables/ABS_DYNAMIC_CONFIG_CTL.xml | 98 ++ .../ABS_FDRT_AST_FUND_MATCH_CTR.xml | 271 ++++ .../ABS_FDRT_AST_FUND_MATCH_RST.xml | 119 ++ dalgen/configTables/ABS_GATHER_AMT_ITEM.xml | 278 ++++ dalgen/configTables/ABS_GATHER_AMT_PACK.xml | 65 + dalgen/configTables/ABS_GATHER_AMT_PLAN.xml | 206 +++ dalgen/configTables/ABS_HOST_GROUP_REL.xml | 55 + dalgen/configTables/ABS_HOST_INFO.xml | 171 +++ dalgen/configTables/ABS_JOB_CONTROL.xml | 68 + dalgen/configTables/ABS_LOAN.xml | 482 +++++++ dalgen/configTables/ABS_LOAN_AST.xml | 139 ++ dalgen/configTables/ABS_LOAN_AST_ACCUM.xml | 89 ++ dalgen/configTables/ABS_LOAN_AST_LOG.xml | 163 +++ dalgen/configTables/ABS_LOAN_AST_PROFIT.xml | 272 ++++ .../configTables/ABS_LOAN_AST_PROFIT_LOG.xml | 321 +++++ .../ABS_LOAN_AST_PROFIT_TRANS_INFO.xml | 319 +++++ dalgen/configTables/ABS_LOAN_AST_REL.xml | 307 +++++ .../configTables/ABS_LOAN_AST_TRANS_INFO.xml | 163 +++ dalgen/configTables/ABS_LOAN_BAK.xml | 1104 +++++++++++++++ .../ABS_LOAN_COMPENSATE_CONTRACT.xml | 130 ++ dalgen/configTables/ABS_LOAN_CONTRACT.xml | 157 +++ dalgen/configTables/ABS_LOAN_INSTAL.xml | 312 +++++ dalgen/configTables/ABS_LOAN_INSTAL_LOG.xml | 248 ++++ .../ABS_LOAN_INSTAL_TRANS_INFO.xml | 293 ++++ dalgen/configTables/ABS_LOAN_LOG.xml | 243 ++++ dalgen/configTables/ABS_LOAN_TRANS_INFO.xml | 268 ++++ dalgen/configTables/ABS_LOAN_USER.xml | 281 ++++ dalgen/configTables/ABS_ORGANIZATION.xml | 159 +++ .../configTables/ABS_ORGANIZATION_ENTITY.xml | 135 ++ dalgen/configTables/ABS_ORG_HOLIDAY.xml | 126 ++ .../configTables/ABS_PACK_AST_PRICE_RULE.xml | 149 ++ .../configTables/ABS_PACK_AST_SCREEN_RULE.xml | 394 ++++++ .../configTables/ABS_PACK_TRANSFER_RULE.xml | 145 ++ .../configTables/ABS_PACK_TRAN_SCREEN_REL.xml | 132 ++ dalgen/configTables/ABS_PLAN.xml | 573 ++++++++ dalgen/configTables/ABS_PLAN_ACCT_TITLE.xml | 364 +++++ .../configTables/ABS_PLAN_ACCT_TITLE_LOG.xml | 175 +++ dalgen/configTables/ABS_PLAN_ALLOC.xml | 385 ++++++ dalgen/configTables/ABS_PLAN_ALLOC_FROZEN.xml | 143 ++ .../ABS_PLAN_ALLOC_FROZEN_RULE.xml | 100 ++ dalgen/configTables/ABS_PLAN_ALLOC_ITEM.xml | 220 +++ dalgen/configTables/ABS_PLAN_AST.xml | 334 +++++ dalgen/configTables/ABS_PLAN_AST_LOG.xml | 470 +++++++ dalgen/configTables/ABS_PLAN_AST_OPT_LOG.xml | 121 ++ .../configTables/ABS_PLAN_AST_PRICE_RULE.xml | 108 ++ .../configTables/ABS_PLAN_AST_STAT_TASK.xml | 163 +++ dalgen/configTables/ABS_PLAN_CAPITAL_LOG.xml | 120 ++ .../configTables/ABS_PLAN_CAPITAL_MODEL.xml | 157 +++ .../ABS_PLAN_CAPITAL_NETTING_ORDER.xml | 224 +++ .../configTables/ABS_PLAN_CAPITAL_ORDER.xml | 1196 +++++++++++++++++ .../ABS_PLAN_CAPITAL_ORDER_HIS.xml | 321 +++++ .../configTables/ABS_PLAN_CAPITAL_PURPOSE.xml | 112 ++ dalgen/configTables/ABS_PLAN_CLEARING_LOG.xml | 205 +++ .../ABS_PLAN_CLEARING_LOG_HIS.xml | 99 ++ .../configTables/ABS_PLAN_CLEARING_ORDER.xml | 307 +++++ .../configTables/ABS_PLAN_FEE_LOAN_COLL.xml | 185 +++ .../configTables/ABS_PLAN_FEE_STRUCTURE.xml | 110 ++ dalgen/configTables/ABS_PLAN_FUND_FILE.xml | 90 ++ dalgen/configTables/ABS_PLAN_GROUP.xml | 162 +++ dalgen/configTables/ABS_PLAN_GROUP_REL.xml | 67 + .../ABS_PLAN_INVEST_STRUCTURE.xml | 145 ++ dalgen/configTables/ABS_PLAN_MONITOR.xml | 109 ++ .../configTables/ABS_PLAN_MONITOR_RECORD.xml | 62 + dalgen/configTables/ABS_PLAN_POND.xml | 233 ++++ dalgen/configTables/ABS_PLAN_PROD_LIMIT.xml | 129 ++ .../configTables/ABS_PLAN_PROD_PREFERENCE.xml | 86 ++ dalgen/configTables/ABS_PLAN_REPORT.xml | 176 +++ .../ABS_PLAN_REPORT_CHECK_LOG.xml | 110 ++ .../configTables/ABS_PLAN_REPORT_ENTITY.xml | 371 +++++ .../ABS_PLAN_REPORT_ENTITY_STAT.xml | 123 ++ dalgen/configTables/ABS_PLAN_REPORT_ITEM.xml | 278 ++++ .../ABS_PLAN_REPORT_ITEM_DEFAULT.xml | 204 +++ dalgen/configTables/ABS_PLAN_TARGET.xml | 133 ++ dalgen/configTables/ABS_PLAN_TASK_LOG.xml | 144 ++ .../configTables/ABS_PLAN_TRANSFER_RULE.xml | 193 +++ .../configTables/ABS_PLAN_TRAN_SCREEN_REL.xml | 202 +++ .../configTables/ABS_POND_PROD_PRIORITY.xml | 68 + dalgen/configTables/ABS_PRODUCT.xml | 241 ++++ dalgen/configTables/ABS_PRODUCT_RISK_CL.xml | 142 ++ dalgen/configTables/ABS_SEQUENCE.xml | 12 + dalgen/configTables/ABS_TASK_GROUP.xml | 264 ++++ dalgen/configTables/ABS_TRANS_FEE_GATHER.xml | 192 +++ dalgen/configTables/ABS_TR_CTR_TASK.xml | 280 ++++ dalgen/configTables/ABS_TR_STATISTIC.xml | 245 ++++ dalgen/configTables/ABS_TR_TASK.xml | 778 +++++++++++ dalgen/configTables/ABS_VIEW_DATA_CHECK.xml | 280 ++++ dalgen/configTables/ABS_VIEW_PORTAL.xml | 205 +++ dalgen/configTables/ACT_GE_BYTEARRAY.xml | 65 + dalgen/configTables/DATA_MOVE_COMMON.xml | 393 ++++++ dalgen/configTables/MS_SETTLE_DETAIL.xml | 80 ++ dalgen/ext/mybatis-config.xml.ftl | 57 + .../SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml | 149 ++ .../dalgen/configTables/SIMU_PROD.xml | 135 ++ .../dalgen/configTables/SIMU_PROD_ATTR.xml | 155 +++ .../resources/dalgen/templates/lib/lib.ftl | 2 +- 136 files changed, 27511 insertions(+), 1 deletion(-) create mode 100644 dalgen/config/README.md create mode 100644 dalgen/config/config.xml create mode 100644 dalgen/config/table-config-1.0.dtd create mode 100644 dalgen/configTables/ABS_ACCMULATION.xml create mode 100644 dalgen/configTables/ABS_ACCOUNT.xml create mode 100644 dalgen/configTables/ABS_ACCOUNT_CAPITAL_MODE.xml create mode 100644 dalgen/configTables/ABS_ACCT_CHANNEL_CONDITION.xml create mode 100644 dalgen/configTables/ABS_ACCT_DATE.xml create mode 100644 dalgen/configTables/ABS_ALLOC_BATCH.xml create mode 100644 dalgen/configTables/ABS_ALLOC_BATCH_REL.xml create mode 100644 dalgen/configTables/ABS_ALLOC_MODEL.xml create mode 100644 dalgen/configTables/ABS_ALLOC_MODEL_RULE.xml create mode 100644 dalgen/configTables/ABS_ALLOC_RULE.xml create mode 100644 dalgen/configTables/ABS_ALLOC_RULE_TITLE.xml create mode 100644 dalgen/configTables/ABS_ALLOC_TITLE_TEMPLATE.xml create mode 100644 dalgen/configTables/ABS_ALLOC_TRIAL.xml create mode 100644 dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml create mode 100644 dalgen/configTables/ABS_AST_FUND_RES.xml create mode 100644 dalgen/configTables/ABS_AST_MATCH.xml create mode 100644 dalgen/configTables/ABS_AST_MATCH_CTR.xml create mode 100644 dalgen/configTables/ABS_AST_MATCH_PRE_COST.xml create mode 100644 dalgen/configTables/ABS_AST_PACK.xml create mode 100644 dalgen/configTables/ABS_AST_PACK_ASSET_ITEM.xml create mode 100644 dalgen/configTables/ABS_AST_PACK_AUTO_RULE.xml create mode 100644 dalgen/configTables/ABS_AST_PACK_FUND_RULE.xml create mode 100644 dalgen/configTables/ABS_AST_PACK_REL.xml create mode 100644 dalgen/configTables/ABS_AST_PRICE_RULE.xml create mode 100644 dalgen/configTables/ABS_AST_REQ.xml create mode 100644 dalgen/configTables/ABS_AST_REQ_REL.xml create mode 100644 dalgen/configTables/ABS_AST_SCREEN_RULE.xml create mode 100644 dalgen/configTables/ABS_AST_SYNC_TASK_CTR.xml create mode 100644 dalgen/configTables/ABS_AST_SYNC_TASK_CTR_LOG.xml create mode 100644 dalgen/configTables/ABS_BIZ_DATA_CHANGE.xml create mode 100644 dalgen/configTables/ABS_BIZ_MSG_LOG.xml create mode 100644 dalgen/configTables/ABS_BIZ_MSG_TPL.xml create mode 100644 dalgen/configTables/ABS_BIZ_NOTICE_SUBSCRIBE.xml create mode 100644 dalgen/configTables/ABS_COMMON_CODN.xml create mode 100644 dalgen/configTables/ABS_COMMON_CODN_VAL.xml create mode 100644 dalgen/configTables/ABS_COMMON_TASK.xml create mode 100644 dalgen/configTables/ABS_DATA_CHECK.xml create mode 100644 dalgen/configTables/ABS_DATA_TABLE_EXTRACT_ENGINE.xml create mode 100644 dalgen/configTables/ABS_DYNAMIC_CONFIG_CTL.xml create mode 100644 dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_CTR.xml create mode 100644 dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_RST.xml create mode 100644 dalgen/configTables/ABS_GATHER_AMT_ITEM.xml create mode 100644 dalgen/configTables/ABS_GATHER_AMT_PACK.xml create mode 100644 dalgen/configTables/ABS_GATHER_AMT_PLAN.xml create mode 100644 dalgen/configTables/ABS_HOST_GROUP_REL.xml create mode 100644 dalgen/configTables/ABS_HOST_INFO.xml create mode 100644 dalgen/configTables/ABS_JOB_CONTROL.xml create mode 100644 dalgen/configTables/ABS_LOAN.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST_ACCUM.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST_LOG.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST_PROFIT.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST_PROFIT_LOG.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST_PROFIT_TRANS_INFO.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST_REL.xml create mode 100644 dalgen/configTables/ABS_LOAN_AST_TRANS_INFO.xml create mode 100644 dalgen/configTables/ABS_LOAN_BAK.xml create mode 100644 dalgen/configTables/ABS_LOAN_COMPENSATE_CONTRACT.xml create mode 100644 dalgen/configTables/ABS_LOAN_CONTRACT.xml create mode 100644 dalgen/configTables/ABS_LOAN_INSTAL.xml create mode 100644 dalgen/configTables/ABS_LOAN_INSTAL_LOG.xml create mode 100644 dalgen/configTables/ABS_LOAN_INSTAL_TRANS_INFO.xml create mode 100644 dalgen/configTables/ABS_LOAN_LOG.xml create mode 100644 dalgen/configTables/ABS_LOAN_TRANS_INFO.xml create mode 100644 dalgen/configTables/ABS_LOAN_USER.xml create mode 100644 dalgen/configTables/ABS_ORGANIZATION.xml create mode 100644 dalgen/configTables/ABS_ORGANIZATION_ENTITY.xml create mode 100644 dalgen/configTables/ABS_ORG_HOLIDAY.xml create mode 100644 dalgen/configTables/ABS_PACK_AST_PRICE_RULE.xml create mode 100644 dalgen/configTables/ABS_PACK_AST_SCREEN_RULE.xml create mode 100644 dalgen/configTables/ABS_PACK_TRANSFER_RULE.xml create mode 100644 dalgen/configTables/ABS_PACK_TRAN_SCREEN_REL.xml create mode 100644 dalgen/configTables/ABS_PLAN.xml create mode 100644 dalgen/configTables/ABS_PLAN_ACCT_TITLE.xml create mode 100644 dalgen/configTables/ABS_PLAN_ACCT_TITLE_LOG.xml create mode 100644 dalgen/configTables/ABS_PLAN_ALLOC.xml create mode 100644 dalgen/configTables/ABS_PLAN_ALLOC_FROZEN.xml create mode 100644 dalgen/configTables/ABS_PLAN_ALLOC_FROZEN_RULE.xml create mode 100644 dalgen/configTables/ABS_PLAN_ALLOC_ITEM.xml create mode 100644 dalgen/configTables/ABS_PLAN_AST.xml create mode 100644 dalgen/configTables/ABS_PLAN_AST_LOG.xml create mode 100644 dalgen/configTables/ABS_PLAN_AST_OPT_LOG.xml create mode 100644 dalgen/configTables/ABS_PLAN_AST_PRICE_RULE.xml create mode 100644 dalgen/configTables/ABS_PLAN_AST_STAT_TASK.xml create mode 100644 dalgen/configTables/ABS_PLAN_CAPITAL_LOG.xml create mode 100644 dalgen/configTables/ABS_PLAN_CAPITAL_MODEL.xml create mode 100644 dalgen/configTables/ABS_PLAN_CAPITAL_NETTING_ORDER.xml create mode 100644 dalgen/configTables/ABS_PLAN_CAPITAL_ORDER.xml create mode 100644 dalgen/configTables/ABS_PLAN_CAPITAL_ORDER_HIS.xml create mode 100644 dalgen/configTables/ABS_PLAN_CAPITAL_PURPOSE.xml create mode 100644 dalgen/configTables/ABS_PLAN_CLEARING_LOG.xml create mode 100644 dalgen/configTables/ABS_PLAN_CLEARING_LOG_HIS.xml create mode 100644 dalgen/configTables/ABS_PLAN_CLEARING_ORDER.xml create mode 100644 dalgen/configTables/ABS_PLAN_FEE_LOAN_COLL.xml create mode 100644 dalgen/configTables/ABS_PLAN_FEE_STRUCTURE.xml create mode 100644 dalgen/configTables/ABS_PLAN_FUND_FILE.xml create mode 100644 dalgen/configTables/ABS_PLAN_GROUP.xml create mode 100644 dalgen/configTables/ABS_PLAN_GROUP_REL.xml create mode 100644 dalgen/configTables/ABS_PLAN_INVEST_STRUCTURE.xml create mode 100644 dalgen/configTables/ABS_PLAN_MONITOR.xml create mode 100644 dalgen/configTables/ABS_PLAN_MONITOR_RECORD.xml create mode 100644 dalgen/configTables/ABS_PLAN_POND.xml create mode 100644 dalgen/configTables/ABS_PLAN_PROD_LIMIT.xml create mode 100644 dalgen/configTables/ABS_PLAN_PROD_PREFERENCE.xml create mode 100644 dalgen/configTables/ABS_PLAN_REPORT.xml create mode 100644 dalgen/configTables/ABS_PLAN_REPORT_CHECK_LOG.xml create mode 100644 dalgen/configTables/ABS_PLAN_REPORT_ENTITY.xml create mode 100644 dalgen/configTables/ABS_PLAN_REPORT_ENTITY_STAT.xml create mode 100644 dalgen/configTables/ABS_PLAN_REPORT_ITEM.xml create mode 100644 dalgen/configTables/ABS_PLAN_REPORT_ITEM_DEFAULT.xml create mode 100644 dalgen/configTables/ABS_PLAN_TARGET.xml create mode 100644 dalgen/configTables/ABS_PLAN_TASK_LOG.xml create mode 100644 dalgen/configTables/ABS_PLAN_TRANSFER_RULE.xml create mode 100644 dalgen/configTables/ABS_PLAN_TRAN_SCREEN_REL.xml create mode 100644 dalgen/configTables/ABS_POND_PROD_PRIORITY.xml create mode 100644 dalgen/configTables/ABS_PRODUCT.xml create mode 100644 dalgen/configTables/ABS_PRODUCT_RISK_CL.xml create mode 100644 dalgen/configTables/ABS_SEQUENCE.xml create mode 100644 dalgen/configTables/ABS_TASK_GROUP.xml create mode 100644 dalgen/configTables/ABS_TRANS_FEE_GATHER.xml create mode 100644 dalgen/configTables/ABS_TR_CTR_TASK.xml create mode 100644 dalgen/configTables/ABS_TR_STATISTIC.xml create mode 100644 dalgen/configTables/ABS_TR_TASK.xml create mode 100644 dalgen/configTables/ABS_VIEW_DATA_CHECK.xml create mode 100644 dalgen/configTables/ABS_VIEW_PORTAL.xml create mode 100644 dalgen/configTables/ACT_GE_BYTEARRAY.xml create mode 100644 dalgen/configTables/DATA_MOVE_COMMON.xml create mode 100644 dalgen/configTables/MS_SETTLE_DETAIL.xml create mode 100644 dalgen/ext/mybatis-config.xml.ftl create mode 100644 src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml create mode 100644 src/main/resources/dalgen/configTables/SIMU_PROD.xml create mode 100644 src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml diff --git a/dalgen/config/README.md b/dalgen/config/README.md new file mode 100644 index 0000000..7c20bb7 --- /dev/null +++ b/dalgen/config/README.md @@ -0,0 +1,7 @@ +> mybatis代码生成器,参考蚂蚁金服idalgen针对mybatis重新定义的一套代码生成器,idalgen在蚂蚁内部绝大多数应用都强制使用,优化版代码生成器除具有idalgen类似语法外,额外提供了常用的扩展功能 如List 自动转 Map,Map>等进一步减少体力开发 + +[项目文档](http://git.oschina.net/bangis/mybatis.generator/wikis/pages) + +
+ +
diff --git a/dalgen/config/config.xml b/dalgen/config/config.xml new file mode 100644 index 0000000..40ce275 --- /dev/null +++ b/dalgen/config/config.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dalgen/config/table-config-1.0.dtd b/dalgen/config/table-config-1.0.dtd new file mode 100644 index 0000000..b960ea3 --- /dev/null +++ b/dalgen/config/table-config-1.0.dtd @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dalgen/configTables/ABS_ACCMULATION.xml b/dalgen/configTables/ABS_ACCMULATION.xml new file mode 100644 index 0000000..d07bf89 --- /dev/null +++ b/dalgen/configTables/ABS_ACCMULATION.xml @@ -0,0 +1,214 @@ + + + + + + ID,OFFSET,TERM_NO,TOTAL_AMT,OUT_AST_NO + ,RATE_TYPE,ACCUM_AMT_TYPE,END_DATE,GMT_CREATE,START_DATE + ,ACCOUNT_DATE,GMT_MODIFIED,RATE,RATE_DAYS + + + + + sf.ID,sf.OFFSET,sf.TERM_NO,sf.TOTAL_AMT,sf.OUT_AST_NO + ,sf.RATE_TYPE,sf.ACCUM_AMT_TYPE,sf.END_DATE,sf.GMT_CREATE,sf.START_DATE + ,sf.ACCOUNT_DATE,sf.GMT_MODIFIED,sf.RATE,sf.RATE_DAYS + + + + + + + + + + + + INSERT INTO abs_accmulation( + ID + ,OFFSET + ,TERM_NO + ,TOTAL_AMT + ,OUT_AST_NO + ,RATE_TYPE + ,ACCUM_AMT_TYPE + ,END_DATE + ,GMT_CREATE + ,START_DATE + ,ACCOUNT_DATE + ,GMT_MODIFIED + ,RATE + ,RATE_DAYS + )VALUES + ( + SEQ_ABS_ACCMULATION.nextval + , #{item.offset,jdbcType=DECIMAL} + , #{item.termNo,jdbcType=DECIMAL} + , #{item.totalAmt,jdbcType=DECIMAL} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.rateType,jdbcType=VARCHAR} + , #{item.accumAmtType,jdbcType=VARCHAR} + , #{item.endDate,jdbcType=DATE} + , sysdate + , #{item.startDate,jdbcType=DATE} + , #{item.accountDate,jdbcType=DATE} + , sysdate + , #{item.rate,jdbcType=DECIMAL} + , #{item.rateDays,jdbcType=DECIMAL} + ) + + + + + + + + + + SELECT * + FROM abs_accmulation + WHERE + + + + + + + + + + + + + + SELECT * + FROM abs_accmulation + WHERE + + + + + select + t.* + from( + SELECT + * + FROM + ABS_ACCMULATION + WHERE + OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + AND TERM_NO = #{termNo,jdbcType=DECIMAL} + AND ACCUM_AMT_TYPE = #{accumAmtType,jdbcType=VARCHAR} + ORDER BY ACCOUNT_DATE DESC + )t + WHERE rownum = 1 + + + + select + * + from ( + SELECT + a.* + ,row_number() over (partition by TERM_NO,ACCUM_AMT_TYPE order by ACCOUNT_DATE desc) rn + FROM + ABS_ACCMULATION a + WHERE + OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + ) a + where a.rn = 1 + + + + DELETE FROM + abs_accmulation + WHERE + OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_ACCOUNT.xml b/dalgen/configTables/ABS_ACCOUNT.xml new file mode 100644 index 0000000..bb0cbf6 --- /dev/null +++ b/dalgen/configTables/ABS_ACCOUNT.xml @@ -0,0 +1,207 @@ + + + + + + ID,MEMO,ACT_NO,ACT_ATTR,ACT_BANK + ,ACT_CITY,ACT_NAME,ACT_PROV,ACT_TYPE,ENTITY_CODE + ,GMT_CREATE,GMT_MODIFIED,CHANNEL_NO,UNITED_BANK_NO, EXT_DATA,BAL_SEL,ACCOUNT_CODE + + + + + sf.ID,sf.MEMO,sf.ACT_NO,sf.ACT_ATTR,sf.ACT_BANK + ,sf.ACT_CITY,sf.ACT_NAME,sf.ACT_PROV,sf.ACT_TYPE,sf.ENTITY_CODE + ,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.CHANNEL_NO,sf.UNITED_BANK_NO, sf.EXT_DATA,sf.BAL_SEL,sf.ACCOUNT_CODE + + + + + + + + + + + INSERT INTO abs_account( + ID + ,MEMO + ,ACT_NO + ,ACT_ATTR + ,ACT_BANK + ,ACT_CITY + ,ACT_NAME + ,ACT_PROV + ,ACT_TYPE + ,ENTITY_CODE + ,GMT_CREATE + ,GMT_MODIFIED + ,CHANNEL_NO + ,UNITED_BANK_NO + ,EXT_DATA + ,BAL_SEL + ,ACCOUNT_CODE + )VALUES + ( + SEQ_ABS_ACCOUNT.nextval + , #{item.memo,jdbcType=VARCHAR} + , #{item.actNo,jdbcType=VARCHAR} + , #{item.actAttr,jdbcType=VARCHAR} + , #{item.actBank,jdbcType=VARCHAR} + , #{item.actCity,jdbcType=VARCHAR} + , #{item.actName,jdbcType=VARCHAR} + , #{item.actProv,jdbcType=VARCHAR} + , #{item.actType,jdbcType=VARCHAR} + , #{item.entityCode,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.channelNo,jdbcType=VARCHAR} + , #{item.unitedBankNo,jdbcType=VARCHAR} + , #{item.extData,jdbcType=VARCHAR} + , #{item.balSel,jdbcType=CHAR} + , #{item.accountCode,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + + + select * from abs_account + where + ACT_NO = #{actNo,jdbcType=VARCHAR} + AND + ENTITY_CODE = #{entityCode,jdbcType=VARCHAR} + order by id desc + + + + select + * + from + abs_account + where + ENTITY_CODE = #{entityCode,jdbcType=VARCHAR} + + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + + order by decode(ACT_ATTR,'PAY',1,'RECV',2,'NORMAL',3,'HOSTED',4) + + + + DELETE FROM + ABS_ACCOUNT + WHERE + ENTITY_CODE = #{entityCode,jdbcType=VARCHAR} + + + + DELETE FROM + ABS_ACCOUNT + WHERE + ACCOUNT_CODE = #{accountCode,jdbcType=VARCHAR} + + + + SELECT * FROM( + select * from abs_account + where + ENTITY_CODE = #{entityCode,jdbcType=VARCHAR} + AND + ACT_NO = #{actNo,jdbcType=VARCHAR} + + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + + order by id desc + ) where ROWNUM = 1 + + + + select * from abs_account + where + ACCOUNT_CODE = #{accountCode,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_ACCOUNT_CAPITAL_MODE.xml b/dalgen/configTables/ABS_ACCOUNT_CAPITAL_MODE.xml new file mode 100644 index 0000000..c9b06b6 --- /dev/null +++ b/dalgen/configTables/ABS_ACCOUNT_CAPITAL_MODE.xml @@ -0,0 +1,176 @@ + + + + + + ID,ACT_NO,PLAN_NO,EXT_DATA,PROC_END,ACT_ATTR + ,FLOW_TYPE,MODE_TYPE,PROC_START,TRANS_TYPE,PAY_TYPE,ACCOUNT_CODE,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.ID,sf.ACT_NO,sf.PLAN_NO,sf.EXT_DATA,sf.PROC_END,sf.ACT_ATTR + ,sf.FLOW_TYPE,sf.MODE_TYPE,sf.PROC_START,sf.TRANS_TYPE,sf.PAY_TYPE,sf.ACCOUNT_CODE,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_account_capital_mode( + ID + ,ACT_NO + ,ACT_ATTR + ,PLAN_NO + ,EXT_DATA + ,PROC_END + ,FLOW_TYPE + ,MODE_TYPE + ,PROC_START + ,TRANS_TYPE + ,PAY_TYPE + ,ACCOUNT_CODE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_ACCOUNT_CAPITAL_MODE.nextval + , #{item.actNo,jdbcType=VARCHAR} + , #{item.actAttr,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.extData,jdbcType=VARCHAR} + , #{item.procEnd,jdbcType=VARCHAR} + , #{item.flowType,jdbcType=VARCHAR} + , #{item.modeType,jdbcType=VARCHAR} + , #{item.procStart,jdbcType=VARCHAR} + , #{item.transType,jdbcType=VARCHAR} + , #{item.payType,jdbcType=VARCHAR} + , #{item.accountCode,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + + + + + + SELECT * + FROM abs_account_capital_mode + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + order by TRANS_TYPE asc, FLOW_TYPE desc + + + + SELECT * + FROM abs_account_capital_mode + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + TRANS_TYPE = #{transType,jdbcType=VARCHAR} + AND + FLOW_TYPE = #{flowType,jdbcType=VARCHAR} + AND + ACT_NO = #{actNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_account_capital_mode + WHERE + TRANS_TYPE = #{transType,jdbcType=VARCHAR} + AND + FLOW_TYPE = #{flowType,jdbcType=VARCHAR} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_account_capital_mode + WHERE + ACCOUNT_CODE = #{accountCode,jdbcType=VARCHAR} + and + TRANS_TYPE = #{transType,jdbcType=VARCHAR} + and + FLOW_TYPE = #{flowType,jdbcType=VARCHAR} + + + + + +
diff --git a/dalgen/configTables/ABS_ACCT_CHANNEL_CONDITION.xml b/dalgen/configTables/ABS_ACCT_CHANNEL_CONDITION.xml new file mode 100644 index 0000000..13783a1 --- /dev/null +++ b/dalgen/configTables/ABS_ACCT_CHANNEL_CONDITION.xml @@ -0,0 +1,110 @@ + + + + + + + + ID,QUOTA_SINGLE,MODE_TYPE,CHANNEL_NO,CHANNEL_INTER + ,LIMIT_END_TIME,LIMIT_START_TIME,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.QUOTA_SINGLE,sf.MODE_TYPE,sf.CHANNEL_NO,sf.CHANNEL_INTER + ,sf.LIMIT_END_TIME,sf.LIMIT_START_TIME,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_acct_channel_condition( + ID + ,QUOTA_SINGLE + ,MODE_TYPE + ,CHANNEL_NO + ,CHANNEL_INTER + ,LIMIT_END_TIME + ,LIMIT_START_TIME + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + null + , #{item.quotaSingle,jdbcType=DECIMAL} + , #{item.modeType,jdbcType=VARCHAR} + , #{item.channelNo,jdbcType=VARCHAR} + , #{item.channelInter,jdbcType=VARCHAR} + , #{item.limitEndTime,jdbcType=VARCHAR} + , #{item.limitStartTime,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + SELECT * + FROM abs_acct_channel_condition + WHERE + + + + + SELECT * + FROM abs_acct_channel_condition + WHERE + CHANNEL_NO = #{channelNo,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_ACCT_DATE.xml b/dalgen/configTables/ABS_ACCT_DATE.xml new file mode 100644 index 0000000..2b49d3e --- /dev/null +++ b/dalgen/configTables/ABS_ACCT_DATE.xml @@ -0,0 +1,86 @@ + + + + + + ID,ORG_CODE,ORG_TYPE,EFF,ACCT_DATE + ,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.ORG_CODE,sf.ORG_TYPE,sf.EFF,sf.ACCT_DATE + ,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + UPDATE abs_acct_date + SET + ACCT_DATE = #{acctDate,jdbcType=DATE} + ,GMT_MODIFIED = sysdate + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + + + UPDATE abs_acct_date + SET + EFF = #{eff,jdbcType=CHAR} + ,GMT_MODIFIED = #{gmtModified,jdbcType=DATE} + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + abs_acct_date + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + + + SELECT + * + FROM + abs_acct_date + + + ORG_TYPE = #{orgType,jdbcType=VARCHAR} + + + + + + SELECT * FROM abs_acct_date + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + FOR UPDATE NOWAIT + + + +
diff --git a/dalgen/configTables/ABS_ALLOC_BATCH.xml b/dalgen/configTables/ABS_ALLOC_BATCH.xml new file mode 100644 index 0000000..4fd11ca --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_BATCH.xml @@ -0,0 +1,201 @@ + + + + + + ID,MEMO,PAY_TYPE,GMT_CREATOR,BATCH_ALLOC_NO + ,APPROVE_STATUS,PAY_DATE,CLEAR_DATE,GMT_CREATE,GMT_MODIFIED + ,ORG_PCODES + + + + + sf.ID,sf.MEMO,sf.PAY_TYPE,sf.GMT_CREATOR,sf.BATCH_ALLOC_NO + ,sf.APPROVE_STATUS,sf.PAY_DATE,sf.CLEAR_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.ORG_PCODES + + + + + + + + + + + INSERT INTO abs_alloc_batch( + ID + ,MEMO + ,PAY_TYPE + ,GMT_CREATOR + ,BATCH_ALLOC_NO + ,APPROVE_STATUS + ,PAY_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,GMT_MODIFIED + ,ORG_PCODES + )VALUES + ( + SEQ_ABS_ALLOC_BATCH.nextval + , #{item.memo,jdbcType=VARCHAR} + , #{item.payType,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.batchAllocNo,jdbcType=VARCHAR} + , #{item.approveStatus,jdbcType=VARCHAR} + , #{item.payDate,jdbcType=DATE} + , #{item.clearDate,jdbcType=DATE} + , sysdate + , sysdate + , #{item.orgPcodes,jdbcType=VARCHAR} + ) + + + + + + + + + + SELECT * + FROM abs_alloc_batch + WHERE + + + + + + + + + + + + + + SELECT * + FROM abs_alloc_batch + WHERE + + + + + SELECT + * + FROM abs_alloc_batch + WHERE + BATCH_ALLOC_NO = #{batchAllocNo,jdbcType=VARCHAR} + FOR UPDATE + + + + + + SELECT + * + FROM + abs_alloc_batch + WHERE + 1=1 + + AND CLEAR_DATE = #{clearDate,jdbcType=DATE} + + + AND PAY_DATE = #{payDate,jdbcType=DATE} + + + + AND GMT_CREATOR IN + + #{uniqueCode,jdbcType=VARCHAR} + + + order by gmt_create desc ,BATCH_ALLOC_NO + + + + select + DISTINCT GMT_CREATOR + from abs_alloc_batch + WHERE + 1=1 + + + and ORG_PCODES like CONCAT(#{orgPcodes,jdbcType=VARCHAR},'%') + + + + and ORG_PCODES = #{pertainCode,jdbcType=VARCHAR} + + + + and GMT_CREATOR = #{userCode,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_ALLOC_BATCH_REL.xml b/dalgen/configTables/ABS_ALLOC_BATCH_REL.xml new file mode 100644 index 0000000..962e259 --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_BATCH_REL.xml @@ -0,0 +1,94 @@ + + + + + + ID,ALLOC_NO,GMT_CREATOR,BATCH_ALLOC_NO,GMT_CREATE + + + + + sf.ID,sf.ALLOC_NO,sf.GMT_CREATOR,sf.BATCH_ALLOC_NO,sf.GMT_CREATE + + + + + + + + + + + INSERT INTO abs_alloc_batch_rel( + ID + ,ALLOC_NO + ,GMT_CREATOR + ,BATCH_ALLOC_NO + ,GMT_CREATE + )VALUES + ( + SEQ_ABS_ALLOC_BATCH_REL.nextval + , #{item.allocNo,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.batchAllocNo,jdbcType=VARCHAR} + , sysdate + ) + + + + + + + + + + + + SELECT * + FROM abs_alloc_batch_rel + WHERE + + + + + + DELETE FROM abs_alloc_batch_rel + WHERE + + + +
diff --git a/dalgen/configTables/ABS_ALLOC_MODEL.xml b/dalgen/configTables/ABS_ALLOC_MODEL.xml new file mode 100644 index 0000000..8798cb0 --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_MODEL.xml @@ -0,0 +1,107 @@ + + + + + + ID,PERIOD_NUM,GMT_CREATOR,PERIOD_TYPE,TEMPLATE_NO + ,TEMPLATE_NAME,APPROVE_STATUS,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.PERIOD_NUM,sf.GMT_CREATOR,sf.PERIOD_TYPE,sf.TEMPLATE_NO + ,sf.TEMPLATE_NAME,sf.APPROVE_STATUS,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + + + + SELECT * + FROM abs_alloc_model + WHERE + + + + + SELECT * + FROM abs_alloc_model + + + TEMPLATE_NAME LIKE CONCAT(CONCAT('%',#{templateName,jdbcType=VARCHAR}),'%') + + + ORDER BY GMT_CREATE DESC + + + + SELECT count(*) + FROM abs_plan + WHERE + + + + + SELECT * + FROM abs_alloc_model + + + TEMPLATE_NAME LIKE CONCAT(CONCAT('%',#{templateName,jdbcType=VARCHAR}),'%') + + + TEMPLATE_NO = #{templateNo,jdbcType=VARCHAR} + + + ORDER BY GMT_CREATE DESC, ID desc + + +
diff --git a/dalgen/configTables/ABS_ALLOC_MODEL_RULE.xml b/dalgen/configTables/ABS_ALLOC_MODEL_RULE.xml new file mode 100644 index 0000000..72437b2 --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_MODEL_RULE.xml @@ -0,0 +1,73 @@ + + + + + + ID,GMT_CREATOR,ALLOC_RULE_NO,TEMPLATE_NO,GMT_CREATE + + + + + sf.ID,sf.GMT_CREATOR,sf.ALLOC_RULE_NO,sf.TEMPLATE_NO,sf.GMT_CREATE + + + + + + + INSERT INTO abs_alloc_model_rule( + ID + ,GMT_CREATOR + ,ALLOC_RULE_NO + ,TEMPLATE_NO + ,GMT_CREATE + )VALUES + ( + SEQ_ABS_ALLOC_MODEL_RULE.nextval + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.allocRuleNo,jdbcType=VARCHAR} + , #{item.templateNo,jdbcType=VARCHAR} + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_alloc_model_rule + WHERE + + + + + SELECT * + FROM abs_alloc_model_rule + WHERE + + +
diff --git a/dalgen/configTables/ABS_ALLOC_RULE.xml b/dalgen/configTables/ABS_ALLOC_RULE.xml new file mode 100644 index 0000000..a165d4d --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_RULE.xml @@ -0,0 +1,158 @@ + + + + + + ID,ALLOC_RULE_NO,ALLOC_RULE_NAME,ALLOC_PAY_FREQ, + ALLOC_DATE_TYPE,FIRST_PAY_DATE_TYPE,FIRST_CLEAR_DATE_TYPE, + GMT_CREATOR,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.ALLOC_RULE_NO,sf.ALLOC_RULE_NAME,sf.ALLOC_PAY_FREQ, + sf.ALLOC_DATE_TYPE,sf.FIRST_PAY_DATE_TYPE,sf.FIRST_CLEAR_DATE_TYPE, + sf.GMT_CREATOR,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + SELECT + + FROM ABS_ALLOC_RULE + + + ALLOC_RULE_NAME = #{allocRuleName,jdbcType=VARCHAR} + + + ORDER BY GMT_CREATE DESC + + + + INSERT INTO ABS_ALLOC_RULE( + ID + ,ALLOC_RULE_NO + ,ALLOC_RULE_NAME + ,ALLOC_PAY_FREQ + ,ALLOC_DATE_TYPE + ,FIRST_PAY_DATE_TYPE + ,FIRST_CLEAR_DATE_TYPE + ,GMT_CREATOR + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES( + SEQ_ABS_ALLOC_RULE.nextval + , #{allocRuleNo,jdbcType=VARCHAR} + , #{allocRuleName,jdbcType=VARCHAR} + , #{allocPayFreq,jdbcType=VARCHAR} + , #{allocDateType,jdbcType=VARCHAR} + , #{firstPayDateType,jdbcType=VARCHAR} + , #{firstClearDateType,jdbcType=VARCHAR} + , #{gmtCreator,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + INSERT INTO ABS_ALLOC_RULE( + ID + ,ALLOC_RULE_NO + ,ALLOC_RULE_NAME + ,ALLOC_PAY_FREQ + ,ALLOC_DATE_TYPE + ,FIRST_PAY_DATE_TYPE + ,FIRST_CLEAR_DATE_TYPE + ,GMT_CREATOR + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES( + SEQ_ABS_ALLOC_RULE.nextval + , #{item.allocRuleNo,jdbcType=VARCHAR} + , #{item.allocRuleName,jdbcType=VARCHAR} + , #{item.allocPayFreq,jdbcType=VARCHAR} + , #{item.allocDateType,jdbcType=VARCHAR} + , #{item.firstPayDateType,jdbcType=VARCHAR} + , #{item.firstClearDateType,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + + + + + + + + + + + + SELECT * + FROM abs_alloc_rule + WHERE + + + + + + SELECT * + FROM abs_alloc_rule + WHERE + ALLOC_RULE_NO = #{allocRuleNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_alloc_rule + + + ALLOC_RULE_NAME LIKE CONCAT(CONCAT('%',#{allocRuleName,jdbcType=VARCHAR}),'%') + + + + + + + + SELECT sf.* + FROM ABS_ALLOC_RULE sf + left join ABS_ALLOC_MODEL_RULE r on r.ALLOC_RULE_NO = sf.ALLOC_RULE_NO + WHERE + + + +
diff --git a/dalgen/configTables/ABS_ALLOC_RULE_TITLE.xml b/dalgen/configTables/ABS_ALLOC_RULE_TITLE.xml new file mode 100644 index 0000000..5eb8d5e --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_RULE_TITLE.xml @@ -0,0 +1,86 @@ + + + + + + ID,ALLOC_RULE_NO,TITLE_CODE, + GMT_CREATOR,GMT_CREATE + + + + + sf.ID,sf.ALLOC_RULE_NO,sf.TITLE_CODE, + sf.GMT_CREATOR,sf.GMT_CREATE + + + + + INSERT INTO abs_alloc_rule_title( + ID + ,ALLOC_RULE_NO + ,TITLE_CODE + ,GMT_CREATOR + ,GMT_CREATE + )VALUES( + SEQ_ABS_ALLOC_RULE_TITLE.nextval + , #{allocRuleNo,jdbcType=VARCHAR} + , #{titleCode,jdbcType=VARCHAR} + , #{gmtCreator,jdbcType=VARCHAR} + , sysdate + ) + + + + + + + INSERT INTO abs_alloc_rule_title( + ID + ,ALLOC_RULE_NO + ,TITLE_CODE + ,GMT_CREATOR + ,GMT_CREATE + )VALUES( + SEQ_ABS_ALLOC_RULE_TITLE.nextval + , #{item.allocRuleNo,jdbcType=VARCHAR} + , #{item.titleCode,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , sysdate + ) + + + + + + + + + + + + + SELECT * + FROM abs_alloc_rule_title + WHERE + + + + + SELECT * + FROM abs_alloc_rule_title + WHERE + + +
diff --git a/dalgen/configTables/ABS_ALLOC_TITLE_TEMPLATE.xml b/dalgen/configTables/ABS_ALLOC_TITLE_TEMPLATE.xml new file mode 100644 index 0000000..897eaf4 --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_TITLE_TEMPLATE.xml @@ -0,0 +1,140 @@ + + + + + + ID,CALC_TYPE,ALLOC_TYPE,SCALE_TYPE,TITLE_CODE, CALC_INTR_TYPE + ,TITLE_NAME,GMT_CREATOR,SER_FEE_TYPE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.CALC_TYPE,sf.ALLOC_TYPE,sf.SCALE_TYPE,sf.TITLE_CODE, sf.CALC_INTR_TYPE + ,sf.TITLE_NAME,sf.GMT_CREATOR,sf.SER_FEE_TYPE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + SELECT * + FROM abs_alloc_title_template + WHERE + + + + + SELECT * + FROM abs_alloc_title_template + + + TITLE_NAME LIKE CONCAT(CONCAT('%',#{titleName,jdbcType=VARCHAR}),'%') + + + ORDER BY GMT_CREATE DESC, ID desc + + + + SELECT * + FROM abs_alloc_title_template + + + TITLE_NAME LIKE CONCAT(CONCAT('%',#{titleName,jdbcType=VARCHAR}),'%') + + + TITLE_CODE = #{titleCode,jdbcType=VARCHAR} + + + AND + ALLOC_TYPE IN + + #{type,jdbcType=VARCHAR} + + + + ORDER BY GMT_CREATE DESC, ID desc + + + + SELECT sf.* + FROM abs_alloc_title_template sf + left join abs_alloc_rule_title r on r.TITLE_CODE = sf.TITLE_CODE + WHERE + + + + + SELECT count(*) + FROM ABS_ALLOC_RULE_TITLE + WHERE + + + + + SELECT count(*) + FROM abs_alloc_title_template + WHERE + + +
diff --git a/dalgen/configTables/ABS_ALLOC_TRIAL.xml b/dalgen/configTables/ABS_ALLOC_TRIAL.xml new file mode 100644 index 0000000..189d123 --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_TRIAL.xml @@ -0,0 +1,131 @@ + + + + + + ID,STATUS,PAY_DATE,CLEAR_DATE,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.ID,sf.STATUS,sf.PAY_DATE,sf.CLEAR_DATE,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_alloc_trial( + ID + ,STATUS + ,PAY_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_ALLOC_TRIAL.nextval + , #{item.status,jdbcType=VARCHAR} + , #{item.payDate,jdbcType=DATE} + , #{item.clearDate,jdbcType=DATE} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_alloc_trial + WHERE + + + + + + + + + + + + + + SELECT * + FROM abs_alloc_trial + WHERE + + + + SELECT * + FROM abs_alloc_trial + WHERE + + FOR UPDATE + +
diff --git a/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml b/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml new file mode 100644 index 0000000..ddcf6ea --- /dev/null +++ b/dalgen/configTables/ABS_ALLOC_TRIAL_ITEM.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + ID,CURR_PAY,TRIAL_AMT,TRIAL_TAX_AMT,PLAN_NO + ,TITLE_NO,PAY_DATE,CLEAR_DATE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.CURR_PAY,sf.TRIAL_AMT,sf.TRIAL_TAX_AMT,sf.PLAN_NO + ,sf.TITLE_NO,sf.PAY_DATE,sf.CLEAR_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + MERGE INTO abs_alloc_trial_item t1 + USING (SELECT #{item.clearDate,jdbcType=DATE} CLEAR_DATE, #{item.payDate,jdbcType=DATE} PAY_DATE, #{item.titleNo,jdbcType=VARCHAR} TITLE_NO FROM DUAL) t2 + ON (t1.CLEAR_DATE = t2.CLEAR_DATE and t1.PAY_DATE = t2.PAY_DATE and t1.TITLE_NO = t2.TITLE_NO) + WHEN MATCHED THEN UPDATE SET + CURR_PAY = #{item.currPay,jdbcType=DECIMAL} + ,TRIAL_AMT = #{item.trialAmt,jdbcType=DECIMAL} + ,TRIAL_TAX_AMT = #{item.trialTaxAmt,jdbcType=DECIMAL} + ,GMT_MODIFIED = sysdate + WHEN NOT MATCHED THEN INSERT ( + ID + ,CURR_PAY + ,TRIAL_AMT + ,TRIAL_TAX_AMT + ,PLAN_NO + ,TITLE_NO + ,PAY_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_ALLOC_TRIAL_ITEM.nextval + , #{item.currPay,jdbcType=DECIMAL} + , #{item.trialAmt,jdbcType=DECIMAL} + , #{item.trialTaxAmt,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.titleNo,jdbcType=VARCHAR} + , #{item.payDate,jdbcType=DATE} + , #{item.clearDate,jdbcType=DATE} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_alloc_trial_item + WHERE + + + + + + SELECT * + FROM abs_alloc_trial_item + WHERE + + +
diff --git a/dalgen/configTables/ABS_AST_FUND_RES.xml b/dalgen/configTables/ABS_AST_FUND_RES.xml new file mode 100644 index 0000000..9bdc185 --- /dev/null +++ b/dalgen/configTables/ABS_AST_FUND_RES.xml @@ -0,0 +1,230 @@ + + + + + + ID,OUT_AST_NO,MANAGER_ORG_CODE,POND_NO,LENDER_ORG_CODE,FUND_NO,LOAN_PRIN,SEQ_NO,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.OUT_AST_NO,sf.MANAGER_ORG_CODE, + sf.POND_NO,sf.LENDER_ORG_CODE, + sf.FUND_NO,sf.LOAN_PRIN,sf.SEQ_NO,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + INSERT INTO ABS_AST_FUND_RES( + ID + ,OUT_AST_NO + ,MANAGER_ORG_CODE + ,POND_NO + ,LENDER_ORG_CODE + ,FUND_NO + ,LOAN_PRIN + ,SEQ_NO + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES( + SEQ_ABS_AST_FUND_RES.nextval + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.pondNo,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.fundNo,jdbcType=VARCHAR} + , #{item.loanPrin,jdbcType=DECIMAL} + , #{item.seqNo,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + INSERT INTO ABS_AST_FUND_RES + (ID + , OUT_AST_NO + , MANAGER_ORG_CODE + , POND_NO + , LENDER_ORG_CODE + , FUND_NO + , SEQ_NO + , GMT_CREATE + , GMT_MODIFIED) + SELECT + SEQ_ABS_AST_FUND_RES.nextval + , A.DUE_NO + , #{orgCode,jdbcType=VARCHAR} + , A.PROJ_NO + , C.PLAN_NO + , C.OUT_PLAN_NO + , #{seqNo,jdbcType=VARCHAR} + , sysdate + , sysdate + FROM WK1_MFS_FUND A + LEFT JOIN + ABS_AST_FUND_RES B ON A.ORG_CODE = B.MANAGER_ORG_CODE AND A.DUE_NO = B.OUT_AST_NO + LEFT JOIN + ABS_PLAN C ON A.TD_FUND_NO = C.OUT_PLAN_NO + WHERE + A.ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND + B.OUT_AST_NO IS NULL + AND + C.PLAN_NO IS NOT NULL + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + SUM(LOAN_PRIN) MONEY, + LENDER_ORG_CODE PLAN_NO + FROM + ABS_AST_FUND_RES + WHERE + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + group by LENDER_ORG_CODE + + + + INSERT INTO ABS_AST_FUND_RES ( + ID + , OUT_AST_NO + , MANAGER_ORG_CODE + , POND_NO + , LENDER_ORG_CODE + , FUND_NO + , SEQ_NO + , LOAN_PRIN + , GMT_CREATE + , GMT_MODIFIED) + SELECT + SEQ_ABS_AST_FUND_RES.nextval + ,AST_NO + ,ORG_CODE + ,POND_NO + ,#{planNo,jdbcType=VARCHAR} + ,#{outPlanNo,jdbcType=VARCHAR} + ,#{seqNo,jdbcType=VARCHAR} + ,LOAN_PRIN + ,sysdate + ,sysdate + FROM ABS_FDRT_AST_FUND_MATCH_CTR + WHERE + AST_NO IN + + #{astNo,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + ABS_AST_FUND_RES + WHERE + OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + + + + + + + + + + +
diff --git a/dalgen/configTables/ABS_AST_MATCH.xml b/dalgen/configTables/ABS_AST_MATCH.xml new file mode 100644 index 0000000..4a80718 --- /dev/null +++ b/dalgen/configTables/ABS_AST_MATCH.xml @@ -0,0 +1,321 @@ + + + + + + + + + + + + ID,MAX_TERM_NO,MIN_TERM_NO,TFR_FEE_BAL,TFR_INTR_BAL + ,TFR_PRIN_BAL,TFR_PENAL_BAL,AST_NO + ,RISK_CL,TFR_OUT,BATCH_NO,PACK_TYPE,AST_MATCH_NO + ,USED,SLICE,TFR_DATE,AST_IN_DATE,GMT_CREATE + ,AST_END_DATE,GMT_MODIFIED,PROD_CODE + + + + + sf.ID,sf.MAX_TERM_NO,sf.MIN_TERM_NO,sf.TFR_FEE_BAL,sf.TFR_INTR_BAL + ,sf.TFR_PRIN_BAL,sf.TFR_PENAL_BAL,sf.AST_NO + ,sf.RISK_CL,sf.TFR_OUT,sf.BATCH_NO,sf.PACK_TYPE,sf.AST_MATCH_NO + ,sf.USED,sf.SLICE,sf.TFR_DATE,sf.AST_IN_DATE,sf.GMT_CREATE + ,sf.AST_END_DATE,sf.GMT_MODIFIED,sf.PROD_CODE + + + + + + + + + + + INSERT INTO abs_ast_match( + ID + ,MAX_TERM_NO + ,MIN_TERM_NO + ,TFR_FEE_BAL + ,TFR_INTR_BAL + ,TFR_PRIN_BAL + ,TFR_PENAL_BAL + ,AST_NO + ,RISK_CL + ,TFR_OUT + ,BATCH_NO + ,PACK_TYPE + ,AST_MATCH_NO + ,USED + ,SLICE + ,TFR_DATE + ,AST_IN_DATE + ,GMT_CREATE + ,AST_END_DATE + ,GMT_MODIFIED + ,PROD_CODE + )VALUES + ( + SEQ_ABS_AST_MATCH_PRE_COST.nextval + , #{item.maxTermNo,jdbcType=DECIMAL} + , #{item.minTermNo,jdbcType=DECIMAL} + , #{item.tfrFeeBal,jdbcType=DECIMAL} + , #{item.tfrIntrBal,jdbcType=DECIMAL} + , #{item.tfrPrinBal,jdbcType=DECIMAL} + , #{item.tfrPenalBal,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.tfrOut,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.packType,jdbcType=VARCHAR} + , #{item.astMatchNo,jdbcType=VARCHAR} + , #{item.used,jdbcType=CHAR} + , #{item.slice,jdbcType=CHAR} + , #{item.tfrDate,jdbcType=DATE} + , #{item.astInDate,jdbcType=DATE} + , sysdate + , #{item.astEndDate,jdbcType=DATE} + , sysdate + , #{item.prodCode,jdbcType=VARCHAR} + ) + + + + + + + + + + SELECT * + FROM abs_ast_match + WHERE + + + + + + + + + + + + + + SELECT * + FROM abs_ast_match + WHERE + + + + + + + + + + + + + + SELECT * + FROM abs_ast_match + WHERE + + + + + + SELECT * + FROM abs_ast_match + WHERE + + + + + UPDATE abs_ast_match + SET + USED = 1 + WHERE + AST_MATCH_NO in + + #{matchNo,jdbcType=VARCHAR} + + + + + UPDATE abs_ast_match + SET + USED = #{used,jdbcType=CHAR} + WHERE + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + + and + ast_no in + + #{astNo,jdbcType=VARCHAR} + + + + and slice = #{slice,jdbcType=CHAR} + + + + + truncate table ABS_AST_MATCH + + + + delete from abs_ast_match + where batch_no = #{batchNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_AST_MATCH_CTR.xml b/dalgen/configTables/ABS_AST_MATCH_CTR.xml new file mode 100644 index 0000000..59d4429 --- /dev/null +++ b/dalgen/configTables/ABS_AST_MATCH_CTR.xml @@ -0,0 +1,394 @@ + + + + + + + ID,GROUP_ID,EXEC_TIMES,AST_NO,TASK_STATUS + ,BATCH_NO,LAST_HOST,PACK_TYPE,GMT_CREATE,GMT_MODIFIED + ,LAST_EXEC_TIME,NEXT_EXEC_TIME,SCREEN_DATE,MANAGER_ORG_CODE + + + + + sf.ID,sf.GROUP_ID,sf.EXEC_TIMES,sf.AST_NO,sf.TASK_STATUS + ,sf.BATCH_NO,sf.LAST_HOST,sf.PACK_TYPE,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.LAST_EXEC_TIME,sf.NEXT_EXEC_TIME,SCREEN_DATE,sf.MANAGER_ORG_CODE + + + + + + + + + + + INSERT INTO abs_ast_match_ctr( + ID + ,GROUP_ID + ,EXEC_TIMES + ,AST_NO + ,TASK_STATUS + ,BATCH_NO + ,LAST_HOST + ,PACK_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + ,LAST_EXEC_TIME + ,NEXT_EXEC_TIME + ,SCREEN_DATE + ,MANAGER_ORG_CODE + )VALUES + ( + SEQ_ABS_AST_MATCH_CTR.nextval + , trunc(dbms_random.value(0,120)) + , #{item.execTimes,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.taskStatus,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.lastHost,jdbcType=VARCHAR} + , #{item.packType,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.lastExecTime,jdbcType=DATE} + , #{item.nextExecTime,jdbcType=DATE} + , #{item.screenDate,jdbcType=DATE} + , #{item.managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + SELECT * + FROM abs_ast_match_ctr + WHERE + + + + + + SELECT * + FROM abs_ast_match_ctr + WHERE + + + + + SELECT * + FROM abs_ast_match_ctr + WHERE + + + + + + + + + INSERT INTO abs_ast_match_ctr( + ID + ,GROUP_ID + ,EXEC_TIMES + ,AST_NO + ,TASK_STATUS + ,BATCH_NO + ,LAST_HOST + ,PACK_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + ,LAST_EXEC_TIME + ,NEXT_EXEC_TIME + ,SCREEN_DATE + ,MANAGER_ORG_CODE + ) + SELECT + SEQ_ABS_AST_MATCH_CTR.nextval + , trunc(dbms_random.value(0,120)) + , 0 + , ast_no + , 'init' + , #{batchNo,jdbcType=VARCHAR} + , null + , #{packType,jdbcType=VARCHAR} + , sysdate + , sysdate + , sysdate + , sysdate + , #{screenDate,jdbcType=DATE} + , manager_org_code + FROM + ( + select + distinct(ast_no) ast_no, + manager_org_code + FROM + ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + AND + OWN_ORG IN + + #{ownOrg,jdbcType=VARCHAR} + + + + AND + PM_ORG_CODE IN + + #{pmOrgCode,jdbcType=VARCHAR} + + + + AND + OWN_ORG NOT IN + + #{amcNo,jdbcType=VARCHAR} + + + + + AND + AST_STATUS in + + #{item,jdbcType=VARCHAR} + + + + AND FEE_BAL + INTR_BAL + PRIN_BAL + FEE_PENAL_BAL + OTHER_FEE_BAL + INTR_PENAL_BAL + + PRIN_PENAL_BAL + OTHER_FEE_PENAL_BAL + OVD_PRIN_BAL + OVD_INTR_BAL + OVD_FEE_BAL > 0 + + + AND PRIN_BAL + OVD_PRIN_BAL > 0 + + ) + + + + + INSERT INTO abs_ast_match_ctr( + ID + ,GROUP_ID + ,EXEC_TIMES + ,AST_NO + ,TASK_STATUS + ,BATCH_NO + ,LAST_HOST + ,PACK_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + ,LAST_EXEC_TIME + ,NEXT_EXEC_TIME + ,SCREEN_DATE + ,MANAGER_ORG_CODE + ) + SELECT + SEQ_ABS_AST_MATCH_CTR.nextval + , trunc(dbms_random.value(0,120)) + , 0 + , ast_no + , 'init' + , #{batchNo,jdbcType=VARCHAR} + , null + , #{packType,jdbcType=VARCHAR} + , sysdate + , sysdate + , sysdate + , sysdate + , #{screenDate,jdbcType=DATE} + , manager_org_code + FROM + ( + select + distinct(ast_no) ast_no, + manager_org_code + FROM + ABS_AST_PACK_ASSET_ITEM o + LEFT JOIN ABS_LOAN_BAK b + ON b.BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + AND o.OWN_ORG = b.OWN_ORG + AND o.LENDER_ORG_CODE = b.PM_ORG_CODE + WHERE + o.BATCH_NO = #{batchNo,jdbcType=VARCHAR} + AND b.BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND o.OWN_ORG = b.OWN_ORG + AND o.LENDER_ORG_CODE = b.PM_ORG_CODE + AND FEE_BAL + INTR_BAL + PRIN_BAL + FEE_PENAL_BAL + OTHER_FEE_BAL + INTR_PENAL_BAL + + PRIN_PENAL_BAL + OTHER_FEE_PENAL_BAL + OVD_PRIN_BAL + OVD_INTR_BAL + OVD_FEE_BAL > 0 + ) + + + + + + + + select sf.* from( + SELECT + sf.* + FROM + abs_ast_match_ctr sf + WHERE + sf.TASK_STATUS = 'init' + + AND + sf.GROUP_ID in + + #{groupId,jdbcType=BIGINT} + + + order by sf.NEXT_EXEC_TIME asc + )sf + where ROWNUM <= #{limit,jdbcType=INTEGER} + + + + + + + SELECT + TASK_STATUS,COUNT( \\* )CNT + FROM + abs_ast_match_ctr + WHERE + BATCH_NO = #{batchNo, jdbcType=VARCHAR} + group by TASK_STATUS + + + SELECT + * + FROM + abs_ast_match_ctr + WHERE + ID = #{id,jdbcType=BIGINT} + FOR UPDATE NOWAIT + + + + + + + + + + select + count(*) + from + abs_ast_match_ctr + where + task_status = 'fail' + + + truncate table ABS_AST_MATCH_CTR + +
diff --git a/dalgen/configTables/ABS_AST_MATCH_PRE_COST.xml b/dalgen/configTables/ABS_AST_MATCH_PRE_COST.xml new file mode 100644 index 0000000..26b5b59 --- /dev/null +++ b/dalgen/configTables/ABS_AST_MATCH_PRE_COST.xml @@ -0,0 +1,310 @@ + + + + + + + + + + + ID,TFR_AMT,AST_NO,SEQ_NO,BATCH_NO + ,TFR_PACK,PRE_TRF_IN,AST_MATCH_NO,GMT_CREATE,GMT_MODIFIED + ,INTR_RATE,PRIN_RATE,PENAL_RATE,FEE_RATE,TFR_SCOPE,FUND_PLAN_NO + ,TFR_PRIN_AMT,TFR_INTR_AMT,TFR_FEE_AMT,TFR_PENAL_AMT + + + + + sf.ID,sf.TFR_AMT,sf.AST_NO,sf.SEQ_NO,sf.BATCH_NO + ,sf.TFR_PACK,sf.PRE_TRF_IN,sf.AST_MATCH_NO,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.INTR_RATE,sf.PRIN_RATE,sf.PENAL_RATE,sf.FEE_RATE,sf.TFR_SCOPE,sf.FUND_PLAN_NO + ,sf.TFR_PRIN_AMT,sf.TFR_INTR_AMT,sf.TFR_FEE_AMT,sf.TFR_PENAL_AMT + + + + TFR_AMT,AST_NO,SEQ_NO,BATCH_NO,TFR_PACK,PRE_TRF_IN,AST_MATCH_NO,INTR_RATE + ,PRIN_RATE,PENAL_RATE,FEE_RATE,MAX_TERM_NO,MIN_TERM_NO,TFR_FEE_BAL,TFR_INTR_BAL + ,TFR_PRIN_BAL,TFR_PENAL_BAL,TFR_PENAL_BAL,TFR_FEE_BAL,RISK_CL,TFR_OUT,PACK_TYPE + ,SLICE,TFR_DATE,AST_IN_DATE,AST_END_DATE,SUM_AMT,TFR_SCOPE,FUND_PLAN_NO + ,TFR_PRIN_AMT,TFR_INTR_AMT,TFR_FEE_AMT,TFR_PENAL_AMT + + + + + + + + + + INSERT INTO abs_ast_match_pre_cost( + ID + ,TFR_AMT + ,AST_NO + ,SEQ_NO + ,BATCH_NO + ,TFR_PACK + ,PRE_TRF_IN + ,AST_MATCH_NO + ,GMT_CREATE + ,GMT_MODIFIED + ,INTR_RATE + ,PRIN_RATE + ,PENAL_RATE + ,FEE_RATE + ,TFR_SCOPE + ,FUND_PLAN_NO + ,TFR_PRIN_AMT + ,TFR_INTR_AMT + ,TFR_FEE_AMT + ,TFR_PENAL_AMT + )VALUES + ( + SEQ_ABS_AST_MATCH_PRE_COST.nextval + , #{item.tfrAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.tfrPack,jdbcType=VARCHAR} + , #{item.preTrfIn,jdbcType=VARCHAR} + , #{item.astMatchNo,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.intrRate,jdbcType=DECIMAL} + , #{item.prinRate,jdbcType=DECIMAL} + , #{item.penalRate,jdbcType=DECIMAL} + , #{item.feeRate,jdbcType=DECIMAL} + , #{item.tfrScope,jdbcType=VARCHAR} + , #{item.fundPlanNo,jdbcType=VARCHAR} + , #{item.tfrPrinAmt,jdbcType=DECIMAL} + , #{item.tfrIntrAmt,jdbcType=DECIMAL} + , #{item.tfrFeeAmt,jdbcType=DECIMAL} + , #{item.tfrPenalAmt,jdbcType=DECIMAL} + ) + + + + + + + + truncate table ABS_AST_MATCH_PRE_COST + + + + + + + + SELECT * + FROM abs_ast_match_pre_cost + WHERE + + + + + SELECT * + FROM abs_ast_match_pre_cost + WHERE + + + + + + SELECT * + FROM abs_ast_match_pre_cost + WHERE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + + from ( + select + cost.TFR_AMT + ,cost.AST_NO + ,cost.SEQ_NO + ,cost.BATCH_NO + ,cost.TFR_PACK + ,cost.PRE_TRF_IN + ,cost.AST_MATCH_NO + ,cost.INTR_RATE + ,cost.PRIN_RATE + ,cost.PENAL_RATE + ,cost.FEE_RATE + ,match.MAX_TERM_NO + ,match.MIN_TERM_NO + ,match.TFR_FEE_BAL + ,match.TFR_INTR_BAL + ,match.TFR_PRIN_BAL + ,match.TFR_PENAL_BAL + ,match.RISK_CL + ,match.TFR_OUT + ,match.PACK_TYPE + ,match.SLICE + ,match.TFR_DATE + ,match.AST_IN_DATE + ,match.AST_END_DATE + ,match.PROD_CODE + + ,sum(cost.TFR_AMT) over (partition by cost.TFR_PACK ORDER BY + + plan.END_DATE DESC, plan.IDLE ASC, + + match.AST_END_DATE desc, match.AST_MATCH_NO) SUM_AMT + + + ,sum(cost.TFR_AMT) over (partition by cost.TFR_PACK ORDER BY + + plan.END_DATE DESC, plan.IDLE ASC, + + match.AST_IN_DATE asc, match.AST_MATCH_NO) SUM_AMT + + ,cost.TFR_SCOPE + ,cost.FUND_PLAN_NO + ,cost.TFR_PRIN_AMT + ,cost.TFR_INTR_AMT + ,cost.TFR_FEE_AMT + ,cost.TFR_PENAL_AMT + from ABS_AST_MATCH match + left join ABS_AST_MATCH_PRE_COST cost on cost.AST_MATCH_NO = match.AST_MATCH_NO AND cost.TFR_PACK = #{tfrPack,jdbcType=VARCHAR} + + left join ( + select p.END_DATE,p.PLAN_NO,nvl(rpt.AMT, 1) IDLE from ABS_PLAN p left join ( + select rpt.PLAN_NO,rpt.AMT from ( + SELECT PLAN_NO ,AMT ,ROW_NUMBER() over (partition by PLAN_NO,RPT_ITEM order by ACCOUNT_DATE desc) rn + FROM ABS_PLAN_REPORT_ITEM where RPT_ITEM = 'WK002' + ) rpt where rpt.rn = 1 + ) rpt on p.PLAN_NO = rpt.PLAN_NO + ) plan on match.TFR_OUT = plan.PLAN_NO + + WHERE + match.USED = 0 + AND cost.TFR_AMT <= #{sumAmt,jdbcType=BIGINT} + + AND match.PROD_CODE = #{prodCode,jdbcType=VARCHAR} + + + AND cost.FUND_PLAN_NO = #{fundPlanNo,jdbcType=VARCHAR} + + ) t + where t.SUM_AMT <= #{sumAmt,jdbcType=BIGINT} + and ROWNUM <= #{limit,jdbcType=INTEGER} + + +
diff --git a/dalgen/configTables/ABS_AST_PACK.xml b/dalgen/configTables/ABS_AST_PACK.xml new file mode 100644 index 0000000..3a76ba9 --- /dev/null +++ b/dalgen/configTables/ABS_AST_PACK.xml @@ -0,0 +1,635 @@ + + + + + + + ID, PLAN_NO, AVAL_AMT, PACK_CODE, PACK_NAME, PACK_STATUS, MAX_END_DATE, MIN_END_DATE, TRANS_RULE, DYM_RULE, + GMT_CREATE, GMT_MODIFIED, SCEN_DATE,CALC_INTR_TYPE, MANAGER_ORG_CODE, ROWNUM RN, + ABSSQR_PROD_CODE,BACK_OUT_CODE,APPROVE_STATUS,APPROVE_DATE,MEMO,PACK_TYPE,EXT_DATA,BIZ_NO, + BUILD_METHOD, FUND_MODE, CAPITAL_TYPE, EXCEED_AST_ONLY, CAPITAL_SIGN, VALUATION_TYPE, TFR_SCOPE + + + + + sf.ID, sf.PLAN_NO, + sf.AVAL_AMT,sf.PACK_CODE,sf.PACK_NAME,sf.PACK_STATUS,sf.MAX_END_DATE,sf.MIN_END_DATE,sf.TRANS_RULE,sf.DYM_RULE, + sf.GMT_CREATE,sf.GMT_MODIFIED,sf.SCEN_DATE,CALC_INTR_TYPE,sf.MANAGER_ORG_CODE, + sf.ABSSQR_PROD_CODE,sf.BACK_OUT_CODE,sf.APPROVE_STATUS,sf.APPROVE_DATE,sf.MEMO,sf.PACK_TYPE,sf.BIZ_NO, + sf.BUILD_METHOD, sf.FUND_MODE, sf.CAPITAL_TYPE, sf.EXCEED_AST_ONLY, sf.CAPITAL_SIGN, sf.VALUATION_TYPE, sf.TFR_SCOPE + + + + + + + + + + + INSERT INTO ABS_AST_PACK( + ID + ,PLAN_NO + ,AVAL_AMT + ,PACK_CODE + ,PACK_NAME + ,PACK_STATUS + ,MAX_END_DATE + ,MIN_END_DATE + ,TRANS_RULE + ,DYM_RULE + ,GMT_CREATE + ,GMT_MODIFIED + ,SCEN_DATE + ,CALC_INTR_TYPE + ,MANAGER_ORG_CODE + ,ABSSQR_PROD_CODE + ,BACK_OUT_CODE + ,APPROVE_STATUS + ,APPROVE_DATE + ,MEMO + ,PACK_TYPE + ,EXT_DATA + ,BIZ_NO + ,BUILD_METHOD + ,FUND_MODE + ,CAPITAL_TYPE + ,EXCEED_AST_ONLY + ,CAPITAL_SIGN + ,VALUATION_TYPE + ,TFR_SCOPE + )VALUES( + SEQ_ABS_AST_PACK.nextval + , #{item.planNo,jdbcType=VARCHAR} + , #{item.avalAmt,jdbcType=BIGINT} + , #{item.packCode,jdbcType=VARCHAR} + , #{item.packName,jdbcType=VARCHAR} + , #{item.packStatus,jdbcType=VARCHAR} + , #{item.maxEndDate,jdbcType=DATE} + , #{item.minEndDate,jdbcType=DATE} + , #{item.transRule,jdbcType=VARCHAR} + , #{item.dymRule,jdbcType=VARCHAR} + , sysdate + , sysdate + , trunc(#{item.scenDate,jdbcType=DATE}) + , #{item.calcIntrType,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.abssqrProdCode,jdbcType=VARCHAR} + , #{item.backOutCode,jdbcType=VARCHAR} + , #{item.approveStatus,jdbcType=VARCHAR} + , #{item.approveDate,jdbcType=DATE} + , #{item.memo,jdbcType=VARCHAR} + , #{item.packType,jdbcType=VARCHAR} + , #{item.extData,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.buildMethod,jdbcType=VARCHAR} + , #{item.fundMode,jdbcType=VARCHAR} + , #{item.capitalType,jdbcType=VARCHAR} + , #{item.exceedAstOnly,jdbcType=VARCHAR} + , #{item.capitalSign,jdbcType=VARCHAR} + , #{item.valuationType,jdbcType=VARCHAR} + , #{item.tfrScope,jdbcType=VARCHAR} + ) + + + + + UPDATE ABS_AST_PACK + SET + PACK_STATUS = #{packStatus,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + WHERE + PACK_STATUS = #{oldPackStatus,jdbcType=VARCHAR} + and + PACK_CODE in + + #{packCode,jdbcType=VARCHAR} + + + + + UPDATE ABS_AST_PACK + SET + GMT_MODIFIED = sysdate + ,DYM_RULE = #{dymRule,jdbcType=VARCHAR} + WHERE + PACK_CODE = #{packCode,jdbcType=VARCHAR} + + + + UPDATE ABS_AST_PACK + SET + GMT_MODIFIED = sysdate + ,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + ,APPROVE_DATE = sysdate + + ,DYM_RULE = #{dymRule,jdbcType=VARCHAR} + + + ,CAPITAL_TYPE = #{capitalType,jdbcType=VARCHAR} + + + ,CAPITAL_SIGN = #{capitalSign,jdbcType=VARCHAR} + + WHERE + PACK_CODE = #{packCode,jdbcType=VARCHAR} + AND + APPROVE_STATUS = #{oldStatus,jdbcType=VARCHAR} + + + + UPDATE ABS_AST_PACK + SET + GMT_MODIFIED = sysdate + ,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + ,APPROVE_DATE = sysdate + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + AND + APPROVE_STATUS = #{oldStatus,jdbcType=VARCHAR} + + + + UPDATE ABS_AST_PACK + SET + GMT_MODIFIED = sysdate + ,AVAL_AMT = #{avalAmt,jdbcType=BIGINT} + + ,DYM_RULE = #{dymRule,jdbcType=VARCHAR} + + WHERE + PACK_CODE = #{packCode,jdbcType=VARCHAR} + AND + PACK_STATUS = #{oldPackStatus,jdbcType=VARCHAR} + + + + select * + from + ABS_AST_PACK + where + SCEN_DATE = trunc(#{scenDate,jdbcType=DATE}) + AND PACK_STATUS = #{packStatus,jdbcType=VARCHAR} + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + order by MAX_END_DATE asc + + + + SELECT * + FROM ABS_AST_PACK + WHERE + PACK_CODE = #{packCode,jdbcType=VARCHAR} + + + SELECT * + FROM ABS_AST_PACK + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + + + SELECT * + FROM ABS_AST_PACK + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + AND SCEN_DATE = #{scenDate,jdbcType=DATE} + + + AND PACK_STATUS = #{status,jdbcType=VARCHAR} + + + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + + order by GMT_CREATE + + + + SELECT * + FROM ABS_AST_PACK + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + + + + select * from + ( + SELECT * + FROM ABS_AST_PACK + WHERE + + ) + where ROWNUM=1 + + + + select * from + ( + SELECT * + FROM ABS_AST_PACK + WHERE + SCEN_DATE = trunc(#{scenDate,jdbcType=DATE}) + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + order by SCEN_DATE desc, ID desc + ) + where ROWNUM=1 + + + + select * from + ( + SELECT * + FROM ABS_AST_PACK + WHERE + TRANS_RULE = #{transRule,jdbcType=VARCHAR} + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + AND SCEN_DATE > trunc(#{fromScenDate,jdbcType=DATE}) + order by SCEN_DATE desc,id desc + ) + where ROWNUM=1 + + + + select * from + ( + SELECT * + FROM ABS_AST_PACK + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND SCEN_DATE > trunc(#{fromScenDate,jdbcType=DATE}) + order by SCEN_DATE desc,id desc + ) + where ROWNUM=1 + + + + select * from + ( + SELECT * + FROM ABS_AST_PACK + WHERE + PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + AND SCEN_DATE > trunc(#{fromScenDate,jdbcType=DATE}) + order by SCEN_DATE desc,id desc + ) + where ROWNUM=1 + + + + SELECT + sum(decode(p.PACK_STATUS, 'INIT', 1, nvl(c.PRE_TR_CNT, 0))) + FROM + ABS_AST_PACK p + LEFT JOIN ABS_TR_CTR_TASK c on c.PACK_CODE = p.PACK_CODE + WHERE + p.PACK_TYPE = #{packType,jdbcType=VARCHAR} + AND + p.PACK_STATUS in + + #{status,jdbcType=VARCHAR} + + + AND p.BACK_OUT_CODE = #{backOutCode,jdbcType=VARCHAR} + + + AND p.MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + ABS_AST_PACK + WHERE + PACK_CODE = #{packCode,jdbcType=VARCHAR} + FOR UPDATE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sf.PACK_CODE + , sf.PACK_NAME + , sf.BIZ_NO + , sf.BACK_OUT_CODE + , sf.MANAGER_ORG_CODE + , plan2.PLAN_NAME BACK_OUT_NAME + , sf.PLAN_NO + , plan.PLAN_NAME + , sf.SCEN_DATE + , ctr.PRE_TR_AMT TFR_AMT + , ctr.PRE_TR_CNT TFR_CNT + , sf.AVAL_AMT + , f.FROZEN_CASH FROZEN_CASH + , sf.GMT_MODIFIED GMT_MODIFIED + , sf.PACK_STATUS + , sf.APPROVE_STATUS + , sf.DYM_RULE + , sf.GMT_CREATE + , sf.BUILD_METHOD + , sf.FUND_MODE + , sf.CAPITAL_TYPE + , sf.EXCEED_AST_ONLY + , sf.CAPITAL_SIGN + , sf.VALUATION_TYPE + , sf.TFR_SCOPE + , (SELECT MAX(c.GMT_MODIFIED) FROM ABS_COMMON_TASK c WHERE c.task_status = 'succ' and c.biz_no = sf.biz_no) TASK_MODIFIED + , nvl((select count(*) CLR_CNT from ABS_PLAN_CLEARING_LOG where OUT_BIZ_NO = sf.biz_no), 0) CLR_CNT + , nvl((select count(*) CLO_CNT from ABS_PLAN_CLEARING_ORDER where TRANS_STATUS = 'init' and OUT_BIZ_NO = sf.biz_no), 0) CLO_CNT + , nvl(CAP_CNT, 0) CAP_CNT + , nvl(CAP_TOL, 0) CAP_TOL + , nvl(CAP_WAIT, 0) CAP_WAIT + , nvl(CAP_INIT, 0) CAP_INIT + + + + + and sf.PACK_STATUS in + + #{status,jdbcType=VARCHAR} + + + + and (SELECT count(*) FROM ABS_COMMON_TASK t_c_t WHERE t_c_t.task_status = 'succ' and t_c_t.biz_no = sf.biz_no) >0 + + + and (SELECT count(*) FROM ABS_COMMON_TASK t_c_t WHERE t_c_t.task_status = 'succ' and t_c_t.biz_no = sf.biz_no) =0 + + + and sf.APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + + and sf.MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + and sf.BUILD_METHOD = #{buildMethod,jdbcType=VARCHAR} + + + and (select count(*) from ABS_PLAN_CAPITAL_ORDER t_c where t_c.PROC_TIME is not null and t_c.out_biz_no = sf.biz_no) > 0 + + + and (select count(*) from ABS_PLAN_CAPITAL_ORDER t_c where t_c.PROC_TIME is null and t_c.out_biz_no = sf.biz_no) > 0 + + + and + ( + (select count(*) from ABS_PLAN_CLEARING_LOG where OUT_BIZ_NO = sf.biz_no) > 0 + or + (select count(*) from ABS_PLAN_CLEARING_ORDER where TRANS_STATUS = 'init' and OUT_BIZ_NO = sf.biz_no) > 0 + ) + + + and + ( + (select count(*) from ABS_PLAN_CLEARING_LOG where OUT_BIZ_NO = sf.biz_no) = 0 + and + (select count(*) from ABS_PLAN_CLEARING_ORDER where TRANS_STATUS = 'init' and OUT_BIZ_NO = sf.biz_no) = 0 + and + (select count(*) from ABS_PLAN_CAPITAL_ORDER where OUT_BIZ_NO = sf.biz_no) = 0 + ) + + + + + + + + + + select + + from + ABS_AST_PACK sf + LEFT JOIN ABS_TR_CTR_TASK ctr on ctr.PACK_CODE = sf.PACK_CODE + LEFT JOIN ABS_PLAN_ALLOC_FROZEN f ON sf.PACK_CODE = f.ALLOC_NO + LEFT JOIN (select OUT_BIZ_NO, count(*) CAP_TOL, sum(decode(STATUS,'wait',1,0)) CAP_WAIT, sum(decode(STATUS,'init',1,0)) CAP_INIT, sum(nvl2(PROC_TIME, 0, 1)) CAP_CNT from ABS_PLAN_CAPITAL_ORDER group by OUT_BIZ_NO) capd on sf.biz_no = capd.OUT_BIZ_NO + LEFT JOIN abs_plan plan on plan.plan_no = sf.plan_no + LEFT JOIN abs_plan plan2 on plan2.plan_no = sf.BACK_OUT_CODE + WHERE + sf.PACK_TYPE = #{packType,jdbcType=VARCHAR} + + AND ( + plan.PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + or + plan.PLAN_NO LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + ) + + + AND ( + plan2.PLAN_NAME LIKE CONCAT(CONCAT('%',#{outPlanName,jdbcType=VARCHAR}),'%') + or + plan2.PLAN_NO LIKE CONCAT(CONCAT('%',#{outPlanName,jdbcType=VARCHAR}),'%') + ) + + + AND sf.SCEN_DATE = #{scenDate,jdbcType=DATE} + + + AND sf.PACK_CODE = #{packCode,jdbcType=DATE} + + + AND sf.PLAN_NO = #{planNo,jdbcType=DATE} + + + AND f.FROZEN_CASH > 0 + + + AND (f.FROZEN_CASH = 0 or f.FROZEN_CASH is null) + + + AND sf.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + + ORDER BY sf.GMT_CREATE DESC,sf.PACK_CODE + + + + SELECT + * + FROM + ABS_AST_PACK + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + + + + SELECT + count(*) + FROM + ABS_AST_PACK + WHERE + PACK_STATUS = #{packStatus,jdbcType=VARCHAR} and gmt_create > sysdate-3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + sum(sf.PRIN_BAL+sf.OVD_PRIN_BAL) prin_bal -- 未尝本金 + ,min(AVAL_AMT) AVAL_AMT + ,sum(lc.DISB_AMOUNT) disb_amt --合同总金额 + ,count(*) disb_cnt -- 贷款笔数 + ,count(distinct (lc.USER_ID)) user_cnt + ,ROUND(sum(sf.PRIN_BAL+sf.OVD_PRIN_BAL) /count(*)) avg_prin_bal + ,max(sf.PRIN_BAL+sf.OVD_PRIN_BAL) max_prin_bal + ,ROUND(sum(lc.DISB_AMOUNT)/count(*)) avg_disb_amt -- 单笔平均 + ,max(lc.DISB_AMOUNT) max_disb_amt + ,ROUND(sum(sf.PRIN_BAL+sf.OVD_PRIN_BAL)/count(distinct (lc.USER_ID))) avg_user_prin_amt + -- 加权 + ,ROUND(sum(lc.TERM_CNT*lc.DISB_AMOUNT)/sum(lc.DISB_AMOUNT*12),3) P_CONTRACT_Y --加权合同期限 + ,ROUND(sum((lc.DISB_AMOUNT)*(lc.TERM_CNT-sf.CUR_TERM))/sum(lc.DISB_AMOUNT*12),3) P_BAL_Y --加权剩余期限 + ,ROUND(sum(lc.DISB_AMOUNT*sf.CUR_TERM)/sum(lc.DISB_AMOUNT*12),3) p_paid_y -- 加权账龄 + ,ROUND(sum(lc.DISB_AMOUNT*lc.RATE*12)/sum(lc.DISB_AMOUNT),3) p_rate_y -- 加权利率 + -- 期限 + ,ROUND(max(sf.TERM_CNT-sf.CUR_TERM)/12,3) max_term_y + ,ROUND(min(sf.TERM_CNT-sf.CUR_TERM)/12,3) min_term_y + -- 利率 + ,max(lc.RATE*12) max_rate + ,min(lc.RATE*12) min_rate + from ABS_AST_PACK ap + left join abs_tr_task task on ap.PACK_CODE=task.TFR_PACK + left join abs_loan sf on sf.AST_NO=task.AST_NO + left join ABS_LOAN_CONTRACT lc on lc.AST_NO=task.AST_NO + where + ap.PACK_CODE = #{packCode,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_AST_PACK_ASSET_ITEM.xml b/dalgen/configTables/ABS_AST_PACK_ASSET_ITEM.xml new file mode 100644 index 0000000..3355d8c --- /dev/null +++ b/dalgen/configTables/ABS_AST_PACK_ASSET_ITEM.xml @@ -0,0 +1,58 @@ + + + + + + ID,OWN_ORG,BATCH_NO,LENDER_ORG_CODE + ,GMT_CREATE + + + + + sf.ID,sf.OWN_ORG,sf.BATCH_NO,sf.LENDER_ORG_CODE + ,sf.GMT_CREATE + + + + + + + INSERT INTO abs_ast_pack_asset_item( + ID + ,OWN_ORG + ,BATCH_NO + ,LENDER_ORG_CODE + ,GMT_CREATE + )VALUES + ( + SEQ_ABS_AST_PACK_ASSET_ITEM.nextval + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , sysdate + ) + + + + + + + SELECT * + FROM abs_ast_pack_asset_item + WHERE + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_AST_PACK_AUTO_RULE.xml b/dalgen/configTables/ABS_AST_PACK_AUTO_RULE.xml new file mode 100644 index 0000000..e712c86 --- /dev/null +++ b/dalgen/configTables/ABS_AST_PACK_AUTO_RULE.xml @@ -0,0 +1,150 @@ + + + + + + ID,OFFSET_MAX,OFFSET_MIN,GMT_CREATOR,TRADE_SCOPE + ,AST_PLAN_SORT,GMT_MODIFIOR,AUTO_RULE_CODE,FUND_PLAN_SORT,PACK_RULE_TYPE + ,FUND_PLAN_REFER,MANAGER_ORG_CODE,IS_EFF,GMT_CREATE,GMT_MODIFIED + ,FUND_RATIO, AST_PLAN_RESIDUE_DAYS + + + + + sf.ID,sf.OFFSET_MAX,sf.OFFSET_MIN,sf.GMT_CREATOR,sf.TRADE_SCOPE + ,sf.AST_PLAN_SORT,sf.GMT_MODIFIOR,sf.AUTO_RULE_CODE,sf.FUND_PLAN_SORT,sf.PACK_RULE_TYPE + ,sf.FUND_PLAN_REFER,sf.MANAGER_ORG_CODE,sf.IS_EFF,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.FUND_RATIO, sf.AST_PLAN_RESIDUE_DAYS + + + + + + + + + + + + + + + + SELECT * + FROM abs_ast_pack_auto_rule + WHERE + + + + + SELECT * + FROM abs_ast_pack_auto_rule + WHERE + + + + + + + + + SELECT + sf.*, o.ORG_ABBREVIATION + FROM + abs_ast_pack_auto_rule sf + LEFT JOIN ABS_ORGANIZATION o on sf.MANAGER_ORG_CODE = o.ORG_CODE + + + AND o.ORG_ABBREVIATION LIKE CONCAT(CONCAT('%',#{orgName,jdbcType=VARCHAR}),'%') + + + AND sf.MANAGER_ORG_CODE LIKE CONCAT(CONCAT('%',#{orgCode,jdbcType=VARCHAR}),'%') + + + AND sf.PACK_RULE_TYPE = #{packRuleType,jdbcType=VARCHAR} + + + AND sf.AUTO_RULE_CODE = #{autoRuleCode,jdbcType=VARCHAR} + + + AND + sf.MANAGER_ORG_CODE IN + + #{uniqueCode,jdbcType=VARCHAR} + + + + ORDER BY sf.GMT_CREATE DESC,sf.ID DESC + +
diff --git a/dalgen/configTables/ABS_AST_PACK_FUND_RULE.xml b/dalgen/configTables/ABS_AST_PACK_FUND_RULE.xml new file mode 100644 index 0000000..1c558cc --- /dev/null +++ b/dalgen/configTables/ABS_AST_PACK_FUND_RULE.xml @@ -0,0 +1,89 @@ + + + + + + + + + ID,FUND_SCALE,PRICE_RULE,SCREEN_RULE,BATCH_NO + ,FUND_PLAN_NO,GMT_CREATE + + + + + sf.ID,sf.FUND_SCALE,sf.PRICE_RULE,sf.SCREEN_RULE,sf.BATCH_NO + ,sf.FUND_PLAN_NO,sf.GMT_CREATE + + + + + + + + + + + INSERT INTO abs_ast_pack_fund_rule( + ID + ,FUND_SCALE + ,PRICE_RULE + ,SCREEN_RULE + ,BATCH_NO + ,FUND_PLAN_NO + ,GMT_CREATE + )VALUES + ( + SEQ_ABS_AST_PACK_FUND_RULE.nextval + , #{item.fundScale,jdbcType=DECIMAL} + , #{item.priceRule,jdbcType=VARCHAR} + , #{item.screenRule,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.fundPlanNo,jdbcType=VARCHAR} + , sysdate + ) + + + + + + + SELECT * + FROM abs_ast_pack_fund_rule + WHERE + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_AST_PACK_REL.xml b/dalgen/configTables/ABS_AST_PACK_REL.xml new file mode 100644 index 0000000..ef7b7a8 --- /dev/null +++ b/dalgen/configTables/ABS_AST_PACK_REL.xml @@ -0,0 +1,81 @@ + + + + + + ID,PACK_CODE,RELATION_CODE,RELATION_TYPE,GMT_CREATE + + + + + sf.id,sf.pack_code,sf.relation_code,sf.relation_type,sf.gmt_create + + + + + + + + + + + INSERT INTO abs_ast_pack_rel( + id + ,pack_code + ,relation_code + ,relation_type + ,gmt_create + )VALUES + ( + SEQ_ABS_AST_PACK_REL.nextval + , #{item.packCode,jdbcType=VARCHAR} + , #{item.relationCode,jdbcType=VARCHAR} + , #{item.relationType,jdbcType=VARCHAR} + , sysdate + ) + + + + + + SELECT * FROM abs_ast_pack_rel + WHERE + relation_code = #{relationCode,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_ast_pack_rel + WHERE + + + +
diff --git a/dalgen/configTables/ABS_AST_PRICE_RULE.xml b/dalgen/configTables/ABS_AST_PRICE_RULE.xml new file mode 100644 index 0000000..803903c --- /dev/null +++ b/dalgen/configTables/ABS_AST_PRICE_RULE.xml @@ -0,0 +1,68 @@ + + + + + + ID,RISK_CL,GMT_CREATE,GMT_MODIFIED,ABSSQR_PROD_CODE + ,INTR_RATE,PRIN_RATE,PENAL_RATE,FEE_RATE, BIZ_NO, BIZ_TYPE + + + + + sf.ID,sf.RISK_CL,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.ABSSQR_PROD_CODE + ,sf.INTR_RATE,sf.PRIN_RATE,sf.PENAL_RATE,sf.FEE_RATE, sf.BIZ_NO, sf.BIZ_TYPE + + + + + + + INSERT INTO abs_ast_price_rule( + ID + ,RISK_CL + ,ABSSQR_PROD_CODE + ,GMT_CREATE + ,GMT_MODIFIED + ,INTR_RATE + ,PRIN_RATE + ,PENAL_RATE + ,FEE_RATE + ,BIZ_NO + ,BIZ_TYPE + )VALUES + ( + SEQ_ABS_AST_PRICE_RULE.nextval + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.abssqrProdCode,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.intrRate,jdbcType=DECIMAL} + , #{item.prinRate,jdbcType=DECIMAL} + , #{item.penalRate,jdbcType=DECIMAL} + , #{item.feeRate,jdbcType=DECIMAL} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.bizType,jdbcType=VARCHAR} + ) + + + + + DELETE FROM abs_ast_price_rule + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_ast_price_rule + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_ast_price_rule + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_AST_REQ.xml b/dalgen/configTables/ABS_AST_REQ.xml new file mode 100644 index 0000000..4bed92c --- /dev/null +++ b/dalgen/configTables/ABS_AST_REQ.xml @@ -0,0 +1,145 @@ + + + + + + req_code,req_name,req_type,gmt_creator,gmt_modifier + ,approve_status,manager_org_code,gmt_create,gmt_modified + + + + + sf.req_code,sf.req_name,sf.req_type,sf.gmt_creator,sf.gmt_modifier + ,sf.approve_status,sf.manager_org_code,sf.gmt_create,sf.gmt_modified + + + + + + + + + + + INSERT INTO abs_ast_req( + req_code + ,req_name + ,req_type + ,gmt_creator + ,gmt_modifier + ,approve_status + ,manager_org_code + ,gmt_create + ,gmt_modified + )VALUES + ( + #{item.reqCode,jdbcType=VARCHAR} + , #{item.reqName,jdbcType=VARCHAR} + , #{item.reqType,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.gmtModifier,jdbcType=VARCHAR} + , #{item.approveStatus,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.gmtCreate,jdbcType=DATE} + , #{item.gmtModified,jdbcType=DATE} + ) + + + + + + + + + + + + + + + SELECT * + FROM abs_ast_req + WHERE + + + + + SELECT * + FROM abs_ast_req + WHERE + req_type = #{reqType,jdbcType=VARCHAR} + AND req_code in + + #{reqCode,jdbcType=VARCHAR} + + + + + select sf.* + from abs_ast_req sf + where + req_type = #{reqType,jdbcType=VARCHAR} + AND ( + sf.APPROVE_STATUS = 'PASSED' + + OR + sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR} + OR + sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR} + + ) + + AND sf.req_name LIKE CONCAT(CONCAT('%',#{reqName,jdbcType=VARCHAR}),'%') + + + AND manager_org_code = #{managerOrgCode,jdbcType=VARCHAR} + + + AND sf.req_code IN + + #{item,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_AST_REQ_REL.xml b/dalgen/configTables/ABS_AST_REQ_REL.xml new file mode 100644 index 0000000..2b07397 --- /dev/null +++ b/dalgen/configTables/ABS_AST_REQ_REL.xml @@ -0,0 +1,89 @@ + + + + + + rel_code,req_code,eff,open_time + + + + + sf.rel_code,sf.req_code,sf.eff,sf.open_time + + + + + + + + + + + INSERT INTO abs_ast_req_rel( + rel_code + ,req_code + ,eff + ,open_time + )VALUES + ( + #{item.relCode,jdbcType=VARCHAR} + , #{item.reqCode,jdbcType=VARCHAR} + , #{item.eff,jdbcType=CHAR} + , #{item.openTime,jdbcType=DATE} + ) + + + + + + + + + + + + + + + SELECT * + FROM abs_ast_req_rel + WHERE + req_code = #{reqCode,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_ast_req_rel + WHERE + req_code in + + #{reqCode,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_AST_SCREEN_RULE.xml b/dalgen/configTables/ABS_AST_SCREEN_RULE.xml new file mode 100644 index 0000000..6ef940d --- /dev/null +++ b/dalgen/configTables/ABS_AST_SCREEN_RULE.xml @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ID,MAX_AGE,MIN_AGE,MAX_TERM,MIN_TERM + ,BEFORE_END_DAYS,CUR_MAX_OVD_DAYS,CUR_MIN_OVD_DAYS,MAX_REMAIN_DAYS,MIN_REMAIN_DAYS + ,CUST_MAX_OVD_DAYS,CUST_MIN_OVD_DAYS,LOAN_MAX_OVD_DAYS,LOAN_MIN_OVD_DAYS,CUST_MAX_OVD_TIMES + ,CUST_MIN_OVD_TIMES,SINGLE_MAX_AMOUNT,SINGLE_MIN_AMOUNT,OWN_ORG,REGION + ,PROD_CODE,PROD_NAME,TFR_SCOPE,PM_ORG_CODE,GMT_CREATOR + ,PRICE_LIMIT,SCREEN_TYPE,ASSET_STATUS,GMT_MODIFIER,SCREEN_RULE_NO + ,APPROVE_STATUS,LENDER_ORG_CODE,ABSSQR_PROD_CODE,MANAGER_ORG_CODE,SCREEN_RULE_NAME + ,AST_OVD_HAPPENED,AST_UNCLEAR_EXIST,AST_CLAIM_HAPPENED,GMT_CREATE,GMT_MODIFIED + ,LATEST_END_DATE,EARLIEST_END_DATE,SINGLE_MAX_INTER_RATE,SINGLE_MIN_INTER_RATE + ,MIN_DISB_DATE,MAX_DISB_DATE,CUST_CUR_MIN_OVD_DAYS,CUST_CUR_MAX_OVD_DAYS,CI_DETAIL_CODES + ,BEFORE_PLAN_END + + + + + sf.ID,sf.MAX_AGE,sf.MIN_AGE,sf.MAX_TERM,sf.MIN_TERM + ,sf.BEFORE_END_DAYS,sf.CUR_MAX_OVD_DAYS,sf.CUR_MIN_OVD_DAYS,sf.MAX_REMAIN_DAYS,sf.MIN_REMAIN_DAYS + ,sf.CUST_MAX_OVD_DAYS,sf.CUST_MIN_OVD_DAYS,sf.LOAN_MAX_OVD_DAYS,sf.LOAN_MIN_OVD_DAYS,sf.CUST_MAX_OVD_TIMES + ,sf.CUST_MIN_OVD_TIMES,sf.SINGLE_MAX_AMOUNT,sf.SINGLE_MIN_AMOUNT,sf.OWN_ORG,sf.REGION + ,sf.PROD_CODE,sf.PROD_NAME,sf.TFR_SCOPE,sf.PM_ORG_CODE,sf.GMT_CREATOR + ,sf.PRICE_LIMIT,sf.SCREEN_TYPE,sf.ASSET_STATUS,sf.GMT_MODIFIER,sf.SCREEN_RULE_NO + ,sf.APPROVE_STATUS,sf.LENDER_ORG_CODE,sf.ABSSQR_PROD_CODE,sf.MANAGER_ORG_CODE,sf.SCREEN_RULE_NAME + ,sf.AST_OVD_HAPPENED,sf.AST_UNCLEAR_EXIST,sf.AST_CLAIM_HAPPENED,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.LATEST_END_DATE,sf.EARLIEST_END_DATE,sf.SINGLE_MAX_INTER_RATE,sf.SINGLE_MIN_INTER_RATE + ,sf.MIN_DISB_DATE,sf.MAX_DISB_DATE,sf.CUST_CUR_MIN_OVD_DAYS,sf.CUST_CUR_MAX_OVD_DAYS,sf.CI_DETAIL_CODES + ,sf.BEFORE_PLAN_END + + + + + + + + + + + + + + SELECT * + FROM abs_ast_screen_rule + WHERE + + + + + SELECT * + FROM abs_ast_screen_rule + WHERE + SCREEN_RULE_NO in + + #{screenRuleNo,jdbcType=VARCHAR} + + + + + + SELECT + sf.* + FROM + abs_ast_screen_rule sf + WHERE + sf.SCREEN_TYPE = #{screenType,jdbcType=VARCHAR} + + AND ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR} + + + + + + + AND sf.SCREEN_RULE_NAME LIKE CONCAT(CONCAT('%',#{screenRuleName,jdbcType=VARCHAR}),'%') + + + AND sf.GMT_CREATE > #{createStart,jdbcType=DATE} + + + AND sf.GMT_CREATE < (#{createEnd,jdbcType=DATE} +1) + + + AND + ( + sf.APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + OR + sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR} + OR + sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR} + + ) + + + AND + sf.SCREEN_RULE_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + ORDER BY sf.GMT_CREATE DESC,sf.ID DESC + + + + SELECT + count(*) + FROM + ABS_AST_SCREEN_RULE + WHERE + SCREEN_RULE_NO != #{screenRuleNo,jdbcType=VARCHAR} + AND + SCREEN_RULE_NAME = #{screenRuleName,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + abs_ast_screen_rule + WHERE + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + AND SCREEN_TYPE = #{screenType,jdbcType=VARCHAR} + + + + SELECT + * + FROM + abs_ast_screen_rule + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + SCREEN_TYPE = #{screenType,jdbcType=VARCHAR} + + + + DELETE FROM + abs_ast_screen_rule + WHERE + SCREEN_RULE_NO in + + #{screenRuleNo,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_AST_SYNC_TASK_CTR.xml b/dalgen/configTables/ABS_AST_SYNC_TASK_CTR.xml new file mode 100644 index 0000000..55adece --- /dev/null +++ b/dalgen/configTables/ABS_AST_SYNC_TASK_CTR.xml @@ -0,0 +1,104 @@ + + + + + + ID,EXT_DATA,ORG_CODE,TASK_CODE,EFF,CHECK_EFF + ,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.EXT_DATA,sf.ORG_CODE,sf.TASK_CODE,sf.EFF,sf.CHECK_EFF + ,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + + + + + SELECT * + FROM abs_ast_sync_task_ctr + + + + SELECT * + FROM abs_ast_sync_task_ctr + WHERE + EFF = 1 + + AND + ORG_CODE IN + + #{orgCode,jdbcType=VARCHAR} + + + + + + SELECT * + FROM abs_ast_sync_task_ctr + WHERE + + + + + SELECT * + FROM abs_ast_sync_task_ctr + WHERE + + + + + + +
diff --git a/dalgen/configTables/ABS_AST_SYNC_TASK_CTR_LOG.xml b/dalgen/configTables/ABS_AST_SYNC_TASK_CTR_LOG.xml new file mode 100644 index 0000000..d0d3865 --- /dev/null +++ b/dalgen/configTables/ABS_AST_SYNC_TASK_CTR_LOG.xml @@ -0,0 +1,183 @@ + + + + + + ID,HOST_IP,STATUS,EXT_DATA,ORG_CODE ,TASK_TYPE, ORG_DATE + ,TASK_CODE,TASK_LOG_CODE,EXEC_DATE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.HOST_IP,sf.STATUS,sf.EXT_DATA,sf.ORG_CODE, ORG_DATE + ,sf.TASK_CODE,sf.TASK_TYPE,sf.TASK_LOG_CODE,sf.EXEC_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + select distinct ORG_CODE + from + abs_ast_sync_task_ctr_log sf + where + sf.TASK_TYPE = #{lastTaskCode,jdbcType=VARCHAR} + + AND + + ( + sf.ORG_CODE = #{orgAcctDate.orgCode,jdbcType=VARCHAR} + AND sf.ORG_DATE >= trunc(#{orgAcctDate.acctDate,jdbcType=DATE}) + ) + + + AND sf.STATUS = 'succ' + + + + select * from ( + SELECT * + FROM abs_ast_sync_task_ctr_log + WHERE + EXEC_DATE = trunc(#{execDate,jdbcType=DATE}) + AND TASK_TYPE = #{taskType,jdbcType=VARCHAR} + AND ORG_CODE = #{orgCode,jdbcType=VARCHAR} + ORDER BY ORG_DATE,GMT_CREATE DESC, ID DESC + ) where ROWNUM = 1 + + + + select * from ( + SELECT * + FROM abs_ast_sync_task_ctr_log + WHERE + ORG_DATE >= trunc(#{orgDate,jdbcType=DATE}) + AND TASK_TYPE = #{taskType,jdbcType=VARCHAR} + AND ORG_CODE = #{orgCode,jdbcType=VARCHAR} + ORDER BY ORG_DATE DESC, EXEC_DATE DESC,GMT_CREATE DESC, ID DESC + ) where ROWNUM = 1 + + + + select * from ( + SELECT * + FROM abs_ast_sync_task_ctr_log + WHERE + ORG_DATE = trunc(#{orgDate,jdbcType=DATE}) + AND TASK_TYPE = #{taskType,jdbcType=VARCHAR} + AND ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + AND STATUS = #{status,jdbcType=VARCHAR} + + ORDER BY GMT_CREATE DESC,ID DESC + ) where ROWNUM = 1 + + + + UPDATE abs_ast_sync_task_ctr_log + SET + STATUS = #{status,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + ,HOST_IP = #{hostIp,jdbcType=VARCHAR} + WHERE + TASK_TYPE = #{taskType,jdbcType=VARCHAR} + AND STATUS = #{oldStatus,jdbcType=VARCHAR} + AND TASK_LOG_CODE = #{taskLogCode,jdbcType=VARCHAR} + + + + DELETE FROM abs_ast_sync_task_ctr_log + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND + ORG_DATE = trunc(#{orgDate,jdbcType=DATE}) + AND + STATUS = #{oldStatus,jdbcType=VARCHAR} + AND + TASK_TYPE in + + #{taskType,jdbcType=VARCHAR} + + + + + SELECT count(*) + FROM abs_ast_sync_task_ctr_log + WHERE + + + + + SELECT MAX(ORG_DATE) ORG_DATE + FROM abs_ast_sync_task_ctr_log + WHERE + TASK_TYPE = #{taskType,jdbcType=VARCHAR} + AND + STATUS = 'succ' + AND + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_ast_sync_task_ctr_log + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND + ORG_DATE = trunc(#{orgDate,jdbcType=DATE}) + AND + TASK_TYPE in + + #{taskType,jdbcType=VARCHAR} + + ORDER BY GMT_CREATE DESC,ID DESC + + + + SELECT count(*) + FROM abs_ast_sync_task_ctr_log + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_BIZ_DATA_CHANGE.xml b/dalgen/configTables/ABS_BIZ_DATA_CHANGE.xml new file mode 100644 index 0000000..d806afa --- /dev/null +++ b/dalgen/configTables/ABS_BIZ_DATA_CHANGE.xml @@ -0,0 +1,186 @@ + + + + + + + ID,DATAS,NAME,BIZ_NO,BIZ_TYPE, ORG_PCODES,GMT_CREATOR + ,CHANGE_NO,APPROVE_STATUS,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.DATAS,sf.NAME,sf.BIZ_NO,sf.BIZ_TYPE, sf.ORG_PCODES,sf.GMT_CREATOR + ,sf.CHANGE_NO,sf.APPROVE_STATUS,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + + SELECT * + FROM abs_biz_data_change + WHERE + + + + + SELECT * + FROM abs_biz_data_change + WHERE + + + + + SELECT count(*) cnt + FROM abs_biz_data_change + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + and + BIZ_TYPE = #{bizType,jdbcType=VARCHAR} + and + APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + + + select d.CHANGE_NO + from ABS_BIZ_DATA_CHANGE d + WHERE + d.APPROVE_STATUS in + + #{approveStatus,jdbcType=VARCHAR} + + + and d.BIZ_TYPE = #{bizType,jdbcType=VARCHAR} + + + + and d.ORG_PCODES like CONCAT(#{orgPcodes,jdbcType=VARCHAR},'%') + + + + and d.ORG_PCODES = #{pertainCode,jdbcType=VARCHAR} + + + + and d.GMT_CREATOR = #{userCode,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + p.PROC_INST_ID_,p.PROC_DEF_ID_,p.BUSINESS_KEY_,p.START_TIME_,p.END_TIME_ + ,p.START_USER_ID_,p.START_ACT_ID_,p.END_ACT_ID_,p.TENANT_ID_,p.NAME_ BIZ_NAME + ,t.NAME_ AS TASK_NAME,t.ID_ AS TASK_ID,t.TASK_DEF_KEY_,t.CREATE_TIME_ + ,d.CHANGE_NO,d.BIZ_TYPE,d.BIZ_NO,d.APPROVE_STATUS,d.ORG_PCODES,d.GMT_CREATOR + ,f.NAME_ FLOW_NAME + from ABS_BIZ_DATA_CHANGE d + left join ACT_HI_PROCINST p on d.CHANGE_NO = p.BUSINESS_KEY_ + left join ACT_RE_PROCDEF f on p.PROC_DEF_ID_ = f.ID_ + left join ACT_RU_TASK t on p.PROC_INST_ID_ = t.PROC_INST_ID_ + + left join (SELECT TASK_ID_ FROM ACT_RU_IDENTITYLINK + WHERE ( GROUP_ID_ in + + #{role,jdbcType=VARCHAR} + + or USER_ID_ = #{userCode,jdbcType=VARCHAR} ) + GROUP BY TASK_ID_ + ) i on i.TASK_ID_ = t.ID_ + + WHERE + d.APPROVE_STATUS in + + #{approveStatus,jdbcType=VARCHAR} + + + and d.BIZ_TYPE = #{bizType,jdbcType=VARCHAR} + + + and i.TASK_ID_ = t.ID_ + + + + AND + d.CHANGE_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + ORDER BY d.GMT_CREATE DESC,d.ID ASC + + +
diff --git a/dalgen/configTables/ABS_BIZ_MSG_LOG.xml b/dalgen/configTables/ABS_BIZ_MSG_LOG.xml new file mode 100644 index 0000000..e7e7807 --- /dev/null +++ b/dalgen/configTables/ABS_BIZ_MSG_LOG.xml @@ -0,0 +1,100 @@ + + + + + + ID,RESULT,BIZ_CODE,CONTENT,SUBSCRIBER + ,CHANNEL_TYPE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.RESULT,sf.BIZ_CODE,sf.CONTENT,sf.SUBSCRIBER + ,sf.CHANNEL_TYPE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_biz_msg_log( + ID + ,RESULT + ,BIZ_CODE + ,CONTENT + ,SUBSCRIBER + ,CHANNEL_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_BIZ_MSG_LOG.nextval + , #{item.result,jdbcType=VARCHAR} + , #{item.bizCode,jdbcType=VARCHAR} + , #{item.content,jdbcType=VARCHAR} + , #{item.subscriber,jdbcType=VARCHAR} + , #{item.channelType,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_biz_msg_log + WHERE + + + +
diff --git a/dalgen/configTables/ABS_BIZ_MSG_TPL.xml b/dalgen/configTables/ABS_BIZ_MSG_TPL.xml new file mode 100644 index 0000000..bbb3ded --- /dev/null +++ b/dalgen/configTables/ABS_BIZ_MSG_TPL.xml @@ -0,0 +1,126 @@ + + + + + + ID,BIZ_CODE,BIZ_NAME,TEMPLATE_TYPE,TEMPLATE_VALUE + ,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.BIZ_CODE,sf.BIZ_NAME,sf.TEMPLATE_TYPE,sf.TEMPLATE_VALUE + ,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_biz_msg_tpl( + ID + ,BIZ_CODE + ,BIZ_NAME + ,TEMPLATE_TYPE + ,TEMPLATE_VALUE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_BIZ_MSG_TPL.nextval + , #{item.bizCode,jdbcType=VARCHAR} + , #{item.bizName,jdbcType=VARCHAR} + , #{item.templateType,jdbcType=VARCHAR} + , #{item.templateValue,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_biz_msg_tpl + WHERE + + + + + + + + + + + + + + SELECT * + FROM abs_biz_msg_tpl + WHERE + + + +
diff --git a/dalgen/configTables/ABS_BIZ_NOTICE_SUBSCRIBE.xml b/dalgen/configTables/ABS_BIZ_NOTICE_SUBSCRIBE.xml new file mode 100644 index 0000000..4379168 --- /dev/null +++ b/dalgen/configTables/ABS_BIZ_NOTICE_SUBSCRIBE.xml @@ -0,0 +1,99 @@ + + + + + + ID,BIZ_CODE,SUBSCRIBER,CHANNEL_TYPE,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.ID,sf.BIZ_CODE,sf.SUBSCRIBER,sf.CHANNEL_TYPE,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_biz_notice_subscribe( + ID + ,BIZ_CODE + ,SUBSCRIBER + ,CHANNEL_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_BIZ_NOTICE_SUBSCRIBE.nextval + , #{item.bizCode,jdbcType=VARCHAR} + , #{item.subscriber,jdbcType=VARCHAR} + , #{item.channelType,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_biz_notice_subscribe + WHERE + + + + + + SELECT * + FROM abs_biz_notice_subscribe + WHERE + + +
diff --git a/dalgen/configTables/ABS_COMMON_CODN.xml b/dalgen/configTables/ABS_COMMON_CODN.xml new file mode 100644 index 0000000..b9ec0fa --- /dev/null +++ b/dalgen/configTables/ABS_COMMON_CODN.xml @@ -0,0 +1,99 @@ + + + + + + codn_sort,biz_code,biz_type,codn_attr,codn_code ,codn_exp + + + + + sf.codn_sort,sf.biz_code,sf.biz_type,sf.codn_attr,sf.codn_code ,sf.codn_exp + + + + + + + + + + + INSERT INTO abs_common_codn( + codn_sort + ,biz_code + ,biz_type + ,codn_attr + ,codn_code + ,codn_exp + )VALUES + ( + #{item.codnSort,jdbcType=DECIMAL} + , #{item.bizCode,jdbcType=VARCHAR} + , #{item.bizType,jdbcType=VARCHAR} + , #{item.codnAttr,jdbcType=VARCHAR} + , #{item.codnCode,jdbcType=VARCHAR} + , #{item.codnExp,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + + + SELECT * + FROM abs_common_codn + WHERE + biz_type = #{bizType,jdbcType=VARCHAR} + and biz_code in + + #{bizCode,jdbcType=VARCHAR} + + + AND codn_attr IN + + #{codnAttr,jdbcType=VARCHAR} + + + ORDER BY biz_code,CODN_SORT ASC + + +
diff --git a/dalgen/configTables/ABS_COMMON_CODN_VAL.xml b/dalgen/configTables/ABS_COMMON_CODN_VAL.xml new file mode 100644 index 0000000..42294a1 --- /dev/null +++ b/dalgen/configTables/ABS_COMMON_CODN_VAL.xml @@ -0,0 +1,57 @@ + + + + + + val_sort,val,cond_code + + + + + sf.val_sort,sf.val,sf.cond_code + + + + + + + + + + + INSERT INTO abs_common_codn_val( + val_sort + ,val + ,cond_code + )VALUES + ( + #{item.valSort,jdbcType=DECIMAL} + , #{item.val,jdbcType=VARCHAR} + , #{item.condCode,jdbcType=VARCHAR} + ) + + + + + + + SELECT * + FROM abs_common_codn_val + WHERE + cond_code in + + #{condCode,jdbcType=VARCHAR} + + order by cond_code,val_sort + +
diff --git a/dalgen/configTables/ABS_COMMON_TASK.xml b/dalgen/configTables/ABS_COMMON_TASK.xml new file mode 100644 index 0000000..97d5b68 --- /dev/null +++ b/dalgen/configTables/ABS_COMMON_TASK.xml @@ -0,0 +1,374 @@ + + + + + + + + ID,BIZ_NO,CONTEXT,LAST_HOST,TASK_TYPE,TASK_STATUS, + EXEC_TIMES,GMT_CREATE,GMT_MODIFIED,LAST_EXEC_TIME,NEXT_EXEC_TIME,memo,ENV,GROUP_NO, GROUP_ID + + + + + sf.ID,sf.BIZ_NO,sf.CONTEXT,sf.LAST_HOST,sf.TASK_TYPE,sf.TASK_STATUS, + sf.EXEC_TIMES,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LAST_EXEC_TIME,sf.NEXT_EXEC_TIME, + sf.memo,sf.ENV,sf.GROUP_NO, sf.GROUP_ID + + + + + select SEQ_ABS_COMMON_TASK.nextval from dual + + + + + + SELECT + * + FROM + ABS_COMMON_TASK + WHERE + ID = #{id,jdbcType=BIGINT} + FOR UPDATE NOWAIT + + + + SELECT sf.* from( + SELECT + sf.* + FROM + ABS_COMMON_TASK sf + WHERE + sf.TASK_STATUS = 'init' + AND + sf.NEXT_EXEC_TIME <= #{curTime,jdbcType=TIMESTAMP} + AND + sf.TASK_TYPE IN + + #{type,jdbcType=VARCHAR} + + + AND + sf.GROUP_ID in + + #{groupId,jdbcType=INTEGER} + + + ORDER by sf.NEXT_EXEC_TIME + )sf + where ROWNUM <= #{limit,jdbcType=INTEGER} + + + SELECT + sf.* + FROM + ABS_COMMON_TASK sf + WHERE + sf.TASK_STATUS = 'wait' + AND + sf.TASK_TYPE IN + + #{type,jdbcType=VARCHAR} + + order by sf.NEXT_EXEC_TIME + + + + SELECT + * + FROM + ABS_COMMON_TASK + WHERE + TASK_STATUS in ('init', 'exec','wait') + AND + TASK_TYPE = #{taskType,jdbcType=VARCHAR} + order by id + + + + + + + + UPDATE + ABS_COMMON_TASK + SET + GMT_MODIFIED = sysdate, + TASK_STATUS = 'exec', + LAST_EXEC_TIME = #{lastExecTime,jdbcType=TIMESTAMP}, + LAST_HOST = #{lastHost,jdbcType=VARCHAR}, + MEMO = '' + WHERE + ID IN + + #{item.id,jdbcType=BIGINT} + + AND + TASK_STATUS = 'init' + + + + + + + + + + + + + + + + + SELECT * + FROM ABS_COMMON_TASK + WHERE + CONTEXT=#{planNo,jdbcType=VARCHAR} + AND TASK_STATUS in + + #{status,jdbcType=VARCHAR} + + AND TASK_TYPE IN + + #{taskType,jdbcType=VARCHAR} + + + + + + SELECT * + FROM ABS_COMMON_TASK + WHERE + BIZ_NO= #{bizNo,jdbcType=VARCHAR} + + + + SELECT * + FROM ABS_COMMON_TASK + WHERE + BIZ_NO= #{bizNo,jdbcType=VARCHAR} + AND + TASK_TYPE = #{taskType,jdbcType=VARCHAR} + + + + SELECT * + FROM ABS_COMMON_TASK + WHERE + GROUP_NO= #{groupNo,jdbcType=VARCHAR} + and TASK_TYPE = #{taskType,jdbcType=VARCHAR} + AND TASK_STATUS IN + + #{status,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + ABS_COMMON_TASK + WHERE + TASK_TYPE IN + + #{type,jdbcType=VARCHAR} + + AND TASK_STATUS IN + + #{status,jdbcType=VARCHAR} + + + + + SELECT + count(*) + FROM + ABS_COMMON_TASK + WHERE + TASK_TYPE IN + + #{type,jdbcType=VARCHAR} + + AND TASK_STATUS IN + + #{status,jdbcType=VARCHAR} + + + + + + SELECT + count(*) + FROM + ABS_COMMON_TASK + WHERE + TASK_TYPE IN + + #{type,jdbcType=VARCHAR} + + AND TASK_STATUS != 'succ' + AND EXEC_TIMES > 1 + + + + + + + + + + + SELECT + TASK_TYPE, + TASK_STATUS, + count(*) cnt, + max(EXEC_TIMES) EXEC_TIMES + FROM + ABS_COMMON_TASK + WHERE + ( + TASK_STATUS not in ('succ', 'fail') + AND + EXEC_TIMES > 1 + AND + TASK_TYPE not in ('PLAN_REPORT','SYNC_CAPTITALASSERT_MATCH','UNMATCH_CAPTITALASSERT_MATCH','CAPTITALASSERT_UNMATCH') + ) + or + ( + TASK_STATUS = 'init' and NEXT_EXEC_TIME+1/24 < sysdate + ) + or + ( + TASK_STATUS = 'fail' + ) + group by + TASK_TYPE,TASK_STATUS + + + + SELECT + * + FROM + ABS_COMMON_TASK + + + and TASK_TYPE IN + + #{type,jdbcType=VARCHAR} + + + + AND TASK_STATUS IN + + #{status,jdbcType=VARCHAR} + + + + and context LIKE CONCAT(CONCAT('%',#{context,jdbcType = VARCHAR}),'%') + + + and BIZ_NO LIKE CONCAT(CONCAT('%',#{bizNo,jdbcType = VARCHAR}),'%') + + + and GMT_CREATE >= #{startDate,jdbcType=DATE} + + + and GMT_CREATE <= #{endDate,jdbcType=DATE} + + + ORDER BY GMT_CREATE DESC,ID ASC + +
diff --git a/dalgen/configTables/ABS_DATA_CHECK.xml b/dalgen/configTables/ABS_DATA_CHECK.xml new file mode 100644 index 0000000..3064343 --- /dev/null +++ b/dalgen/configTables/ABS_DATA_CHECK.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + SELECT + a.own_org,c.LENDER_ORG_CODE + ,nvl(b.fk_cnt,0)fk_cnt,nvl(b.fk_amt,0)fk_amt + ,c.repay_cnt,c.prin_amt,c.intr_amt,c.prin_penal_amt,c.paid_intr_fund_amt,c.paid_prin_penal_fund_amt,c.clrg_amt + ,e.ast_cnt,e.ast_prin_bal,e.ast_intr_bal,e.ast_prin_penal_bal,c.intr_penal_amt,c.paid_intr_penal_fund_amt + FROM + ( + SELECT + plan_no as own_org,plan_type + FROM + abs_plan + WHERE + plan_no in + + #{planNo,jdbcType=VARCHAR} + + and + status IN ('ONGOING','EXPIRED') + ) a + left join + (-- 放款信息 + SELECT + LENDER_ORG_CODE, + COUNT(DISTINCT(out_ast_no)) fk_cnt , -- fk_cnt + SUM(prin_amt) fk_amt -- fk_amt + FROM + abs_loan_trans_info + WHERE + account_date = trunc(#{acctDate,jdbcType=DATE})-1 + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + trans_code = 'AST0001' + AND + LENDER_ORG_CODE in + + #{planNo,jdbcType=VARCHAR} + + GROUP BY LENDER_ORG_CODE + )b + on a.own_org = b.LENDER_ORG_CODE + left join + ( + -- 获取所有还款 + SELECT + LENDER_ORG_CODE, -- 机构 + COUNT(DISTINCT(out_ast_no)) repay_cnt,--笔数 + SUM(prin_amt) prin_amt,--本金 + SUM(intr_amt) intr_amt,--利息 + SUM(prin_penal_amt) prin_penal_amt,--罚息 + SUM(intr_penal_amt) intr_penal_amt,--罚息 + SUM(paid_intr_fund_amt) paid_intr_fund_amt,--五矿实收利息 + SUM(paid_prin_penal_fund_amt) paid_prin_penal_fund_amt,--五矿实收罚息 + SUM(paid_intr_penal_fund_amt) paid_intr_penal_fund_amt,--五矿实收罚息 + SUM(clrg_amt) clrg_amt--清算金额 + FROM + abs_loan_instal_trans_info + WHERE + account_date = trunc(#{acctDate,jdbcType=DATE})-1 + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + trans_code = 'AST0003' + AND + LENDER_ORG_CODE in + + #{planNo,jdbcType=VARCHAR} + + GROUP BY LENDER_ORG_CODE + ) c + on a.own_org = c.LENDER_ORG_CODE + left join + ( + SELECT + LENDER_ORG_CODE + ,COUNT(DISTINCT(out_ast_no)) ast_cnt, + SUM(prin_bal+OVD_PRIN_BAL) ast_prin_bal, --本金 + SUM(intr_bal+OVD_INTR_BAL) ast_intr_bal, --利息 + SUM(prin_penal_bal+INTR_PENAL_BAL) ast_prin_penal_bal --罚息 + from + ABS_LOAN + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + STATUS IN ('nor','ovd') AND WTF_STATUS = 'N' + AND + LENDER_ORG_CODE in + + #{planNo,jdbcType=VARCHAR} + + group by LENDER_ORG_CODE + )e + on a.own_org = e.LENDER_ORG_CODE + order by a.plan_type desc,a.own_org + +
\ No newline at end of file diff --git a/dalgen/configTables/ABS_DATA_TABLE_EXTRACT_ENGINE.xml b/dalgen/configTables/ABS_DATA_TABLE_EXTRACT_ENGINE.xml new file mode 100644 index 0000000..f718232 --- /dev/null +++ b/dalgen/configTables/ABS_DATA_TABLE_EXTRACT_ENGINE.xml @@ -0,0 +1,15 @@ + + + + + + + select ff.* from ${tableName} ff + + + + + + SELECT COLUMN_NAME FROM user_tab_columns WHERE table_name = upper('${tableName}') order by COLUMN_ID + +
\ No newline at end of file diff --git a/dalgen/configTables/ABS_DYNAMIC_CONFIG_CTL.xml b/dalgen/configTables/ABS_DYNAMIC_CONFIG_CTL.xml new file mode 100644 index 0000000..5f57e99 --- /dev/null +++ b/dalgen/configTables/ABS_DYNAMIC_CONFIG_CTL.xml @@ -0,0 +1,98 @@ + + + + + + ID,TIME_STAMP,TYPE,GMT_MODIFIED + + + + + sf.ID,sf.TIME_STAMP,sf.TYPE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_dynamic_config_ctl( + ID + ,TIME_STAMP + ,TYPE + ,GMT_MODIFIED + )VALUES + ( + null + , #{item.timeStamp,jdbcType=DECIMAL} + , #{item.type,jdbcType=VARCHAR} + , sysdate + ) + + + + + + + + + + + + + SELECT * + FROM abs_dynamic_config_ctl + WHERE + + + + + + SELECT * + FROM abs_dynamic_config_ctl + WHERE + + +
diff --git a/dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_CTR.xml b/dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_CTR.xml new file mode 100644 index 0000000..c60e367 --- /dev/null +++ b/dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_CTR.xml @@ -0,0 +1,271 @@ + + + + + + + AST_NO,USED,ORG_CODE,LOAN_PRIN,TASK_STATUS,SEQ_NO,ACCOUNT_DATE,GROUP_ID + ,EXEC_TIMES,NEXT_EXEC_TIME,MEMO + ,LAST_HOST,POND_NO,END_DATE,GMT_CREATE,GMT_MODIFIED + + + + + sf.AST_NO,USED,sf.ORG_CODE,sf.LOAN_PRIN,sf.TASK_STATUS,sf.SEQ_NO,sf.ACCOUNT_DATE,sf.GROUP_ID + ,sf.EXEC_TIMES,sf.NEXT_EXEC_TIME,sf.MEMO + ,sf.LAST_HOST,sf.POND_NO,sf.END_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + INSERT INTO ABS_FDRT_AST_FUND_MATCH_CTR( + AST_NO + ,USED + ,ORG_CODE + ,LOAN_PRIN + ,TASK_STATUS + ,SEQ_NO + ,ACCOUNT_DATE + ,GROUP_ID + ,POND_NO + ,END_DATE + )VALUES( + , #{astNo,jdbcType=VARCHAR} + , #{used,jdbcType=VARCHAR} + , #{orgCode,jdbcType=VARCHAR} + , #{loanPrin,jdbcType=DECIMAL} + , #{taskStatus,jdbcType=VARCHAR} + , #{seqNo,jdbcType=VARCHAR} + , #{accountDate,jdbcType=VARCHAR} + , #{pondNo,jdbcType=VARCHAR} + , #{endDate,jdbcType=VARCHAR} + + + + + + DELETE FROM ABS_FDRT_AST_FUND_MATCH_CTR + WHERE + AST_NO IN + + #{astNo,jdbcType=VARCHAR} + + + + + + + + + + DELETE FROM ABS_FDRT_AST_FUND_MATCH_CTR + WHERE + AST_NO IN (SELECT OUT_AST_NO FROM ABS_AST_FUND_RES) + + + + select sf.* from + ( + SELECT + sf.* + FROM + ABS_FDRT_AST_FUND_MATCH_CTR sf + WHERE + sf.TASK_STATUS = 'init' + + AND + sf.GROUP_ID in + + #{groupId,jdbcType=BIGINT} + + + ORDER BY NEXT_EXEC_TIME ASC + )sf + where ROWNUM <= #{limit,jdbcType=INTEGER} + + + + + + + + + UPDATE + ABS_FDRT_AST_FUND_MATCH_CTR + SET + GMT_MODIFIED = sysdate, + TASK_STATUS = 'exec', + LAST_HOST = #{lastHost,jdbcType=VARCHAR} + WHERE + AST_NO = #{astNo,jdbcType=VARCHAR} + AND + TASK_STATUS = 'init' + + + + UPDATE + ABS_FDRT_AST_FUND_MATCH_CTR + SET + TASK_STATUS = #{endStatus,jdbcType=VARCHAR} + WHERE + TASK_STATUS = #{startStatus,jdbcType=VARCHAR} + AND + AST_NO = #{astNo,jdbcType=VARCHAR} + + + + SELECT + * + FROM + ABS_FDRT_AST_FUND_MATCH_CTR + WHERE + AST_NO = #{astNo,jdbcType=VARCHAR} + FOR UPDATE NOWAIT + + + + SELECT + count(*) + FROM + ABS_FDRT_AST_FUND_MATCH_CTR + WHERE + TASK_STATUS != 'succ' + AND + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + + + + UPDATE + ABS_FDRT_AST_FUND_MATCH_CTR + SET + USED = 'Y' + WHERE + AST_NO IN + + #{astNo,jdbcType=VARCHAR} + + AND + USED = 'N' + + + + SELECT + SUM(LOAN_PRIN) + FROM + ABS_FDRT_AST_FUND_MATCH_CTR + WHERE + AST_NO IN + + #{astNo,jdbcType=VARCHAR} + + + + + SELECT * FROM ( + SELECT * + FROM + ABS_FDRT_AST_FUND_MATCH_CTR + WHERE + USED = 'N' + + AND POND_NO = #{pondNo,jdbcType=VARCHAR} + + ORDER BY NEXT_EXEC_TIME ASC + ) t where ROWNUM <= #{limit,jdbcType=INTEGER} + + + + + + + + + + + + + + SELECT + count(*) AS count, + TASK_STATUS,ORG_CODE + FROM + ABS_FDRT_AST_FUND_MATCH_CTR + GROUP BY + TASK_STATUS,ORG_CODE + +
diff --git a/dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_RST.xml b/dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_RST.xml new file mode 100644 index 0000000..cf69557 --- /dev/null +++ b/dalgen/configTables/ABS_FDRT_AST_FUND_MATCH_RST.xml @@ -0,0 +1,119 @@ + + + + + + + ID,AST_NO,PLAN_NO,ACCOUNT_DATE,SEQ_NO,ORG_CODE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.AST_NO,sf.PLAN_NO,ACCOUNT_DATE,sf.SEQ_NO,sf.ORG_CODE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + INSERT INTO ABS_FDRT_AST_FUND_MATCH_RST( + ID + ,AST_NO + ,PLAN_NO + ,ACCOUNT_DATE + ,SEQ_NO + ,ORG_CODE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES( + SEQ_AST_FUND_MATCH_CTR.nextval + , #{item.astNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.accountDate,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.orgCode,jdbcType=VARCHAR} + , sysdate + , sysdate) + + + + + + + + + + + + + SELECT + AST_NO,PLAN_NO,LOAN_PRIN,END_DATE,POND_NO + FROM ( + SELECT + A.AST_NO,A.PLAN_NO,B.LOAN_PRIN,B.END_DATE,B.POND_NO + + ,SUM(B.LOAN_PRIN) over (partition by B.USED order by B.END_DATE desc,A.ROWID) SUM_AMT + + FROM + ABS_FDRT_AST_FUND_MATCH_RST A + LEFT JOIN ABS_FDRT_AST_FUND_MATCH_CTR B ON A.AST_NO = B.AST_NO + WHERE + B.USED = 'N' + + AND A.PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND B.POND_NO = #{pondNo,jdbcType=VARCHAR} + + + AND B.PROD_CODE = #{prodCode,jdbcType=VARCHAR} + + ORDER BY B.END_DATE DESC,A.ROWID + ) t + WHERE + ROWNUM <= #{limit,jdbcType=INTEGER} + + AND t.SUM_AMT <= #{sumAmt,jdbcType=BIGINT} + + + + + DELETE + FROM + ABS_FDRT_AST_FUND_MATCH_RST + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + + + SELECT * + FROM + ABS_FDRT_AST_FUND_MATCH_RST + WHERE + AST_NO = #{astNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_GATHER_AMT_ITEM.xml b/dalgen/configTables/ABS_GATHER_AMT_ITEM.xml new file mode 100644 index 0000000..bf68a3d --- /dev/null +++ b/dalgen/configTables/ABS_GATHER_AMT_ITEM.xml @@ -0,0 +1,278 @@ + + + + + + + + + + + + ID,SORT_NO,DONE_AMT,DRAW_AMT,FROZEN_AMT + ,GATHER_AMT,CUR_MAX_OVD_DAYS,CUR_MIN_OVD_DAYS,PLAN_NO,EXT_DATA + ,GATHER_NO,BACK_OUT_CODE,AHEAD_AST_SIGN,GATHER_ITEM_NO,GATHER_STATUS + ,AST_CLAIM_HAPPENED,BEGIN_TIME,GMT_CREATE,FINISH_TIME,GMT_MODIFIED + ,LATEST_END_DATE,EARLIEST_END_DATE + + + + + sf.ID,sf.SORT_NO,sf.DONE_AMT,sf.DRAW_AMT,sf.FROZEN_AMT + ,sf.GATHER_AMT,sf.CUR_MAX_OVD_DAYS,sf.CUR_MIN_OVD_DAYS,sf.PLAN_NO,sf.EXT_DATA + ,sf.GATHER_NO,sf.BACK_OUT_CODE,sf.AHEAD_AST_SIGN,sf.GATHER_ITEM_NO,sf.GATHER_STATUS + ,sf.AST_CLAIM_HAPPENED,sf.BEGIN_TIME,sf.GMT_CREATE,sf.FINISH_TIME,sf.GMT_MODIFIED + ,sf.LATEST_END_DATE,sf.EARLIEST_END_DATE + + + + + + + + + + + INSERT INTO abs_gather_amt_item( + ID + ,SORT_NO + ,DONE_AMT + ,DRAW_AMT + ,FROZEN_AMT + ,GATHER_AMT + ,CUR_MAX_OVD_DAYS + ,CUR_MIN_OVD_DAYS + ,PLAN_NO + ,EXT_DATA + ,GATHER_NO + ,BACK_OUT_CODE + ,AHEAD_AST_SIGN + ,GATHER_ITEM_NO + ,GATHER_STATUS + ,AST_CLAIM_HAPPENED + ,BEGIN_TIME + ,GMT_CREATE + ,FINISH_TIME + ,GMT_MODIFIED + ,LATEST_END_DATE + ,EARLIEST_END_DATE + )VALUES + ( + SEQ_ABS_GATHER_AMT_ITEM.nextval + , #{item.sortNo,jdbcType=DECIMAL} + , #{item.doneAmt,jdbcType=DECIMAL} + , #{item.drawAmt,jdbcType=DECIMAL} + , #{item.frozenAmt,jdbcType=DECIMAL} + , #{item.gatherAmt,jdbcType=DECIMAL} + , #{item.curMaxOvdDays,jdbcType=DECIMAL} + , #{item.curMinOvdDays,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.extData,jdbcType=VARCHAR} + , #{item.gatherNo,jdbcType=VARCHAR} + , #{item.backOutCode,jdbcType=VARCHAR} + , #{item.aheadAstSign,jdbcType=VARCHAR} + , #{item.gatherItemNo,jdbcType=VARCHAR} + , #{item.gatherStatus,jdbcType=VARCHAR} + , #{item.astClaimHappened,jdbcType=CHAR} + , #{item.beginTime,jdbcType=DATE} + , sysdate + , #{item.finishTime,jdbcType=DATE} + , sysdate + , #{item.latestEndDate,jdbcType=DATE} + , #{item.earliestEndDate,jdbcType=DATE} + ) + + + + + + + UPDATE abs_gather_amt_item + SET + GMT_MODIFIED = sysdate + + ,DONE_AMT = #{doneAmt,jdbcType=DECIMAL} + + + ,GATHER_STATUS = #{gatherStatus,jdbcType=VARCHAR} + + + ,BEGIN_TIME = #{beginTime,jdbcType=DATE} + + + ,FINISH_TIME = #{finishTime,jdbcType=DATE} + + WHERE + GATHER_ITEM_NO = #{gatherItemNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + SELECT * + FROM abs_gather_amt_item + WHERE + + FOR UPDATE NOWAIT + + + + SELECT * + FROM abs_gather_amt_item + WHERE + + + + + + SELECT * + FROM abs_gather_amt_item + WHERE + + + + + + + + + + SELECT sf.*, nvl(f.FROZEN_CASH, 0) AS FROZEN_CASH + FROM abs_gather_amt_item sf + left join ABS_PLAN_ALLOC_FROZEN f on sf.GATHER_ITEM_NO = f.ALLOC_NO and sf.BACK_OUT_CODE = f.PLAN_NO + WHERE + + + + + + SELECT * + FROM abs_gather_amt_item + + + and GATHER_STATUS = #{gatherStatus,jdbcType=VARCHAR} + + + and GATHER_NO = #{gatherNo,jdbcType=VARCHAR} + + + ORDER BY GATHER_NO, SORT_NO + +
diff --git a/dalgen/configTables/ABS_GATHER_AMT_PACK.xml b/dalgen/configTables/ABS_GATHER_AMT_PACK.xml new file mode 100644 index 0000000..40b9c38 --- /dev/null +++ b/dalgen/configTables/ABS_GATHER_AMT_PACK.xml @@ -0,0 +1,65 @@ + + + + + + ID,GATHER_NO,PACK_CODE,GATHER_ITEM_NO,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.ID,sf.GATHER_NO,sf.PACK_CODE,sf.GATHER_ITEM_NO,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + + + + + + + + + SELECT g.GATHER_ITEM_NO, g.PACK_CODE, p.AVAL_AMT, p.PACK_STATUS, nvl(t.PRE_TR_AMT, 0) TFR_AMT, nvl(t.PRE_TR_CNT, 0) TFR_CNT + FROM abs_gather_amt_pack g + left join ABS_AST_PACK p on g.PACK_CODE = p.PACK_CODE + left join ABS_TR_CTR_TASK t on g.PACK_CODE = t.PACK_CODE + + WHERE + g.GATHER_ITEM_NO = #{gatherItemNo,jdbcType=VARCHAR} + ORDER BY p.GMT_MODIFIED DESC + + + + SELECT PACK_CODE + FROM abs_gather_amt_pack + WHERE + GATHER_NO = #{gatherNo,jdbcType=VARCHAR} + ORDER BY GMT_CREATE DESC + +
diff --git a/dalgen/configTables/ABS_GATHER_AMT_PLAN.xml b/dalgen/configTables/ABS_GATHER_AMT_PLAN.xml new file mode 100644 index 0000000..0e1896b --- /dev/null +++ b/dalgen/configTables/ABS_GATHER_AMT_PLAN.xml @@ -0,0 +1,206 @@ + + + + + + + + ID,RESERVE_AMT,PLAN_NO,GATHER_NO,GATHER_STATUS + ,APPROVE_STATUS,BEGIN_TIME,GMT_CREATE,FINISH_TIME + ,ACCOUNT_DATE,GMT_MODIFIED + + + + + sf.ID,sf.RESERVE_AMT,sf.PLAN_NO,sf.GATHER_NO,sf.GATHER_STATUS + ,sf.APPROVE_STATUS,sf.BEGIN_TIME,sf.GMT_CREATE,sf.FINISH_TIME + ,sf.ACCOUNT_DATE,sf.GMT_MODIFIED + + + + + + + + + + + + + UPDATE abs_gather_amt_plan + SET + GATHER_STATUS = #{gatherStatus,jdbcType=VARCHAR} + + ,BEGIN_TIME = #{beginTime,jdbcType=DATE} + + + ,FINISH_TIME = #{finishTime,jdbcType=DATE} + + ,GMT_MODIFIED = sysdate + WHERE + GATHER_NO = #{gatherNo,jdbcType=VARCHAR} + AND + GATHER_STATUS = #{oldStatus,jdbcType=VARCHAR} + + + + UPDATE abs_gather_amt_plan + SET + APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + ,GATHER_STATUS = #{gatherStatus,jdbcType=VARCHAR} + + ,GMT_MODIFIED = sysdate + WHERE + GATHER_NO = #{gatherNo,jdbcType=VARCHAR} + AND + APPROVE_STATUS = #{oldStatus,jdbcType=VARCHAR} + + + + + + + + SELECT * + FROM abs_gather_amt_plan + WHERE + + + + + SELECT * + FROM abs_gather_amt_plan + WHERE + + FOR UPDATE NOWAIT + + + + + + + + + + + + SELECT + sf.*, i.GATHER_AMT, i.FROZEN_AMT, i.DONE_AMT, i.DRAW_AMT,i.FROZEN_CASH + FROM ABS_GATHER_AMT_PLAN sf + left join ( + select GATHER_NO,SUM(GATHER_AMT) AS GATHER_AMT, SUM(FROZEN_AMT) AS FROZEN_AMT, SUM(DONE_AMT) AS DONE_AMT, SUM(DRAW_AMT) AS DRAW_AMT, SUM(f.FROZEN_CASH) FROZEN_CASH + from ABS_GATHER_AMT_ITEM g + left join ABS_PLAN_ALLOC_FROZEN f on g.GATHER_ITEM_NO = f.ALLOC_NO and g.BACK_OUT_CODE = f.PLAN_NO + group by g.GATHER_NO + ) i on sf.GATHER_NO = i.GATHER_NO + WHERE 1=1 + + AND + sf.PLAN_NO LIKE CONCAT(CONCAT('%',#{planNo,jdbcType = VARCHAR}),'%') + + + AND + sf.GATHER_STATUS = #{gatherStatus,jdbcType=VARCHAR} + + + AND + sf.GATHER_NO = #{gatherNo,jdbcType=VARCHAR} + + + AND + sf.ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + AND + sf.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + ORDER BY sf.ACCOUNT_DATE, sf.GMT_CREATE DESC + + + + SELECT + sf.*, i.GATHER_AMT, i.FROZEN_AMT, i.DONE_AMT, i.DRAW_AMT,i.FROZEN_CASH + FROM ABS_GATHER_AMT_PLAN sf + left join ( + select GATHER_NO,SUM(GATHER_AMT) AS GATHER_AMT, SUM(FROZEN_AMT) AS FROZEN_AMT, SUM(DONE_AMT) AS DONE_AMT, SUM(DRAW_AMT) AS DRAW_AMT, SUM(f.FROZEN_CASH) FROZEN_CASH + from ABS_GATHER_AMT_ITEM g + left join ABS_PLAN_ALLOC_FROZEN f on g.GATHER_ITEM_NO = f.ALLOC_NO and g.BACK_OUT_CODE = f.PLAN_NO + group by g.GATHER_NO + ) i on sf.GATHER_NO = i.GATHER_NO + WHERE 1=1 + + AND + sf.GATHER_NO = #{gatherNo,jdbcType=VARCHAR} + + + AND + sf.GATHER_STATUS = #{gatherStatus,jdbcType=VARCHAR} + + + + + SELECT + count(*) + FROM ABS_GATHER_AMT_PLAN + WHERE + PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + AND + GATHER_STATUS in + + #{gatherStatus,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_HOST_GROUP_REL.xml b/dalgen/configTables/ABS_HOST_GROUP_REL.xml new file mode 100644 index 0000000..3e7e6a0 --- /dev/null +++ b/dalgen/configTables/ABS_HOST_GROUP_REL.xml @@ -0,0 +1,55 @@ + + + + + + + ID,GROUP_ID,HOST_NAME + + + + + sf.ID,sf.GROUP_ID,sf.HOST_NAME + + + + + + + + + select GROUP_ID from abs_host_group_rel where HOST_NAME=#{hostName,jdbcType=VARCHAR} + + + + + + + INSERT INTO abs_host_group_rel( + ID + ,GROUP_ID + ,HOST_NAME + )VALUES + ( + SEQ_ABS_HOST_GROUP_REL.nextval + , #{item.groupId,jdbcType=DECIMAL} + , #{item.hostName,jdbcType=VARCHAR} + ) + + + + + truncate table abs_host_group_rel + + +
diff --git a/dalgen/configTables/ABS_HOST_INFO.xml b/dalgen/configTables/ABS_HOST_INFO.xml new file mode 100644 index 0000000..2d7e9d2 --- /dev/null +++ b/dalgen/configTables/ABS_HOST_INFO.xml @@ -0,0 +1,171 @@ + + + + + + ID,HOST_IP,HOST_NAME,LAST_BOOT,GMT_CREATE,LAST_HEART,GMT_MODIFIED,IS_EFF + + + + + sf.ID,sf.HOST_IP,sf.HOST_NAME,sf.LAST_BOOT,sf.GMT_CREATE,sf.LAST_HEART,sf.GMT_MODIFIED,sf.IS_EFF + + + + + + + + + + + INSERT INTO abs_host_info( + ID + ,HOST_IP + ,HOST_NAME + ,LAST_BOOT + ,GMT_CREATE + ,LAST_HEART + ,GMT_MODIFIED + ,IS_EFF + )VALUES + + ( + SEQ_ABS_HOST_INFO.nextval + , #{item.hostIp,jdbcType=VARCHAR} + , #{item.hostName,jdbcType=VARCHAR} + , #{item.lastBoot,jdbcType=TIMESTAMP} + , sysdate + , #{item.lastHeart,jdbcType=TIMESTAMP} + , sysdate + , #{item.isEff,jdbcType=CHAR} + ) + + + + + + + + + SELECT * + FROM abs_host_info + WHERE + + + + + + + + + + + + + + + + + + + + SELECT * + FROM abs_host_info + WHERE + + + + + SELECT + ID + ,HOST_IP + ,HOST_NAME + ,LAST_BOOT + ,GMT_CREATE + ,LAST_HEART + ,GMT_MODIFIED + FROM abs_host_info + WHERE + + + + + + + SELECT * + FROM abs_host_info + WHERE + = #{overTime,jdbcType=INTEGER} + ]]> + + + + + + + SELECT *,ROUND(TO_NUMBER(sysdate - LAST_HEART) \\* 24 \\* 60 \\* 60) un_heart_second + FROM abs_host_info + + + + UPDATE + ABS_HOST_INFO + SET + IS_EFF = #{isEff,jdbcType=CHAR} + WHERE + HOST_NAME = #{hostName,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_JOB_CONTROL.xml b/dalgen/configTables/ABS_JOB_CONTROL.xml new file mode 100644 index 0000000..84cc626 --- /dev/null +++ b/dalgen/configTables/ABS_JOB_CONTROL.xml @@ -0,0 +1,68 @@ + + + + + + ID,IS_EFF,JOB_NAME,MEMO,GMT_MODIFIED + + + + + sf.ID,sf.IS_EFF,sf.JOB_NAME, sf.MEMO,sf.GMT_MODIFIED + + + + + + + + + + + + SELECT * + FROM ABS_JOB_CONTROL + WHERE + + + + + SELECT * + FROM ABS_JOB_CONTROL + WHERE + + FOR UPDATE NOWAIT + + + + SELECT * + FROM ABS_JOB_CONTROL + order by MEMO, JOB_NAME + + +
diff --git a/dalgen/configTables/ABS_LOAN.xml b/dalgen/configTables/ABS_LOAN.xml new file mode 100644 index 0000000..6236eba --- /dev/null +++ b/dalgen/configTables/ABS_LOAN.xml @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USER_ID,FEE_BAL,INTR_BAL,PRIN_BAL,PAID_FEE_AMT,OVD_PRIN_BAL,OVD_INTR_BAL,OVD_FEE_BAL,OWN_STATUS + ,FEE_PENAL_BAL,OTHER_FEE_BAL,PAID_INTR_AMT,PAID_PRIN_AMT,INTR_PENAL_BAL + ,PRIN_PENAL_BAL,PAID_FEE_PENAL_AMT,PAID_OTHER_FEE_AMT,OTHER_FEE_PENAL_BAL,PAID_INTR_PENAL_AMT + ,PAID_PRIN_PENAL_AMT,PAID_OTHER_FEE_PENAL_AMT,AST_NO,OWN_ORG,PROD_NO,OUT_PROD_NO + ,RISK_CL,STATUS,OWN_PACK,OUT_AST_NO,CONTRACT_NO + ,LAST_OWN_ORG,LENDER_ORG_CODE,MANAGER_ORG_CODE,SPONSER_ORG_CODE,CUR_TERM,WTF_STATUS + ,OVD_DAYS,TERM_CNT,IN_DATE,END_DATE,CLEAR_DATE,DISB_DATE + ,GMT_CREATE,START_DATE,GMT_MODIFIED,LAST_UPDATE_DATE,CERT_NO,TRANS_CNT,CAPITAL_NO,LAYER_NAME,EXT_INF + ,EXTEND_STATUS,MAX_OVD_DAYS,CLAIM_STATUS,SHRINKAGE_STATUS,NEXT_TFR_DATE,LIMIT_TFR_REASON + ,OVD_TIMES,INTER_TRANS_IN_AMT,INTER_TRANS_OUT_AMT,AST_TYPE + ,INTER_TRANS_IN_INTR_AMT,INTER_TRANS_OUT_INTR_AMT + + + + + sf.USER_ID,sf.FEE_BAL,sf.INTR_BAL,sf.PRIN_BAL,sf.PAID_FEE_AMT,sf.OVD_PRIN_BAL,sf.OVD_INTR_BAL,sf.OVD_FEE_BAL,sf.OWN_STATUS + ,sf.FEE_PENAL_BAL,sf.OTHER_FEE_BAL,sf.PAID_INTR_AMT,sf.PAID_PRIN_AMT,sf.INTR_PENAL_BAL + ,sf.PRIN_PENAL_BAL,sf.PAID_FEE_PENAL_AMT,sf.PAID_OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_BAL,sf.PAID_INTR_PENAL_AMT + ,sf.PAID_PRIN_PENAL_AMT,sf.PAID_OTHER_FEE_PENAL_AMT,sf.AST_NO,sf.OWN_ORG,sf.PROD_NO,sf.OUT_PROD_NO + ,sf.RISK_CL,sf.STATUS,sf.OWN_PACK,sf.OUT_AST_NO,sf.CONTRACT_NO + ,sf.LAST_OWN_ORG,sf.LENDER_ORG_CODE,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.CUR_TERM,sf.WTF_STATUS + ,sf.OVD_DAYS,sf.TERM_CNT,sf.IN_DATE,sf.END_DATE,sf.CLEAR_DATE,sf.DISB_DATE + ,sf.GMT_CREATE,sf.START_DATE,sf.GMT_MODIFIED,sf.LAST_UPDATE_DATE,sf.CERT_NO,sf.TRANS_CNT + ,sf.CAPITAL_NO,sf.LAYER_NAME,sf.EXT_INF,sf.EXTEND_STATUS,sf.MAX_OVD_DAYS,sf.CLAIM_STATUS + ,sf.SHRINKAGE_STATUS,sf.NEXT_TFR_DATE,sf.LIMIT_TFR_REASON,sf.OVD_TIMES,sf.INTER_TRANS_IN_AMT,sf.INTER_TRANS_OUT_AMT + ,sf.AST_TYPE,sf.INTER_TRANS_IN_INTR_AMT,sf.INTER_TRANS_OUT_INTR_AMT + + + + + + + + + + + + + + + SELECT * + FROM + abs_loan + WHERE + + + + + SELECT * + FROM + abs_loan + WHERE + + + + + SELECT * + FROM + abs_loan + WHERE + + + + + SELECT * + FROM + abs_loan + WHERE + + + + + SELECT * + FROM + abs_loan + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + + and OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + + + and AST_NO = #{astNo,jdbcType=VARCHAR} + + + and OVD_DAYS > #{ovdDays,jdbcType=INTEGER} + + + and RISK_CL = #{riskCl,jdbcType=VARCHAR} + + + and CAPITAL_NO = #{capitalNo,jdbcType=VARCHAR} + + + AND END_DATE <= #{latestEndDate,jdbcType=DATE} + + + AND END_DATE > #{earliestEndDate,jdbcType=DATE} + + + AND OWN_STATUS in + + #{ownStatus,jdbcType=VARCHAR} + + + + AND STATUS = #{status,jdbcType=VARCHAR} + + + + + select + sf.* + from abs_tr_task task + left join ABS_LOAN sf on sf.AST_NO=task.AST_NO + where + task.TFR_PACK=#{packCode,jdbcType=VARCHAR} + and rownum < 10000 + order by sf.END_DATE desc + + + + + + + + + + + SELECT + LENDER_ORG_CODE, + SUM(PRIN_BAL + OVD_PRIN_BAL) as PRIN_AMT, + SUM(FEE_BAL + INTR_BAL + FEE_PENAL_BAL + OTHER_FEE_BAL + INTR_PENAL_BAL + + PRIN_PENAL_BAL + OTHER_FEE_PENAL_BAL + OVD_INTR_BAL + OVD_FEE_BAL) as PROFIT_AMT, + COUNT(\\*) as CNT + FROM + abs_loan + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + AND + STATUS IN ('nor', 'ovd') + GROUP BY LENDER_ORG_CODE + + + + SELECT + LENDER_ORG_CODE, + SUM(PAID_PRIN_AMT) as PRIN_AMT, + SUM(PAID_FEE_AMT + PAID_INTR_AMT + PAID_FEE_PENAL_AMT + PAID_OTHER_FEE_AMT + + PAID_INTR_PENAL_AMT + PAID_PRIN_PENAL_AMT + PAID_OTHER_FEE_PENAL_AMT) as PROFIT_AMT, + COUNT(\\*) as CNT + FROM + abs_loan + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + GROUP BY LENDER_ORG_CODE + + + + SELECT + LENDER_ORG_CODE, + SUM(PAID_PRIN_AMT + PRIN_BAL + OVD_PRIN_BAL) as PRIN_AMT, + 0 as PROFIT_AMT, + COUNT(\\*) as CNT + FROM + abs_loan + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + AND + DISB_DATE = #{disbDate,jdbcType=TIMESTAMP} + GROUP BY LENDER_ORG_CODE + + + + SELECT + AST_NO + FROM + ABS_LOAN + WHERE + CAPITAL_NO = 'NONE' + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + AND + STATUS in ('nor','ovd') + AND + OWN_STATUS != 'out' + ORDER BY END_DATE ASC + + + + + SELECT + AST_NO + FROM + ABS_LOAN + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + CAPITAL_NO = #{capitalNo,jdbcType=VARCHAR} + AND + STATUS in ('nor','ovd') + AND + OWN_STATUS != 'out' + ORDER BY END_DATE ASC + + + + + UPDATE ABS_LOAN + SET + NEXT_TFR_DATE = #{nextTfrDate,jdbcType=DATE} + ,LIMIT_TFR_REASON = #{limitTfrReason,jdbcType=VARCHAR} + WHERE MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND AST_NO in + + #{astNo,jdbcType=VARCHAR} + + + + + SELECT + NVL(MAX(MAX_OVD_DAYS),0) + FROM + ABS_LOAN + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + USER_ID = #{userId,jdbcType=VARCHAR} + AND + STATUS in ('nor','ovd') + +
diff --git a/dalgen/configTables/ABS_LOAN_AST.xml b/dalgen/configTables/ABS_LOAN_AST.xml new file mode 100644 index 0000000..71ce456 --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + TERM_NO,COST_AMT,PRIN_BAL,PAID_PRIN_AMT,AST_NO + ,EXT_INF,OWN_ORG,PROD_NO,USER_ID + ,IN_AST_NO,IN_RULE,OWN_PACK,OUT_AST_NO,AST_STATUS,CLEAR_EVNT + ,LOAN_AST_NO,OUT_PROD_NO,AST_PRICE_TYPE,LENDER_ORG_CODE,IN_DATE + ,CLEAR_DATE,GMT_CREATE,GMT_MODIFIED,LAST_UPDATE_DATE,AST_PRICE,PM_ORG_CODE,INTER_TRANS_IN_AMT,INTER_TRANS_OUT_AMT,MANAGER_ORG_CODE + + + + + sf.TERM_NO,sf.COST_AMT,sf.PRIN_BAL,sf.PAID_PRIN_AMT,sf.AST_NO + ,sf.EXT_INF,sf.OWN_ORG,sf.PROD_NO,sf.USER_ID + ,sf.IN_AST_NO,sf.IN_RULE,sf.OWN_PACK,sf.OUT_AST_NO,sf.AST_STATUS,sf.CLEAR_EVNT + ,sf.LOAN_AST_NO,sf.OUT_PROD_NO,sf.AST_PRICE_TYPE,sf.LENDER_ORG_CODE,sf.IN_DATE + ,sf.CLEAR_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LAST_UPDATE_DATE,sf.AST_PRICE + ,sf.PM_ORG_CODE,sf.INTER_TRANS_IN_AMT,sf.INTER_TRANS_OUT_AMT,sf.MANAGER_ORG_CODE + + + + + + INSERT INTO abs_loan_ast( + TERM_NO + ,COST_AMT + ,PRIN_BAL + ,PAID_PRIN_AMT + ,AST_NO + ,EXT_INF + ,OWN_ORG + ,PROD_NO + ,USER_ID + ,IN_AST_NO + ,IN_RULE + ,OWN_PACK + ,OUT_AST_NO + ,AST_STATUS + ,CLEAR_EVNT + ,LOAN_AST_NO + ,OUT_PROD_NO + ,AST_PRICE_TYPE + ,LENDER_ORG_CODE + ,IN_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,GMT_MODIFIED + ,LAST_UPDATE_DATE + ,AST_PRICE + ,PM_ORG_CODE + ,INTER_TRANS_IN_AMT + ,INTER_TRANS_OUT_AMT + ,MANAGER_ORG_CODE + )VALUES + ( + #{termNo,jdbcType=DECIMAL} + , #{costAmt,jdbcType=DECIMAL} + , #{prinBal,jdbcType=DECIMAL} + , #{paidPrinAmt,jdbcType=DECIMAL} + , #{astNo,jdbcType=VARCHAR} + , #{extInf,jdbcType=VARCHAR} + , #{ownOrg,jdbcType=VARCHAR} + , #{prodNo,jdbcType=VARCHAR} + , #{userId,jdbcType=VARCHAR} + , #{inAstNo,jdbcType=VARCHAR} + , #{inRule,jdbcType=VARCHAR} + , #{ownPack,jdbcType=VARCHAR} + , #{outAstNo,jdbcType=VARCHAR} + , #{astStatus,jdbcType=VARCHAR} + , #{clearEvnt,jdbcType=VARCHAR} + , #{loanAstNo,jdbcType=VARCHAR} + , #{outProdNo,jdbcType=VARCHAR} + , #{astPriceType,jdbcType=VARCHAR} + , #{lenderOrgCode,jdbcType=VARCHAR} + , #{inDate,jdbcType=DATE} + , #{clearDate,jdbcType=DATE} + , sysdate + , sysdate + , #{lastUpdateDate,jdbcType=DATE} + , #{astPrice,jdbcType=DECIMAL} + , #{pmOrgCode,jdbcType=VARCHAR} + , #{interTransInAmt,jdbcType=DECIMAL} + , #{interTransOutAmt,jdbcType=DECIMAL} + , #{managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + SELECT * + FROM abs_loan_ast + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + + + + + UPDATE abs_loan_ast + SET + PM_ORG_CODE = #{pmOrgCode,jdbcType=VARCHAR} + WHERE + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + AND + AST_STATUS = 'nor' + +
diff --git a/dalgen/configTables/ABS_LOAN_AST_ACCUM.xml b/dalgen/configTables/ABS_LOAN_AST_ACCUM.xml new file mode 100644 index 0000000..4ab460f --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST_ACCUM.xml @@ -0,0 +1,89 @@ + + + + + + + + accum_amt,ast_no,out_ast_no,loan_ast_no + ,own_org,gmt_create,gmt_modified,manager_org_code + + + + + sf.accum_amt,sf.ast_no,sf.out_ast_no,sf.loan_ast_no + ,sf.own_org,sf.gmt_create,sf.gmt_modified,sf.manager_org_code + + + + + + + + + + + INSERT INTO abs_loan_ast_accum( + accum_amt + ,ast_no + ,out_ast_no + ,loan_ast_no + ,own_org + ,gmt_create + ,gmt_modified + ,manager_org_code + )VALUES + ( + #{item.accumAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.loanAstNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + + SELECT * + FROM abs_loan_ast_accum + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_LOAN_AST_LOG.xml b/dalgen/configTables/ABS_LOAN_AST_LOG.xml new file mode 100644 index 0000000..cab092b --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST_LOG.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + TERM_NO,PRIN_AMT,AF_PRIN_BAL,AST_NO + ,BIZ_NO,SEQ_NO,EXT_INF,OWN_ORG,PROD_NO + ,USER_ID,EXEC_TMS,IN_AST_NO,OWN_PACK,OUT_AST_NO + ,OUT_BIZ_NO,EVENT_CODE,LOAN_AST_NO,OUT_PROD_NO,TRANS_CODE + ,AF_AST_STATUS,BF_AST_STATUS,LENDER_ORG_CODE,GMT_CREATE,TRANS_TIME + ,ACCOUNT_DATE,CLRG_AMT,PM_ORG_CODE,MANAGER_ORG_CODE + + + + + sf.TERM_NO,sf.PRIN_AMT,sf.AF_PRIN_BAL,sf.AST_NO + ,sf.BIZ_NO,sf.SEQ_NO,sf.EXT_INF,sf.OWN_ORG,sf.PROD_NO + ,sf.USER_ID,sf.EXEC_TMS,sf.IN_AST_NO,sf.OWN_PACK,sf.OUT_AST_NO + ,sf.OUT_BIZ_NO,sf.EVENT_CODE,sf.LOAN_AST_NO,sf.OUT_PROD_NO,sf.TRANS_CODE + ,sf.AF_AST_STATUS,sf.BF_AST_STATUS,sf.LENDER_ORG_CODE,sf.GMT_CREATE,sf.TRANS_TIME + ,sf.ACCOUNT_DATE,sf.CLRG_AMT,sf.PM_ORG_CODE,sf.MANAGER_ORG_CODE + + + + + + + INSERT INTO abs_loan_ast_log( + TERM_NO + ,PRIN_AMT + ,AF_PRIN_BAL + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,EXT_INF + ,OWN_ORG + ,PROD_NO + ,USER_ID + ,EXEC_TMS + ,IN_AST_NO + ,OWN_PACK + ,OUT_AST_NO + ,OUT_BIZ_NO + ,EVENT_CODE + ,LOAN_AST_NO + ,OUT_PROD_NO + ,TRANS_CODE + ,AF_AST_STATUS + ,BF_AST_STATUS + ,LENDER_ORG_CODE + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,CLRG_AMT + ,PM_ORG_CODE + ,MANAGER_ORG_CODE + )VALUES + ( + #{item.termNo,jdbcType=DECIMAL} + , #{item.prinAmt,jdbcType=DECIMAL} + , #{item.afPrinBal,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.extInf,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.userId,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.inAstNo,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.loanAstNo,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.afAstStatus,jdbcType=VARCHAR} + , #{item.bfAstStatus,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , sysdate + , #{item.transTime,jdbcType=DATE} + , #{item.accountDate,jdbcType=DATE} + , #{item.clrgAmt,jdbcType=DECIMAL} + , #{item.pmOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + + SELECT + OWN_ORG, + SUM(CLRG_AMT) CLRG_AMT, + SUM(PRIN_AMT) PRIN_AMT + FROM + ABS_LOAN_AST_LOG + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG + + + + + + + + + + + SELECT + OWN_ORG, + EVENT_CODE, + SUM(CLRG_AMT) CLRG_AMT, + SUM(PRIN_AMT) PRIN_AMT + FROM + ABS_LOAN_AST_LOG + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG,EVENT_CODE + + + + SELECT + /*+INDEX(sf IDX_ABS_LOAN_AST_LOG_LAN)*/ sf.* + FROM + ABS_LOAN_AST_LOG sf + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND LOAN_AST_NO IN + + #{loanAstNo,jdbcType=VARCHAR} + + AND TRANS_CODE in + + #{transCode,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_LOAN_AST_PROFIT.xml b/dalgen/configTables/ABS_LOAN_AST_PROFIT.xml new file mode 100644 index 0000000..ded9e8e --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST_PROFIT.xml @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AST_PROFIT_NO,FEE_BAL,TERM_NO,INTR_BAL,RMT_FEE_AMT + ,SRC_TERM_NO,FUND_FEE_AMT,PAID_FEE_AMT,RMT_INTR_AMT,FEE_ENTRY_AMT + ,FEE_PENAL_BAL,FUND_INTR_AMT,PAID_INTR_AMT,INTR_ENTRY_AMT,INTR_PENAL_BAL + ,PRIN_PENAL_BAL,MANAGER_ORG_FEE,RMT_FEE_PENAL_AMT,FUND_FEE_PENAL_AMT,PAID_FEE_PENAL_AMT + ,RMT_INTR_PENAL_AMT,RMT_PRIN_PENAL_AMT,FEE_PENAL_ENTRY_AMT,FUND_INTR_PENAL_AMT,FUND_PRIN_PENAL_AMT + ,PAID_INTR_PENAL_AMT,PAID_PRIN_PENAL_AMT,INTR_PENAL_ENTRY_AMT,PRIN_PENAL_ENTRY_AMT,AST_NO + ,OWN_ORG,EXT_INFO,LOAN_AST_NO,PROFIT_TYPE,SPLIT_ORG_CODE + ,GMT_CREATE,GMT_MODIFIED,LAST_UPDATE_DATE,SPLIT_RATE,FEE_ENTRY_DEC + ,INTR_ENTRY_DEC,FEE_PENAL_ENTRY_DEC,INTR_PENAL_ENTRY_DEC,PRIN_PENAL_ENTRY_DEC + ,OUT_AST_NO,COST_AMT + ,OTHER_FEE_BAL,PAID_OTHER_FEE_AMT,FUND_OTHER_FEE_AMT,OTHER_FEE_ENTRY_AMT,OTHER_FEE_ENTRY_DEC,PM_ORG_CODE + ,INTER_TRANS_IN_INTR_AMT,INTER_TRANS_OUT_INTR_AMT,MANAGER_ORG_CODE + + + + + sf.AST_PROFIT_NO,sf.FEE_BAL,sf.TERM_NO,sf.INTR_BAL,sf.RMT_FEE_AMT + ,sf.SRC_TERM_NO,sf.FUND_FEE_AMT,sf.PAID_FEE_AMT,sf.RMT_INTR_AMT,sf.FEE_ENTRY_AMT + ,sf.FEE_PENAL_BAL,sf.FUND_INTR_AMT,sf.PAID_INTR_AMT,sf.INTR_ENTRY_AMT,sf.INTR_PENAL_BAL + ,sf.PRIN_PENAL_BAL,sf.MANAGER_ORG_FEE,sf.RMT_FEE_PENAL_AMT,sf.FUND_FEE_PENAL_AMT,sf.PAID_FEE_PENAL_AMT + ,sf.RMT_INTR_PENAL_AMT,sf.RMT_PRIN_PENAL_AMT,sf.FEE_PENAL_ENTRY_AMT,sf.FUND_INTR_PENAL_AMT,sf.FUND_PRIN_PENAL_AMT + ,sf.PAID_INTR_PENAL_AMT,sf.PAID_PRIN_PENAL_AMT,sf.INTR_PENAL_ENTRY_AMT,sf.PRIN_PENAL_ENTRY_AMT,sf.AST_NO + ,sf.OWN_ORG,sf.EXT_INFO,sf.LOAN_AST_NO,sf.PROFIT_TYPE,sf.SPLIT_ORG_CODE + ,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LAST_UPDATE_DATE,sf.SPLIT_RATE,sf.FEE_ENTRY_DEC + ,sf.INTR_ENTRY_DEC,sf.FEE_PENAL_ENTRY_DEC,sf.INTR_PENAL_ENTRY_DEC,sf.PRIN_PENAL_ENTRY_DEC + ,sf.OUT_AST_NO,sf.COST_AMT + ,sf.OTHER_FEE_BAL,sf.PAID_OTHER_FEE_AMT,sf.FUND_OTHER_FEE_AMT,sf.OTHER_FEE_ENTRY_AMT,sf.OTHER_FEE_ENTRY_DEC + ,sf.PM_ORG_CODE + ,sf.INTER_TRANS_IN_INTR_AMT,sf.INTER_TRANS_OUT_INTR_AMT,sf.MANAGER_ORG_CODE + + + + INSERT INTO abs_loan_ast_profit( + AST_PROFIT_NO + ,FEE_BAL + ,TERM_NO + ,INTR_BAL + ,RMT_FEE_AMT + ,SRC_TERM_NO + ,FUND_FEE_AMT + ,PAID_FEE_AMT + ,RMT_INTR_AMT + ,FEE_ENTRY_AMT + ,FEE_PENAL_BAL + ,FUND_INTR_AMT + ,PAID_INTR_AMT + ,INTR_ENTRY_AMT + ,INTR_PENAL_BAL + ,PRIN_PENAL_BAL + ,MANAGER_ORG_FEE + ,RMT_FEE_PENAL_AMT + ,FUND_FEE_PENAL_AMT + ,PAID_FEE_PENAL_AMT + ,RMT_INTR_PENAL_AMT + ,RMT_PRIN_PENAL_AMT + ,FEE_PENAL_ENTRY_AMT + ,FUND_INTR_PENAL_AMT + ,FUND_PRIN_PENAL_AMT + ,PAID_INTR_PENAL_AMT + ,PAID_PRIN_PENAL_AMT + ,INTR_PENAL_ENTRY_AMT + ,PRIN_PENAL_ENTRY_AMT + ,AST_NO + ,OWN_ORG + ,EXT_INFO + ,LOAN_AST_NO + ,PROFIT_TYPE + ,SPLIT_ORG_CODE + ,GMT_CREATE + ,GMT_MODIFIED + ,LAST_UPDATE_DATE + ,SPLIT_RATE + ,FEE_ENTRY_DEC + ,INTR_ENTRY_DEC + ,FEE_PENAL_ENTRY_DEC + ,INTR_PENAL_ENTRY_DEC + ,PRIN_PENAL_ENTRY_DEC + ,OUT_AST_NO + ,COST_AMT + ,OTHER_FEE_BAL + ,PAID_OTHER_FEE_AMT + ,FUND_OTHER_FEE_AMT + ,OTHER_FEE_ENTRY_AMT + ,OTHER_FEE_ENTRY_DEC + ,PM_ORG_CODE + ,INTER_TRANS_IN_INTR_AMT + ,INTER_TRANS_OUT_INTR_AMT + ,MANAGER_ORG_CODE + )VALUES + ( + #{astProfitNo,jdbcType=VARCHAR} + , #{feeBal,jdbcType=DECIMAL} + , #{termNo,jdbcType=DECIMAL} + , #{intrBal,jdbcType=DECIMAL} + , #{rmtFeeAmt,jdbcType=DECIMAL} + , #{srcTermNo,jdbcType=DECIMAL} + , #{fundFeeAmt,jdbcType=DECIMAL} + , #{paidFeeAmt,jdbcType=DECIMAL} + , #{rmtIntrAmt,jdbcType=DECIMAL} + , #{feeEntryAmt,jdbcType=DECIMAL} + , #{feePenalBal,jdbcType=DECIMAL} + , #{fundIntrAmt,jdbcType=DECIMAL} + , #{paidIntrAmt,jdbcType=DECIMAL} + , #{intrEntryAmt,jdbcType=DECIMAL} + , #{intrPenalBal,jdbcType=DECIMAL} + , #{prinPenalBal,jdbcType=DECIMAL} + , #{managerOrgFee,jdbcType=DECIMAL} + , #{rmtFeePenalAmt,jdbcType=DECIMAL} + , #{fundFeePenalAmt,jdbcType=DECIMAL} + , #{paidFeePenalAmt,jdbcType=DECIMAL} + , #{rmtIntrPenalAmt,jdbcType=DECIMAL} + , #{rmtPrinPenalAmt,jdbcType=DECIMAL} + , #{feePenalEntryAmt,jdbcType=DECIMAL} + , #{fundIntrPenalAmt,jdbcType=DECIMAL} + , #{fundPrinPenalAmt,jdbcType=DECIMAL} + , #{paidIntrPenalAmt,jdbcType=DECIMAL} + , #{paidPrinPenalAmt,jdbcType=DECIMAL} + , #{intrPenalEntryAmt,jdbcType=DECIMAL} + , #{prinPenalEntryAmt,jdbcType=DECIMAL} + , #{astNo,jdbcType=VARCHAR} + , #{ownOrg,jdbcType=VARCHAR} + , #{extInfo,jdbcType=VARCHAR} + , #{loanAstNo,jdbcType=VARCHAR} + , #{profitType,jdbcType=VARCHAR} + , #{splitOrgCode,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{lastUpdateDate,jdbcType=DATE} + , #{splitRate,jdbcType=DECIMAL} + , #{feeEntryDec,jdbcType=DECIMAL} + , #{intrEntryDec,jdbcType=DECIMAL} + , #{feePenalEntryDec,jdbcType=DECIMAL} + , #{intrPenalEntryDec,jdbcType=DECIMAL} + , #{prinPenalEntryDec,jdbcType=DECIMAL} + , #{outAstNo,jdbcType=VARCHAR} + , #{costAmt,jdbcType=DECIMAL} + , #{otherFeeBal,jdbcType=BIGINT} + , #{paidOtherFeeAmt,jdbcType=BIGINT} + , #{fundOtherFeeAmt,jdbcType=BIGINT} + , #{otherFeeEntryAmt,jdbcType=BIGINT} + , #{otherFeeEntryDec,jdbcType=DECIMAL} + , #{pmOrgCode,jdbcType=VARCHAR} + , #{interTransInIntrAmt,jdbcType=DECIMAL} + , #{interTransOutIntrAmt,jdbcType=DECIMAL} + , #{managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + SELECT * + FROM abs_loan_ast_profit + WHERE + + + + + + UPDATE abs_loan_ast_profit + SET + PM_ORG_CODE = #{pmOrgCode,jdbcType=VARCHAR} + WHERE + LOAN_AST_NO IN ( + SELECT + LOAN_AST_NO + FROM + ABS_LOAN_AST + WHERE + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + AND AST_STATUS = 'nor' + ) + +
diff --git a/dalgen/configTables/ABS_LOAN_AST_PROFIT_LOG.xml b/dalgen/configTables/ABS_LOAN_AST_PROFIT_LOG.xml new file mode 100644 index 0000000..afcbb6b --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST_PROFIT_LOG.xml @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FEE_AMT,TERM_NO,INTR_AMT,AF_FEE_BAL + ,AF_INTR_BAL,SRC_TERM_NO,FUND_FEE_AMT,FEE_PENAL_AMT,FUND_INTR_AMT + ,INTR_PENAL_AMT,PRIN_PENAL_AMT,AF_FEE_PENAL_BAL,AF_INTR_PENAL_BAL,AF_PRIN_PENAL_BAL + ,FUND_FEE_PENAL_AMT,FUND_INTR_PENAL_AMT,FUND_PRIN_PENAL_AMT,MANAGER_ORG_FEE_AMT,AST_NO + ,BIZ_NO,SEQ_NO,OWN_ORG,EXEC_TMS,EXT_INFO + ,OUT_BIZ_NO,EVENT_CODE,LOAN_AST_NO,TRANS_CODE,PROFIT_TYPE + ,AST_PROFIT_NO,SPLIT_ORG_CODE,GMT_CREATE,TRANS_TIME,ACCOUNT_DATE,CLRG_AMT,BIZ_TERM_NO + ,OUT_AST_NO + ,AF_OTHER_FEE_BAL,OTHER_FEE_AMT,FUND_OTHER_FEE_AMT,MEMO,PM_ORG_CODE, MANAGER_ORG_CODE + + + + + sf.FEE_AMT,sf.TERM_NO,sf.INTR_AMT,sf.AF_FEE_BAL + ,sf.AF_INTR_BAL,sf.SRC_TERM_NO,sf.FUND_FEE_AMT,sf.FEE_PENAL_AMT,sf.FUND_INTR_AMT + ,sf.INTR_PENAL_AMT,sf.PRIN_PENAL_AMT,sf.AF_FEE_PENAL_BAL,sf.AF_INTR_PENAL_BAL,sf.AF_PRIN_PENAL_BAL + ,sf.FUND_FEE_PENAL_AMT,sf.FUND_INTR_PENAL_AMT,sf.FUND_PRIN_PENAL_AMT,sf.MANAGER_ORG_FEE_AMT,sf.AST_NO + ,sf.BIZ_NO,sf.SEQ_NO,sf.OWN_ORG,sf.EXEC_TMS,sf.EXT_INFO + ,sf.OUT_BIZ_NO,sf.EVENT_CODE,sf.LOAN_AST_NO,sf.TRANS_CODE,sf.PROFIT_TYPE + ,sf.AST_PROFIT_NO,sf.SPLIT_ORG_CODE,sf.GMT_CREATE,sf.TRANS_TIME,sf.ACCOUNT_DATE,sf.CLRG_AMT,sf.BIZ_TERM_NO + ,sf.OUT_AST_NO + ,sf.AF_OTHER_FEE_BAL,sf.OTHER_FEE_AMT,sf.FUND_OTHER_FEE_AMT,sf.MEMO,sf.PM_ORG_CODE, sf.MANAGER_ORG_CODE + + + + + + + INSERT INTO abs_loan_ast_profit_log( + FEE_AMT + ,TERM_NO + ,INTR_AMT + ,AF_FEE_BAL + ,AF_INTR_BAL + ,SRC_TERM_NO + ,FUND_FEE_AMT + ,FEE_PENAL_AMT + ,FUND_INTR_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL + ,AF_PRIN_PENAL_BAL + ,FUND_FEE_PENAL_AMT + ,FUND_INTR_PENAL_AMT + ,FUND_PRIN_PENAL_AMT + ,MANAGER_ORG_FEE_AMT + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,OWN_ORG + ,EXEC_TMS + ,EXT_INFO + ,OUT_BIZ_NO + ,EVENT_CODE + ,LOAN_AST_NO + ,TRANS_CODE + ,PROFIT_TYPE + ,AST_PROFIT_NO + ,SPLIT_ORG_CODE + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,CLRG_AMT + ,BIZ_TERM_NO + ,OUT_AST_NO + ,AF_OTHER_FEE_BAL + ,OTHER_FEE_AMT + ,FUND_OTHER_FEE_AMT + ,MEMO + ,PM_ORG_CODE + ,MANAGER_ORG_CODE + )VALUES + ( + #{item.feeAmt,jdbcType=DECIMAL} + , #{item.termNo,jdbcType=DECIMAL} + , #{item.intrAmt,jdbcType=DECIMAL} + , #{item.afFeeBal,jdbcType=DECIMAL} + , #{item.afIntrBal,jdbcType=DECIMAL} + , #{item.srcTermNo,jdbcType=DECIMAL} + , #{item.fundFeeAmt,jdbcType=DECIMAL} + , #{item.feePenalAmt,jdbcType=DECIMAL} + , #{item.fundIntrAmt,jdbcType=DECIMAL} + , #{item.intrPenalAmt,jdbcType=DECIMAL} + , #{item.prinPenalAmt,jdbcType=DECIMAL} + , #{item.afFeePenalBal,jdbcType=DECIMAL} + , #{item.afIntrPenalBal,jdbcType=DECIMAL} + , #{item.afPrinPenalBal,jdbcType=DECIMAL} + , #{item.fundFeePenalAmt,jdbcType=DECIMAL} + , #{item.fundIntrPenalAmt,jdbcType=DECIMAL} + , #{item.fundPrinPenalAmt,jdbcType=DECIMAL} + , #{item.managerOrgFeeAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.extInfo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.loanAstNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.profitType,jdbcType=VARCHAR} + , #{item.astProfitNo,jdbcType=VARCHAR} + , #{item.splitOrgCode,jdbcType=VARCHAR} + , sysdate + , #{item.transTime,jdbcType=DATE} + , #{item.accountDate,jdbcType=DATE} + , #{item.clrgAmt,jdbcType=DECIMAL} + , #{item.bizTermNo,jdbcType=DECIMAL} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.afOtherFeeBal,jdbcType=BIGINT} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.fundOtherFeeAmt,jdbcType=BIGINT} + , #{item.memo,jdbcType=VARCHAR} + , #{item.pmOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + SELECT SUM(INTR_AMT) REPAY_INTR_FEE_AMT, SUM(FUND_INTR_AMT) FUND_REPAY_INTR_FEE_AMT + FROM ABS_LOAN_AST_PROFIT_LOG + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + and TRANS_CODE = 'AST0005' + and PROFIT_TYPE = 'split' + + AND + SPLIT_ORG_CODE = #{splitOrgCode,jdbcType = VARCHAR} + + + + + + + + + + + + + + + + + + + + + + + + SELECT + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OTHER_FEE_AMT) OTHER_FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(FUND_INTR_AMT) FUND_INTR_AMT, + SUM(FUND_PRIN_PENAL_AMT) FUND_PRIN_PENAL_AMT, + SUM(FUND_INTR_PENAL_AMT) FUND_INTR_PENAL_AMT, + SUM(FUND_FEE_AMT) FUND_FEE_AMT, + SUM(FUND_FEE_PENAL_AMT) FUND_FEE_PENAL_AMT, + SUM(FUND_OTHER_FEE_AMT) FUND_OTHER_FEE_AMT, + SUM(MANAGER_ORG_FEE_AMT) MANAGER_ORG_FEE_AMT, + SUM(CLRG_AMT) CLRG_AMT + FROM ABS_LOAN_AST_PROFIT_LOG + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + and TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + + SELECT + OWN_ORG, + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OTHER_FEE_AMT) OTHER_FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(FUND_INTR_AMT) FUND_INTR_AMT, + SUM(FUND_PRIN_PENAL_AMT) FUND_PRIN_PENAL_AMT, + SUM(FUND_INTR_PENAL_AMT) FUND_INTR_PENAL_AMT, + SUM(FUND_FEE_AMT) FUND_FEE_AMT, + SUM(FUND_FEE_PENAL_AMT) FUND_FEE_PENAL_AMT, + SUM(FUND_OTHER_FEE_AMT) FUND_OTHER_FEE_AMT, + SUM(MANAGER_ORG_FEE_AMT) MANAGER_ORG_FEE_AMT, + SUM(CLRG_AMT) CLRG_AMT + FROM ABS_LOAN_AST_PROFIT_LOG + WHERE + ACCOUNT_DATE in + + #{accountDate,jdbcType=DATE} + + and TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + OWN_ORG, + EVENT_CODE, + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OTHER_FEE_AMT) OTHER_FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(FUND_INTR_AMT) FUND_INTR_AMT, + SUM(FUND_PRIN_PENAL_AMT) FUND_PRIN_PENAL_AMT, + SUM(FUND_INTR_PENAL_AMT) FUND_INTR_PENAL_AMT, + SUM(FUND_FEE_AMT) FUND_FEE_AMT, + SUM(FUND_FEE_PENAL_AMT) FUND_FEE_PENAL_AMT, + SUM(FUND_OTHER_FEE_AMT) FUND_OTHER_FEE_AMT, + SUM(MANAGER_ORG_FEE_AMT) MANAGER_ORG_FEE_AMT, + SUM(CLRG_AMT) CLRG_AMT + FROM ABS_LOAN_AST_PROFIT_LOG + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG,EVENT_CODE + + + + + select + sf.* + from + ABS_LOAN_AST_PROFIT_LOG sf + where + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + AST_NO = #{astNo,jdbcType=VARCHAR} + AND + TRANS_CODE in + + #{transCode,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_LOAN_AST_PROFIT_TRANS_INFO.xml b/dalgen/configTables/ABS_LOAN_AST_PROFIT_TRANS_INFO.xml new file mode 100644 index 0000000..22caa2e --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST_PROFIT_TRANS_INFO.xml @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FEE_AMT,TERM_NO,INTR_AMT,AF_FEE_BAL + ,AF_INTR_BAL,SRC_TERM_NO,FUND_FEE_AMT,FEE_PENAL_AMT,FUND_INTR_AMT + ,INTR_PENAL_AMT,PRIN_PENAL_AMT,AF_FEE_PENAL_BAL,AF_INTR_PENAL_BAL,AF_PRIN_PENAL_BAL + ,FUND_FEE_PENAL_AMT,FUND_INTR_PENAL_AMT,FUND_PRIN_PENAL_AMT,MANAGER_ORG_FEE_AMT,AST_NO + ,BIZ_NO,SEQ_NO,OWN_ORG,EXEC_TMS,EXT_INFO + ,OUT_BIZ_NO,EVENT_CODE,LOAN_AST_NO,TRANS_CODE,PROFIT_TYPE + ,AST_PROFIT_NO,SPLIT_ORG_CODE,GMT_CREATE,TRANS_TIME,ACCOUNT_DATE,CLRG_AMT,BIZ_TERM_NO + ,OUT_AST_NO + ,AF_OTHER_FEE_BAL,OTHER_FEE_AMT,FUND_OTHER_FEE_AMT,MEMO,PM_ORG_CODE, MANAGER_ORG_CODE + + + + + sf.FEE_AMT,sf.TERM_NO,sf.INTR_AMT,sf.AF_FEE_BAL + ,sf.AF_INTR_BAL,sf.SRC_TERM_NO,sf.FUND_FEE_AMT,sf.FEE_PENAL_AMT,sf.FUND_INTR_AMT + ,sf.INTR_PENAL_AMT,sf.PRIN_PENAL_AMT,sf.AF_FEE_PENAL_BAL,sf.AF_INTR_PENAL_BAL,sf.AF_PRIN_PENAL_BAL + ,sf.FUND_FEE_PENAL_AMT,sf.FUND_INTR_PENAL_AMT,sf.FUND_PRIN_PENAL_AMT,sf.MANAGER_ORG_FEE_AMT,sf.AST_NO + ,sf.BIZ_NO,sf.SEQ_NO,sf.OWN_ORG,sf.EXEC_TMS,sf.EXT_INFO + ,sf.OUT_BIZ_NO,sf.EVENT_CODE,sf.LOAN_AST_NO,sf.TRANS_CODE,sf.PROFIT_TYPE + ,sf.AST_PROFIT_NO,sf.SPLIT_ORG_CODE,sf.GMT_CREATE,sf.TRANS_TIME,sf.ACCOUNT_DATE,sf.CLRG_AMT,sf.BIZ_TERM_NO + ,sf.OUT_AST_NO + ,sf.AF_OTHER_FEE_BAL,sf.OTHER_FEE_AMT,sf.FUND_OTHER_FEE_AMT,sf.MEMO,sf.PM_ORG_CODE, sf.MANAGER_ORG_CODE + + + + + + + INSERT INTO ABS_LOAN_AST_PROFIT_TRANS_INFO( + FEE_AMT + ,TERM_NO + ,INTR_AMT + ,AF_FEE_BAL + ,AF_INTR_BAL + ,SRC_TERM_NO + ,FUND_FEE_AMT + ,FEE_PENAL_AMT + ,FUND_INTR_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL + ,AF_PRIN_PENAL_BAL + ,FUND_FEE_PENAL_AMT + ,FUND_INTR_PENAL_AMT + ,FUND_PRIN_PENAL_AMT + ,MANAGER_ORG_FEE_AMT + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,OWN_ORG + ,EXEC_TMS + ,EXT_INFO + ,OUT_BIZ_NO + ,EVENT_CODE + ,LOAN_AST_NO + ,TRANS_CODE + ,PROFIT_TYPE + ,AST_PROFIT_NO + ,SPLIT_ORG_CODE + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,CLRG_AMT + ,BIZ_TERM_NO + ,OUT_AST_NO + ,AF_OTHER_FEE_BAL + ,OTHER_FEE_AMT + ,FUND_OTHER_FEE_AMT + ,MEMO + ,PM_ORG_CODE + ,MANAGER_ORG_CODE + )VALUES + ( + #{item.feeAmt,jdbcType=DECIMAL} + , #{item.termNo,jdbcType=DECIMAL} + , #{item.intrAmt,jdbcType=DECIMAL} + , #{item.afFeeBal,jdbcType=DECIMAL} + , #{item.afIntrBal,jdbcType=DECIMAL} + , #{item.srcTermNo,jdbcType=DECIMAL} + , #{item.fundFeeAmt,jdbcType=DECIMAL} + , #{item.feePenalAmt,jdbcType=DECIMAL} + , #{item.fundIntrAmt,jdbcType=DECIMAL} + , #{item.intrPenalAmt,jdbcType=DECIMAL} + , #{item.prinPenalAmt,jdbcType=DECIMAL} + , #{item.afFeePenalBal,jdbcType=DECIMAL} + , #{item.afIntrPenalBal,jdbcType=DECIMAL} + , #{item.afPrinPenalBal,jdbcType=DECIMAL} + , #{item.fundFeePenalAmt,jdbcType=DECIMAL} + , #{item.fundIntrPenalAmt,jdbcType=DECIMAL} + , #{item.fundPrinPenalAmt,jdbcType=DECIMAL} + , #{item.managerOrgFeeAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.extInfo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.loanAstNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.profitType,jdbcType=VARCHAR} + , #{item.astProfitNo,jdbcType=VARCHAR} + , #{item.splitOrgCode,jdbcType=VARCHAR} + , sysdate + , #{item.transTime,jdbcType=DATE} + , #{item.accountDate,jdbcType=DATE} + , #{item.clrgAmt,jdbcType=DECIMAL} + , #{item.bizTermNo,jdbcType=DECIMAL} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.afOtherFeeBal,jdbcType=BIGINT} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.fundOtherFeeAmt,jdbcType=BIGINT} + , #{item.memo,jdbcType=VARCHAR} + , #{item.pmOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + ) + + + + select + sum(manager_org_fee_amt) manager_org_fee_amt + from + ABS_LOAN_AST_PROFIT_TRANS_INFO + where + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + and own_org = #{ownOrg,jdbcType=VARCHAR} + and TRANS_CODE = 'AST0003' + + + + + + + + + + + + + + + + + + + + + + + SELECT + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OTHER_FEE_AMT) OTHER_FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(FUND_INTR_AMT) FUND_INTR_AMT, + SUM(FUND_PRIN_PENAL_AMT) FUND_PRIN_PENAL_AMT, + SUM(FUND_INTR_PENAL_AMT) FUND_INTR_PENAL_AMT, + SUM(FUND_FEE_AMT) FUND_FEE_AMT, + SUM(FUND_FEE_PENAL_AMT) FUND_FEE_PENAL_AMT, + SUM(FUND_OTHER_FEE_AMT) FUND_OTHER_FEE_AMT, + SUM(MANAGER_ORG_FEE_AMT) MANAGER_ORG_FEE_AMT, + SUM(CLRG_AMT) CLRG_AMT + FROM + ABS_LOAN_AST_PROFIT_TRANS_INFO + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + and OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + and TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + + SELECT + OWN_ORG, + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OTHER_FEE_AMT) OTHER_FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(FUND_INTR_AMT) FUND_INTR_AMT, + SUM(FUND_PRIN_PENAL_AMT) FUND_PRIN_PENAL_AMT, + SUM(FUND_INTR_PENAL_AMT) FUND_INTR_PENAL_AMT, + SUM(FUND_FEE_AMT) FUND_FEE_AMT, + SUM(FUND_FEE_PENAL_AMT) FUND_FEE_PENAL_AMT, + SUM(FUND_OTHER_FEE_AMT) FUND_OTHER_FEE_AMT, + SUM(MANAGER_ORG_FEE_AMT) MANAGER_ORG_FEE_AMT, + SUM(CLRG_AMT) CLRG_AMT + FROM + ABS_LOAN_AST_PROFIT_TRANS_INFO + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + ACCOUNT_DATE in + + #{accountDate,jdbcType=DATE} + + and TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + OWN_ORG, + EVENT_CODE, + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OTHER_FEE_AMT) OTHER_FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(FUND_INTR_AMT) FUND_INTR_AMT, + SUM(FUND_PRIN_PENAL_AMT) FUND_PRIN_PENAL_AMT, + SUM(FUND_INTR_PENAL_AMT) FUND_INTR_PENAL_AMT, + SUM(FUND_FEE_AMT) FUND_FEE_AMT, + SUM(FUND_FEE_PENAL_AMT) FUND_FEE_PENAL_AMT, + SUM(FUND_OTHER_FEE_AMT) FUND_OTHER_FEE_AMT, + SUM(MANAGER_ORG_FEE_AMT) MANAGER_ORG_FEE_AMT, + SUM(CLRG_AMT) CLRG_AMT + FROM + ABS_LOAN_AST_PROFIT_TRANS_INFO + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + and TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG,EVENT_CODE + + + + + select + sf.* + from + ABS_LOAN_AST_PROFIT_TRANS_INFO sf + where + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + AST_NO = #{astNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + TRANS_CODE in + + #{transCode,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_LOAN_AST_REL.xml b/dalgen/configTables/ABS_LOAN_AST_REL.xml new file mode 100644 index 0000000..59235bf --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST_REL.xml @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cost,fee_bal,cur_term,intr_bal,ovd_days + ,prin_bal,term_cnt,ovd_times,rate_days,ovd_fee_bal + ,ast_ovd_days,ovd_intr_bal,ovd_prin_bal,paid_fee_amt,fee_penal_bal + ,other_fee_bal,paid_intr_amt,paid_prin_amt,intr_penal_bal,prin_penal_bal + ,paid_fee_penal_amt,paid_other_fee_amt,other_fee_penal_bal,paid_intr_penal_amt,paid_prin_penal_amt + ,paid_other_fee_penal_amt,ast_no,cert_no,ext_inf,own_org + ,prod_no,risk_cl,status,user_id,own_pack + ,out_ast_no,rate_type,ast_status,capital_no,layer_name + ,out_prod_no,own_status,pm_org_code,wtf_status,contract_no + ,except_flag,last_own_org,claim_status,extend_status,lender_org_code + ,manager_org_code,sponser_org_code,shrinkage_status,in_date,end_date + ,disb_date,clear_date,gmt_create,start_date,gmt_modified + ,last_update_date,rate,INTER_TRANS_IN_AMT,INTER_TRANS_OUT_AMT + + + + + sf.cost,sf.fee_bal,sf.cur_term,sf.intr_bal,sf.ovd_days + ,sf.prin_bal,sf.term_cnt,sf.ovd_times,sf.rate_days,sf.ovd_fee_bal + ,sf.ast_ovd_days,sf.ovd_intr_bal,sf.ovd_prin_bal,sf.paid_fee_amt,sf.fee_penal_bal + ,sf.other_fee_bal,sf.paid_intr_amt,sf.paid_prin_amt,sf.intr_penal_bal,sf.prin_penal_bal + ,sf.paid_fee_penal_amt,sf.paid_other_fee_amt,sf.other_fee_penal_bal,sf.paid_intr_penal_amt,sf.paid_prin_penal_amt + ,sf.paid_other_fee_penal_amt,sf.ast_no,sf.cert_no,sf.ext_inf,sf.own_org + ,sf.prod_no,sf.risk_cl,sf.status,sf.user_id,sf.own_pack + ,sf.out_ast_no,sf.rate_type,sf.ast_status,sf.capital_no,sf.layer_name + ,sf.out_prod_no,sf.own_status,sf.pm_org_code,sf.wtf_status,sf.contract_no + ,sf.except_flag,sf.last_own_org,sf.claim_status,sf.extend_status,sf.lender_org_code + ,sf.manager_org_code,sf.sponser_org_code,sf.shrinkage_status,sf.in_date,sf.end_date + ,sf.disb_date,sf.clear_date,sf.gmt_create,sf.start_date,sf.gmt_modified + ,sf.last_update_date,sf.rate,sf.INTER_TRANS_IN_AMT,sf.INTER_TRANS_OUT_AMT + + + + MERGE INTO abs_loan_ast_rel t1 + USING (SELECT #{item.astNo,jdbcType=VARCHAR}, #{item.ownOrg,jdbcType=VARCHAR} + FROM DUAL) + ON (t1.AST_NO = #{item.astNo,jdbcType=VARCHAR} AND t1.OWN_ORG = #{item.ownOrg,jdbcType=VARCHAR}) + WHEN MATCHED THEN UPDATE SET + FEE_BAL = #{item.feeBal,jdbcType=DECIMAL} + ,CUR_TERM = #{item.curTerm,jdbcType=DECIMAL} + ,INTR_BAL = #{item.intrBal,jdbcType=DECIMAL} + ,OVD_DAYS = #{item.ovdDays,jdbcType=DECIMAL} + ,COST = #{item.cost,jdbcType=DECIMAL} + ,PRIN_BAL = #{item.prinBal,jdbcType=DECIMAL} + ,TERM_CNT = #{item.termCnt,jdbcType=DECIMAL} + ,OVD_FEE_BAL = #{item.ovdFeeBal,jdbcType=DECIMAL} + ,OVD_INTR_BAL = #{item.ovdIntrBal,jdbcType=DECIMAL} + ,OVD_PRIN_BAL = #{item.ovdPrinBal,jdbcType=DECIMAL} + ,PAID_FEE_AMT = #{item.paidFeeAmt,jdbcType=DECIMAL} + ,FEE_PENAL_BAL = #{item.feePenalBal,jdbcType=DECIMAL} + ,OTHER_FEE_BAL = #{item.otherFeeBal,jdbcType=DECIMAL} + ,PAID_INTR_AMT = #{item.paidIntrAmt,jdbcType=DECIMAL} + ,PAID_PRIN_AMT = #{item.paidPrinAmt,jdbcType=DECIMAL} + ,INTR_PENAL_BAL = #{item.intrPenalBal,jdbcType=DECIMAL} + ,PRIN_PENAL_BAL = #{item.prinPenalBal,jdbcType=DECIMAL} + ,PAID_FEE_PENAL_AMT = #{item.paidFeePenalAmt,jdbcType=DECIMAL} + ,PAID_OTHER_FEE_AMT = #{item.paidOtherFeeAmt,jdbcType=DECIMAL} + ,OTHER_FEE_PENAL_BAL = #{item.otherFeePenalBal,jdbcType=DECIMAL} + ,PAID_INTR_PENAL_AMT = #{item.paidIntrPenalAmt,jdbcType=DECIMAL} + ,PAID_PRIN_PENAL_AMT = #{item.paidPrinPenalAmt,jdbcType=DECIMAL} + ,PAID_OTHER_FEE_PENAL_AMT = #{item.paidOtherFeePenalAmt,jdbcType=DECIMAL} + ,RISK_CL = #{item.riskCl,jdbcType=VARCHAR} + ,STATUS = #{item.status,jdbcType=VARCHAR} + ,AST_STATUS = #{item.astStatus,jdbcType=VARCHAR} + ,OWN_STATUS = #{item.ownStatus,jdbcType=VARCHAR} + ,LAST_OWN_ORG = #{item.lastOwnOrg,jdbcType=VARCHAR} + ,WTF_STATUS = #{item.wtfStatus,jdbcType=VARCHAR} + ,IN_DATE = #{item.inDate,jdbcType=DATE} + ,DISB_DATE = #{item.disbDate,jdbcType=DATE} + ,END_DATE = #{item.endDate,jdbcType=DATE} + ,CLEAR_DATE = #{item.clearDate,jdbcType=DATE} + ,START_DATE = #{item.startDate,jdbcType=DATE} + ,LAST_UPDATE_DATE = #{item.lastUpdateDate,jdbcType=DATE} + ,AST_OVD_DAYS = #{item.astOvdDays,jdbcType=DECIMAL} + ,CAPITAL_NO = #{item.capitalNo,jdbcType=VARCHAR} + ,LAYER_NAME = #{item.layerName,jdbcType=VARCHAR} + ,EXT_INF = #{item.extInf,jdbcType=VARCHAR} + ,EXTEND_STATUS = #{item.extendStatus,jdbcType=VARCHAR} + ,CLAIM_STATUS = #{item.claimStatus,jdbcType=VARCHAR} + ,SHRINKAGE_STATUS = #{item.shrinkageStatus,jdbcType=VARCHAR} + ,OVD_TIMES = #{item.ovdTimes,jdbcType=DECIMAL} + ,EXCEPT_FLAG = 'N' + ,INTER_TRANS_IN_AMT = #{item.interTransInAmt,jdbcType=DECIMAL} + ,INTER_TRANS_OUT_AMT = #{item.interTransOutAmt,jdbcType=DECIMAL} + WHEN NOT MATCHED THEN INSERT ( + COST + ,FEE_BAL + ,CUR_TERM + ,INTR_BAL + ,OVD_DAYS + ,PRIN_BAL + ,TERM_CNT + ,RATE_DAYS + ,OVD_FEE_BAL + ,AST_OVD_DAYS + ,OVD_INTR_BAL + ,OVD_PRIN_BAL + ,PAID_FEE_AMT + ,FEE_PENAL_BAL + ,OTHER_FEE_BAL + ,PAID_INTR_AMT + ,PAID_PRIN_AMT + ,INTR_PENAL_BAL + ,PRIN_PENAL_BAL + ,PAID_FEE_PENAL_AMT + ,PAID_OTHER_FEE_AMT + ,OTHER_FEE_PENAL_BAL + ,PAID_INTR_PENAL_AMT + ,PAID_PRIN_PENAL_AMT + ,PAID_OTHER_FEE_PENAL_AMT + ,AST_NO + ,CERT_NO + ,OWN_ORG + ,PROD_NO + ,RISK_CL + ,STATUS + ,AST_STATUS + ,USER_ID + ,OWN_PACK + ,OUT_AST_NO + ,OUT_PROD_NO + ,OWN_STATUS + ,WTF_STATUS + ,CONTRACT_NO + ,LAST_OWN_ORG + ,LENDER_ORG_CODE + ,MANAGER_ORG_CODE + ,SPONSER_ORG_CODE + ,IN_DATE + ,EXCEPT_FLAG + ,END_DATE + ,DISB_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,START_DATE + ,GMT_MODIFIED + ,LAST_UPDATE_DATE + ,RATE + ,RATE_TYPE + ,CAPITAL_NO + ,LAYER_NAME + ,EXT_INF + ,EXTEND_STATUS + ,CLAIM_STATUS + ,SHRINKAGE_STATUS + ,PM_ORG_CODE + ,OVD_TIMES + ,INTER_TRANS_IN_AMT + ,INTER_TRANS_OUT_AMT + )VALUES + ( + #{item.cost,jdbcType=DECIMAL} + , #{item.feeBal,jdbcType=DECIMAL} + , #{item.curTerm,jdbcType=DECIMAL} + , #{item.intrBal,jdbcType=DECIMAL} + , #{item.ovdDays,jdbcType=DECIMAL} + , #{item.prinBal,jdbcType=DECIMAL} + , #{item.termCnt,jdbcType=DECIMAL} + , #{item.rateDays,jdbcType=DECIMAL} + , #{item.ovdFeeBal,jdbcType=DECIMAL} + , #{item.astOvdDays,jdbcType=DECIMAL} + , #{item.ovdIntrBal,jdbcType=DECIMAL} + , #{item.ovdPrinBal,jdbcType=DECIMAL} + , #{item.paidFeeAmt,jdbcType=DECIMAL} + , #{item.feePenalBal,jdbcType=DECIMAL} + , #{item.otherFeeBal,jdbcType=DECIMAL} + , #{item.paidIntrAmt,jdbcType=DECIMAL} + , #{item.paidPrinAmt,jdbcType=DECIMAL} + , #{item.intrPenalBal,jdbcType=DECIMAL} + , #{item.prinPenalBal,jdbcType=DECIMAL} + , #{item.paidFeePenalAmt,jdbcType=DECIMAL} + , #{item.paidOtherFeeAmt,jdbcType=DECIMAL} + , #{item.otherFeePenalBal,jdbcType=DECIMAL} + , #{item.paidIntrPenalAmt,jdbcType=DECIMAL} + , #{item.paidPrinPenalAmt,jdbcType=DECIMAL} + , #{item.paidOtherFeePenalAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.certNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.astStatus,jdbcType=VARCHAR} + , #{item.userId,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.ownStatus,jdbcType=VARCHAR} + , #{item.wtfStatus,jdbcType=VARCHAR} + , #{item.contractNo,jdbcType=VARCHAR} + , #{item.lastOwnOrg,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.sponserOrgCode,jdbcType=VARCHAR} + , #{item.inDate,jdbcType=DATE} + , 'N' + , #{item.endDate,jdbcType=DATE} + , #{item.disbDate,jdbcType=DATE} + , #{item.clearDate,jdbcType=DATE} + , sysdate + , #{item.startDate,jdbcType=DATE} + , sysdate + , #{item.lastUpdateDate,jdbcType=DATE} + , #{item.rate,jdbcType=DECIMAL} + , #{item.rateType,jdbcType=VARCHAR} + , #{item.capitalNo,jdbcType=VARCHAR} + , #{item.layerName,jdbcType=VARCHAR} + , #{item.extInf,jdbcType=VARCHAR} + , #{item.extendStatus,jdbcType=VARCHAR} + , #{item.claimStatus,jdbcType=VARCHAR} + , #{item.shrinkageStatus,jdbcType=VARCHAR} + , #{item.pmOrgCode,jdbcType=VARCHAR} + , #{item.ovdTimes,jdbcType=DECIMAL} + , #{item.interTransInAmt,jdbcType=DECIMAL} + , #{item.interTransOutAmt,jdbcType=DECIMAL} + ) + + + + + + + + + + + + + + + + + + + + + + + SELECT + OWN_ORG as PROP_VAL, + SUM(PRIN_BAL + OVD_PRIN_BAL) as AMT, + COUNT(\\*) as CNT + FROM + abs_loan_ast_rel t1 + WHERE + OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + AND + AST_STATUS IN ('nor', 'ovd') + AND + OWN_STATUS = 'init' + GROUP BY OWN_ORG + +
diff --git a/dalgen/configTables/ABS_LOAN_AST_TRANS_INFO.xml b/dalgen/configTables/ABS_LOAN_AST_TRANS_INFO.xml new file mode 100644 index 0000000..7e6c0de --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_AST_TRANS_INFO.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + TERM_NO,PRIN_AMT,AF_PRIN_BAL,AST_NO + ,BIZ_NO,SEQ_NO,EXT_INF,OWN_ORG,PROD_NO + ,USER_ID,EXEC_TMS,IN_AST_NO,OWN_PACK,OUT_AST_NO + ,OUT_BIZ_NO,EVENT_CODE,LOAN_AST_NO,OUT_PROD_NO,TRANS_CODE + ,AF_AST_STATUS,BF_AST_STATUS,LENDER_ORG_CODE,GMT_CREATE,TRANS_TIME + ,ACCOUNT_DATE,CLRG_AMT,PM_ORG_CODE,MANAGER_ORG_CODE + + + + + sf.TERM_NO,sf.PRIN_AMT,sf.AF_PRIN_BAL,sf.AST_NO + ,sf.BIZ_NO,sf.SEQ_NO,sf.EXT_INF,sf.OWN_ORG,sf.PROD_NO + ,sf.USER_ID,sf.EXEC_TMS,sf.IN_AST_NO,sf.OWN_PACK,sf.OUT_AST_NO + ,sf.OUT_BIZ_NO,sf.EVENT_CODE,sf.LOAN_AST_NO,sf.OUT_PROD_NO,sf.TRANS_CODE + ,sf.AF_AST_STATUS,sf.BF_AST_STATUS,sf.LENDER_ORG_CODE,sf.GMT_CREATE,sf.TRANS_TIME + ,sf.ACCOUNT_DATE,sf.CLRG_AMT,sf.PM_ORG_CODE,sf.MANAGER_ORG_CODE + + + + + + + INSERT INTO abs_loan_ast_trans_info( + TERM_NO + ,PRIN_AMT + ,AF_PRIN_BAL + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,EXT_INF + ,OWN_ORG + ,PROD_NO + ,USER_ID + ,EXEC_TMS + ,IN_AST_NO + ,OWN_PACK + ,OUT_AST_NO + ,OUT_BIZ_NO + ,EVENT_CODE + ,LOAN_AST_NO + ,OUT_PROD_NO + ,TRANS_CODE + ,AF_AST_STATUS + ,BF_AST_STATUS + ,LENDER_ORG_CODE + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,CLRG_AMT + ,PM_ORG_CODE + ,MANAGER_ORG_CODE + )VALUES + ( + #{item.termNo,jdbcType=DECIMAL} + , #{item.prinAmt,jdbcType=DECIMAL} + , #{item.afPrinBal,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.extInf,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.userId,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.inAstNo,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.loanAstNo,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.afAstStatus,jdbcType=VARCHAR} + , #{item.bfAstStatus,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , sysdate + , #{item.transTime,jdbcType=DATE} + , #{item.accountDate,jdbcType=DATE} + , #{item.clrgAmt,jdbcType=DECIMAL} + , #{item.pmOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + + SELECT + OWN_ORG, + SUM(CLRG_AMT) CLRG_AMT, + SUM(PRIN_AMT) PRIN_AMT + FROM + abs_loan_ast_trans_info + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG + + + + + + + + + + + SELECT + OWN_ORG, + EVENT_CODE, + SUM(CLRG_AMT) CLRG_AMT, + SUM(PRIN_AMT) PRIN_AMT + FROM + abs_loan_ast_trans_info + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + GROUP BY OWN_ORG,EVENT_CODE + + + + SELECT + sf.* + FROM + abs_loan_ast_trans_info sf + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + AST_NO = #{astNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND + TRANS_CODE in + + #{transCode,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_LOAN_BAK.xml b/dalgen/configTables/ABS_LOAN_BAK.xml new file mode 100644 index 0000000..72d9fcd --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_BAK.xml @@ -0,0 +1,1104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + COST,FEE_BAL,CUR_TERM,INTR_BAL,OVD_DAYS + ,PRIN_BAL,TERM_CNT,RATE_DAYS,OVD_FEE_BAL,AST_OVD_DAYS + ,OVD_INTR_BAL,OVD_PRIN_BAL,PAID_FEE_AMT,FEE_PENAL_BAL,OTHER_FEE_BAL + ,PAID_INTR_AMT,PAID_PRIN_AMT,INTR_PENAL_BAL,PRIN_PENAL_BAL,PAID_FEE_PENAL_AMT + ,PAID_OTHER_FEE_AMT,OTHER_FEE_PENAL_BAL,PAID_INTR_PENAL_AMT,PAID_PRIN_PENAL_AMT,PAID_OTHER_FEE_PENAL_AMT + ,AST_NO,CERT_NO,OWN_ORG,PROD_NO,RISK_CL + ,STATUS,AST_STATUS,USER_ID,OWN_PACK,OUT_AST_NO,OUT_PROD_NO + ,OWN_STATUS,WTF_STATUS,CONTRACT_NO,LAST_OWN_ORG,LENDER_ORG_CODE + ,MANAGER_ORG_CODE,SPONSER_ORG_CODE,IN_DATE,BAK_DATE,END_DATE + ,DISB_DATE,CLEAR_DATE,GMT_CREATE,START_DATE,GMT_MODIFIED + ,LAST_UPDATE_DATE,RATE,RATE_TYPE,CAPITAL_NO,LAYER_NAME,EXT_INF,EXTEND_STATUS + ,CLAIM_STATUS,SHRINKAGE_STATUS,PM_ORG_CODE,OVD_TIMES + ,EXCEPT_FLAG,INTER_TRANS_IN_AMT,INTER_TRANS_OUT_AMT + ,INTER_TRANS_IN_INTR_AMT,INTER_TRANS_OUT_INTR_AMT + + + + + sf.COST,sf.FEE_BAL,sf.CUR_TERM,sf.INTR_BAL,sf.OVD_DAYS + ,sf.PRIN_BAL,sf.TERM_CNT,sf.RATE_DAYS,sf.OVD_FEE_BAL,sf.AST_OVD_DAYS + ,sf.OVD_INTR_BAL,sf.OVD_PRIN_BAL,sf.PAID_FEE_AMT,sf.FEE_PENAL_BAL,sf.OTHER_FEE_BAL + ,sf.PAID_INTR_AMT,sf.PAID_PRIN_AMT,sf.INTR_PENAL_BAL,sf.PRIN_PENAL_BAL,sf.PAID_FEE_PENAL_AMT + ,sf.PAID_OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_BAL,sf.PAID_INTR_PENAL_AMT,sf.PAID_PRIN_PENAL_AMT,sf.PAID_OTHER_FEE_PENAL_AMT + ,sf.AST_NO,sf.CERT_NO,sf.OWN_ORG,sf.PROD_NO,sf.RISK_CL + ,sf.STATUS,sf.AST_STATUS,sf.USER_ID,sf.OWN_PACK,sf.OUT_AST_NO,sf.OUT_PROD_NO + ,sf.OWN_STATUS,sf.WTF_STATUS,sf.CONTRACT_NO,sf.LAST_OWN_ORG,sf.LENDER_ORG_CODE + ,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.IN_DATE,sf.BAK_DATE,sf.END_DATE + ,sf.DISB_DATE,sf.CLEAR_DATE,sf.GMT_CREATE,sf.START_DATE,sf.GMT_MODIFIED + ,sf.LAST_UPDATE_DATE,sf.RATE,sf.RATE_TYPE,sf.CAPITAL_NO,sf.LAYER_NAME,sf.EXT_INF,sf.EXTEND_STATUS + ,sf.CLAIM_STATUS,sf.SHRINKAGE_STATUS,sf.PM_ORG_CODE,sf.OVD_TIMES + ,sf.EXCEPT_FLAG,sf.INTER_TRANS_IN_AMT,sf.INTER_TRANS_OUT_AMT + ,sf.INTER_TRANS_IN_INTR_AMT,sf.INTER_TRANS_OUT_INTR_AMT + + + + + + + MERGE /*+INDEX(t1 UK_ABS_LOAN_BAK_1)*/ INTO abs_loan_bak t1 + USING (SELECT #{item.astNo,jdbcType=VARCHAR}, #{item.ownOrg,jdbcType=VARCHAR}, #{item.bakDate,jdbcType=DATE}, #{item.managerOrgCode,jdbcType=VARCHAR} FROM DUAL) + ON (t1.AST_NO = #{item.astNo,jdbcType=VARCHAR} AND t1.OWN_ORG = #{item.ownOrg,jdbcType=VARCHAR} + AND t1.BAK_DATE = #{item.bakDate,jdbcType=DATE} AND t1.MANAGER_ORG_CODE = #{item.managerOrgCode,jdbcType=VARCHAR}) + WHEN MATCHED THEN UPDATE SET + FEE_BAL = #{item.feeBal,jdbcType=DECIMAL} + ,CUR_TERM = #{item.curTerm,jdbcType=DECIMAL} + ,INTR_BAL = #{item.intrBal,jdbcType=DECIMAL} + ,OVD_DAYS = #{item.ovdDays,jdbcType=DECIMAL} + ,COST = #{item.cost,jdbcType=DECIMAL} + ,PRIN_BAL = #{item.prinBal,jdbcType=DECIMAL} + ,TERM_CNT = #{item.termCnt,jdbcType=DECIMAL} + ,OVD_FEE_BAL = #{item.ovdFeeBal,jdbcType=DECIMAL} + ,OVD_INTR_BAL = #{item.ovdIntrBal,jdbcType=DECIMAL} + ,OVD_PRIN_BAL = #{item.ovdPrinBal,jdbcType=DECIMAL} + ,PAID_FEE_AMT = #{item.paidFeeAmt,jdbcType=DECIMAL} + ,FEE_PENAL_BAL = #{item.feePenalBal,jdbcType=DECIMAL} + ,OTHER_FEE_BAL = #{item.otherFeeBal,jdbcType=DECIMAL} + ,PAID_INTR_AMT = #{item.paidIntrAmt,jdbcType=DECIMAL} + ,PAID_PRIN_AMT = #{item.paidPrinAmt,jdbcType=DECIMAL} + ,INTR_PENAL_BAL = #{item.intrPenalBal,jdbcType=DECIMAL} + ,PRIN_PENAL_BAL = #{item.prinPenalBal,jdbcType=DECIMAL} + ,PAID_FEE_PENAL_AMT = #{item.paidFeePenalAmt,jdbcType=DECIMAL} + ,PAID_OTHER_FEE_AMT = #{item.paidOtherFeeAmt,jdbcType=DECIMAL} + ,OTHER_FEE_PENAL_BAL = #{item.otherFeePenalBal,jdbcType=DECIMAL} + ,PAID_INTR_PENAL_AMT = #{item.paidIntrPenalAmt,jdbcType=DECIMAL} + ,PAID_PRIN_PENAL_AMT = #{item.paidPrinPenalAmt,jdbcType=DECIMAL} + ,PAID_OTHER_FEE_PENAL_AMT = #{item.paidOtherFeePenalAmt,jdbcType=DECIMAL} + ,RISK_CL = #{item.riskCl,jdbcType=VARCHAR} + ,STATUS = #{item.status,jdbcType=VARCHAR} + ,AST_STATUS = #{item.astStatus,jdbcType=VARCHAR} + ,OWN_STATUS = #{item.ownStatus,jdbcType=VARCHAR} + ,LAST_OWN_ORG = #{item.lastOwnOrg,jdbcType=VARCHAR} + ,WTF_STATUS = #{item.wtfStatus,jdbcType=VARCHAR} + ,IN_DATE = #{item.inDate,jdbcType=DATE} + ,DISB_DATE = #{item.disbDate,jdbcType=DATE} + ,END_DATE = #{item.endDate,jdbcType=DATE} + ,CLEAR_DATE = #{item.clearDate,jdbcType=DATE} + ,START_DATE = #{item.startDate,jdbcType=DATE} + ,LAST_UPDATE_DATE = #{item.lastUpdateDate,jdbcType=DATE} + ,AST_OVD_DAYS = #{item.astOvdDays,jdbcType=DECIMAL} + ,CAPITAL_NO = #{item.capitalNo,jdbcType=VARCHAR} + ,LAYER_NAME = #{item.layerName,jdbcType=VARCHAR} + ,EXT_INF = #{item.extInf,jdbcType=VARCHAR} + ,EXTEND_STATUS = #{item.extendStatus,jdbcType=VARCHAR} + ,CLAIM_STATUS = #{item.claimStatus,jdbcType=VARCHAR} + ,SHRINKAGE_STATUS = #{item.shrinkageStatus,jdbcType=VARCHAR} + ,OVD_TIMES = #{item.ovdTimes,jdbcType=DECIMAL} + ,EXCEPT_FLAG = 'N' + ,INTER_TRANS_IN_AMT =#{item.interTransInAmt,jdbcType=DECIMAL} + ,INTER_TRANS_OUT_AMT =#{item.interTransOutAmt,jdbcType=DECIMAL} + ,INTER_TRANS_IN_INTR_AMT = #{item.interTransInIntrAmt,jdbcType=DECIMAL} + ,INTER_TRANS_OUT_INTR_AMT = #{item.interTransOutIntrAmt,jdbcType=DECIMAL} + WHEN NOT MATCHED THEN INSERT ( + COST + ,FEE_BAL + ,CUR_TERM + ,INTR_BAL + ,OVD_DAYS + ,PRIN_BAL + ,TERM_CNT + ,RATE_DAYS + ,OVD_FEE_BAL + ,AST_OVD_DAYS + ,OVD_INTR_BAL + ,OVD_PRIN_BAL + ,PAID_FEE_AMT + ,FEE_PENAL_BAL + ,OTHER_FEE_BAL + ,PAID_INTR_AMT + ,PAID_PRIN_AMT + ,INTR_PENAL_BAL + ,PRIN_PENAL_BAL + ,PAID_FEE_PENAL_AMT + ,PAID_OTHER_FEE_AMT + ,OTHER_FEE_PENAL_BAL + ,PAID_INTR_PENAL_AMT + ,PAID_PRIN_PENAL_AMT + ,PAID_OTHER_FEE_PENAL_AMT + ,AST_NO + ,CERT_NO + ,OWN_ORG + ,PROD_NO + ,RISK_CL + ,STATUS + ,AST_STATUS + ,USER_ID + ,OWN_PACK + ,OUT_AST_NO + ,OUT_PROD_NO + ,OWN_STATUS + ,WTF_STATUS + ,CONTRACT_NO + ,LAST_OWN_ORG + ,LENDER_ORG_CODE + ,MANAGER_ORG_CODE + ,SPONSER_ORG_CODE + ,IN_DATE + ,BAK_DATE + ,END_DATE + ,DISB_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,START_DATE + ,GMT_MODIFIED + ,LAST_UPDATE_DATE + ,RATE + ,RATE_TYPE + ,CAPITAL_NO + ,LAYER_NAME + ,EXT_INF + ,EXTEND_STATUS + ,CLAIM_STATUS + ,SHRINKAGE_STATUS + ,PM_ORG_CODE + ,OVD_TIMES + ,EXCEPT_FLAG + ,INTER_TRANS_IN_AMT + ,INTER_TRANS_OUT_AMT + ,SPLIT_PK + ,INTER_TRANS_IN_INTR_AMT + ,INTER_TRANS_OUT_INTR_AMT + )VALUES + ( + #{item.cost,jdbcType=DECIMAL} + , #{item.feeBal,jdbcType=DECIMAL} + , #{item.curTerm,jdbcType=DECIMAL} + , #{item.intrBal,jdbcType=DECIMAL} + , #{item.ovdDays,jdbcType=DECIMAL} + , #{item.prinBal,jdbcType=DECIMAL} + , #{item.termCnt,jdbcType=DECIMAL} + , #{item.rateDays,jdbcType=DECIMAL} + , #{item.ovdFeeBal,jdbcType=DECIMAL} + , #{item.astOvdDays,jdbcType=DECIMAL} + , #{item.ovdIntrBal,jdbcType=DECIMAL} + , #{item.ovdPrinBal,jdbcType=DECIMAL} + , #{item.paidFeeAmt,jdbcType=DECIMAL} + , #{item.feePenalBal,jdbcType=DECIMAL} + , #{item.otherFeeBal,jdbcType=DECIMAL} + , #{item.paidIntrAmt,jdbcType=DECIMAL} + , #{item.paidPrinAmt,jdbcType=DECIMAL} + , #{item.intrPenalBal,jdbcType=DECIMAL} + , #{item.prinPenalBal,jdbcType=DECIMAL} + , #{item.paidFeePenalAmt,jdbcType=DECIMAL} + , #{item.paidOtherFeeAmt,jdbcType=DECIMAL} + , #{item.otherFeePenalBal,jdbcType=DECIMAL} + , #{item.paidIntrPenalAmt,jdbcType=DECIMAL} + , #{item.paidPrinPenalAmt,jdbcType=DECIMAL} + , #{item.paidOtherFeePenalAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.certNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.astStatus,jdbcType=VARCHAR} + , #{item.userId,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.ownStatus,jdbcType=VARCHAR} + , #{item.wtfStatus,jdbcType=VARCHAR} + , #{item.contractNo,jdbcType=VARCHAR} + , #{item.lastOwnOrg,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.sponserOrgCode,jdbcType=VARCHAR} + , #{item.inDate,jdbcType=DATE} + , #{item.bakDate,jdbcType=DATE} + , #{item.endDate,jdbcType=DATE} + , #{item.disbDate,jdbcType=DATE} + , #{item.clearDate,jdbcType=DATE} + , sysdate + , #{item.startDate,jdbcType=DATE} + , sysdate + , #{item.lastUpdateDate,jdbcType=DATE} + , #{item.rate,jdbcType=DECIMAL} + , #{item.rateType,jdbcType=VARCHAR} + , #{item.capitalNo,jdbcType=VARCHAR} + , #{item.layerName,jdbcType=VARCHAR} + , #{item.extInf,jdbcType=VARCHAR} + , #{item.extendStatus,jdbcType=VARCHAR} + , #{item.claimStatus,jdbcType=VARCHAR} + , #{item.shrinkageStatus,jdbcType=VARCHAR} + , #{item.pmOrgCode,jdbcType=VARCHAR} + , #{item.ovdTimes,jdbcType=DECIMAL} + ,'N' + , #{item.interTransInAmt,jdbcType=DECIMAL} + , #{item.interTransOutAmt,jdbcType=DECIMAL} + , #{item.ownOrg,jdbcType=VARCHAR}||#{item.astNo,jdbcType=VARCHAR} + , #{item.interTransInIntrAmt,jdbcType=DECIMAL} + , #{item.interTransOutIntrAmt,jdbcType=DECIMAL} + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + min(tt1.BAL) as MIN_BAL, + max(tt1.BAL) as MAX_BAL, + CAST(avg(tt1.BAL) AS DECIMAL(19,0)) as AVG_BAL, + min(tt1.CONT_AMT) as MIN_CONT_AMT, + max(tt1.CONT_AMT) as MAX_CONT_AMT, + CAST(avg(tt1.CONT_AMT) AS DECIMAL(19,0)) as AVG_CONT_AMT, + min(tt1.RATE) as MIN_RATE, + max(tt1.RATE) as MAX_RATE, + avg(tt1.RATE) as AVG_RATE, + DECODE(sum(tt1.BAL), 0, 0, sum(tt1.RATE * tt1.BAL) / sum(tt1.BAL)) as WAVG_RATE, + min(tt1.CONT_PERIOD) as MIN_CONT_PERIOD, + max(tt1.CONT_PERIOD) as MAX_CONT_PERIOD, + avg(tt1.CONT_PERIOD) as AVG_CONT_PERIOD, + DECODE(sum(tt1.BAL), 0, 0, sum(tt1.CONT_PERIOD * tt1.BAL) / sum(tt1.BAL)) as WAVG_CONT_PERIOD, + min(tt1.REM_PERIOD) as MIN_REM_PERIOD, + max(tt1.REM_PERIOD) as MAX_REM_PERIOD, + DECODE(sum(tt1.REM_SIGN), 0, 0, sum(tt1.REM_PERIOD) / sum(tt1.REM_SIGN)) as AVG_REM_PERIOD, + DECODE(sum(tt1.BAL * tt1.REM_SIGN), 0, 0, sum(tt1.REM_PERIOD * tt1.BAL) / sum(tt1.BAL * tt1.REM_SIGN)) as + WAVG_REM_PERIOD, + min(tt1.ACCT_PERIOD) as MIN_ACCT_PERIOD, + max(tt1.ACCT_PERIOD) as MAX_ACCT_PERIOD, + avg(tt1.ACCT_PERIOD) as AVG_ACCT_PERIOD, + DECODE(sum(tt1.BAL), 0, 0, sum(tt1.ACCT_PERIOD * tt1.BAL) / sum(tt1.BAL)) as WAVG_ACCT_PERIOD + + + SELECT + + FROM ( + SELECT + t1.PRIN_BAL as BAL, + t2.DISB_AMOUNT as CONT_AMT, + t2.RATE as RATE, + to_number(t2.END_DATE - t2.START_DATE) as CONT_PERIOD, + DECODE(SIGN(to_number(t1.END_DATE - #{accountDate,jdbcType=DATE})), 1, to_number(t1.END_DATE - + #{accountDate,jdbcType=DATE}), 0) as REM_PERIOD, + DECODE(SIGN(to_number(t1.END_DATE - #{accountDate,jdbcType=DATE})), 1, 1, 0) as REM_SIGN, + to_number(#{accountDate,jdbcType=DATE} - t1.DISB_DATE) as ACCT_PERIOD + FROM + ( + SELECT AST_NO, PRIN_BAL+OVD_PRIN_BAL as PRIN_BAL, END_DATE, DISB_DATE FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=DATE} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor', 'ovd', 'wtf') + ) t1 + LEFT JOIN ABS_LOAN_CONTRACT t2 + ON t1.ast_no = t2.ast_no + ) tt1 + + + + + + + + + + SELECT + OWN_ORG as PROP_VAL, + SUM(PRIN_BAL + OVD_PRIN_BAL) as AMT, + COUNT(\\*) as CNT + FROM ABS_LOAN_BAK t1 + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor', 'ovd') + AND + OWN_STATUS = 'init' + GROUP BY OWN_ORG + + + + SELECT + OWN_ORG as PROP_VAL, + SUM(PRIN_BAL + OVD_PRIN_BAL) as AMT, + COUNT(\\*) as CNT + FROM + ABS_LOAN_BAK t1 + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + AND + AST_STATUS IN ('nor', 'ovd') + AND + OWN_STATUS = 'init' + GROUP BY OWN_ORG + + + + SELECT + tt1.LOC as PROP_VAL, + sum(tt1.PRIN_BAL) as AMT, + count(1) as CNT + FROM + ( + SELECT + substr(CERT_NO, 1, 2) as LOC, PRIN_BAL+OVD_PRIN_BAL as PRIN_BAL + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor', 'ovd', 'wtf') + ) tt1 + GROUP BY tt1.LOC + ORDER BY AMT DESC + + + + SELECT + tt1.AGE as PROP_VAL, + sum(tt1.PRIN_BAL) as AMT, + count(1) as CNT + FROM + ( + SELECT + to_number(to_char(#{accountDate,jdbcType=TIMESTAMP}, 'yyyy')) - + to_number(nvl(substr(regexp_substr(CERT_NO,'\d{6}(\d{8})',1, 1, 'i'), 7, 4) , + to_char(#{accountDate,jdbcType=TIMESTAMP}, 'yyyy'))) as AGE, + PRIN_BAL+OVD_PRIN_BAL as PRIN_BAL + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND AST_STATUS IN ('nor', 'ovd', 'wtf') + ) tt1 + GROUP BY tt1.AGE + ORDER BY AMT DESC + + + + + SELECT PROP_VAL, sum(AMT) AMT, sum(CNT) CNT from ( + SELECT + DECODE(tt1.GENDER, 0, 'female', 'male') as PROP_VAL, + sum(tt1.PRIN_BAL) as AMT, + count(1) as CNT + FROM + ( + SELECT + mod(case when regexp_like(substr(CERT_NO, -2, 1),'[^0-9]') then 0 + else to_number(substr(CERT_NO, -2, 1)) end , 2) as GENDER, + PRIN_BAL+OVD_PRIN_BAL as PRIN_BAL + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor', 'ovd', 'wtf') + ) tt1 + GROUP BY tt1.GENDER + ) stat + GROUP BY PROP_VAL + ORDER BY AMT DESC + + + + + + + SELECT + * + FROM + ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + AND + OWN_ORG IN + + #{ownOrg,jdbcType=VARCHAR} + + + + AND + LENDER_ORG_CODE IN + + #{lenderOrgCode,jdbcType=VARCHAR} + + + + AND + OWN_ORG NOT IN + + #{amcNo,jdbcType=VARCHAR} + + + + AND FEE_BAL + INTR_BAL + PRIN_BAL + FEE_PENAL_BAL + OTHER_FEE_BAL + INTR_PENAL_BAL + + PRIN_PENAL_BAL + OTHER_FEE_PENAL_BAL + OVD_PRIN_BAL + OVD_INTR_BAL + OVD_FEE_BAL > 0 + + + AND OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + + + AND AST_NO = #{astNo,jdbcType=VARCHAR} + + + AND OVD_DAYS > #{ovdDays,jdbcType=INTEGER} + + + AND + AST_STATUS in + + #{item,jdbcType=VARCHAR} + + + + AND END_DATE <= #{latestEndDate,jdbcType=DATE} + + + AND END_DATE >= #{earliestEndDate,jdbcType=DATE} + + + AND AST_STATUS = #{astStatus,jdbcType=VARCHAR} + + + + + + + + + + + SELECT + SUM(FEE_BAL + INTR_BAL + PRIN_BAL + FEE_PENAL_BAL + OTHER_FEE_BAL + INTR_PENAL_BAL + + PRIN_PENAL_BAL + OTHER_FEE_PENAL_BAL + OVD_PRIN_BAL + OVD_INTR_BAL + OVD_FEE_BAL ) AMT_BAL + ,COUNT(\\*) AST_CNT + ,(TERM_CNT-CUR_TERM + DECODE(CUR_TERM, 0, 0, 1)) TERM_CNT + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor','ovd') + GROUP BY (TERM_CNT-CUR_TERM + DECODE(CUR_TERM, 0, 0, 1)) + + + + SELECT + SUM(FEE_BAL + INTR_BAL + PRIN_BAL + FEE_PENAL_BAL + OTHER_FEE_BAL + INTR_PENAL_BAL + + PRIN_PENAL_BAL + OTHER_FEE_PENAL_BAL + OVD_PRIN_BAL + OVD_INTR_BAL + OVD_FEE_BAL ) AMT_BAL + ,COUNT(\\*) AST_CNT + , TERM_CNT + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor','ovd') + GROUP BY TERM_CNT + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + OWN_ORG as PLAN_NO, BAK_DATE as ACCOUNT_DATE, + AST_STATUS as STAT_VAL, + 'STT' as STAT_TYPE, + count(\\*) AST_CHG, + SUM(PRIN_BAL ) as PRIN_AMT, + SUM(OVD_PRIN_BAL ) as OVD_PRIN_AMT, + SUM(INTR_BAL ) as INTR_AMT, + SUM(OVD_INTR_BAL ) as OVD_INTR_AMT, + SUM(FEE_BAL ) as FEE_AMT, + SUM(OVD_FEE_BAL ) as OVD_FEE_AMT, + SUM(PRIN_PENAL_BAL ) as PRIN_PENAL_AMT, + SUM(INTR_PENAL_BAL ) as INTR_PENAL_AMT, + SUM(FEE_PENAL_BAL ) as FEE_PENAL_AMT, + SUM(OTHER_FEE_PENAL_BAL ) as OTHER_FEE_PENAL_AMT, + SUM(OTHER_FEE_BAL ) as OTHER_FEE_AMT, + SUM(nvl(COST,0) ) as COST + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor', 'ovd') + group by BAK_DATE, OWN_ORG , AST_STATUS + + + + + + + SELECT + OWN_ORG as PLAN_NO, BAK_DATE as ACCOUNT_DATE, + RISK_CL as STAT_VAL, + 'CLZ' as STAT_TYPE, + count(\\*) AST_CHG, + SUM(PRIN_BAL ) as PRIN_AMT, + SUM(OVD_PRIN_BAL ) as OVD_PRIN_AMT, + SUM(INTR_BAL ) as INTR_AMT, + SUM(OVD_INTR_BAL ) as OVD_INTR_AMT, + SUM(FEE_BAL ) as FEE_AMT, + SUM(OVD_FEE_BAL ) as OVD_FEE_AMT, + SUM(PRIN_PENAL_BAL ) as PRIN_PENAL_AMT, + SUM(INTR_PENAL_BAL ) as INTR_PENAL_AMT, + SUM(FEE_PENAL_BAL ) as FEE_PENAL_AMT, + SUM(OTHER_FEE_PENAL_BAL ) as OTHER_FEE_PENAL_AMT, + SUM(OTHER_FEE_BAL ) as OTHER_FEE_AMT, + SUM(nvl(COST,0) ) as COST + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_STATUS IN ('nor', 'ovd') + + AND END_DATE >= #{earliestEndDate,jdbcType=DATE} + + + AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + + + AND (FEE_BAL + INTR_BAL + FEE_PENAL_BAL + OTHER_FEE_BAL + INTR_PENAL_BAL + OTHER_FEE_PENAL_BAL + OVD_INTR_BAL + OVD_FEE_BAL) > 0 + AND (PRIN_BAL + OVD_PRIN_BAL) = 0 + + GROUP BY BAK_DATE, OWN_ORG , RISK_CL + + + + SELECT + OWN_ORG as PLAN_NO , BAK_DATE as ACCOUNT_DATE, + #{statType,jdbcType=VARCHAR} as STAT_TYPE, + #{statVal,jdbcType=VARCHAR} as STAT_VAL, + count(\\*) AST_CHG, + SUM(PRIN_BAL ) as PRIN_AMT, + SUM(OVD_PRIN_BAL ) as OVD_PRIN_AMT, + SUM(INTR_BAL ) as INTR_AMT, + SUM(OVD_INTR_BAL ) as OVD_INTR_AMT, + SUM(FEE_BAL ) as FEE_AMT, + SUM(OVD_FEE_BAL ) as OVD_FEE_AMT, + SUM(PRIN_PENAL_BAL ) as PRIN_PENAL_AMT, + SUM(INTR_PENAL_BAL ) as INTR_PENAL_AMT, + SUM(FEE_PENAL_BAL ) as FEE_PENAL_AMT, + SUM(OTHER_FEE_PENAL_BAL ) as OTHER_FEE_PENAL_AMT, + SUM(OTHER_FEE_BAL ) as OTHER_FEE_AMT, + SUM(nvl(COST,0) ) as COST + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND AST_STATUS IN ('ovd') + + AND OVD_DAYS >= #{ovdDays,jdbcType=INTEGER} + + AND WTF_STATUS = #{wtfStatus,jdbcType=VARCHAR} + GROUP BY OWN_ORG , BAK_DATE + + + + SELECT + OWN_ORG as PLAN_NO, 'OVD' as STAT_TYPE, OVD_DAYS as STAT_VAL, BAK_DATE as ACCOUNT_DATE, + SUM(AST_CHG) AST_CHG, + SUM(PRIN_AMT) PRIN_AMT, + SUM(PAID_PRIN_AMT) PAID_PRIN_AMT, + SUM(OVD_PRIN_AMT) OVD_PRIN_AMT, + SUM(INTR_AMT) INTR_AMT, + SUM(OVD_INTR_AMT) OVD_INTR_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OVD_FEE_AMT) OVD_FEE_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(OTHER_FEE_PENAL_AMT ) as OTHER_FEE_PENAL_AMT, + SUM(OTHER_FEE_AMT ) as OTHER_FEE_AMT, + SUM(COST) COST + FROM ( + SELECT OWN_ORG , BAK_DATE, + SUM(AST_CHG) AST_CHG, + SUM(PRIN_AMT) PRIN_AMT, + SUM(PAID_PRIN_AMT) PAID_PRIN_AMT, + SUM(OVD_PRIN_AMT) OVD_PRIN_AMT, + SUM(INTR_AMT) INTR_AMT, + SUM(OVD_INTR_AMT) OVD_INTR_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(OVD_FEE_AMT) OVD_FEE_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT, + SUM(OTHER_FEE_PENAL_AMT ) as OTHER_FEE_PENAL_AMT, + SUM(OTHER_FEE_AMT ) as OTHER_FEE_AMT, + SUM(COST) COST, + case + when OVD_DAYS between 1 and 3 then 'OD01' + when OVD_DAYS between 4 and 30 then 'OD02' + when OVD_DAYS between 31 and 60 then 'OD03' + when OVD_DAYS between 61 and 90 then 'OD04' + when OVD_DAYS between 91 and 120 then 'OD05' + when OVD_DAYS between 121 and 150 then 'OD06' + when OVD_DAYS between 151 and 180 then 'OD07' + when OVD_DAYS >= 181 then 'OD08' + end OVD_DAYS + FROM ( + SELECT + OWN_ORG , BAK_DATE, OVD_DAYS, + count(\\*) AST_CHG, + SUM(PAID_PRIN_AMT) PAID_PRIN_AMT, + SUM(PRIN_BAL ) as PRIN_AMT, + SUM(OVD_PRIN_BAL ) as OVD_PRIN_AMT, + SUM(INTR_BAL ) as INTR_AMT, + SUM(OVD_INTR_BAL ) as OVD_INTR_AMT, + SUM(FEE_BAL ) as FEE_AMT, + SUM(OVD_FEE_BAL ) as OVD_FEE_AMT, + SUM(PRIN_PENAL_BAL ) as PRIN_PENAL_AMT, + SUM(INTR_PENAL_BAL ) as INTR_PENAL_AMT, + SUM(FEE_PENAL_BAL ) as FEE_PENAL_AMT, + SUM(OTHER_FEE_PENAL_BAL ) as OTHER_FEE_PENAL_AMT, + SUM(OTHER_FEE_BAL ) as OTHER_FEE_AMT, + SUM(nvl(COST,0) ) as COST + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_STATUS IN ('ovd') + GROUP BY OWN_ORG , BAK_DATE, OVD_DAYS + ) TAB1 GROUP BY OWN_ORG , BAK_DATE, OVD_DAYS + ) TAB2 GROUP BY OWN_ORG , BAK_DATE, OVD_DAYS + + + + + SELECT + OWN_ORG as PLAN_NO, 'OVD' as STAT_TYPE, 'OD10' as STAT_VAL, BAK_DATE as ACCOUNT_DATE, + count(\\*) AST_CHG, + SUM(PAID_PRIN_AMT) PAID_PRIN_AMT, + SUM(PRIN_BAL ) as PRIN_AMT, + SUM(OVD_PRIN_BAL ) as OVD_PRIN_AMT, + SUM(INTR_BAL ) as INTR_AMT, + SUM(OVD_INTR_BAL ) as OVD_INTR_AMT, + SUM(FEE_BAL ) as FEE_AMT, + SUM(OVD_FEE_BAL ) as OVD_FEE_AMT, + SUM(PRIN_PENAL_BAL ) as PRIN_PENAL_AMT, + SUM(INTR_PENAL_BAL ) as INTR_PENAL_AMT, + SUM(FEE_PENAL_BAL ) as FEE_PENAL_AMT, + SUM(OTHER_FEE_PENAL_BAL ) as OTHER_FEE_PENAL_AMT, + SUM(OTHER_FEE_BAL ) as OTHER_FEE_AMT, + SUM(nvl(COST,0) ) as COST + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_STATUS IN ('ovd') + AND + OVD_DAYS = 1 + AND + CUR_TERM = 1 + GROUP BY OWN_ORG , BAK_DATE, OVD_DAYS + + + + + SELECT + OWN_ORG as PLAN_NO, BAK_DATE as ACCOUNT_DATE, + 'ALL' as STAT_TYPE, #{statVal,jdbcType=VARCHAR} as STAT_VAL, + count(\\*) AST_CHG, + SUM( (PRIN_BAL + OVD_PRIN_BAL + PAID_PRIN_AMT) \\* RATE \\* DECODE( TO_NUMBER(RATE_TYPE), 1, 1, 2,12, 3, + RATE_DAYS) ) as INTR_AMT, + SUM( (PRIN_BAL + OVD_PRIN_BAL + PAID_PRIN_AMT)) as PRIN_AMT, + 0 as OVD_PRIN_AMT, + 0 as OVD_INTR_AMT, + 0 as FEE_AMT, + 0 as OVD_FEE_AMT, + 0 as PRIN_PENAL_AMT, + 0 as INTR_PENAL_AMT, + 0 as FEE_PENAL_AMT, + 0 as OTHER_FEE_PENAL_AMT, + 0 as OTHER_FEE_AMT, + SUM(nvl(COST,0) ) as COST + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + + AND + DISB_DATE = #{disbDate,jdbcType=TIMESTAMP} + + + AND + IN_DATE = #{inDate,jdbcType=TIMESTAMP} + + + AND + AST_STATUS in + + #{item,jdbcType=VARCHAR} + + + GROUP BY BAK_DATE, OWN_ORG + + + + + + + + + SELECT + CAPITAL_NO CAPITAL_NO, + SUM( PRIN_BAL + OVD_PRIN_BAL) PRIN_BAL + FROM + ABS_LOAN_BAK + WHERE + + + + + SELECT + * + FROM + ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{planNo,jdbcType=VARCHAR} + AND + AST_NO = #{astNo,jdbcType=VARCHAR} + + + + SELECT + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + ACCOUNT_DATE, + nvl(AST_CHG,0) AST_CHG, + nvl(PRIN_AMT,0) PRIN_AMT, + nvl(OVD_PRIN_AMT,0) OVD_PRIN_AMT, + nvl(INTR_AMT,0) INTR_AMT, + nvl(OVD_INTR_AMT,0) OVD_INTR_AMT, + nvl(PRIN_PENAL_AMT,0) PRIN_PENAL_AMT, + nvl(INTR_PENAL_AMT,0) INTR_PENAL_AMT, + nvl(FEE_AMT,0) FEE_AMT, + nvl(OVD_FEE_AMT,0) OVD_FEE_AMT, + nvl(FEE_PENAL_AMT,0) FEE_PENAL_AMT, + nvl(COST,0) COST, + nvl(ORG_DISTPFT_AMT,0) ORG_DISTPFT_AMT, + nvl(OTHER_FEE_PENAL_AMT,0) OTHER_FEE_PENAL_AMT, + nvl(CLC_YEARPFT_AMT,0) CLC_YEARPFT_AMT, + nvl(OTHER_FEE_AMT,0) OTHER_FEE_AMT + FROM + ( + select + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + AST_CHG, + ACCOUNT_DATE, + PRIN_AMT, + OVD_PRIN_AMT, + INTR_AMT, + OVD_INTR_AMT, + PRIN_PENAL_AMT, + INTR_PENAL_AMT, + FEE_AMT, + OVD_FEE_AMT, + FEE_PENAL_AMT, + COST, + ORG_DISTPFT_AMT, + OTHER_FEE_PENAL_AMT, + CLC_YEARPFT_AMT, + OTHER_FEE_AMT + FROM ABS_PLAN_REPORT_ENTITY_STAT GROUP BY + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + AST_CHG, + ACCOUNT_DATE, + PRIN_AMT, + OVD_PRIN_AMT, + INTR_AMT, + OVD_INTR_AMT, + PRIN_PENAL_AMT, + INTR_PENAL_AMT, + FEE_AMT, + OVD_FEE_AMT, + FEE_PENAL_AMT, + COST, + ORG_DISTPFT_AMT, + OTHER_FEE_PENAL_AMT, + CLC_YEARPFT_AMT, + OTHER_FEE_AMT + ) v + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + EVENT_CODE is null + + + + select + sum(PRIN_BAL+OVD_PRIN_BAL) + from + ABS_LOAN_BAK + where + BAK_DATE = #{bakDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + and + OVD_DAYS > #{ovdDays,jdbcType=DECIMAL} + and + AST_STATUS IN ('nor', 'ovd') + + + + SELECT + * + FROM + ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + AST_NO = #{astNo,jdbcType=VARCHAR} + + + + SELECT + * + FROM + ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + AND own_org = #{ownOrg,jdbcType=VARCHAR} + + + + + + + + SELECT + NVL(SUM(PRIN_BAL+OVD_PRIN_BAL),0) as bal + FROM + ABS_LOAN_BAK + WHERE + BAK_DATE = #{bakDate,jdbcType=TIMESTAMP} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OWN_ORG = #{ownOrg,jdbcType=VARCHAR} + AND + PROD_NO = #{prodNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + SELECT + OWN_ORG as PLAN_NO, + SUM(PRIN_BAL + OVD_PRIN_BAL) as PRIN_BAL, + SUM(INTR_BAL + OVD_INTR_BAL) as INTR_BAL, + SUM(FEE_BAL + OVD_FEE_BAL) as FEE_BAL, + SUM(OTHER_FEE_BAL ) as OTHER_FEE_BAL, + SUM(INTR_PENAL_BAL + PRIN_PENAL_BAL + FEE_PENAL_BAL + OTHER_FEE_PENAL_BAL) as PENAL_BAL, + COUNT(\\*) as CNT + FROM ABS_LOAN_BAK b + + left join ABS_PLAN p on b.OWN_ORG = p.PLAN_NO + + WHERE + b.BAK_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + b.MANAGER_ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + AND + b.OWN_ORG in + + #{ownOrg,jdbcType=VARCHAR} + + + AND + b.AST_STATUS IN ('nor', 'ovd') + + AND + b.OWN_STATUS in + + #{ownStatus,jdbcType=VARCHAR} + + + + AND b.END_DATE > p.END_DATE + + GROUP BY b.OWN_ORG + + +
\ No newline at end of file diff --git a/dalgen/configTables/ABS_LOAN_COMPENSATE_CONTRACT.xml b/dalgen/configTables/ABS_LOAN_COMPENSATE_CONTRACT.xml new file mode 100644 index 0000000..600eaa8 --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_COMPENSATE_CONTRACT.xml @@ -0,0 +1,130 @@ + + + + + + ID,AMC_NO,SPV_NO,RISK_CL,COMPENSATE_NO + ,IS_EFF,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.AMC_NO,sf.SPV_NO,sf.RISK_CL,sf.COMPENSATE_NO + ,sf.IS_EFF,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_loan_compensate_contract( + ID + ,AMC_NO + ,SPV_NO + ,RISK_CL + ,COMPENSATE_NO + ,IS_EFF + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_LOAN_COMPENSATE_CONTRACT.nextval + , #{item.amcNo,jdbcType=VARCHAR} + , #{item.spvNo,jdbcType=VARCHAR} + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.compensateNo,jdbcType=VARCHAR} + , #{item.isEff,jdbcType=CHAR} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_loan_compensate_contract + WHERE + + + + + + SELECT * + FROM abs_loan_compensate_contract + WHERE + + + + + UPDATE + abs_loan_compensate_contract + SET + IS_EFF = #{isEff,jdbcType=CHAR} + ,GMT_MODIFIED = sysdate + WHERE + SPV_NO = #{spvNo,jdbcType=VARCHAR} + + + + SELECT + * + FROM + abs_loan_compensate_contract + WHERE + SPV_NO = #{spvNo,jdbcType=VARCHAR} + AND + IS_EFF = 1 + +
diff --git a/dalgen/configTables/ABS_LOAN_CONTRACT.xml b/dalgen/configTables/ABS_LOAN_CONTRACT.xml new file mode 100644 index 0000000..214f1e4 --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_CONTRACT.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + USER_ID,DISB_AMOUNT,CITY,NAME,AST_NO + ,CERT_NO,CONT_NO,PROD_NO,PURPOSE,CERT_TYPE + ,LOAN_TYPE,MOBILE_NO,OUT_AST_NO,PROVINCE,RATE_DAYS + ,RATE_TYPE,APPLY_LOC,OUT_CONT_NO,REPAY_METHOD,LENDER_ORG_CODE + ,MANAGER_ORG_CODE,SPONSER_ORG_CODE,REPAY_PERIOD_TYPE,TERM_CNT,REPAY_PERIOD + ,END_DATE,DISB_DATE,GMT_CREATE,START_DATE,EFFECT_DATE,PNY_RATE,GRANT_TYPE + ,GMT_MODIFIED,RATE,CI_DETAIL_CODE + + + + + sf.USER_ID,sf.DISB_AMOUNT,sf.CITY,sf.NAME,sf.AST_NO + ,sf.CERT_NO,sf.CONT_NO,sf.PROD_NO,sf.PURPOSE,sf.CERT_TYPE + ,sf.LOAN_TYPE,sf.MOBILE_NO,sf.OUT_AST_NO,sf.PROVINCE,sf.RATE_DAYS + ,sf.RATE_TYPE,sf.APPLY_LOC,sf.OUT_CONT_NO,sf.REPAY_METHOD,sf.LENDER_ORG_CODE + ,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.REPAY_PERIOD_TYPE,sf.TERM_CNT,sf.REPAY_PERIOD + ,sf.END_DATE,sf.DISB_DATE,sf.GMT_CREATE,sf.START_DATE,sf.EFFECT_DATE,sf.PNY_RATE,sf.GRANT_TYPE + ,sf.GMT_MODIFIED,sf.RATE,sf.CI_DETAIL_CODE + + + + + + + + SELECT * + FROM abs_loan_contract + WHERE + + + + + SELECT * + FROM abs_loan_contract + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND AST_NO IN + + #{astNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_loan_contract + WHERE + + + + + UPDATE abs_loan_contract + SET END_DATE = #{endDate,jdbcType=TIMESTAMP}, + GMT_MODIFIED = sysdate + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + + + + UPDATE abs_loan_contract + SET + DISB_AMOUNT = #{disbAmount,jdbcType=BIGINT}, + GMT_MODIFIED = sysdate + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_LOAN_INSTAL.xml b/dalgen/configTables/ABS_LOAN_INSTAL.xml new file mode 100644 index 0000000..9b7edcc --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_INSTAL.xml @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USER_ID,FEE_BAL,INTR_BAL,PRIN_BAL,DUE_FEE_AMT + ,RMT_FEE_AMT,DUE_INTR_AMT,PAID_FEE_AMT,RMT_INTR_AMT,FEE_PENAL_BAL + ,PAID_INTR_AMT,PAID_PRIN_AMT,INTR_PENAL_BAL,PRIN_PENAL_BAL,RMT_FEE_PENAL_AMT + ,PAID_FEE_PENAL_AMT,RMT_INTR_PENAL_AMT,RMT_PRIN_PENAL_AMT,PAID_INTR_PENAL_AMT,PAID_PRIN_PENAL_AMT + ,AST_NO,EXT_INF,OWN_ORG,PROD_NO,STATUS + ,OWN_PACK,OUT_AST_NO,OUT_PROD_NO,CONTRACT_NO,LAST_OWN_ORG + ,LENDER_ORG_CODE,MANAGER_ORG_CODE,SPONSER_ORG_CODE,TERM_NO,OVD_DAYS, GRACE_END_DATE, IN_DATE + ,END_DATE,CLEAR_DATE,GMT_CREATE,START_DATE,GMT_MODIFIED,OWN_STATUS,HANG_INTR_BAL,COST + ,PAID_PRIN_FUND_AMT,PAID_PRIN_PENAL_FUND_AMT,PAID_INTR_FUND_AMT,PAID_INTR_PENAL_FUND_AMT,PAID_FEE_FUND_AMT,PAID_FEE_PENAL_FUND_AMT + ,LAST_UPDATE_DATE + ,PAID_HANG_INTR_AMT + ,OTHER_FEE_BAL,PAID_OTHER_FEE_AMT,PAID_OTHER_FEE_FUND_AMT,INTER_TRANS_IN_AMT,INTER_TRANS_OUT_AMT + ,ACCOUNTING_DATE + ,INTER_TRANS_IN_INTR_AMT,INTER_TRANS_OUT_INTR_AMT + + + + + sf.USER_ID,sf.FEE_BAL,sf.INTR_BAL,sf.PRIN_BAL,sf.DUE_FEE_AMT + ,sf.RMT_FEE_AMT,sf.DUE_INTR_AMT,sf.PAID_FEE_AMT,sf.RMT_INTR_AMT,sf.FEE_PENAL_BAL + ,sf.PAID_INTR_AMT,sf.PAID_PRIN_AMT,sf.INTR_PENAL_BAL,sf.PRIN_PENAL_BAL,sf.RMT_FEE_PENAL_AMT + ,sf.PAID_FEE_PENAL_AMT,sf.RMT_INTR_PENAL_AMT,sf.RMT_PRIN_PENAL_AMT,sf.PAID_INTR_PENAL_AMT,sf.PAID_PRIN_PENAL_AMT + ,sf.AST_NO,sf.EXT_INF,sf.OWN_ORG,sf.PROD_NO,sf.STATUS + ,sf.OWN_PACK,sf.OUT_AST_NO,sf.OUT_PROD_NO,sf.CONTRACT_NO,sf.LAST_OWN_ORG + ,sf.LENDER_ORG_CODE,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.TERM_NO,sf.OVD_DAYS, sf.GRACE_END_DATE, sf.IN_DATE + ,sf.END_DATE,sf.CLEAR_DATE,sf.GMT_CREATE,sf.START_DATE,sf.GMT_MODIFIED,sf.OWN_STATUS,sf.HANG_INTR_BAL,sf.COST + ,sf.PAID_PRIN_FUND_AMT,sf.PAID_PRIN_PENAL_FUND_AMT,sf.PAID_INTR_FUND_AMT,sf.PAID_INTR_PENAL_FUND_AMT,sf.PAID_FEE_FUND_AMT,sf.PAID_FEE_PENAL_FUND_AMT + ,sf.LAST_UPDATE_DATE + ,sf.PAID_HANG_INTR_AMT + ,sf.OTHER_FEE_BAL,sf.PAID_OTHER_FEE_AMT,sf.PAID_OTHER_FEE_FUND_AMT,sf.INTER_TRANS_IN_AMT,sf.INTER_TRANS_OUT_AMT + ,sf.ACCOUNTING_DATE + ,sf.INTER_TRANS_IN_INTR_AMT,sf.INTER_TRANS_OUT_INTR_AMT + + + + + + INSERT INTO abs_loan_instal( + USER_ID + ,FEE_BAL + ,INTR_BAL + ,PRIN_BAL + ,DUE_FEE_AMT + ,RMT_FEE_AMT + ,DUE_INTR_AMT + ,PAID_FEE_AMT + ,RMT_INTR_AMT + ,FEE_PENAL_BAL + ,PAID_INTR_AMT + ,PAID_PRIN_AMT + ,INTR_PENAL_BAL + ,PRIN_PENAL_BAL + ,RMT_FEE_PENAL_AMT + ,PAID_FEE_PENAL_AMT + ,RMT_INTR_PENAL_AMT + ,RMT_PRIN_PENAL_AMT + ,PAID_INTR_PENAL_AMT + ,PAID_PRIN_PENAL_AMT + ,AST_NO + ,EXT_INF + ,OWN_ORG + ,PROD_NO + ,STATUS + ,OWN_PACK + ,OUT_AST_NO + ,OUT_PROD_NO + ,CONTRACT_NO + ,LAST_OWN_ORG + ,LENDER_ORG_CODE + ,MANAGER_ORG_CODE + ,SPONSER_ORG_CODE + ,TERM_NO + ,OVD_DAYS + ,GRACE_END_DATE + ,IN_DATE + ,END_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,START_DATE + ,GMT_MODIFIED + ,OWN_STATUS + ,HANG_INTR_BAL + ,COST + ,LAST_UPDATE_DATE + ,PAID_PRIN_FUND_AMT + ,PAID_PRIN_PENAL_FUND_AMT + ,PAID_INTR_FUND_AMT + ,PAID_INTR_PENAL_FUND_AMT + ,PAID_FEE_FUND_AMT + ,PAID_FEE_PENAL_FUND_AMT + ,PAID_HANG_INTR_AMT + ,OTHER_FEE_BAL + ,PAID_OTHER_FEE_AMT + ,PAID_OTHER_FEE_FUND_AMT + ,INTER_TRANS_IN_AMT + ,INTER_TRANS_OUT_AMT + ,ACCOUNTING_DATE + ,INTER_TRANS_IN_INTR_AMT + ,INTER_TRANS_OUT_INTR_AMT + )VALUES + + ( + #{userId,jdbcType=VARCHAR} + , #{feeBal,jdbcType=BIGINT} + , #{intrBal,jdbcType=BIGINT} + , #{prinBal,jdbcType=BIGINT} + , #{dueFeeAmt,jdbcType=BIGINT} + , #{rmtFeeAmt,jdbcType=BIGINT} + , #{dueIntrAmt,jdbcType=BIGINT} + , #{paidFeeAmt,jdbcType=BIGINT} + , #{rmtIntrAmt,jdbcType=BIGINT} + , #{feePenalBal,jdbcType=BIGINT} + , #{paidIntrAmt,jdbcType=BIGINT} + , #{paidPrinAmt,jdbcType=BIGINT} + , #{intrPenalBal,jdbcType=BIGINT} + , #{prinPenalBal,jdbcType=BIGINT} + , #{rmtFeePenalAmt,jdbcType=BIGINT} + , #{paidFeePenalAmt,jdbcType=BIGINT} + , #{rmtIntrPenalAmt,jdbcType=BIGINT} + , #{rmtPrinPenalAmt,jdbcType=BIGINT} + , #{paidIntrPenalAmt,jdbcType=BIGINT} + , #{paidPrinPenalAmt,jdbcType=BIGINT} + , #{astNo,jdbcType=VARCHAR} + , #{extInf,jdbcType=VARCHAR} + , #{ownOrg,jdbcType=VARCHAR} + , #{prodNo,jdbcType=VARCHAR} + , #{status,jdbcType=VARCHAR} + , #{ownPack,jdbcType=VARCHAR} + , #{outAstNo,jdbcType=VARCHAR} + , #{outProdNo,jdbcType=VARCHAR} + , #{contractNo,jdbcType=VARCHAR} + , #{lastOwnOrg,jdbcType=VARCHAR} + , #{lenderOrgCode,jdbcType=VARCHAR} + , #{managerOrgCode,jdbcType=VARCHAR} + , #{sponserOrgCode,jdbcType=VARCHAR} + , #{termNo,jdbcType=INTEGER} + , #{ovdDays,jdbcType=INTEGER} + , #{graceEndDate,jdbcType=TIMESTAMP} + , #{inDate,jdbcType=TIMESTAMP} + , #{endDate,jdbcType=TIMESTAMP} + , #{clearDate,jdbcType=TIMESTAMP} + , sysdate + , #{startDate,jdbcType=TIMESTAMP} + , sysdate + , #{ownStatus,jdbcType=VARCHAR} + , #{hangIntrBal,jdbcType=BIGINT} + , #{cost,jdbcType=BIGINT} + , #{lastUpdateDate,jdbcType=TIMESTAMP} + , #{paidPrinFundAmt,jdbcType=BIGINT} + , #{paidPrinPenalFundAmt,jdbcType=BIGINT} + , #{paidIntrFundAmt,jdbcType=BIGINT} + , #{paidIntrPenalFundAmt,jdbcType=BIGINT} + , #{paidFeeFundAmt,jdbcType=BIGINT} + , #{paidFeePenalFundAmt,jdbcType=BIGINT} + , #{paidHangIntrAmt,jdbcType=BIGINT} + , #{otherFeeBal,jdbcType=BIGINT} + , #{paidOtherFeeAmt,jdbcType=BIGINT} + , #{paidOtherFeeFundAmt,jdbcType=BIGINT} + , #{interTransInAmt,jdbcType=BIGINT} + , #{interTransOutAmt,jdbcType=BIGINT} + , #{accountingDate,jdbcType=TIMESTAMP} + , #{interTransInIntrAmt,jdbcType=DECIMAL} + , #{interTransOutIntrAmt,jdbcType=DECIMAL} + ) + + + + + + + + + SELECT * + FROM abs_loan_instal + WHERE + + + + + + + + + + SELECT min(s.END_DATE) MIN_END_DATE + FROM ABS_LOAN l + left join ABS_LOAN_INSTAL s on l.AST_NO = s.AST_NO + WHERE + l.MANAGER_ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND s.STATUS IN ('nor','ovd') + AND + l.STATUS IN ('nor','ovd') + AND + l.DISB_DATE = #{disbDate,jdbcType=DATE} + AND + l.MANAGER_ORG_CODE = #{orgCode,jdbcType=VARCHAR} + + AND l.LENDER_ORG_CODE in + + #{lenderOrgCode,jdbcType=VARCHAR} + + + + +
diff --git a/dalgen/configTables/ABS_LOAN_INSTAL_LOG.xml b/dalgen/configTables/ABS_LOAN_INSTAL_LOG.xml new file mode 100644 index 0000000..5db6e0e --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_INSTAL_LOG.xml @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USER_ID,CLRG_AMT,INTR_AMT,PRIN_AMT,AF_FEE_BAL,AF_INTR_BAL,BF_OVD_DAYS,AF_OVD_DAYS + ,AF_PRIN_BAL,FEE_AMT,INTR_PENAL_AMT,PRIN_PENAL_AMT,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL,AF_PRIN_PENAL_BAL,FEE_PENAL_AMT,AST_NO,BIZ_NO + ,SEQ_NO,EXT_INF,OWN_ORG,PROD_NO,EXEC_TMS + ,OWN_PACK,AF_STATUS,BF_STATUS,OUT_AST_NO,OUT_BIZ_NO + ,EVENT_CODE,OUT_PROD_NO,TRANS_CODE,CONTRACT_NO,HANG_INTR_AMT + ,LENDER_ORG_CODE,MANAGER_ORG_CODE,SPONSER_ORG_CODE,TERM_NO,GMT_CREATE + ,PAID_PRIN_FUND_AMT,PAID_PRIN_PENAL_FUND_AMT,PAID_INTR_FUND_AMT,PAID_INTR_PENAL_FUND_AMT,PAID_FEE_FUND_AMT,PAID_FEE_PENAL_FUND_AMT + ,TRANS_TIME,ACCOUNT_DATE,GMT_MODIFIED + ,PAID_HANG_INTR_FUND_AMT,org_dist_pft_amt,org_dist_pft_appor_amt,org_dist_pft_paid_amt + ,AF_OTHER_FEE_BAL,OTHER_FEE_AMT,PAID_OTHER_FEE_FUND_AMT,BF_START_DATE,AF_START_DATE,BF_END_DATE + ,AF_END_DATE,BF_GRACE_END_DATE,AF_GRACE_END_DATE + + + + + sf.USER_ID,sf.CLRG_AMT,sf.INTR_AMT,sf.PRIN_AMT,sf.AF_FEE_BAL,sf.AF_INTR_BAL,sf.BF_OVD_DAYS,sf.AF_OVD_DAYS + ,sf.AF_PRIN_BAL,sf.FEE_AMT,sf.INTR_PENAL_AMT,sf.PRIN_PENAL_AMT,sf.AF_FEE_PENAL_BAL + ,sf.AF_INTR_PENAL_BAL,sf.AF_PRIN_PENAL_BAL,sf.FEE_PENAL_AMT,sf.AST_NO,sf.BIZ_NO + ,sf.SEQ_NO,sf.EXT_INF,sf.OWN_ORG,sf.PROD_NO,sf.EXEC_TMS + ,sf.OWN_PACK,sf.AF_STATUS,sf.BF_STATUS,sf.OUT_AST_NO,sf.OUT_BIZ_NO + ,sf.EVENT_CODE,sf.OUT_PROD_NO,sf.TRANS_CODE,sf.CONTRACT_NO,sf.HANG_INTR_AMT + ,sf.LENDER_ORG_CODE,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.TERM_NO,sf.GMT_CREATE + ,sf.PAID_PRIN_FUND_AMT,sf.PAID_PRIN_PENAL_FUND_AMT,sf.PAID_INTR_FUND_AMT,sf.PAID_INTR_PENAL_FUND_AMT,sf.PAID_FEE_FUND_AMT,sf.PAID_FEE_PENAL_FUND_AMT + ,sf.TRANS_TIME,sf.ACCOUNT_DATE,sf.GMT_MODIFIED + ,sf.PAID_HANG_INTR_FUND_AMT,sf.org_dist_pft_amt,sf.org_dist_pft_appor_amt,sf.org_dist_pft_paid_amt + ,sf.AF_OTHER_FEE_BAL,sf.OTHER_FEE_AMT,sf.PAID_OTHER_FEE_FUND_AMT + ,sf.BF_START_DATE,sf.AF_START_DATE,sf.BF_END_DATE ,sf.AF_END_DATE,sf.BF_GRACE_END_DATE,sf.AF_GRACE_END_DATE + + + + + + INSERT INTO abs_loan_instal_log( + USER_ID + ,CLRG_AMT + ,INTR_AMT + ,PRIN_AMT + ,AF_FEE_BAL + ,AF_INTR_BAL + ,BF_OVD_DAYS + ,AF_OVD_DAYS + ,AF_PRIN_BAL + ,FEE_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL + ,AF_PRIN_PENAL_BAL + ,FEE_PENAL_AMT + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,EXT_INF + ,OWN_ORG + ,PROD_NO + ,EXEC_TMS + ,OWN_PACK + ,AF_STATUS + ,BF_STATUS + ,OUT_AST_NO + ,OUT_BIZ_NO + ,EVENT_CODE + ,OUT_PROD_NO + ,TRANS_CODE + ,CONTRACT_NO + ,LENDER_ORG_CODE + ,MANAGER_ORG_CODE + ,SPONSER_ORG_CODE + ,TERM_NO + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,HANG_INTR_AMT + ,GMT_MODIFIED + ,PAID_PRIN_FUND_AMT + ,PAID_PRIN_PENAL_FUND_AMT + ,PAID_INTR_FUND_AMT + ,PAID_INTR_PENAL_FUND_AMT + ,PAID_FEE_FUND_AMT + ,PAID_FEE_PENAL_FUND_AMT + ,PAID_HANG_INTR_FUND_AMT + ,org_dist_pft_amt + ,org_dist_pft_appor_amt + ,org_dist_pft_paid_amt + ,AF_OTHER_FEE_BAL + ,OTHER_FEE_AMT + ,PAID_OTHER_FEE_FUND_AMT + ,BF_START_DATE + ,AF_START_DATE + ,BF_END_DATE + ,AF_END_DATE + ,BF_GRACE_END_DATE + ,AF_GRACE_END_DATE + )VALUES + + ( + #{item.userId,jdbcType=VARCHAR} + , #{item.clrgAmt,jdbcType=BIGINT} + , #{item.intrAmt,jdbcType=BIGINT} + , #{item.prinAmt,jdbcType=BIGINT} + , #{item.afFeeBal,jdbcType=BIGINT} + , #{item.afIntrBal,jdbcType=BIGINT} + , #{item.bfOvdDays,jdbcType=INTEGER} + , #{item.afOvdDays,jdbcType=INTEGER} + , #{item.afPrinBal,jdbcType=BIGINT} + , #{item.feeAmt,jdbcType=BIGINT} + , #{item.intrPenalAmt,jdbcType=BIGINT} + , #{item.prinPenalAmt,jdbcType=BIGINT} + , #{item.afFeePenalBal,jdbcType=BIGINT} + , #{item.afIntrPenalBal,jdbcType=BIGINT} + , #{item.afPrinPenalBal,jdbcType=BIGINT} + , #{item.feePenalAmt,jdbcType=BIGINT} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.extInf,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.afStatus,jdbcType=VARCHAR} + , #{item.bfStatus,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.contractNo,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.sponserOrgCode,jdbcType=VARCHAR} + , #{item.termNo,jdbcType=INTEGER} + , sysdate + , #{item.transTime,jdbcType=TIMESTAMP} + , #{item.accountDate,jdbcType=TIMESTAMP} + , #{item.hangIntrAmt,jdbcType=BIGINT} + , sysdate + , #{item.paidPrinFundAmt,jdbcType=BIGINT} + , #{item.paidPrinPenalFundAmt,jdbcType=BIGINT} + , #{item.paidIntrFundAmt,jdbcType=BIGINT} + , #{item.paidIntrPenalFundAmt,jdbcType=BIGINT} + , #{item.paidFeeFundAmt,jdbcType=BIGINT} + , #{item.paidFeePenalFundAmt,jdbcType=BIGINT} + , #{item.paidHangIntrFundAmt,jdbcType=BIGINT} + , #{item.orgDistPftAmt,jdbcType=BIGINT} + , #{item.orgDistPftApporAmt,jdbcType=BIGINT} + , #{item.orgDistPftPaidAmt,jdbcType=BIGINT} + , #{item.afOtherFeeBal,jdbcType=BIGINT} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.paidOtherFeeFundAmt,jdbcType=BIGINT} + , #{item.bfStartDate,jdbcType=TIMESTAMP} + , #{item.afStartDate,jdbcType=TIMESTAMP} + , #{item.bfEndDate,jdbcType=TIMESTAMP} + , #{item.afEndDate,jdbcType=TIMESTAMP} + , #{item.bfGraceEndDate,jdbcType=TIMESTAMP} + , #{item.afGraceEndDate,jdbcType=TIMESTAMP} + + ) + + + + + + + + + + + + + + SELECT + SUM(PRIN_AMT) PRIN_AMT, + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT + FROM ABS_LOAN_INSTAL_LOG + WHERE + account_date = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and trans_code = #{transCode,jdbcType=VARCHAR} + and own_org=#{ownOrg,jdbcType=VARCHAR} + + + + SELECT + * + FROM + ABS_LOAN_INSTAL_LOG + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + + AND EVENT_CODE = #{eventCode,jdbcType=VARCHAR} + + + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_LOAN_INSTAL_TRANS_INFO.xml b/dalgen/configTables/ABS_LOAN_INSTAL_TRANS_INFO.xml new file mode 100644 index 0000000..52d40bb --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_INSTAL_TRANS_INFO.xml @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USER_ID,CLRG_AMT,INTR_AMT,PRIN_AMT,AF_FEE_BAL,AF_INTR_BAL,BF_OVD_DAYS,AF_OVD_DAYS + ,AF_PRIN_BAL,FEE_AMT,INTR_PENAL_AMT,PRIN_PENAL_AMT,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL,AF_PRIN_PENAL_BAL,FEE_PENAL_AMT,AST_NO,BIZ_NO + ,SEQ_NO,EXT_INF,OWN_ORG,PROD_NO,EXEC_TMS + ,OWN_PACK,AF_STATUS,BF_STATUS,OUT_AST_NO,OUT_BIZ_NO + ,EVENT_CODE,OUT_PROD_NO,TRANS_CODE,CONTRACT_NO,HANG_INTR_AMT + ,LENDER_ORG_CODE,MANAGER_ORG_CODE,SPONSER_ORG_CODE,TERM_NO,GMT_CREATE + ,PAID_PRIN_FUND_AMT,PAID_PRIN_PENAL_FUND_AMT,PAID_INTR_FUND_AMT,PAID_INTR_PENAL_FUND_AMT,PAID_FEE_FUND_AMT,PAID_FEE_PENAL_FUND_AMT + ,TRANS_TIME,ACCOUNT_DATE,GMT_MODIFIED + ,PAID_HANG_INTR_FUND_AMT,org_dist_pft_amt,org_dist_pft_appor_amt,org_dist_pft_paid_amt + ,AF_OTHER_FEE_BAL,OTHER_FEE_AMT,PAID_OTHER_FEE_FUND_AMT,BF_START_DATE,AF_START_DATE,BF_END_DATE + ,AF_END_DATE,BF_GRACE_END_DATE,AF_GRACE_END_DATE + + + + + sf.USER_ID,sf.CLRG_AMT,sf.INTR_AMT,sf.PRIN_AMT,sf.AF_FEE_BAL,sf.AF_INTR_BAL,sf.BF_OVD_DAYS,sf.AF_OVD_DAYS + ,sf.AF_PRIN_BAL,sf.FEE_AMT,sf.INTR_PENAL_AMT,sf.PRIN_PENAL_AMT,sf.AF_FEE_PENAL_BAL + ,sf.AF_INTR_PENAL_BAL,sf.AF_PRIN_PENAL_BAL,sf.FEE_PENAL_AMT,sf.AST_NO,sf.BIZ_NO + ,sf.SEQ_NO,sf.EXT_INF,sf.OWN_ORG,sf.PROD_NO,sf.EXEC_TMS + ,sf.OWN_PACK,sf.AF_STATUS,sf.BF_STATUS,sf.OUT_AST_NO,sf.OUT_BIZ_NO + ,sf.EVENT_CODE,sf.OUT_PROD_NO,sf.TRANS_CODE,sf.CONTRACT_NO,sf.HANG_INTR_AMT + ,sf.LENDER_ORG_CODE,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.TERM_NO,sf.GMT_CREATE + ,sf.PAID_PRIN_FUND_AMT,sf.PAID_PRIN_PENAL_FUND_AMT,sf.PAID_INTR_FUND_AMT,sf.PAID_INTR_PENAL_FUND_AMT,sf.PAID_FEE_FUND_AMT,sf.PAID_FEE_PENAL_FUND_AMT + ,sf.TRANS_TIME,sf.ACCOUNT_DATE,sf.GMT_MODIFIED + ,sf.PAID_HANG_INTR_FUND_AMT,sf.org_dist_pft_amt,sf.org_dist_pft_appor_amt,sf.org_dist_pft_paid_amt + ,sf.AF_OTHER_FEE_BAL,sf.OTHER_FEE_AMT,sf.PAID_OTHER_FEE_FUND_AMT + ,sf.BF_START_DATE,sf.AF_START_DATE,sf.BF_END_DATE ,sf.AF_END_DATE,sf.BF_GRACE_END_DATE,sf.AF_GRACE_END_DATE + + + + + + INSERT INTO abs_loan_instal_trans_info( + USER_ID + ,CLRG_AMT + ,INTR_AMT + ,PRIN_AMT + ,AF_FEE_BAL + ,AF_INTR_BAL + ,BF_OVD_DAYS + ,AF_OVD_DAYS + ,AF_PRIN_BAL + ,FEE_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL + ,AF_PRIN_PENAL_BAL + ,FEE_PENAL_AMT + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,EXT_INF + ,OWN_ORG + ,PROD_NO + ,EXEC_TMS + ,OWN_PACK + ,AF_STATUS + ,BF_STATUS + ,OUT_AST_NO + ,OUT_BIZ_NO + ,EVENT_CODE + ,OUT_PROD_NO + ,TRANS_CODE + ,CONTRACT_NO + ,LENDER_ORG_CODE + ,MANAGER_ORG_CODE + ,SPONSER_ORG_CODE + ,TERM_NO + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,HANG_INTR_AMT + ,GMT_MODIFIED + ,PAID_PRIN_FUND_AMT + ,PAID_PRIN_PENAL_FUND_AMT + ,PAID_INTR_FUND_AMT + ,PAID_INTR_PENAL_FUND_AMT + ,PAID_FEE_FUND_AMT + ,PAID_FEE_PENAL_FUND_AMT + ,PAID_HANG_INTR_FUND_AMT + ,org_dist_pft_amt + ,org_dist_pft_appor_amt + ,org_dist_pft_paid_amt + ,AF_OTHER_FEE_BAL + ,OTHER_FEE_AMT + ,PAID_OTHER_FEE_FUND_AMT + ,BF_START_DATE + ,AF_START_DATE + ,BF_END_DATE + ,AF_END_DATE + ,BF_GRACE_END_DATE + ,AF_GRACE_END_DATE + )VALUES + ( + #{item.userId,jdbcType=VARCHAR} + , #{item.clrgAmt,jdbcType=BIGINT} + , #{item.intrAmt,jdbcType=BIGINT} + , #{item.prinAmt,jdbcType=BIGINT} + , #{item.afFeeBal,jdbcType=BIGINT} + , #{item.afIntrBal,jdbcType=BIGINT} + , #{item.bfOvdDays,jdbcType=INTEGER} + , #{item.afOvdDays,jdbcType=INTEGER} + , #{item.afPrinBal,jdbcType=BIGINT} + , #{item.feeAmt,jdbcType=BIGINT} + , #{item.intrPenalAmt,jdbcType=BIGINT} + , #{item.prinPenalAmt,jdbcType=BIGINT} + , #{item.afFeePenalBal,jdbcType=BIGINT} + , #{item.afIntrPenalBal,jdbcType=BIGINT} + , #{item.afPrinPenalBal,jdbcType=BIGINT} + , #{item.feePenalAmt,jdbcType=BIGINT} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.extInf,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.afStatus,jdbcType=VARCHAR} + , #{item.bfStatus,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.contractNo,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.sponserOrgCode,jdbcType=VARCHAR} + , #{item.termNo,jdbcType=INTEGER} + , sysdate + , #{item.transTime,jdbcType=TIMESTAMP} + , #{item.accountDate,jdbcType=TIMESTAMP} + , #{item.hangIntrAmt,jdbcType=BIGINT} + , sysdate + , #{item.paidPrinFundAmt,jdbcType=BIGINT} + , #{item.paidPrinPenalFundAmt,jdbcType=BIGINT} + , #{item.paidIntrFundAmt,jdbcType=BIGINT} + , #{item.paidIntrPenalFundAmt,jdbcType=BIGINT} + , #{item.paidFeeFundAmt,jdbcType=BIGINT} + , #{item.paidFeePenalFundAmt,jdbcType=BIGINT} + , #{item.paidHangIntrFundAmt,jdbcType=BIGINT} + , #{item.orgDistPftAmt,jdbcType=BIGINT} + , #{item.orgDistPftApporAmt,jdbcType=BIGINT} + , #{item.orgDistPftPaidAmt,jdbcType=BIGINT} + , #{item.afOtherFeeBal,jdbcType=BIGINT} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.paidOtherFeeFundAmt,jdbcType=BIGINT} + , #{item.bfStartDate,jdbcType=TIMESTAMP} + , #{item.afStartDate,jdbcType=TIMESTAMP} + , #{item.bfEndDate,jdbcType=TIMESTAMP} + , #{item.afEndDate,jdbcType=TIMESTAMP} + , #{item.bfGraceEndDate,jdbcType=TIMESTAMP} + , #{item.afGraceEndDate,jdbcType=TIMESTAMP} + ) + + + + + + + + SELECT + nvl(sum(decode(plan_type,'SPV',ORG_DIST_PFT_APPOR_AMT,0)),0) + + nvl(sum(decode(plan_type,'SPV',decode(own_org,lender_org_code,ORG_DIST_PFT_PAID_AMT,0),ORG_DIST_PFT_PAID_AMT)),0) + as amt + FROM( + SELECT + own_org, + lender_org_code, + sum(ORG_DIST_PFT_AMT) as ORG_DIST_PFT_AMT, + sum(ORG_DIST_PFT_APPOR_AMT) as ORG_DIST_PFT_APPOR_AMT, + sum(ORG_DIST_PFT_PAID_AMT) as ORG_DIST_PFT_PAID_AMT, + (select plan_type from abs_plan where plan_no=#{ownOrg,jdbcType=VARCHAR} and ROWNUM=1) as plan_type + FROM + abs_loan_instal_trans_info + WHERE + trans_code = 'AST0003' + and ( + own_org=#{ownOrg,jdbcType=VARCHAR} + or + lender_org_code=#{ownOrg,jdbcType=VARCHAR} + ) + and account_date = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + group by own_org, lender_org_code + ) + + + SELECT + nvl(sum(ORG_DIST_PFT_APPOR_AMT),0) as amt + FROM( + SELECT + sum(ORG_DIST_PFT_APPOR_AMT) as ORG_DIST_PFT_APPOR_AMT + FROM + abs_loan_instal_trans_info + WHERE + account_date = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and trans_code = 'AST0003' + and lender_org_code= #{ownOrg,jdbcType=VARCHAR} + and ORG_DIST_PFT_APPOR_AMT > 0 + group by own_org, lender_org_code + ) + + + + + + + + + + + SELECT + SUM(PRIN_AMT) PRIN_AMT, + SUM(INTR_AMT) INTR_AMT, + SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) INTR_PENAL_AMT, + SUM(FEE_AMT) FEE_AMT, + SUM(FEE_PENAL_AMT) FEE_PENAL_AMT + FROM + abs_loan_instal_trans_info + WHERE + account_date = #{accountDate,jdbcType=TIMESTAMP} + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and trans_code = #{transCode,jdbcType=VARCHAR} + and own_org = #{ownOrg,jdbcType=VARCHAR} + + + + SELECT + * + FROM + abs_loan_instal_trans_info + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + + AND EVENT_CODE = #{eventCode,jdbcType=VARCHAR} + + + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_LOAN_LOG.xml b/dalgen/configTables/ABS_LOAN_LOG.xml new file mode 100644 index 0000000..99855ab --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_LOG.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USER_ID,FEE_AMT,CLRG_AMT,INTR_AMT,PRIN_AMT + ,OVD_PRIN_AMT,OVD_INTR_AMT,OVD_FEE_AMT,AF_OWN_STATUS,BF_OWN_STATUS + ,AF_OVD_PRIN_BAL,AF_OVD_INTR_BAL,AF_OVD_FEE_BAL + ,AF_FEE_BAL,AF_INTR_BAL,AF_PRIN_BAL,FEE_PENAL_AMT,INTR_PENAL_AMT + ,PRIN_PENAL_AMT,AF_FEE_PENAL_BAL,AF_INTR_PENAL_BAL,AF_PRIN_PENAL_BAL,AST_NO + ,BIZ_NO,SEQ_NO,OWN_ORG,PROD_NO,EXEC_TMS + ,OWN_PACK,AF_RISK_CL,AF_STATUS,BF_RISK_CL,BF_STATUS,AF_WTF_STATUS,BF_WTF_STATUS + ,OUT_AST_NO,OUT_BIZ_NO,EVENT_CODE,OUT_PROD_NO,TRANS_CODE + ,CONTRACT_NO,LENDER_ORG_CODE,MANAGER_ORG_CODE,SPONSER_ORG_CODE,AF_OVD_DAYS + ,AF_TERM_CNT,BF_OVD_DAYS,BF_TERM_CNT,AF_END_DATE,BF_END_DATE + ,GMT_CREATE,TRANS_TIME,ACCOUNT_DATE,GMT_MODIFIED,BF_CAPITAL_NO,AF_CAPITAL_NO + ,OTHER_FEE_AMT,AF_OTHER_FEE_BAL,MEMO,BF_EXTEND_STATUS,AF_EXTEND_STATUS,BF_CLAIM_STATUS + ,AF_CLAIM_STATUS,BF_SHRINKAGE_STATUS,AF_SHRINKAGE_STATUS,BF_OVD_TIMES,AF_OVD_TIMES + + + + + sf.USER_ID,sf.FEE_AMT,sf.CLRG_AMT,sf.INTR_AMT,sf.PRIN_AMT + ,sf.OVD_PRIN_AMT,sf.OVD_INTR_AMT,sf.OVD_FEE_AMT,sf.AF_OWN_STATUS,sf.BF_OWN_STATUS + ,sf.AF_OVD_PRIN_BAL,sf.AF_OVD_INTR_BAL,sf.AF_OVD_FEE_BAL + ,sf.AF_FEE_BAL,sf.AF_INTR_BAL,sf.AF_PRIN_BAL,sf.FEE_PENAL_AMT,sf.INTR_PENAL_AMT + ,sf.PRIN_PENAL_AMT,sf.AF_FEE_PENAL_BAL,sf.AF_INTR_PENAL_BAL,sf.AF_PRIN_PENAL_BAL,sf.AST_NO + ,sf.BIZ_NO,sf.SEQ_NO,sf.OWN_ORG,sf.PROD_NO,sf.EXEC_TMS + ,sf.OWN_PACK,sf.AF_RISK_CL,sf.AF_STATUS,sf.BF_RISK_CL,sf.BF_STATUS,sf.AF_WTF_STATUS,sf.BF_WTF_STATUS + ,sf.OUT_AST_NO,sf.OUT_BIZ_NO,sf.EVENT_CODE,sf.OUT_PROD_NO,sf.TRANS_CODE + ,sf.CONTRACT_NO,sf.LENDER_ORG_CODE,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.AF_OVD_DAYS + ,sf.AF_TERM_CNT,sf.BF_OVD_DAYS,sf.BF_TERM_CNT,sf.AF_END_DATE,sf.BF_END_DATE + ,sf.GMT_CREATE,sf.TRANS_TIME,sf.ACCOUNT_DATE,sf.GMT_MODIFIED,sf.BF_CAPITAL_NO,sf.AF_CAPITAL_NO + ,sf.OTHER_FEE_AMT,sf.AF_OTHER_FEE_BAL,sf.MEMO,sf.BF_EXTEND_STATUS,sf.AF_EXTEND_STATUS + ,sf.BF_CLAIM_STATUS,sf.AF_CLAIM_STATUS,sf.BF_SHRINKAGE_STATUS,sf.AF_SHRINKAGE_STATUS + ,sf.BF_OVD_TIMES,sf.AF_OVD_TIMES + + + + + + + + INSERT INTO abs_loan_log( + USER_ID + ,FEE_AMT + ,CLRG_AMT + ,INTR_AMT + ,PRIN_AMT + ,OVD_PRIN_AMT + ,OVD_INTR_AMT + ,OVD_FEE_AMT + ,AF_OWN_STATUS + ,BF_OWN_STATUS + ,AF_OVD_PRIN_BAL + ,AF_OVD_INTR_BAL + ,AF_OVD_FEE_BAL + ,AF_FEE_BAL + ,AF_INTR_BAL + ,AF_PRIN_BAL + ,FEE_PENAL_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL + ,AF_PRIN_PENAL_BAL + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,OWN_ORG + ,PROD_NO + ,EXEC_TMS + ,OWN_PACK + ,AF_RISK_CL + ,AF_STATUS + ,BF_RISK_CL + ,BF_STATUS + ,AF_WTF_STATUS + ,BF_WTF_STATUS + ,OUT_AST_NO + ,OUT_BIZ_NO + ,EVENT_CODE + ,OUT_PROD_NO + ,TRANS_CODE + ,CONTRACT_NO + ,LENDER_ORG_CODE + ,MANAGER_ORG_CODE + ,SPONSER_ORG_CODE + ,AF_OVD_DAYS + ,AF_TERM_CNT + ,BF_OVD_DAYS + ,BF_TERM_CNT + ,AF_END_DATE + ,BF_END_DATE + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,GMT_MODIFIED + ,BF_CAPITAL_NO + ,AF_CAPITAL_NO + ,OTHER_FEE_AMT + ,AF_OTHER_FEE_BAL + ,MEMO + ,BF_EXTEND_STATUS + ,AF_EXTEND_STATUS + ,BF_CLAIM_STATUS + ,AF_CLAIM_STATUS + ,BF_SHRINKAGE_STATUS + ,AF_SHRINKAGE_STATUS + ,BF_OVD_TIMES + ,AF_OVD_TIMES + )VALUES + + ( + #{item.userId,jdbcType=VARCHAR} + , #{item.feeAmt,jdbcType=BIGINT} + , #{item.clrgAmt,jdbcType=BIGINT} + , #{item.intrAmt,jdbcType=BIGINT} + , #{item.prinAmt,jdbcType=BIGINT} + , #{item.ovdPrinAmt,jdbcType=BIGINT} + , #{item.ovdIntrAmt,jdbcType=BIGINT} + , #{item.ovdFeeAmt,jdbcType=BIGINT} + , #{item.afOwnStatus,jdbcType=VARCHAR} + , #{item.bfOwnStatus,jdbcType=VARCHAR} + , #{item.afOvdPrinBal,jdbcType=BIGINT} + , #{item.afOvdIntrBal,jdbcType=BIGINT} + , #{item.afOvdFeeBal,jdbcType=BIGINT} + , #{item.afFeeBal,jdbcType=BIGINT} + , #{item.afIntrBal,jdbcType=BIGINT} + , #{item.afPrinBal,jdbcType=BIGINT} + , #{item.feePenalAmt,jdbcType=BIGINT} + , #{item.intrPenalAmt,jdbcType=BIGINT} + , #{item.prinPenalAmt,jdbcType=BIGINT} + , #{item.afFeePenalBal,jdbcType=BIGINT} + , #{item.afIntrPenalBal,jdbcType=BIGINT} + , #{item.afPrinPenalBal,jdbcType=BIGINT} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.afRiskCl,jdbcType=VARCHAR} + , #{item.afStatus,jdbcType=VARCHAR} + , #{item.bfRiskCl,jdbcType=VARCHAR} + , #{item.bfStatus,jdbcType=VARCHAR} + , #{item.afWtfStatus,jdbcType=VARCHAR} + , #{item.bfWtfStatus,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.contractNo,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.sponserOrgCode,jdbcType=VARCHAR} + , #{item.afOvdDays,jdbcType=INTEGER} + , #{item.afTermCnt,jdbcType=INTEGER} + , #{item.bfOvdDays,jdbcType=INTEGER} + , #{item.bfTermCnt,jdbcType=INTEGER} + , #{item.afEndDate,jdbcType=TIMESTAMP} + , #{item.bfEndDate,jdbcType=TIMESTAMP} + , sysdate + , #{item.transTime,jdbcType=TIMESTAMP} + , #{item.accountDate,jdbcType=TIMESTAMP} + , sysdate + , #{item.bfCapitalNo,jdbcType=VARCHAR} + , #{item.afCapitalNo,jdbcType=VARCHAR} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.afOtherFeeBal,jdbcType=BIGINT} + , #{item.memo,jdbcType=VARCHAR} + , #{item.bfExtendStatus,jdbcType=VARCHAR} + , #{item.afExtendStatus,jdbcType=VARCHAR} + , #{item.bfClaimStatus,jdbcType=VARCHAR} + , #{item.afClaimStatus,jdbcType=VARCHAR} + , #{item.bfShrinkageStatus,jdbcType=VARCHAR} + , #{item.afShrinkageStatus,jdbcType=VARCHAR} + , #{item.bfOvdTimes,jdbcType=BIGINT} + , #{item.afOvdTimes,jdbcType=BIGINT} + ) + + + + + SELECT * + FROM ABS_LOAN_LOG + WHERE + OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + AND + EVENT_CODE = #{eventCode,jdbcType=VARCHAR} + + + + SELECT + * + FROM + ABS_LOAN_LOG + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + + AND EVENT_CODE = #{eventCode,jdbcType=VARCHAR} + + + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_LOAN_TRANS_INFO.xml b/dalgen/configTables/ABS_LOAN_TRANS_INFO.xml new file mode 100644 index 0000000..b8f0fec --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_TRANS_INFO.xml @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USER_ID,FEE_AMT,CLRG_AMT,INTR_AMT,PRIN_AMT + ,OVD_PRIN_AMT,OVD_INTR_AMT,OVD_FEE_AMT,AF_OWN_STATUS,BF_OWN_STATUS + ,AF_OVD_PRIN_BAL,AF_OVD_INTR_BAL,AF_OVD_FEE_BAL + ,AF_FEE_BAL,AF_INTR_BAL,AF_PRIN_BAL,FEE_PENAL_AMT,INTR_PENAL_AMT + ,PRIN_PENAL_AMT,AF_FEE_PENAL_BAL,AF_INTR_PENAL_BAL,AF_PRIN_PENAL_BAL,AST_NO + ,BIZ_NO,SEQ_NO,OWN_ORG,PROD_NO,EXEC_TMS + ,OWN_PACK,AF_RISK_CL,AF_STATUS,BF_RISK_CL,BF_STATUS,AF_WTF_STATUS,BF_WTF_STATUS + ,OUT_AST_NO,OUT_BIZ_NO,EVENT_CODE,OUT_PROD_NO,TRANS_CODE + ,CONTRACT_NO,LENDER_ORG_CODE,MANAGER_ORG_CODE,SPONSER_ORG_CODE,AF_OVD_DAYS + ,AF_TERM_CNT,BF_OVD_DAYS,BF_TERM_CNT,AF_END_DATE,BF_END_DATE + ,GMT_CREATE,TRANS_TIME,ACCOUNT_DATE,GMT_MODIFIED,BF_CAPITAL_NO,AF_CAPITAL_NO + ,OTHER_FEE_AMT,AF_OTHER_FEE_BAL,MEMO,BF_EXTEND_STATUS,AF_EXTEND_STATUS,BF_CLAIM_STATUS + ,AF_CLAIM_STATUS,BF_SHRINKAGE_STATUS,AF_SHRINKAGE_STATUS,BF_OVD_TIMES,AF_OVD_TIMES + + + + + sf.USER_ID,sf.FEE_AMT,sf.CLRG_AMT,sf.INTR_AMT,sf.PRIN_AMT + ,sf.OVD_PRIN_AMT,sf.OVD_INTR_AMT,sf.OVD_FEE_AMT,sf.AF_OWN_STATUS,sf.BF_OWN_STATUS + ,sf.AF_OVD_PRIN_BAL,sf.AF_OVD_INTR_BAL,sf.AF_OVD_FEE_BAL + ,sf.AF_FEE_BAL,sf.AF_INTR_BAL,sf.AF_PRIN_BAL,sf.FEE_PENAL_AMT,sf.INTR_PENAL_AMT + ,sf.PRIN_PENAL_AMT,sf.AF_FEE_PENAL_BAL,sf.AF_INTR_PENAL_BAL,sf.AF_PRIN_PENAL_BAL,sf.AST_NO + ,sf.BIZ_NO,sf.SEQ_NO,sf.OWN_ORG,sf.PROD_NO,sf.EXEC_TMS + ,sf.OWN_PACK,sf.AF_RISK_CL,sf.AF_STATUS,sf.BF_RISK_CL,sf.BF_STATUS,sf.AF_WTF_STATUS,sf.BF_WTF_STATUS + ,sf.OUT_AST_NO,sf.OUT_BIZ_NO,sf.EVENT_CODE,sf.OUT_PROD_NO,sf.TRANS_CODE + ,sf.CONTRACT_NO,sf.LENDER_ORG_CODE,sf.MANAGER_ORG_CODE,sf.SPONSER_ORG_CODE,sf.AF_OVD_DAYS + ,sf.AF_TERM_CNT,sf.BF_OVD_DAYS,sf.BF_TERM_CNT,sf.AF_END_DATE,sf.BF_END_DATE + ,sf.GMT_CREATE,sf.TRANS_TIME,sf.ACCOUNT_DATE,sf.GMT_MODIFIED,sf.BF_CAPITAL_NO,sf.AF_CAPITAL_NO + ,sf.OTHER_FEE_AMT,sf.AF_OTHER_FEE_BAL,sf.MEMO,sf.BF_EXTEND_STATUS,sf.AF_EXTEND_STATUS + ,sf.BF_CLAIM_STATUS,sf.AF_CLAIM_STATUS,sf.BF_SHRINKAGE_STATUS,sf.AF_SHRINKAGE_STATUS + ,sf.BF_OVD_TIMES,sf.AF_OVD_TIMES + + + + + + + + INSERT INTO abs_loan_trans_info( + USER_ID + ,FEE_AMT + ,CLRG_AMT + ,INTR_AMT + ,PRIN_AMT + ,OVD_PRIN_AMT + ,OVD_INTR_AMT + ,OVD_FEE_AMT + ,AF_OWN_STATUS + ,BF_OWN_STATUS + ,AF_OVD_PRIN_BAL + ,AF_OVD_INTR_BAL + ,AF_OVD_FEE_BAL + ,AF_FEE_BAL + ,AF_INTR_BAL + ,AF_PRIN_BAL + ,FEE_PENAL_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,AF_FEE_PENAL_BAL + ,AF_INTR_PENAL_BAL + ,AF_PRIN_PENAL_BAL + ,AST_NO + ,BIZ_NO + ,SEQ_NO + ,OWN_ORG + ,PROD_NO + ,EXEC_TMS + ,OWN_PACK + ,AF_RISK_CL + ,AF_STATUS + ,BF_RISK_CL + ,BF_STATUS + ,AF_WTF_STATUS + ,BF_WTF_STATUS + ,OUT_AST_NO + ,OUT_BIZ_NO + ,EVENT_CODE + ,OUT_PROD_NO + ,TRANS_CODE + ,CONTRACT_NO + ,LENDER_ORG_CODE + ,MANAGER_ORG_CODE + ,SPONSER_ORG_CODE + ,AF_OVD_DAYS + ,AF_TERM_CNT + ,BF_OVD_DAYS + ,BF_TERM_CNT + ,AF_END_DATE + ,BF_END_DATE + ,GMT_CREATE + ,TRANS_TIME + ,ACCOUNT_DATE + ,GMT_MODIFIED + ,BF_CAPITAL_NO + ,AF_CAPITAL_NO + ,OTHER_FEE_AMT + ,AF_OTHER_FEE_BAL + ,MEMO + ,BF_EXTEND_STATUS + ,AF_EXTEND_STATUS + ,BF_CLAIM_STATUS + ,AF_CLAIM_STATUS + ,BF_SHRINKAGE_STATUS + ,AF_SHRINKAGE_STATUS + ,BF_OVD_TIMES + ,AF_OVD_TIMES + )VALUES + ( + #{item.userId,jdbcType=VARCHAR} + , #{item.feeAmt,jdbcType=BIGINT} + , #{item.clrgAmt,jdbcType=BIGINT} + , #{item.intrAmt,jdbcType=BIGINT} + , #{item.prinAmt,jdbcType=BIGINT} + , #{item.ovdPrinAmt,jdbcType=BIGINT} + , #{item.ovdIntrAmt,jdbcType=BIGINT} + , #{item.ovdFeeAmt,jdbcType=BIGINT} + , #{item.afOwnStatus,jdbcType=VARCHAR} + , #{item.bfOwnStatus,jdbcType=VARCHAR} + , #{item.afOvdPrinBal,jdbcType=BIGINT} + , #{item.afOvdIntrBal,jdbcType=BIGINT} + , #{item.afOvdFeeBal,jdbcType=BIGINT} + , #{item.afFeeBal,jdbcType=BIGINT} + , #{item.afIntrBal,jdbcType=BIGINT} + , #{item.afPrinBal,jdbcType=BIGINT} + , #{item.feePenalAmt,jdbcType=BIGINT} + , #{item.intrPenalAmt,jdbcType=BIGINT} + , #{item.prinPenalAmt,jdbcType=BIGINT} + , #{item.afFeePenalBal,jdbcType=BIGINT} + , #{item.afIntrPenalBal,jdbcType=BIGINT} + , #{item.afPrinPenalBal,jdbcType=BIGINT} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.ownPack,jdbcType=VARCHAR} + , #{item.afRiskCl,jdbcType=VARCHAR} + , #{item.afStatus,jdbcType=VARCHAR} + , #{item.bfRiskCl,jdbcType=VARCHAR} + , #{item.bfStatus,jdbcType=VARCHAR} + , #{item.afWtfStatus,jdbcType=VARCHAR} + , #{item.bfWtfStatus,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.outProdNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.contractNo,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.sponserOrgCode,jdbcType=VARCHAR} + , #{item.afOvdDays,jdbcType=INTEGER} + , #{item.afTermCnt,jdbcType=INTEGER} + , #{item.bfOvdDays,jdbcType=INTEGER} + , #{item.bfTermCnt,jdbcType=INTEGER} + , #{item.afEndDate,jdbcType=TIMESTAMP} + , #{item.bfEndDate,jdbcType=TIMESTAMP} + , sysdate + , #{item.transTime,jdbcType=TIMESTAMP} + , #{item.accountDate,jdbcType=TIMESTAMP} + , sysdate + , #{item.bfCapitalNo,jdbcType=VARCHAR} + , #{item.afCapitalNo,jdbcType=VARCHAR} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.afOtherFeeBal,jdbcType=BIGINT} + , #{item.memo,jdbcType=VARCHAR} + , #{item.bfExtendStatus,jdbcType=VARCHAR} + , #{item.afExtendStatus,jdbcType=VARCHAR} + , #{item.bfClaimStatus,jdbcType=VARCHAR} + , #{item.afClaimStatus,jdbcType=VARCHAR} + , #{item.bfShrinkageStatus,jdbcType=VARCHAR} + , #{item.afShrinkageStatus,jdbcType=VARCHAR} + , #{item.bfOvdTimes,jdbcType=BIGINT} + , #{item.afOvdTimes,jdbcType=BIGINT} + ) + + + + + SELECT + * + FROM + abs_loan_trans_info + WHERE + OUT_AST_NO = #{outAstNo,jdbcType=VARCHAR} + AND + EVENT_CODE = #{eventCode,jdbcType=VARCHAR} + + + + SELECT + * + FROM + abs_loan_trans_info + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=VARCHAR} + AND AST_NO = #{astNo,jdbcType=VARCHAR} + + AND EVENT_CODE = #{eventCode,jdbcType=VARCHAR} + + + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + + + + + + + + SELECT + LENDER_ORG_CODE + ,SUM(prin_amt) AMT + FROM + abs_loan_trans_info + WHERE + ACCOUNT_DATE in + + #{acctDate,jdbcType=DATE} + + AND + TRANS_CODE = 'AST0001' + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + GROUP BY LENDER_ORG_CODE + + +
diff --git a/dalgen/configTables/ABS_LOAN_USER.xml b/dalgen/configTables/ABS_LOAN_USER.xml new file mode 100644 index 0000000..4e59a61 --- /dev/null +++ b/dalgen/configTables/ABS_LOAN_USER.xml @@ -0,0 +1,281 @@ + + + + + + OVD_TIMES,MAX_OVD_DAYS,CITY,NAME + ,CERT_NO,USER_ID,ORG_CODE,CERT_TYPE,MOBILE_NO + ,PROVINCE,OUT_USER_ID,GMT_CREATE,GMT_MODIFIED + ,CUR_MAX_OVD_DAYS,LAST_OVD_TIMES,LAST_MAX_OVD_DAYS,LAST_CUR_MAX_OVD_DAYS + ,LAST_UPDATE_DATE,MANAGER_ORG_CODE + + + + + sf.OVD_TIMES,sf.MAX_OVD_DAYS,sf.CITY,sf.NAME + ,sf.CERT_NO,sf.USER_ID,sf.ORG_CODE,sf.CERT_TYPE,sf.MOBILE_NO + ,sf.PROVINCE,sf.OUT_USER_ID,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.CUR_MAX_OVD_DAYS,sf.LAST_OVD_TIMES,sf.LAST_MAX_OVD_DAYS + ,sf.LAST_CUR_MAX_OVD_DAYS,sf.LAST_UPDATE_DATE,sf.MANAGER_ORG_CODE + + + + + + + + + + + + + + + + + + INSERT INTO abs_loan_user( + OVD_TIMES + ,MAX_OVD_DAYS + ,CITY + ,NAME + ,CERT_NO + ,USER_ID + ,ORG_CODE + ,CERT_TYPE + ,MOBILE_NO + ,PROVINCE + ,OUT_USER_ID + ,GMT_CREATE + ,GMT_MODIFIED + ,CUR_MAX_OVD_DAYS + ,LAST_OVD_TIMES + ,LAST_MAX_OVD_DAYS + ,LAST_CUR_MAX_OVD_DAYS + ,LAST_UPDATE_DATE + ,MANAGER_ORG_CODE + )VALUES + ( + #{item.ovdTimes,jdbcType=DECIMAL} + , #{item.maxOvdDays,jdbcType=DECIMAL} + , #{item.city,jdbcType=VARCHAR} + , #{item.name,jdbcType=VARCHAR} + , #{item.certNo,jdbcType=VARCHAR} + , #{item.userId,jdbcType=VARCHAR} + , #{item.orgCode,jdbcType=VARCHAR} + , #{item.certType,jdbcType=VARCHAR} + , #{item.mobileNo,jdbcType=VARCHAR} + , #{item.province,jdbcType=VARCHAR} + , #{item.outUserId,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.curMaxOvdDays,jdbcType=DECIMAL} + , #{item.lastOvdTimes,jdbcType=DECIMAL} + , #{item.lastMaxOvdDays,jdbcType=DECIMAL} + , #{item.lastCurMaxOvdDays,jdbcType=DECIMAL} + , #{item.lastUpdateDate,jdbcType=DATE} + , #{item.managerOrgCode,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT * + FROM abs_loan_user + WHERE + + + + + + + + + + + + + + SELECT * + FROM abs_loan_user + WHERE + + + + + + SELECT + * + FROM + abs_loan_user + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + OUT_USER_ID in + + #{outUserId,jdbcType=VARCHAR} + + + + + + UPDATE abs_loan_user + SET + OVD_TIMES = OVD_TIMES + #{ovdTimes,jdbcType=DECIMAL} + ,MAX_OVD_DAYS = greatest(#{maxOvdDays,jdbcType=DECIMAL},MAX_OVD_DAYS) + ,CUR_MAX_OVD_DAYS = #{curMaxOvdDays,jdbcType=DECIMAL} + ,GMT_MODIFIED = sysdate + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND OUT_USER_ID = #{outUserId,jdbcType=VARCHAR} + + + + UPDATE abs_loan_user + SET + LAST_OVD_TIMES = OVD_TIMES + ,LAST_MAX_OVD_DAYS = MAX_OVD_DAYS + ,LAST_CUR_MAX_OVD_DAYS = CUR_MAX_OVD_DAYS + ,LAST_UPDATE_DATE = #{lastUpdateDate,jdbcType=DATE} + WHERE + + +
diff --git a/dalgen/configTables/ABS_ORGANIZATION.xml b/dalgen/configTables/ABS_ORGANIZATION.xml new file mode 100644 index 0000000..a95e0f2 --- /dev/null +++ b/dalgen/configTables/ABS_ORGANIZATION.xml @@ -0,0 +1,159 @@ + + + + + + + ID,STATUS,ORG_CODE,ORG_NAME,LINKMAN_NAME + ,LINKMAN_EMAIL,LINKMAN_PHONE,ORG_ABBREVIATION,GMT_CREATE,GMT_MODIFIED + ,ORG_TYPE,ACCT_STEP,EXT_INF,SETTLE_SPLIT,SYNC_STATE_CK_TYPE + + + + + sf.ID,sf.STATUS,sf.ORG_CODE,sf.ORG_NAME,sf.LINKMAN_NAME + ,sf.LINKMAN_EMAIL,sf.LINKMAN_PHONE,sf.ORG_ABBREVIATION,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.ORG_TYPE,sf.ACCT_STEP,sf.EXT_INF,sf.SETTLE_SPLIT,sf.SYNC_STATE_CK_TYPE + + + + + + + + + + select + count(*) + from abs_organization + where + ORG_CODE != #{orgCode,jdbcType=VARCHAR} + AND ( + ORG_NAME = #{orgName,jdbcType=VARCHAR} + OR + ORG_ABBREVIATION = #{orgAbbreviation,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + + SELECT * + FROM abs_organization + WHERE + + + + + SELECT * + FROM abs_organization + + + AND ORG_TYPE = #{orgType,jdbcType=VARCHAR} + + + AND ( + ORG_ABBREVIATION LIKE CONCAT(CONCAT('%',#{orgName,jdbcType=VARCHAR}),'%') + OR + ORG_NAME LIKE CONCAT(CONCAT('%',#{orgName,jdbcType=VARCHAR}),'%') + ) + + + + + + SELECT + * + FROM + ABS_ORGANIZATION O + WHERE 1=1 + + AND ORG_ABBREVIATION LIKE CONCAT(CONCAT('%',#{orgAbbreviation,jdbcType=VARCHAR}),'%') + + + AND ORG_TYPE = #{orgType,jdbcType=VARCHAR} + + + AND + ORG_CODE IN + + #{uniqueCode,jdbcType=VARCHAR} + + + ORDER BY GMT_MODIFIED DESC,ID DESC + + + + SELECT * + FROM abs_organization + WHERE + ORG_CODE in + + #{orgCode,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_ORGANIZATION_ENTITY.xml b/dalgen/configTables/ABS_ORGANIZATION_ENTITY.xml new file mode 100644 index 0000000..3371f4e --- /dev/null +++ b/dalgen/configTables/ABS_ORGANIZATION_ENTITY.xml @@ -0,0 +1,135 @@ + + + + + + + + ID + ,ENTITY_CODE + ,PROD_LST + ,NEED_ALLOC + ,STOP_PAY_DATE + ,MANAGER_ORG_CODE + ,EXT_INF + ,MATCH_SORT_RULE + ,MATCH_START_RULE + ,MATCH_START_TIME + ,PRIORITY_CONTEXT + + + + + sf.ID + ,sf.ENTITY_CODE + ,sf.PROD_LST + ,sf.NEED_ALLOC + ,sf.STOP_PAY_DATE + ,sf.MANAGER_ORG_CODE + ,sf.EXT_INF + ,sf.MATCH_SORT_RULE + ,sf.MATCH_START_RULE + ,sf.MATCH_START_TIME + ,sf.PRIORITY_CONTEXT + + + + + + + + + + + + + + + + + + SELECT * + FROM abs_organization_entity + WHERE + + + + + UPDATE abs_organization_entity + SET + MATCH_SORT_RULE = #{matchSortRule,jdbcType=VARCHAR} + ,MATCH_START_RULE = #{matchStartRule,jdbcType=VARCHAR} + ,MATCH_START_TIME = #{matchStartTime,jdbcType=VARCHAR} + ,PRIORITY_CONTEXT = #{priorityContext,jdbcType=VARCHAR} + WHERE + ENTITY_CODE = #{entityCode,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_organization_entity + WHERE + ENTITY_CODE in + + #{entityCode,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_organization_entity + WHERE MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + + DELETE FROM abs_organization_entity + WHERE + + +
diff --git a/dalgen/configTables/ABS_ORG_HOLIDAY.xml b/dalgen/configTables/ABS_ORG_HOLIDAY.xml new file mode 100644 index 0000000..8ac4a48 --- /dev/null +++ b/dalgen/configTables/ABS_ORG_HOLIDAY.xml @@ -0,0 +1,126 @@ + + + + + + ID,MEMO,ORG_CODE,DATE_INFO,DATE_TYPE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.MEMO,sf.ORG_CODE,sf.DATA_DATE_INFO,sf.DATA_DATE_TYPE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO ABS_ORG_HOLIDAY( + ID + ,MEMO + ,ORG_CODE + ,DATE_INFO + ,DATE_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + + ( + SEQ_ABS_ORG_HOLIDAY.nextval + , #{item.memo,jdbcType=LONGVARCHAR} + , #{item.orgCode,jdbcType=VARCHAR} + , #{item.dateInfo,jdbcType=VARCHAR} + , #{item.dateType,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + UPDATE ABS_ORG_HOLIDAY + SET + MEMO = #{memo,jdbcType=LONGVARCHAR} + ,DATE_TYPE = #{dateType,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + and + DATE_INFO = #{dateInfo,jdbcType=VARCHAR} + + + + + + delete + from + ABS_ORG_HOLIDAY + where + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + and DATE_INFO in + + #{dateInfo,jdbcType=VARCHAR} + + + + + + + SELECT * + FROM + ABS_ORG_HOLIDAY + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND DATE_INFO >= #{beginDate,jdbcType=VARCHAR} + AND DATE_INFO <= #{endDate,jdbcType=VARCHAR} + + + + + SELECT + * + FROM ABS_ORG_HOLIDAY + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND + DATE_INFO = #{dateInfo,jdbcType=VARCHAR} + AND + DATE_TYPE = #{dateType,jdbcType=VARCHAR} + + + + + SELECT + DATE_TYPE FROM ABS_ORG_HOLIDAY + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND + DATE_INFO = #{dateInfo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PACK_AST_PRICE_RULE.xml b/dalgen/configTables/ABS_PACK_AST_PRICE_RULE.xml new file mode 100644 index 0000000..70777a6 --- /dev/null +++ b/dalgen/configTables/ABS_PACK_AST_PRICE_RULE.xml @@ -0,0 +1,149 @@ + + + + + + id,biz_no,risk_cl,biz_type,pack_code + ,abssqr_prod_code,gmt_create,gmt_modified,fee_rate,intr_rate + ,prin_rate,penal_rate + + + + + sf.id,sf.biz_no,sf.risk_cl,sf.biz_type,sf.pack_code + ,sf.abssqr_prod_code,sf.gmt_create,sf.gmt_modified,sf.fee_rate,sf.intr_rate + ,sf.prin_rate,sf.penal_rate + + + + + + + + + + + INSERT INTO abs_pack_ast_price_rule( + id + ,biz_no + ,risk_cl + ,biz_type + ,pack_code + ,abssqr_prod_code + ,gmt_create + ,gmt_modified + ,fee_rate + ,intr_rate + ,prin_rate + ,penal_rate + )VALUES + ( + SEQ_ABS_PACK_AST_PRICE_RULE.nextval + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.bizType,jdbcType=VARCHAR} + , #{item.packCode,jdbcType=VARCHAR} + , #{item.abssqrProdCode,jdbcType=VARCHAR} + , #{item.gmtCreate,jdbcType=DATE} + , #{item.gmtModified,jdbcType=DATE} + , #{item.feeRate,jdbcType=DECIMAL} + , #{item.intrRate,jdbcType=DECIMAL} + , #{item.prinRate,jdbcType=DECIMAL} + , #{item.penalRate,jdbcType=DECIMAL} + ) + + + + + + + + + + DELETE FROM abs_pack_ast_price_rule + WHERE + + + + + SELECT * + FROM abs_pack_ast_price_rule + WHERE + + + + + + SELECT * + FROM abs_pack_ast_price_rule + WHERE + + + + + SELECT * + FROM abs_pack_ast_price_rule + WHERE + + +
diff --git a/dalgen/configTables/ABS_PACK_AST_SCREEN_RULE.xml b/dalgen/configTables/ABS_PACK_AST_SCREEN_RULE.xml new file mode 100644 index 0000000..706bf40 --- /dev/null +++ b/dalgen/configTables/ABS_PACK_AST_SCREEN_RULE.xml @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id,max_age,min_age,max_term,min_term + ,before_end_days,cur_max_ovd_days,cur_min_ovd_days,max_remain_days,min_remain_days + ,cust_max_ovd_days,cust_min_ovd_days,loan_max_ovd_days,loan_min_ovd_days,cust_max_ovd_times + ,cust_min_ovd_times,single_max_amount,single_min_amount,cust_cur_max_ovd_days,cust_cur_min_ovd_days + ,own_org,region,pack_code,prod_code,prod_name + ,tfr_scope,pm_org_code,gmt_creator,price_limit,screen_type + ,asset_status,gmt_modifier,screen_rule_no,approve_status,lender_org_code + ,abssqr_prod_code,manager_org_code,screen_rule_name,ast_ovd_happened,ast_unclear_exist + ,ast_claim_happened,gmt_create,gmt_modified,max_disb_date,min_disb_date + ,latest_end_date,earliest_end_date,single_max_inter_rate,single_min_inter_rate + ,fund_plan_no,ci_detail_codes,profit_limit,before_plan_end + + + + + sf.id,sf.max_age,sf.min_age,sf.max_term,sf.min_term + ,sf.before_end_days,sf.cur_max_ovd_days,sf.cur_min_ovd_days,sf.max_remain_days,sf.min_remain_days + ,sf.cust_max_ovd_days,sf.cust_min_ovd_days,sf.loan_max_ovd_days,sf.loan_min_ovd_days,sf.cust_max_ovd_times + ,sf.cust_min_ovd_times,sf.single_max_amount,sf.single_min_amount,sf.cust_cur_max_ovd_days,sf.cust_cur_min_ovd_days + ,sf.own_org,sf.region,sf.pack_code,sf.prod_code,sf.prod_name + ,sf.tfr_scope,sf.pm_org_code,sf.gmt_creator,sf.price_limit,sf.screen_type + ,sf.asset_status,sf.gmt_modifier,sf.screen_rule_no,sf.approve_status,sf.lender_org_code + ,sf.abssqr_prod_code,sf.manager_org_code,sf.screen_rule_name,sf.ast_ovd_happened,sf.ast_unclear_exist + ,sf.ast_claim_happened,sf.gmt_create,sf.gmt_modified,sf.max_disb_date,sf.min_disb_date + ,sf.latest_end_date,sf.earliest_end_date,sf.single_max_inter_rate,sf.single_min_inter_rate + ,sf.fund_plan_no,sf.ci_detail_codes,sf.profit_limit,sf.before_plan_end + + + + + + + + + + + INSERT INTO abs_pack_ast_screen_rule( + id + ,max_age + ,min_age + ,max_term + ,min_term + ,before_end_days + ,cur_max_ovd_days + ,cur_min_ovd_days + ,max_remain_days + ,min_remain_days + ,cust_max_ovd_days + ,cust_min_ovd_days + ,loan_max_ovd_days + ,loan_min_ovd_days + ,cust_max_ovd_times + ,cust_min_ovd_times + ,single_max_amount + ,single_min_amount + ,cust_cur_max_ovd_days + ,cust_cur_min_ovd_days + ,own_org + ,region + ,pack_code + ,prod_code + ,prod_name + ,tfr_scope + ,pm_org_code + ,gmt_creator + ,price_limit + ,screen_type + ,asset_status + ,gmt_modifier + ,screen_rule_no + ,approve_status + ,lender_org_code + ,abssqr_prod_code + ,manager_org_code + ,screen_rule_name + ,ast_ovd_happened + ,ast_unclear_exist + ,ast_claim_happened + ,gmt_create + ,gmt_modified + ,max_disb_date + ,min_disb_date + ,latest_end_date + ,earliest_end_date + ,single_max_inter_rate + ,single_min_inter_rate + ,fund_plan_no + ,ci_detail_codes + ,profit_limit + ,before_plan_end + )VALUES + ( + SEQ_ABS_PACK_AST_SCREEN_RULE.nextval + , #{item.maxAge,jdbcType=DECIMAL} + , #{item.minAge,jdbcType=DECIMAL} + , #{item.maxTerm,jdbcType=DECIMAL} + , #{item.minTerm,jdbcType=DECIMAL} + , #{item.beforeEndDays,jdbcType=DECIMAL} + , #{item.curMaxOvdDays,jdbcType=DECIMAL} + , #{item.curMinOvdDays,jdbcType=DECIMAL} + , #{item.maxRemainDays,jdbcType=DECIMAL} + , #{item.minRemainDays,jdbcType=DECIMAL} + , #{item.custMaxOvdDays,jdbcType=DECIMAL} + , #{item.custMinOvdDays,jdbcType=DECIMAL} + , #{item.loanMaxOvdDays,jdbcType=DECIMAL} + , #{item.loanMinOvdDays,jdbcType=DECIMAL} + , #{item.custMaxOvdTimes,jdbcType=DECIMAL} + , #{item.custMinOvdTimes,jdbcType=DECIMAL} + , #{item.singleMaxAmount,jdbcType=DECIMAL} + , #{item.singleMinAmount,jdbcType=DECIMAL} + , #{item.custCurMaxOvdDays,jdbcType=DECIMAL} + , #{item.custCurMinOvdDays,jdbcType=DECIMAL} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.region,jdbcType=VARCHAR} + , #{item.packCode,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , #{item.prodName,jdbcType=VARCHAR} + , #{item.tfrScope,jdbcType=VARCHAR} + , #{item.pmOrgCode,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.priceLimit,jdbcType=VARCHAR} + , #{item.screenType,jdbcType=VARCHAR} + , #{item.assetStatus,jdbcType=VARCHAR} + , #{item.gmtModifier,jdbcType=VARCHAR} + , #{item.screenRuleNo,jdbcType=VARCHAR} + , #{item.approveStatus,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.abssqrProdCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.screenRuleName,jdbcType=VARCHAR} + , #{item.astOvdHappened,jdbcType=CHAR} + , #{item.astUnclearExist,jdbcType=CHAR} + , #{item.astClaimHappened,jdbcType=CHAR} + , #{item.gmtCreate,jdbcType=DATE} + , #{item.gmtModified,jdbcType=DATE} + , #{item.maxDisbDate,jdbcType=DATE} + , #{item.minDisbDate,jdbcType=DATE} + , #{item.latestEndDate,jdbcType=DATE} + , #{item.earliestEndDate,jdbcType=DATE} + , #{item.singleMaxInterRate,jdbcType=DECIMAL} + , #{item.singleMinInterRate,jdbcType=DECIMAL} + , #{item.fundPlanNo,jdbcType=VARCHAR} + , #{item.ciDetailCodes,jdbcType=VARCHAR} + , #{item.profitLimit,jdbcType=CHAR} + , #{item.beforePlanEnd,jdbcType=CHAR} + ) + + + + + + + + + + DELETE FROM abs_pack_ast_screen_rule + WHERE + + + + SELECT * + FROM abs_pack_ast_screen_rule + WHERE + + + + + + SELECT * + FROM abs_pack_ast_screen_rule + WHERE + + + + + SELECT * + FROM abs_pack_ast_screen_rule + WHERE + + + + + update abs_pack_ast_screen_rule + set + tfr_scope = #{scope,jdbcType=VARCHAR}, + latest_end_date = #{minDate,jdbcType=DATE}, + earliest_end_date = #{maxDate,jdbcType=DATE} + where + pack_code = #{packCode,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PACK_TRANSFER_RULE.xml b/dalgen/configTables/ABS_PACK_TRANSFER_RULE.xml new file mode 100644 index 0000000..ea51c11 --- /dev/null +++ b/dalgen/configTables/ABS_PACK_TRANSFER_RULE.xml @@ -0,0 +1,145 @@ + + + + + + + id,min_amt,res_amt,priority,tail_diff_amt + ,plan_no,tr_cycle,pack_code,ast_dim_type,transfer_no + ,transfer_type,approve_status,eff,cycle,slice + ,tfr_limit,tail_diff_eff,gmt_create,stop_tr_date,approve_date + ,gmt_modified,start_tr_date,bridge_plan_no,TFR_OUT_ABLE_AMT + + + + + sf.id,sf.min_amt,sf.res_amt,sf.priority,sf.tail_diff_amt + ,sf.plan_no,sf.tr_cycle,sf.pack_code,sf.ast_dim_type,sf.transfer_no + ,sf.transfer_type,sf.approve_status,sf.eff,sf.cycle,sf.slice + ,sf.tfr_limit,sf.tail_diff_eff,sf.gmt_create,sf.stop_tr_date,sf.approve_date + ,sf.gmt_modified,sf.start_tr_date,sf.bridge_plan_no,sf.TFR_OUT_ABLE_AMT + + + + + + + + + + + + + + DELETE FROM abs_pack_transfer_rule + WHERE + + + + + SELECT * + FROM abs_pack_transfer_rule + WHERE + + + + + + SELECT * + FROM abs_pack_transfer_rule + WHERE + + +
diff --git a/dalgen/configTables/ABS_PACK_TRAN_SCREEN_REL.xml b/dalgen/configTables/ABS_PACK_TRAN_SCREEN_REL.xml new file mode 100644 index 0000000..0b0c177 --- /dev/null +++ b/dalgen/configTables/ABS_PACK_TRAN_SCREEN_REL.xml @@ -0,0 +1,132 @@ + + + + + + id,plan_no,pack_code,prod_code,transfer_no + ,screen_rule_no,manager_org_code,gmt_create,gmt_modified + + + + + sf.id,sf.plan_no,sf.pack_code,sf.prod_code,sf.transfer_no + ,sf.screen_rule_no,sf.manager_org_code,sf.gmt_create,sf.gmt_modified + + + + + + + + + + + INSERT INTO abs_pack_tran_screen_rel( + id + ,plan_no + ,pack_code + ,prod_code + ,transfer_no + ,screen_rule_no + ,manager_org_code + ,gmt_create + ,gmt_modified + )VALUES + ( + SEQ_ABS_PACK_TRAN_SCREEN_REL.nextval + , #{item.planNo,jdbcType=VARCHAR} + , #{item.packCode,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , #{item.transferNo,jdbcType=VARCHAR} + , #{item.screenRuleNo,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.gmtCreate,jdbcType=DATE} + , #{item.gmtModified,jdbcType=DATE} + ) + + + + + + + + + + DELETE FROM abs_pack_tran_screen_rel + WHERE + + + + + SELECT * + FROM abs_pack_tran_screen_rel + WHERE + + + + + + SELECT * + FROM abs_pack_tran_screen_rel + WHERE + + + + + SELECT * + FROM abs_pack_tran_screen_rel + WHERE + + +
diff --git a/dalgen/configTables/ABS_PLAN.xml b/dalgen/configTables/ABS_PLAN.xml new file mode 100644 index 0000000..a201f0b --- /dev/null +++ b/dalgen/configTables/ABS_PLAN.xml @@ -0,0 +1,573 @@ + + + + + + ID,LAST_UPDATE_DATE,TOTAL_AMT,PLAN_NO,STATUS + ,CREATOR,FUND_TYPE,MODIFIER,PLAN_NAME,APPROVE_STATUS + ,PLAN_MGR_ORG_CODE,SPONSOR_ORG_CODE,END_DATE,WAIT_FOR_DATE + ,BEGIN_DATE,GMT_CREATE,EFFECT_DATE,GMT_MODIFIED + ,FIRST_PAY_DATE,INIT_CALC_DATE,FIRST_CLEAR_DATE + ,PAY_FREQ,CALC_INTR_TYPE,VAT_RATE,GMT_CREATOR,GMT_MODIFIER + ,PASSED,PLAN_TYPE,PRICE_TYPE,FIN_SER_FEE_RATE,PLAN_FULL_NAME + ,FEE_CONFIG,CALC_FEE_TYPE,PAYMENT_TYPE, FEE_EXTEND_EFF, ALLOC_TEMPLATE_NO + ,PAYMENT_MODEL,TRUST_CODE,ALLOC_EFF,POND_NO ,OUT_PLAN_NO + + + + + sf.ID,sf.LAST_UPDATE_DATE,sf.TOTAL_AMT,sf.PLAN_NO,sf.STATUS + ,sf.CREATOR,sf.FUND_TYPE,sf.MODIFIER,sf.PLAN_NAME,sf.APPROVE_STATUS + ,sf.PLAN_MGR_ORG_CODE,sf.SPONSOR_ORG_CODE,sf.END_DATE,sf.WAIT_FOR_DATE + ,sf.BEGIN_DATE,sf.GMT_CREATE,sf.EFFECT_DATE,sf.GMT_MODIFIED + ,sf.FIRST_PAY_DATE,sf.INIT_CALC_DATE,sf.FIRST_CLEAR_DATE + ,sf.PAY_FREQ,sf.CALC_INTR_TYPE,sf.VAT_RATE,sf.GMT_CREATOR,sf.GMT_MODIFIER + ,sf.PASSED,sf.PLAN_TYPE,sf.PRICE_TYPE,sf.FIN_SER_FEE_RATE,sf.PLAN_FULL_NAME + ,sf.FEE_CONFIG,sf.CALC_FEE_TYPE,sf.PAYMENT_TYPE, sf.FEE_EXTEND_EFF, sf.ALLOC_TEMPLATE_NO + ,sf.PAYMENT_MODEL,sf.TRUST_CODE,sf.ALLOC_EFF,sf.POND_NO ,sf.OUT_PLAN_NO + + + + + + + + + + + + + + UPDATE abs_plan + SET + GMT_MODIFIED = sysdate + + ,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + + ,GMT_MODIFIER = #{gmtModifier,jdbcType=VARCHAR} + + + ,STATUS = #{status,jdbcType=VARCHAR} + + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + + + + + + SELECT * + FROM abs_plan + WHERE + + + + + SELECT * + FROM abs_plan + WHERE + + + + + SELECT * + FROM abs_plan + WHERE + PLAN_NO + IN + + #{planNo,jdbcType=VARCHAR} + + + AND ( + PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + + + select count(*) + FROM abs_plan + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + OR + PLAN_NAME = #{planName,jdbcType=VARCHAR} + + + + select count(*) + FROM abs_plan + WHERE + PLAN_NO != #{planNo,jdbcType=VARCHAR} + AND + PLAN_NAME = #{planName,jdbcType=VARCHAR} + + + + + + + + SELECT + sf.* + ,oe.STOP_PAY_DATE + FROM + ABS_PLAN sf + left join ABS_ORGANIZATION_ENTITY oe on sf.plan_no = oe.ENTITY_CODE + WHERE + ( + sf.PASSED = #{passed,jdbcType=CHAR} + + OR + sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR} + OR + sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR} + + ) + + AND sf.PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + + AND sf.PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + + + AND sf.POND_NO = #{pondNo,jdbcType=VARCHAR} + + + AND sf.PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + + + AND sf.SPONSOR_ORG_CODE = #{sponsorOrgCode,jdbcType=CHAR} + + + AND sf.STATUS = #{planStatus,jdbcType=CHAR} + + + AND sf.STATUS IN + + #{status,jdbcType=VARCHAR} + + + + AND oe.MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + AND sf.END_DATE <= #{latestEndDate,jdbcType=DATE} + + + AND sf.END_DATE >= #{earliestEndDate,jdbcType=DATE} + + + AND ( + sf.PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + sf.PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + + AND + (sf.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + AND sf.PLAN_NO IN + + #{item,jdbcType=VARCHAR} + + + ) + + + AND sf.PLAN_NO IN + + #{item,jdbcType=VARCHAR} + + + ORDER BY BEGIN_DATE DESC , ID ASC + + + + + SELECT + * + FROM + ABS_PLAN + WHERE + STATUS IN + + #{status,jdbcType=VARCHAR} + + + AND PLAN_TYPE IN + + #{planType,jdbcType=VARCHAR} + + + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + + ORDER BY PLAN_TYPE DESC,BEGIN_DATE DESC + + + + SELECT + SUM(i.LAYER_AMT) + FROM + ABS_PLAN p left join ABS_PLAN_INVEST_STRUCTURE i on i.PLAN_NO = p.PLAN_NO + WHERE + p.PLAN_TYPE IN + + #{planType,jdbcType=VARCHAR} + + + AND p.STATUS IN + + #{status,jdbcType=VARCHAR} + + + + + AND p.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + SELECT + PLAN.TOTAL_AMOUNT,PLAN.LEGAL_END_DATE,TRANSFER.IS_RECYCLE_ACQUISITION,PLAN.BEGIN_DATE + FROM + ABS_PLAN PLAN + LEFT JOIN + ABS_TRANSFER_RULE TRANSFER + ON PLAN.TRANSFER_RULE_NO=TRANSFER.TRANSFER_RULE_NO + WHERE + PLAN.PLAN_NO= #{planNo,jdbcType=VARCHAR} + + + + SELECT + sf.* + FROM ABS_PLAN sf + JOIN ABS_ORGANIZATION_ENTITY aon + ON sf.plan_no = aon.ENTITY_CODE + WHERE + aon.MANAGER_ORG_CODE=#{managerOrgCode,jdbcType=VARCHAR} + AND + sf.PLAN_TYPE = 'SPV' + + + + SELECT + COUNT(*) + FROM + ABS_PLAN + WHERE + LAST_UPDATE_DATE != #{curDate,jdbcType=DATE} + AND + STATUS IN + + #{one,jdbcType=VARCHAR} + + + + + + + + + SELECT + * + FROM + ABS_PLAN + WHERE + STATUS in + + #{one,jdbcType=VARCHAR} + + + AND PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + + AND ( + PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + OR + PLAN_NO = #{planName,jdbcType=VARCHAR} + ) + + + AND PLAN_NO IN (SELECT ENTITY_CODE FROM ABS_ORGANIZATION_ENTITY WHERE MANAGER_ORG_CODE = + #{managerOrgCode,jdbcType=VARCHAR} ) + + + AND END_DATE <= #{latestEndDate,jdbcType=DATE} + + + AND END_DATE >= #{earliestEndDate,jdbcType=DATE} + + ORDER BY PLAN_TYPE,BEGIN_DATE,PLAN_NAME + + + + SELECT + * + FROM + ABS_PLAN + WHERE + POND_NO = #{pondNo,jdbcType=VARCHAR} + + AND + PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + ORDER BY END_DATE DESC + + + + SELECT + * + FROM + ABS_PLAN + WHERE + APPROVE_STATUS = 'PASSED' + AND + PLAN_TYPE = #{planType,jdbcType=VARCHAR} + AND + SPONSOR_ORG_CODE + IN + + #{sponsorOrgCode,jdbcType=VARCHAR} + + ORDER BY GMT_CREATE DESC + + + + SELECT + * + FROM + ABS_PLAN + WHERE + POND_NO IN + + #{pondNo,jdbcType=VARCHAR} + + + AND + STATUS IN + + #{status,jdbcType=VARCHAR} + + + ORDER BY END_DATE DESC + + + + select * from abs_plan where end_date = trunc(#{endDate,jdbcType=DATE}) + +
diff --git a/dalgen/configTables/ABS_PLAN_ACCT_TITLE.xml b/dalgen/configTables/ABS_PLAN_ACCT_TITLE.xml new file mode 100644 index 0000000..0c96d9b --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_ACCT_TITLE.xml @@ -0,0 +1,364 @@ + + + + + + + + + + + + + + + + ID,BAL,PAY_AMT,RECP_AMT,PAY_VATAX,TOTAL_AMT,ENTRY_AMT,REF_NO + ,INIT_AMT,RECP_VATAX,UPPER_LIMIT,PLAN_NO,TITLE_NO + ,CALC_TYPE,TITLE_NAME,TITLE_TYPE,SCALE_TYPE,GMT_CREATE + ,GMT_MODIFIED,LAST_PAY_DATE,LAST_SETTLE_DATE,RATE + ,FIN_SER_FEE_TYPE,EFFECT_DATE,CALC_INTR_TYPE,LAST_ENTRY_AMT,TITLE_CODE + + + + + sf.ID,sf.BAL,sf.PAY_AMT,sf.RECP_AMT,sf.PAY_VATAX,sf.TOTAL_AMT,sf.ENTRY_AMT,sf.REF_NO + ,sf.INIT_AMT,sf.RECP_VATAX,sf.UPPER_LIMIT,sf.PLAN_NO,sf.TITLE_NO + ,sf.CALC_TYPE,sf.TITLE_NAME,sf.TITLE_TYPE,sf.SCALE_TYPE,sf.GMT_CREATE + ,sf.GMT_MODIFIED,sf.LAST_PAY_DATE,sf.LAST_SETTLE_DATE,sf.RATE + ,sf.FIN_SER_FEE_TYPE,sf.EFFECT_DATE,sf.CALC_INTR_TYPE,sf.LAST_ENTRY_AMT, sf.TITLE_CODE + + + + + + + + + + + INSERT INTO abs_plan_acct_title( + ID + ,BAL + ,PAY_AMT + ,RECP_AMT + ,PAY_VATAX + ,TOTAL_AMT + ,ENTRY_AMT + ,REF_NO + ,INIT_AMT + ,RECP_VATAX + ,UPPER_LIMIT + ,PLAN_NO + ,TITLE_NO + ,CALC_TYPE + ,TITLE_NAME + ,TITLE_TYPE + ,SCALE_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + ,LAST_PAY_DATE + ,LAST_SETTLE_DATE + ,RATE + ,FIN_SER_FEE_TYPE + ,EFFECT_DATE + ,CALC_INTR_TYPE + ,LAST_ENTRY_AMT + ,TITLE_CODE + )VALUES + ( + SEQ_ABS_PLAN_ACCT_TITLE.nextval + , #{item.bal,jdbcType=BIGINT} + , #{item.payAmt,jdbcType=BIGINT} + , #{item.recpAmt,jdbcType=BIGINT} + , #{item.payVatax,jdbcType=BIGINT} + , #{item.totalAmt,jdbcType=DECIMAL} + , #{item.entryAmt,jdbcType=BIGINT} + , #{item.refNo,jdbcType=VARCHAR} + , #{item.initAmt,jdbcType=BIGINT} + , #{item.recpVatax,jdbcType=BIGINT} + , #{item.upperLimit,jdbcType=BIGINT} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.titleNo,jdbcType=VARCHAR} + , #{item.calcType,jdbcType=VARCHAR} + , #{item.titleName,jdbcType=VARCHAR} + , #{item.titleType,jdbcType=VARCHAR} + , #{item.scaleType,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.lastPayDate,jdbcType=TIMESTAMP} + , #{item.lastSettleDate,jdbcType=TIMESTAMP} + , #{item.rate,jdbcType=DECIMAL} + , #{item.finSerFeeType,jdbcType=VARCHAR} + , #{item.effectDate,jdbcType=DATE} + , #{item.calcIntrType,jdbcType=VARCHAR} + , #{item.lastEntryAmt,jdbcType=BIGINT} + , #{item.titleCode,jdbcType=VARCHAR} + ) + + + + + + + + + + UPDATE abs_plan_acct_title + SET + BAL = #{bal,jdbcType=BIGINT} + ,PAY_AMT = #{payAmt,jdbcType=BIGINT} + ,RECP_AMT = #{recpAmt,jdbcType=BIGINT} + ,PAY_VATAX = #{payVatax,jdbcType=BIGINT} + ,RECP_VATAX = #{recpVatax,jdbcType=BIGINT} + ,UPPER_LIMIT = #{upperLimit,jdbcType=BIGINT} + ,SCALE_TYPE = #{scaleType,jdbcType=BIGINT} + ,TOTAL_AMT = #{totalAmt,jdbcType=DECIMAL} + ,ENTRY_AMT = #{entryAmt,jdbcType=BIGINT} + ,LAST_ENTRY_AMT = #{lastEntryAmt,jdbcType=BIGINT} + ,GMT_MODIFIED = sysdate + ,LAST_PAY_DATE = #{lastPayDate,jdbcType=TIMESTAMP} + ,LAST_SETTLE_DATE = #{lastSettleDate,jdbcType=TIMESTAMP} + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + TITLE_NO = #{titleNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + ORDER BY CALC_TYPE , REF_NO, TITLE_NO + + + + SELECT * + FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND TITLE_TYPE in + + #{titleType,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_plan_acct_title + WHERE + CALC_TYPE= #{calcType,jdbcType=VARCHAR} + AND PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND TITLE_NO = #{titleNo,jdbcType=VARCHAR} + + + + DELETE FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + SELECT + nvl(SUM(bal),0) as bal + FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND TITLE_TYPE IN + + #{TITLE_TYPE,jdbcType=VARCHAR} + + + + + SELECT + nvl(SUM(bal),0) as bal + FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND TITLE_TYPE IN + + #{TITLE_TYPE,jdbcType=VARCHAR} + + + AND EFFECT_DATE <= #{accountDate,jdbcType=DATE} + + + + SELECT * + FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + REF_NO = #{refNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_acct_title + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + TITLE_CODE = #{titleCode,jdbcType=VARCHAR} + + + + + + + + + SELECT + nvl(SUM(BAL),0) as BAL, + plan_no + FROM abs_plan_acct_title + WHERE + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + AND TITLE_TYPE IN + + #{TITLE_TYPE,jdbcType=VARCHAR} + + AND EFFECT_DATE <= #{accountDate,jdbcType=DATE} + GROUP BY PLAN_NO + + + + + + + SELECT t.*,p.PLAN_NAME + FROM abs_plan_acct_title t left join abs_plan p on t.PLAN_NO = p.PLAN_NO + + + AND t.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND + p.PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + + + AND ( + t.TITLE_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + t.TITLE_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + t.REF_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + AND t.TITLE_TYPE IN + + #{titleType,jdbcType=VARCHAR} + + + + order by t.PLAN_NO, t.TITLE_TYPE, t.CALC_TYPE + +
diff --git a/dalgen/configTables/ABS_PLAN_ACCT_TITLE_LOG.xml b/dalgen/configTables/ABS_PLAN_ACCT_TITLE_LOG.xml new file mode 100644 index 0000000..4d79c18 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_ACCT_TITLE_LOG.xml @@ -0,0 +1,175 @@ + + + + + + + + + + + + + ID,AF_BAL,BF_BAL,ACCT_AMT,VTAX_AMT + ,BIZ_NO,REF_NO,SEQ_NO,PLAN_NO,TITLE_NO,LAST_ENTRY_AMT + ,ACCT_EVENT,TITLE_NAME,TITLE_TYPE,GMT_CREATE,ACCOUNT_DATE + ,GMT_MODIFIED + + + + + sf.ID,sf.AF_BAL,sf.BF_BAL,sf.ACCT_AMT,sf.VTAX_AMT + ,sf.BIZ_NO,sf.REF_NO,sf.SEQ_NO,sf.PLAN_NO,sf.TITLE_NO,sf.LAST_ENTRY_AMT + ,sf.ACCT_EVENT,sf.TITLE_NAME,sf.TITLE_TYPE,sf.GMT_CREATE,sf.ACCOUNT_DATE + ,sf.GMT_MODIFIED + + + + + + + INSERT INTO abs_plan_acct_title_log( + ID + ,AF_BAL + ,BF_BAL + ,ACCT_AMT + ,VTAX_AMT + ,LAST_ENTRY_AMT + ,BIZ_NO + ,REF_NO + ,SEQ_NO + ,PLAN_NO + ,TITLE_NO + ,ACCT_EVENT + ,TITLE_NAME + ,TITLE_TYPE + ,GMT_CREATE + ,ACCOUNT_DATE + ,GMT_MODIFIED + )VALUES + ( + seq_abs_plan_acct_title_log.nextval + , #{item.afBal,jdbcType=BIGINT} + , #{item.bfBal,jdbcType=BIGINT} + , #{item.acctAmt,jdbcType=BIGINT} + , #{item.vtaxAmt,jdbcType=BIGINT} + , #{item.lastEntryAmt,jdbcType=BIGINT} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.refNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.titleNo,jdbcType=VARCHAR} + , #{item.acctEvent,jdbcType=VARCHAR} + , #{item.titleName,jdbcType=VARCHAR} + , #{item.titleType,jdbcType=VARCHAR} + , sysdate + , #{item.accountDate,jdbcType=DATE} + , sysdate + ) + + + + + SELECT * + FROM abs_plan_acct_title_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND ACCOUNT_DATE between #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + + + SELECT + l.* + FROM + abs_plan_acct_title t + left join + abs_plan_acct_title_log l + on + t.title_no=l.title_no + WHERE + t.PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + t.CALC_TYPE = #{calcType,jdbcType=VARCHAR} + AND + l.ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND + l.ACCT_EVENT = #{acctEvent,jdbcType=VARCHAR} + AND + ROWNUM = 1 + + + + SELECT + SUM(AF_BAL) AF_BAL + ,SUM(BF_BAL) BF_BAL + ,SUM(ACCT_AMT) ACCT_AMT + ,SUM(VTAX_AMT) VTAX_AMT + ,PLAN_NO + FROM abs_plan_acct_title_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + + + + AND ACCT_EVENT = #{acctEvent,jdbcType=VARCHAR} + + AND TITLE_TYPE in + + #{titleType,jdbcType=VARCHAR} + + + GROUP BY PLAN_NO + + + + SELECT * + FROM abs_plan_acct_title_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND + TITLE_NO = #{titleNo,jdbcType=VARCHAR} + AND + ACCT_EVENT = #{acctEvent,jdbcType=VARCHAR} + ORDER BY GMT_CREATE DESC, ID DESC + + + + SELECT * + FROM abs_plan_acct_title_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCT_EVENT = #{acctEvent,jdbcType=VARCHAR} + AND TITLE_TYPE in + + #{titleType,jdbcType=VARCHAR} + + + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + + + SELECT * + FROM abs_plan_acct_title_log + WHERE + TITLE_NO = #{titleNo,jdbcType=VARCHAR} + AND ACCT_EVENT = #{acctEvent,jdbcType=VARCHAR} + AND BIZ_NO = #{bizNo,jdbcType=VARCHAR} + + + + delete from abs_plan_acct_title_log where title_no = #{titleNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_ALLOC.xml b/dalgen/configTables/ABS_PLAN_ALLOC.xml new file mode 100644 index 0000000..1d76520 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_ALLOC.xml @@ -0,0 +1,385 @@ + + + + + + ID,ALLOC_NO,PAY_DATE,CLEAR_DATE,GMT_CREATE + ,GMT_MODIFIED,ALLOC_AMT,PLAN_NO,STATUS,APPROVE_STATUS + ,PLAN_TYPE,PAY_TYPE,PAY_ACCOUNT_DATE + + + + + sf.ID,sf.ALLOC_NO,sf.PAY_DATE,sf.CLEAR_DATE,sf.GMT_CREATE + ,sf.GMT_MODIFIED,sf.ALLOC_AMT,sf.PLAN_NO,sf.STATUS + ,sf.APPROVE_STATUS,sf.PLAN_TYPE,sf.PAY_TYPE,sf.PAY_ACCOUNT_DATE + + + + + + + + + + + INSERT INTO abs_plan_alloc( + ID + ,ALLOC_NO + ,PAY_DATE + ,CLEAR_DATE + ,GMT_CREATE + ,GMT_MODIFIED + ,ALLOC_AMT + ,PLAN_NO + ,STATUS + ,APPROVE_STATUS + ,PLAN_TYPE + ,PAY_TYPE + ,PAY_ACCOUNT_DATE + )VALUES + ( + SEQ_ABS_PLAN_ALLOC.nextval + , #{item.allocNo,jdbcType=VARCHAR} + , #{item.payDate,jdbcType=DATE} + , #{item.clearDate,jdbcType=DATE} + , sysdate + , sysdate + , #{item.allocAmt,jdbcType=BIGINT} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.approveStatus,jdbcType=VARCHAR} + , #{item.planType,jdbcType=VARCHAR} + , #{item.payType,jdbcType=VARCHAR} + , #{item.payAccountDate,jdbcType=DATE} + ) + + + + + + + + + + + + + SELECT * + FROM abs_plan_alloc + WHERE + + + + + + + + + + SELECT * + FROM abs_plan_alloc + WHERE + + ORDER BY CLEAR_DATE + + + + SELECT * + FROM ABS_PLAN_ALLOC + WHERE + STATUS = #{status,jdbcType=VARCHAR} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND + PAY_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + + + + select * from( + SELECT + sf.* + FROM ABS_PLAN_ALLOC sf + WHERE + sf.PAY_DATE >= #{payDate,jdbcType=DATE} + AND + sf.PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + AND sf.PLAN_NO IN + + #{onePlanNo, jdbcType=VARCHAR} + + + + AND sf.STATUS = #{status,jdbcType=VARCHAR} + + ORDER BY sf.PAY_DATE + ) tab where ROWNUM = 1 + + + + + SELECT count(*) cnt + FROM abs_plan_alloc + WHERE + CLEAR_DATE = #{clearDate,jdbcType=VARCHAR} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ALLOC_NO != #{allocNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_alloc + WHERE + + + + + SELECT * + FROM ABS_PLAN_ALLOC + WHERE + APPROVE_STATUS = 'PASSED' + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ALLOC_NO NOT IN( + SELECT BIZ_NO + FROM ABS_COMMON_TASK + WHERE + TASK_TYPE='CAPTITALASSERT_UNMATCH' + ) + + + + SELECT SUM(ALLOC_AMT) ALLOC_AMT + FROM ABS_PLAN_ALLOC + WHERE + STATUS = #{status,jdbcType=VARCHAR} + AND + APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND + PAY_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + GROUP BY PLAN_NO + + + + SELECT SUM(ALLOC_AMT) ALLOC_AMT + FROM ABS_PLAN_ALLOC + WHERE + STATUS = #{status,jdbcType=VARCHAR} + AND + APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + AND PLAN_NO IN + + #{onePlanNo, jdbcType=VARCHAR} + + + + AND + PAY_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + + + + DELETE FROM abs_plan_alloc + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + SELECT + * + FROM + ABS_PLAN_ALLOC + WHERE + 'ASSIGNED' + ]]> + + + + SELECT + * + FROM + ABS_PLAN_ALLOC + WHERE + STATUS = #{status,jdbcType=VARCHAR} + + AND + ( + PAY_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + OR + CLEAR_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + ) + + + AND PLAN_NO IN + + #{onePlanNo, jdbcType=VARCHAR} + + + order by CLEAR_DATE , PAY_DATE + + + + + SELECT + * + FROM + ABS_PLAN_ALLOC + WHERE + STATUS = 'ASSIGNED' + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + SELECT + sf.* + FROM + ABS_PLAN_ALLOC sf + left join abs_plan plan on plan.plan_no = sf.plan_no + WHERE + sf.PAY_DATE = #{payDate,jdbcType=DATE} + AND + sf.CLEAR_DATE = #{clearDate,jdbcType=DATE} + + AND sf.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND sf.APPROVE_STATUS in + + #{approveStatus,jdbcType=VARCHAR} + + + + AND sf.STATUS = #{status,jdbcType=VARCHAR} + + + and plan.status in + + #{planStatus,jdbcType=VARCHAR} + + + + + + SELECT PAY_DATE,CLEAR_DATE FROM ( + SELECT + PAY_DATE,CLEAR_DATE + FROM + ABS_PLAN_ALLOC + + + CLEAR_DATE = #{clearDate,jdbcType=DATE} + + + AND PAY_DATE = #{payDate,jdbcType=DATE} + + + AND STATUS = #{status,jdbcType=VARCHAR} + + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + GROUP BY PAY_DATE,CLEAR_DATE ) ORDER BY PAY_DATE,CLEAR_DATE ASC + + + + + UPDATE abs_plan_alloc + SET + CLEAR_DATE = #{clearDate,jdbcType=DATE} + PAY_DATE = #{payDate,jdbcType=DATE} + WHERE + ALLOC_NO IN + + #{allocNo,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_PLAN_ALLOC_FROZEN.xml b/dalgen/configTables/ABS_PLAN_ALLOC_FROZEN.xml new file mode 100644 index 0000000..9c1d693 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_ALLOC_FROZEN.xml @@ -0,0 +1,143 @@ + + + + + + + + + FROZEN_CASH,LAST_FROZEN_CASH,PLAN_NO,ALLOC_NO,GMT_CREATE + ,GMT_MODIFIED,LAST_UPDATE_DATE,ACT_ATTR + + + + + sf.FROZEN_CASH,sf.LAST_FROZEN_CASH,sf.PLAN_NO,sf.ALLOC_NO,sf.GMT_CREATE + ,sf.GMT_MODIFIED,sf.LAST_UPDATE_DATE,sf.ACT_ATTR + + + + + + + + + + + INSERT INTO abs_plan_alloc_frozen( + FROZEN_CASH + ,LAST_FROZEN_CASH + ,PLAN_NO + ,ALLOC_NO + ,GMT_CREATE + ,GMT_MODIFIED + ,LAST_UPDATE_DATE + ,ACT_ATTR + )VALUES + ( + #{item.frozenCash,jdbcType=DECIMAL} + , #{item.lastFrozenCash,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.allocNo,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.lastUpdateDate,jdbcType=DATE} + , #{item.actAttr,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + + + + + + SELECT * + FROM abs_plan_alloc_frozen + WHERE + + + + + SELECT + * + FROM abs_plan_alloc_frozen + WHERE + ALLOC_NO + IN + + #{allocNo,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_plan_alloc_frozen + + + AND PLAN_NO LIKE CONCAT(CONCAT('%',#{planNo,jdbcType=VARCHAR}),'%') + + + AND ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + + + AND ALLOC_NO LIKE CONCAT(CONCAT('%',#{allocNo,jdbcType=VARCHAR}),'%') + + + ORDER BY GMT_CREATE DESC, PLAN_NO + + +
diff --git a/dalgen/configTables/ABS_PLAN_ALLOC_FROZEN_RULE.xml b/dalgen/configTables/ABS_PLAN_ALLOC_FROZEN_RULE.xml new file mode 100644 index 0000000..35d6b17 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_ALLOC_FROZEN_RULE.xml @@ -0,0 +1,100 @@ + + + + + + RATIO_FROZEN_DAYS,TOTAL_FROZEN_DAYS,PLAN_NO,EFF + ,GMT_CREATE,GMT_MODIFIED + + + + + sf.RATIO_FROZEN_DAYS,sf.TOTAL_FROZEN_DAYS,sf.PLAN_NO,sf.EFF + ,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_alloc_frozen_rule( + RATIO_FROZEN_DAYS + ,TOTAL_FROZEN_DAYS + ,PLAN_NO + ,EFF + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + #{item.ratioFrozenDays,jdbcType=DECIMAL} + , #{item.totalFrozenDays,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.eff,jdbcType=CHAR} + , sysdate + , sysdate + ) + + + + + + + + + + + + + + + SELECT * + FROM abs_plan_alloc_frozen_rule + WHERE + + + + + SELECT * + FROM abs_plan_alloc_frozen_rule + WHERE + PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_PLAN_ALLOC_ITEM.xml b/dalgen/configTables/ABS_PLAN_ALLOC_ITEM.xml new file mode 100644 index 0000000..1a93f59 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_ALLOC_ITEM.xml @@ -0,0 +1,220 @@ + + + + + + + ID,TRIAL_AMT,CONFIRM_AMT,TRIAL_TAX_AMT,CONFIRM_TAX_AMT + ,ITEM_NO,PLAN_NO,ALLOC_NO,TITLE_NO,TAX,SORT + ,GMT_CREATE,GMT_MODIFIED,SETTLE_AMT,PAID_AMT,PAID_TAX_AMT + + + + + sf.ID,sf.TRIAL_AMT,sf.CONFIRM_AMT,sf.TRIAL_TAX_AMT,sf.CONFIRM_TAX_AMT + ,sf.ITEM_NO,sf.PLAN_NO,sf.ALLOC_NO,sf.TITLE_NO,sf.TAX,sf.SORT + ,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.SETTLE_AMT,sf.PAID_AMT,sf.PAID_TAX_AMT + + + + + + + + + + + INSERT INTO abs_plan_alloc_item( + ID + ,TRIAL_AMT + ,CONFIRM_AMT + ,TRIAL_TAX_AMT + ,CONFIRM_TAX_AMT + ,ITEM_NO + ,PLAN_NO + ,ALLOC_NO + ,TITLE_NO + ,TAX + ,SORT + ,GMT_CREATE + ,GMT_MODIFIED + ,SETTLE_AMT + ,PAID_AMT + ,PAID_TAX_AMT + )VALUES + + ( + SEQ_ABS_PLAN_ALLOC_ITEM.nextval + , #{item.trialAmt,jdbcType=BIGINT} + , #{item.confirmAmt,jdbcType=BIGINT} + , #{item.trialTaxAmt,jdbcType=BIGINT} + , #{item.confirmTaxAmt,jdbcType=BIGINT} + , #{item.itemNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.allocNo,jdbcType=VARCHAR} + , #{item.titleNo,jdbcType=VARCHAR} + , #{item.tax,jdbcType=CHAR} + , #{item.sort,jdbcType=INTEGER} + , sysdate + , sysdate + , #{item.settleAmt,jdbcType=BIGINT} + , #{item.paidAmt,jdbcType=BIGINT} + , #{item.paidTaxAmt,jdbcType=BIGINT} + ) + + + + + + + + + + SELECT * + FROM abs_plan_alloc_item + WHERE + + + + + begin + + UPDATE abs_plan_alloc_item + SET + GMT_MODIFIED = sysdate + ,PAID_AMT = #{item.paidAmt,jdbcType=BIGINT} + ,PAID_TAX_AMT = #{item.paidTaxAmt,jdbcType=BIGINT} + WHERE + ITEM_NO = #{item.itemNo,jdbcType=VARCHAR} + + ;end; + + + + + + + + SELECT * + FROM abs_plan_alloc_item + WHERE + + + + + + + + + + + + + select sf.*,t.title_name,t.TITLE_TYPE, + decode(t.FIN_SER_FEE_TYPE, 'WITHHOLD', '0', 'PERIOD', '0', '1') as pay_trial + from + abs_plan_alloc_item sf + left join abs_plan_acct_title t + ON sf.title_no = t.title_no + where + sf.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + order by sf.ALLOC_NO asc,sf.SORT asc + + + + SELECT sf.*,t.TITLE_NAME,t.TITLE_TYPE,TITLE_CODE, + decode(t.FIN_SER_FEE_TYPE, 'WITHHOLD', '0', 'PERIOD', '0', '1') as pay_trial + FROM + ABS_PLAN_ALLOC_ITEM sf + left join abs_plan_acct_title t + ON sf.title_no = t.title_no + WHERE + sf.ALLOC_NO = #{allocNo,jdbcType=VARCHAR} + ORDER BY sf.SORT asc + + + + + + + + DELETE FROM abs_plan_alloc_item + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_AST.xml b/dalgen/configTables/ABS_PLAN_AST.xml new file mode 100644 index 0000000..4e58a02 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_AST.xml @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + CASH,BANK_BAL,ACC_GRANT,PAY_CLEAR,PAY_ON_WAY,CHECK_CASH + ,REPO_CLEAR,REPO_ON_WAY,FROZEN_CASH,LAST_BANK_BAL,PLAN_NO,PLAN_TYPE + ,STATUS,GMT_CREATE,GMT_MODIFIED,LAST_UPDATE_DATE,BANK_MODIFIED,ACT_ATTR,REL_CASH + + + + + sf.CASH,sf.BANK_BAL,sf.ACC_GRANT,sf.PAY_CLEAR,sf.PAY_ON_WAY,sf.CHECK_CASH + ,sf.REPO_CLEAR,sf.REPO_ON_WAY,sf.FROZEN_CASH,sf.LAST_BANK_BAL,sf.PLAN_NO,sf.PLAN_TYPE + ,sf.STATUS,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LAST_UPDATE_DATE,sf.BANK_MODIFIED,sf.ACT_ATTR,sf.REL_CASH + + + + + + + + + + + + + + + + + + + + + + + SELECT + * + FROM + ABS_PLAN_AST + WHERE + + FOR UPDATE NOWAIT + + + + SELECT + * + FROM + ABS_PLAN_AST + WHERE + + + + + SELECT + SUM(ACC_GRANT) + FROM + ABS_PLAN_AST + WHERE + PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + AND PLAN_NO IN + + #{onePlanNo, jdbcType=VARCHAR} + + + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + select + p.PLAN_NAME + , p.STATUS PLAN_STATUS + , p.PAYMENT_TYPE + , nvl(t.RES_AMT,0) RES_AMT + , nvl(t.CYCLE,'1') CYCLE + , sf.* + , ps.RECEIVE_AMT + from ABS_PLAN_AST sf + left join ABS_PLAN p on sf.PLAN_NO = p.PLAN_NO + left join (SELECT RES_AMT,CYCLE,PLAN_NO FROM ABS_PLAN_TRANSFER_RULE WHERE TRANSFER_TYPE = 'PRIVATE') t on sf.PLAN_NO = t.PLAN_NO + left join (select sum(RECEIVE_AMT) RECEIVE_AMT,plan_no from ABS_PLAN_INVEST_STRUCTURE ps group by ps.plan_no) ps on sf.plan_no=ps.plan_no + WHERE + p.STATUS in + + #{status,jdbcType=VARCHAR} + + + AND sf.PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND sf.ACT_ATTR IN + + #{actAttr, jdbcType=VARCHAR} + + + + AND ( + p.PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + p.PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + AND PAY_CLEAR = 0 + AND PAY_ON_WAY = 0 + AND REPO_CLEAR = 0 + AND REPO_ON_WAY = 0 + AND BANK_BAL != CASH + AND PAYMENT_TYPE != 'OFFLINE' + + + AND PAY_CLEAR = 0 + AND PAY_ON_WAY = 0 + AND REPO_CLEAR = 0 + AND REPO_ON_WAY = 0 + AND BANK_BAL = CASH + + + AND (PAY_CLEAR + PAY_ON_WAY + REPO_CLEAR + REPO_ON_WAY) != 0 + + + AND sf.PLAN_TYPE = #{planType,jdbcType=VARCHAR} + + + AND + sf.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + ORDER BY sf.PLAN_TYPE DESC, sf.GMT_CREATE DESC, sf.PLAN_NO + + + + SELECT sf.* + FROM ABS_PLAN_AST sf + WHERE + sf.ACT_ATTR + IN + + #{attr,jdbcType=VARCHAR} + + AND + sf.PLAN_NO + IN + + #{planNo,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + ABS_PLAN_AST + WHERE + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + AND ACT_ATTR IN + + #{actAttr,jdbcType=VARCHAR} + + + + + + + select + sf.PLAN_NO + ,P.PLAN_NAME + ,sf.PLAN_TYPE + ,sf.CASH + ,(sf.PAY_ON_WAY + Sf.PAY_CLEAR) PAY_ON_WAY + ,(Sf.REPO_ON_WAY + sf.REPO_CLEAR) REPO_ON_WAY + ,(sf.FROZEN_CASH + t.RES_AMT) FROZEN_CASH + FROM ABS_PLAN_AST sf + LEFT JOIN ABS_PLAN p ON sf.PLAN_NO = p.PLAN_NO + LEFT JOIN (SELECT RES_AMT,PLAN_NO FROM ABS_PLAN_TRANSFER_RULE)t + ON sf.PLAN_NO = t.PLAN_NO + WHERE + sf.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + AND sf.ACT_ATTR IN + + #{actAttr,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_PLAN_AST_LOG.xml b/dalgen/configTables/ABS_PLAN_AST_LOG.xml new file mode 100644 index 0000000..15817eb --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_AST_LOG.xml @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID,CASH,BANK_BAL,CASH_AMT,ACC_GRANT,HAPPEN_AMT,TRANS_BIZ_NO,TRADER_TYPE + ,LAST_CASH,PAY_CLEAR,PAY_ON_WAY,REPO_CLEAR,REPO_ON_WAY,CHECK_CASH,LAST_CHECK_CASH + ,FROZEN_CASH,ACC_GRANT_AMT,LAST_BANK_BAL,LAST_ACC_GRANT,LAST_PAY_CLEAR + ,LAST_PAY_ON_WAY,FROZEN_CASH_AMT,LAST_REPO_CLEAR,LAST_REPO_ON_WAY,LAST_FROZEN_CASH + ,EXT_INF,PLAN_NO,TRANS_CODE,CHANGE_TYPE,GMT_CREATE + ,ACCOUNT_DATE,GMT_MODIFIED,ACT_ATTR,SEQ_NO,REL_CASH + + + + + sf.ID,sf.CASH,sf.BANK_BAL,sf.CASH_AMT,sf.ACC_GRANT, sf.HAPPEN_AMT,sf.TRANS_BIZ_NO,sf.TRADER_TYPE + ,sf.LAST_CASH,sf.PAY_CLEAR,sf.PAY_ON_WAY,sf.REPO_CLEAR,sf.REPO_ON_WAY,sf.CHECK_CASH,sf.LAST_CHECK_CASH + ,sf.FROZEN_CASH,sf.ACC_GRANT_AMT,sf.LAST_BANK_BAL,sf.LAST_ACC_GRANT,sf.LAST_PAY_CLEAR + ,sf.LAST_PAY_ON_WAY,sf.FROZEN_CASH_AMT,sf.LAST_REPO_CLEAR,sf.LAST_REPO_ON_WAY,sf.LAST_FROZEN_CASH + ,sf.EXT_INF,sf.PLAN_NO,sf.TRANS_CODE,sf.CHANGE_TYPE,sf.GMT_CREATE + ,sf.ACCOUNT_DATE,sf.GMT_MODIFIED,sf.ACT_ATTR,sf.SEQ_NO,sf.REL_CASH + + + + + + + + + + + INSERT INTO abs_plan_ast_log( + ID + ,CASH + ,BANK_BAL + ,CASH_AMT + ,ACC_GRANT + ,LAST_CASH + ,PAY_CLEAR + ,PAY_ON_WAY + ,REPO_CLEAR + ,REPO_ON_WAY + ,FROZEN_CASH + ,ACC_GRANT_AMT + ,LAST_BANK_BAL + ,LAST_ACC_GRANT + ,LAST_PAY_CLEAR + ,LAST_PAY_ON_WAY + ,FROZEN_CASH_AMT + ,LAST_REPO_CLEAR + ,LAST_REPO_ON_WAY + ,LAST_FROZEN_CASH + ,CHECK_CASH + ,LAST_CHECK_CASH + ,HAPPEN_AMT + ,EXT_INF + ,PLAN_NO + ,TRANS_CODE + ,TRANS_BIZ_NO + ,TRADER_TYPE + ,CHANGE_TYPE + ,GMT_CREATE + ,ACCOUNT_DATE + ,GMT_MODIFIED + ,ACT_ATTR + ,SEQ_NO + ,REL_CASH + ) VALUES ( + SEQ_ABS_PLAN_AST_LOG.nextval + , #{item.cash,jdbcType=DECIMAL} + , #{item.bankBal,jdbcType=DECIMAL} + , #{item.cashAmt,jdbcType=DECIMAL} + , #{item.accGrant,jdbcType=DECIMAL} + , #{item.lastCash,jdbcType=DECIMAL} + , #{item.payClear,jdbcType=DECIMAL} + , #{item.payOnWay,jdbcType=DECIMAL} + , #{item.repoClear,jdbcType=DECIMAL} + , #{item.repoOnWay,jdbcType=DECIMAL} + , #{item.frozenCash,jdbcType=DECIMAL} + , #{item.accGrantAmt,jdbcType=DECIMAL} + , #{item.lastBankBal,jdbcType=DECIMAL} + , #{item.lastAccGrant,jdbcType=DECIMAL} + , #{item.lastPayClear,jdbcType=DECIMAL} + , #{item.lastPayOnWay,jdbcType=DECIMAL} + , #{item.frozenCashAmt,jdbcType=DECIMAL} + , #{item.lastRepoClear,jdbcType=DECIMAL} + , #{item.lastRepoOnWay,jdbcType=DECIMAL} + , #{item.lastFrozenCash,jdbcType=DECIMAL} + , #{item.checkCash,jdbcType=DECIMAL} + , #{item.lastCheckCash,jdbcType=DECIMAL} + , #{item.happenAmt,jdbcType=DECIMAL} + , #{item.extInf,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.transBizNo,jdbcType=VARCHAR} + , #{item.traderType,jdbcType=VARCHAR} + , #{item.changeType,jdbcType=VARCHAR} + , sysdate + , #{item.accountDate,jdbcType=DATE} + , sysdate + , #{item.actAttr,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.relCash,jdbcType=DECIMAL} + ) + + + + + + + + + + + + + + + + + + + + + + SELECT + PLAN_NO, + TRANS_CODE, + ACCOUNT_DATE, + ACT_ATTR, + SUM(HAPPEN_AMT) as HAPPEN_AMT, + SUM(CASH_AMT) as CASH_AMT, + SUM(FROZEN_CASH_AMT) as FROZEN_CASH_AMT, + COUNT(1) as CNT + FROM abs_plan_ast_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + AND + TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND + CHANGE_TYPE = #{changeType,jdbcType=VARCHAR} + GROUP BY PLAN_NO, ACCOUNT_DATE, TRANS_CODE, ACT_ATTR + + + + SELECT + SUM(HAPPEN_AMT) as HAPPEN_AMT + FROM abs_plan_ast_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACT_ATTR in('NORMAL','RECV') + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + AND + TRANS_CODE in('PLN1006','PLN1004') + + + + SELECT + PLAN_NO, + TRANS_CODE, + ACCOUNT_DATE, + CHANGE_TYPE, + TRADER_TYPE, + ACT_ATTR, + SUM(CASH_AMT) as CASH_AMT, + SUM(HAPPEN_AMT) as HAPPEN_AMT, + SUM(FROZEN_CASH_AMT) as FROZEN_CASH_AMT, + COUNT(1) as CNT + FROM abs_plan_ast_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND + CHANGE_TYPE in ('on_way', 'unfrozen', 'frozen') + AND + TRANS_BIZ_NO != PLAN_NO + GROUP BY PLAN_NO, ACCOUNT_DATE, TRANS_CODE, CHANGE_TYPE, TRADER_TYPE,ACT_ATTR + + + + SELECT + PLAN_NO, + TRANS_CODE, + ACCOUNT_DATE, + CHANGE_TYPE, + TRADER_TYPE, + ACT_ATTR, + SUM(CASH_AMT) as CASH_AMT, + SUM(HAPPEN_AMT) as HAPPEN_AMT, + SUM(FROZEN_CASH_AMT) as FROZEN_CASH_AMT, + COUNT(1) as CNT + FROM abs_plan_ast_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND + CHANGE_TYPE in ('add', 'sub', 'frozen') + AND + TRANS_BIZ_NO = PLAN_NO + GROUP BY PLAN_NO, ACCOUNT_DATE, TRANS_CODE, CHANGE_TYPE, TRADER_TYPE,ACT_ATTR + + + + + + + + + SELECT + PLAN_NO, + sum( HAPPEN_AMT ) AMT, + CHANGE_TYPE + FROM + ABS_PLAN_AST_LOG + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND ( CHANGE_TYPE = 'add' OR CHANGE_TYPE = 'sub' ) + AND TRADER_TYPE = 'INITIATOR' + GROUP BY + PLAN_NO, CHANGE_TYPE + + + + SELECT + PLAN_NO, + sum( HAPPEN_AMT ) AMT, + CHANGE_TYPE + FROM + ABS_PLAN_AST_LOG + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + AND ACCOUNT_DATE <= #{accountDate,jdbcType=DATE} + AND TRANS_CODE in + + #{transCode,jdbcType=VARCHAR} + + AND CHANGE_TYPE = 'add' + AND TRADER_TYPE = 'INITIATOR' + GROUP BY PLAN_NO,CHANGE_TYPE + + + + + select max(id) from ABS_PLAN_AST_LOG + where + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + + + + + + + SELECT * + FROM ABS_PLAN_AST_LOG + + + AND + ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND TRANS_CODE IN + + #{transCode,jdbcType=VARCHAR} + + + + AND CHANGE_TYPE IN + + #{changeType,jdbcType=VARCHAR} + + + + AND TRANS_BIZ_NO LIKE CONCAT(CONCAT('%',#{transBizNo,jdbcType=VARCHAR}),'%') + + + AND ACCOUNT_DATE >= #{startDate,jdbcType=DATE} + + + AND ACCOUNT_DATE <= #{endDate,jdbcType=DATE} + + + AND GMT_CREATE >= #{startGmt,jdbcType=DATE} + + + AND GMT_CREATE <= #{endGmt,jdbcType=DATE} + + + AND + CHANGE_TYPE in ('add', 'sub', 'frozen') + AND + TRANS_BIZ_NO = PLAN_NO + + + ORDER BY GMT_CREATE DESC, ID DESC, PLAN_NO + + + + + SELECT + * + FROM ( + select + AST.* + ,ROW_NUMBER() over (ORDER BY AST.SEQ_NO DESC) RN + from + ABS_PLAN_AST_LOG AST + LEFT JOIN ( + SELECT + GMT_CREATE + FROM + abs_ast_sync_task_ctr_log + WHERE + ORG_CODE = #{orgCode,jdbcType=VARCHAR} + AND + task_type='AST_SYNC' + AND + ORG_DATE = #{accountDate,jdbcType=DATE} + ) SYNC ON 1 = 1 + where + AST.GMT_CREATE BETWEEN SYNC.GMT_CREATE - 1 AND SYNC.GMT_CREATE + AND + AST.PLAN_NO = #{planNo,jdbcType=VARCHAR} + and + AST.ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + ) ast + where ast.rn = 1 + + + + + select sf.* from ( + select + log.* + , row_number() over (partition by PLAN_NO order by abs(GMT_CREATE - trunc(#{accountDate,jdbcType=DATE}))) rn + from + abs_plan_ast_log log + where + TRUNC(GMT_CREATE) IN (trunc(#{accountDate,jdbcType=DATE} - 1) , trunc(#{accountDate,jdbcType=DATE})) + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + ) sf + where sf.rn = 1 + +
diff --git a/dalgen/configTables/ABS_PLAN_AST_OPT_LOG.xml b/dalgen/configTables/ABS_PLAN_AST_OPT_LOG.xml new file mode 100644 index 0000000..bc8b377 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_AST_OPT_LOG.xml @@ -0,0 +1,121 @@ + + + + + + + + + + ID,FLOW_TYPE,BF_CASH,OPT_AMT,BF_BANK_BAL,BIZ_NO + ,PLAN_NO,REMARK,OPT_TYPE,OPT_USER + ,GMT_CREATE,ACCOUNT_DATE,ACT_ATTR + + + + + sf.ID,sf.FLOW_TYPE,sf.BF_CASH,sf.OPT_AMT,sf.BF_BANK_BAL,sf.BIZ_NO + ,sf.PLAN_NO,sf.REMARK,sf.OPT_TYPE,sf.OPT_USER + ,sf.GMT_CREATE,sf.ACCOUNT_DATE,sf.ACT_ATTR + + + + + + + + + + + + + + + select sf.*, p.PLAN_NAME, u.USER_NAME + from ABS_PLAN_AST_OPT_LOG sf + left join ABS_PLAN p on sf.PLAN_NO = p.PLAN_NO + left join GENERAL_SYS_USER u on sf.OPT_USER = u.USER_CODE + + + AND sf.PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND + sf.ACT_ATTR = #{actAttr,jdbcType=VARCHAR} + + + AND sf.OPT_TYPE = #{optType,jdbcType=VARCHAR} + + + AND ( + p.PLAN_NO LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + p.PLAN_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + AND ACCOUNT_DATE >= #{startDate,jdbcType=DATE} + + + AND ACCOUNT_DATE <= #{endDate,jdbcType=DATE} + + + AND + sf.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + + ORDER BY sf.GMT_CREATE DESC, sf.PLAN_NO + + +
diff --git a/dalgen/configTables/ABS_PLAN_AST_PRICE_RULE.xml b/dalgen/configTables/ABS_PLAN_AST_PRICE_RULE.xml new file mode 100644 index 0000000..f7eeee2 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_AST_PRICE_RULE.xml @@ -0,0 +1,108 @@ + + + + + + ID,TERM_NO,PLAN_NO,GMT_CREATE,GMT_MODIFIED + ,INTR_DISCOUNT_RATE + + + + + sf.ID,sf.TERM_NO,sf.PLAN_NO,sf.GMT_CREATE,sf.GMT_MODIFIED + ,sf.INTR_DISCOUNT_RATE + + + + + + + + + + + INSERT INTO abs_plan_ast_price_rule( + ID + ,TERM_NO + ,PLAN_NO + ,GMT_CREATE + ,GMT_MODIFIED + ,INTR_DISCOUNT_RATE + )VALUES + ( + SEQ_ABS_PLAN_AST_PRICE_RULE.nextval + , #{item.termNo,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.intrDiscountRate,jdbcType=DECIMAL} + ) + + + + + + + + + + SELECT * + FROM abs_plan_ast_price_rule + WHERE + + + + + + SELECT * + FROM abs_plan_ast_price_rule + WHERE + + ORDER BY TERM_NO ASC + + + + + +
diff --git a/dalgen/configTables/ABS_PLAN_AST_STAT_TASK.xml b/dalgen/configTables/ABS_PLAN_AST_STAT_TASK.xml new file mode 100644 index 0000000..0a4d779 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_AST_STAT_TASK.xml @@ -0,0 +1,163 @@ + + + + + + CNT,MAX_ID,MIN_ID,PLAN_NO,STATUS,EXEC_TIMES,NEXT_EXEC_TIME,LAST_EXEC_TIME + ,LAST_EXEC_TMS,GMT_CREATE,ACCOUNT_DATE,GMT_MODIFIED + + + + + sf.CNT,sf.MAX_ID,sf.MIN_ID,sf.PLAN_NO,sf.STATUS,sf.EXEC_TIMES,sf.NEXT_EXEC_TIME,sf.LAST_EXEC_TIME + ,sf.LAST_EXEC_TMS,sf.GMT_CREATE,sf.ACCOUNT_DATE,sf.GMT_MODIFIED + + + + + + + + SELECT * + FROM ABS_PLAN_AST_STAT_TASK + WHERE + + + + + + + + + + + + + + SELECT * + FROM ABS_PLAN_AST_STAT_TASK + WHERE + + + + + SELECT * + FROM ABS_PLAN_AST_STAT_TASK + WHERE + + + + + UPDATE + ABS_PLAN_AST_STAT_TASK + SET + GMT_MODIFIED = sysdate, + STATUS = 'proc', + EXEC_TIMES = 1, + LAST_EXEC_TIME = #{lastExecTime,jdbcType=TIMESTAMP}, + LAST_HOST = #{lastHost,jdbcType=VARCHAR} + WHERE + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + AND STATUS = 'acti' + + + + + + + + + SELECT + * + FROM + ABS_PLAN_AST_STAT_TASK + WHERE + EXEC_TIMES > #{execTimes,jdbcType=INTEGER} + + + + SELECT + count(*) + FROM + ABS_PLAN_AST_STAT_TASK + WHERE + + + +
diff --git a/dalgen/configTables/ABS_PLAN_CAPITAL_LOG.xml b/dalgen/configTables/ABS_PLAN_CAPITAL_LOG.xml new file mode 100644 index 0000000..be205b5 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CAPITAL_LOG.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + ID,AMT,AFT_BAL,MEMO,BIZ_NO + ,SEQ_NO,PLAN_NO,TRANS_TYPE,ACCOUNT_DATE + ,OUT_BIZ_NO,PLAN_ACCT,GMT_CREATE,TRANS_TIME,CNT_PTY_CODE + ,CNT_PTY_ACCT,GMT_MODIFIED,OUT_TRANS_NO + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + + + + + sf.ID,sf.AMT,sf.AFT_BAL,sf.MEMO,sf.BIZ_NO + ,sf.SEQ_NO,sf.PLAN_NO,sf.TRANS_TYPE,sf.ACCOUNT_DATE + ,sf.OUT_BIZ_NO,sf.PLAN_ACCT,sf.GMT_CREATE,sf.TRANS_TIME,sf.CNT_PTY_CODE + ,sf.CNT_PTY_ACCT,sf.GMT_MODIFIED,sf.OUT_TRANS_NO + ,sf.PRIN_AMT,sf.INTR_AMT,sf.PRIN_PENAL_AMT,sf.INTR_PENAL_AMT,sf.FEE_AMT,sf.FEE_PENAL_AMT,sf.OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_AMT + + + + + + + + SELECT * + FROM abs_plan_capital_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND TRANS_TYPE = #{transType,jdbcType=VARCHAR} + + + AND (OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} or SEQ_NO = #{outBizNo,jdbcType=VARCHAR}) + + + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + + ORDER BY GMT_MODIFIED DESC,ID DESC + + + + SELECT * + FROM abs_plan_capital_log + WHERE + + + +
diff --git a/dalgen/configTables/ABS_PLAN_CAPITAL_MODEL.xml b/dalgen/configTables/ABS_PLAN_CAPITAL_MODEL.xml new file mode 100644 index 0000000..de8f2cb --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CAPITAL_MODEL.xml @@ -0,0 +1,157 @@ + + + + + + ID,ACT_ATTR,EXT_DATA,PAY_TYPE,PROC_END + ,FLOW_TYPE,MODE_TYPE,PLAN_TYPE,PROC_START,TRANS_TYPE + ,PAYMENT_MODEL,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.ACT_ATTR,sf.EXT_DATA,sf.PAY_TYPE,sf.PROC_END + ,sf.FLOW_TYPE,sf.MODE_TYPE,sf.PLAN_TYPE,sf.PROC_START,sf.TRANS_TYPE + ,sf.PAYMENT_MODEL,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_capital_model( + ID + ,ACT_ATTR + ,EXT_DATA + ,PAY_TYPE + ,PROC_END + ,FLOW_TYPE + ,MODE_TYPE + ,PLAN_TYPE + ,PROC_START + ,TRANS_TYPE + ,PAYMENT_MODEL + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_CAPITAL_MODEL.nextval + , #{item.actAttr,jdbcType=VARCHAR} + , #{item.extData,jdbcType=VARCHAR} + , #{item.payType,jdbcType=VARCHAR} + , #{item.procEnd,jdbcType=VARCHAR} + , #{item.flowType,jdbcType=VARCHAR} + , #{item.modeType,jdbcType=VARCHAR} + , #{item.planType,jdbcType=VARCHAR} + , #{item.procStart,jdbcType=VARCHAR} + , #{item.transType,jdbcType=VARCHAR} + , #{item.paymentModel,jdbcType=VARCHAR} + , #{item.gmtCreate,jdbcType=DATE} + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_plan_capital_model + WHERE + + + + + SELECT * + FROM abs_plan_capital_model + WHERE + + + + + SELECT DISTINCT PAYMENT_MODEL + FROM abs_plan_capital_model + WHERE + + ORDER BY PAYMENT_MODEL + + + +
diff --git a/dalgen/configTables/ABS_PLAN_CAPITAL_NETTING_ORDER.xml b/dalgen/configTables/ABS_PLAN_CAPITAL_NETTING_ORDER.xml new file mode 100644 index 0000000..072bce6 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CAPITAL_NETTING_ORDER.xml @@ -0,0 +1,224 @@ + + + + + + + TRANS_AMT,SEQ_NO,STATUS,GMT_CREATOR,GMT_MODIFER + ,SOURCE_ACCT_NO,SOURCE_PLAN_NO,TARGET_ACCT_NO,TARGET_PLAN_NO,PAY_TYPE,PURPOSE_CODE,MODIFY_PAY_TYPE,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.TRANS_AMT,sf.SEQ_NO,sf.STATUS,sf.GMT_CREATOR,sf.GMT_MODIFER + ,sf.SOURCE_ACCT_NO,sf.SOURCE_PLAN_NO,sf.TARGET_ACCT_NO,sf.TARGET_PLAN_NO,sf.PAY_TYPE,sf.PURPOSE_CODE,sf.MODIFY_PAY_TYPE,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_capital_netting_order( + TRANS_AMT + ,SEQ_NO + ,STATUS + ,GMT_CREATOR + ,GMT_MODIFER + ,SOURCE_ACCT_NO + ,SOURCE_PLAN_NO + ,TARGET_ACCT_NO + ,TARGET_PLAN_NO + ,PAY_TYPE + ,PURPOSE_CODE + ,MODIFY_PAY_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + #{item.transAmt,jdbcType=DECIMAL} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.gmtModifer,jdbcType=VARCHAR} + , #{item.sourceAcctNo,jdbcType=VARCHAR} + , #{item.sourcePlanNo,jdbcType=VARCHAR} + , #{item.targetAcctNo,jdbcType=VARCHAR} + , #{item.targetPlanNo,jdbcType=VARCHAR} + , #{item.payType,jdbcType=VARCHAR} + , #{item.purposeCode,jdbcType=VARCHAR} + , #{item.modifyPayType,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_plan_capital_netting_order + WHERE + + + + + + SELECT * + FROM abs_plan_capital_netting_order + WHERE + + + + select * from abs_plan_capital_netting_order + where + STATUS = #{status,jdbcType=VARCHAR} + AND seq_no in + + #{seqNo,jdbcType=VARCHAR} + + + + + + UPDATE abs_plan_capital_netting_order + SET + STATUS = #{status,jdbcType=VARCHAR} + ,GMT_MODIFER = #{gmtModifer,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + WHERE + STATUS = #{oldStatus,jdbcType=VARCHAR} + AND SEQ_NO in + + #{seqNo,jdbcType=VARCHAR} + + + + + + UPDATE abs_plan_capital_netting_order + SET + MODIFY_PAY_TYPE = #{modifyPayType,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + WHERE + SEQ_NO in + + #{seqNo,jdbcType=VARCHAR} + + + + + SELECT * + FROM ABS_PLAN_CAPITAL_NETTING_ORDER + WHERE + TRANS_AMT > 0 + + AND SEQ_NO = #{seqNo,jdbcType=VARCHAR} + + + AND + (SOURCE_PLAN_NO = #{planNo,jdbcType=VARCHAR} or TARGET_PLAN_NO = #{planNo,jdbcType=VARCHAR}) + + + AND GMT_CREATE >= #{startDate,jdbcType=DATE} + + + AND GMT_CREATE <= #{endDate,jdbcType=DATE} + + + AND STATUS = #{status,jdbcType=VARCHAR} + + + AND + SOURCE_PLAN_NO in + + #{one,jdbcType=VARCHAR} + + + + AND + TARGET_PLAN_NO in + + #{pty,jdbcType=VARCHAR} + + + + + AND SOURCE_PLAN_NO = #{sourcePlanNo,jdbcType=VARCHAR} + + + AND TARGET_PLAN_NO = #{targetPlanNo,jdbcType=VARCHAR} + + + AND PAY_TYPE = #{payType,jdbcType=VARCHAR} + + ORDER BY GMT_CREATE DESC + +
diff --git a/dalgen/configTables/ABS_PLAN_CAPITAL_ORDER.xml b/dalgen/configTables/ABS_PLAN_CAPITAL_ORDER.xml new file mode 100644 index 0000000..bf60a59 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CAPITAL_ORDER.xml @@ -0,0 +1,1196 @@ + + + + + + + + + + + + + + + + + + ID,FEE_AMT,CFRM_AMT,INTR_AMT,PRIN_AMT + ,TRANS_AMT,EXEC_TIMES,PAYABLE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT + ,INTR_PENAL_AMT,PRIN_PENAL_AMT,OTHER_FEE_PENAL_AMT,MEMO,BIZ_NO + ,SEQ_NO,PLAN_NO,STATUS,CONTEXT,LAST_HOST + ,OUT_BIZ_NO,PLAN_ACCT,OUT_ACPT_NO,TRANS_TYPE,CNT_PTY_ACCT + ,CNT_PTY_CODE,OUT_TRANS_NO,CAPITAL_TYPE,TRANS_RESULT,PLAN_ACCT_BANK + ,PLAN_ACCT_CITY,PLAN_ACCT_NAME,PLAN_ACCT_PROV,PLAN_ACCT_TYPE,CNT_PTY_ACCT_BANK + ,CNT_PTY_ACCT_CITY,CNT_PTY_ACCT_NAME,CNT_PTY_ACCT_PROV,CNT_PTY_ACCT_TYPE,PLAN_ACCT_CHANNEL + ,CNT_PTY_ACCT_CHANNEL,PROC_TIME,GMT_CREATE,TRANS_TIME,FINISH_TIME + ,ACCOUNT_DATE,GMT_MODIFIED,LAST_EXEC_TIME,NEXT_EXEC_TIME,EXECUTE_SIGN,PAY_TYPE,PLAN_ACCOUNT_CODE,CNT_PTY_ACCOUNT_CODE + ,REPAY_BATCH_NO,REPAY_SEQ_NO + + + + + sf.ID,sf.FEE_AMT,sf.CFRM_AMT,sf.INTR_AMT,sf.PRIN_AMT + ,sf.TRANS_AMT,sf.EXEC_TIMES,sf.PAYABLE_AMT,sf.FEE_PENAL_AMT,sf.OTHER_FEE_AMT + ,sf.INTR_PENAL_AMT,sf.PRIN_PENAL_AMT,sf.OTHER_FEE_PENAL_AMT,sf.MEMO,sf.BIZ_NO + ,sf.SEQ_NO,sf.PLAN_NO,sf.STATUS,sf.CONTEXT,sf.LAST_HOST + ,sf.OUT_BIZ_NO,sf.PLAN_ACCT,sf.OUT_ACPT_NO,sf.TRANS_TYPE,sf.CNT_PTY_ACCT + ,sf.CNT_PTY_CODE,sf.OUT_TRANS_NO,sf.CAPITAL_TYPE,sf.TRANS_RESULT,sf.PLAN_ACCT_BANK + ,sf.PLAN_ACCT_CITY,sf.PLAN_ACCT_NAME,sf.PLAN_ACCT_PROV,sf.PLAN_ACCT_TYPE,sf.CNT_PTY_ACCT_BANK + ,sf.CNT_PTY_ACCT_CITY,sf.CNT_PTY_ACCT_NAME,sf.CNT_PTY_ACCT_PROV,sf.CNT_PTY_ACCT_TYPE,sf.PLAN_ACCT_CHANNEL + ,sf.CNT_PTY_ACCT_CHANNEL,sf.PROC_TIME,sf.GMT_CREATE,sf.TRANS_TIME,sf.FINISH_TIME + ,sf.ACCOUNT_DATE,sf.GMT_MODIFIED,sf.LAST_EXEC_TIME,sf.NEXT_EXEC_TIME,sf.EXECUTE_SIGN,sf.PAY_TYPE,sf.PLAN_ACCOUNT_CODE,sf.CNT_PTY_ACCOUNT_CODE + ,sf.REPAY_BATCH_NO,sf.REPAY_SEQ_NO + + + + ID,CFRM_AMT,TRANS_AMT,PAYABLE_AMT,MEMO,BIZ_NO,PLAN_ACCT_CHANNEL,CNT_PTY_ACCT_CHANNEL + ,SEQ_NO,PLAN_NO,STATUS,CONTEXT,PLAN_ACCT,CNT_PTY_ACCT_TYPE,LAST_HOST,TRANS_RESULT + ,PLAN_ACCT_TYPE,OUT_ACPT_NO,TRANS_TYPE,CNT_PTY_ACCT,CNT_PTY_CODE + ,OUT_TRANS_NO,CAPITAL_TYPE,PLAN_ACCT_BANK,PLAN_ACCT_CITY,PLAN_ACCT_NAME + ,PLAN_ACCT_PROV,CNT_PTY_ACCT_BANK,CNT_PTY_ACCT_CITY,CNT_PTY_ACCT_NAME,CNT_PTY_ACCT_PROV + ,GMT_CREATE,TRANS_TIME,FINISH_TIME,ACCOUNT_DATE,GMT_MODIFIED + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + ,OUT_BIZ_NO,PAY_TYPE,REPAY_BATCH_NO,REPAY_SEQ_NO + + + + + + + + + + + + + + + INSERT INTO abs_plan_capital_order( + ID + ,FEE_AMT + ,CFRM_AMT + ,INTR_AMT + ,PRIN_AMT + ,TRANS_AMT + ,EXEC_TIMES + ,PAYABLE_AMT + ,FEE_PENAL_AMT + ,OTHER_FEE_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,OTHER_FEE_PENAL_AMT + ,MEMO + ,BIZ_NO + ,SEQ_NO + ,PLAN_NO + ,STATUS + ,CONTEXT + ,LAST_HOST + ,OUT_BIZ_NO + ,PLAN_ACCT + ,OUT_ACPT_NO + ,TRANS_TYPE + ,CNT_PTY_ACCT + ,CNT_PTY_CODE + ,OUT_TRANS_NO + ,CAPITAL_TYPE + ,TRANS_RESULT + ,PLAN_ACCT_BANK + ,PLAN_ACCT_CITY + ,PLAN_ACCT_NAME + ,PLAN_ACCT_PROV + ,PLAN_ACCT_TYPE + ,CNT_PTY_ACCT_BANK + ,CNT_PTY_ACCT_CITY + ,CNT_PTY_ACCT_NAME + ,CNT_PTY_ACCT_PROV + ,CNT_PTY_ACCT_TYPE + ,PLAN_ACCT_CHANNEL + ,CNT_PTY_ACCT_CHANNEL + ,PROC_TIME + ,GMT_CREATE + ,TRANS_TIME + ,FINISH_TIME + ,ACCOUNT_DATE + ,GMT_MODIFIED + ,LAST_EXEC_TIME + ,NEXT_EXEC_TIME + ,EXECUTE_SIGN + ,PAY_TYPE + ,PLAN_ACCOUNT_CODE + ,CNT_PTY_ACCOUNT_CODE + ,REPAY_BATCH_NO + ,REPAY_SEQ_NO + )VALUES( + SEQ_ABS_PLAN_CAPITAL_ORDER.nextval + , #{item.feeAmt,jdbcType=BIGINT} + , #{item.cfrmAmt,jdbcType=BIGINT} + , #{item.intrAmt,jdbcType=BIGINT} + , #{item.prinAmt,jdbcType=BIGINT} + , #{item.transAmt,jdbcType=BIGINT} + , 0 + , #{item.payableAmt,jdbcType=BIGINT} + , #{item.feePenalAmt,jdbcType=BIGINT} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.intrPenalAmt,jdbcType=BIGINT} + , #{item.prinPenalAmt,jdbcType=BIGINT} + , #{item.otherFeePenalAmt,jdbcType=BIGINT} + , #{item.memo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.context,jdbcType=VARCHAR} + , #{item.lastHost,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.planAcct,jdbcType=VARCHAR} + , #{item.outAcptNo,jdbcType=VARCHAR} + , #{item.transType,jdbcType=VARCHAR} + , #{item.cntPtyAcct,jdbcType=VARCHAR} + , #{item.cntPtyCode,jdbcType=VARCHAR} + , #{item.outTransNo,jdbcType=VARCHAR} + , #{item.capitalType,jdbcType=VARCHAR} + , #{item.transResult,jdbcType=VARCHAR} + , #{item.planAcctBank,jdbcType=VARCHAR} + , #{item.planAcctCity,jdbcType=VARCHAR} + , #{item.planAcctName,jdbcType=VARCHAR} + , #{item.planAcctProv,jdbcType=VARCHAR} + , #{item.planAcctType,jdbcType=VARCHAR} + , #{item.cntPtyAcctBank,jdbcType=VARCHAR} + , #{item.cntPtyAcctCity,jdbcType=VARCHAR} + , #{item.cntPtyAcctName,jdbcType=VARCHAR} + , #{item.cntPtyAcctProv,jdbcType=VARCHAR} + , #{item.cntPtyAcctType,jdbcType=VARCHAR} + , #{item.planAcctChannel,jdbcType=VARCHAR} + , #{item.cntPtyAcctChannel,jdbcType=VARCHAR} + , #{item.procTime,jdbcType=DATE} + , sysdate + , #{item.transTime,jdbcType=DATE} + , #{item.finishTime,jdbcType=DATE} + , #{item.accountDate,jdbcType=DATE} + , sysdate + , null + , #{item.nextExecTime,jdbcType=DATE} + , #{item.executeSign,jdbcType=VARCHAR} + , #{item.payType,jdbcType=VARCHAR} + , #{item.planAccountCode,jdbcType=VARCHAR} + , #{item.cntPtyAccountCode,jdbcType=VARCHAR} + , #{item.repayBatchNo,jdbcType=VARCHAR} + , #{item.repaySeqNo,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + + + + + + + + + + + UPDATE ABS_PLAN_CAPITAL_ORDER + SET + PROC_TIME = #{procTime,jdbcType=TIMESTAMP} + ,NEXT_EXEC_TIME = #{procTime,jdbcType=TIMESTAMP} + ,GMT_MODIFIED = sysdate + + ,REPAY_BATCH_NO = #{repayBatchNo,jdbcType=VARCHAR} + + + ,REPAY_SEQ_NO = #{repaySeqNo,jdbcType=VARCHAR} + + WHERE + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + AND + STATUS = 'init' + AND + ( + PROC_TIME IS NULL + or + PROC_TIME > #{procTime,jdbcType=TIMESTAMP} + ) + + + + UPDATE ABS_PLAN_CAPITAL_ORDER + SET + PROC_TIME = #{procTime,jdbcType=TIMESTAMP} + ,NEXT_EXEC_TIME = #{procTime,jdbcType=TIMESTAMP} + ,EXECUTE_SIGN = 'PROCEED' + ,GMT_MODIFIED = sysdate + WHERE + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + AND + STATUS = 'init' + AND + ( + PROC_TIME IS NULL + or + PROC_TIME > #{procTime,jdbcType=TIMESTAMP} + ) + + + + UPDATE ABS_PLAN_CAPITAL_ORDER + SET + PROC_TIME = #{procTime,jdbcType=TIMESTAMP} + ,NEXT_EXEC_TIME = #{procTime,jdbcType=TIMESTAMP} + ,PRIN_AMT = #{prinAmt,jdbcType=BIGINT} + ,INTR_AMT = #{intrAmt,jdbcType=BIGINT} + ,PRIN_PENAL_AMT = #{prinPenalAmt,jdbcType=BIGINT} + ,INTR_PENAL_AMT = #{intrPenalAmt,jdbcType=BIGINT} + ,FEE_AMT = #{feeAmt,jdbcType=BIGINT} + ,FEE_PENAL_AMT = #{feePenalAmt,jdbcType=BIGINT} + ,OTHER_FEE_AMT = #{otherFeeAmt,jdbcType=BIGINT} + ,OTHER_FEE_PENAL_AMT = #{otherFeePenalAmt,jdbcType=BIGINT} + ,TRANS_AMT = #{transAmt,jdbcType=BIGINT} + ,PAYABLE_AMT = #{payableAmt,jdbcType=BIGINT} + ,GMT_MODIFIED = sysdate + ,REPAY_BATCH_NO = #{repayBatchNo,jdbcType=VARCHAR} + ,REPAY_SEQ_NO = #{repaySeqNo,jdbcType=VARCHAR} + WHERE + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + AND + STATUS = 'init' + AND + ( + PROC_TIME IS NULL + or + PROC_TIME > #{procTime,jdbcType=TIMESTAMP} + ) + + + + + UPDATE ABS_PLAN_CAPITAL_ORDER + SET + STATUS = #{status,jdbcType=VARCHAR} + ,OUT_ACPT_NO = #{outAcptNo,jdbcType=VARCHAR} + ,NEXT_EXEC_TIME = sysdate + ,GMT_MODIFIED = sysdate + WHERE + STATUS = 'init' + AND SEQ_NO in + + #{seqNo,jdbcType=VARCHAR} + + AND OUT_ACPT_NO is null + + + + UPDATE + ABS_PLAN_CAPITAL_ORDER + SET + EXECUTE_SIGN = #{executeSign,jdbcType=VARCHAR} + ,EXEC_TIMES = 0 + ,GMT_MODIFIED = sysdate + WHERE + SEQ_NO in + + #{seqNo,jdbcType=VARCHAR} + + + + + + + + + SELECT * + FROM ABS_PLAN_CAPITAL_ORDER + WHERE + + + + + SELECT * + FROM ABS_PLAN_CAPITAL_ORDER + WHERE + + + + + SELECT * + FROM ABS_PLAN_CAPITAL_ORDER + + + AND STATUS in + + #{status,jdbcType=VARCHAR} + + + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} + + + ORDER BY ACCOUNT_DATE + + + + SELECT count(*) cnt + FROM ABS_PLAN_CAPITAL_ORDER + + + AND STATUS in + + #{status,jdbcType=VARCHAR} + + + + AND TRANS_TYPE = #{transType,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + AND (PLAN_NO = #{planNo,jdbcType=VARCHAR} or CNT_PTY_CODE = #{planNo,jdbcType=VARCHAR}) + + + + + + SELECT * + FROM ABS_PLAN_CAPITAL_ORDER + WHERE + ID > #{id,jdbcType=BIGINT} + AND NEXT_EXEC_TIME <= #{nextExecTime,jdbcType=DATE} + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND STATUS = #{status,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + ORDER BY ID ASC + + + + select * + FROM ABS_PLAN_CAPITAL_ORDER sf + where + EXEC_TIMES > #{execTimes,jdbcType=INTEGER} + + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + AND + STATUS in + + #{status,jdbcType=VARCHAR} + + + ORDER BY GMT_MODIFIED, ID + + + + SELECT COUNT(*) cnt + FROM ABS_PLAN_CAPITAL_ORDER + WHERE + EXEC_TIMES > #{execTimes,jdbcType=INTEGER} + OR + ( + STATUS = 'wait' + AND + (trunc(SYSDATE)-LAST_EXEC_TIME)*24*60 > 20 + ) + + + + SELECT * + FROM ABS_PLAN_CAPITAL_ORDER + WHERE + OUT_ACPT_NO IN + + #{outAcptNo,jdbcType=VARCHAR} + + AND + STATUS = #{status,jdbcType=VARCHAR} + + + + + + + + + + SELECT + PLAN_NO, + SUM( PAYABLE_AMT ) PAYABLE_AMT, + SUM( TRANS_AMT ) TRANS_AMT + FROM + ABS_PLAN_CAPITAL_ORDER_HIS + WHERE + STATUS = 'succ' + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_TYPE = #{transType,jdbcType=VARCHAR} + GROUP BY PLAN_NO + + + + SELECT + * + FROM + ABS_PLAN_CAPITAL_ORDER + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + + + + SELECT + + FROM + ABS_PLAN_CAPITAL_ORDER_HIS + WHERE + BIZ_NO = #{bizNo,jdbcType=VARCHAR} + AND STATUS = 'succ' + + + + SELECT + + FROM + ABS_PLAN_CAPITAL_ORDER_HIS + WHERE + STATUS = 'succ' + + AND OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + ABS_PLAN_CAPITAL_ORDER + WHERE + STATUS in ('init', 'wait') + AND (PLAN_NO = #{planNo,jdbcType=VARCHAR} or CNT_PTY_CODE = #{planNo,jdbcType=VARCHAR}) + ORDER BY ACCOUNT_DATE + + + + SELECT + * + FROM + ABS_PLAN_CAPITAL_ORDER + WHERE + STATUS in ('init') + AND PROC_TIME IS NULL + AND CNT_PTY_CODE IN + + #{cntPtyCode,jdbcType=VARCHAR} + + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + AND TRANS_TYPE IN ('PCT02','PCT11') + ORDER BY ACCOUNT_DATE + + + + SELECT + + FROM ABS_PLAN_CAPITAL_ORDER_HIS + WHERE + 1 = 1 + + AND STATUS = #{status,jdbcType=VARCHAR} + + + + AND TRANS_TYPE = #{transType,jdbcType=VARCHAR} + + + AND OUT_ACPT_NO = #{outAcptNo,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE >= #{startDate,jdbcType=DATE} + + + AND ACCOUNT_DATE <= #{endDate,jdbcType=DATE} + + + AND TRANS_TIME >= #{startTransTime,jdbcType=DATE} + + + AND TRANS_TIME <= #{endTransTime,jdbcType=DATE} + + + AND FINISH_TIME >= #{startFinishTime,jdbcType=DATE} + + + AND FINISH_TIME <= #{endFinishTime,jdbcType=DATE} + + + + AND OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} + + + AND SEQ_NO = #{seqNo,jdbcType=VARCHAR} + + + AND ( + PLAN_NO in + + #{one,jdbcType=VARCHAR} + + OR + CNT_PTY_CODE in + + #{one,jdbcType=VARCHAR} + + ) + + + AND + PAY_TYPE in + + #{type,jdbcType=VARCHAR} + + + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND ( + PLAN_NO = #{cntPtyCode,jdbcType=VARCHAR} OR + CNT_PTY_CODE = #{cntPtyCode,jdbcType=VARCHAR} + ) + + ORDER BY GMT_CREATE DESC,ID ASC + + + + select * from ABS_PLAN_CAPITAL_ORDER + where + SEQ_NO in + + #{seqNo,jdbcType=VARCHAR} + + + AND STATUS = #{status,jdbcType=VARCHAR} + + + + + SELECT * + FROM ABS_PLAN_CAPITAL_ORDER + + + + AND STATUS = #{status,jdbcType=VARCHAR} + + + AND EXECUTE_SIGN = #{executeSign,jdbcType=VARCHAR} + + + AND TRANS_TYPE = #{transType,jdbcType=VARCHAR} + + + AND OUT_ACPT_NO = #{outAcptNo,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE >= #{startDate,jdbcType=DATE} + + + AND ACCOUNT_DATE <= #{endDate,jdbcType=DATE} + + + + AND TRANS_TIME >= #{startTransTime,jdbcType=DATE} + + + AND TRANS_TIME <= #{endTransTime,jdbcType=DATE} + + + AND FINISH_TIME >= #{startFinishTime,jdbcType=DATE} + + + AND FINISH_TIME <= #{endFinishTime,jdbcType=DATE} + + + + AND OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} + + + AND SEQ_NO = #{seqNo,jdbcType=VARCHAR} + + + AND ( + PLAN_NO in + + #{one,jdbcType=VARCHAR} + + OR + CNT_PTY_CODE in + + #{one,jdbcType=VARCHAR} + + ) + + + AND + PAY_TYPE in + + #{type,jdbcType=VARCHAR} + + + + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND ( + PLAN_NO = #{cntPtyCode,jdbcType=VARCHAR} OR + CNT_PTY_CODE = #{cntPtyCode,jdbcType=VARCHAR} + ) + + + ORDER BY GMT_CREATE desc , ID ASC + + + + SELECT + + FROM + ABS_PLAN_CAPITAL_ORDER_HIS + + SEQ_NO IN + + #{seqNo,jdbcType=VARCHAR} + + + AND STATUS = 'succ' + + + + select + sum(PRIN_AMT) + from + ABS_PLAN_CAPITAL_ORDER + where + 1 = 1 + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + AND CNT_PTY_CODE = #{cntPtyCode,jdbcType=VARCHAR} + + and TRANS_TYPE in + + #{transType,jdbcType=VARCHAR} + + + + + select + + from ABS_PLAN_CAPITAL_ORDER_HIS + where + PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + and + trunc(FINISH_TIME) = #{finishTime,jdbcType=DATE} + and + STATUS = 'succ' + + + + SELECT + COUNT(*) + FROM + ABS_PLAN_CAPITAL_ORDER_HIS + WHERE + STATUS = 'succ' + AND + OUT_BIZ_NO IN + + #{outBizNo,jdbcType=VARCHAR} + + + + + SELECT + + FROM + ABS_PLAN_CAPITAL_ORDER_HIS + WHERE + STATUS = 'succ' + AND + OUT_BIZ_NO IN + + #{outBizNo,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + ABS_PLAN_CAPITAL_ORDER + WHERE + OUT_BIZ_NO IN + + #{outBizNo,jdbcType=VARCHAR} + + + + + UPDATE ABS_PLAN_CAPITAL_ORDER + SET + PRIN_AMT = #{prinAmt,jdbcType=BIGINT} + ,INTR_AMT = #{intrAmt,jdbcType=BIGINT} + ,PRIN_PENAL_AMT = #{prinPenalAmt,jdbcType=BIGINT} + ,INTR_PENAL_AMT = #{intrPenalAmt,jdbcType=BIGINT} + ,FEE_AMT = #{feeAmt,jdbcType=BIGINT} + ,FEE_PENAL_AMT = #{feePenalAmt,jdbcType=BIGINT} + ,OTHER_FEE_AMT = #{otherFeeAmt,jdbcType=BIGINT} + ,OTHER_FEE_PENAL_AMT = #{otherFeePenalAmt,jdbcType=BIGINT} + ,TRANS_AMT = #{transAmt,jdbcType=BIGINT} + ,PAYABLE_AMT = #{payableAmt,jdbcType=BIGINT} + ,GMT_MODIFIED = sysdate + WHERE + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + + SELECT + SUM(CFRM_AMT) CFRM_AMT + ,SUM(TRANS_AMT) TRANS_AMT + ,SUM(PAYABLE_AMT) PAYABLE_AMT + ,SUM(PRIN_AMT) PRIN_AMT + ,SUM(INTR_AMT) INTR_AMT + ,SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT + ,SUM(INTR_PENAL_AMT) INTR_PENAL_AMT + ,SUM(FEE_AMT) FEE_AMT + ,SUM(FEE_PENAL_AMT) FEE_PENAL_AMT + ,SUM(OTHER_FEE_AMT) OTHER_FEE_AMT + ,SUM(OTHER_FEE_PENAL_AMT) OTHER_FEE_PENAL_AMT + FROM + abs_plan_capital_order_his + WHERE + 1=1 + + AND ACCOUNT_DATE in + + #{accountDate,jdbcType=DATE} + + + + AND trunc(FINISH_TIME) in + + #{finishDate,jdbcType=DATE} + + + + and CNT_PTY_CODE = #{cntPtyCode,jdbcType=VARCHAR} + + + and PLAN_NO = #{planNo,jdbcType=VARCHAR} + + and TRANS_TYPE IN + + #{transType,jdbcType=VARCHAR} + + and status = 'succ' + + + + SELECT + SUM(CFRM_AMT) CFRM_AMT + ,SUM(TRANS_AMT) TRANS_AMT + ,SUM(PAYABLE_AMT) PAYABLE_AMT + ,SUM(PRIN_AMT) PRIN_AMT + ,SUM(INTR_AMT) INTR_AMT + ,SUM(PRIN_PENAL_AMT) PRIN_PENAL_AMT + ,SUM(INTR_PENAL_AMT) INTR_PENAL_AMT + ,SUM(FEE_AMT) FEE_AMT + ,SUM(FEE_PENAL_AMT) FEE_PENAL_AMT + ,SUM(OTHER_FEE_AMT) OTHER_FEE_AMT + ,SUM(OTHER_FEE_PENAL_AMT) OTHER_FEE_PENAL_AMT + FROM + abs_plan_capital_order + WHERE + 1=1 + + AND ACCOUNT_DATE in + + #{accountDate,jdbcType=DATE} + + + + and CNT_PTY_CODE = #{cntPtyCode,jdbcType=VARCHAR} + + + and PLAN_NO = #{planNo,jdbcType=VARCHAR} + + and TRANS_TYPE IN + + #{transType,jdbcType=VARCHAR} + + + + + select + sum(trans_amt) trans_amt + from + abs_plan_capital_order + where cnt_pty_code = #{planNo,jdbcType=VARCHAR} + and trans_type in('PCT02','PCT11','PCT12','PCT32','PCT16','PCT07') + + + + select + count(*) + from + abs_plan_capital_order + where + OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} + AND + STATUS = #{status,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_CAPITAL_ORDER_HIS.xml b/dalgen/configTables/ABS_PLAN_CAPITAL_ORDER_HIS.xml new file mode 100644 index 0000000..de7790d --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CAPITAL_ORDER_HIS.xml @@ -0,0 +1,321 @@ + + + + + + ID,FEE_AMT,CFRM_AMT,INTR_AMT,PRIN_AMT + ,TRANS_AMT,PAYABLE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,INTR_PENAL_AMT + ,PRIN_PENAL_AMT,OTHER_FEE_PENAL_AMT,MEMO,BIZ_NO,SEQ_NO + ,PLAN_NO,STATUS,CONTEXT,PAY_TYPE,LAST_HOST + ,OUT_BIZ_NO,PLAN_ACCT,OUT_ACPT_NO,TRANS_TYPE,CNT_PTY_ACCT + ,CNT_PTY_CODE,OUT_TRANS_NO,CAPITAL_TYPE,TRANS_RESULT,PLAN_ACCT_BANK + ,PLAN_ACCT_CITY,PLAN_ACCT_NAME,PLAN_ACCT_PROV,PLAN_ACCT_TYPE,CNT_PTY_ACCT_BANK + ,CNT_PTY_ACCT_CITY,CNT_PTY_ACCT_NAME,CNT_PTY_ACCT_PROV,CNT_PTY_ACCT_TYPE,PLAN_ACCT_CHANNEL + ,CNT_PTY_ACCT_CHANNEL,PROC_TIME,GMT_CREATE,TRANS_TIME,FINISH_TIME + ,ACCOUNT_DATE,GMT_MODIFIED + + + + + sf.ID,sf.FEE_AMT,sf.CFRM_AMT,sf.INTR_AMT,sf.PRIN_AMT + ,sf.TRANS_AMT,sf.PAYABLE_AMT,sf.FEE_PENAL_AMT,sf.OTHER_FEE_AMT,sf.INTR_PENAL_AMT + ,sf.PRIN_PENAL_AMT,sf.OTHER_FEE_PENAL_AMT,sf.MEMO,sf.BIZ_NO,sf.SEQ_NO + ,sf.PLAN_NO,sf.STATUS,sf.CONTEXT,sf.PAY_TYPE,sf.LAST_HOST + ,sf.OUT_BIZ_NO,sf.PLAN_ACCT,sf.OUT_ACPT_NO,sf.TRANS_TYPE,sf.CNT_PTY_ACCT + ,sf.CNT_PTY_CODE,sf.OUT_TRANS_NO,sf.CAPITAL_TYPE,sf.TRANS_RESULT,sf.PLAN_ACCT_BANK + ,sf.PLAN_ACCT_CITY,sf.PLAN_ACCT_NAME,sf.PLAN_ACCT_PROV,sf.PLAN_ACCT_TYPE,sf.CNT_PTY_ACCT_BANK + ,sf.CNT_PTY_ACCT_CITY,sf.CNT_PTY_ACCT_NAME,sf.CNT_PTY_ACCT_PROV,sf.CNT_PTY_ACCT_TYPE,sf.PLAN_ACCT_CHANNEL + ,sf.CNT_PTY_ACCT_CHANNEL,sf.PROC_TIME,sf.GMT_CREATE,sf.TRANS_TIME,sf.FINISH_TIME + ,sf.ACCOUNT_DATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_capital_order_his( + ID + ,FEE_AMT + ,CFRM_AMT + ,INTR_AMT + ,PRIN_AMT + ,TRANS_AMT + ,PAYABLE_AMT + ,FEE_PENAL_AMT + ,OTHER_FEE_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,OTHER_FEE_PENAL_AMT + ,MEMO + ,BIZ_NO + ,SEQ_NO + ,PLAN_NO + ,STATUS + ,CONTEXT + ,PAY_TYPE + ,LAST_HOST + ,OUT_BIZ_NO + ,PLAN_ACCT + ,OUT_ACPT_NO + ,TRANS_TYPE + ,CNT_PTY_ACCT + ,CNT_PTY_CODE + ,OUT_TRANS_NO + ,CAPITAL_TYPE + ,TRANS_RESULT + ,PLAN_ACCT_BANK + ,PLAN_ACCT_CITY + ,PLAN_ACCT_NAME + ,PLAN_ACCT_PROV + ,PLAN_ACCT_TYPE + ,CNT_PTY_ACCT_BANK + ,CNT_PTY_ACCT_CITY + ,CNT_PTY_ACCT_NAME + ,CNT_PTY_ACCT_PROV + ,CNT_PTY_ACCT_TYPE + ,PLAN_ACCT_CHANNEL + ,CNT_PTY_ACCT_CHANNEL + ,PROC_TIME + ,GMT_CREATE + ,TRANS_TIME + ,FINISH_TIME + ,ACCOUNT_DATE + ,GMT_MODIFIED + )VALUES + ( + null + , #{item.feeAmt,jdbcType=DECIMAL} + , #{item.cfrmAmt,jdbcType=DECIMAL} + , #{item.intrAmt,jdbcType=DECIMAL} + , #{item.prinAmt,jdbcType=DECIMAL} + , #{item.transAmt,jdbcType=DECIMAL} + , #{item.payableAmt,jdbcType=DECIMAL} + , #{item.feePenalAmt,jdbcType=DECIMAL} + , #{item.otherFeeAmt,jdbcType=DECIMAL} + , #{item.intrPenalAmt,jdbcType=DECIMAL} + , #{item.prinPenalAmt,jdbcType=DECIMAL} + , #{item.otherFeePenalAmt,jdbcType=DECIMAL} + , #{item.memo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.context,jdbcType=VARCHAR} + , #{item.payType,jdbcType=VARCHAR} + , #{item.lastHost,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.planAcct,jdbcType=VARCHAR} + , #{item.outAcptNo,jdbcType=VARCHAR} + , #{item.transType,jdbcType=VARCHAR} + , #{item.cntPtyAcct,jdbcType=VARCHAR} + , #{item.cntPtyCode,jdbcType=VARCHAR} + , #{item.outTransNo,jdbcType=VARCHAR} + , #{item.capitalType,jdbcType=VARCHAR} + , #{item.transResult,jdbcType=VARCHAR} + , #{item.planAcctBank,jdbcType=VARCHAR} + , #{item.planAcctCity,jdbcType=VARCHAR} + , #{item.planAcctName,jdbcType=VARCHAR} + , #{item.planAcctProv,jdbcType=VARCHAR} + , #{item.planAcctType,jdbcType=VARCHAR} + , #{item.cntPtyAcctBank,jdbcType=VARCHAR} + , #{item.cntPtyAcctCity,jdbcType=VARCHAR} + , #{item.cntPtyAcctName,jdbcType=VARCHAR} + , #{item.cntPtyAcctProv,jdbcType=VARCHAR} + , #{item.cntPtyAcctType,jdbcType=VARCHAR} + , #{item.planAcctChannel,jdbcType=VARCHAR} + , #{item.cntPtyAcctChannel,jdbcType=VARCHAR} + , #{item.procTime,jdbcType=DATE} + , sysdate + , #{item.transTime,jdbcType=DATE} + , #{item.finishTime,jdbcType=DATE} + , #{item.accountDate,jdbcType=DATE} + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_plan_capital_order_his + WHERE + + + + + + SELECT * + FROM abs_plan_capital_order_his + WHERE + + + +
diff --git a/dalgen/configTables/ABS_PLAN_CAPITAL_PURPOSE.xml b/dalgen/configTables/ABS_PLAN_CAPITAL_PURPOSE.xml new file mode 100644 index 0000000..adad4c8 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CAPITAL_PURPOSE.xml @@ -0,0 +1,112 @@ + + + + + + ID,EXT_DATA,TRANS_TYPE,OUT_PAMT_CODE,OUT_RECV_CODE + ,PURPOSE_CODE,PURPOSE_DESC,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.EXT_DATA,sf.TRANS_TYPE,sf.OUT_PAMT_CODE,sf.OUT_RECV_CODE + ,sf.PURPOSE_CODE,sf.PURPOSE_DESC,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_capital_purpose( + ID + ,EXT_DATA + ,TRANS_TYPE + ,OUT_PAMT_CODE + ,OUT_RECV_CODE + ,PURPOSE_CODE + ,PURPOSE_DESC + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_CAPITAL_PURPOSE.nextval + , #{item.extData,jdbcType=VARCHAR} + , #{item.transType,jdbcType=VARCHAR} + , #{item.outPamtCode,jdbcType=VARCHAR} + , #{item.outRecvCode,jdbcType=VARCHAR} + , #{item.purposeCode,jdbcType=VARCHAR} + , #{item.purposeDesc,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + SELECT * + FROM abs_plan_capital_purpose + WHERE + + + + + SELECT * + FROM abs_plan_capital_purpose + WHERE + + + + + SELECT * + FROM abs_plan_capital_purpose + order by TRANS_TYPE + + +
diff --git a/dalgen/configTables/ABS_PLAN_CLEARING_LOG.xml b/dalgen/configTables/ABS_PLAN_CLEARING_LOG.xml new file mode 100644 index 0000000..f9157db --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CLEARING_LOG.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + ID,AMT,BIZ_NO,SEQ_NO,PLAN_NO ,OUT_BIZ_NO + ,EXEC_TMS,TRANS_CODE,CNT_PTY_CODE,ACCOUNT_DATE + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + + + + + sf.ID,sf.AMT,sf.BIZ_NO,sf.SEQ_NO,sf.PLAN_NO ,sf.OUT_BIZ_NO + ,sf.EXEC_TMS,sf.TRANS_CODE,sf.CNT_PTY_CODE,sf.ACCOUNT_DATE + ,sf.PRIN_AMT,sf.INTR_AMT,sf.PRIN_PENAL_AMT,sf.INTR_PENAL_AMT,sf.FEE_AMT,sf.FEE_PENAL_AMT,sf.OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_AMT + + + + + INSERT INTO abs_plan_clearing_log( + ID + ,AMT + ,BIZ_NO + ,SEQ_NO + ,OUT_BIZ_NO + ,PLAN_NO + ,EXEC_TMS + ,TRANS_CODE + ,CNT_PTY_CODE + ,ACCOUNT_DATE + ,PRIN_AMT + ,INTR_AMT + ,PRIN_PENAL_AMT + ,INTR_PENAL_AMT + ,FEE_AMT + ,FEE_PENAL_AMT + ,OTHER_FEE_AMT + ,OTHER_FEE_PENAL_AMT + )VALUES( + SEQ_ABS_PLAN_CLEARING_LOG.nextval + , #{item.amt,jdbcType=BIGINT} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.cntPtyCode,jdbcType=VARCHAR} + , #{item.accountDate,jdbcType=DATE} + , #{item.prinAmt,jdbcType=BIGINT} + , #{item.intrAmt,jdbcType=BIGINT} + , #{item.prinPenalAmt,jdbcType=BIGINT} + , #{item.intrPenalAmt,jdbcType=BIGINT} + , #{item.feeAmt,jdbcType=BIGINT} + , #{item.feePenalAmt,jdbcType=BIGINT} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.otherFeePenalAmt,jdbcType=BIGINT} + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + MIN(ACCOUNT_DATE) + FROM abs_plan_clearing_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + + + SELECT + COUNT(*) + FROM + abs_plan_clearing_log + WHERE + ( + PLAN_NO = #{planNo,jdbcType=VARCHAR} + or + CNT_PTY_CODE = #{planNo,jdbcType=VARCHAR} + ) + + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + + + SELECT + count(*) + FROM + ABS_PLAN_CLEARING_LOG + WHERE + + + + + select + count(*) + from + ABS_PLAN_CLEARING_LOG + where + OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_CLEARING_LOG_HIS.xml b/dalgen/configTables/ABS_PLAN_CLEARING_LOG_HIS.xml new file mode 100644 index 0000000..e4984c2 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CLEARING_LOG_HIS.xml @@ -0,0 +1,99 @@ + + + + + + ID,AMT,BIZ_NO,SEQ_NO,PLAN_NO ,OUT_BIZ_NO + ,EXEC_TMS,TRANS_CODE,CNT_PTY_CODE,CLEARING_SEQ_NO,ACCOUNT_DATE + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + + + + + sf.ID,sf.AMT,sf.BIZ_NO,sf.SEQ_NO,sf.PLAN_NO ,sf.OUT_BIZ_NO + ,sf.EXEC_TMS,sf.TRANS_CODE,sf.CNT_PTY_CODE,sf.CLEARING_SEQ_NO,sf.ACCOUNT_DATE + ,sf.PRIN_AMT,sf.INTR_AMT,sf.PRIN_PENAL_AMT,sf.INTR_PENAL_AMT,sf.FEE_AMT,sf.FEE_PENAL_AMT,sf.OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_AMT + + + + + + + INSERT INTO abs_plan_clearing_log_his( + ID + ,AMT + ,BIZ_NO + ,SEQ_NO + ,OUT_BIZ_NO + ,PLAN_NO + ,EXEC_TMS + ,TRANS_CODE + ,CNT_PTY_CODE + ,CLEARING_SEQ_NO + ,ACCOUNT_DATE + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + ) + select + ID + ,AMT + ,BIZ_NO + ,SEQ_NO + ,OUT_BIZ_NO + ,PLAN_NO + ,EXEC_TMS + ,TRANS_CODE + ,CNT_PTY_CODE + ,#{clearingSeqNo,jdbcType=VARCHAR} + ,ACCOUNT_DATE + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + from + ABS_PLAN_CLEARING_LOG + where + + + + + + + + + SELECT + MAX( ID ) MAX_ID, + COUNT( \\* ) CNT + FROM + ABS_PLAN_CLEARING_LOG_HIS + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + + SELECT + SUM(AMT) AMT + FROM + ABS_PLAN_CLEARING_LOG_HIS + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + SELECT + SUM(AMT) AMT + FROM + ABS_PLAN_CLEARING_LOG_HIS + WHERE + CNT_PTY_CODE = #{cntPtyCode,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_CLEARING_ORDER.xml b/dalgen/configTables/ABS_PLAN_CLEARING_ORDER.xml new file mode 100644 index 0000000..60fc26b --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_CLEARING_ORDER.xml @@ -0,0 +1,307 @@ + + + + + + ID,TRANS_AMT,SEQ_NO,PLAN_NO,EXEC_TMS,LOG_MIN_MAX_ID,MEMO + ,TRANS_CODE,CNT_PTY_CODE,TRANS_STATUS,TRANS_ORDER_NO,GMT_CREATE + ,ACCOUNT_DATE,GMT_MODIFIED,OUT_BIZ_NO + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + + + + + sf.ID,sf.TRANS_AMT,sf.SEQ_NO,sf.PLAN_NO,sf.EXEC_TMS,sf.LOG_MIN_MAX_ID,sf.MEMO + ,sf.TRANS_CODE,sf.CNT_PTY_CODE,sf.TRANS_STATUS,sf.TRANS_ORDER_NO,sf.GMT_CREATE + ,sf.ACCOUNT_DATE,sf.GMT_MODIFIED,sf.OUT_BIZ_NO + ,sf.PRIN_AMT,sf.INTR_AMT,sf.PRIN_PENAL_AMT,sf.INTR_PENAL_AMT,sf.FEE_AMT,sf.FEE_PENAL_AMT,sf.OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_AMT + + + + + + + + + + + INSERT INTO abs_plan_clearing_order( + ID + ,TRANS_AMT + ,SEQ_NO + ,OUT_BIZ_NO + ,PLAN_NO + ,EXEC_TMS + ,TRANS_CODE + ,CNT_PTY_CODE + ,TRANS_STATUS + ,TRANS_ORDER_NO + ,GMT_CREATE + ,ACCOUNT_DATE + ,GMT_MODIFIED + ,LOG_MIN_MAX_ID + ,MEMO + ,PRIN_AMT + ,INTR_AMT + ,PRIN_PENAL_AMT + ,INTR_PENAL_AMT + ,FEE_AMT + ,FEE_PENAL_AMT + ,OTHER_FEE_AMT + ,OTHER_FEE_PENAL_AMT + )VALUES + ( + SEQ_ABS_PLAN_CLEARING_ORDER.nextval + , #{item.transAmt,jdbcType=DECIMAL} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.outBizNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.execTms,jdbcType=VARCHAR} + , #{item.transCode,jdbcType=VARCHAR} + , #{item.cntPtyCode,jdbcType=VARCHAR} + , #{item.transStatus,jdbcType=VARCHAR} + , #{item.transOrderNo,jdbcType=VARCHAR} + , sysdate + , #{item.accountDate,jdbcType=DATE} + , sysdate + , #{item.logMinMaxId,jdbcType=VARCHAR} + , #{item.memo,jdbcType=VARCHAR} + , #{item.prinAmt,jdbcType=BIGINT} + , #{item.intrAmt,jdbcType=BIGINT} + , #{item.prinPenalAmt,jdbcType=BIGINT} + , #{item.intrPenalAmt,jdbcType=BIGINT} + , #{item.feeAmt,jdbcType=BIGINT} + , #{item.feePenalAmt,jdbcType=BIGINT} + , #{item.otherFeeAmt,jdbcType=BIGINT} + , #{item.otherFeePenalAmt,jdbcType=BIGINT} + ) + + + + + + + UPDATE abs_plan_clearing_order + SET + TRANS_STATUS = #{transStatus,jdbcType=VARCHAR} + ,TRANS_ORDER_NO = #{transOrderNo,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + ,MEMO = #{memo,jdbcType=VARCHAR} + WHERE + TRANS_STATUS = #{oldTransStatus,jdbcType=VARCHAR} + AND + SEQ_NO IN + + #{seqNo,jdbcType=VARCHAR} + + + + + UPDATE abs_plan_clearing_order + SET + TRANS_STATUS = #{transStatus,jdbcType=VARCHAR} + ,TRANS_ORDER_NO = #{transOrderNo,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + ,MEMO = #{memo,jdbcType=VARCHAR} + WHERE + TRANS_STATUS = #{oldTransStatus,jdbcType=VARCHAR} + AND + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + + + + SELECT * FROM abs_plan_clearing_order + WHERE + SEQ_NO = #{seqNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + TRANS_AMT + ,SEQ_NO + ,OUT_BIZ_NO + ,PLAN_NO + ,EXEC_TMS + ,TRANS_CODE + ,CNT_PTY_CODE + ,TRANS_STATUS + ,ACCOUNT_DATE + ,PRIN_AMT,INTR_AMT,PRIN_PENAL_AMT,INTR_PENAL_AMT,FEE_AMT,FEE_PENAL_AMT,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT + FROM abs_plan_clearing_order + WHERE + TRANS_STATUS = #{transStatus,jdbcType=VARCHAR} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + ORDER BY ACCOUNT_DATE,TRANS_CODE,PLAN_NO,CNT_PTY_CODE, GMT_CREATE + + + + SELECT + COUNT(*) + FROM + abs_plan_clearing_order + WHERE + TRANS_STATUS = 'init' + AND + ( + PLAN_NO = #{planNo,jdbcType=VARCHAR} + or + CNT_PTY_CODE = #{planNo,jdbcType=VARCHAR} + ) + + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + + + SELECT + COUNT(*) + FROM + abs_plan_clearing_order + WHERE + TRANS_STATUS = 'init' + + + + SELECT + * + FROM + abs_plan_clearing_order + WHERE + TRANS_STATUS = 'init' + + + + + SELECT + sum( TRANS_AMT ) AMT + FROM + ABS_PLAN_CLEARING_ORDER + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + AND TRANS_CODE = #{transCode,jdbcType=VARCHAR} + AND TRANS_STATUS = 'succ' + + + + SELECT + count(*) + FROM + ABS_PLAN_CLEARING_ORDER + WHERE + + + + + select + count(*) CLO_CNT + from + ABS_PLAN_CLEARING_ORDER + where + TRANS_STATUS = #{transStatus,jdbcType=VARCHAR} + and + OUT_BIZ_NO = #{outBizNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_FEE_LOAN_COLL.xml b/dalgen/configTables/ABS_PLAN_FEE_LOAN_COLL.xml new file mode 100644 index 0000000..6e83c9c --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_FEE_LOAN_COLL.xml @@ -0,0 +1,185 @@ + + + + + + ID,BASE_AMT,COLL_FEE_AMT,AST_NO,COLL_NO + ,OWN_ORG,OUT_AST_NO,PAY_BIZ_NO,PAY_STATUS,LENDER_ORG_CODE + ,PAY_DATE,COLL_DATE,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.BASE_AMT,sf.COLL_FEE_AMT,sf.AST_NO,sf.COLL_NO + ,sf.OWN_ORG,sf.OUT_AST_NO,sf.PAY_BIZ_NO,sf.PAY_STATUS,sf.LENDER_ORG_CODE + ,sf.PAY_DATE,sf.COLL_DATE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_fee_loan_coll( + ID + ,BASE_AMT + ,COLL_FEE_AMT + ,AST_NO + ,COLL_NO + ,OWN_ORG + ,OUT_AST_NO + ,PAY_BIZ_NO + ,PAY_STATUS + ,LENDER_ORG_CODE + ,PAY_DATE + ,COLL_DATE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_FEE_LOAN_COLL.nextval + , #{item.baseAmt,jdbcType=DECIMAL} + , #{item.collFeeAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.collNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.outAstNo,jdbcType=VARCHAR} + , #{item.payBizNo,jdbcType=VARCHAR} + , #{item.payStatus,jdbcType=VARCHAR} + , #{item.lenderOrgCode,jdbcType=VARCHAR} + , #{item.payDate,jdbcType=DATE} + , #{item.collDate,jdbcType=DATE} + , sysdate + , sysdate + ) + + + + + + + DELETE FROM + abs_plan_fee_loan_coll + WHERE + PAY_STATUS = #{payStatus,jdbcType=VARCHAR} + AND + COLL_NO = #{collNo,jdbcType=VARCHAR} + + + + + + + + select * FROM + abs_plan_fee_loan_coll + WHERE + COLL_NO = #{collNo,jdbcType=VARCHAR} + + + + + + + + + SELECT + OWN_ORG, + SUM(COLL_FEE_AMT) COLL_FEE_AMT, + COUNT(*) COLL_CNT + FROM + abs_plan_fee_loan_coll + WHERE + PAY_STATUS = #{payStatus,jdbcType=VARCHAR} + AND + LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + AND + COLL_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + GROUP BY OWN_ORG + + + + SELECT + SUM(COLL_FEE_AMT) COLL_FEE_AMT + FROM + abs_plan_fee_loan_coll + WHERE + PAY_STATUS = #{payStatus,jdbcType=VARCHAR} + AND + LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} + AND + COLL_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + +
diff --git a/dalgen/configTables/ABS_PLAN_FEE_STRUCTURE.xml b/dalgen/configTables/ABS_PLAN_FEE_STRUCTURE.xml new file mode 100644 index 0000000..d3a604c --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_FEE_STRUCTURE.xml @@ -0,0 +1,110 @@ + + + + + + ID,FIXED_FEE_AMT,PAY_LIMIT_AMT,FEE_NO,PLAN_NO + ,FEE_NAME,FEE_CALC_TYPE,FEE_TIME_TYPE,FEE_SCALE_TYPE,CALC_BY_DAY + ,GMT_CREATE,GMT_MODIFIED,FEE_RATE,FEE_CALC_INTR_TYPE + ,FIN_SER_FEE_TYPE,TITLE_CODE + + + + + sf.ID,sf.FIXED_FEE_AMT,sf.PAY_LIMIT_AMT,sf.FEE_NO,sf.PLAN_NO + ,sf.FEE_NAME,sf.FEE_CALC_TYPE,sf.FEE_TIME_TYPE,sf.FEE_SCALE_TYPE,sf.CALC_BY_DAY + ,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.FEE_RATE,sf.FEE_CALC_INTR_TYPE + ,sf.FIN_SER_FEE_TYPE, sf.TITLE_CODE + + + + + + + INSERT INTO ABS_PLAN_FEE_STRUCTURE( + ID + ,FIXED_FEE_AMT + ,PAY_LIMIT_AMT + ,FEE_NO + ,PLAN_NO + ,FEE_NAME + ,FEE_CALC_TYPE + ,FEE_TIME_TYPE + ,FEE_SCALE_TYPE + ,CALC_BY_DAY + ,GMT_CREATE + ,GMT_MODIFIED + ,FEE_RATE + ,FIN_SER_FEE_TYPE + ,FEE_CALC_INTR_TYPE + ,TITLE_CODE + )VALUES + + ( + SEQ_ABS_PLAN_FEE_STRUCTURE.nextval + , #{item.fixedFeeAmt,jdbcType=BIGINT} + , #{item.payLimitAmt,jdbcType=BIGINT} + , #{item.feeNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.feeName,jdbcType=VARCHAR} + , #{item.feeCalcType,jdbcType=VARCHAR} + , #{item.feeTimeType,jdbcType=VARCHAR} + , #{item.feeScaleType,jdbcType=VARCHAR} + , #{item.calcByDay,jdbcType=CHAR} + , sysdate + , sysdate + , #{item.feeRate,jdbcType=DECIMAL} + , #{item.finSerFeeType,jdbcType=VARCHAR} + , #{item.feeCalcIntrType,jdbcType=VARCHAR} + , #{item.titleCode,jdbcType=VARCHAR} + ) + + + + + + + + + + + + + SELECT * + FROM abs_plan_fee_structure + WHERE + + ORDER BY ID ASC + + + + SELECT * + FROM abs_plan_fee_structure + WHERE + FEE_NO = #{feeNo,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_PLAN_FUND_FILE.xml b/dalgen/configTables/ABS_PLAN_FUND_FILE.xml new file mode 100644 index 0000000..e264048 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_FUND_FILE.xml @@ -0,0 +1,90 @@ + + + + + + ID,FILE_ID,PLAN_NO,FILE_MD5,FILE_NAME + ,FILE_PATH,UPLOAD_TYPE,GMT_CREATE,UPLOAD_DATE,GMT_MODIFIED + + + + + sf.ID,sf.FILE_ID,sf.PLAN_NO,sf.FILE_MD5,sf.FILE_NAME + ,sf.FILE_PATH,sf.UPLOAD_TYPE,sf.GMT_CREATE,sf.UPLOAD_DATE,sf.GMT_MODIFIED + + + + + + + + + + + + + SELECT * + FROM abs_plan_fund_file + WHERE + + + + + + SELECT * FROM( + SELECT * + FROM abs_plan_fund_file + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + ORDER BY UPLOAD_DATE DESC + ) where ROWNUM = 1 + + +
diff --git a/dalgen/configTables/ABS_PLAN_GROUP.xml b/dalgen/configTables/ABS_PLAN_GROUP.xml new file mode 100644 index 0000000..1113de2 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_GROUP.xml @@ -0,0 +1,162 @@ + + + + + + ID,PLAN_GROUP_NAME,PLAN_GROUP_NO,MATCH_SORT_RULE,MATCH_START_RULE,MATCH_START_TIME,GMT_CREATE,GMT_MODIFIED + + + + + ID,PLAN_GROUP_NO,PLAN_NO,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.PLAN_GROUP_NAME,sf.PLAN_GROUP_NO,sf.MATCH_SORT_RULE,sf.MATCH_START_RULE + ,sf.MATCH_START_TIME + + + + sf.ID,sf.PLAN_GROUP_NO,sf.PLAN_NO,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + + SELECT + + FROM ABS_PLAN_GROUP + + + PLAN_GROUP_NAME LIKE CONCAT(CONCAT('%',#{planGroupName,jdbcType=VARCHAR}),'%') + + + + + + + SELECT + + FROM ABS_PLAN_GROUP + + + PLAN_GROUP_NAME = #{planGroupName,jdbcType=VARCHAR} + + + OR PLAN_GROUP_NO = #{planGroupNo,jdbcType=VARCHAR} + + + + + + + SELECT + + FROM ABS_PLAN_GROUP + + + PLAN_GROUP_NAME = #{planGroupName,jdbcType=VARCHAR} + + + AND PLAN_GROUP_NO IN + + #{planGroupNo,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + + SELECT + p.PLAN_NO,p.PLAN_NAME,p.BEGIN_DATE,p.END_DATE,p.STATUS,p.PLAN_MGR_ORG_CODE,g.PLAN_GROUP_NAME,g.PLAN_GROUP_NO + FROM ABS_PLAN p + LEFT JOIN ABS_PLAN_GROUP_REL sf ON sf.PLAN_NO = p.PLAN_NO + LEFT JOIN ABS_PLAN_GROUP g ON sf.PLAN_GROUP_NO = g.PLAN_GROUP_NO + + + sf.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND p.PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + + + AND sf.PLAN_GROUP_NO = #{planGroupNo,jdbcType=VARCHAR} + + + AND g.PLAN_GROUP_NAME = #{planGroupName,jdbcType=VARCHAR} + + + AND + (sf.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + AND sf.PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + ) + + + ORDER BY p.BEGIN_DATE DESC + + + +
diff --git a/dalgen/configTables/ABS_PLAN_GROUP_REL.xml b/dalgen/configTables/ABS_PLAN_GROUP_REL.xml new file mode 100644 index 0000000..19177a5 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_GROUP_REL.xml @@ -0,0 +1,67 @@ + + + + + + ID,PLAN_GROUP_NO,PLAN_NO,GMT_CREATE,GMT_MODIFIED + + + + sf.ID,sf.PLAN_GROUP_NO,sf.PLAN_NO,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + + + + + SELECT + sf.* + FROM ABS_PLAN_GROUP_REL sf + INNER JOIN ABS_PLAN p on sf.PLAN_NO = p.PLAN_NO + + + sf.PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + + + AND sf.PLAN_GROUP_NO = #{planGroupNo,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_PLAN_INVEST_STRUCTURE.xml b/dalgen/configTables/ABS_PLAN_INVEST_STRUCTURE.xml new file mode 100644 index 0000000..7cab557 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_INVEST_STRUCTURE.xml @@ -0,0 +1,145 @@ + + + + + + ID,LAYER_AMT,PLAN_NO,LAYER_NO,INTR_TYPE,RECEIVE_AMT,RECEIVE_ATTR + ,LAYER_NAME,LAYER_TYPE,GMT_CREATE,GMT_MODIFIED,LAYER_END_DATE + ,LAYER_INTR,EFFECT_DATE + + + + + sf.ID,sf.LAYER_AMT,sf.PLAN_NO,sf.LAYER_NO,sf.INTR_TYPE ,sf.RECEIVE_AMT,sf.RECEIVE_ATTR + ,sf.LAYER_NAME,sf.LAYER_TYPE,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LAYER_END_DATE + ,sf.LAYER_INTR,sf.EFFECT_DATE + + + + + + + INSERT INTO ABS_PLAN_INVEST_STRUCTURE( + ID + ,LAYER_AMT + ,RECEIVE_AMT + ,RECEIVE_ATTR + ,PLAN_NO + ,LAYER_NO + ,INTR_TYPE + ,LAYER_NAME + ,LAYER_TYPE + ,GMT_CREATE + ,GMT_MODIFIED + ,LAYER_END_DATE + ,LAYER_INTR + ,EFFECT_DATE + )VALUES + + ( + SEQ_ABS_PLAN_INVEST_STRUCTURE.nextval + , #{item.layerAmt,jdbcType=BIGINT} + , #{item.receiveAmt,jdbcType=BIGINT} + , #{item.receiveAttr,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.layerNo,jdbcType=VARCHAR} + , #{item.intrType,jdbcType=VARCHAR} + , #{item.layerName,jdbcType=VARCHAR} + , #{item.layerType,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.layerEndDate,jdbcType=DATE} + , #{item.layerIntr,jdbcType=DECIMAL} + , #{item.effectDate,jdbcType=DATE} + ) + + + + + + + + + + + + + SELECT + * + FROM + abs_plan_invest_structure + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + ORDER BY LAYER_TYPE ASC,ID ASC + + + + SELECT + * + FROM + abs_plan_invest_structure + WHERE + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + + SELECT + nvl(SUM(layer_amt),0) as layerAmt + FROM + abs_plan_invest_structure + WHERE + EFFECT_DATE <= #{accountDate,jdbcType=DATE} + + AND + PLAN_NO IN + + #{onePlanNo, jdbcType=VARCHAR} + + + + + + SELECT + nvl(SUM(layer_amt),0) as layerAmt + FROM abs_plan_invest_structure + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + SELECT + nvl(SUM(RECEIVE_AMT),0) as receiveAmt + FROM abs_plan_invest_structure + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_invest_structure + WHERE + LAYER_NO = #{layerNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_MONITOR.xml b/dalgen/configTables/ABS_PLAN_MONITOR.xml new file mode 100644 index 0000000..10551f6 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_MONITOR.xml @@ -0,0 +1,109 @@ + + + + + + ID,PLAN_NO,INDICATOR,NAME,VALUE + ,GMT_CREATE,GMT_MODIFIED + + + + + + sf.ID,sf.PLAN_NO,sf.INDICATOR,sf.NAME,sf.VALUE + ,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT * + FROM abs_plan_monitor + WHERE + + + + + SELECT * + FROM abs_plan_monitor + WHERE + + + + + SELECT + count(*) + FROM + abs_plan_monitor + WHERE + + + +
diff --git a/dalgen/configTables/ABS_PLAN_MONITOR_RECORD.xml b/dalgen/configTables/ABS_PLAN_MONITOR_RECORD.xml new file mode 100644 index 0000000..5a2ff8d --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_MONITOR_RECORD.xml @@ -0,0 +1,62 @@ + + + + + + + + ID,VALUE,MONITOR_ID,EXCESS_VALUE,PLAN_NO + ,INDICATOR,GMT_CREATE,GMT_MODIFIED,MONITOR_NAME + + + + + + sf.ID,sf.VALUE,sf.MONITOR_ID,sf.EXCESS_VALUE,sf.PLAN_NO + ,sf.INDICATOR,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.MONITOR_NAME + + + + + + + + + SELECT + sf.* + FROM + ABS_PLAN_MONITOR_RECORD sf + WHERE + 1=1 + + AND + sf.PLAN_NO = #{planNo,jdbcType=VARCHAR} + + AND sf.GMT_CREATE <= SYSDATE + ORDER BY + sf.GMT_CREATE DESC , sf.ID desc + + +
diff --git a/dalgen/configTables/ABS_PLAN_POND.xml b/dalgen/configTables/ABS_PLAN_POND.xml new file mode 100644 index 0000000..a466ed4 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_POND.xml @@ -0,0 +1,233 @@ + + + + + + ID,MANAGER_ORG_CODE,POND_NO,POND_TYPE,POND_NAME + ,MATCH_SCHEME,GMT_CREATE,GMT_MODIFIED,GMT_CREATOR,GMT_MODIFIOR + ,SPONSOR_ORG_CODE,DISB_TYPE,BEGIN_DATE,END_DATE + + + + + sf.ID,sf.MANAGER_ORG_CODE,sf.POND_NO,POND_TYPE,sf.POND_NAME + ,sf.MATCH_SCHEME,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.GMT_CREATOR,sf.GMT_MODIFIOR + ,sf.SPONSOR_ORG_CODE,sf.DISB_TYPE,sf.BEGIN_DATE,sf.END_DATE + + + + + + INSERT INTO ABS_PLAN_POND( + ID + ,MANAGER_ORG_CODE + ,POND_NO + ,POND_TYPE + ,POND_NAME + ,MATCH_SCHEME + ,GMT_CREATE + ,GMT_MODIFIED + ,GMT_CREATOR + ,GMT_MODIFIOR + ,SPONSOR_ORG_CODE + ,DISB_TYPE + ,BEGIN_DATE + ,END_DATE + )VALUES( + SEQ_ABS_PLAN_POND.nextval + , #{managerOrgCode,jdbcType=VARCHAR} + , #{pondNo,jdbcType=VARCHAR} + , #{pondType,jdbcType=VARCHAR} + , #{pondName,jdbcType=VARCHAR} + , #{matchScheme,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{gmtCreator,jdbcType=VARCHAR} + , #{gmtModifior,jdbcType=VARCHAR} + , #{sponsorOrgCode,jdbcType=VARCHAR} + , #{disbType,jdbcType=VARCHAR} + , #{beginDate,jdbcType=DATE} + , #{endDate,jdbcType=DATE} + ) + + + + + + + + INSERT INTO ABS_PLAN_POND( + ID + ,MANAGER_ORG_CODE + ,POND_NO + ,POND_TYPE + ,POND_NAME + ,MATCH_SCHEME + ,GMT_CREATE + ,GMT_MODIFIED + ,GMT_CREATOR + ,GMT_MODIFIOR + ,SPONSOR_ORG_CODE + ,DISB_TYPE + ,BEGIN_DATE + ,END_DATE + )VALUES( + SEQ_ABS_PLAN_POND.nextval + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.pondNo,jdbcType=VARCHAR} + , #{item.pondType,jdbcType=VARCHAR} + , #{item.pondName,jdbcType=VARCHAR} + , #{item.matchScheme,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.gmtCreator,jdbcType=VARCHAR} + , #{item.gmtModifior,jdbcType=VARCHAR} + , #{item.sponsorOrgCode,jdbcType=VARCHAR} + , #{item.disbType,jdbcType=VARCHAR} + , #{item.beginDate,jdbcType=DATE} + , #{item.endDate,jdbcType=DATE} + ) + + + + + + + + + + SELECT * + FROM ABS_PLAN_POND + WHERE + + + + + SELECT * + FROM ABS_PLAN_POND + + + AND POND_NO = #{pondNo,jdbcType=VARCHAR} + + + AND POND_NAME like CONCAT(CONCAT('%',#{pondName,jdbcType=VARCHAR}),'%') + + + AND POND_TYPE = #{pondType,jdbcType=VARCHAR} + + + AND DISB_TYPE = #{disbType,jdbcType=VARCHAR} + + + ORDER BY GMT_CREATE DESC + + + + SELECT + * + FROM + ABS_PLAN_POND + WHERE + POND_TYPE = #{pondType,jdbcType=VARCHAR} + + AND POND_NAME like CONCAT(CONCAT('%',#{pondName,jdbcType=VARCHAR}),'%') + + ORDER BY GMT_CREATE DESC + + + + SELECT + * + FROM + ABS_PLAN_POND + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + ORDER BY GMT_CREATE DESC + + + + SELECT + * + FROM + ABS_PLAN_POND + WHERE + SPONSOR_ORG_CODE = #{sponsorOrgCode,jdbcType=VARCHAR} + + AND POND_TYPE = #{pondType,jdbcType=VARCHAR} + + ORDER BY GMT_CREATE DESC + + + + SELECT * + FROM ABS_PLAN_POND + + + AND POND_NO = #{pondNo,jdbcType=VARCHAR} + + + AND POND_NAME = like CONCAT(CONCAT('%',#{pondName,jdbcType=VARCHAR}),'%') + + + AND POND_TYPE = #{pondType,jdbcType=VARCHAR} + + + AND MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + + ORDER BY GMT_CREATE DESC + + + + SELECT * + FROM ABS_PLAN_POND + WHERE + + FOR UPDATE NOWAIT + + + + + SELECT + * + FROM + ABS_PLAN_POND + WHERE + 1=1 + AND + POND_NO + IN + + #{pondNo,jdbcType=VARCHAR} + + + +
diff --git a/dalgen/configTables/ABS_PLAN_PROD_LIMIT.xml b/dalgen/configTables/ABS_PLAN_PROD_LIMIT.xml new file mode 100644 index 0000000..f46bb9e --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_PROD_LIMIT.xml @@ -0,0 +1,129 @@ + + + + + + ID,PLAN_NO,SPV_NO,SCALE_LIMIT,EFF,LIMITS_TYPE,SCHEME,PROD_CODE,GMT_CREATE,GMT_MODIFIED + + + + + + + + + + + + INSERT INTO ABS_PLAN_PROD_LIMIT( + ID + ,PLAN_NO + ,SPV_NO + ,SCALE_LIMIT + ,EFF + ,LIMITS_TYPE + ,PROD_CODE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_PROD_LIMIT.nextval + , #{item.planNo,jdbcType=VARCHAR} + , #{item.spvNo,jdbcType=VARCHAR} + , #{item.scaleLimit,jdbcType=DECIMAL} + , #{item.eff,jdbcType=VARCHAR} + , #{item.limitsType,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + DELETE FROM + ABS_PLAN_PROD_LIMIT + WHERE + SPV_NO = #{spvNo,jdbcType=VARCHAR} + + + + DELETE FROM + ABS_PLAN_PROD_LIMIT + WHERE + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + + SELECT + * + FROM + ABS_PLAN_PROD_LIMIT + WHERE + SPV_NO = #{spvNo,jdbcType=VARCHAR} + AND + EFF = 'Y' + ORDER BY GMT_CREATE DESC + + + + SELECT + * + FROM + ABS_PLAN_PROD_LIMIT + WHERE + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + AND + EFF = 'Y' + ORDER BY GMT_CREATE DESC + +
diff --git a/dalgen/configTables/ABS_PLAN_PROD_PREFERENCE.xml b/dalgen/configTables/ABS_PLAN_PROD_PREFERENCE.xml new file mode 100644 index 0000000..44cae66 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_PROD_PREFERENCE.xml @@ -0,0 +1,86 @@ + + + + + + ID,PLAN_NO,PROD_CODE + + + + + sf,ID,sf.PLAN_NO,sf.PROD_CODE + + + + + + + + + + + INSERT INTO ABS_PLAN_PROD_PREFERENCE( + ID + ,PLAN_NO + ,PROD_CODE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_PROD_PREFERENCE.nextval + , #{item.planNo,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + select + * + from + ABS_PLAN_PROD_PREFERENCE + where + PLAN_NO = #{planNo,jdbcType=VARCHAR} + ORDER BY GMT_CREATE ASC + + + + DELETE FROM + ABS_PLAN_PROD_PREFERENCE + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + select + A.ID,A.PLAN_NO,A.PROD_CODE + from + ABS_PLAN_PROD_PREFERENCE A + LEFT JOIN + ABS_PLAN B ON A.PLAN_NO = B.PLAN_NO + WHERE + A.PROD_CODE = #{prodCode,jdbcType=VARCHAR} + AND + B.STATUS = 'ONGOING' + AND + B.POND_NO = #{pondNo,jdbcType=VARCHAR} + ORDER BY B.END_DATE ASC + +
diff --git a/dalgen/configTables/ABS_PLAN_REPORT.xml b/dalgen/configTables/ABS_PLAN_REPORT.xml new file mode 100644 index 0000000..9401bff --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_REPORT.xml @@ -0,0 +1,176 @@ + + + + + + + + RPT_NO,PLAN_NO,PLAN_NAME,RPT_TYPE,RPT_DATE,GMT_CREATE,RPT_DTL + + + + + sf.RPT_NO,sf.PLAN_NO,sf.PLAN_NAME,sf.RPT_TYPE,sf.RPT_DATE,sf.GMT_CREATE,sf.RPT_DTL + + + + + + + + DELETE FROM abs_plan_report + WHERE + RPT_DATE >= #{rptDate,jdbcType=VARCHAR} + AND + RPT_TYPE = #{rptType,jdbcType=VARCHAR} + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + + SELECT * + FROM + ( + SELECT * + FROM abs_plan_report + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND RPT_TYPE = #{rptType,jdbcType=VARCHAR} + ORDER BY RPT_DATE DESC + ) WHERE ROWNUM = 1 + + + + SELECT * + FROM abs_plan_report + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND RPT_TYPE = #{rptType,jdbcType=VARCHAR} + AND RPT_DATE = #{rptDate,jdbcType=VARCHAR} + + + + + SELECT + COUNT(\\*) + FROM abs_plan_report + WHERE + PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + AND + RPT_TYPE = #{rptType,jdbcType=VARCHAR} + AND + RPT_DATE = #{rptDate,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_plan_report + WHERE + RPT_NO = #{rptNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_report + WHERE + RPT_TYPE = #{rptType,jdbcType=VARCHAR} + AND + RPT_DATE + BETWEEN + #{startDate,jdbcType=VARCHAR} + AND + #{endDate,jdbcType=VARCHAR} + + AND PLAN_NO IN + + #{one,jdbcType=VARCHAR} + + + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + ORDER BY + RPT_DATE ASC + + + + SELECT * + FROM abs_plan_report + WHERE + RPT_TYPE = #{rptType,jdbcType=VARCHAR} + AND + RPT_DATE IN + + #{item,jdbcType=VARCHAR} + + + AND PLAN_NO IN + + #{one,jdbcType=VARCHAR} + + + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + + + + + + + + select max(RPT_DATE) MAX_DAY, min(RPT_DATE) MIN_DAY, count(*) CNT, PLAN_NO + from abs_plan_report + + + AND RPT_TYPE = #{rptType,jdbcType=VARCHAR} + + + AND PLAN_NO IN + + #{one,jdbcType=VARCHAR} + + + + group by PLAN_NO + + + + SELECT count(*) + FROM ABS_LOAN_BAK + WHERE + BAK_DATE = #{accountDate,jdbcType=VARCHAR} + + + + SELECT count(*) + FROM ABS_PLAN_REPORT_ENTITY + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_REPORT_CHECK_LOG.xml b/dalgen/configTables/ABS_PLAN_REPORT_CHECK_LOG.xml new file mode 100644 index 0000000..2832509 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_REPORT_CHECK_LOG.xml @@ -0,0 +1,110 @@ + + + + + + ID,RPT_NO,PLAN_NO,RPT_DATE,CHECK_LOG + ,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.RPT_NO,sf.PLAN_NO,sf.RPT_DATE,sf.CHECK_LOG + ,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_report_check_log( + ID + ,RPT_NO + ,PLAN_NO + ,RPT_DATE + ,CHECK_LOG + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_REPORT_CHECK_LOG.nextval + , #{item.rptNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.rptDate,jdbcType=VARCHAR} + , #{item.checkLog,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_plan_report_check_log + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + RPT_DATE = #{rptDate,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_report_check_log + + + and PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + and RPT_DATE = #{rptDate,jdbcType=VARCHAR} + + + + +
diff --git a/dalgen/configTables/ABS_PLAN_REPORT_ENTITY.xml b/dalgen/configTables/ABS_PLAN_REPORT_ENTITY.xml new file mode 100644 index 0000000..aa09083 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_REPORT_ENTITY.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + SIGN,AST_CHG,FEE_AMT,INTR_AMT,RPT_DIM + ,PRIN_AMT,FEE_PENAL_AMT,OVD_FEE_AMT,INTR_PENAL_AMT,OVD_INTR_AMT + ,OVD_PRIN_AMT,PRIN_PENAL_AMT,AST_NO,PLAN_NO,USER_ID, CLC_YEARPFT_AMT + ,STAT_VAL,STAT_TYPE,EVENT_CODE,ACCOUNT_DATE,COST,ORG_DISTPFT_AMT + ,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT,OVD_DAYS,GMT_CREATE + + + + + sf.SIGN,sf.AST_CHG,sf.FEE_AMT,sf.INTR_AMT,sf.RPT_DIM + ,sf.PRIN_AMT,sf.FEE_PENAL_AMT,sf.OVD_FEE_AMT,sf.INTR_PENAL_AMT,sf.OVD_INTR_AMT + ,sf.OVD_PRIN_AMT,sf.PRIN_PENAL_AMT,sf.AST_NO,sf.PLAN_NO,sf.USER_ID, sf.CLC_YEARPFT_AMT + ,sf.STAT_VAL,sf.STAT_TYPE,sf.EVENT_CODE,sf.ACCOUNT_DATE,sf.COST,sf.ORG_DISTPFT_AMT + ,sf.OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_AMT,sf.OVD_DAYS,sf.GMT_CREATE + + + + + + + INSERT INTO abs_plan_report_entity( + SIGN + ,AST_CHG + ,FEE_AMT + ,INTR_AMT + ,RPT_DIM + ,PRIN_AMT + ,FEE_PENAL_AMT + ,OVD_FEE_AMT + ,INTR_PENAL_AMT + ,OVD_INTR_AMT + ,OVD_PRIN_AMT + ,PRIN_PENAL_AMT + ,AST_NO + ,PLAN_NO + ,USER_ID + ,STAT_VAL + ,STAT_TYPE + ,EVENT_CODE + ,ACCOUNT_DATE + ,COST + ,ORG_DISTPFT_AMT + ,CLC_YEARPFT_AMT + ,OTHER_FEE_AMT + ,OTHER_FEE_PENAL_AMT + ,OVD_DAYS + ,GMT_CREATE + )VALUES + ( + #{item.sign,jdbcType=DECIMAL} + , #{item.astChg,jdbcType=DECIMAL} + , #{item.feeAmt,jdbcType=DECIMAL} + , #{item.intrAmt,jdbcType=DECIMAL} + , #{item.rptDim,jdbcType=VARCHAR} + , #{item.prinAmt,jdbcType=DECIMAL} + , #{item.feePenalAmt,jdbcType=DECIMAL} + , #{item.ovdFeeAmt,jdbcType=DECIMAL} + , #{item.intrPenalAmt,jdbcType=DECIMAL} + , #{item.ovdIntrAmt,jdbcType=DECIMAL} + , #{item.ovdPrinAmt,jdbcType=DECIMAL} + , #{item.prinPenalAmt,jdbcType=DECIMAL} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.userId,jdbcType=VARCHAR} + , #{item.statVal,jdbcType=VARCHAR} + , #{item.statType,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.accountDate,jdbcType=DATE} + , #{item.cost,jdbcType=DECIMAL} + , #{item.orgDistpftAmt,jdbcType=DECIMAL} + , #{item.clcYearpftAmt,jdbcType=DECIMAL} + , #{item.otherFeeAmt,jdbcType=DECIMAL} + , #{item.otherFeePenalAmt,jdbcType=DECIMAL} + , #{item.ovdDays,jdbcType=DECIMAL} + ,sysdate + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + PLAN_NO, + STAT_TYPE, + STAT_VAL, + ACCOUNT_DATE, + SUM(AST_CHG * SIGN) as AST_CHG, + SUM(PRIN_AMT * SIGN) as PRIN_AMT, + SUM(OVD_PRIN_AMT * SIGN) as OVD_PRIN_AMT, + SUM(INTR_AMT * SIGN) as INTR_AMT, + SUM(OVD_INTR_AMT * SIGN) as OVD_INTR_AMT, + SUM(FEE_AMT * SIGN) as FEE_AMT, + SUM(OVD_FEE_AMT * SIGN) as OVD_FEE_AMT, + SUM(PRIN_PENAL_AMT * SIGN) as PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT * SIGN) as INTR_PENAL_AMT, + SUM(FEE_PENAL_AMT * SIGN) as FEE_PENAL_AMT, + SUM(ORG_DISTPFT_AMT * SIGN) as ORG_DISTPFT_AMT, + SUM(CLC_YEARPFT_AMT * SIGN) as CLC_YEARPFT_AMT, + SUM(OTHER_FEE_AMT * SIGN) as OTHER_FEE_AMT, + SUM(OTHER_FEE_PENAL_AMT * SIGN) as OTHER_FEE_PENAL_AMT, + SUM(nvl(COST,0) * SIGN) as COST + + + + SELECT + + FROM abs_plan_report_entity + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND RPT_DIM = 'bal' + GROUP BY ACCOUNT_DATE, PLAN_NO, STAT_TYPE, STAT_VAL + + + + SELECT + + FROM abs_plan_report_entity + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND RPT_DIM = 'accrued' + GROUP BY ACCOUNT_DATE, PLAN_NO, STAT_TYPE, STAT_VAL + + + + SELECT + PLAN_NO, + STAT_TYPE, + STAT_VAL, + ACCOUNT_DATE, + EVENT_CODE, + SUM(AST_CHG) as AST_CHG, + SUM(PRIN_AMT) as PRIN_AMT, + SUM(OVD_PRIN_AMT) as OVD_PRIN_AMT, + SUM(INTR_AMT) as INTR_AMT, + SUM(OVD_INTR_AMT) as OVD_INTR_AMT, + SUM(FEE_AMT) as FEE_AMT, + SUM(OVD_FEE_AMT) as OVD_FEE_AMT, + SUM(PRIN_PENAL_AMT) as PRIN_PENAL_AMT, + SUM(INTR_PENAL_AMT) as INTR_PENAL_AMT, + SUM(FEE_PENAL_AMT) as FEE_PENAL_AMT, + SUM(nvl(COST,0)) as COST, + SUM(nvl(ORG_DISTPFT_AMT,0)) as ORG_DISTPFT_AMT, + SUM(nvl(CLC_YEARPFT_AMT,0)) as CLC_YEARPFT_AMT, + SUM(nvl(OTHER_FEE_AMT,0)) as OTHER_FEE_AMT, + SUM(nvl(OTHER_FEE_PENAL_AMT,0)) as OTHER_FEE_PENAL_AMT + FROM abs_plan_report_entity + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND RPT_DIM = 'amt' + GROUP BY ACCOUNT_DATE, PLAN_NO, STAT_TYPE, STAT_VAL, EVENT_CODE + + + + DELETE FROM abs_plan_report_entity + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + SELECT + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + ACCOUNT_DATE, + nvl(AST_CHG,0) AST_CHG, + nvl(PRIN_AMT,0) PRIN_AMT, + nvl(OVD_PRIN_AMT,0) OVD_PRIN_AMT, + nvl(INTR_AMT,0) INTR_AMT, + nvl(OVD_INTR_AMT,0) OVD_INTR_AMT, + nvl(PRIN_PENAL_AMT,0) PRIN_PENAL_AMT, + nvl(INTR_PENAL_AMT,0) INTR_PENAL_AMT, + nvl(FEE_AMT,0) FEE_AMT, + nvl(OVD_FEE_AMT,0) OVD_FEE_AMT, + nvl(FEE_PENAL_AMT,0) FEE_PENAL_AMT, + nvl(COST,0) COST, + nvl(ORG_DISTPFT_AMT,0) ORG_DISTPFT_AMT, + nvl(OTHER_FEE_PENAL_AMT,0) OTHER_FEE_PENAL_AMT, + nvl(CLC_YEARPFT_AMT,0) CLC_YEARPFT_AMT, + nvl(OTHER_FEE_AMT,0) OTHER_FEE_AMT + FROM + ( + select + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + AST_CHG, + ACCOUNT_DATE, + PRIN_AMT, + OVD_PRIN_AMT, + INTR_AMT, + OVD_INTR_AMT, + PRIN_PENAL_AMT, + INTR_PENAL_AMT, + FEE_AMT, + OVD_FEE_AMT, + FEE_PENAL_AMT, + COST, + ORG_DISTPFT_AMT, + OTHER_FEE_PENAL_AMT, + CLC_YEARPFT_AMT, + OTHER_FEE_AMT + FROM ABS_PLAN_REPORT_ENTITY_STAT GROUP BY + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + AST_CHG, + ACCOUNT_DATE, + PRIN_AMT, + OVD_PRIN_AMT, + INTR_AMT, + OVD_INTR_AMT, + PRIN_PENAL_AMT, + INTR_PENAL_AMT, + FEE_AMT, + OVD_FEE_AMT, + FEE_PENAL_AMT, + COST, + ORG_DISTPFT_AMT, + OTHER_FEE_PENAL_AMT, + CLC_YEARPFT_AMT, + OTHER_FEE_AMT + ) v + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + EVENT_CODE is not null + + + + SELECT + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + ACCOUNT_DATE, + nvl(AST_CHG,0) AST_CHG, + nvl(PRIN_AMT,0) PRIN_AMT, + nvl(OVD_PRIN_AMT,0) OVD_PRIN_AMT, + nvl(INTR_AMT,0) INTR_AMT, + nvl(OVD_INTR_AMT,0) OVD_INTR_AMT, + nvl(PRIN_PENAL_AMT,0) PRIN_PENAL_AMT, + nvl(INTR_PENAL_AMT,0) INTR_PENAL_AMT, + nvl(FEE_AMT,0) FEE_AMT, + nvl(OVD_FEE_AMT,0) OVD_FEE_AMT, + nvl(FEE_PENAL_AMT,0) FEE_PENAL_AMT, + nvl(COST,0) COST, + nvl(ORG_DISTPFT_AMT,0) ORG_DISTPFT_AMT, + nvl(OTHER_FEE_PENAL_AMT,0) OTHER_FEE_PENAL_AMT, + nvl(CLC_YEARPFT_AMT,0) CLC_YEARPFT_AMT, + nvl(OTHER_FEE_AMT,0) OTHER_FEE_AMT + FROM + ( + select + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + AST_CHG, + ACCOUNT_DATE, + PRIN_AMT, + OVD_PRIN_AMT, + INTR_AMT, + OVD_INTR_AMT, + PRIN_PENAL_AMT, + INTR_PENAL_AMT, + FEE_AMT, + OVD_FEE_AMT, + FEE_PENAL_AMT, + COST, + ORG_DISTPFT_AMT, + OTHER_FEE_PENAL_AMT, + CLC_YEARPFT_AMT, + OTHER_FEE_AMT + FROM ABS_PLAN_REPORT_ENTITY_STAT GROUP BY + PLAN_NO, + EVENT_CODE, + STAT_TYPE, + STAT_VAL, + AST_CHG, + ACCOUNT_DATE, + PRIN_AMT, + OVD_PRIN_AMT, + INTR_AMT, + OVD_INTR_AMT, + PRIN_PENAL_AMT, + INTR_PENAL_AMT, + FEE_AMT, + OVD_FEE_AMT, + FEE_PENAL_AMT, + COST, + ORG_DISTPFT_AMT, + OTHER_FEE_PENAL_AMT, + CLC_YEARPFT_AMT, + OTHER_FEE_AMT + ) v + WHERE + ACCOUNT_DATE = #{accountDate,jdbcType=TIMESTAMP} + AND + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + EVENT_CODE is null + AND + STAT_TYPE = #{statType,jdbcType=VARCHAR} + AND + STAT_VAL + IN + + #{statVal,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_PLAN_REPORT_ENTITY_STAT.xml b/dalgen/configTables/ABS_PLAN_REPORT_ENTITY_STAT.xml new file mode 100644 index 0000000..f49f2f0 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_REPORT_ENTITY_STAT.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + AST_CHG,FEE_AMT,INTR_AMT,PRIN_AMT,OVD_FEE_AMT + ,OVD_INTR_AMT,OVD_PRIN_AMT,FEE_PENAL_AMT,INTR_PENAL_AMT,PRIN_PENAL_AMT + ,PLAN_NO,STAT_VAL,STAT_TYPE,EVENT_CODE,ACCOUNT_DATE,COST,ORG_DISTPFT_AMT + ,OTHER_FEE_AMT,OTHER_FEE_PENAL_AMT ,CLC_YEARPFT_AMT,GMT_CREATE + + + + + sf.AST_CHG,sf.FEE_AMT,sf.INTR_AMT,sf.PRIN_AMT,sf.OVD_FEE_AMT + ,sf.OVD_INTR_AMT,sf.OVD_PRIN_AMT,sf.FEE_PENAL_AMT,sf.INTR_PENAL_AMT,sf.PRIN_PENAL_AMT + ,sf.PLAN_NO,sf.STAT_VAL,sf.STAT_TYPE,sf.EVENT_CODE,sf.ACCOUNT_DATE,sf.COST,sf.ORG_DISTPFT_AMT + ,sf.OTHER_FEE_AMT,sf.OTHER_FEE_PENAL_AMT ,sf.CLC_YEARPFT_AMT,sf.GMT_CREATE + + + + + + + MERGE INTO abs_plan_report_entity_stat t1 + USING ( + SELECT #{item.planNo,jdbcType=VARCHAR} PLAN_NO + , #{item.statVal,jdbcType=VARCHAR} STAT_VAL + , #{item.statType,jdbcType=VARCHAR} STAT_TYPE + , #{item.eventCode,jdbcType=VARCHAR} EVENT_CODE + , #{item.accountDate,jdbcType=DATE} ACCOUNT_DATE + FROM DUAL + ) t2 + ON ( + t1.PLAN_NO = t2.PLAN_NO + AND t1.STAT_VAL = t2.STAT_VAL + AND t1.STAT_TYPE = t2.STAT_TYPE + AND t1.EVENT_CODE = t2.EVENT_CODE + AND t1.ACCOUNT_DATE = t2.ACCOUNT_DATE + ) + WHEN MATCHED THEN UPDATE SET + AST_CHG = #{item.astChg,jdbcType=DECIMAL} + ,FEE_AMT = #{item.feeAmt,jdbcType=DECIMAL} + ,INTR_AMT = #{item.intrAmt,jdbcType=DECIMAL} + ,PRIN_AMT = #{item.prinAmt,jdbcType=DECIMAL} + ,OVD_FEE_AMT = #{item.ovdFeeAmt,jdbcType=DECIMAL} + ,OVD_INTR_AMT = #{item.ovdIntrAmt,jdbcType=DECIMAL} + ,OVD_PRIN_AMT = #{item.ovdPrinAmt,jdbcType=DECIMAL} + ,FEE_PENAL_AMT = #{item.feePenalAmt,jdbcType=DECIMAL} + ,INTR_PENAL_AMT = #{item.intrPenalAmt,jdbcType=DECIMAL} + ,PRIN_PENAL_AMT = #{item.prinPenalAmt,jdbcType=DECIMAL} + ,COST = #{item.cost,jdbcType=DECIMAL} + ,ORG_DISTPFT_AMT = #{item.orgDistpftAmt,jdbcType=DECIMAL} + ,OTHER_FEE_AMT = #{item.otherFeeAmt,jdbcType=DECIMAL} + ,OTHER_FEE_PENAL_AMT = #{item.otherFeePenalAmt,jdbcType=DECIMAL} + ,CLC_YEARPFT_AMT = #{item.clcYearpftAmt,jdbcType=DECIMAL} + WHEN NOT MATCHED THEN INSERT ( + AST_CHG + ,FEE_AMT + ,INTR_AMT + ,PRIN_AMT + ,OVD_FEE_AMT + ,OVD_INTR_AMT + ,OVD_PRIN_AMT + ,FEE_PENAL_AMT + ,INTR_PENAL_AMT + ,PRIN_PENAL_AMT + ,PLAN_NO + ,STAT_VAL + ,STAT_TYPE + ,EVENT_CODE + ,COST + ,ORG_DISTPFT_AMT + ,ACCOUNT_DATE + ,OTHER_FEE_AMT + ,OTHER_FEE_PENAL_AMT + ,CLC_YEARPFT_AMT + ,GMT_CREATE + )VALUES + ( + #{item.astChg,jdbcType=DECIMAL} + , #{item.feeAmt,jdbcType=DECIMAL} + , #{item.intrAmt,jdbcType=DECIMAL} + , #{item.prinAmt,jdbcType=DECIMAL} + , #{item.ovdFeeAmt,jdbcType=DECIMAL} + , #{item.ovdIntrAmt,jdbcType=DECIMAL} + , #{item.ovdPrinAmt,jdbcType=DECIMAL} + , #{item.feePenalAmt,jdbcType=DECIMAL} + , #{item.intrPenalAmt,jdbcType=DECIMAL} + , #{item.prinPenalAmt,jdbcType=DECIMAL} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.statVal,jdbcType=VARCHAR} + , #{item.statType,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.cost,jdbcType=DECIMAL} + , #{item.orgDistpftAmt,jdbcType=DECIMAL} + , #{item.accountDate,jdbcType=DATE} + , #{item.otherFeeAmt,jdbcType=DECIMAL} + , #{item.otherFeePenalAmt,jdbcType=DECIMAL} + , #{item.clcYearpftAmt,jdbcType=DECIMAL} + , sysdate + ) + + + + +
diff --git a/dalgen/configTables/ABS_PLAN_REPORT_ITEM.xml b/dalgen/configTables/ABS_PLAN_REPORT_ITEM.xml new file mode 100644 index 0000000..1ef4bf5 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_REPORT_ITEM.xml @@ -0,0 +1,278 @@ + + + + + + + + + + ID,AMT,AST_CNT,RPT_NO,PLAN_NO,RPT_ITEM_NAME + ,RPT_ITEM,ACCOUNT_DATE,GMT_CREATE + + + + + sf.ID,sf.AMT,sf.AST_CNT,sf.RPT_NO,sf.PLAN_NO,sf.RPT_ITEM_NAME + ,sf.RPT_ITEM,sf.ACCOUNT_DATE,sf.GMT_CREATE + + + + + + + + + + + + + + INSERT INTO abs_plan_report_item( + ID + ,AMT + ,AST_CNT + ,RPT_NO + ,PLAN_NO + ,RPT_ITEM_NAME + ,RPT_ITEM + ,ACCOUNT_DATE + ,GMT_CREATE + )VALUES + ( + SEQ_ABS_PLAN_REPORT_ITEM.nextval + , #{item.amt,jdbcType=DECIMAL} + , #{item.astCnt,jdbcType=DECIMAL} + , #{item.rptNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.rptItemName,jdbcType=VARCHAR} + , #{item.rptItem,jdbcType=VARCHAR} + , #{item.accountDate,jdbcType=DATE} + , sysdate + ) + + + + + DELETE FROM abs_plan_report_item + WHERE + ACCOUNT_DATE >= #{accountDate,jdbcType=VARCHAR} + + AND PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_plan_report_item + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND RPT_NO = #{rptNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_report_item + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + + + SELECT * + FROM abs_plan_report_item + WHERE + 1=1 + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + + + SELECT * FROM ABS_PLAN_REPORT_ITEM + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE = #{accountDate, jdbcType=DATE} + AND + RPT_ITEM = #{rptItem, jdbcType=VARCHAR} + + + + SELECT * FROM ABS_PLAN_REPORT_ITEM + WHERE + ACCOUNT_DATE = #{accountDate, jdbcType=DATE} + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + + + + SELECT + SUM(AMT) AS AMT, + SUM(AST_CNT) AS AST_CNT, + PLAN_NO, + RPT_ITEM, + RPT_ITEM_NAME + FROM ABS_PLAN_REPORT_ITEM + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + GROUP BY PLAN_NO,RPT_ITEM,RPT_ITEM_NAME + + + + SELECT + SUM(AMT) AS AMT, + SUM(AST_CNT) AS AST_CNT, + RPT_ITEM, + RPT_ITEM_NAME, + ACCOUNT_DATE + FROM ABS_PLAN_REPORT_ITEM + WHERE + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + GROUP BY ACCOUNT_DATE,RPT_ITEM,RPT_ITEM_NAME + ORDER BY ACCOUNT_DATE ASC + + + + + SELECT MIN(ACCOUNT_DATE) AS ACCOUNT_DATE + FROM ABS_PLAN_REPORT_ITEM + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + GROUP BY PLAN_NO + + + + SELECT * + FROM ABS_PLAN_REPORT_ITEM + + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + + AND ACCOUNT_DATE >= #{startDate,jdbcType=DATE} + + + AND ACCOUNT_DATE <= #{endDate,jdbcType=DATE} + + + AND ( + RPT_ITEM LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + RPT_ITEM_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + ORDER BY ACCOUNT_DATE, GMT_CREATE DESC, PLAN_NO + + + + select + t.PLAN_NO + ,t.AMT + from ( + SELECT + PLAN_NO + ,AMT + ,ROW_NUMBER() over (partition by PLAN_NO,RPT_ITEM order by ACCOUNT_DATE desc) rn + FROM + ABS_PLAN_REPORT_ITEM + where + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + AND RPT_ITEM = #{rptItem,jdbcType=VARCHAR} + ) t + where t.rn = 1 + + + + + + + SELECT * + FROM ( + SELECT + sf.* ,ROW_NUMBER() over (partition by PLAN_NO,RPT_ITEM order by ACCOUNT_DATE desc) rn + FROM + ABS_PLAN_REPORT_ITEM sf + WHERE + PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + AND + RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + AND ACCOUNT_DATE >= #{startDate,jdbcType=DATE} + + + AND ACCOUNT_DATE <= #{endDate,jdbcType=DATE} + + ) tab + + + AND tab.rn = 1 + + + +
diff --git a/dalgen/configTables/ABS_PLAN_REPORT_ITEM_DEFAULT.xml b/dalgen/configTables/ABS_PLAN_REPORT_ITEM_DEFAULT.xml new file mode 100644 index 0000000..c4fa9e4 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_REPORT_ITEM_DEFAULT.xml @@ -0,0 +1,204 @@ + + + + + + + + + ID,AMT,AST_CNT,RPT_NO,PLAN_NO + ,RPT_ITEM,RPT_ITEM_NAME,GMT_CREATE,ACCOUNT_DATE + + + + + sf.ID,sf.AMT,sf.AST_CNT,sf.RPT_NO,sf.PLAN_NO + ,sf.RPT_ITEM,sf.RPT_ITEM_NAME,sf.GMT_CREATE,sf.ACCOUNT_DATE + + + + + + + + + + + INSERT INTO abs_plan_report_item_default( + ID + ,AMT + ,AST_CNT + ,RPT_NO + ,PLAN_NO + ,RPT_ITEM + ,RPT_ITEM_NAME + ,GMT_CREATE + ,ACCOUNT_DATE + )VALUES + ( + SEQ_REPORT_ITEM_DEFAULT.nextval + , #{item.amt,jdbcType=DECIMAL} + , #{item.astCnt,jdbcType=DECIMAL} + , #{item.rptNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.rptItem,jdbcType=VARCHAR} + , #{item.rptItemName,jdbcType=VARCHAR} + , sysdate + , #{item.accountDate,jdbcType=DATE} + ) + + + + + + + + + + + SELECT * + FROM abs_plan_report_item_default + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + RPT_NO = 'DEFAULT' + AND + ACCOUNT_DATE = #{accountDate,jdbcType=DATE} + + + + SELECT MAX(ACCOUNT_DATE) + FROM abs_plan_report_item_default + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + RPT_NO = 'DEFAULT' + + + + SELECT * + FROM abs_plan_report_item_default + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + RPT_NO = 'DEFAULT' + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + + + + SELECT * + FROM abs_plan_report_item_default + WHERE + RPT_NO = 'DEFAULT' + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + + + SELECT * FROM abs_plan_report_item_default + WHERE + ACCOUNT_DATE = #{accountDate, jdbcType=DATE} + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + + + + SELECT SUM(AMT) AS AMT,SUM(AST_CNT) AS AST_CNT,PLAN_NO,RPT_ITEM,RPT_ITEM_NAME + FROM abs_plan_report_item_default + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + GROUP BY PLAN_NO,RPT_ITEM,RPT_ITEM_NAME + + + + SELECT SUM(AMT) AS AMT,SUM(AST_CNT) AS AST_CNT,RPT_ITEM,RPT_ITEM_NAME, ACCOUNT_DATE + FROM abs_plan_report_item_default + WHERE + ACCOUNT_DATE BETWEEN #{startDate,jdbcType=DATE} AND #{endDate,jdbcType=DATE} + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + + + AND RPT_ITEM IN + + #{rptItem,jdbcType=VARCHAR} + + + GROUP BY ACCOUNT_DATE,RPT_ITEM,RPT_ITEM_NAME + ORDER BY ACCOUNT_DATE ASC + + +
diff --git a/dalgen/configTables/ABS_PLAN_TARGET.xml b/dalgen/configTables/ABS_PLAN_TARGET.xml new file mode 100644 index 0000000..a815b59 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_TARGET.xml @@ -0,0 +1,133 @@ + + + + + + ID,TYPE,VALUE,PLAN_NO,GMT_CREATE + ,ACCOUNT_DATE,GMT_MODIFIED + + + + + sf.ID,sf.TYPE,sf.VALUE,sf.PLAN_NO,sf.GMT_CREATE + ,sf.ACCOUNT_DATE,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_target( + ID + ,TYPE + ,VALUE + ,PLAN_NO + ,GMT_CREATE + ,ACCOUNT_DATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_TARGET.nextval + , #{item.type,jdbcType=VARCHAR} + , #{item.value,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , sysdate + , #{item.accountDate,jdbcType=DATE} + , sysdate + ) + + + + + + + + + + SELECT * + FROM abs_plan_target + WHERE + + + + + + SELECT * + FROM abs_plan_target + WHERE + + + + + DELETE FROM abs_plan_target + WHERE + + AND TYPE IN + + #{type,jdbcType=VARCHAR} + + + + + + SELECT * + FROM abs_plan_target + WHERE + + AND PLAN_NO IN + + #{planNo,jdbcType=VARCHAR} + + AND TYPE = #{type,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_TASK_LOG.xml b/dalgen/configTables/ABS_PLAN_TASK_LOG.xml new file mode 100644 index 0000000..2e71955 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_TASK_LOG.xml @@ -0,0 +1,144 @@ + + + + + + ID,PLAN_NO,TASK_TYPE,EXEC_DATE,EXT_INFO,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.ID,sf.PLAN_NO,sf.TASK_TYPE,sf.EXEC_DATE, sf.EXT_INFO,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + + INSERT INTO abs_plan_task_log( + ID + ,PLAN_NO + ,TASK_TYPE + ,EXEC_DATE + ,EXT_INFO + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_PLAN_TASK_LOG.nextval + , #{item.planNo,jdbcType=VARCHAR} + , #{item.taskType,jdbcType=VARCHAR} + , #{item.execDate,jdbcType=DATE} + , #{item.extInfo,jdbcType=VARCHAR} + , sysdate + , sysdate + ) + + + + + + + DELETE FROM abs_plan_task_log + WHERE + + + + + SELECT * + FROM abs_plan_task_log + WHERE + + + + + SELECT * + FROM abs_plan_task_log + WHERE + + ORDER BY GMT_CREATE DESC + + + + select t.* from( + SELECT * + FROM abs_plan_task_log + WHERE + + )t + WHERE rownum = 1 + + + + select + sf.* + from ( + select + log.* + , row_number() over (partition by PLAN_NO order by abs(GMT_CREATE - trunc(#{accountDate,jdbcType=DATE}))) rn + from + abs_plan_task_log log + where + TRUNC(GMT_CREATE) IN (trunc(#{accountDate,jdbcType=DATE} - 1) , trunc(#{accountDate,jdbcType=DATE})) + and + TASK_TYPE = #{taskType,jdbcType=VARCHAR} + ) sf + where sf.rn = 1 + + +
diff --git a/dalgen/configTables/ABS_PLAN_TRANSFER_RULE.xml b/dalgen/configTables/ABS_PLAN_TRANSFER_RULE.xml new file mode 100644 index 0000000..084fee9 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_TRANSFER_RULE.xml @@ -0,0 +1,193 @@ + + + + + + + id,min_amt,res_amt,priority,tail_diff_amt + ,plan_no,tr_cycle,transfer_no,transfer_type,approve_status + ,eff,cycle,slice,tfr_limit,tail_diff_eff + ,gmt_create,stop_tr_date,approve_date,gmt_modified,start_tr_date + ,AST_DIM_TYPE,BRIDGE_PLAN_NO,TFR_OUT_ABLE_AMT + + + + + sf.id,sf.min_amt,sf.res_amt,sf.priority,sf.tail_diff_amt + ,sf.plan_no,sf.tr_cycle,sf.transfer_no,sf.transfer_type,sf.approve_status + ,sf.eff,sf.cycle,sf.slice,sf.tfr_limit,sf.tail_diff_eff + ,sf.gmt_create,sf.stop_tr_date,sf.approve_date,sf.gmt_modified,sf.start_tr_date + ,sf.AST_DIM_TYPE,sf.BRIDGE_PLAN_NO,sf.TFR_OUT_ABLE_AMT + + + + + + + + + + + + + + UPDATE abs_plan_transfer_rule + SET + approve_status = #{approveStatus,jdbcType=VARCHAR} + ,approve_date = sysdate + WHERE + TRANSFER_NO = #{transferNo,jdbcType=VARCHAR} + AND + approve_status = #{oldStatus,jdbcType=VARCHAR} + + + + DELETE FROM abs_plan_transfer_rule + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + + + + UPDATE abs_plan_transfer_rule + SET + PRIORITY = #{priority,jdbcType=BIGINT} + ,GMT_MODIFIED = sysdate + WHERE + TRANSFER_NO = #{transferNo,jdbcType=VARCHAR} + + + + UPDATE abs_plan_transfer_rule + SET + EFF = #{eff,jdbcType=CHAR} + ,GMT_MODIFIED = sysdate + WHERE + TRANSFER_NO = #{transferNo,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_transfer_rule + WHERE + PLAN_NO = #{planNo,jdbcType=VARCHAR} + AND + TRANSFER_TYPE = #{transferType,jdbcType=VARCHAR} + + + SELECT * + FROM abs_plan_transfer_rule + WHERE + PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + AND + TRANSFER_TYPE = #{transferType,jdbcType=VARCHAR} + + + + SELECT * + FROM abs_plan_transfer_rule + WHERE + TRANSFER_NO = #{transferNo,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_PLAN_TRAN_SCREEN_REL.xml b/dalgen/configTables/ABS_PLAN_TRAN_SCREEN_REL.xml new file mode 100644 index 0000000..3a49784 --- /dev/null +++ b/dalgen/configTables/ABS_PLAN_TRAN_SCREEN_REL.xml @@ -0,0 +1,202 @@ + + + + + + ID,PLAN_NO,PROD_CODE,TRANSFER_NO,SCREEN_RULE_NO,MANAGER_ORG_CODE + ,GMT_CREATE,GMT_MODIFIED,TRADE_EFF + + + + + sf.ID,sf.PLAN_NO,sf.PROD_CODE,sf.TRANSFER_NO,sf.SCREEN_RULE_NO,sf.MANAGER_ORG_CODE + ,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.TRADE_EFF + + + + + + + + + + + INSERT INTO abs_plan_tran_screen_rel( + ID + ,PLAN_NO + ,PROD_CODE + ,TRANSFER_NO + ,SCREEN_RULE_NO + ,MANAGER_ORG_CODE + ,GMT_CREATE + ,GMT_MODIFIED + ,TRADE_EFF + )VALUES + + ( + SEQ_ABS_PLAN_TRAN_SCREEN_REL.nextval + , #{item.planNo,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , #{item.transferNo,jdbcType=VARCHAR} + , #{item.screenRuleNo,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{item.tradeEff,jdbcType=CHAR} + ) + + + + + + begin + + UPDATE abs_plan_tran_screen_rel + SET + TRADE_EFF = #{item.tradeEff,jdbcType=CHAR} + ,GMT_MODIFIED = sysdate + WHERE + TRANSFER_NO = #{item.transferNo,jdbcType=VARCHAR} + and SCREEN_RULE_NO = #{item.screenRuleNo,jdbcType=VARCHAR} + + ;end; + + + + + + + + + + + + + SELECT * + FROM abs_plan_tran_screen_rel + WHERE + + + + + SELECT * + FROM abs_plan_tran_screen_rel + WHERE PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_plan_tran_screen_rel + WHERE + + + + + SELECT * + FROM abs_plan_tran_screen_rel + WHERE + PROD_CODE in + + #{prodCode,jdbcType=VARCHAR} + + order by GMT_CREATE + + + + SELECT distinct(PLAN_NO) + FROM abs_plan_tran_screen_rel rel + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + and + exists (select 1 from abs_plan p where p.plan_no=rel.plan_no and p.status IN ('ONGOING','EXPIRED')) + + + SELECT + PLAN_NO + FROM + abs_plan_tran_screen_rel + WHERE + SCREEN_RULE_NO = #{screenRuleNo,jdbcType=VARCHAR} + + + + SELECT + PLAN_NO + FROM + abs_plan_tran_screen_rel + WHERE + SCREEN_RULE_NO in + + #{screenRuleNo,jdbcType=VARCHAR} + + + + + select + count(*) c + from ABS_PLAN_TRAN_SCREEN_REL t + join ( + select + r.SCREEN_RULE_NO,r.GMT_MODIFIED + from ABS_AST_SCREEN_RULE r + where + r.gmt_modified >= #{compareDate,jdbcType=TIMESTAMP} + ) r on t.SCREEN_RULE_NO=r.SCREEN_RULE_NO + where t.PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + and t.GMT_MODIFIED >= #{compareDate,jdbcType=TIMESTAMP} + +
diff --git a/dalgen/configTables/ABS_POND_PROD_PRIORITY.xml b/dalgen/configTables/ABS_POND_PROD_PRIORITY.xml new file mode 100644 index 0000000..1cf0078 --- /dev/null +++ b/dalgen/configTables/ABS_POND_PROD_PRIORITY.xml @@ -0,0 +1,68 @@ + + + + + + ID,POND_NO,PROD_CODE + + + + + sf,ID,sf.POND_NO,sf.PROD_CODE + + + + + + + + + + + INSERT INTO ABS_POND_PROD_PRIORITY( + ID + ,POND_NO + ,PROD_CODE + ,PRIORITY + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_POND_PROD_PRIORITY.nextval + , #{item.pondNo,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , #{item.priority,jdbcType=BIGINT} + , sysdate + , sysdate + ) + + + + + + select + * + from + ABS_POND_PROD_PRIORITY + where + POND_NO = #{pondNo,jdbcType=VARCHAR} + ORDER BY PRIORITY ASC + + +
diff --git a/dalgen/configTables/ABS_PRODUCT.xml b/dalgen/configTables/ABS_PRODUCT.xml new file mode 100644 index 0000000..11ab68f --- /dev/null +++ b/dalgen/configTables/ABS_PRODUCT.xml @@ -0,0 +1,241 @@ + + + + + + ID, PROD_CODE, PROD_NAME, ABSSQR_PROD_CODE, + MANAGER_ORG_CODE, APPROVE_STATUS, GMT_CREATE, GMT_MODIFIED + ,GMT_CREATOR,GMT_MODIFIER + + + + + sf.ID, sf.PROD_CODE, sf.PROD_NAME, sf.ABSSQR_PROD_CODE, + sf.MANAGER_ORG_CODE, sf.APPROVE_STATUS, sf.GMT_CREATE, sf.GMT_MODIFIED + ,sf.GMT_CREATOR,sf.GMT_MODIFIER + + + + + + + + + + + + INSERT INTO ABS_PRODUCT( + ID + ,PROD_CODE + ,PROD_NAME + ,ABSSQR_PROD_CODE + ,MANAGER_ORG_CODE + ,APPROVE_STATUS + ,GMT_CREATE + ,GMT_MODIFIED + ,GMT_CREATOR + ,GMT_MODIFIER + )VALUES + + ( + SEQ_ABS_PRODUCT.nextval + , #{item.prodCode,jdbcType=VARCHAR} + , #{item.prodName,jdbcType=VARCHAR} + , #{item.abssqrProdCode,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{approveStatus,jdbcType=VARCHAR} + , sysdate + , sysdate + , #{gmtCreator,jdbcType=VARCHAR} + , #{gmtModifier,jdbcType=VARCHAR} + ) + + + + + UPDATE ABS_PRODUCT + SET + PROD_NAME = #{prodName,jdbcType=VARCHAR} + ,PROD_CODE = #{prodCode,jdbcType=VARCHAR} + ,MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + ,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + ,GMT_MODIFIED = sysdate + ,GMT_MODIFIER = #{gmtModifier,jdbcType=VARCHAR} + where + ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR} + + + + + + + + SELECT + * + FROM + ABS_PRODUCT + WHERE + + + + + SELECT + * + FROM + ABS_PRODUCT + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + + AND + APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + + + + SELECT * + FROM ABS_PRODUCT + WHERE + + + + + SELECT * + FROM ABS_PRODUCT + WHERE + ABSSQR_PROD_CODE IN + + #{abssqrProdCode,jdbcType=VARCHAR} + + + + + SELECT * + FROM ABS_PRODUCT + WHERE + PROD_CODE IN + + #{prodCode,jdbcType=VARCHAR} + + + + + select + * + from + ABS_PRODUCT + where + PROD_CODE = #{prodCode,jdbcType=VARCHAR} + + + + select + count(*) + from + ABS_PRODUCT + where + ABSSQR_PROD_CODE != #{abssqrProdCode,jdbcType=VARCHAR} + AND + ( + ( + PROD_CODE = #{prodCode,jdbcType=VARCHAR} + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + ) + OR + PROD_NAME = #{prodName,jdbcType=VARCHAR} + ) + + + + SELECT + * + FROM + ABS_PRODUCT + WHERE 1=1 + + AND + PROD_NAME LIKE CONCAT(CONCAT('%',#{prodName,jdbcType = VARCHAR}),'%') + + AND + ( + APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + OR + GMT_CREATOR = #{userCode,jdbcType=VARCHAR} + OR + GMT_MODIFIER = #{userCode,jdbcType=VARCHAR} + + ) + + AND + ABSSQR_PROD_CODE in + + #{abssqrProdCode,jdbcType=VARCHAR} + + + + AND + ABSSQR_PROD_CODE IN + + #{uniqueCode,jdbcType=VARCHAR} + + + ORDER BY GMT_CREATE DESC,ID ASC + + + + SELECT * + FROM ABS_PRODUCT + WHERE + ABSSQR_PROD_CODE + IN + + #{abssqrProdCode,jdbcType=VARCHAR} + + + AND ( + ABSSQR_PROD_CODE LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + PROD_CODE LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + or + PROD_NAME LIKE CONCAT(CONCAT('%',#{condition,jdbcType=VARCHAR}),'%') + ) + + + +
diff --git a/dalgen/configTables/ABS_PRODUCT_RISK_CL.xml b/dalgen/configTables/ABS_PRODUCT_RISK_CL.xml new file mode 100644 index 0000000..ffd2e6a --- /dev/null +++ b/dalgen/configTables/ABS_PRODUCT_RISK_CL.xml @@ -0,0 +1,142 @@ + + + + + + + ID,RISK_CL,ABSSQR_PROD_CODE,OVD_DAYS,GMT_CREATE,GMT_MODIFIED,PROV + + + + + sf.ID,sf.RISK_CL,sf.ABSSQR_PROD_CODE,sf.OVD_DAYS,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.PROV + + + + + + + + + + + INSERT INTO ABS_PRODUCT_RISK_CL( + ID + ,RISK_CL + ,ABSSQR_PROD_CODE + ,OVD_DAYS + ,GMT_CREATE + ,GMT_MODIFIED + ,PROV + )VALUES + + ( + SEQ_ABS_PRODUCT_RISK_CL.nextval + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.abssqrProdCode,jdbcType=VARCHAR} + , #{item.ovdDays,jdbcType=INTEGER} + , sysdate + , sysdate + , #{item.prov,jdbcType=DECIMAL} + ) + + + + + + + + + + SELECT * + FROM ABS_PRODUCT_RISK_CL + WHERE + + + + + + + + + + + + + + SELECT * + FROM ABS_PRODUCT_RISK_CL + WHERE + + + + + SELECT * + FROM + ABS_PRODUCT_RISK_CL + WHERE + ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR} + order by RISK_CL + + + + DELETE FROM ABS_PRODUCT_RISK_CL + WHERE + ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR} + +
diff --git a/dalgen/configTables/ABS_SEQUENCE.xml b/dalgen/configTables/ABS_SEQUENCE.xml new file mode 100644 index 0000000..27ab9d2 --- /dev/null +++ b/dalgen/configTables/ABS_SEQUENCE.xml @@ -0,0 +1,12 @@ + + + + + + + + + +
diff --git a/dalgen/configTables/ABS_TASK_GROUP.xml b/dalgen/configTables/ABS_TASK_GROUP.xml new file mode 100644 index 0000000..27a580f --- /dev/null +++ b/dalgen/configTables/ABS_TASK_GROUP.xml @@ -0,0 +1,264 @@ + + + + + + ID,TASKS,STATUS,JOB_NAME,HOST_NAME + ,TASK_TYPE,DISABLE,GMT_CREATE,GMT_MODIFIED + + + + + + + + sf.ID,sf.TASKS,sf.STATUS,sf.JOB_NAME,sf.HOST_NAME + ,sf.TASK_TYPE,sf.DISABLE,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + + + + INSERT INTO abs_task_group( + ID + ,TASKS + ,STATUS + ,JOB_NAME + ,HOST_NAME + ,TASK_TYPE + ,DISABLE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + ( + SEQ_ABS_TASK_GROUP.nextval + , #{item.tasks,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.jobName,jdbcType=VARCHAR} + , #{item.hostName,jdbcType=VARCHAR} + , #{item.taskType,jdbcType=VARCHAR} + , #{item.disable,jdbcType=CHAR} + , sysdate + , sysdate + ) + + + + + + + + + + + + + + SELECT * + FROM abs_task_group + WHERE + + + + + SELECT + + FROM abs_task_group + WHERE + + + + + select + host_name as HOST_NAME + ,count(1) as GROUP_CNT + from + abs_task_group + where + status='exec' + and job_name=#{jobName,jdbcType=VARCHAR} + group by host_name + + + + + UPDATE + abs_task_group + SET STATUS=#{status,jdbcType=VARCHAR} + WHERE + + + + + SELECT + + FROM abs_task_group + WHERE + + + + + + + SELECT + + FROM abs_task_group + WHERE + + + + + + + + SELECT + + ,ROWNUM + FROM abs_task_group + WHERE + + + + + SELECT + * + FROM abs_task_group + WHERE + + + + + UPDATE + abs_task_group + SET + HOST_NAME=null, + STATUS='init', + DISABLE='0' , + GMT_MODIFIED=sysdate + WHERE + + + + + UPDATE + abs_task_group + SET + DISABLE= #{disable,jdbcType=CHAR}, + GMT_MODIFIED=sysdate + WHERE + + + + + UPDATE + abs_task_group + SET + HOST_NAME= #{hostName,jdbcType=VARCHAR}, + STATUS='exec', + GMT_MODIFIED=sysdate + WHERE + + + + + UPDATE + abs_task_group + SET + STATUS='succ', + GMT_MODIFIED=sysdate + WHERE + + + + delete + abs_task_group + WHERE + + + +
diff --git a/dalgen/configTables/ABS_TRANS_FEE_GATHER.xml b/dalgen/configTables/ABS_TRANS_FEE_GATHER.xml new file mode 100644 index 0000000..ff7868f --- /dev/null +++ b/dalgen/configTables/ABS_TRANS_FEE_GATHER.xml @@ -0,0 +1,192 @@ + + + + + + + + + + + ID,MEMO,BIZ_NO,PLAN_NO,STATUS + ,CONTEXT,FEE_TYPE,GMT_CREATE,GATHER_DATE,GMT_MODIFIED + ,SETTLE_END_DATE,SETTLE_START_DATE,FEE_AMT,PAID_FEE_AMT + + + + + sf.ID,sf.MEMO,sf.BIZ_NO,sf.PLAN_NO,sf.STATUS + ,sf.CONTEXT,sf.FEE_TYPE,sf.GMT_CREATE,sf.GATHER_DATE,sf.GMT_MODIFIED + ,sf.SETTLE_END_DATE,sf.SETTLE_START_DATE,sf.FEE_AMT,sf.PAID_FEE_AMT + + + + + + + + + + + INSERT INTO abs_trans_fee_gather( + ID + ,MEMO + ,BIZ_NO + ,PLAN_NO + ,STATUS + ,CONTEXT + ,FEE_TYPE + ,GMT_CREATE + ,GATHER_DATE + ,GMT_MODIFIED + ,SETTLE_END_DATE + ,SETTLE_START_DATE + ,FEE_AMT + ,PAID_FEE_AMT + )VALUES + ( + null + , #{item.memo,jdbcType=VARCHAR} + , #{item.bizNo,jdbcType=VARCHAR} + , #{item.planNo,jdbcType=VARCHAR} + , #{item.status,jdbcType=VARCHAR} + , #{item.context,jdbcType=VARCHAR} + , #{item.feeType,jdbcType=VARCHAR} + , sysdate + , #{item.gatherDate,jdbcType=DATE} + , sysdate + , #{item.settleEndDate,jdbcType=DATE} + , #{item.settleStartDate,jdbcType=DATE} + , #{item.feeAmt,jdbcType=DECIMAL} + , #{item.paidFeeAmt,jdbcType=DECIMAL} + ) + + + + + + + + + + + + + SELECT * + FROM abs_trans_fee_gather + WHERE + + + + + + + + + + + + SELECT * + FROM abs_trans_fee_gather + WHERE + + + + + SELECT * + FROM abs_trans_fee_gather + WHERE + + FOR UPDATE NOWAIT + + + + + +
diff --git a/dalgen/configTables/ABS_TR_CTR_TASK.xml b/dalgen/configTables/ABS_TR_CTR_TASK.xml new file mode 100644 index 0000000..0b4e7a1 --- /dev/null +++ b/dalgen/configTables/ABS_TR_CTR_TASK.xml @@ -0,0 +1,280 @@ + + + + + + + + + + + + ID,EXEC_TMS,PRE_TR_AMT,PRE_TR_CNT,PRE_TR_FEE_AMT + ,PRE_TR_INTR_AMT,PRE_TR_PRIN_AMT,PRE_TR_PENAL_AMT,STATUS,BATCH_NO + ,PACK_CODE,PACK_TYPE,TRANS_INFO,SCREEN_INFO,MANAGER_ORG_CODE + ,TFR_DATE,GMT_CREATE,GMT_MODIFIED + + + + + sf.id,sf.exec_tms,sf.pre_tr_amt,sf.pre_tr_cnt,sf.pre_tr_fee_amt + ,sf.pre_tr_intr_amt,sf.pre_tr_prin_amt,sf.pre_tr_penal_amt,sf.status,sf.batch_no + ,sf.pack_code,sf.pack_type,sf.trans_info,sf.screen_info,sf.manager_org_code + ,sf.tfr_date,sf.gmt_create,sf.gmt_modified + + + + + + + + + + + INSERT INTO abs_tr_ctr_task( + id + ,exec_tms + ,pre_tr_amt + ,pre_tr_cnt + ,pre_tr_fee_amt + ,pre_tr_intr_amt + ,pre_tr_prin_amt + ,pre_tr_penal_amt + ,status + ,batch_no + ,pack_code + ,pack_type + ,trans_info + ,screen_info + ,manager_org_code + ,tfr_date + ,gmt_create + ,gmt_modified + )VALUES + ( + SEQ_ABS_TR_CTR_TASK.nextval + , #{item.execTms,jdbcType=DECIMAL} + , #{item.preTrAmt,jdbcType=DECIMAL} + , #{item.preTrCnt,jdbcType=DECIMAL} + , #{item.preTrFeeAmt,jdbcType=DECIMAL} + , #{item.preTrIntrAmt,jdbcType=DECIMAL} + , #{item.preTrPrinAmt,jdbcType=DECIMAL} + , #{item.preTrPenalAmt,jdbcType=DECIMAL} + , #{item.status,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.packCode,jdbcType=VARCHAR} + , #{item.packType,jdbcType=VARCHAR} + , #{item.transInfo,jdbcType=VARCHAR} + , #{item.screenInfo,jdbcType=VARCHAR} + , #{item.managerOrgCode,jdbcType=VARCHAR} + , #{item.tfrDate,jdbcType=DATE} + , sysdate + , sysdate + ) + + + + + UPDATE abs_tr_ctr_task + SET + EXEC_TMS = EXEC_TMS + 1 + + ,TRANS_INFO = #{transInfo,jdbcType=VARCHAR} + + ,STATUS = #{newStatus,jdbcType=VARCHAR} + ,gmt_modified = sysdate + WHERE + id = #{id,jdbcType=BIGINT} + AND + EXEC_TMS = #{execTms,jdbcType=BIGINT} + + + + UPDATE abs_tr_ctr_task + SET + EXEC_TMS = EXEC_TMS + 1, + TRANS_INFO = #{transInfo,jdbcType=VARCHAR}, + gmt_modified = sysdate + WHERE + id = #{id,jdbcType=BIGINT} + AND + EXEC_TMS = #{execTms,jdbcType=BIGINT} + + + + UPDATE abs_tr_ctr_task + SET + EXEC_TMS = EXEC_TMS + 1, + STATUS = #{newStatus,jdbcType=VARCHAR}, + PRE_TR_AMT = #{preTrAmt,jdbcType=BIGINT}, + PRE_TR_CNT = #{preTrCnt,jdbcType=DECIMAL}, + gmt_modified = sysdate + WHERE + id = #{id,jdbcType=BIGINT} + AND + EXEC_TMS = #{execTms,jdbcType=BIGINT} + + + + + + + + + SELECT * + FROM abs_tr_ctr_task + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + TFR_DATE = #{tfrDate,jdbcType=DATE} + + AND STATUS in + + #{status,jdbcType=VARCHAR} + + + + AND + PACK_TYPE = #{packType,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_tr_ctr_task + WHERE + id = #{id,jdbcType=BIGINT} + FOR UPDATE + + + + + SELECT * + FROM abs_tr_ctr_task + WHERE + PACK_CODE = #{packCode,jdbcType=VARCHAR} + + + + + + + + + + SELECT sf.*, + p.PACK_NAME, + TFR_AMT, + TFR_CNT + FROM ABS_TR_CTR_TASK sf + left join ABS_AST_PACK p on sf.PACK_CODE = p.PACK_CODE + left join (select TFR_PACK, sum(TFR_AMT) AS TFR_AMT, count(*) AS TFR_CNT + from ABS_TR_TASK where TASK_STATUS = 'succ' group by TFR_PACK) t on sf.PACK_CODE = t.TFR_PACK + WHERE + sf.STATUS = 'init' + AND + sf.GMT_MODIFIED > #{tfrDate, jdbcType=DATE} + ORDER BY sf.GMT_MODIFIED DESC + + + + select + count(*) + from ABS_TR_CTR_TASK + left join ABS_AST_PACK on ABS_TR_CTR_TASK.PACK_CODE = ABS_AST_PACK.PACK_CODE + where + ABS_AST_PACK.SCEN_DATE = #{tfrDate,jdbcType=DATE} + and + ABS_AST_PACK.PLAN_NO in + + #{planNo,jdbcType=VARCHAR} + + and ABS_TR_CTR_TASK.STATUS in + + #{status,jdbcType=VARCHAR} + + + + + SELECT + * + FROM abs_tr_ctr_task + WHERE + PACK_TYPE IN + + #{type,jdbcType=VARCHAR} + + AND + STATUS IN + + #{status,jdbcType=VARCHAR} + + + + + SELECT + * + FROM abs_tr_ctr_task + where + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + + +
diff --git a/dalgen/configTables/ABS_TR_STATISTIC.xml b/dalgen/configTables/ABS_TR_STATISTIC.xml new file mode 100644 index 0000000..1acbcc8 --- /dev/null +++ b/dalgen/configTables/ABS_TR_STATISTIC.xml @@ -0,0 +1,245 @@ + + + + + + + + + id,tfr_amt,screen_amt,status,batch_no + ,pack_type,tfr_out_no,approve_status,tfr_date,gmt_create + ,approve_date,gmt_modified + + + + + sf.id,sf.tfr_amt,sf.screen_amt,sf.status,sf.batch_no + ,sf.pack_type,sf.tfr_out_no,sf.approve_status,sf.tfr_date,sf.gmt_create + ,sf.approve_date,sf.gmt_modified + + + + + + + + + + + INSERT INTO abs_tr_statistic( + id + ,tfr_amt + ,screen_amt + ,status + ,batch_no + ,pack_type + ,tfr_out_no + ,approve_status + ,tfr_date + ,gmt_create + ,approve_date + ,gmt_modified + )VALUES + ( + SEQ_ABS_TR_STATISTIC.nextval + , #{item.tfrAmt,jdbcType=DECIMAL} + , #{item.screenAmt,jdbcType=DECIMAL} + , #{item.status,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.packType,jdbcType=VARCHAR} + , #{item.tfrOutNo,jdbcType=VARCHAR} + , #{item.approveStatus,jdbcType=VARCHAR} + , #{item.tfrDate,jdbcType=DATE} + , sysdate + , #{item.approveDate,jdbcType=DATE} + , sysdate + ) + + + + + UPDATE abs_tr_statistic + SET + approve_status = #{newApproveStatus,jdbcType=VARCHAR} + + ,status = #{newStatus,jdbcType=VARCHAR} + + ,approve_date = SYSDATE + ,gmt_modified = sysdate + WHERE + batch_no = #{batchNo,jdbcType=VARCHAR} + AND + approve_status in + + #{oldApproveStatus,jdbcType=VARCHAR} + + + + + SELECT count(*) cnt + FROM abs_tr_statistic + WHERE + batch_no = #{batchNo,jdbcType=VARCHAR} + and + approve_status = #{approveStatus,jdbcType=VARCHAR} + + + + + SELECT * + FROM abs_tr_statistic + WHERE + + + + + SELECT + * + FROM + abs_tr_statistic + WHERE + tfr_out_no = #{tfrOutNo,jdbcType=VARCHAR} + AND + pack_type = #{packType,jdbcType=VARCHAR} + AND + status in + + #{status,jdbcType=VARCHAR} + + + + + UPDATE abs_tr_statistic + SET + status = #{newStatus,jdbcType=VARCHAR} + ,gmt_modified = SYSDATE + WHERE + id = #{id,jdbcType=BIGINT} + AND + status = #{oldStatus,jdbcType=VARCHAR} + + + + UPDATE abs_tr_statistic + SET + status = #{newStatus,jdbcType=VARCHAR} + ,gmt_modified = SYSDATE + WHERE + BATCH_NO = #{batchNo,jdbcType=BIGINT} + AND + status = #{oldStatus,jdbcType=VARCHAR} + + + + UPDATE abs_tr_statistic + SET + gmt_modified = SYSDATE + + ,screen_amt = #{screenAmt,jdbcType=DECIMAL} + + + ,tfr_amt = #{tfrAmt,jdbcType=DECIMAL} + + WHERE + id = #{id,jdbcType=BIGINT} + + + + + + + + + select + sf.* + from + abs_tr_statistic sf + left join abs_plan plan on plan.plan_no = sf.tfr_out_no + WHERE + pack_type = #{packType,jdbcType=VARCHAR} + + AND sf.TFR_DATE = #{tfrDate,jdbcType=DATE} + + + AND sf.TFR_OUT_NO = #{tfrOutNo,jdbcType=VARCHAR} + + + AND plan.plan_Name LIKE CONCAT(CONCAT('%',#{tfrOutName,jdbcType=VARCHAR}),'%') + + + order by id desc + + + + + and sf.status in + + #{status,jdbcType=VARCHAR} + + + + and (SELECT count(*) FROM ABS_COMMON_TASK t_c_t WHERE t_c_t.task_status = 'succ' and t_c_t.biz_no = sf.batch_no) >0 + + + and (SELECT count(*) FROM ABS_COMMON_TASK t_c_t WHERE t_c_t.task_status = 'succ' and t_c_t.biz_no = sf.batch_no) =0 + + + and sf.APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR} + + + and (select count(*) from ABS_PLAN_CAPITAL_ORDER t_c where t_c.PROC_TIME is not null and t_c.out_biz_no = sf.batch_no) > 0 + + + and (select count(*) from ABS_PLAN_CAPITAL_ORDER t_c where t_c.PROC_TIME is null and t_c.out_biz_no = sf.batch_no) > 0 + + + and + ( + (select count(*) from ABS_PLAN_CLEARING_LOG where OUT_BIZ_NO = sf.batch_no) > 0 + or + (select count(*) from ABS_PLAN_CLEARING_ORDER where TRANS_STATUS = 'init' and OUT_BIZ_NO = sf.batch_no) > 0 + ) + + + and + ( + (select count(*) from ABS_PLAN_CLEARING_LOG where OUT_BIZ_NO = sf.batch_no) = 0 + and + (select count(*) from ABS_PLAN_CLEARING_ORDER where TRANS_STATUS = 'init' and OUT_BIZ_NO = sf.batch_no) = 0 + and + (select count(*) from ABS_PLAN_CAPITAL_ORDER where OUT_BIZ_NO = sf.batch_no) = 0 + ) + + + +
diff --git a/dalgen/configTables/ABS_TR_TASK.xml b/dalgen/configTables/ABS_TR_TASK.xml new file mode 100644 index 0000000..2dc2a66 --- /dev/null +++ b/dalgen/configTables/ABS_TR_TASK.xml @@ -0,0 +1,778 @@ + + + + + + + + + + + + + + + + + + + + + + + ID,TFR_AMT,EXEC_TIMES,MAX_TERM_NO,MIN_TERM_NO + ,TFR_INTR_BAL,TFR_PRIN_BAL,TFR_PENAL_BAL,TFR_FEE_BAL,MEMO,AST_NO + ,SEQ_NO,RISK_CL,TFR_OUT,BATCH_NO,TFR_PACK + ,LAST_HOST,PACK_TYPE,TASK_STATUS,TFR_DATE,GMT_CREATE + ,AST_END_DATE,GMT_MODIFIED,LAST_EXEC_TIME,NEXT_EXEC_TIME,INTR_RATE + ,PRIN_RATE,PENAL_RATE,FEE_RATE,TFR_IN, GROUP_ID,TFR_SCOPE + ,FIX_PRIN_AMT,FIX_INTR_AMT,FIX_PENAL_AMT,FIX_FEE_AMT + + + + + sf.ID,sf.TFR_AMT,sf.EXEC_TIMES,sf.MAX_TERM_NO,sf.MIN_TERM_NO + ,sf.TFR_INTR_BAL,sf.TFR_PRIN_BAL,sf.TFR_FEE_BAL,sf.TFR_PENAL_BAL,sf.MEMO,sf.AST_NO + ,sf.SEQ_NO,sf.RISK_CL,sf.TFR_OUT,sf.BATCH_NO,sf.TFR_PACK + ,sf.LAST_HOST,sf.PACK_TYPE,sf.TASK_STATUS,sf.TFR_DATE,sf.GMT_CREATE + ,sf.AST_END_DATE,sf.GMT_MODIFIED,sf.LAST_EXEC_TIME,sf.NEXT_EXEC_TIME,sf.INTR_RATE + ,sf.PRIN_RATE,sf.PENAL_RATE,sf.FEE_RATE,sf.TFR_IN, sf.GROUP_ID,sf.TFR_SCOPE + ,sf.FIX_PRIN_AMT,sf.FIX_INTR_AMT,sf.FIX_PENAL_AMT,sf.FIX_FEE_AMT + + + + + + + + + + + INSERT INTO abs_tr_task( + ID + ,TFR_AMT + ,EXEC_TIMES + ,MAX_TERM_NO + ,MIN_TERM_NO + ,TFR_INTR_BAL + ,TFR_PRIN_BAL + ,TFR_FEE_BAL + ,TFR_PENAL_BAL + ,MEMO + ,AST_NO + ,SEQ_NO + ,RISK_CL + ,TFR_OUT + ,BATCH_NO + ,TFR_PACK + ,LAST_HOST + ,PACK_TYPE + ,TASK_STATUS + ,TFR_DATE + ,GMT_CREATE + ,AST_END_DATE + ,GMT_MODIFIED + ,LAST_EXEC_TIME + ,NEXT_EXEC_TIME + ,INTR_RATE + ,PRIN_RATE + ,PENAL_RATE + ,FEE_RATE + ,TFR_IN + ,GROUP_ID + ,TFR_SCOPE + ,FIX_PRIN_AMT + ,FIX_INTR_AMT + ,FIX_PENAL_AMT + ,FIX_FEE_AMT + )VALUES + ( + SEQ_ABS_TR_TASK.nextval + , #{item.tfrAmt,jdbcType=DECIMAL} + , #{item.execTimes,jdbcType=DECIMAL} + , #{item.maxTermNo,jdbcType=DECIMAL} + , #{item.minTermNo,jdbcType=DECIMAL} + , #{item.tfrIntrBal,jdbcType=DECIMAL} + , #{item.tfrPrinBal,jdbcType=DECIMAL} + , #{item.tfrFeeBal,jdbcType=DECIMAL} + , #{item.tfrPenalBal,jdbcType=DECIMAL} + , #{item.memo,jdbcType=VARCHAR} + , #{item.astNo,jdbcType=VARCHAR} + , #{item.seqNo,jdbcType=VARCHAR} + , #{item.riskCl,jdbcType=VARCHAR} + , #{item.tfrOut,jdbcType=VARCHAR} + , #{item.batchNo,jdbcType=VARCHAR} + , #{item.tfrPack,jdbcType=VARCHAR} + , #{item.lastHost,jdbcType=VARCHAR} + , #{item.packType,jdbcType=VARCHAR} + , #{item.taskStatus,jdbcType=VARCHAR} + , #{item.tfrDate,jdbcType=DATE} + , sysdate + , #{item.astEndDate,jdbcType=DATE} + , sysdate + , #{item.lastExecTime,jdbcType=DATE} + , #{item.nextExecTime,jdbcType=DATE} + , #{item.intrRate,jdbcType=DECIMAL} + , #{item.prinRate,jdbcType=DECIMAL} + , #{item.penalRate,jdbcType=DECIMAL} + , #{item.feeRate,jdbcType=DECIMAL} + , #{item.tfrIn,jdbcType=VARCHAR} + , trunc(dbms_random.value(0,120)) + , #{item.tfrScope,jdbcType=VARCHAR} + , #{item.fixPrinAmt,jdbcType=DECIMAL} + , #{item.fixIntrAmt,jdbcType=DECIMAL} + , #{item.fixPenalAmt,jdbcType=DECIMAL} + , #{item.fixFeeAmt,jdbcType=DECIMAL} + ) + + + + + + INSERT INTO abs_tr_task( + ID + ,TFR_AMT + ,EXEC_TIMES + ,MAX_TERM_NO + ,MIN_TERM_NO + ,TFR_INTR_BAL + ,TFR_PRIN_BAL + ,TFR_FEE_BAL + ,TFR_PENAL_BAL + ,MEMO + ,AST_NO + ,SEQ_NO + ,RISK_CL + ,TFR_OUT + ,BATCH_NO + ,TFR_PACK + ,LAST_HOST + ,PACK_TYPE + ,TASK_STATUS + ,TFR_DATE + ,GMT_CREATE + ,AST_END_DATE + ,GMT_MODIFIED + ,LAST_EXEC_TIME + ,NEXT_EXEC_TIME + ,INTR_RATE + ,PRIN_RATE + ,PENAL_RATE + ,FEE_RATE + ,TFR_IN + ,GROUP_ID + ,TFR_SCOPE + ,FIX_PRIN_AMT + ,FIX_INTR_AMT + ,FIX_PENAL_AMT + ,FIX_FEE_AMT + ) select + SEQ_ABS_TR_TASK.nextval + ,TFR_AMT + ,EXEC_TIMES + ,MAX_TERM_NO + ,MIN_TERM_NO + ,TFR_INTR_BAL + ,TFR_PRIN_BAL + ,TFR_FEE_BAL + ,TFR_PENAL_BAL + ,MEMO + ,AST_NO + ,'BGE'||SEQ_NO + ,RISK_CL + ,TFR_OUT + ,BATCH_NO + ,#{targetPackCode,jdbcType=VARCHAR} + ,LAST_HOST + ,PACK_TYPE + ,TASK_STATUS + ,TFR_DATE + ,sysdate + ,AST_END_DATE + ,sysdate + ,LAST_EXEC_TIME + ,NEXT_EXEC_TIME + ,INTR_RATE + ,PRIN_RATE + ,PENAL_RATE + ,FEE_RATE + ,#{planNo,jdbcType=VARCHAR} + ,GROUP_ID + ,TFR_SCOPE + ,FIX_PRIN_AMT + ,FIX_INTR_AMT + ,FIX_PENAL_AMT + ,FIX_FEE_AMT + from + abs_tr_task + where + tfr_pack = #{srcPackCode,jdbcType=VARCHAR} + + + + UPDATE abs_tr_task + SET + TFR_OUT = #{tfrOut,jdbcType=VARCHAR} + where + tfr_pack = #{packCode,jdbcType=VARCHAR} + + + + + + + + SELECT * + FROM ABS_TR_TASK + WHERE + + + + + SELECT * + FROM ABS_TR_TASK + WHERE + + + + + select sf.* from( + SELECT + sf.* + FROM + ABS_TR_TASK sf + WHERE + sf.BATCH_NO = #{batchNo,jdbcType=VARCHAR} + AND + sf.TASK_STATUS = 'init' + AND + sf.next_exec_time <= #{curTime,jdbcType=TIMESTAMP} + AND + sf.PACK_TYPE = #{packType,jdbcType=VARCHAR} + + AND + sf.GROUP_ID in + + #{groupId,jdbcType=BIGINT} + + + order by sf.next_exec_time asc,sf.EXEC_TIMES + )sf + where ROWNUM <= #{limit,jdbcType=INTEGER} + + + + select * + from + ABS_TR_TASK + where + + + + + update ABS_TR_TASK set + gmt_modified = sysdate, + TASK_STATUS = #{finishStatus,jdbcType=VARCHAR}, + exec_times = exec_times + 1, + memo = #{memo,jdbcType=VARCHAR} + where + id = #{taskId,jdbcType=BIGINT} + AND TASK_STATUS = #{oldStatus,jdbcType=VARCHAR} + + + + update ABS_TR_TASK set + gmt_modified = sysdate, + TASK_STATUS = #{taskStatus,jdbcType=VARCHAR} + where + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + AND TASK_STATUS = #{oldTaskStatus,jdbcType=VARCHAR} + + + + + update ABS_TR_TASK set + gmt_modified = sysdate, + TASK_STATUS = #{taskStatus,jdbcType=VARCHAR} + where + TFR_PACK = #{tfrPack,jdbcType=VARCHAR} + AND TASK_STATUS = #{oldTaskStatus,jdbcType=VARCHAR} + + + + + update ABS_TR_TASK + set + gmt_modified = sysdate, + next_exec_time = #{nextExecTime,jdbcType=TIMESTAMP}, + memo = #{memo,jdbcType=VARCHAR}, + exec_times = exec_times + 1 + where + id=#{taskId,jdbcType=BIGINT} + AND TASK_STATUS != 'succ' + + + + update ABS_TR_TASK set + gmt_modified = sysdate, + task_status = 'init' + where + task_status = 'exec' and last_host = #{lastHost,jdbcType=VARCHAR} + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + + + + select + count(1) + from + ABS_TR_TASK sf + where + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + AND sf.TASK_STATUS in ('init','exec') + + + + select + count(1) + from + ABS_TR_TASK sf + where + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + + AND + TFR_PACK = #{tfrPack,jdbcType=VARCHAR} + + AND sf.TASK_STATUS != 'succ' + + + + select + count(1) + FROM ABS_TR_TASK + WHERE + AST_NO = #{astNo,jdbcType=VARCHAR} + AND + TFR_OUT = #{tfrOut,jdbcType=VARCHAR} + AND + TFR_IN = #{tfrIn,jdbcType=VARCHAR} + AND + TFR_DATE = #{tfrDate,jdbcType=DATE} + + + + + + + + + SELECT + BATCH_NO, TFR_PACK, COUNT(ID) CNT + FROM + ABS_TR_TASK + WHERE + EXEC_TIMES > #{execTimes,jdbcType=INTEGER} + + AND NEXT_EXEC_TIME > #{syncDate,jdbcType=DATE} + + + AND TASK_STATUS in + + #{status,jdbcType=VARCHAR} + + + GROUP BY BATCH_NO, TFR_PACK + + + + SELECT + COUNT(ID) CNT + FROM + ABS_TR_TASK + WHERE + TASK_STATUS = 'fail' + AND + TFR_DATE = #{tfrDate,jdbcType=DATE} + + + + DELETE FROM ABS_TR_TASK + WHERE + TFR_OUT = #{tfrOut,jdbcType=VARCHAR} + AND TFR_DATE < #{tfrDate,jdbcType=TIMESTAMP} + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + + + + DELETE FROM ABS_TR_TASK + WHERE + TFR_OUT = #{tfrOut,jdbcType=VARCHAR} + AND TASK_STATUS != 'succ' + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + + + + SELECT + count(*) + FROM + ABS_TR_TASK + WHERE + TFR_OUT = #{tfrOut,jdbcType=VARCHAR} + AND TFR_DATE = #{tfrDate,jdbcType=DATE} + AND TASK_STATUS IN + + #{status,jdbcType=VARCHAR} + + + AND PACK_TYPE = #{packType,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + + + + + + SELECT + TFR_PACK, + RISK_CL, + count(\\*) AST_CHG, + SUM(TFR_PRIN_BAL ) as TFR_PRIN, + SUM(TFR_INTR_BAL ) as TFR_INTR, + SUM(TFR_PENAL_BAL ) as TFR_PENAL, + SUM(TFR_FEE_BAL ) as TFR_FEE, + PRIN_RATE, + INTR_RATE, + PENAL_RATE, + FEE_RATE, + SUM(FIX_PRIN_AMT) as FIX_PRIN, + SUM(FIX_INTR_AMT) as FIX_INTR, + SUM(FIX_PENAL_AMT) as FIX_PENAL, + SUM(FIX_FEE_AMT) as FIX_FEE + FROM ABS_TR_TASK + WHERE + TFR_PACK = #{packCode,jdbcType=VARCHAR} + + AND + TASK_STATUS = #{taskStatus,jdbcType=VARCHAR} + + GROUP BY TFR_PACK, RISK_CL, PRIN_RATE, INTR_RATE, PENAL_RATE , FEE_RATE + ORDER BY RISK_CL + + + select + sum(TFR_PRIN_BAL) + FROM + ABS_TR_TASK + WHERE + TFR_DATE = #{tfrDate,jdbcType=DATE} + AND TFR_OUT = #{tfrOut,jdbcType=VARCHAR} + AND TASK_STATUS = #{taskStatus,jdbcType=VARCHAR} + + + + select + * + from + ABS_TR_TASK + WHERE + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + order by ID + + + + + + + + select + sf.* + ,pack.PLAN_NO + FROM + ABS_TR_TASK sf + LEFT JOIN ABS_AST_PACK pack ON sf.TFR_PACK = pack.PACK_CODE + WHERE + sf.TFR_DATE = #{tfrDate,jdbcType=DATE} + AND + sf.AST_NO = #{astNo,jdbcType=VARCHAR} + AND + sf.TASK_STATUS = 'succ' + + + delete FROM ABS_TR_TASK + WHERE + TFR_PACK = #{packCode,jdbcType=VARCHAR} + and + task_status in( 'ignore','init') + and + AST_NO in + + #{astNo,jdbcType=VARCHAR} + + + + delete FROM + ABS_TR_TASK + WHERE + TFR_PACK = #{packCode,jdbcType=VARCHAR} + and + PACK_TYPE = #{packType,jdbcType=VARCHAR} + + + + delete FROM + ABS_TR_TASK + where + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + + + + + + + + + + + + select + count(*) CNT + , sum(decode(TASK_STATUS,'succ',1,0)) SUCC + , sum(case when TASK_STATUS ='init' and EXEC_TIMES=0 then 1 else 0 end) INIT + , sum(case when TASK_STATUS ='init' and EXEC_TIMES>0 then 1 else 0 end) FAIL + , sum(decode(TASK_STATUS,'succ',TFR_AMT,0)) SUCC_AMT + , sum(TFR_AMT) TOTAL_AMT + from + ABS_TR_TASK + where + TFR_PACK = #{packCode,jdbcType=VARCHAR} + and + PACK_TYPE = #{packType,jdbcType=VARCHAR} + group by TFR_PACK + + + + + + + + + select + TFR_OUT + ,sum(TFR_PRIN_BAL) PRIN_AMT + from + abs_tr_task + where + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + group by TFR_OUT + + + + SELECT + nvl(SUM(TFR_PRIN_BAL),0) tfrPrinAmt + FROM + ABS_TR_TASK trTask + LEFT JOIN + ABS_LOAN loan ON trTask.AST_NO = loan.AST_NO + WHERE + trTask.TFR_DATE = #{tfrDate,jdbcType=DATE} + AND + loan.PROD_NO = #{prodNo,jdbcType=VARCHAR} + + + + select AST_NO + from ( + SELECT + AST_NO, TFR_OUT, ROW_NUMBER() over ( partition by TFR_OUT ORDER BY AST_END_DATE) rn + FROM ABS_TR_TASK + WHERE + BATCH_NO = #{batchNo,jdbcType=VARCHAR} + ) t + where t.rn <= #{limit,jdbcType=INTEGER} + + + + + + + + + + + + + + + + select + tfr_in PLAN_NO + ,count(*) CNT + ,sum(TFR_AMT) AMT + ,sum(TFR_PRIN_BAL) TFR_PRIN_BAL + ,sum(TFR_INTR_BAL) TFR_INTR_BAL + ,sum(TFR_FEE_BAL) TFR_FEE_BAL + ,sum(TFR_PENAL_BAL) TFR_PENAL_BAL + ,sum(FIX_PRIN_AMT) TFR_PRIN_AMT + ,sum(FIX_INTR_AMT) TFR_INTR_AMT + ,sum(FIX_FEE_AMT) TFR_FEE_AMT + ,sum(FIX_PENAL_AMT) TFR_PENAL_AMT + from ABS_TR_TASK + where + batch_no = #{batchNo,jdbcType=VARCHAR} + + AND TFR_PACK = #{packCode,jdbcType=VARCHAR} + + + AND TASK_STATUS = #{taskStatus,jdbcType=VARCHAR} + + group by tfr_in + + + + select + TFR_OUT PLAN_NO + ,count(*) CNT + ,sum(TFR_AMT) AMT + ,sum(TFR_PRIN_BAL) TFR_PRIN_BAL + ,sum(TFR_INTR_BAL) TFR_INTR_BAL + ,sum(TFR_FEE_BAL) TFR_FEE_BAL + ,sum(TFR_PENAL_BAL) TFR_PENAL_BAL + ,sum(FIX_PRIN_AMT) TFR_PRIN_AMT + ,sum(FIX_INTR_AMT) TFR_INTR_AMT + ,sum(FIX_FEE_AMT) TFR_FEE_AMT + ,sum(FIX_PENAL_AMT) TFR_PENAL_AMT + FROM ABS_TR_TASK + WHERE + TFR_DATE = #{tfrDate,jdbcType=DATE} + + AND + TFR_OUT in + + #{tfrOut,jdbcType=VARCHAR} + + + + AND TASK_STATUS = #{taskStatus,jdbcType=VARCHAR} + + group by TFR_OUT + + + + select * + from abs_tr_task + where + tfr_date = #{tfrDate,jdbcType=DATE} + and tfr_out = #{tfrOut,jdbcType=VARCHAR} + and ast_no = #{astNo,jdbcType=VARCHAR} + and max_term_no >= #{termNo,jdbcType=DECIMAL} + and min_term_no <= #{termNo,jdbcType=DECIMAL} + +
diff --git a/dalgen/configTables/ABS_VIEW_DATA_CHECK.xml b/dalgen/configTables/ABS_VIEW_DATA_CHECK.xml new file mode 100644 index 0000000..1cad4c4 --- /dev/null +++ b/dalgen/configTables/ABS_VIEW_DATA_CHECK.xml @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/dalgen/configTables/ABS_VIEW_PORTAL.xml b/dalgen/configTables/ABS_VIEW_PORTAL.xml new file mode 100644 index 0000000..34bd2a6 --- /dev/null +++ b/dalgen/configTables/ABS_VIEW_PORTAL.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select p.PLAN_NO, PLAN_NAME, PLAN_TYPE, + to_char(LAST_UPDATE_DATE, 'yyyyMMdd') LAST_UPDATE_DATE, + to_char(BEGIN_DATE, 'yyyyMMdd') BEGIN_DATE, + to_char(END_DATE, 'yyyyMMdd') END_DATE, + nvl(CASH, 0) CASH, + nvl(CHECK_CASH, 0) - nvl(FROZEN_CASH, 0) PAYABLE_CASH, + nvl(FROZEN_CASH, 0) FROZEN_CASH, + nvl(ACC_GRANT, 0) ACC_GRANT, + nvl(PAY_ON_WAY, 0) PAY_ON_WAY, + nvl(REPO_ON_WAY, 0) REPO_ON_WAY, + nvl(PAY_CLEAR, 0) PAY_CLEAR, + nvl(REPO_CLEAR, 0) REPO_CLEAR, + nvl(CLEAR_CNT, 0) CLEAR_CNT, + nvl(CLEAR_AMT, 0) CLEAR_AMT, + nvl(ORDER_CNT, 0) ORDER_CNT, + nvl(ORDER_AMT, 0) ORDER_AMT, + nvl(CAPITAL_CNT, 0) CAPITAL_CNT, + nvl(CAPITAL_AMT, 0) CAPITAL_AMT, + nvl(CAPITAL_OVER_CNT, 0) CAPITAL_OVER_CNT, + nvl(CAPITAL_OVER_AMT, 0) CAPITAL_OVER_AMT, + nvl(TRFS_ROW, 0) TRFS_ROW, + nvl(TRFS_AMT, 0) TRFS_AMT, + nvl(TRFN_ROW, 0) TRFN_ROW, + nvl(TRFN_AMT, 0) TRFN_AMT, + to_char(pack.PACK_DATE, 'yyyyMMdd HH24:mm:ss') PACK_DATE + from + ( + SELECT PLAN_NO, PLAN_NAME, LAST_UPDATE_DATE, PLAN_TYPE,BEGIN_DATE,END_DATE FROM ABS_PLAN + WHERE STATUS in ('ONGOING', 'EXPIRED', 'COMPLETED') + ) p left join + ( + select PLAN_NO, CASH, CHECK_CASH,FROZEN_CASH,ACC_GRANT,PAY_ON_WAY,REPO_ON_WAY,PAY_CLEAR,REPO_CLEAR FROM ABS_PLAN_AST + ) ast on p.PLAN_NO = ast.PLAN_NO left join + ( + select PLAN_NO, count(*) CLEAR_CNT, sum(amt) CLEAR_AMT from ABS_PLAN_CLEARING_LOG group by plan_no + ) clr on p.PLAN_NO = clr.PLAN_NO left join + ( + select PLAN_NO, count(*) ORDER_CNT,SUM(TRANS_AMT) ORDER_AMT from ABS_PLAN_CLEARING_ORDER + where TRANS_STATUS = 'init' group by plan_no + ) odr on p.PLAN_NO = odr.PLAN_NO left join + ( + select PLAN_NO, count(*) CAPITAL_CNT, sum(PAYABLE_AMT) CAPITAL_AMT from ABS_PLAN_CAPITAL_ORDER group by plan_no + ) cpt on p.PLAN_NO = cpt.PLAN_NO left join + ( + select count(*) CAPITAL_OVER_CNT, sum(PAYABLE_AMT) CAPITAL_OVER_AMT, plan_no from ABS_PLAN_CAPITAL_ORDER_HIS + where GMT_CREATE >= trunc(sysdate) and STATUS = 'succ' group by plan_no + ) ocpt on p.PLAN_NO = ocpt.PLAN_NO left join + ( + select sum(decode(TASK_STATUS,'succ',1,0)) TRFS_ROW, + sum(decode(TASK_STATUS,'succ',TFR_PRIN_BAL, 0)) TRFS_AMT , + sum(decode(TASK_STATUS,'succ',0,1)) TRFN_ROW, + sum(decode(TASK_STATUS,'succ',0,TFR_PRIN_BAL)) TRFN_AMT, PLAN_NO + from ABS_TR_TASK t left join ABS_AST_PACK k on t.TFR_PACK = k.PACK_CODE + where t.GMT_CREATE >= trunc(sysdate) and TASK_STATUS = 'succ' and k.PACK_TYPE = 'AST_TRF_BIZ' group by k.PLAN_NO + ) trfs on p.PLAN_NO = trfs.PLAN_NO left join + ( + select max(GMT_CREATE) PACK_DATE, PLAN_NO from ABS_AST_PACK where PACK_TYPE = 'AST_TRF_BIZ' group by PLAN_NO + ) pack on p.PLAN_NO = pack.PLAN_NO + + + AND p.PLAN_NO LIKE CONCAT(CONCAT('%',#{planNo,jdbcType=VARCHAR}),'%') + + + AND p.PLAN_NAME LIKE CONCAT(CONCAT('%',#{planName,jdbcType=VARCHAR}),'%') + + + AND p.PLAN_NO IN + + #{uniqueCode,jdbcType=VARCHAR} + + + + AND PAY_CLEAR + REPO_CLEAR > 0 + + + AND PAY_ON_WAY + REPO_ON_WAY > 0 + + + AND cpt.CAPITAL_CNT > 0 + + + AND odr.ORDER_CNT > 0 + + + AND clr.CLEAR_CNT > 0 + + + AND TRFS_ROW + TRFN_ROW > 0 + + + order by p.PLAN_TYPE desc, p.PLAN_NAME + + + + + + + + + + + + + + + + + + + + + + + + + select d.ORG_CODE + , o.ORG_NAME + , d.ACCT_DATE + , d.ACCT_DATE + nvl(o.ACCT_STEP, 1) TFR_DATE + ,l.EXEC_DATE + , d.EFF + , d.GMT_MODIFIED + ,decode(l.EXEC_DATE,trunc(sysdate),'日切正常','日切异常') DAILY + ,sum(decode(l.TASK_TYPE,'AST_SYNC',decode(l.status,'succ',1,0),0)) sync + ,max(decode(l.TASK_TYPE,'AST_SYNC', l.GMT_CREATE, null)) sync_time + ,sum(decode(l.TASK_TYPE,'AST_MOD',decode(l.status,'succ',1,0),0)) ast_mod + ,max(decode(l.TASK_TYPE,'AST_MOD', l.GMT_CREATE,null)) ast_mod_time + ,sum(decode(l.TASK_TYPE,'AST_SER_FEE',decode(l.status,'succ',1,0),0)) ser_fee + ,max(decode(l.TASK_TYPE,'AST_SER_FEE', l.GMT_CREATE,null)) ser_fee_time + ,nvl(sync.ast_cnt, 0) ast_cnt + , nvl(sync.init_cnt, 0) init_cnt + , nvl(sync.exec_cnt, 0) exec_cnt + , nvl(sync.succ_cnt, 0) succ_cnt + , nvl(sync.fail_cnt, 0) fail_cnt + from ABS_ACCT_DATE d + left join ABS_AST_SYNC_TASK_CTR_LOG l on l.ORG_CODE=d.ORG_CODE and l.EXEC_DATE=d.ACCT_DATE + 1 + left join ABS_ORGANIZATION o on d.ORG_CODE = o.ORG_CODE + left join ( + select ORG_NO + ,count(*) ast_cnt + ,sum(decode(ABS_STATUS,'init',1,0)) init_cnt + ,sum(decode(ABS_STATUS,'exec',1,0)) exec_cnt + ,sum(decode(ABS_STATUS,'succ',1,0)) succ_cnt + ,sum(decode(ABS_STATUS,'fail',1,0)) fail_cnt + from ORG_ABS_MFS_BILL_CTR + group by ORG_NO + )sync on d.ORG_CODE=sync.ORG_NO + where + d.ORG_TYPE = 'AST' and o.ORG_NAME is not null + group by d.ORG_CODE, o.ORG_NAME, d.ACCT_DATE, o.ACCT_STEP, d.EFF, d.GMT_MODIFIED,l.EXEC_DATE + ,sync.ast_cnt,sync.init_cnt,sync.exec_cnt,sync.succ_cnt,sync.fail_cnt + order by d.ORG_CODE + +
\ No newline at end of file diff --git a/dalgen/configTables/ACT_GE_BYTEARRAY.xml b/dalgen/configTables/ACT_GE_BYTEARRAY.xml new file mode 100644 index 0000000..948b141 --- /dev/null +++ b/dalgen/configTables/ACT_GE_BYTEARRAY.xml @@ -0,0 +1,65 @@ + + + + + + REV_,GENERATED_,ID_,NAME_,DEPLOYMENT_ID_ + ,BYTES_ + + + + + sf.REV_,sf.GENERATED_,sf.ID_,sf.NAME_,sf.DEPLOYMENT_ID_ + ,sf.BYTES_ + + + + + + + + + + + + + + + + + + SELECT REV_,GENERATED_,ID_,NAME_,DEPLOYMENT_ID_ + FROM act_ge_bytearray + WHERE + + + +
diff --git a/dalgen/configTables/DATA_MOVE_COMMON.xml b/dalgen/configTables/DATA_MOVE_COMMON.xml new file mode 100644 index 0000000..e65e3f0 --- /dev/null +++ b/dalgen/configTables/DATA_MOVE_COMMON.xml @@ -0,0 +1,393 @@ + + + + + + + + + + + + alter table + ${tableName} + add partition + ${partitionName} + values + + ('${managerOrgCode}') + + + less than(to_date('${acctDate}','yyyyMMdd')) + + + + + SELECT + COUNT(*) + FROM + USER_TAB_SUBPARTITIONS + WHERE + TABLE_NAME = #{tableName,jdbcType=VARCHAR} + AND + PARTITION_NAME = #{partitionName,jdbcType=VARCHAR} + + + + + + + + + + ALTER TABLE ${tableName} + MODIFY PARTITION ${partitionName} ADD SUBPARTITION ${subPartitionName} values('${managerOrgCode}') + + + + SELECT + count(*) + FROM + USER_TAB_PARTITIONS + WHERE + TABLE_NAME = #{tableName,jdbcType=VARCHAR} + AND + PARTITION_NAME = #{partitionName,jdbcType=VARCHAR} + + + + SELECT + count(*) + FROM + USER_TAB_SUBPARTITIONS + WHERE + TABLE_NAME = #{tableName,jdbcType=VARCHAR} + AND + SUBPARTITION_NAME = #{subPartitionName,jdbcType=VARCHAR} + + + + + + + + + + + + + + + create table TMP_${tableName}_EXCHANGE nologging parallel 16 + as + select ${columns} + + ,cast('${newCol}' as VARCHAR2(64)) MANAGER_ORG_CODE + + from ${originTable}_move t1 + where 1=1 + + + and ${key} = trunc(to_date('${value}','yyyyMMdd')) + + and ${subKey} = '${subValue}' + + + + + and ${key} = '${value}' + + + + + and + + ${k} in ( + + '${v}' + + ) + + + + + + + + + + + create table TMP_${tableName}_EXCHANGE nologging parallel 16 + as + select ${columns},cast('${managerOrgCode}' as VARCHAR2(64)) MANAGER_ORG_CODE + from ${tableName}_move t1 + inner join + (select distinct AST_NO from ABS_LOAN where MANAGER_ORG_CODE = '${managerOrgCode}') t2 + on t1.AST_NO = t2.AST_NO + + + + + + + + select /*+parallel(t1,16)*/ count(*) + from ${tableName}_move t1 + inner join + (select distinct AST_NO from ABS_LOAN where MANAGER_ORG_CODE = '${managerOrgCode}') t2 + on t1.AST_NO = t2.AST_NO + + + + alter session enable parallel dml + + + + + + + + + + + + select + /*+parallel(t1,16)*/ count(1) + from + ${tableName}_move t1 + where 1=1 + + + and ${key} = trunc(to_date('${value}','yyyyMMdd')) + + and ${subKey} = '${subValue}' + + + + + and ${key} = '${value}' + + + + + and + + ${k} in ( + + '${v}' + + ) + + + + + + + + + drop table TMP_${tableName}_EXCHANGE purge + + + + + + + select count(*) from TMP_${tableName}_EXCHANGE + + + + + + + select count(*) from tab where tname = 'TMP_${tableName}_EXCHANGE' + + + + + + + + + alter table ${tableName} EXCHANGE + + + PARTITION + + + SUBPARTITION + + + ${partitionName} with table TMP_${tableName}_EXCHANGE + + + + + + + + + select t1.index_name + from + + + user_ind_partitions t1 + + + user_ind_subpartitions t1 + + + right join (select index_name from user_indexes where table_name = '${tableName}') t2 + on t1.index_name = t2.index_name + where t1.status != 'USABLE' and t1.status != 'N/A' and + + + t1.PARTITION_NAME + + + t1.SUBPARTITION_NAME + + + ='${partitionName}' + + + + + + + select + COLUMN_NAME + from + user_tab_columns + where + TABLE_NAME = '${tableName}_MOVE' + ORDER BY COLUMN_ID + + + + + + + select + CONSTRAINT_NAME + from + USER_CONSTRAINTS + where + TABLE_NAME = '${tableName}' + and + STATUS = 'ENABLED' + + + + + + + + + alter table + ${tableName} + + + enable + + + disable + + + constraint + ${constraintName} + + + + + + + + + alter index ${indexName} rebuild + + + partition + + + subpartition + + + ${partitionName} nologging parallel 16 + + + + + + + + + select + /*+parallel(t1,16)*/ count(1) + from + ${tableName} + + + partition + + + subpartition + + + (${partitionName}) + + + + + + + + select + ${colName} + from + ${tableName}_MOVE + group by ${colName} + order by ${colName} asc + + + + insert into TMP_MOVE_DATA_STAT( + table_name + ,partition_name + ,count + ,step + ,gmt_create + ) values ( + #{tableName,jdbcType=VARCHAR} + ,#{partitionName,jdbcType=VARCHAR} + ,#{cnt,jdbcType=BIGINT} + ,#{step,jdbcType=BIGINT} + ,sysdate + ) + + + + + + + + + + + + + + select \\* from ( + select + table_name + ,partition_name + ,count + ,step + from + TMP_MOVE_DATA_STAT + where + table_name = #{tableName,jdbcType=VARCHAR} + and partition_name = #{partitionName,jdbcType=VARCHAR} + order by gmt_create desc, step desc + ) where rownum = 1 + +
diff --git a/dalgen/configTables/MS_SETTLE_DETAIL.xml b/dalgen/configTables/MS_SETTLE_DETAIL.xml new file mode 100644 index 0000000..60d9f96 --- /dev/null +++ b/dalgen/configTables/MS_SETTLE_DETAIL.xml @@ -0,0 +1,80 @@ + + + + + + ast_no,cont_no,own_org,cur_date,out_ast_no + ,gmt_create,out_cont_no,plan_full_name,out_plan_no + + + + + sf.ast_no,sf.cont_no,sf.own_org,sf.cur_date,sf.out_ast_no + ,sf.gmt_create,sf.out_cont_no,sf.plan_full_name,sf.out_plan_no + + + + + + + + + + + INSERT INTO ms_settle_detail( + ast_no + ,cont_no + ,own_org + ,cur_date + ,out_ast_no + ,gmt_create + ,out_cont_no + ,plan_full_name + ,out_plan_no + )VALUES + ( + #{item.astNo,jdbcType=VARCHAR} + , #{item.contNo,jdbcType=VARCHAR} + , #{item.ownOrg,jdbcType=VARCHAR} + , #{item.curDate,jdbcType=DATE} + , #{item.outAstNo,jdbcType=VARCHAR} + , sysdate + , #{item.outContNo,jdbcType=VARCHAR} + , #{item.planFullName,jdbcType=VARCHAR} + , #{outPlanNo,jdbcType=VARCHAR} + ) + + + + + truncate table ms_settle_detail + + + + select * from ms_settle_detail + + + +
diff --git a/dalgen/ext/mybatis-config.xml.ftl b/dalgen/ext/mybatis-config.xml.ftl new file mode 100644 index 0000000..73fca66 --- /dev/null +++ b/dalgen/ext/mybatis-config.xml.ftl @@ -0,0 +1,57 @@ +<@pp.dropOutputFile /> +<#assign tmpTables = dalgen.tmpCfTables> +<@pp.changeOutputFile name = "/main/resources/mybatis-config.xml" /> + + +<#assign enumTypes = pp.newWritableSequence()> +<#assign jsonTypes = pp.newWritableSequence()> +<#assign othTypes = pp.newWritableSequence()> +<#--<#list tmpTables as tmpTable> + <#list tmpTable.columns as column> + <#if column.javatype?lower_case?starts_with(dalgen.config.getCustomerProperty("enumPathBase")!null)> + <#if !enumTypes?seq_contains(column.javatype)> + <@pp.add seq=enumTypes value="${column.javatype}" /> + + <#elseif column.javatype?lower_case?starts_with(dalgen.config.getCustomerProperty("jsonPathBase")!null)> + <#if !jsonTypes?seq_contains(column.javatype)> + <@pp.add seq=jsonTypes value="${column.javatype}" /> + + <#elseif !othTypes?seq_contains(column.javatype) && !column.javatype?lower_case?starts_with("com.alibaba.hr.common.util.encrypt")> + <@pp.add seq=othTypes value="${column.javatype}" /> + + +--> + + + + + + +<#-- + + + + + + + +<#list enumTypes as enumType> + + +<#list jsonTypes as jsonType> + + +<#list othTypes as othType> + + +--> + + + + + <#--<#list dalgen.doMappers as doMapper>--> + <#----> + <#----> + + diff --git a/src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml b/src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml new file mode 100644 index 0000000..26d14ad --- /dev/null +++ b/src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml @@ -0,0 +1,149 @@ + + + + + + + ID,FEE_RATE,FIXED_FEE_AMOUNT,PLAN_ALLOCATE_ATTR_TEMPLATE,CCY + ,ACT_TYPE,CREATOR,MODIFIER,TEMPLATE_NO,TEMPLATE_NAME + ,CALCULATE_TYPE,PLAN_TEMPLATE_NO,CALCULATE_SCALE_TYPE,FEE_TEMPLATE_NO_PREFIX,FEE_TEMPLATE_NAME_PREFIX + ,GMT_CREATE,GMT_MODIFIED + + + + + sf.ID,sf.FEE_RATE,sf.FIXED_FEE_AMOUNT,sf.PLAN_ALLOCATE_ATTR_TEMPLATE,sf.CCY + ,sf.ACT_TYPE,sf.CREATOR,sf.MODIFIER,sf.TEMPLATE_NO,sf.TEMPLATE_NAME + ,sf.CALCULATE_TYPE,sf.PLAN_TEMPLATE_NO,sf.CALCULATE_SCALE_TYPE,sf.FEE_TEMPLATE_NO_PREFIX,sf.FEE_TEMPLATE_NAME_PREFIX + ,sf.GMT_CREATE,sf.GMT_MODIFIED + + + + + + + + + + INSERT INTO SIMU_PLAN_FEE_STRUCTURE_TEMPLATE( + ID + ,FEE_RATE + ,FIXED_FEE_AMOUNT + ,PLAN_ALLOCATE_ATTR_TEMPLATE + ,CCY + ,ACT_TYPE + ,CREATOR + ,MODIFIER + ,TEMPLATE_NO + ,TEMPLATE_NAME + ,CALCULATE_TYPE + ,PLAN_TEMPLATE_NO + ,CALCULATE_SCALE_TYPE + ,FEE_TEMPLATE_NO_PREFIX + ,FEE_TEMPLATE_NAME_PREFIX + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + + ( + null + , #{item.feeRate,jdbcType=BIGINT} + , #{item.fixedFeeAmount,jdbcType=BIGINT} + , #{item.planAllocateAttrTemplate,jdbcType=VARCHAR} + , #{item.ccy,jdbcType=VARCHAR} + , #{item.actType,jdbcType=VARCHAR} + , #{item.creator,jdbcType=VARCHAR} + , #{item.modifier,jdbcType=VARCHAR} + , #{item.templateNo,jdbcType=VARCHAR} + , #{item.templateName,jdbcType=VARCHAR} + , #{item.calculateType,jdbcType=VARCHAR} + , #{item.planTemplateNo,jdbcType=VARCHAR} + , #{item.calculateScaleType,jdbcType=VARCHAR} + , #{item.feeTemplateNoPrefix,jdbcType=VARCHAR} + , #{item.feeTemplateNamePrefix,jdbcType=VARCHAR} + , now() + , now() + ) + + + + + + + + + + SELECT * + FROM SIMU_PLAN_FEE_STRUCTURE_TEMPLATE + WHERE + + + +
diff --git a/src/main/resources/dalgen/configTables/SIMU_PROD.xml b/src/main/resources/dalgen/configTables/SIMU_PROD.xml new file mode 100644 index 0000000..836a74e --- /dev/null +++ b/src/main/resources/dalgen/configTables/SIMU_PROD.xml @@ -0,0 +1,135 @@ + + + + + + ID,CREATOR,MODIFIER,PROD_CODE,PROD_NAME + ,GMT_CREATE,GMT_MODIFY + + + + + sf.ID,sf.CREATOR,sf.MODIFIER,sf.PROD_CODE,sf.PROD_NAME + ,sf.GMT_CREATE,sf.GMT_MODIFY + + + + + + + + + + INSERT INTO SIMU_PROD( + ID + ,CREATOR + ,MODIFIER + ,PROD_CODE + ,PROD_NAME + ,GMT_CREATE + ,GMT_MODIFY + )VALUES + + ( + null + , #{item.creator,jdbcType=VARCHAR} + , #{item.modifier,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , #{item.prodName,jdbcType=VARCHAR} + , now() + , #{item.gmtModify,jdbcType=TIMESTAMP} + ) + + + + + + + + + + + + + + + + + SELECT * + FROM SIMU_PROD + WHERE + + + + + + + + + + + + + + SELECT * + FROM SIMU_PROD + WHERE + + + +
diff --git a/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml b/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml new file mode 100644 index 0000000..e369757 --- /dev/null +++ b/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + ID,OVERDUE_STAT,ASSET_CLASS_DEF,OVERDUE_REPAY_STAT,REDEPTION_ALL_STAT + ,REDEMPTION_TERM_STAT,CREATOR,MODIFIER,PROD_CODE,GMT_CREATE + ,GMT_MODIFIED + + + + + sf.ID,sf.OVERDUE_STAT,sf.ASSET_CLASS_DEF,sf.OVERDUE_REPAY_STAT,sf.REDEPTION_ALL_STAT + ,sf.REDEMPTION_TERM_STAT,sf.CREATOR,sf.MODIFIER,sf.PROD_CODE,sf.GMT_CREATE + ,sf.GMT_MODIFIED + + + + + + + + + + INSERT INTO SIMU_PROD_ATTR( + ID + ,OVERDUE_STAT + ,ASSET_CLASS_DEF + ,OVERDUE_REPAY_STAT + ,REDEPTION_ALL_STAT + ,REDEMPTION_TERM_STAT + ,CREATOR + ,MODIFIER + ,PROD_CODE + ,GMT_CREATE + ,GMT_MODIFIED + )VALUES + + ( + null + , #{item.overdueStat,jdbcType=OTHER} + , #{item.assetClassDef,jdbcType=OTHER} + , #{item.overdueRepayStat,jdbcType=OTHER} + , #{item.redeptionAllStat,jdbcType=OTHER} + , #{item.redemptionTermStat,jdbcType=OTHER} + , #{item.creator,jdbcType=VARCHAR} + , #{item.modifier,jdbcType=VARCHAR} + , #{item.prodCode,jdbcType=VARCHAR} + , now() + , now() + ) + + + + + + + + + + SELECT * + FROM SIMU_PROD_ATTR + WHERE + + + + + + + + + + + + + + SELECT * + FROM SIMU_PROD_ATTR + WHERE + + + +
diff --git a/src/main/resources/dalgen/templates/lib/lib.ftl b/src/main/resources/dalgen/templates/lib/lib.ftl index e2ddab6..43a6b7d 100644 --- a/src/main/resources/dalgen/templates/lib/lib.ftl +++ b/src/main/resources/dalgen/templates/lib/lib.ftl @@ -51,7 +51,7 @@ <#if operation.name?starts_with("insert")><#return ''/> <#if operation.name?starts_with("update")><#return ''/> <#if operation.name?starts_with("delete")><#return ''/> - <#return 'useCache="false"'> + <#return 'useCache="false" flushCache="true"'> <#function timeout operation> -- Gitee From 3a2776fd415824ac4344c95f4a34a387562716f7 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Thu, 16 Feb 2023 14:29:05 +0800 Subject: [PATCH 21/44] s --- pom.abs.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pom.abs.xml b/pom.abs.xml index 8a7fab1..19d3b2b 100644 --- a/pom.abs.xml +++ b/pom.abs.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.3.1 + 2.3.4 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list @@ -124,7 +124,11 @@ mysql-connector-java 8.0.30
- + + org.postgresql + postgresql + 42.2.18 + org.mybatis mybatis -- Gitee From 04aa22f24dfd0feefbcd385c01b1aafb50dafaf7 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 29 Mar 2023 14:11:46 +0800 Subject: [PATCH 22/44] s --- pom.xml | 2 +- .../dalgen/templates/dalgen/XMLMapper.xml.ftl | 6 ----- .../resources/dalgen/templates/lib/macro.ftl | 22 +++++++++---------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index 19d3b2b..b65a461 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.3.4 + 2.3.6 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl index 74395ca..38786df 100644 --- a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl +++ b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl @@ -95,13 +95,7 @@ ${operation.cdata!} <#if operation.autoGen> <@m.autoGen operation.name ,xmlMapper.table/> <#else> - <#if (operation.name=="insertBatch"||operation.name=="deleteBatch") && dalgen.dbType?lower_case=="oracle"> - begin - ${operation.cdata!} - <#if (operation.name=="insertBatch"||operation.name=="deleteBatch") && dalgen.dbType?lower_case=="oracle"> - ;end; - diff --git a/src/main/resources/dalgen/templates/lib/macro.ftl b/src/main/resources/dalgen/templates/lib/macro.ftl index d24010e..35218e9 100644 --- a/src/main/resources/dalgen/templates/lib/macro.ftl +++ b/src/main/resources/dalgen/templates/lib/macro.ftl @@ -61,20 +61,20 @@ <#macro insertBatchMethod table> -<#if dalgen.dbType?lower_case=="oracle"> - - INSERT INTO ${table.sqlName}( - <#list table.columnList as column> - <#if column_index gt 0>,${column.sqlName} - - )VALUES - ( + <#if dalgen.dbType?lower_case=="oracle"> + INSERT INTO ${table.sqlName}( + <#list table.columnList as column> + <#if column_index gt 0>,${column.sqlName} + + ) + + select <#list table.columnList as column> <#if column_index gt 0>, ${lib.insertBatchVal(column,dalgen)} - ) - - + from dual + + <#if dalgen.dbType?lower_case=="mysql"> INSERT INTO ${table.sqlName}( <#list table.columnList as column> -- Gitee From 445068c13b6ddd3d1d380f49f0509175c3fff144 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 25 Apr 2023 09:24:10 +0800 Subject: [PATCH 23/44] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/dalgen/config/config.xml | 28 ++--- .../dalgen/configTables/ABS_DATA_CHECK.xml | 118 ++++++++++++++++++ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 3 files changed, 133 insertions(+), 15 deletions(-) create mode 100644 src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 79b173d..40ba7d5 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -29,22 +29,22 @@ - - - - - - - - - - - - - + + + + + - + + + + + + + + + diff --git a/src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml b/src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml new file mode 100644 index 0000000..a7b87d8 --- /dev/null +++ b/src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + SELECT + a.own_org,c.LENDER_ORG_CODE + ,nvl(b.fk_cnt,0)fk_cnt,nvl(b.fk_amt,0)fk_amt + ,c.repay_cnt,c.prin_amt,c.intr_amt,c.prin_penal_amt,c.paid_intr_fund_amt,c.paid_prin_penal_fund_amt,c.clrg_amt + ,e.ast_cnt,e.ast_prin_bal,e.ast_intr_bal,e.ast_prin_penal_bal,c.intr_penal_amt,c.paid_intr_penal_fund_amt + FROM + ( + SELECT + plan_no as own_org,plan_type + FROM + abs_plan + WHERE + plan_no in + + #{planNo,jdbcType=VARCHAR} + + and + status IN ('ONGOING','EXPIRED') + ) a + left join + (-- 放款信息 + SELECT + LENDER_ORG_CODE, + COUNT(DISTINCT(out_ast_no)) fk_cnt , -- fk_cnt + SUM(prin_amt) fk_amt -- fk_amt + FROM + abs_loan_trans_info + WHERE + account_date = trunc(#{acctDate,jdbcType=DATE})-1 + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + trans_code = 'AST0001' + AND + LENDER_ORG_CODE in + + #{planNo,jdbcType=VARCHAR} + + GROUP BY LENDER_ORG_CODE + )b + on a.own_org = b.LENDER_ORG_CODE + left join + ( + -- 获取所有还款 + SELECT + LENDER_ORG_CODE, -- 机构 + COUNT(DISTINCT(out_ast_no)) repay_cnt,--笔数 + SUM(prin_amt) prin_amt,--本金 + SUM(intr_amt) intr_amt,--利息 + SUM(prin_penal_amt) prin_penal_amt,--罚息 + SUM(intr_penal_amt) intr_penal_amt,--罚息 + SUM(paid_intr_fund_amt) paid_intr_fund_amt,--五矿实收利息 + SUM(paid_prin_penal_fund_amt) paid_prin_penal_fund_amt,--五矿实收罚息 + SUM(paid_intr_penal_fund_amt) paid_intr_penal_fund_amt,--五矿实收罚息 + SUM(clrg_amt) clrg_amt--清算金额 + FROM + abs_loan_instal_trans_info + WHERE + account_date = trunc(#{acctDate,jdbcType=DATE})-1 + AND + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + trans_code = 'AST0003' + AND + LENDER_ORG_CODE in + + #{planNo,jdbcType=VARCHAR} + + GROUP BY LENDER_ORG_CODE + ) c + on a.own_org = c.LENDER_ORG_CODE + left join + ( + SELECT + LENDER_ORG_CODE + ,COUNT(DISTINCT(out_ast_no)) ast_cnt, + SUM(prin_bal+OVD_PRIN_BAL) ast_prin_bal, --本金 + SUM(intr_bal+OVD_INTR_BAL) ast_intr_bal, --利息 + SUM(prin_penal_bal+INTR_PENAL_BAL) ast_prin_penal_bal --罚息 + from + ABS_LOAN + WHERE + MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} + AND + STATUS IN ('nor','ovd') AND WTF_STATUS = 'N' + AND + LENDER_ORG_CODE in + + #{planNo,jdbcType=VARCHAR} + + group by LENDER_ORG_CODE + )e + on a.own_org = e.LENDER_ORG_CODE + order by a.plan_type desc,a.own_org + +
\ No newline at end of file diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index b1f001c..aecc32c 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("common_task"); + ConfigUtil.setCmd("ABS_DATA_CHECK"); } catch (IOException e) { LOG.error(e); } -- Gitee From 6fb2f5b80c4b32af8f15714da938731beacabc37 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Thu, 25 May 2023 16:16:24 +0800 Subject: [PATCH 24/44] =?UTF-8?q?mysql=20=E6=89=B9=E9=87=8F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../dalgen/templates/init/initTableXml.ftl | 2 ++ .../resources/dalgen/templates/lib/macro.ftl | 20 +++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b65a461..ba33f95 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.3.6 + 2.3.7 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/resources/dalgen/templates/init/initTableXml.ftl b/src/main/resources/dalgen/templates/init/initTableXml.ftl index ed5c3ac..f5ec435 100644 --- a/src/main/resources/dalgen/templates/init/initTableXml.ftl +++ b/src/main/resources/dalgen/templates/init/initTableXml.ftl @@ -24,6 +24,8 @@ <@m.oracleUpdateBatchMethod table/> + <@m.mysqlUpdateBatchMethod table/> + <#if table.primaryKeys??> + diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index a886745..be5894b 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -4,25 +4,65 @@ <@pp.changeOutputFile name = "/main/java/${dao.classPath}/${dao.className}.java" /> package ${dao.packageName}; +import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.beans.factory.annotation.Autowired; +import org.apache.ibatis.session.ExecutorType; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.stereotype.Repository; import java.util.ArrayList; +import java.util.List; import com.google.common.collect.Lists; <#list dao.importLists as import> import ${import}; - +<#if dalgen.config.getExtParam("updateBatchSize")??> + <#assign updateBatchSize=dalgen.config.getExtParam("updateBatchSize")/> +<#else> + <#assign updateBatchSize=200/> + /** * The Table ${dao.tableName!}. * ${dao.desc!} */ <#if dalgen.config.getExtParam("Repository") == "true">@Repository public class ${dao.className}{ - + @Autowired + private SqlSessionFactory sqlSessionFactory; @Autowired private ${dao.doMapper.className} ${dao.doMapper.className?uncap_first}; <#list dao.motheds as method> + <#-- 预编译模式批量插入更新 --> + <#if method.name=="insert" || method.name=="update"> + <#assign p=method.params?first> + public int batch${method.name?cap_first}(List<${p.paramType!}> datas){ + if(datas==null){ + return 0; + } + int dataSize = datas.size(); + SqlSession batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH); + try{ + ${dao.doMapper.className} mapper = batchSqlSession.getMapper(${dao.doMapper.className}.class); + for(int i=0 ; i < dataSize ; i++){ + ${p.paramType!} data = datas.get(i); + mapper.${method.name}(data); + if ((i % 1000 == 0)|| i+1 == dataSize) { + batchSqlSession.flushStatements(); + } + } + // 非事务环境下强制commit,事务情况下该commit相当于无效 + batchSqlSession.commit(!TransactionSynchronizationManager.isSynchronizationActive()); + } catch (Exception e) { + batchSqlSession.rollback(); + throw new RuntimeException(e); + } finally { + batchSqlSession.close(); + } + return dataSize; + } + + <#if method.kvMap?? && method.kvMap != "false"> /** * desc:${method.desc!method.name!}.
@@ -119,10 +159,10 @@ public class ${dao.className}{ } return result; <#else> - <#if method.name == "insertBatch"> - if(list.size()>200){ + <#if method.name == "insertBatch" || method.name == "updateBatch" > + if(list.size()>${updateBatchSize}){ <#list method.params as param><#if param_index = 0><#assign ptype =param.paramType/> - List<${ptype}> partition = Lists.partition(list, 200); + List<${ptype}> partition = Lists.partition(list, ${updateBatchSize}); for (${ptype} _list : partition) { ${dao.doMapper.className?uncap_first}.${method.name}(_list); } diff --git a/src/main/resources/dalgen/templates/init/initTableXml.ftl b/src/main/resources/dalgen/templates/init/initTableXml.ftl index f5ec435..fea4f8b 100644 --- a/src/main/resources/dalgen/templates/init/initTableXml.ftl +++ b/src/main/resources/dalgen/templates/init/initTableXml.ftl @@ -27,7 +27,6 @@ <@m.mysqlUpdateBatchMethod table/> <#if table.primaryKeys??> - -- Gitee From 30478547b3ed0ae254fc1fda937f3895bb062fb6 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 6 Jun 2023 10:02:06 +0800 Subject: [PATCH 28/44] =?UTF-8?q?mysql=20=E6=89=B9=E9=87=8F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dalgen/mybatis/gen/dataloaders/DalgenLoader.java | 2 ++ .../dalgen/mybatis/gen/model/config/CfOperation.java | 12 ++++++++++++ .../gen/model/java/domapper/DOMapperMethod.java | 9 +++++++++ .../gen/model/repository/CfTableRepository.java | 1 + .../resources/dalgen/config/table-config-1.0.dtd | 2 ++ .../resources/dalgen/templates/dalgen/DAO.java.ftl | 4 ++-- 6 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 7599533..e1e7066 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -426,6 +426,7 @@ public class DalgenLoader extends AbstractDalgenLoader { } method.setReturnClass(resultType); method.setListLimit(operation.getListLimit()); + method.setBatch(operation.getBatch()); method.setKvMap(operation.getKvMap()); if (!StringUtils.equals(method.getKvMap(), "false")) { method.setMapV(operation.getMapV()); @@ -618,6 +619,7 @@ public class DalgenLoader extends AbstractDalgenLoader { resultType = preMethodParam(doClass, doMapper, operation, method, columnMap, cfOperations,resultType); method.setReturnClass(resultType); method.setListLimit(operation.getListLimit()); + method.setBatch(operation.getBatch()); method.setKvMap(operation.getKvMap()); if (!StringUtils.equals(method.getKvMap(), "false")) { method.setMapV(operation.getMapV()); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java index f477423..7b8a6ad 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java @@ -87,6 +87,18 @@ public class CfOperation { * The Sql desc. */ private String sqlDesc; + private String batch; + + public String getBatch() { + return batch; + } + + public void setBatch(String batch) { + if(batch==null || batch.length()==0){ + batch="false"; + } + this.batch = batch; + } /** * The Primitive params. diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java index 5620e09..95be3b4 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java @@ -70,6 +70,15 @@ public class DOMapperMethod implements Cloneable { private List params = Lists.newLinkedList(); private Map operationParams = Maps.newHashMap(); + private String batch; + + public String getBatch() { + return batch; + } + + public void setBatch(String batch) { + this.batch = batch; + } /** * Gets return class. * diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java index 6304c08..aeb8240 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java @@ -220,6 +220,7 @@ public class CfTableRepository { cfOperation.setKvMap(attr(operation, "kvmap")); //FIXME 默认值可维护 cfOperation.setListLimit(attr(operation, "listLimit")); + cfOperation.setBatch(attr(operation, "batch")); cfOperation.setMapK(attr(operation, "mapK")); cfOperation.setMapV(attr(operation, "mapV")); cfOperation.setTimeout(attrLong(operation, "timeout")); diff --git a/src/main/resources/dalgen/config/table-config-1.0.dtd b/src/main/resources/dalgen/config/table-config-1.0.dtd index b960ea3..36ea742 100755 --- a/src/main/resources/dalgen/config/table-config-1.0.dtd +++ b/src/main/resources/dalgen/config/table-config-1.0.dtd @@ -148,6 +148,7 @@ set 返回Map> 其中 ?分表对应 mapK,mapV类型 autoGen insert insertBatch update 时生效 listLimit 参数list最大限制,默认200 + batch 批量插入or更新 --> diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index be5894b..22f6726 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -34,7 +34,7 @@ public class ${dao.className}{ <#list dao.motheds as method> <#-- 预编译模式批量插入更新 --> - <#if method.name=="insert" || method.name=="update"> + <#if method.batch?? && method.batch=="true"> <#assign p=method.params?first> public int batch${method.name?cap_first}(List<${p.paramType!}> datas){ if(datas==null){ @@ -159,7 +159,7 @@ public class ${dao.className}{ } return result; <#else> - <#if method.name == "insertBatch" || method.name == "updateBatch" > + <#if method.name == "insertBatch" || method.name == "updateBatch" || method.name?starts_with("updateBatch")> if(list.size()>${updateBatchSize}){ <#list method.params as param><#if param_index = 0><#assign ptype =param.paramType/> List<${ptype}> partition = Lists.partition(list, ${updateBatchSize}); -- Gitee From 7b0fa81bc2131529e25136b542344abb74be148d Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Thu, 8 Jun 2023 18:39:41 +0800 Subject: [PATCH 29/44] =?UTF-8?q?mysql=20=E6=89=B9=E9=87=8F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/gen/dataloaders/DalgenLoader.java | 11 ++++++ .../model/java/domapper/DOMapperMethod.java | 9 +++++ .../dalgen/templates/dalgen/DAO.java.ftl | 34 ++++++++++++++----- .../dalgen/templates/lib/function.ftl | 5 +++ .../resources/dalgen/templates/lib/macro.ftl | 25 +++++++++++++- 5 files changed, 74 insertions(+), 10 deletions(-) diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index e1e7066..e1d3f90 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -427,6 +427,13 @@ public class DalgenLoader extends AbstractDalgenLoader { method.setReturnClass(resultType); method.setListLimit(operation.getListLimit()); method.setBatch(operation.getBatch()); + if(operation.getMultiplicity()==MultiplicityEnum.cursor){ + method.setCursor("true"); + getClassAndImport(dao, "java.util.Map"); + getClassAndImport(dao, "java.util.LinkedHashMap"); + getClassAndImport(dao, "org.mybatis.spring.batch.MyBatisCursorItemReader"); + getClassAndImport(dao, "org.apache.ibatis.session.SqlSessionFactory"); + } method.setKvMap(operation.getKvMap()); if (!StringUtils.equals(method.getKvMap(), "false")) { method.setMapV(operation.getMapV()); @@ -443,6 +450,7 @@ public class DalgenLoader extends AbstractDalgenLoader { getClassAndImport(dao, "java.util.LinkedHashMap"); getClassAndImport(dao, "java.util.ArrayList"); getClassAndImport(dao, "java.util.HashSet"); + } method.setOperationParams(operation.getOperationParams()); method.setDeprecated(operation.getDeprecated()); @@ -620,6 +628,9 @@ public class DalgenLoader extends AbstractDalgenLoader { method.setReturnClass(resultType); method.setListLimit(operation.getListLimit()); method.setBatch(operation.getBatch()); + if(operation.getMultiplicity()==MultiplicityEnum.cursor){ + method.setCursor("true"); + } method.setKvMap(operation.getKvMap()); if (!StringUtils.equals(method.getKvMap(), "false")) { method.setMapV(operation.getMapV()); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java index 95be3b4..21670c0 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java @@ -71,6 +71,15 @@ public class DOMapperMethod implements Cloneable { private Map operationParams = Maps.newHashMap(); private String batch; + private String cursor="false"; + + public String getCursor() { + return cursor; + } + + public void setCursor(String cursor) { + this.cursor = cursor; + } public String getBatch() { return batch; diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index 22f6726..8852469 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -33,6 +33,19 @@ public class ${dao.className}{ private ${dao.doMapper.className} ${dao.doMapper.className?uncap_first}; <#list dao.motheds as method> + <#if method.cursor?? && method.cursor=="true"> + public MyBatisCursorItemReader<${fun.CursorTypeClass(method)}> ${method.name}ItemReader(<#list method.params as param><#if param_index gt 0>,${param.paramType!} <#assign pagingParam = param.param/>${param.param}){ + MyBatisCursorItemReader<${fun.CursorTypeClass(method)}> reader = new MyBatisCursorItemReader<>(); + Map${"<"}String,Object${">"} map = new LinkedHashMap<>(); + <#list method.params as param> + map.put("${param.param}",${param.param}); + + reader.setQueryId("${dao.doMapper.packageName}.${dao.doMapper.className}.${method.name}"); + reader.setSqlSessionFactory(sqlSessionFactory); + reader.setParameterValues(map); + return reader; + } + <#-- 预编译模式批量插入更新 --> <#if method.batch?? && method.batch=="true"> <#assign p=method.params?first> @@ -159,17 +172,20 @@ public class ${dao.className}{ } return result; <#else> - <#if method.name == "insertBatch" || method.name == "updateBatch" || method.name?starts_with("updateBatch")> - if(list.size()>${updateBatchSize}){ - <#list method.params as param><#if param_index = 0><#assign ptype =param.paramType/> - List<${ptype}> partition = Lists.partition(list, ${updateBatchSize}); - for (${ptype} _list : partition) { - ${dao.doMapper.className?uncap_first}.${method.name}(_list); + <#if method.name == "insertBatch" ||method.name?starts_with("insertBatch") || method.name == "updateBatch" || method.name?starts_with("updateBatch")> + int cnt = 0; + if(list!=null && list.size()>0){ + if(list.size()>${updateBatchSize}){ + <#list method.params as param><#if param_index = 0><#assign ptype =param.paramType/> + List<${ptype}> partition = Lists.partition(list, ${updateBatchSize}); + for (${ptype} _list : partition) { + cnt += ${dao.doMapper.className?uncap_first}.${method.name}(_list); + } + }else{ + cnt += ${dao.doMapper.className?uncap_first}.${method.name}(list); } - }else{ - ${dao.doMapper.className?uncap_first}.${method.name}(list); } - return <#list method.params as param><#if param_index == 0> ${param.param}.size(); + return cnt; <#else> <#if method.returnClass != "void">return ${dao.doMapper.className?uncap_first}.${method.name}(<#list method.params as param><#if param_index gt 0>, ${param.param}); diff --git a/src/main/resources/dalgen/templates/lib/function.ftl b/src/main/resources/dalgen/templates/lib/function.ftl index 30d1766..8d3537f 100644 --- a/src/main/resources/dalgen/templates/lib/function.ftl +++ b/src/main/resources/dalgen/templates/lib/function.ftl @@ -109,6 +109,11 @@ +<#function CursorTypeClass method> + <#assign length = method.returnClass?length-1/> + <#return method.returnClass?substring(7,length)> + + <#function javaTypeTrun javaType> <#if javaType?contains("<")> <#return javaType?substring(0,javaType?index_of("<"))/> diff --git a/src/main/resources/dalgen/templates/lib/macro.ftl b/src/main/resources/dalgen/templates/lib/macro.ftl index b000c54..1939467 100644 --- a/src/main/resources/dalgen/templates/lib/macro.ftl +++ b/src/main/resources/dalgen/templates/lib/macro.ftl @@ -33,7 +33,8 @@ <#macro mysqlUpdateBatchMethod table> - <#if dalgen.dbType?lower_case=="mysql" && table.primaryKeys??> + <#if dalgen.dbType?lower_case=="mysql"> + <#if table.primaryKeys??> update ( @@ -50,6 +51,28 @@ <#if column_index gt 0>,u.${column.sqlName} = t.${column.sqlName} + + <#list table.uniqueIndexs as uniqueIndex> + + update + ( + + SELECT <#list table.columnList as column><#if column_index gt 0>, item.${lib.insertVal(column,dalgen)} ${column.sqlName} + FROM dual + + ) t + join ${table.sqlName} u + on ( + <#list uniqueIndex.columnList as column> + <#if column_index gt 0>AND u.${column.sqlName}${lib.space(column.sqlName)} = t.${column.sqlName} + + ) + set + <#list table.columnList as column> + <#if column_index gt 0>,u.${column.sqlName} = t.${column.sqlName} + + + <#macro oracleUpdateBatchMethod table> -- Gitee From 39f36072d74c5c4dbd80a722444590446a8d26fb Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Fri, 9 Jun 2023 12:06:21 +0800 Subject: [PATCH 30/44] =?UTF-8?q?mysql=20=E6=89=B9=E9=87=8F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/gen/dataloaders/DalgenLoader.java | 36 ++++++------------- .../resources/dalgen/templates/lib/lib.ftl | 8 +++++ .../resources/dalgen/templates/lib/macro.ftl | 4 +-- 3 files changed, 21 insertions(+), 27 deletions(-) diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index e1d3f90..0c8515e 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -1,42 +1,22 @@ package cn.dalgen.mybatis.gen.dataloaders; -import java.io.File; -import java.sql.Connection; -import java.text.MessageFormat; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - import cn.dalgen.mybatis.gen.common.FileNameSelector; -import cn.dalgen.mybatis.gen.enums.PagingCntTypeEnum; -import cn.dalgen.mybatis.gen.enums.ParamTypeEnum; -import cn.dalgen.mybatis.gen.enums.ResultSetTypeEnum; -import cn.dalgen.mybatis.gen.enums.TypeMapEnum; +import cn.dalgen.mybatis.gen.enums.*; import cn.dalgen.mybatis.gen.model.Gen; +import cn.dalgen.mybatis.gen.model.config.CfColumn; import cn.dalgen.mybatis.gen.model.config.CfOperation; import cn.dalgen.mybatis.gen.model.config.CfResultMap; import cn.dalgen.mybatis.gen.model.config.CfTable; import cn.dalgen.mybatis.gen.model.dbtable.Column; import cn.dalgen.mybatis.gen.model.dbtable.Table; -import cn.dalgen.mybatis.gen.model.java.Base; -import cn.dalgen.mybatis.gen.model.java.DAO; -import cn.dalgen.mybatis.gen.model.java.DO; -import cn.dalgen.mybatis.gen.model.java.DOMapper; -import cn.dalgen.mybatis.gen.model.java.Filelds; -import cn.dalgen.mybatis.gen.model.java.Paging; -import cn.dalgen.mybatis.gen.model.java.ResultMap; -import cn.dalgen.mybatis.gen.model.java.XmlMapper; +import cn.dalgen.mybatis.gen.model.java.*; import cn.dalgen.mybatis.gen.model.java.domapper.DOMapperMethod; +import cn.dalgen.mybatis.gen.model.java.domapper.DOMapperMethodParam; import cn.dalgen.mybatis.gen.model.repository.CfTableRepository; import cn.dalgen.mybatis.gen.model.repository.TableRepository; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; -import cn.dalgen.mybatis.gen.utils.StringDalUtil; -import cn.dalgen.mybatis.gen.enums.MultiplicityEnum; -import cn.dalgen.mybatis.gen.model.config.CfColumn; -import cn.dalgen.mybatis.gen.model.java.domapper.DOMapperMethodParam; import cn.dalgen.mybatis.gen.utils.ConfigUtil; +import cn.dalgen.mybatis.gen.utils.StringDalUtil; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.beanutils.BeanUtils; @@ -51,6 +31,12 @@ import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.tree.DefaultElement; +import java.io.File; +import java.text.MessageFormat; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + /** * Created by bangis.wangdf on 15/12/3. Desc */ diff --git a/src/main/resources/dalgen/templates/lib/lib.ftl b/src/main/resources/dalgen/templates/lib/lib.ftl index 43a6b7d..2babc41 100644 --- a/src/main/resources/dalgen/templates/lib/lib.ftl +++ b/src/main/resources/dalgen/templates/lib/lib.ftl @@ -67,6 +67,14 @@ <#if column.sqlName?upper_case == "REVISION"><#return "0"> <#return '${"#"}{${column.javaName},jdbcType=${column.sqlType}}'/> +<#-- insert 时字段处理 --> +<#function insertItemVal column dalgen> + <#if column.sqlName == "GMT_MODIFIED" || column.sqlName == "GMT_CREATE"> <#if dalgen.dbType?upper_case=="ORACLE"><#return "sysdate"><#return "now()"> + <#if column.sqlName?upper_case == "ID"><#return "null"> + <#if column.sqlName?upper_case == "IS_DELETED"><#return "0"> + <#if column.sqlName?upper_case == "REVISION"><#return "0"> + <#return '${"#"}{item.${column.javaName},jdbcType=${column.sqlType}}'/> + <#-- insert 时字段处理 --> <#function insertBatchVal column dalgen> diff --git a/src/main/resources/dalgen/templates/lib/macro.ftl b/src/main/resources/dalgen/templates/lib/macro.ftl index 1939467..1c545aa 100644 --- a/src/main/resources/dalgen/templates/lib/macro.ftl +++ b/src/main/resources/dalgen/templates/lib/macro.ftl @@ -40,7 +40,7 @@ ( - SELECT <#list table.columnList as column><#if column_index gt 0>, ${lib.insertVal(column,dalgen)} ${column.sqlName} + SELECT <#list table.columnList as column><#if column_index gt 0>, ${lib.insertItemVal(column,dalgen)} ${column.sqlName} FROM dual ) t @@ -57,7 +57,7 @@ update ( - SELECT <#list table.columnList as column><#if column_index gt 0>, item.${lib.insertVal(column,dalgen)} ${column.sqlName} + SELECT <#list table.columnList as column><#if column_index gt 0>, item.${lib.insertItemVal(column,dalgen)} ${column.sqlName} FROM dual ) t -- Gitee From 689f7af90e4052816361115cdbc32e58eef780c7 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 5 Jul 2023 18:35:39 +0800 Subject: [PATCH 31/44] =?UTF-8?q?=E6=B5=81=E5=BC=8F=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/gen/dataloaders/DalgenLoader.java | 179 ++++++++-------- src/main/resources/dalgen/config/config.xml | 22 +- .../dalgen/configTables/ABS_DATA_CHECK.xml | 118 ----------- .../dalgen/configTables/BATCH_USER_CTR.xml | 194 ++++++++++++++++++ .../SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml | 149 -------------- .../dalgen/configTables/SIMU_PROD.xml | 135 ------------ .../dalgen/configTables/SIMU_PROD_ATTR.xml | 155 -------------- .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 8 files changed, 295 insertions(+), 659 deletions(-) delete mode 100644 src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml create mode 100644 src/main/resources/dalgen/configTables/BATCH_USER_CTR.xml delete mode 100644 src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml delete mode 100644 src/main/resources/dalgen/configTables/SIMU_PROD.xml delete mode 100644 src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 0c8515e..99f066f 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -44,24 +44,24 @@ public class DalgenLoader extends AbstractDalgenLoader { /** * The constant LOG. */ - private static final Log LOG = new SystemStreamLog(); + private static final Log LOG = new SystemStreamLog(); /** * The constant RESULT_MANY. */ - private static final String RESULT_MANY = "List<{0}>"; + private static final String RESULT_MANY = "List<{0}>"; /** * The constant RESULT_MANY. */ - private static final String RESULT_CURSOR = "Cursor<{0}>"; + private static final String RESULT_CURSOR = "Cursor<{0}>"; /** * The Table repository. */ - private TableRepository tableRepository = new TableRepository(); + private TableRepository tableRepository = new TableRepository(); /** * The Gen xml file repository. */ - private CfTableRepository cfTableRepository = new CfTableRepository(); + private CfTableRepository cfTableRepository = new CfTableRepository(); /** * Load. @@ -71,12 +71,12 @@ public class DalgenLoader extends AbstractDalgenLoader { * @throws Exception the exception */ @Override - public void load(Gen gen, File tablesFile) throws Exception { + public void load(Gen gen, File tablesFile) throws Exception { String cmd = ConfigUtil.getCmd(); //解析所有table.xml(为生成sqlMap.xml做准备) - Map cfTableMap = Maps.newHashMap(); + Map cfTableMap = Maps.newHashMap(); Map xmltableMap = Maps.newHashMap(); - Map cfSqlMap = Maps.newHashMap(); + Map cfSqlMap = Maps.newHashMap(); SAXReader saxReader = new SAXReader(); // ignore dtd @@ -85,7 +85,7 @@ public class DalgenLoader extends AbstractDalgenLoader { for (File tableFile : tablesFile.listFiles(new FileNameSelector("xml"))) { Document document = saxReader.read(tableFile); - DefaultElement tableElement = (DefaultElement)document.getRootElement(); + DefaultElement tableElement = (DefaultElement) document.getRootElement(); String tableName = StringUtils.upperCase(tableElement.attributeValue("sqlname")); @@ -119,13 +119,13 @@ public class DalgenLoader extends AbstractDalgenLoader { for (String tbName : needGenTableNames) { tableMap.put(StringUtils.upperCase(tbName), - tableRepository.gainTable(tbName, cfTableMap.get(tbName))); + tableRepository.gainTable(tbName, cfTableMap.get(tbName))); } //根据需要重新生成的表 准备数据 for (String tbName : needGenTableNames) { CfTable cfTable = cfTableMap.get(tbName); - Table table = tableMap.get(tbName); + Table table = tableMap.get(tbName); gen.addTable(table); //准备DO DO doClass = preDo(table, cfTable.getColumns()); @@ -146,7 +146,7 @@ public class DalgenLoader extends AbstractDalgenLoader { //preResultMap preResultMap(gen, tbName, cfTable, table, xmlMapper, tbColumMap, fileldsMap, - resultMaps); + resultMaps); xmlMapper.setSqlMap(cfTable.getSqlMap()); xmlMapper.setSqlContextMap(cfTable.getSqlContextMap()); @@ -200,7 +200,7 @@ public class DalgenLoader extends AbstractDalgenLoader { for (String pre : ConfigUtil.getCurrentDb().getTablePrefixs().keySet()) { //取最长的 if (StringUtils.startsWith(logicName, StringUtils.upperCase(pre)) && pre.length() > _pre - .length()) { + .length()) { _pre = pre; } @@ -208,7 +208,7 @@ public class DalgenLoader extends AbstractDalgenLoader { if (StringUtils.isNotBlank(_pre)) { //删除 or 替换 String toTableName = ConfigUtil.getCurrentDb().getTablePrefixs().get(_pre) - + StringUtils.substring(logicName, _pre.length()); + + StringUtils.substring(logicName, _pre.length()); className = CamelCaseUtils.toCapitalizeCamelCase(toTableName); } if (StringUtils.isBlank(className)) { @@ -217,7 +217,7 @@ public class DalgenLoader extends AbstractDalgenLoader { String relNameSpace = doMapper.getPackageName() + "." + className + "DOMapper"; cdata = cdata.replaceAll("refid=\"" + otTableRefid, - "refid=\"" + relNameSpace + "." + splits[1]); + "refid=\"" + relNameSpace + "." + splits[1]); } } cfOperation.setCdata(cdata); @@ -239,7 +239,7 @@ public class DalgenLoader extends AbstractDalgenLoader { } else { for (String tableName : Lists - .newArrayList(StringUtils.split(StringUtils.upperCase(cmd), ";"))) { + .newArrayList(StringUtils.split(StringUtils.upperCase(cmd), ";"))) { boolean flag = true; for (String splitTableSuffix : ConfigUtil.getConfig().getSplitTableSuffixs()) { if (StringUtils.endsWithIgnoreCase(tableName, splitTableSuffix)) { @@ -288,7 +288,7 @@ public class DalgenLoader extends AbstractDalgenLoader { //字段设置 for (CfColumn cfColumn : cfResultMap.getColumns()) { Validate.notEmpty(cfColumn.getName(), - tbName + "xml 配置有误 DalgenLoader.preResultMap Gen=" + gen); + tbName + "xml 配置有误 DalgenLoader.preResultMap Gen=" + gen); Column column = new Column(); column.setJavaName(CamelCaseUtils.toCamelCase(cfColumn.getName())); column.setJavaType(cfColumn.getJavatype()); @@ -297,9 +297,9 @@ public class DalgenLoader extends AbstractDalgenLoader { column.setTestVal(cfColumn.getTestVal()); String typeHandler = cfColumn.getTypeHandler(); - if(StringUtils.isBlank(typeHandler)){ + if (StringUtils.isBlank(typeHandler)) { Column columnByName = table.getColumnByName(column.getSqlName()); - if(columnByName!=null){ + if (columnByName != null) { typeHandler = columnByName.getTypeHandler(); } } @@ -309,7 +309,7 @@ public class DalgenLoader extends AbstractDalgenLoader { resultMap.addImport(cfColumn.getJavatype()); Filelds filelds = new Filelds(); filelds.setJavaType( - getClassAndImport(resultMap, column.getJavaType())); + getClassAndImport(resultMap, column.getJavaType())); filelds.setName(column.getJavaName()); filelds.setDesc(column.getRemarks()); filelds.setTestVal(cfColumn.getTestVal()); @@ -339,8 +339,8 @@ public class DalgenLoader extends AbstractDalgenLoader { */ private DAO preDAO(Gen gen, CfTable cfTable, Table table, DO doClass, Map resultMaps) { - DAO dao = new DAO(); - String daoNaming = ConfigUtil.getConfig().getExtParam("DaoNaming"); + DAO dao = new DAO(); + String daoNaming = ConfigUtil.getConfig().getExtParam("DaoNaming"); String daoClazzName = daoNaming.replace("[EntityName]", table.getJavaName()); dao.setClassName(daoClazzName); @@ -358,7 +358,7 @@ public class DalgenLoader extends AbstractDalgenLoader { for (CfOperation operation : cfTable.getOperations()) { preDAOMethod(doClass, resultMaps, dao, operation, columnTypeMap, - cfTable.getOperations()); + cfTable.getOperations()); } return dao; } @@ -397,9 +397,9 @@ public class DalgenLoader extends AbstractDalgenLoader { paging.setClassName(StringDalUtil.upperFirst(operation.getPaging()) + "Page"); paging.setPackageName(ConfigUtil.getCurrentDb().getGenPackage("paging")); - resultType = getClassAndImport(dao,paging.getPackageName() + "." + paging.getClassName()); + resultType = getClassAndImport(dao, paging.getPackageName() + "." + paging.getClassName()); DOMapperMethodParam param = new DOMapperMethodParam(resultType, - StringDalUtil.lowerFirst(operation.getPaging()), null); + StringDalUtil.lowerFirst(operation.getPaging()), null); method.setPagingFlag("true"); if (operation.getPagingCntType() == PagingCntTypeEnum.pagingCustom) { method.setPagingCustomFlag("true"); @@ -408,12 +408,12 @@ public class DalgenLoader extends AbstractDalgenLoader { method.addParam(param); } else { resultType = operationResultType(doClass, dao, operation, resultMaps); - resultType = preMethodParam(doClass, dao, operation, method, columnMap, null,resultType); + resultType = preMethodParam(doClass, dao, operation, method, columnMap, null, resultType); } method.setReturnClass(resultType); method.setListLimit(operation.getListLimit()); method.setBatch(operation.getBatch()); - if(operation.getMultiplicity()==MultiplicityEnum.cursor){ + if (operation.getMultiplicity() == MultiplicityEnum.cursor) { method.setCursor("true"); getClassAndImport(dao, "java.util.Map"); getClassAndImport(dao, "java.util.LinkedHashMap"); @@ -425,11 +425,11 @@ public class DalgenLoader extends AbstractDalgenLoader { method.setMapV(operation.getMapV()); method.setMapK(operation.getMapK()); method.setMapKType(getClassAndImport( - dao, trunColunType(operation.getMapK(), - resultMaps.get(operation.getResultmap()), columnMap))); + dao, trunColunType(operation.getMapK(), + resultMaps.get(operation.getResultmap()), columnMap))); method.setMapVType(getClassAndImport( - dao, trunColunType(operation.getMapV(), - resultMaps.get(operation.getResultmap()), columnMap))); + dao, trunColunType(operation.getMapV(), + resultMaps.get(operation.getResultmap()), columnMap))); getClassAndImport(dao, "java.util.Map"); getClassAndImport(dao, "java.util.Set"); getClassAndImport(dao, "java.util.List"); @@ -457,7 +457,7 @@ public class DalgenLoader extends AbstractDalgenLoader { } } if (resultMap == null || StringUtils.isBlank(result)) { - String columnType = columnMap.get(CamelCaseUtils.toCamelCase(columnName)); + String columnType = columnMap.get(CamelCaseUtils.toCamelCase(columnName)); String custJavaType = ConfigUtil.getConfig().getTypeMap().get(columnType); result = (StringUtils.isNotBlank(custJavaType) ? custJavaType : columnType); } @@ -477,13 +477,13 @@ public class DalgenLoader extends AbstractDalgenLoader { */ private DOMapper preDOMapper(Gen gen, CfTable cfTable, Table table, DO doClass, Map resultMaps) { - DOMapper doMapper = new DOMapper(); - String mapperInterfaceNaming = ConfigUtil.getConfig().getExtParam("MapperInterfaceNaming"); - String doMapperClazzName = mapperInterfaceNaming.replace("[EntityName]", table.getJavaName()); + DOMapper doMapper = new DOMapper(); + String mapperInterfaceNaming = ConfigUtil.getConfig().getExtParam("MapperInterfaceNaming"); + String doMapperClazzName = mapperInterfaceNaming.replace("[EntityName]", table.getJavaName()); doMapper.setClassName(doMapperClazzName); String xmlMapperNaming = ConfigUtil.getConfig().getExtParam("XMLMapperNaming"); - String xmlFileName = xmlMapperNaming.replace("[EntityName]", table.getJavaName()); + String xmlFileName = xmlMapperNaming.replace("[EntityName]", table.getJavaName()); doMapper.setXmlFileName(xmlFileName); doMapper.setPackageName(ConfigUtil.getCurrentDb().getGenPackage("mapper")); @@ -501,10 +501,10 @@ public class DalgenLoader extends AbstractDalgenLoader { for (CfOperation operation : cfTable.getOperations()) { if (operation.getMultiplicity() == MultiplicityEnum.paging) {//分页 prePagingMethod(gen, cfTable, table, doClass, resultMaps, doMapper, columnTypeMap, - columnDescMap, operation); + columnDescMap, operation); } else { preMethod(doClass, resultMaps, doMapper, operation, columnTypeMap, - cfTable.getOperations()); + cfTable.getOperations()); } } return doMapper; @@ -540,10 +540,10 @@ public class DalgenLoader extends AbstractDalgenLoader { paging.setPackageName(ConfigUtil.getCurrentDb().getGenPackage("paging")); String basePackage = ConfigUtil.getCurrentDb().getGenDalCommonPackage() + "." - + ConfigUtil.getCurrentDb().getSubPackage("paging"); + + ConfigUtil.getCurrentDb().getSubPackage("paging"); if (StringUtils.startsWith(ConfigUtil.getCurrentDb().getSubPackage("paging"), "/")) { basePackage = StringUtils.substring(ConfigUtil.getCurrentDb().getSubPackage("paging"), - 1); + 1); } paging.setBasePackageName(basePackage); @@ -570,7 +570,7 @@ public class DalgenLoader extends AbstractDalgenLoader { //方法返回结果 DOMapperMethodParam pagingParam = new DOMapperMethodParam(paging.getClassName(), - StringDalUtil.lowerFirst(operation.getPaging()), null); + StringDalUtil.lowerFirst(operation.getPaging()), null); pagingResultMethod.addParam(pagingParam); String resultType = operationResultType(doClass, doMapper, operation, resultMaps); @@ -579,8 +579,8 @@ public class DalgenLoader extends AbstractDalgenLoader { pagingResultMethod.setReturnClass("List<" + resultType + ">"); try { if (operation.getPagingCntType() != PagingCntTypeEnum.pagingCustom) { - DOMapperMethod pagingCountMethod = (DOMapperMethod)BeanUtils - .cloneBean(pagingResultMethod); + DOMapperMethod pagingCountMethod = (DOMapperMethod) BeanUtils + .cloneBean(pagingResultMethod); pagingCountMethod.setName(operation.getName() + "Count"); pagingCountMethod.setReturnClass("int"); doMapper.addMothed(pagingCountMethod); @@ -610,11 +610,11 @@ public class DalgenLoader extends AbstractDalgenLoader { method.setDesc(operation.getRemark()); method.setSql(operation.getSqlDesc()); String resultType = operationResultType(doClass, doMapper, operation, resultMaps); - resultType = preMethodParam(doClass, doMapper, operation, method, columnMap, cfOperations,resultType); + resultType = preMethodParam(doClass, doMapper, operation, method, columnMap, cfOperations, resultType); method.setReturnClass(resultType); method.setListLimit(operation.getListLimit()); method.setBatch(operation.getBatch()); - if(operation.getMultiplicity()==MultiplicityEnum.cursor){ + if (operation.getMultiplicity() == MultiplicityEnum.cursor) { method.setCursor("true"); } method.setKvMap(operation.getKvMap()); @@ -622,11 +622,11 @@ public class DalgenLoader extends AbstractDalgenLoader { method.setMapV(operation.getMapV()); method.setMapK(operation.getMapK()); method.setMapKType(getClassAndImport( - doMapper, trunColunType(operation.getMapK(), - resultMaps.get(operation.getResultmap()), columnMap))); + doMapper, trunColunType(operation.getMapK(), + resultMaps.get(operation.getResultmap()), columnMap))); method.setMapVType(getClassAndImport( - doMapper, trunColunType(operation.getMapV(), - resultMaps.get(operation.getResultmap()), columnMap))); + doMapper, trunColunType(operation.getMapV(), + resultMaps.get(operation.getResultmap()), columnMap))); getClassAndImport(doMapper, "java.util.Map"); getClassAndImport(doMapper, "java.util.List"); } @@ -644,8 +644,8 @@ public class DalgenLoader extends AbstractDalgenLoader { * @param columnMap the column map */ private String preMethodParam(DO doClass, Base doMapper, CfOperation operation, - DOMapperMethod method, Map columnMap, - List cfOperations,String resultType) { + DOMapperMethod method, Map columnMap, + List cfOperations, String resultType) { boolean isPagingCount = false; //判断是不是别的表的pagingCountSql if (CollectionUtils.isNotEmpty(cfOperations)) { @@ -653,8 +653,8 @@ public class DalgenLoader extends AbstractDalgenLoader { if (StringUtils.equals(cfOperation.getPagingCntOperation(), operation.getName())) { isPagingCount = true; method.addParam(new DOMapperMethodParam( - StringDalUtil.upperFirst(cfOperation.getPaging()) + "Page", - StringDalUtil.lowerFirst(cfOperation.getPaging()), null)); + StringDalUtil.upperFirst(cfOperation.getPaging()) + "Page", + StringDalUtil.lowerFirst(cfOperation.getPaging()), null)); break; } } @@ -662,25 +662,24 @@ public class DalgenLoader extends AbstractDalgenLoader { if (!isPagingCount) { if (operation.getParamType() == ParamTypeEnum.object) { method.addParam(new DOMapperMethodParam(getClassAndImport(doMapper, - doClass.getPackageName() + "." + doClass.getClassName()), - "entity", null)); + doClass.getPackageName() + "." + doClass.getClassName()), + "entity", null)); } else if (operation.getParamType() == ParamTypeEnum.objectList) { getClassAndImport(doMapper, doClass.getPackageName() + "." + doClass.getClassName()); getClassAndImport(doMapper, "java.util.List"); method.addParam(new DOMapperMethodParam("List<" + doClass.getClassName() + ">", - "list", null)); - } else if(operation.getParamType() == ParamTypeEnum.customParamClass){ - method.addParam(new DOMapperMethodParam(getClassAndImport(doMapper,operation.getParamClass()),"entity",null)); - }else { + "list", null)); + } else if (operation.getParamType() == ParamTypeEnum.customParamClass) { + method.addParam(new DOMapperMethodParam(getClassAndImport(doMapper, operation.getParamClass()), "entity", null)); + } else { method.setParams(preMethodParams(doMapper, operation, columnMap)); } -// if(operation.getResultSetType()!= ResultSetTypeEnum.DEFAULT) { -// -// getClassAndImport(doMapper, "org.apache.ibatis.session.ResultHandler"); -// method.addParam(new DOMapperMethodParam("ResultHandler<" + resultType + ">", -// "rsHandler", null)); -// resultType = "void"; -// } + if (operation.getResultSetType() != ResultSetTypeEnum.DEFAULT && operation.getMultiplicity()!= MultiplicityEnum.cursor) { + getClassAndImport(doMapper, "org.apache.ibatis.session.ResultHandler"); + method.addParam(new DOMapperMethodParam("ResultHandler<" + resultType + ">", + "rsHandler", null)); + resultType = "void"; + } } return resultType; } @@ -695,19 +694,19 @@ public class DalgenLoader extends AbstractDalgenLoader { */ private List preMethodParams(Base doMapper, CfOperation operation, Map columnMap) { - List params = Lists.newArrayList(); - List foreachTmp = Lists.newArrayList(); + List params = Lists.newArrayList(); + List foreachTmp = Lists.newArrayList(); for (Map.Entry pm : operation.getPrimitiveParams().entrySet()) { - String pmName = (String)pm.getKey(); - if(pmName.startsWith("dataPermissions")){ + String pmName = (String) pm.getKey(); + if (pmName.startsWith("dataPermissions")) { continue; } - String pmType = (String)pm.getValue(); + String pmType = (String) pm.getValue(); //如果是DO中的属性 则不需要在处理 DOMapperMethodParam methodParam = null; if (StringUtils.contains(pmName, ".") - || operation.getPrimitiveForeachOtherParams().containsKey("list_" + pmName)) { + || operation.getPrimitiveForeachOtherParams().containsKey("list_" + pmName)) { final String[] splits = StringUtils.split(pmName, "."); if (foreachTmp.contains(splits[0])) { continue; @@ -715,14 +714,14 @@ public class DalgenLoader extends AbstractDalgenLoader { foreachTmp.add(splits[0]); } List foreachName_javaType = operation.getPrimitiveForeachOtherParams() - .get("list_" + splits[0]); + .get("list_" + splits[0]); if (CollectionUtils.isNotEmpty(foreachName_javaType)) { String foreachJavaType = getClassAndImport(doMapper, foreachName_javaType.get(1)); getClassAndImport(doMapper, "java.util.List"); methodParam = new DOMapperMethodParam("List<" + foreachJavaType + ">", - foreachName_javaType.get(0), - operation.getPrimitiveParamTestVals().get(pmName)); + foreachName_javaType.get(0), + operation.getPrimitiveParamTestVals().get(pmName)); } } else { @@ -730,12 +729,12 @@ public class DalgenLoader extends AbstractDalgenLoader { if (StringUtils.startsWith(pmName, "old")) { String xpnName = pmName.substring(3); columnType = columnMap - .get(xpnName.substring(0, 1).toLowerCase() + xpnName.substring(1)); + .get(xpnName.substring(0, 1).toLowerCase() + xpnName.substring(1)); } TypeMapEnum typeMapEnum = TypeMapEnum.getByJdbcTypeWithOther(pmType); - String paramValType; + String paramValType; if (typeMapEnum == TypeMapEnum.OTHER) { paramValType = pmType; @@ -748,18 +747,18 @@ public class DalgenLoader extends AbstractDalgenLoader { String custJavaType = ConfigUtil.getConfig().getTypeMap().get(paramValType); String paramType = getClassAndImport(doMapper, - custJavaType == null ? paramValType : custJavaType); + custJavaType == null ? paramValType : custJavaType); String foreachName = operation.getPrimitiveForeachParams().get(pmName); if (StringUtils.isBlank(foreachName)) { methodParam = new DOMapperMethodParam(paramType, pmName, - operation.getPrimitiveParamTestVals().get(pmName)); + operation.getPrimitiveParamTestVals().get(pmName)); } else { if (!StringUtils.contains(foreachName, ".")) { getClassAndImport(doMapper, "java.util.List"); methodParam = new DOMapperMethodParam("List<" + paramType + ">", foreachName, - operation.getPrimitiveParamTestVals().get(pmName)); + operation.getPrimitiveParamTestVals().get(pmName)); } } } @@ -783,8 +782,8 @@ public class DalgenLoader extends AbstractDalgenLoader { Map resultMaps) { if (StringUtils.startsWithIgnoreCase(operation.getName(), "insert") - || StringUtils.startsWithIgnoreCase(operation.getName(), "update") - || StringUtils.startsWithIgnoreCase(operation.getName(), "delete")) { + || StringUtils.startsWithIgnoreCase(operation.getName(), "update") + || StringUtils.startsWithIgnoreCase(operation.getName(), "delete")) { if (StringUtils.isNotBlank(ConfigUtil.getConfig().getExtParam("IUD"))) { return ConfigUtil.getConfig().getExtParam("IUD"); } @@ -795,20 +794,20 @@ public class DalgenLoader extends AbstractDalgenLoader { if (!StringUtils.isBlank(operation.getResulttype())) { resultType = getClassAndImport(base, operation.getResulttype()); } else if (!StringUtils.isBlank(operation.getResultmap()) && !StringUtils.equals(operation.getResultmap(), - "BaseResultMap")) { + "BaseResultMap")) { ResultMap resultMap = resultMaps.get(operation.getResultmap()); Validate.notNull(resultMap, "DalgenLoader.operationResultType 自定义ResultMap出错 table = " - + doClass.getTableName() + " DO=" + doClass); + + doClass.getTableName() + " DO=" + doClass); resultType = getClassAndImport(base, - resultMap.getPackageName() + "." + resultMap.getClassName()); + resultMap.getPackageName() + "." + resultMap.getClassName()); } else { resultType = getClassAndImport(base, - doClass.getPackageName() + "." + doClass.getClassName()); + doClass.getPackageName() + "." + doClass.getClassName()); } //返回一行 if (MultiplicityEnum.many == operation.getMultiplicity()) { - if(operation.getResultSetType()==ResultSetTypeEnum.DEFAULT) { + if (operation.getResultSetType() == ResultSetTypeEnum.DEFAULT) { base.addImport("java.util.List"); return MessageFormat.format(RESULT_MANY, resultType); } @@ -829,9 +828,9 @@ public class DalgenLoader extends AbstractDalgenLoader { * @return the do */ private DO preDo(Table table, List cfColumns) { - DO doClass = new DO(); + DO doClass = new DO(); String entityNaming = ConfigUtil.getConfig().getExtParam("EntityNaming"); - String doClazzName = entityNaming.replace("[EntityName]", table.getJavaName()); + String doClazzName = entityNaming.replace("[EntityName]", table.getJavaName()); doClass.setClassName(doClazzName); doClass.setPackageName(ConfigUtil.getCurrentDb().getGenPackage("dataobject")); @@ -855,7 +854,7 @@ public class DalgenLoader extends AbstractDalgenLoader { filelds.setSqlName(column.getSqlName()); filelds.setTestVal(column.getTestVal()); filelds.setJavaType( - getClassAndImport(doClass, column.getJavaType())); + getClassAndImport(doClass, column.getJavaType())); doClass.addFields(filelds); } } diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 3fba86d..bc5ef18 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -29,22 +29,22 @@ - - - - - - - - - + + + + + + + + + + <!– true false –> - +
--> diff --git a/src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml b/src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml deleted file mode 100644 index a7b87d8..0000000 --- a/src/main/resources/dalgen/configTables/ABS_DATA_CHECK.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - SELECT - a.own_org,c.LENDER_ORG_CODE - ,nvl(b.fk_cnt,0)fk_cnt,nvl(b.fk_amt,0)fk_amt - ,c.repay_cnt,c.prin_amt,c.intr_amt,c.prin_penal_amt,c.paid_intr_fund_amt,c.paid_prin_penal_fund_amt,c.clrg_amt - ,e.ast_cnt,e.ast_prin_bal,e.ast_intr_bal,e.ast_prin_penal_bal,c.intr_penal_amt,c.paid_intr_penal_fund_amt - FROM - ( - SELECT - plan_no as own_org,plan_type - FROM - abs_plan - WHERE - plan_no in - - #{planNo,jdbcType=VARCHAR} - - and - status IN ('ONGOING','EXPIRED') - ) a - left join - (-- 放款信息 - SELECT - LENDER_ORG_CODE, - COUNT(DISTINCT(out_ast_no)) fk_cnt , -- fk_cnt - SUM(prin_amt) fk_amt -- fk_amt - FROM - abs_loan_trans_info - WHERE - account_date = trunc(#{acctDate,jdbcType=DATE})-1 - AND - MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} - AND - trans_code = 'AST0001' - AND - LENDER_ORG_CODE in - - #{planNo,jdbcType=VARCHAR} - - GROUP BY LENDER_ORG_CODE - )b - on a.own_org = b.LENDER_ORG_CODE - left join - ( - -- 获取所有还款 - SELECT - LENDER_ORG_CODE, -- 机构 - COUNT(DISTINCT(out_ast_no)) repay_cnt,--笔数 - SUM(prin_amt) prin_amt,--本金 - SUM(intr_amt) intr_amt,--利息 - SUM(prin_penal_amt) prin_penal_amt,--罚息 - SUM(intr_penal_amt) intr_penal_amt,--罚息 - SUM(paid_intr_fund_amt) paid_intr_fund_amt,--五矿实收利息 - SUM(paid_prin_penal_fund_amt) paid_prin_penal_fund_amt,--五矿实收罚息 - SUM(paid_intr_penal_fund_amt) paid_intr_penal_fund_amt,--五矿实收罚息 - SUM(clrg_amt) clrg_amt--清算金额 - FROM - abs_loan_instal_trans_info - WHERE - account_date = trunc(#{acctDate,jdbcType=DATE})-1 - AND - MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} - AND - trans_code = 'AST0003' - AND - LENDER_ORG_CODE in - - #{planNo,jdbcType=VARCHAR} - - GROUP BY LENDER_ORG_CODE - ) c - on a.own_org = c.LENDER_ORG_CODE - left join - ( - SELECT - LENDER_ORG_CODE - ,COUNT(DISTINCT(out_ast_no)) ast_cnt, - SUM(prin_bal+OVD_PRIN_BAL) ast_prin_bal, --本金 - SUM(intr_bal+OVD_INTR_BAL) ast_intr_bal, --利息 - SUM(prin_penal_bal+INTR_PENAL_BAL) ast_prin_penal_bal --罚息 - from - ABS_LOAN - WHERE - MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} - AND - STATUS IN ('nor','ovd') AND WTF_STATUS = 'N' - AND - LENDER_ORG_CODE in - - #{planNo,jdbcType=VARCHAR} - - group by LENDER_ORG_CODE - )e - on a.own_org = e.LENDER_ORG_CODE - order by a.plan_type desc,a.own_org - -
\ No newline at end of file diff --git a/src/main/resources/dalgen/configTables/BATCH_USER_CTR.xml b/src/main/resources/dalgen/configTables/BATCH_USER_CTR.xml new file mode 100644 index 0000000..51c462f --- /dev/null +++ b/src/main/resources/dalgen/configTables/BATCH_USER_CTR.xml @@ -0,0 +1,194 @@ + + + + + + group_id,exec_times,retry_times,memo,user_id + ,org_code,last_host,task_status,acct_date,gmt_create + ,gmt_modified,last_exec_time,next_exec_time + + + + + sf.group_id,sf.exec_times,sf.retry_times,sf.memo,sf.user_id + ,sf.org_code,sf.last_host,sf.task_status,sf.acct_date,sf.gmt_create + ,sf.gmt_modified,sf.last_exec_time,sf.next_exec_time + + + + + + + + SELECT count(1)c + FROM batch_user_ctr + WHERE + + + AND last_host = #{hostName,jdbcType=VARCHAR} + + limit 1 + + + + SELECT * + FROM batch_user_ctr + WHERE + + + AND last_host = #{hostName,jdbcType=VARCHAR} + + limit #{limitSize,jdbcType=BIGINT} + + + SELECT * + FROM batch_user_ctr + WHERE + + + AND last_host = #{hostName,jdbcType=VARCHAR} + + limit #{limitSize,jdbcType=BIGINT} + + + + + update + ( + + SELECT #{item.userId,jdbcType=VARCHAR} user_id, #{item.orgCode,jdbcType=VARCHAR} org_code, 'init' task_status ,#{item.lastHost,jdbcType=VARCHAR} last_host + FROM dual + + ) t + join batch_user_ctr u + on ( u.org_code = t.org_code AND u.user_id = t.user_id and u.task_status=t.task_status) + set + u.last_host = u.last_host + ,u.exec_times = u.exec_times + 1 + ,u.task_status = 'exec' + ,last_exec_time = next_exec_time + ,u.gmt_modified = now() + + + + + + + + + update + ( + + SELECT #{item.userId,jdbcType=VARCHAR} user_id, #{item.orgCode,jdbcType=VARCHAR} org_code, #{item.taskStatus,jdbcType=VARCHAR} task_status,'exec' old_task_status , #{item.memo,jdbcType=VARCHAR} memo + FROM dual + + ) t + join batch_user_ctr u + on ( u.org_code = t.org_code AND u.user_id = t.user_id and u.task_status= t.old_task_status) + set + u.task_status = t.task_status + ,u.memo = t.memo + ,u.gmt_modified = now() + + + + + + + + + + + update + ( + + SELECT #{item.userId,jdbcType=VARCHAR} user_id, #{item.orgCode,jdbcType=VARCHAR} org_code, #{item.taskStatus,jdbcType=VARCHAR} task_status + FROM dual + + ) t + + +
diff --git a/src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml b/src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml deleted file mode 100644 index 26d14ad..0000000 --- a/src/main/resources/dalgen/configTables/SIMU_PLAN_FEE_STRUCTURE_TEMPLATE.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - ID,FEE_RATE,FIXED_FEE_AMOUNT,PLAN_ALLOCATE_ATTR_TEMPLATE,CCY - ,ACT_TYPE,CREATOR,MODIFIER,TEMPLATE_NO,TEMPLATE_NAME - ,CALCULATE_TYPE,PLAN_TEMPLATE_NO,CALCULATE_SCALE_TYPE,FEE_TEMPLATE_NO_PREFIX,FEE_TEMPLATE_NAME_PREFIX - ,GMT_CREATE,GMT_MODIFIED - - - - - sf.ID,sf.FEE_RATE,sf.FIXED_FEE_AMOUNT,sf.PLAN_ALLOCATE_ATTR_TEMPLATE,sf.CCY - ,sf.ACT_TYPE,sf.CREATOR,sf.MODIFIER,sf.TEMPLATE_NO,sf.TEMPLATE_NAME - ,sf.CALCULATE_TYPE,sf.PLAN_TEMPLATE_NO,sf.CALCULATE_SCALE_TYPE,sf.FEE_TEMPLATE_NO_PREFIX,sf.FEE_TEMPLATE_NAME_PREFIX - ,sf.GMT_CREATE,sf.GMT_MODIFIED - - - - - - - - - - INSERT INTO SIMU_PLAN_FEE_STRUCTURE_TEMPLATE( - ID - ,FEE_RATE - ,FIXED_FEE_AMOUNT - ,PLAN_ALLOCATE_ATTR_TEMPLATE - ,CCY - ,ACT_TYPE - ,CREATOR - ,MODIFIER - ,TEMPLATE_NO - ,TEMPLATE_NAME - ,CALCULATE_TYPE - ,PLAN_TEMPLATE_NO - ,CALCULATE_SCALE_TYPE - ,FEE_TEMPLATE_NO_PREFIX - ,FEE_TEMPLATE_NAME_PREFIX - ,GMT_CREATE - ,GMT_MODIFIED - )VALUES - - ( - null - , #{item.feeRate,jdbcType=BIGINT} - , #{item.fixedFeeAmount,jdbcType=BIGINT} - , #{item.planAllocateAttrTemplate,jdbcType=VARCHAR} - , #{item.ccy,jdbcType=VARCHAR} - , #{item.actType,jdbcType=VARCHAR} - , #{item.creator,jdbcType=VARCHAR} - , #{item.modifier,jdbcType=VARCHAR} - , #{item.templateNo,jdbcType=VARCHAR} - , #{item.templateName,jdbcType=VARCHAR} - , #{item.calculateType,jdbcType=VARCHAR} - , #{item.planTemplateNo,jdbcType=VARCHAR} - , #{item.calculateScaleType,jdbcType=VARCHAR} - , #{item.feeTemplateNoPrefix,jdbcType=VARCHAR} - , #{item.feeTemplateNamePrefix,jdbcType=VARCHAR} - , now() - , now() - ) - - - - - - - - - - SELECT * - FROM SIMU_PLAN_FEE_STRUCTURE_TEMPLATE - WHERE - - - -
diff --git a/src/main/resources/dalgen/configTables/SIMU_PROD.xml b/src/main/resources/dalgen/configTables/SIMU_PROD.xml deleted file mode 100644 index 836a74e..0000000 --- a/src/main/resources/dalgen/configTables/SIMU_PROD.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - ID,CREATOR,MODIFIER,PROD_CODE,PROD_NAME - ,GMT_CREATE,GMT_MODIFY - - - - - sf.ID,sf.CREATOR,sf.MODIFIER,sf.PROD_CODE,sf.PROD_NAME - ,sf.GMT_CREATE,sf.GMT_MODIFY - - - - - - - - - - INSERT INTO SIMU_PROD( - ID - ,CREATOR - ,MODIFIER - ,PROD_CODE - ,PROD_NAME - ,GMT_CREATE - ,GMT_MODIFY - )VALUES - - ( - null - , #{item.creator,jdbcType=VARCHAR} - , #{item.modifier,jdbcType=VARCHAR} - , #{item.prodCode,jdbcType=VARCHAR} - , #{item.prodName,jdbcType=VARCHAR} - , now() - , #{item.gmtModify,jdbcType=TIMESTAMP} - ) - - - - - - - - - - - - - - - - - SELECT * - FROM SIMU_PROD - WHERE - - - - - - - - - - - - - - SELECT * - FROM SIMU_PROD - WHERE - - - -
diff --git a/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml b/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml deleted file mode 100644 index e369757..0000000 --- a/src/main/resources/dalgen/configTables/SIMU_PROD_ATTR.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - ID,OVERDUE_STAT,ASSET_CLASS_DEF,OVERDUE_REPAY_STAT,REDEPTION_ALL_STAT - ,REDEMPTION_TERM_STAT,CREATOR,MODIFIER,PROD_CODE,GMT_CREATE - ,GMT_MODIFIED - - - - - sf.ID,sf.OVERDUE_STAT,sf.ASSET_CLASS_DEF,sf.OVERDUE_REPAY_STAT,sf.REDEPTION_ALL_STAT - ,sf.REDEMPTION_TERM_STAT,sf.CREATOR,sf.MODIFIER,sf.PROD_CODE,sf.GMT_CREATE - ,sf.GMT_MODIFIED - - - - - - - - - - INSERT INTO SIMU_PROD_ATTR( - ID - ,OVERDUE_STAT - ,ASSET_CLASS_DEF - ,OVERDUE_REPAY_STAT - ,REDEPTION_ALL_STAT - ,REDEMPTION_TERM_STAT - ,CREATOR - ,MODIFIER - ,PROD_CODE - ,GMT_CREATE - ,GMT_MODIFIED - )VALUES - - ( - null - , #{item.overdueStat,jdbcType=OTHER} - , #{item.assetClassDef,jdbcType=OTHER} - , #{item.overdueRepayStat,jdbcType=OTHER} - , #{item.redeptionAllStat,jdbcType=OTHER} - , #{item.redemptionTermStat,jdbcType=OTHER} - , #{item.creator,jdbcType=VARCHAR} - , #{item.modifier,jdbcType=VARCHAR} - , #{item.prodCode,jdbcType=VARCHAR} - , now() - , now() - ) - - - - - - - - - - SELECT * - FROM SIMU_PROD_ATTR - WHERE - - - - - - - - - - - - - - SELECT * - FROM SIMU_PROD_ATTR - WHERE - - - -
diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index aecc32c..34ee6ac 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("ABS_DATA_CHECK"); + ConfigUtil.setCmd("BATCH_USER_CTR"); } catch (IOException e) { LOG.error(e); } -- Gitee From 8f2ae23184dace5e1147806613b6a8d15ae0d7a7 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 25 Jul 2023 13:16:09 +0800 Subject: [PATCH 32/44] =?UTF-8?q?=E6=B5=81=E5=BC=8F=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../mybatis/gen/dataloaders/DalgenLoader.java | 13 +++++++++++++ .../gen/model/java/domapper/DOMapperMethod.java | 9 +++++++++ .../dalgen/templates/dalgen/DAO.java.ftl | 15 +++++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e6166ef..908575f 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.3.8 + 2.4.1 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 99f066f..69d36bf 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -419,6 +419,15 @@ public class DalgenLoader extends AbstractDalgenLoader { getClassAndImport(dao, "java.util.LinkedHashMap"); getClassAndImport(dao, "org.mybatis.spring.batch.MyBatisCursorItemReader"); getClassAndImport(dao, "org.apache.ibatis.session.SqlSessionFactory"); + }else { + if(operation.getMultiplicity() == MultiplicityEnum.many && operation.getResultSetType()==ResultSetTypeEnum.FORWARD_ONLY){ + method.setStream("true"); + getClassAndImport(dao, "java.util.Map"); + getClassAndImport(dao, "java.util.LinkedHashMap"); + getClassAndImport(dao, "java.util.function.Function"); + getClassAndImport(dao, "com.abssqr.middleware.dispatcher.stream.reader.MyBatisStreamItemReader"); + getClassAndImport(dao, "org.apache.ibatis.session.SqlSessionFactory"); + } } method.setKvMap(operation.getKvMap()); if (!StringUtils.equals(method.getKvMap(), "false")) { @@ -616,6 +625,10 @@ public class DalgenLoader extends AbstractDalgenLoader { method.setBatch(operation.getBatch()); if (operation.getMultiplicity() == MultiplicityEnum.cursor) { method.setCursor("true"); + }else{ + if(operation.getMultiplicity() == MultiplicityEnum.many && operation.getResultSetType()==ResultSetTypeEnum.FORWARD_ONLY){ + method.setStream("true"); + } } method.setKvMap(operation.getKvMap()); if (!StringUtils.equals(method.getKvMap(), "false")) { diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java index 21670c0..0685efa 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java @@ -72,6 +72,7 @@ public class DOMapperMethod implements Cloneable { private String batch; private String cursor="false"; + private String stream="false"; public String getCursor() { return cursor; @@ -81,6 +82,14 @@ public class DOMapperMethod implements Cloneable { this.cursor = cursor; } + public String getStream() { + return stream; + } + + public void setStream(String stream) { + this.stream = stream; + } + public String getBatch() { return batch; } diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index 8852469..9a579fb 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -46,6 +46,21 @@ public class ${dao.className}{ return reader; } + <#if method.stream?? && method.stream=="true"> + public MyBatisStreamItemReader ${method.name}StreamReader(<#list method.params as param><#if param_index gt 0>,<#if param_index !=method.params?size-1> ${param.paramType!} ${param.param}Function function){ + MyBatisStreamItemReader reader = new MyBatisStreamItemReader<>(function); + Map${"<"}String,Object${">"} map = new LinkedHashMap<>(); + <#list method.params as param> + <#if !param.paramType?starts_with("ResultHandler")> + map.put("${param.param}",${param.param}); + + + reader.setQueryId("${dao.doMapper.packageName}.${dao.doMapper.className}.${method.name}"); + reader.setSqlSessionFactory(sqlSessionFactory); + reader.setParameterValues(map); + return reader; + } + <#-- 预编译模式批量插入更新 --> <#if method.batch?? && method.batch=="true"> <#assign p=method.params?first> -- Gitee From e10a49461a293e8c1f4184debcdde4120ffe375a Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Fri, 11 Aug 2023 16:44:31 +0800 Subject: [PATCH 33/44] =?UTF-8?q?=E6=B5=81=E5=BC=8F=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../mybatis/gen/model/dbtable/Column.java | 2 +- src/main/resources/dalgen/config/config.xml | 10 +- .../configTables/CREDIT_REPORT_ENTITY.xml | 147 ++++++++++++++++++ .../dalgen/templates/init/initTableXml.ftl | 2 + .../resources/dalgen/templates/lib/macro.ftl | 29 ++++ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 7 files changed, 186 insertions(+), 8 deletions(-) create mode 100644 src/main/resources/dalgen/configTables/CREDIT_REPORT_ENTITY.xml diff --git a/pom.xml b/pom.xml index 908575f..a8b3a49 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.4.1 + 2.4.2 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/dbtable/Column.java b/src/main/java/cn/dalgen/mybatis/gen/model/dbtable/Column.java index f787cde..0b25466 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/dbtable/Column.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/dbtable/Column.java @@ -60,7 +60,7 @@ public class Column implements Comparable { /** * Gets remarks. - * + * du --max-depth=1 -h * @return the remarks */ public String getRemarks() { diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index bc5ef18..81affb9 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -29,11 +29,11 @@ - - - - - + + + + + diff --git a/src/main/resources/dalgen/configTables/CREDIT_REPORT_ENTITY.xml b/src/main/resources/dalgen/configTables/CREDIT_REPORT_ENTITY.xml new file mode 100644 index 0000000..8b98598 --- /dev/null +++ b/src/main/resources/dalgen/configTables/CREDIT_REPORT_ENTITY.xml @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + id,scene_id,provider_id,prod_no,org_code + ,event_code,account_date,amt,intr_amt,pnlt_amt + ,prin_amt,pay_fee_amt,pool_id,gmt_create + + + + + sf.id,sf.scene_id,sf.provider_id,sf.prod_no,sf.org_code + ,sf.event_code,sf.account_date,sf.amt,sf.intr_amt,sf.pnlt_amt + ,sf.prin_amt,sf.pay_fee_amt,sf.pool_id,sf.gmt_create + + + + + + INSERT INTO credit_report_entity( + scene_id + ,provider_id + ,prod_no + ,org_code + ,event_code + ,account_date + ,amt + ,intr_amt + ,pnlt_amt + ,prin_amt + ,pay_fee_amt + ,pool_id + ,gmt_create + )VALUES + + ( + #{item.sceneId,jdbcType=BIGINT} + , #{item.providerId,jdbcType=BIGINT} + , #{item.prodNo,jdbcType=VARCHAR} + , #{item.orgCode,jdbcType=VARCHAR} + , #{item.eventCode,jdbcType=VARCHAR} + , #{item.accountDate,jdbcType=DATE} + , #{item.amt,jdbcType=DECIMAL} + , #{item.intrAmt,jdbcType=DECIMAL} + , #{item.pnltAmt,jdbcType=DECIMAL} + , #{item.prinAmt,jdbcType=DECIMAL} + , #{item.payFeeAmt,jdbcType=DECIMAL} + , #{item.poolId,jdbcType=VARCHAR} + , #{item.gmtCreate,jdbcType=DATE} + ) + + + + + + + + + + + + + + + + + + + + + + + + + + select * + from credit_report_entity + where + org_code = #{orgCode,jdbcType=VARCHAR} + AND account_date = #{accountDate,jdbcType=DATE} + AND event_code = #{eventCode,jdbcType=VARCHAR} + + + + + + + + + + + +
diff --git a/src/main/resources/dalgen/templates/init/initTableXml.ftl b/src/main/resources/dalgen/templates/init/initTableXml.ftl index fea4f8b..80ebb1f 100644 --- a/src/main/resources/dalgen/templates/init/initTableXml.ftl +++ b/src/main/resources/dalgen/templates/init/initTableXml.ftl @@ -24,6 +24,8 @@ <@m.oracleUpdateBatchMethod table/> + <@m.oracleUpdateBatchMethodUK table/> + <@m.mysqlUpdateBatchMethod table/> <#if table.primaryKeys??> diff --git a/src/main/resources/dalgen/templates/lib/macro.ftl b/src/main/resources/dalgen/templates/lib/macro.ftl index 1c545aa..bc6e801 100644 --- a/src/main/resources/dalgen/templates/lib/macro.ftl +++ b/src/main/resources/dalgen/templates/lib/macro.ftl @@ -75,6 +75,7 @@ + <#macro oracleUpdateBatchMethod table> <#if dalgen.dbType?lower_case=="oracle" && table.primaryKeys??> @@ -102,6 +103,34 @@ +<#macro oracleUpdateBatchMethodUK table> + <#if dalgen.dbType?lower_case=="oracle" && table.uniqueIndexs?? && table.uniqueIndexs?size gt 0> + <#assign uniqueIndex = table.uniqueIndexs?first/> + + merge into ${table.sqlName} u + using + ( + + SELECT <#list table.columnList as column><#if column_index gt 0>, <#if dalgen.dbType?upper_case=="ORACLE" && column.sqlName?upper_case == "ID">SEQ_${table.sqlName?upper_case}.nextval <#else>${lib.insertVal(column,dalgen)} ${column.sqlName} + FROM dual + + ) t + on (<#list uniqueIndex.columnList as column> <#if column_index gt 0>AND u.${column.sqlName} = t.${column.sqlName} ) + when matched then + update set + <#list table.columnList as column> + <#if column_index gt 0>,u.${column.sqlName} = t.${column.sqlName} + + when not matched then + insert ( + <#list table.columnList as column><#if column_index gt 0>,${column.sqlName}) + VALUES( + <#list table.columnList as column><#if column_index gt 0>,t.${column.sqlName} + ) + + + <#macro insertBatchMethod table> <#if dalgen.dbType?lower_case=="oracle"> diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index 34ee6ac..9cf91ca 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("BATCH_USER_CTR"); + ConfigUtil.setCmd("CREDIT_REPORT_ENTITY"); } catch (IOException e) { LOG.error(e); } -- Gitee From 20a958c7769c4a7e55ed6363174b9ca65dc43935 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Mon, 21 Aug 2023 18:13:53 +0800 Subject: [PATCH 34/44] =?UTF-8?q?=E5=88=86=E8=A1=A8=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../dalgen/mybatis/gen/dataloaders/DalgenLoader.java | 10 ++++++++++ .../dalgen/mybatis/gen/model/config/CfOperation.java | 12 ++++++++++++ .../gen/model/repository/CfTableRepository.java | 1 + .../resources/dalgen/templates/dalgen/DAO.java.ftl | 6 +++--- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index a8b3a49..6b988e2 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.4.2 + 2.4.3 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 69d36bf..8ca7059 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -677,11 +677,21 @@ public class DalgenLoader extends AbstractDalgenLoader { method.addParam(new DOMapperMethodParam(getClassAndImport(doMapper, doClass.getPackageName() + "." + doClass.getClassName()), "entity", null)); + if(MapUtils.isNotEmpty(operation.getExtraparamsParams())){ + for (String _attr : operation.getExtraparamsParams().keySet()) { + method.addParam(new DOMapperMethodParam( operation.getExtraparamsParams().get(_attr),_attr,"")); + } + } } else if (operation.getParamType() == ParamTypeEnum.objectList) { getClassAndImport(doMapper, doClass.getPackageName() + "." + doClass.getClassName()); getClassAndImport(doMapper, "java.util.List"); method.addParam(new DOMapperMethodParam("List<" + doClass.getClassName() + ">", "list", null)); + if(MapUtils.isNotEmpty(operation.getExtraparamsParams())){ + for (String _attr : operation.getExtraparamsParams().keySet()) { + method.addParam(new DOMapperMethodParam( operation.getExtraparamsParams().get(_attr),_attr,"")); + } + } } else if (operation.getParamType() == ParamTypeEnum.customParamClass) { method.addParam(new DOMapperMethodParam(getClassAndImport(doMapper, operation.getParamClass()), "entity", null)); } else { diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java index 7b8a6ad..fd221bf 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java @@ -104,6 +104,10 @@ public class CfOperation { * The Primitive params. */ private Map primitiveParams = Maps.newLinkedHashMap(); + /** + * The Primitive params. + */ + private Map extraparamsParams = Maps.newLinkedHashMap(); /** * The Primitive params. */ @@ -305,6 +309,14 @@ public class CfOperation { this.primitiveParams.put(attr, type); } + public Map getExtraparamsParams() { + return extraparamsParams; + } + + public void addExtraparamsParam(String attr, String type) { + this.extraparamsParams.put(attr, type); + } + public Map getPrimitiveParamTestVals() { return primitiveParamTestVals; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java index aeb8240..22ed2e4 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java @@ -411,6 +411,7 @@ public class CfTableRepository { for (Element param : params) { final String name = attr(param, "name"); cfOperation.addPrimitiveParam(name, attr(param, "javatype")); + cfOperation.addExtraparamsParam(name, attr(param, "javatype")); String testVal = attr(param, "testVal"); if (StringUtils.isNotBlank(testVal)) { cfOperation.addPrimitiveParamTestVal(name, testVal); diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index 9a579fb..0c3dd2a 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -191,13 +191,13 @@ public class ${dao.className}{ int cnt = 0; if(list!=null && list.size()>0){ if(list.size()>${updateBatchSize}){ - <#list method.params as param><#if param_index = 0><#assign ptype =param.paramType/> + <#list method.params as param><#if param.param = "list"><#assign ptype =param.paramType/> List<${ptype}> partition = Lists.partition(list, ${updateBatchSize}); for (${ptype} _list : partition) { - cnt += ${dao.doMapper.className?uncap_first}.${method.name}(_list); + cnt += ${dao.doMapper.className?uncap_first}.${method.name}(<#list method.params as param><#if param_index !=0>,<#if param.param = "list">_list<#else >${param.param}); } }else{ - cnt += ${dao.doMapper.className?uncap_first}.${method.name}(list); + cnt += ${dao.doMapper.className?uncap_first}.${method.name}(<#list method.params as param><#if param_index !=0>,${param.param}); } } return cnt; -- Gitee From f6b8ebc89c49d02493e10b9850b34e5ab4f5e3cb Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 22 Aug 2023 19:34:42 +0800 Subject: [PATCH 35/44] =?UTF-8?q?=E5=88=86=E8=A1=A8=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../gen/dataloaders/AbstractDalgenLoader.java | 1 + .../mybatis/gen/dataloaders/DalgenLoader.java | 4 +- .../dalgen/mybatis/gen/utils/ConfigUtil.java | 4 + src/main/resources/dalgen/config/config.xml | 1 - .../dalgen/configTables/CREDIT_LOAN_STAT.xml | 187 ++++++++++++++++++ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 7 files changed, 197 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/dalgen/configTables/CREDIT_LOAN_STAT.xml diff --git a/pom.xml b/pom.xml index 6b988e2..2d084d6 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.4.3 + 2.4.4 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java index f25639c..aa118ce 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java @@ -72,6 +72,7 @@ public abstract class AbstractDalgenLoader implements DataLoader { * @return the string */ protected String file2DbName(File tableFile) { + return StringUtils.upperCase(StringUtils.substring(tableFile.getName(), 0, tableFile .getName().indexOf("."))); } diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 8ca7059..8bb4d9f 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -236,8 +236,10 @@ public class DalgenLoader extends AbstractDalgenLoader { List needGenTableNames = Lists.newArrayList(); if (StringUtils.equals(StringUtils.trim(cmd), "*")) { needGenTableNames = Lists.newArrayList(cfTableMap.keySet()); + for (String tableName : cfTableMap.keySet()) { + needGenTableNames.add(cfTableMap.get(tableName).getPhysicalName()); + } } else { - for (String tableName : Lists .newArrayList(StringUtils.split(StringUtils.upperCase(cmd), ";"))) { boolean flag = true; diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java index 4a21f95..43d0533 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java @@ -217,6 +217,10 @@ public class ConfigUtil { sb.append(","); } sb.append("'").append(needGenTableNames.get(i)).append("'"); + for (String splitTableSuffix : getConfig().getSplitTableSuffixs()) { + sb.append(","); + sb.append("'").append(needGenTableNames.get(i)+splitTableSuffix).append("'"); + } } return sb.toString(); } diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 81affb9..988e6e6 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -33,7 +33,6 @@ -
diff --git a/src/main/resources/dalgen/configTables/CREDIT_LOAN_STAT.xml b/src/main/resources/dalgen/configTables/CREDIT_LOAN_STAT.xml new file mode 100644 index 0000000..7821717 --- /dev/null +++ b/src/main/resources/dalgen/configTables/CREDIT_LOAN_STAT.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + disb_amt,paid_int_amt,paid_prin_amt,paid_ovd_int_amt + ,trans_in_int_amt,paid_ovd_prin_amt,pre_repay_fee_amt,trans_in_cost_amt,trans_in_prin_amt + ,trans_out_int_amt,trans_out_cost_amt,trans_out_prin_amt,paid_ovd_int_pnlt_amt,paid_ovd_prin_pnlt_amt + ,trans_in_ovd_int_pnlt_amt,intr_transfer_in_prin_amt,trans_in_ovd_prin_pnlt_amt,trans_out_ovd_int_pnlt_amt,intr_transfer_out_prin_amt + ,trans_out_ovd_prin_pnlt_amt,user_id,org_code,loan_ast_no,last_disb_date + ,first_disb_date,last_repay_date,first_repay_date,last_trans_in_date,first_trans_in_date + ,last_trans_out_date,first_trans_out_date,year_rate,total_fee_rate,gmt_modified + + + + + sf.disb_amt,sf.paid_int_amt,sf.paid_prin_amt,sf.paid_ovd_int_amt + ,sf.trans_in_int_amt,sf.paid_ovd_prin_amt,sf.pre_repay_fee_amt,sf.trans_in_cost_amt,sf.trans_in_prin_amt + ,sf.trans_out_int_amt,sf.trans_out_cost_amt,sf.trans_out_prin_amt,sf.paid_ovd_int_pnlt_amt,sf.paid_ovd_prin_pnlt_amt + ,sf.trans_in_ovd_int_pnlt_amt,sf.intr_transfer_in_prin_amt,sf.trans_in_ovd_prin_pnlt_amt,sf.trans_out_ovd_int_pnlt_amt,sf.intr_transfer_out_prin_amt + ,sf.trans_out_ovd_prin_pnlt_amt,sf.user_id,sf.org_code,sf.loan_ast_no,sf.last_disb_date + ,sf.first_disb_date,sf.last_repay_date,sf.first_repay_date,sf.last_trans_in_date,sf.first_trans_in_date + ,sf.last_trans_out_date,sf.first_trans_out_date,sf.year_rate,sf.total_fee_rate,sf.gmt_modified + + + + + + + + merge into credit_loan_stat_${subTable} u + using + ( + + SELECT #{disbAmt,jdbcType=DECIMAL} disb_amt, #{paidIntAmt,jdbcType=DECIMAL} paid_int_amt, #{paidPrinAmt,jdbcType=DECIMAL} paid_prin_amt, #{paidOvdIntAmt,jdbcType=DECIMAL} paid_ovd_int_amt, #{transInIntAmt,jdbcType=DECIMAL} trans_in_int_amt, #{paidOvdPrinAmt,jdbcType=DECIMAL} paid_ovd_prin_amt, #{preRepayFeeAmt,jdbcType=DECIMAL} pre_repay_fee_amt, #{transInCostAmt,jdbcType=DECIMAL} trans_in_cost_amt, #{transInPrinAmt,jdbcType=DECIMAL} trans_in_prin_amt, #{transOutIntAmt,jdbcType=DECIMAL} trans_out_int_amt, #{transOutCostAmt,jdbcType=DECIMAL} trans_out_cost_amt, #{transOutPrinAmt,jdbcType=DECIMAL} trans_out_prin_amt, #{paidOvdIntPnltAmt,jdbcType=DECIMAL} paid_ovd_int_pnlt_amt, #{paidOvdPrinPnltAmt,jdbcType=DECIMAL} paid_ovd_prin_pnlt_amt, #{transInOvdIntPnltAmt,jdbcType=DECIMAL} trans_in_ovd_int_pnlt_amt, #{intrTransferInPrinAmt,jdbcType=DECIMAL} intr_transfer_in_prin_amt, #{transInOvdPrinPnltAmt,jdbcType=DECIMAL} trans_in_ovd_prin_pnlt_amt, #{transOutOvdIntPnltAmt,jdbcType=DECIMAL} trans_out_ovd_int_pnlt_amt, #{intrTransferOutPrinAmt,jdbcType=DECIMAL} intr_transfer_out_prin_amt, #{transOutOvdPrinPnltAmt,jdbcType=DECIMAL} trans_out_ovd_prin_pnlt_amt, #{userId,jdbcType=VARCHAR} user_id, #{orgCode,jdbcType=VARCHAR} org_code, #{loanAstNo,jdbcType=VARCHAR} loan_ast_no, #{lastDisbDate,jdbcType=DATE} last_disb_date, #{firstDisbDate,jdbcType=DATE} first_disb_date, #{lastRepayDate,jdbcType=DATE} last_repay_date, #{firstRepayDate,jdbcType=DATE} first_repay_date, #{lastTransInDate,jdbcType=DATE} last_trans_in_date, #{firstTransInDate,jdbcType=DATE} first_trans_in_date, #{lastTransOutDate,jdbcType=DATE} last_trans_out_date, #{firstTransOutDate,jdbcType=DATE} first_trans_out_date, #{yearRate,jdbcType=DECIMAL} year_rate, #{totalFeeRate,jdbcType=DECIMAL} total_fee_rate + FROM dual + + ) t + on (u.loan_ast_no = t.loan_ast_no ) + when matched then + update set + u.disb_amt = t.disb_amt + ,u.paid_int_amt = t.paid_int_amt + ,u.paid_prin_amt = t.paid_prin_amt + ,u.paid_ovd_int_amt = t.paid_ovd_int_amt + ,u.trans_in_int_amt = t.trans_in_int_amt + ,u.paid_ovd_prin_amt = t.paid_ovd_prin_amt + ,u.pre_repay_fee_amt = t.pre_repay_fee_amt + ,u.trans_in_cost_amt = t.trans_in_cost_amt + ,u.trans_in_prin_amt = t.trans_in_prin_amt + ,u.trans_out_int_amt = t.trans_out_int_amt + ,u.trans_out_cost_amt = t.trans_out_cost_amt + ,u.trans_out_prin_amt = t.trans_out_prin_amt + ,u.paid_ovd_int_pnlt_amt = t.paid_ovd_int_pnlt_amt + ,u.paid_ovd_prin_pnlt_amt = t.paid_ovd_prin_pnlt_amt + ,u.trans_in_ovd_int_pnlt_amt = t.trans_in_ovd_int_pnlt_amt + ,u.intr_transfer_in_prin_amt = t.intr_transfer_in_prin_amt + ,u.trans_in_ovd_prin_pnlt_amt = t.trans_in_ovd_prin_pnlt_amt + ,u.trans_out_ovd_int_pnlt_amt = t.trans_out_ovd_int_pnlt_amt + ,u.intr_transfer_out_prin_amt = t.intr_transfer_out_prin_amt + ,u.trans_out_ovd_prin_pnlt_amt = t.trans_out_ovd_prin_pnlt_amt + ,u.user_id = t.user_id + ,u.org_code = t.org_code + ,u.last_disb_date = t.last_disb_date + ,u.first_disb_date = t.first_disb_date + ,u.last_repay_date = t.last_repay_date + ,u.first_repay_date = t.first_repay_date + ,u.last_trans_in_date = t.last_trans_in_date + ,u.first_trans_in_date = t.first_trans_in_date + ,u.last_trans_out_date = t.last_trans_out_date + ,u.first_trans_out_date = t.first_trans_out_date + ,u.year_rate = t.year_rate + ,u.total_fee_rate = t.total_fee_rate + ,u.gmt_modified = sysdate + when not matched then + insert ( + disb_amt,paid_int_amt,paid_prin_amt,paid_ovd_int_amt,trans_in_int_amt,paid_ovd_prin_amt,pre_repay_fee_amt,trans_in_cost_amt,trans_in_prin_amt,trans_out_int_amt,trans_out_cost_amt,trans_out_prin_amt,paid_ovd_int_pnlt_amt,paid_ovd_prin_pnlt_amt,trans_in_ovd_int_pnlt_amt,intr_transfer_in_prin_amt,trans_in_ovd_prin_pnlt_amt,trans_out_ovd_int_pnlt_amt,intr_transfer_out_prin_amt,trans_out_ovd_prin_pnlt_amt,user_id,org_code,loan_ast_no,last_disb_date,first_disb_date,last_repay_date,first_repay_date,last_trans_in_date,first_trans_in_date,last_trans_out_date,first_trans_out_date,year_rate,total_fee_rate,gmt_modified) + VALUES( + t.disb_amt,t.paid_int_amt,t.paid_prin_amt,t.paid_ovd_int_amt,t.trans_in_int_amt,t.paid_ovd_prin_amt,t.pre_repay_fee_amt,t.trans_in_cost_amt,t.trans_in_prin_amt,t.trans_out_int_amt,t.trans_out_cost_amt,t.trans_out_prin_amt,t.paid_ovd_int_pnlt_amt,t.paid_ovd_prin_pnlt_amt,t.trans_in_ovd_int_pnlt_amt,t.intr_transfer_in_prin_amt,t.trans_in_ovd_prin_pnlt_amt,t.trans_out_ovd_int_pnlt_amt,t.intr_transfer_out_prin_amt,t.trans_out_ovd_prin_pnlt_amt,t.user_id,t.org_code,t.loan_ast_no,t.last_disb_date,t.first_disb_date,t.last_repay_date,t.first_repay_date,t.last_trans_in_date,t.first_trans_in_date,t.last_trans_out_date,t.first_trans_out_date,t.year_rate,t.total_fee_rate,sysdate + ) + + + + + + + + + SELECT * + FROM credit_loan_stat_${subTable} + WHERE + + + + + + + + + select + sf.* + from + ( + + select #{loanAstNo,jdbcType=VARCHAR} loan_ast_no from dual + + ) d + join credit_loan_stat_${subTable} sf + on sf.loan_ast_no=d.loan_ast_no + + + + + + + + CREATE TABLE ${loanTableName} AS + (SELECT cls.LOAN_AST_NO , + cls.ORG_CODE , + u.USER_ID , + cls.YEAR_RATE , + cls.TOTAL_FEE_RATE , + cls.FIRST_DISB_DATE , + cls.FIRST_TRANS_IN_DATE, + cls.FIRST_TRANS_OUT_DATE , + cls.FIRST_REPAY_DATE , + cls.LAST_DISB_DATE , + cls.LAST_TRANS_IN_DATE , + cls.LAST_TRANS_OUT_DATE , + cls.LAST_REPAY_DATE , + cls.DISB_AMT , + cls.TRANS_IN_COST_AMT , + cls.TRANS_IN_PRIN_AMT , + cls.TRANS_IN_OVD_PRIN_PNLT_AMT , + cls.TRANS_IN_OVD_INT_PNLT_AMT , + cls.TRANS_OUT_COST_AMT , + cls.TRANS_OUT_PRIN_AMT , + cls.TRANS_OUT_INT_AMT , + cls.TRANS_OUT_OVD_PRIN_PNLT_AMT , + cls.TRANS_OUT_OVD_INT_PNLT_AMT , + cls.PAID_PRIN_AMT , + cls.PAID_OVD_PRIN_AMT , + cls.PAID_INT_AMT , + cls.PAID_OVD_INT_AMT , + cls.PAID_OVD_PRIN_PNLT_AMT , + cls.PAID_OVD_INT_PNLT_AMT , + cls.INTR_TRANSFER_IN_PRIN_AMT , + cls.INTR_TRANSFER_OUT_PRIN_AMT , + cls.GMT_MODIFIED + FROM ${tmpTableName} u LEFT JOIN CREDIT_LOAN_STAT_TMP cls + ON cls.LOAN_AST_NO = u.LOAN_AST_NO); + + +
diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index 9cf91ca..e1af630 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("CREDIT_REPORT_ENTITY"); + ConfigUtil.setCmd("CREDIT_LOAN_STAT"); } catch (IOException e) { LOG.error(e); } -- Gitee From 715e1bb7f69567acf31f2ade42e7834c84997cd1 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 22 Aug 2023 19:55:20 +0800 Subject: [PATCH 36/44] =?UTF-8?q?=E5=88=86=E8=A1=A8=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/gen/dataloaders/DalgenLoader.java | 3 -- .../repository/db/JDBCTableRepository.java | 4 ++- .../dalgen/mybatis/gen/utils/ConfigUtil.java | 6 ++-- .../resources/dalgen/configTables/DEFAULT.xml | 31 +++++++++++++++++++ .../cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 5 files changed, 39 insertions(+), 7 deletions(-) create mode 100755 src/main/resources/dalgen/configTables/DEFAULT.xml diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 8bb4d9f..a37c1f5 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -236,9 +236,6 @@ public class DalgenLoader extends AbstractDalgenLoader { List needGenTableNames = Lists.newArrayList(); if (StringUtils.equals(StringUtils.trim(cmd), "*")) { needGenTableNames = Lists.newArrayList(cfTableMap.keySet()); - for (String tableName : cfTableMap.keySet()) { - needGenTableNames.add(cfTableMap.get(tableName).getPhysicalName()); - } } else { for (String tableName : Lists .newArrayList(StringUtils.split(StringUtils.upperCase(cmd), ";"))) { diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java index 23d9d24..b308370 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/db/JDBCTableRepository.java @@ -271,7 +271,9 @@ public class JDBCTableRepository { */ private void fillColumns(String tableName,Table table, List cfColumns, CfTable cfTable) throws SQLException { - + if(StringUtils.equalsIgnoreCase(tableName,"DUAL")){ + return; + } List> dbColumnMaps = DataBaseInfoHandler.getDataBaseInfoService() .getAllColumnsByTableName(tableName); //指定表字段 diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java index 43d0533..f86677d 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java @@ -218,8 +218,10 @@ public class ConfigUtil { } sb.append("'").append(needGenTableNames.get(i)).append("'"); for (String splitTableSuffix : getConfig().getSplitTableSuffixs()) { - sb.append(","); - sb.append("'").append(needGenTableNames.get(i)+splitTableSuffix).append("'"); + if(!StringUtils.equalsIgnoreCase("DUAL",needGenTableNames.get(i))) { + sb.append(","); + sb.append("'").append(needGenTableNames.get(i) + splitTableSuffix).append("'"); + } } } return sb.toString(); diff --git a/src/main/resources/dalgen/configTables/DEFAULT.xml b/src/main/resources/dalgen/configTables/DEFAULT.xml new file mode 100755 index 0000000..2c31ffd --- /dev/null +++ b/src/main/resources/dalgen/configTables/DEFAULT.xml @@ -0,0 +1,31 @@ + + + + select + count(1) cnt + from user_tab_partitions + where table_name = #{tableName,jdbcType=VARCHAR} + and partition_name = #{partitionName,jdbcType=VARCHAR} + + + + + + + + ALTER TABLE ${tableName} ADD PARTITION ${partitionName} VALUES in (#{sceneId,jdbcType=BIGINT},to_data(#{repDate,jdbcType=VARCHAR},'yyyy-MM-dd')) + + + ALTER TABLE ${tableName} ADD PARTITION ${partitionName} VALUES in (#{sceneId,jdbcType=BIGINT},#{repDate,jdbcType=VARCHAR}) + + + + + + + + + ALTER TABLE CREDIT_USER_MONTH ADD PARTITION ${partitionName} VALUES(#{reportMonth,jdbcType=VARCHAR}) + + +
diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index e1af630..9d2fe97 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("CREDIT_LOAN_STAT"); + ConfigUtil.setCmd("*"); } catch (IOException e) { LOG.error(e); } -- Gitee From 10eaee54da2f08e7101892c5375e0731a99fa2a4 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Fri, 25 Aug 2023 22:49:03 +0800 Subject: [PATCH 37/44] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/resources/dalgen/templates/dalgen/DAO.java.ftl | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 2d084d6..1d24c18 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.4.4 + 2.4.5 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index 0c3dd2a..4fa089f 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -75,9 +75,6 @@ public class ${dao.className}{ for(int i=0 ; i < dataSize ; i++){ ${p.paramType!} data = datas.get(i); mapper.${method.name}(data); - if ((i % 1000 == 0)|| i+1 == dataSize) { - batchSqlSession.flushStatements(); - } } // 非事务环境下强制commit,事务情况下该commit相当于无效 batchSqlSession.commit(!TransactionSynchronizationManager.isSynchronizationActive()); -- Gitee From 912d51dd8bf961f8a4c4eaecd6192a46a5f681b6 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Mon, 28 Aug 2023 09:14:27 +0800 Subject: [PATCH 38/44] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/dalgen/templates/dalgen/DAO.java.ftl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index 4fa089f..cbf5c0b 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -63,8 +63,7 @@ public class ${dao.className}{ <#-- 预编译模式批量插入更新 --> <#if method.batch?? && method.batch=="true"> - <#assign p=method.params?first> - public int batch${method.name?cap_first}(List<${p.paramType!}> datas){ + public int batch${method.name?cap_first}(<#list method.params as param><#if param_index gt 0>,<#if param.paramType==dao.aDo.className>List<${param.paramType!}> datas <#else >${param.paramType!} ${param.param} ){ if(datas==null){ return 0; } @@ -73,8 +72,8 @@ public class ${dao.className}{ try{ ${dao.doMapper.className} mapper = batchSqlSession.getMapper(${dao.doMapper.className}.class); for(int i=0 ; i < dataSize ; i++){ - ${p.paramType!} data = datas.get(i); - mapper.${method.name}(data); + ${dao.aDo.className!} data = datas.get(i); + mapper.${method.name}(<#list method.params as param><#if param_index gt 0>,<#if param.paramType==dao.aDo.className>data<#else >${param.param} ); } // 非事务环境下强制commit,事务情况下该commit相当于无效 batchSqlSession.commit(!TransactionSynchronizationManager.isSynchronizationActive()); -- Gitee From 8365511f180b8a92a8e878a31a21a9eda1e5ef1b Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 5 Sep 2023 11:58:18 +0800 Subject: [PATCH 39/44] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93-=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/resources/dalgen/templates/dalgen/DAO.java.ftl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 1d24c18..9383ce7 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.4.5 + 2.4.6 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl index cbf5c0b..6c95fe6 100644 --- a/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DAO.java.ftl @@ -64,7 +64,7 @@ public class ${dao.className}{ <#-- 预编译模式批量插入更新 --> <#if method.batch?? && method.batch=="true"> public int batch${method.name?cap_first}(<#list method.params as param><#if param_index gt 0>,<#if param.paramType==dao.aDo.className>List<${param.paramType!}> datas <#else >${param.paramType!} ${param.param} ){ - if(datas==null){ + if(datas==null || datas.size()==0){ return 0; } int dataSize = datas.size(); -- Gitee From cbc5578fec93c018adff89dac58313e9f6bdf470 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 11 Oct 2023 11:37:19 +0800 Subject: [PATCH 40/44] =?UTF-8?q?do=20mapper=20=E6=8C=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../mybatis/gen/dataloaders/DalgenLoader.java | 1 + .../cn/dalgen/mybatis/gen/model/java/Filelds.java | 13 ++++++++++++- .../BATCH_USER_CTR.xml | 0 .../CREDIT_LOAN_STAT.xml | 0 .../CREDIT_REPORT_ENTITY.xml | 0 .../{configTables => configTablesA}/DEFAULT.xml | 0 .../resources/dalgen/templates/dalgen/DO.java.ftl | 9 ++------- .../dalgen/templates/dalgen/XMLMapper.xml.ftl | 2 +- .../java/cn/dalgen/mybatis/gen/DalgenMojoTest.java | 2 +- 10 files changed, 18 insertions(+), 11 deletions(-) rename src/main/resources/dalgen/{configTables => configTablesA}/BATCH_USER_CTR.xml (100%) rename src/main/resources/dalgen/{configTables => configTablesA}/CREDIT_LOAN_STAT.xml (100%) rename src/main/resources/dalgen/{configTables => configTablesA}/CREDIT_REPORT_ENTITY.xml (100%) rename src/main/resources/dalgen/{configTables => configTablesA}/DEFAULT.xml (100%) diff --git a/pom.xml b/pom.xml index 9383ce7..9114c6d 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.4.6 + 2.5.0 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index a37c1f5..7faf8bf 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -875,6 +875,7 @@ public class DalgenLoader extends AbstractDalgenLoader { filelds.setDesc(column.getRemarks()); filelds.setSqlName(column.getSqlName()); filelds.setTestVal(column.getTestVal()); + filelds.setOrdinalPosition(column.getOrdinalPosition()); filelds.setJavaType( getClassAndImport(doClass, column.getJavaType())); doClass.addFields(filelds); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/Filelds.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/Filelds.java index cb6d554..783b62f 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/Filelds.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/Filelds.java @@ -26,7 +26,10 @@ public class Filelds { * The Test val. */ private String testVal; - + /** + * + */ + private Long ordinalPosition; /** * Gets java type. * @@ -116,4 +119,12 @@ public class Filelds { public void setTestVal(String testVal) { this.testVal = testVal; } + + public Long getOrdinalPosition() { + return ordinalPosition; + } + + public void setOrdinalPosition(Long ordinalPosition) { + this.ordinalPosition = ordinalPosition; + } } diff --git a/src/main/resources/dalgen/configTables/BATCH_USER_CTR.xml b/src/main/resources/dalgen/configTablesA/BATCH_USER_CTR.xml similarity index 100% rename from src/main/resources/dalgen/configTables/BATCH_USER_CTR.xml rename to src/main/resources/dalgen/configTablesA/BATCH_USER_CTR.xml diff --git a/src/main/resources/dalgen/configTables/CREDIT_LOAN_STAT.xml b/src/main/resources/dalgen/configTablesA/CREDIT_LOAN_STAT.xml similarity index 100% rename from src/main/resources/dalgen/configTables/CREDIT_LOAN_STAT.xml rename to src/main/resources/dalgen/configTablesA/CREDIT_LOAN_STAT.xml diff --git a/src/main/resources/dalgen/configTables/CREDIT_REPORT_ENTITY.xml b/src/main/resources/dalgen/configTablesA/CREDIT_REPORT_ENTITY.xml similarity index 100% rename from src/main/resources/dalgen/configTables/CREDIT_REPORT_ENTITY.xml rename to src/main/resources/dalgen/configTablesA/CREDIT_REPORT_ENTITY.xml diff --git a/src/main/resources/dalgen/configTables/DEFAULT.xml b/src/main/resources/dalgen/configTablesA/DEFAULT.xml similarity index 100% rename from src/main/resources/dalgen/configTables/DEFAULT.xml rename to src/main/resources/dalgen/configTablesA/DEFAULT.xml diff --git a/src/main/resources/dalgen/templates/dalgen/DO.java.ftl b/src/main/resources/dalgen/templates/dalgen/DO.java.ftl index d05e9c0..958846e 100644 --- a/src/main/resources/dalgen/templates/dalgen/DO.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DO.java.ftl @@ -15,13 +15,13 @@ import ${import}; */ public class ${DO.className}{ - <#list DO.fieldses as fields> + <#list DO.fieldses?sort_by("ordinalPosition") as fields> /** * ${fields.name!} ${fields.desc!}. */ private ${fields.javaType} ${fields.name}; - <#list DO.fieldses as fields> + <#list DO.fieldses?sort_by("ordinalPosition") as fields> /** * Set ${fields.name!} ${fields.desc!}. @@ -40,11 +40,6 @@ public class ${DO.className}{ if(${fields.name}==null){ ${fields.name}= new Money(); } - - <#if fields.javaType=="BigDecimal"> - if(${fields.name}==null){ - ${fields.name}= BigDecimal.ZERO; - } return ${fields.name}; } diff --git a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl index 38786df..22cd234 100644 --- a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl +++ b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl @@ -12,7 +12,7 @@ <#--生成BaseResultMap--> <#if xmlMapper.table.columnList?size gt 0> -<#list xmlMapper.table.columnList as column> +<#list xmlMapper.table.columnList?sort_by("ordinalPosition") as column> <#if column.sqlName?upper_case =="ID"><#else> diff --git a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java index 9d2fe97..9cf91ca 100644 --- a/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java +++ b/src/test/java/cn/dalgen/mybatis/gen/DalgenMojoTest.java @@ -67,7 +67,7 @@ public class DalgenMojoTest extends TestCase{ try { ConfigUtil.readConfig(config); - ConfigUtil.setCmd("*"); + ConfigUtil.setCmd("CREDIT_REPORT_ENTITY"); } catch (IOException e) { LOG.error(e); } -- Gitee From e3969a0d499599b8cf742b067a8c970db381b916 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 11 Oct 2023 12:06:09 +0800 Subject: [PATCH 41/44] =?UTF-8?q?do=20mapper=20=E6=8C=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../resources/dalgen/templates/lib/macro.ftl | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 9114c6d..66f1926 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.5.0 + 2.5.1 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/resources/dalgen/templates/lib/macro.ftl b/src/main/resources/dalgen/templates/lib/macro.ftl index bc6e801..cc10abe 100644 --- a/src/main/resources/dalgen/templates/lib/macro.ftl +++ b/src/main/resources/dalgen/templates/lib/macro.ftl @@ -5,11 +5,11 @@ <#macro BaseColumnList table> - <@SqlBaseColumnList table,"Base_Column_List","" /> + <@SqlBaseColumnList table,"Base_Column_List"," " /> <#macro Base_SF_Column_List table> - <@SqlBaseColumnList table,"Base_SF_Column_List","sf." /> + <@SqlBaseColumnList table,"Base_SF_Column_List"," sf." /> <#macro insertMethod table> @@ -21,11 +21,9 @@ - <#if column_index gt 0>,${column.sqlName} - + )VALUES( - <#list table.columnList as column> + <#list table.columnList?sort_by("ordinalPosition") as column> <#if column_index gt 0>, <#if dalgen.dbType?upper_case=="ORACLE" && column.sqlName?upper_case == "ID">SEQ_${table.sqlName?upper_case}.nextval <#else>${lib.insertVal(column,dalgen)} ) @@ -135,13 +133,11 @@ <#macro insertBatchMethod table> <#if dalgen.dbType?lower_case=="oracle"> INSERT INTO ${table.sqlName}( - <#list table.columnList as column> - <#if column_index gt 0>,${column.sqlName} - + ) select - <#list table.columnList as column> + <#list table.columnList?sort_by("ordinalPosition") as column> <#if column_index gt 0>, ${lib.insertBatchVal(column,dalgen)} from dual -- Gitee From 6c25a55ee61b957d4e9e17a447b613fdce46b185 Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Wed, 6 Dec 2023 10:18:40 +0800 Subject: [PATCH 42/44] =?UTF-8?q?=E6=94=AF=E6=8C=81=20databaseid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../mybatis/gen/dataloaders/DalgenLoader.java | 6 +++- .../mybatis/gen/model/config/CfOperation.java | 11 ++++++- .../mybatis/gen/model/config/CfTable.java | 11 ++++--- .../mybatis/gen/model/java/XmlMapper.java | 11 ++++--- .../model/java/domapper/DOMapperMethod.java | 9 ++++++ .../gen/model/java/domapper/XMLSql.java | 31 +++++++++++++++++++ .../model/repository/CfTableRepository.java | 8 ++++- .../dalgen/config/table-config-1.0.dtd | 3 ++ .../dalgen/templates/dalgen/DAO.java.ftl | 3 ++ .../dalgen/templates/dalgen/DOMapper.java.ftl | 3 ++ .../dalgen/templates/dalgen/XMLMapper.xml.ftl | 6 ++-- 12 files changed, 87 insertions(+), 17 deletions(-) create mode 100644 src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/XMLSql.java diff --git a/pom.xml b/pom.xml index 66f1926..9013a26 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.5.1 + 2.5.2 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 7faf8bf..3e0bbb8 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -148,7 +148,7 @@ public class DalgenLoader extends AbstractDalgenLoader { preResultMap(gen, tbName, cfTable, table, xmlMapper, tbColumMap, fileldsMap, resultMaps); - xmlMapper.setSqlMap(cfTable.getSqlMap()); + xmlMapper.setSqls(cfTable.getSqls()); xmlMapper.setSqlContextMap(cfTable.getSqlContextMap()); //准备Mapper接口 @@ -378,6 +378,7 @@ public class DalgenLoader extends AbstractDalgenLoader { DOMapperMethod method = new DOMapperMethod(); method.setName(operation.getName()); method.setDesc(operation.getRemark()); + method.setDatabaseId(operation.getDatabaseId()); method.setSql(operation.getSqlDesc()); String resultType; @@ -537,6 +538,7 @@ public class DalgenLoader extends AbstractDalgenLoader { Map columnDescMap, CfOperation operation) { DOMapperMethod pagingResultMethod = new DOMapperMethod(); pagingResultMethod.setName(operation.getName() + "Result"); + pagingResultMethod.setDatabaseId(operation.getDatabaseId()); pagingResultMethod.setPagingName(operation.getName()); pagingResultMethod.setDesc(operation.getRemark()); pagingResultMethod.setSql(operation.getSqlDesc()); @@ -590,6 +592,7 @@ public class DalgenLoader extends AbstractDalgenLoader { DOMapperMethod pagingCountMethod = (DOMapperMethod) BeanUtils .cloneBean(pagingResultMethod); pagingCountMethod.setName(operation.getName() + "Count"); + pagingCountMethod.setDatabaseId(operation.getDatabaseId()); pagingCountMethod.setReturnClass("int"); doMapper.addMothed(pagingCountMethod); } @@ -615,6 +618,7 @@ public class DalgenLoader extends AbstractDalgenLoader { List cfOperations) { DOMapperMethod method = new DOMapperMethod(); method.setName(operation.getName()); + method.setDatabaseId(operation.getDatabaseId()); method.setDesc(operation.getRemark()); method.setSql(operation.getSqlDesc()); String resultType = operationResultType(doClass, doMapper, operation, resultMaps); diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java index fd221bf..43c31fa 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfOperation.java @@ -77,6 +77,7 @@ public class CfOperation { * The Cdata. */ private String cdata; + private String databaseId; /** * The Cdata page count. @@ -526,7 +527,15 @@ public class CfOperation { this.listLimit = listLimit; } } - + + public String getDatabaseId() { + return databaseId; + } + + public void setDatabaseId(String databaseId) { + this.databaseId = databaseId; + } + public ResultSetTypeEnum getResultSetType() { return resultSetType; } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfTable.java b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfTable.java index 9456df4..2a187ed 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/config/CfTable.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/config/CfTable.java @@ -1,6 +1,7 @@ package cn.dalgen.mybatis.gen.model.config; import cn.dalgen.mybatis.gen.model.dbtable.Column; +import cn.dalgen.mybatis.gen.model.java.domapper.XMLSql; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.lang.StringUtils; @@ -44,7 +45,7 @@ public class CfTable { */ private List resultMaps = Lists.newArrayList(); - private Map sqlMap = Maps.newHashMap(); + private List sqls = Lists.newArrayList(); private Map sqlContextMap = Maps.newHashMap(); /** @@ -233,12 +234,12 @@ public class CfTable { this.ordinalEffectiveDay = ordinalEffectiveDay; } - public Map getSqlMap() { - return sqlMap; + public List getSqls() { + return sqls; } - public void addSqlMap(String id, String sqlText) { - this.sqlMap.put(id, sqlText); + public void addSql(XMLSql XMLSql) { + this.sqls.add( XMLSql); } public Map getSqlContextMap() { diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/XmlMapper.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/XmlMapper.java index 28abfa6..913e002 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/XmlMapper.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/XmlMapper.java @@ -2,6 +2,7 @@ package cn.dalgen.mybatis.gen.model.java; import cn.dalgen.mybatis.gen.model.config.CfTable; import cn.dalgen.mybatis.gen.model.dbtable.Table; +import cn.dalgen.mybatis.gen.model.java.domapper.XMLSql; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -36,7 +37,7 @@ public class XmlMapper { */ private List resultMaps = Lists.newArrayList(); - private Map sqlMap; + private List sqls; private Map sqlContextMap; /** * Gets cf table. @@ -128,12 +129,12 @@ public class XmlMapper { this.resultMaps.add(resultMap); } - public Map getSqlMap() { - return sqlMap; + public List getSqls() { + return sqls; } - public void setSqlMap(Map sqlMap) { - this.sqlMap = sqlMap; + public void setSqls(List sqls) { + this.sqls = sqls; } public Map getSqlContextMap() { diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java index 0685efa..47b3787 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/DOMapperMethod.java @@ -48,6 +48,7 @@ public class DOMapperMethod implements Cloneable { * list大小限制 */ private String listLimit; + private String databaseId; /** * The Is paging. */ @@ -378,4 +379,12 @@ public class DOMapperMethod implements Cloneable { public void setListLimit(String listLimit) { this.listLimit = listLimit; } + + public String getDatabaseId() { + return databaseId; + } + + public void setDatabaseId(String databaseId) { + this.databaseId = databaseId; + } } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/XMLSql.java b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/XMLSql.java new file mode 100644 index 0000000..a3c99f3 --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/model/java/domapper/XMLSql.java @@ -0,0 +1,31 @@ +package cn.dalgen.mybatis.gen.model.java.domapper; + +public class XMLSql { + private String id; + private String databaseId; + private String xml; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDatabaseId() { + return databaseId; + } + + public void setDatabaseId(String databaseId) { + this.databaseId = databaseId; + } + + public String getXml() { + return xml; + } + + public void setXml(String xml) { + this.xml = xml; + } +} diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java index 22ed2e4..7d4a833 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/repository/CfTableRepository.java @@ -17,6 +17,7 @@ import cn.dalgen.mybatis.gen.model.config.CfColumn; import cn.dalgen.mybatis.gen.model.config.CfOperation; import cn.dalgen.mybatis.gen.model.config.CfResultMap; import cn.dalgen.mybatis.gen.model.config.CfTable; +import cn.dalgen.mybatis.gen.model.java.domapper.XMLSql; import cn.dalgen.mybatis.gen.utils.CamelCaseUtils; import cn.dalgen.mybatis.gen.utils.ConfigUtil; import com.google.common.collect.Lists; @@ -112,7 +113,11 @@ public class CfTableRepository { List elements = table.elements("sql"); if (CollectionUtils.isNotEmpty(elements)) { for (Element element : elements) { - cfTable.addSqlMap(element.attributeValue("id"), element.asXML()); + XMLSql sql=new XMLSql(); + sql.setId(element.attributeValue("id")); + sql.setXml(element.asXML()); + sql.setDatabaseId(element.attributeValue("databaseId")); + cfTable.addSql(sql); cfTable.addSqlContextMap(element.attributeValue("id"), StringUtils.trimToEmpty(StringUtils.replace(element.getText(), "\n", " "))); } @@ -220,6 +225,7 @@ public class CfTableRepository { cfOperation.setKvMap(attr(operation, "kvmap")); //FIXME 默认值可维护 cfOperation.setListLimit(attr(operation, "listLimit")); + cfOperation.setDatabaseId(attr(operation, "databaseId")); cfOperation.setBatch(attr(operation, "batch")); cfOperation.setMapK(attr(operation, "mapK")); cfOperation.setMapV(attr(operation, "mapV")); diff --git a/src/main/resources/dalgen/config/table-config-1.0.dtd b/src/main/resources/dalgen/config/table-config-1.0.dtd index 36ea742..b4ce72f 100755 --- a/src/main/resources/dalgen/config/table-config-1.0.dtd +++ b/src/main/resources/dalgen/config/table-config-1.0.dtd @@ -40,6 +40,7 @@ + <#if method.databaseId??> + <#else> <#if method.cursor?? && method.cursor=="true"> public MyBatisCursorItemReader<${fun.CursorTypeClass(method)}> ${method.name}ItemReader(<#list method.params as param><#if param_index gt 0>,${param.paramType!} <#assign pagingParam = param.param/>${param.param}){ MyBatisCursorItemReader<${fun.CursorTypeClass(method)}> reader = new MyBatisCursorItemReader<>(); @@ -202,6 +204,7 @@ public class ${dao.className}{ } + } diff --git a/src/main/resources/dalgen/templates/dalgen/DOMapper.java.ftl b/src/main/resources/dalgen/templates/dalgen/DOMapper.java.ftl index 2f96de7..1c13878 100644 --- a/src/main/resources/dalgen/templates/dalgen/DOMapper.java.ftl +++ b/src/main/resources/dalgen/templates/dalgen/DOMapper.java.ftl @@ -19,6 +19,8 @@ import org.apache.ibatis.annotations.Param; public interface ${doMapper.className}{ <#list doMapper.motheds as method> + <#if method.databaseId??> + <#else> /** * desc:${method.desc!method.name!}.
<#list method.params as param> @@ -27,6 +29,7 @@ public interface ${doMapper.className}{ * @return ${method.returnClass!} */ ${method.returnClass!} ${method.name}(<#list method.params as param><#if param_index gt 0>,<#if method.neetParam(param)>@Param("${param.param}")${param.paramType!} ${param.param}); + } diff --git a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl index 22cd234..9c3f22e 100644 --- a/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl +++ b/src/main/resources/dalgen/templates/dalgen/XMLMapper.xml.ftl @@ -37,7 +37,7 @@
- <#if xmlMapper.sqlMap?size == 0 > + <#if xmlMapper.sqls?size == 0 > <#-- baseSql --> <#if xmlMapper.table.columnList?size gt 0> @@ -49,8 +49,8 @@ <#list xmlMapper.table.columnList as column><#if column_index gt 0>,sf.${column.sqlName} - <#else><#list xmlMapper.sqlMap?values as sqlXML> - ${sqlXML} + <#else><#list xmlMapper.sqls as sqlXML> + ${sqlXML.xml} -- Gitee From b84d2c1a70cd3bc99b5c70fdcc073250bbbf66be Mon Sep 17 00:00:00 2001 From: "defeng.wang" Date: Tue, 12 Mar 2024 14:34:52 +0800 Subject: [PATCH 43/44] =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dalgen/config/config-1.0.dtd | 103 ++++++++++++++++++ dalgen/config/config.xml | 22 +--- pom.xml | 2 +- .../gen/dataloaders/AbstractDalgenLoader.java | 3 +- .../mybatis/gen/dataloaders/DalgenLoader.java | 3 + .../java/cn/dalgen/mybatis/gen/model/Gen.java | 11 ++ .../dalgen/mybatis/gen/model/db/DataBase.java | 11 +- .../gen/model/db/DataSourceConfig.java | 53 +++++++++ .../dalgen/mybatis/gen/utils/ConfigUtil.java | 13 +++ .../resources/dalgen/config/config-1.0.dtd | 103 ++++++++++++++++++ src/main/resources/dalgen/config/config.xml | 3 +- .../dalgen/templates/dalgen/DAO.java.ftl | 5 + 12 files changed, 308 insertions(+), 24 deletions(-) create mode 100644 dalgen/config/config-1.0.dtd create mode 100644 src/main/java/cn/dalgen/mybatis/gen/model/db/DataSourceConfig.java create mode 100644 src/main/resources/dalgen/config/config-1.0.dtd diff --git a/dalgen/config/config-1.0.dtd b/dalgen/config/config-1.0.dtd new file mode 100644 index 0000000..41b141a --- /dev/null +++ b/dalgen/config/config-1.0.dtd @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dalgen/config/config.xml b/dalgen/config/config.xml index 40ce275..59de466 100644 --- a/dalgen/config/config.xml +++ b/dalgen/config/config.xml @@ -1,4 +1,4 @@ - + @@ -18,25 +18,6 @@ - - - - - - - - - - - - - - - - - - - @@ -44,6 +25,7 @@ + diff --git a/pom.xml b/pom.xml index 9013a26..12657c6 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ maven-plugin ${project.groupId}:${project.artifactId} - 2.5.2 + 2.5.3 https://gitee.com/bangis/mybatis.generator mybatis generator mapper.xml mapper.java dao.java do.java paging map list diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java index aa118ce..c2778ee 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/AbstractDalgenLoader.java @@ -38,8 +38,9 @@ public abstract class AbstractDalgenLoader implements DataLoader { gen.setOutRoot(e.getOutputRoot().getAbsolutePath()); gen.setDalgenRoot(ConfigUtil.dalgenPath); gen.setDataBaseName(ConfigUtil.getCurrentDb().getName()); + gen.setDataSourceConfig(ConfigUtil.getCurrentDb().getDataSourceConfig()); gen.setTablesPath(ConfigUtil.getCurrentDb().getName() + "Tables"); - + gen.setDataSourceConfig(ConfigUtil.getCurrentDb().getDataSourceConfig()); File tablesFile = new File( (gen.getDalgenRoot() + File.separator + gen.getTablesPath() + File.separator)); if (!tablesFile.exists()) { diff --git a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java index 3e0bbb8..323f830 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java +++ b/src/main/java/cn/dalgen/mybatis/gen/dataloaders/DalgenLoader.java @@ -72,6 +72,7 @@ public class DalgenLoader extends AbstractDalgenLoader { */ @Override public void load(Gen gen, File tablesFile) throws Exception { + String cmd = ConfigUtil.getCmd(); //解析所有table.xml(为生成sqlMap.xml做准备) Map cfTableMap = Maps.newHashMap(); @@ -175,6 +176,8 @@ public class DalgenLoader extends AbstractDalgenLoader { } + + } /** diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/Gen.java b/src/main/java/cn/dalgen/mybatis/gen/model/Gen.java index a6cb789..f3d3cae 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/Gen.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/Gen.java @@ -2,6 +2,7 @@ package cn.dalgen.mybatis.gen.model; import java.util.List; +import cn.dalgen.mybatis.gen.model.db.DataSourceConfig; import cn.dalgen.mybatis.gen.model.java.DAO; import cn.dalgen.mybatis.gen.model.java.DO; import cn.dalgen.mybatis.gen.model.java.DOMapper; @@ -45,6 +46,8 @@ public class Gen { * The Db type. */ private String dbType; + + private DataSourceConfig dataSourceConfig; /** * The Tables. @@ -377,4 +380,12 @@ public class Gen { public void addTmpTable(Table table) { this.tmpTables.add(table); } + + public DataSourceConfig getDataSourceConfig() { + return dataSourceConfig; + } + + public void setDataSourceConfig(DataSourceConfig dataSourceConfig) { + this.dataSourceConfig = dataSourceConfig; + } } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/db/DataBase.java b/src/main/java/cn/dalgen/mybatis/gen/model/db/DataBase.java index 6648ab8..c65b251 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/model/db/DataBase.java +++ b/src/main/java/cn/dalgen/mybatis/gen/model/db/DataBase.java @@ -10,6 +10,8 @@ import java.util.Map; * Created by bangis.wangdf on 15/12/3. Desc */ public class DataBase { + private DataSourceConfig dataSourceConfig; + /** * The Name. */ @@ -311,5 +313,12 @@ public class DataBase { } return tableNameCapital; } - + + public DataSourceConfig getDataSourceConfig() { + return dataSourceConfig; + } + + public void setDataSourceConfig(DataSourceConfig dataSourceConfig) { + this.dataSourceConfig = dataSourceConfig; + } } diff --git a/src/main/java/cn/dalgen/mybatis/gen/model/db/DataSourceConfig.java b/src/main/java/cn/dalgen/mybatis/gen/model/db/DataSourceConfig.java new file mode 100644 index 0000000..9e2aa8e --- /dev/null +++ b/src/main/java/cn/dalgen/mybatis/gen/model/db/DataSourceConfig.java @@ -0,0 +1,53 @@ +package cn.dalgen.mybatis.gen.model.db; + +import bsh.StringUtil; +import org.apache.commons.lang.StringUtils; + +public class DataSourceConfig { + + private String dataSource ; + private String sessionFactory ; + private String transactionManager ; + private String transactionTemplate ; + private String sqlSessionTemplate ; + + public String getDataSource() { + return dataSource; + } + + public void setDataSource(String dataSource) { + this.dataSource = StringUtils.isBlank(dataSource)?this.dataSource :dataSource; + } + + public String getSessionFactory() { + return sessionFactory; + } + + public void setSessionFactory(String sessionFactory) { + this.sessionFactory = StringUtils.isBlank(sessionFactory)?this.sessionFactory:sessionFactory; + } + + public String getTransactionManager() { + return transactionManager; + } + + public void setTransactionManager(String transactionManager) { + this.transactionManager = StringUtils.isBlank(transactionManager)?this.transactionManager:transactionManager; + } + + public String getTransactionTemplate() { + return transactionTemplate; + } + + public void setTransactionTemplate(String transactionTemplate) { + this.transactionTemplate = StringUtils.isBlank(transactionTemplate)?this.transactionTemplate:transactionTemplate; + } + + public String getSqlSessionTemplate() { + return sqlSessionTemplate; + } + + public void setSqlSessionTemplate(String sqlSessionTemplate) { + this.sqlSessionTemplate = StringUtils.isBlank(sqlSessionTemplate)?this.sqlSessionTemplate:sqlSessionTemplate; + } +} diff --git a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java index f86677d..06050d2 100755 --- a/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java +++ b/src/main/java/cn/dalgen/mybatis/gen/utils/ConfigUtil.java @@ -7,6 +7,7 @@ import java.util.List; import cn.dalgen.mybatis.gen.model.Config; import cn.dalgen.mybatis.gen.model.config.DeleteColumn; import cn.dalgen.mybatis.gen.model.db.DataBase; +import cn.dalgen.mybatis.gen.model.db.DataSourceConfig; import com.google.common.collect.Lists; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -80,6 +81,18 @@ public class ConfigUtil { for (Element property : element.getElementsByTag("property")) { dataBase.addProperty(property.attr("name"), property.attr("value")); } + Elements dataSourceConfigs = element.getElementsByTag("dataSourceConfig"); + DataSourceConfig _dataSourceConfig = new DataSourceConfig(); + dataBase.setDataSourceConfig(_dataSourceConfig); + if(!dataSourceConfigs.isEmpty()){ + for (Element dataSourceConfig : dataSourceConfigs) { + _dataSourceConfig.setDataSource(dataSourceConfig.attr("dataSource")); + _dataSourceConfig.setSessionFactory(dataSourceConfig.attr("sessionFactory")); + _dataSourceConfig.setTransactionManager(dataSourceConfig.attr("transactionManager")); + _dataSourceConfig.setTransactionTemplate(dataSourceConfig.attr("transactionTemplate")); + _dataSourceConfig.setSqlSessionTemplate(dataSourceConfig.attr("sqlSessionTemplate")); + } + } // for (Element packageElement : packagesByTag) { if (StringUtils.equals(packageElement.attr("database"), dataBase.getName())) { diff --git a/src/main/resources/dalgen/config/config-1.0.dtd b/src/main/resources/dalgen/config/config-1.0.dtd new file mode 100644 index 0000000..41b141a --- /dev/null +++ b/src/main/resources/dalgen/config/config-1.0.dtd @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/dalgen/config/config.xml b/src/main/resources/dalgen/config/config.xml index 988e6e6..b835266 100755 --- a/src/main/resources/dalgen/config/config.xml +++ b/src/main/resources/dalgen/config/config.xml @@ -1,4 +1,4 @@ - + @@ -35,6 +35,7 @@ + <#function mapperResult operation> <#if operation.resultmap??><#return 'resultMap="${operation.resultmap}"'/> - <#if operation.resulttype??><#return 'resultType="${operation.resulttype}"'/> + <#if operation.resulttype??><#if operation.resulttype!="void"><#return 'resultType="${operation.resulttype}"'/><#return ''/> <#if operation.name?starts_with("insert")><#return ''/> <#if operation.name?starts_with("update")><#return ''/> <#if operation.name?starts_with("delete")><#return ''/> -- Gitee