Commit 784f5db6 by 夏晨翔

A 新增 资产包新增接口

parent 617c404a
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.biz.api.ast;
import com.abssqr.plat.biz.support.ServiceSupport;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.service.ast.AstPackService;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.exception.AbssqrBizException;
import com.abssqr.plat.core.service.ast.AstPackManager;
import com.general.system.common.util.VarChecker;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* @author xiachenxiang
* @version com.abssqr.plat.biz.api.ast: AstPackServiceImpl.java, v 0.1 2020-04-18 3:13 PM xiachenxiang Exp $
*/
@Service
public class AstPackServiceImpl extends ServiceSupport implements AstPackService {
@Autowired
private AstPackManager astPackManager;
@Override
public String edit(AstPackOprParam param) {
return super.doOpr(param,()-> astPackManager.add(param));
}
}
<!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd"> <!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd">
<table sqlname="ABS_AST_PACK" physicalName="ABS_AST_PACK" remark="资产包"> <table sqlname="abs_ast_pack" physicalName="abs_ast_pack" remark="资产包">
<column name="DYM_RULE" javatype="String" jdbctype="VARCHAR"/>
<!-- 特殊字符说明 &lt;&gt; <> --> <!-- 特殊字符说明 &lt;&gt; <> -->
<!-- baseSql option中 select * 会自动替换为 include --> <!-- baseSql option中 select * 会自动替换为 include -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
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, ID,AVAL_AMT,TYPE,PACK_NO,PLAN_NO
ABSSQR_PROD_CODE,BACK_OUT_CODE,APPROVE_STATUS,APPROVE_DATE,MEMO,PACK_TYPE ,STATUS,PACK_NAME,AST_POOL_NO,PACK_DATE,GMT_CREATE
,GMT_MODIFIED,PACK_SUBMIT_DATE,AST_TYPE_CODE
</sql> </sql>
<!-- baseSql option中 select sf.* 会自动替换为 include --> <!-- baseSql option中 select sf.* 会自动替换为 include -->
<sql id="Base_SF_Column_List"> <sql id="Base_SF_Column_List">
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.ID,sf.AVAL_AMT,sf.TYPE,sf.PACK_NO,sf.PLAN_NO
,sf.STATUS,sf.PACK_NAME,sf.AST_POOL_NO,sf.PACK_DATE,sf.GMT_CREATE
,sf.GMT_MODIFIED,sf.PACK_SUBMIT_DATE,sf.AST_TYPE_CODE
</sql> </sql>
<operation name="insert" paramtype="object" remark="插入表:ABS_AST_PACK"> <operation name="insert" paramtype="object" remark="插入表:abs_ast_pack" >
<![CDATA[ <![CDATA[
INSERT INTO ABS_AST_PACK( INSERT INTO abs_ast_pack(
ID, ID
PLAN_NO, ,AVAL_AMT
AVAL_AMT, ,TYPE
PACK_CODE, ,PACK_NO
PACK_NAME, ,PLAN_NO
PACK_STATUS, ,STATUS
MAX_END_DATE, ,PACK_NAME
MIN_END_DATE, ,AST_POOL_NO
TRANS_RULE, ,PACK_DATE
DYM_RULE, ,GMT_CREATE
GMT_CREATE, ,GMT_MODIFIED
GMT_MODIFIED, ,PACK_SUBMIT_DATE
SCEN_DATE, ,AST_TYPE_CODE
CALC_INTR_TYPE, )VALUES(
MANAGER_ORG_CODE, SEQ_ABS_AST_PACK.nextval
ABSSQR_PROD_CODE, , #{avalAmt,jdbcType=DECIMAL}
BACK_OUT_CODE, , #{type,jdbcType=VARCHAR}
APPROVE_STATUS, , #{packNo,jdbcType=VARCHAR}
APPROVE_DATE, , #{planNo,jdbcType=VARCHAR}
MEMO, , #{status,jdbcType=VARCHAR}
PACK_TYPE , #{packName,jdbcType=VARCHAR}
)VALUES( , #{astPoolNo,jdbcType=VARCHAR}
SEQ_ABS_AST_PACK.nextval , #{packDate,jdbcType=DATE}
, #{planNo,jdbcType=VARCHAR} , sysdate
, #{avalAmt,jdbcType=BIGINT} , sysdate
, #{packCode,jdbcType=VARCHAR} , #{packSubmitDate,jdbcType=DATE}
, #{packName,jdbcType=VARCHAR} , #{astTypeCode,jdbcType=VARCHAR}
, #{packStatus,jdbcType=VARCHAR} )
, #{maxEndDate,jdbcType=DATE} ]]>
, #{minEndDate,jdbcType=DATE}
, #{transRule,jdbcType=VARCHAR}
, #{dymRule,jdbcType=VARCHAR}
, sysdate
, sysdate
, trunc(#{scenDate,jdbcType=DATE})
, #{calcIntrType,jdbcType=VARCHAR}
, #{managerOrgCode,jdbcType=VARCHAR}
, #{abssqrProdCode,jdbcType=VARCHAR}
, #{backOutCode,jdbcType=VARCHAR}
, #{approveStatus,jdbcType=VARCHAR}
, #{approveDate,jdbcType=DATE}
, #{memo,jdbcType=VARCHAR}
, #{packType,jdbcType=VARCHAR}
)
]]>
</operation> </operation>
<!-- foreach 可以自定义类型,paramtype="primitive" foreach->javatype="自己书写的类" --> <!-- foreach 可以自定义类型,paramtype="primitive" foreach->javatype="自己书写的类" -->
<!-- 只有一个参数且为List时必须将参数命名为list --> <!-- 只有一个参数且为List时必须将参数命名为list -->
<operation name="insertBatch" paramtype="objectList" remark="批量插入表:abs_account" > <operation name="insertBatch" paramtype="objectList" remark="批量插入表:abs_ast_pack" >
<foreach collection="list" item="item" separator=";"> <foreach collection="list" item="item" separator=";">
INSERT INTO ABS_AST_PACK( INSERT INTO abs_ast_pack(
ID, ID
PLAN_NO, ,AVAL_AMT
AVAL_AMT, ,TYPE
PACK_CODE, ,PACK_NO
PACK_NAME, ,PLAN_NO
PACK_STATUS, ,STATUS
MAX_END_DATE, ,PACK_NAME
MIN_END_DATE, ,AST_POOL_NO
TRANS_RULE, ,PACK_DATE
DYM_RULE, ,GMT_CREATE
GMT_CREATE, ,GMT_MODIFIED
GMT_MODIFIED, ,PACK_SUBMIT_DATE
SCEN_DATE, ,AST_TYPE_CODE
CALC_INTR_TYPE, )VALUES
MANAGER_ORG_CODE, (
ABSSQR_PROD_CODE, null
BACK_OUT_CODE, , #{item.avalAmt,jdbcType=DECIMAL}
APPROVE_STATUS, , #{item.type,jdbcType=VARCHAR}
APPROVE_DATE, , #{item.packNo,jdbcType=VARCHAR}
MEMO, , #{item.planNo,jdbcType=VARCHAR}
PACK_TYPE , #{item.status,jdbcType=VARCHAR}
)VALUES( , #{item.packName,jdbcType=VARCHAR}
SEQ_ABS_AST_PACK.nextval , #{item.astPoolNo,jdbcType=VARCHAR}
, #{item.planNo,jdbcType=VARCHAR} , #{item.packDate,jdbcType=DATE}
, #{item.avalAmt,jdbcType=BIGINT} , sysdate
, #{item.packCode,jdbcType=VARCHAR} , sysdate
, #{item.packName,jdbcType=VARCHAR} , #{item.packSubmitDate,jdbcType=DATE}
, #{item.packStatus,jdbcType=VARCHAR} , #{item.astTypeCode,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}
) )
</foreach> </foreach>
</operation> </operation>
<operation name="selectPackByStatus" multiplicity="many" paramtype="primitive" remark="根据状态获取包"> <!-- 不推荐使用全 update 有需要自己打开
select * <operation name="update" paramtype="object" remark="更新表:abs_ast_pack" >
from <![CDATA[
ABS_AST_PACK UPDATE abs_ast_pack
where SET
SCEN_DATE = trunc(#{scenDate,jdbcType=DATE}) AVAL_AMT = #{avalAmt,jdbcType=DECIMAL}
AND PACK_STATUS = #{packStatus,jdbcType=VARCHAR} ,TYPE = #{type,jdbcType=VARCHAR}
AND PACK_TYPE = #{packType,jdbcType=VARCHAR} ,PACK_NO = #{packNo,jdbcType=VARCHAR}
order by MAX_END_DATE asc ,PLAN_NO = #{planNo,jdbcType=VARCHAR}
,STATUS = #{status,jdbcType=VARCHAR}
,PACK_NAME = #{packName,jdbcType=VARCHAR}
,AST_POOL_NO = #{astPoolNo,jdbcType=VARCHAR}
,PACK_DATE = #{packDate,jdbcType=DATE}
,GMT_MODIFIED = sysdate
,PACK_SUBMIT_DATE = #{packSubmitDate,jdbcType=DATE}
WHERE
ID = #{id,jdbcType=DECIMAL}
]]>
</operation> </operation>
-->
<operation name="deleteById" remark="根据主键删除数据:abs_ast_pack">
<operation name="getByPackCode" multiplicity="one" deprecated="true" remark="根据packCode获取数据:ABS_AST_PACK"> <![CDATA[
SELECT * DELETE FROM abs_ast_pack
FROM ABS_AST_PACK
WHERE WHERE
PACK_CODE = #{packCode,jdbcType=VARCHAR} ID = #{id,jdbcType=DECIMAL}
]]>
</operation> </operation>
<operation name="getByManagerOrg" multiplicity="many" remark="根据普通索引AbsTrCtrTask0获取数据:abs_tr_ctr_task"> <operation name="getById" multiplicity="one" remark="根据主键获取数据:abs_ast_pack">
SELECT * SELECT *
FROM ABS_AST_PACK FROM abs_ast_pack
WHERE WHERE
MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} <![CDATA[
AND SCEN_DATE = #{scenDate,jdbcType=DATE} ID = #{id,jdbcType=DECIMAL}
<if test="status!=null and status!=''"> ]]>
AND PACK_STATUS = #{status,jdbcType=VARCHAR}
</if>
AND PACK_TYPE = #{packType,jdbcType=VARCHAR}
</operation> </operation>
<operation name="updatePackStatus" paramtype="primitive" remark="更新表:ABS_AST_PACK"> <!-- 根据唯一约束操作数据 -->
UPDATE ABS_AST_PACK <operation name="updateByAbsPackPackNo" paramtype="object" remark="根据唯一约束AbsPackPackNo更新表:abs_ast_pack">
<![CDATA[
UPDATE abs_ast_pack
SET SET
PACK_STATUS = #{packStatus,jdbcType=VARCHAR} AVAL_AMT = #{avalAmt,jdbcType=DECIMAL}
,TYPE = #{type,jdbcType=VARCHAR}
,PLAN_NO = #{planNo,jdbcType=VARCHAR}
,STATUS = #{status,jdbcType=VARCHAR}
,PACK_NAME = #{packName,jdbcType=VARCHAR}
,AST_POOL_NO = #{astPoolNo,jdbcType=VARCHAR}
,PACK_DATE = #{packDate,jdbcType=DATE}
,GMT_MODIFIED = sysdate ,GMT_MODIFIED = sysdate
,PACK_SUBMIT_DATE = #{packSubmitDate,jdbcType=DATE}
,AST_TYPE_CODE = #{astTypeCode,jdbcType=VARCHAR}
WHERE WHERE
PACK_STATUS = #{oldPackStatus,jdbcType=VARCHAR} PACK_NO = #{packNo,jdbcType=VARCHAR}
and PACK_CODE in ]]>
<foreach collection="packCodes" item="packCode" open="(" close=")" separator=",">
#{packCode,jdbcType=VARCHAR}
</foreach>
</operation>
<operation name="getByPlanNo" multiplicity="many" remark="根据packCode获取数据:ABS_AST_PACK">
SELECT *
FROM ABS_AST_PACK
WHERE
PLAN_NO = #{planNo,jdbcType=VARCHAR}
AND PACK_TYPE = #{packType,jdbcType=VARCHAR}
</operation> </operation>
<operation name="getLastDayPackByPlanNo" multiplicity="one" remark="根据packCode获取数据:ABS_AST_PACK"> <operation name="deleteByAbsPackPackNo" remark="根据唯一约束AbsPackPackNo删除数据:abs_ast_pack">
select * from
(
SELECT *
FROM ABS_AST_PACK
WHERE
<![CDATA[ <![CDATA[
PLAN_NO = #{planNo,jdbcType=VARCHAR} DELETE FROM abs_ast_pack
AND PACK_TYPE = #{packType,jdbcType=VARCHAR} WHERE
AND SCEN_DATE < trunc(#{scenDate,jdbcType=DATE}) PACK_NO = #{packNo,jdbcType=VARCHAR}
order by SCEN_DATE desc ]]>
]]>
)
where ROWNUM=1
</operation> </operation>
<operation name="queryByActivePacks" multiplicity="paging" deprecated="true" paging="activePack" remark="根据packCode获取数据:ABS_AST_PACK"> <operation name="getByAbsPackPackNo" multiplicity="one" remark="根据唯一约束AbsPackPackNo获取数据:abs_ast_pack">
SELECT SELECT *
* FROM abs_ast_pack
FROM
ABS_AST_PACK
WHERE WHERE
PACK_STATUS in('unclosepack','closepack','importpack') <![CDATA[
AND PACK_TYPE = #{packType,jdbcType=VARCHAR} PACK_NO = #{packNo,jdbcType=VARCHAR}
order by id asc ]]>
</operation> </operation>
<operation name="countByStatusAndTime" multiplicity="one" resulttype="java.lang.Long" paramtype="primitive" remark="获取指定状态的资产包数量"> <!-- 根据普通索引查询数据 -->
SELECT <operation name="queryByAbsPackPlanNo" multiplicity="many" remark="根据普通索引AbsPackPlanNo获取数据:abs_ast_pack">
count(*) SELECT *
FROM FROM abs_ast_pack
ABS_AST_PACK
WHERE WHERE
<![CDATA[ <![CDATA[
PACK_STATUS = #{status,jdbcType=VARCHAR} PLAN_NO = #{planNo,jdbcType=VARCHAR}
AND PACK_TYPE = #{packType,jdbcType=VARCHAR}
AND GMT_MODIFIED < #{time,jdbcType=TIMESTAMP}
]]> ]]>
</operation> </operation>
<operation name="cntByPackName" multiplicity="one" resulttype="java.lang.Long" remark="根据资产包名查询数量">
<operation name="lockByPackCode" multiplicity="one" paramtype="primitive" remark="锁资产包"> SELECT count(*)
SELECT FROM abs_ast_pack
*
FROM
ABS_AST_PACK
WHERE WHERE
PACK_CODE = #{packCode,jdbcType=VARCHAR} <![CDATA[
FOR UPDATE PACK_NAME = #{packName,jdbcType=VARCHAR}
]]>
</operation> </operation>
</table> </table>
<!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd"> <!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd">
<table sqlname="abs_ast_screen_rule" physicalName="abs_ast_screen_rule" remark="资产筛选规则"> <table sqlname="abs_ast_screen_rule" physicalName="abs_ast_screen_rule" remark="筛选规则表">
<column name = "MAX_AGE" javatype = "Integer" jdbctype = "INTEGER" />
<column name = "MIN_AGE" javatype = "Integer" jdbctype = "INTEGER" />
<column name = "MAX_TERM" javatype = "Integer" jdbctype = "INTEGER" />
<column name = "MIN_TERM" javatype = "Integer" jdbctype = "INTEGER" />
<column name = "MAX_REMAIN_DAYS" javatype = "Integer" jdbctype = "INTEGER" />
<column name = "MIN_REMAIN_DAYS" javatype = "Integer" jdbctype = "INTEGER" />
<!-- 特殊字符说明 &lt;&gt; <> --> <!-- 特殊字符说明 &lt;&gt; <> -->
<!-- baseSql option中 select * 会自动替换为 include --> <!-- baseSql option中 select * 会自动替换为 include -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
ID,SINGLE_MAX_AMOUNT,SINGLE_MIN_AMOUNT,REGION,LENDER_ORG_CODE ID,REL_NO,REL_TYPE,RULE_TYPE,LEFT_VALUE
,PROD_CODE,ABSSQR_PROD_CODE,PROD_NAME,ASSET_STATUS,SCREEN_RULE_NO,SCREEN_RULE_NAME ,RIGHT_VALUE,LEFT_CONDITION,RIGHT_CONDITION,GMT_CREATE,GMT_MODIFIED
,MAX_AGE,MIN_AGE,MAX_TERM,MIN_TERM,MAX_REMAIN_DAYS
,MIN_REMAIN_DAYS,GMT_CREATE,GMT_MODIFIED,LATEST_END_DATE,EARLIEST_END_DATE,MANAGER_ORG_CODE
,SINGLE_MAX_INTER_RATE,SINGLE_MIN_INTER_RATE,GMT_CREATOR,GMT_MODIFIER
,APPROVE_STATUS,SCREEN_TYPE
</sql> </sql>
<!-- baseSql option中 select sf.* 会自动替换为 include --> <!-- baseSql option中 select sf.* 会自动替换为 include -->
<sql id="Base_SF_Column_List"> <sql id="Base_SF_Column_List">
sf.ID,sf.SINGLE_MAX_AMOUNT,sf.SINGLE_MIN_AMOUNT,sf.REGION,sf.LENDER_ORG_CODE sf.ID,sf.REL_NO,sf.REL_TYPE,sf.RULE_TYPE,sf.LEFT_VALUE
,sf.PROD_CODE,sf.ABSSQR_PROD_CODE,sf.PROD_NAME,sf.ASSET_STATUS,sf.SCREEN_RULE_NO,sf.SCREEN_RULE_NAME ,sf.RIGHT_VALUE,sf.LEFT_CONDITION,sf.RIGHT_CONDITION,sf.GMT_CREATE,sf.GMT_MODIFIED
,sf.MAX_AGE,sf.MIN_AGE,sf.MAX_TERM,sf.MIN_TERM,sf.MAX_REMAIN_DAYS
,sf.MIN_REMAIN_DAYS,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LATEST_END_DATE,sf.EARLIEST_END_DATE,sf.MANAGER_ORG_CODE
,sf.SINGLE_MAX_INTER_RATE,sf.SINGLE_MIN_INTER_RATE,sf.GMT_CREATOR,sf.GMT_MODIFIER
,sf.APPROVE_STATUS,sf.SCREEN_TYPE
</sql> </sql>
<operation name="insert" paramtype="object" remark="插入表:abs_ast_screen_rule" > <operation name="insert" paramtype="object" remark="插入表:abs_ast_screen_rule" >
<![CDATA[ <![CDATA[
INSERT INTO abs_ast_screen_rule( INSERT INTO abs_ast_screen_rule(
ID ID
,SINGLE_MAX_AMOUNT ,REL_NO
,SINGLE_MIN_AMOUNT ,REL_TYPE
,REGION ,RULE_TYPE
,LENDER_ORG_CODE ,LEFT_VALUE
,PROD_CODE ,RIGHT_VALUE
,ABSSQR_PROD_CODE ,LEFT_CONDITION
,PROD_NAME ,RIGHT_CONDITION
,ASSET_STATUS
,SCREEN_RULE_NO
,SCREEN_RULE_NAME
,MAX_AGE
,MIN_AGE
,MAX_TERM
,MIN_TERM
,MAX_REMAIN_DAYS
,MIN_REMAIN_DAYS
,GMT_CREATE ,GMT_CREATE
,GMT_MODIFIED ,GMT_MODIFIED
,LATEST_END_DATE
,EARLIEST_END_DATE
,MANAGER_ORG_CODE
,SINGLE_MAX_INTER_RATE
,SINGLE_MIN_INTER_RATE
,GMT_CREATOR
,GMT_MODIFIER
,APPROVE_STATUS
,SCREEN_TYPE
)VALUES( )VALUES(
SEQ_ABS_AST_SCREEN_RULE.nextval SEQ_ABS_AST_SCREEN_RULE.nextval
, #{singleMaxAmount,jdbcType=BIGINT} , #{relNo,jdbcType=VARCHAR}
, #{singleMinAmount,jdbcType=BIGINT} , #{relType,jdbcType=VARCHAR}
, #{region,jdbcType=VARCHAR} , #{ruleType,jdbcType=VARCHAR}
, #{lenderOrgCode,jdbcType=VARCHAR} , #{leftValue,jdbcType=VARCHAR}
, #{prodCode,jdbcType=VARCHAR} , #{rightValue,jdbcType=VARCHAR}
, #{abssqrProdCode,jdbcType=VARCHAR} , #{leftCondition,jdbcType=VARCHAR}
, #{prodName,jdbcType=VARCHAR} , #{rightCondition,jdbcType=VARCHAR}
, #{assetStatus,jdbcType=VARCHAR} , sysdate
, #{screenRuleNo,jdbcType=VARCHAR} , sysdate
, #{screenRuleName,jdbcType=VARCHAR}
, #{maxAge,jdbcType=INTEGER}
, #{minAge,jdbcType=INTEGER}
, #{maxTerm,jdbcType=INTEGER}
, #{minTerm,jdbcType=INTEGER}
, #{maxRemainDays,jdbcType=INTEGER}
, #{minRemainDays,jdbcType=INTEGER}
, sysdate
, sysdate
, #{latestEndDate,jdbcType=DATE}
, #{earliestEndDate,jdbcType=DATE}
, #{managerOrgCode,jdbcType=VARCHAR}
, #{singleMaxInterRate,jdbcType=DECIMAL}
, #{singleMinInterRate,jdbcType=DECIMAL}
, #{gmtCreator,jdbcType=VARCHAR}
, #{gmtModifier,jdbcType=VARCHAR}
, #{approveStatus,jdbcType=VARCHAR}
, #{screenType,jdbcType=VARCHAR}
) )
]]> ]]>
</operation> </operation>
...@@ -94,69 +44,32 @@ ...@@ -94,69 +44,32 @@
<!-- foreach 可以自定义类型,paramtype="primitive" foreach->javatype="自己书写的类" --> <!-- foreach 可以自定义类型,paramtype="primitive" foreach->javatype="自己书写的类" -->
<!-- 只有一个参数且为List时必须将参数命名为list --> <!-- 只有一个参数且为List时必须将参数命名为list -->
<operation name="insertBatch" paramtype="objectList" remark="批量插入表:abs_ast_screen_rule" > <operation name="insertBatch" paramtype="objectList" remark="批量插入表:abs_ast_screen_rule" >
<foreach collection="list" item="item" separator=";"> <foreach collection="list" item="item" separator=";">
INSERT INTO abs_ast_screen_rule( INSERT INTO abs_ast_screen_rule(
ID ID
,SINGLE_MAX_AMOUNT ,REL_NO
,SINGLE_MIN_AMOUNT ,REL_TYPE
,REGION ,RULE_TYPE
,LENDER_ORG_CODE ,LEFT_VALUE
,PROD_CODE ,RIGHT_VALUE
,ABSSQR_PROD_CODE ,LEFT_CONDITION
,PROD_NAME ,RIGHT_CONDITION
,ASSET_STATUS ,GMT_CREATE
,SCREEN_RULE_NO ,GMT_MODIFIED
,SCREEN_RULE_NAME
,MAX_AGE
,MIN_AGE
,MAX_TERM
,MIN_TERM
,MAX_REMAIN_DAYS
,MIN_REMAIN_DAYS
,GMT_CREATE
,GMT_MODIFIED
,LATEST_END_DATE
,EARLIEST_END_DATE
,MANAGER_ORG_CODE
,SINGLE_MAX_INTER_RATE
,SINGLE_MIN_INTER_RATE
,GMT_CREATOR
,GMT_MODIFIER
,APPROVE_STATUS
,SCREEN_TYPE
)VALUES )VALUES
(
( SEQ_ABS_AST_SCREEN_RULE.nextval
SEQ_ABS_AST_SCREEN_RULE.nextval , #{item.relNo,jdbcType=VARCHAR}
, #{item.singleMaxAmount,jdbcType=BIGINT} , #{item.relType,jdbcType=VARCHAR}
, #{item.singleMinAmount,jdbcType=BIGINT} , #{item.ruleType,jdbcType=VARCHAR}
, #{item.region,jdbcType=VARCHAR} , #{item.leftValue,jdbcType=VARCHAR}
, #{item.lenderOrgCode,jdbcType=VARCHAR} , #{item.rightValue,jdbcType=VARCHAR}
, #{item.prodCode,jdbcType=VARCHAR} , #{item.leftCondition,jdbcType=VARCHAR}
, #{item.abssqrProdCode,jdbcType=VARCHAR} , #{item.rightCondition,jdbcType=VARCHAR}
, #{item.prodName,jdbcType=VARCHAR} , sysdate
, #{item.assetStatus,jdbcType=VARCHAR} , sysdate
, #{item.screenRuleNo,jdbcType=VARCHAR} )
, #{item.screenRuleName,jdbcType=VARCHAR} </foreach>
, #{item.maxAge,jdbcType=INTEGER}
, #{item.minAge,jdbcType=INTEGER}
, #{item.maxTerm,jdbcType=INTEGER}
, #{item.minTerm,jdbcType=INTEGER}
, #{item.maxRemainDays,jdbcType=INTEGER}
, #{item.minRemainDays,jdbcType=INTEGER}
, sysdate
, sysdate
, #{item.latestEndDate,jdbcType=DATE}
, #{item.earliestEndDate,jdbcType=DATE}
, #{item.managerOrgCode,jdbcType=VARCHAR}
, #{item.singleMaxInterRate,jdbcType=DECIMAL}
, #{item.singleMinInterRate,jdbcType=DECIMAL}
, #{item.gmtCreator,jdbcType=VARCHAR}
, #{item.gmtModifier,jdbcType=VARCHAR}
, #{item.approveStatus,jdbcType=VARCHAR}
, #{item.screenType,jdbcType=VARCHAR}
)
</foreach>
</operation> </operation>
<!-- 不推荐使用全 update 有需要自己打开 <!-- 不推荐使用全 update 有需要自己打开
...@@ -164,134 +77,43 @@ ...@@ -164,134 +77,43 @@
<![CDATA[ <![CDATA[
UPDATE abs_ast_screen_rule UPDATE abs_ast_screen_rule
SET SET
SINGLE_MAX_AMOUNT = #{singleMaxAmount,jdbcType=BIGINT} REL_NO = #{relNo,jdbcType=VARCHAR}
,SINGLE_MIN_AMOUNT = #{singleMinAmount,jdbcType=BIGINT} ,REL_TYPE = #{relType,jdbcType=VARCHAR}
,REGION = #{region,jdbcType=VARCHAR} ,RULE_TYPE = #{ruleType,jdbcType=VARCHAR}
,LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR} ,LEFT_VALUE = #{leftValue,jdbcType=VARCHAR}
,PROD_CODE = #{prodCode,jdbcType=VARCHAR} ,RIGHT_VALUE = #{rightValue,jdbcType=VARCHAR}
,ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR} ,LEFT_CONDITION = #{leftCondition,jdbcType=VARCHAR}
,PROD_NAME = #{prodName,jdbcType=VARCHAR} ,RIGHT_CONDITION = #{rightCondition,jdbcType=VARCHAR}
,ASSET_STATUS = #{assetStatus,jdbcType=VARCHAR}
,SCREEN_RULE_NO = #{screenRuleNo,jdbcType=VARCHAR}
,SCREEN_RULE_NAME = #{screenRuleName,jdbcType=VARCHAR}
,MAX_AGE = #{maxAge,jdbcType=INTEGER}
,MIN_AGE = #{minAge,jdbcType=INTEGER}
,MAX_TERM = #{maxTerm,jdbcType=INTEGER}
,MIN_TERM = #{minTerm,jdbcType=INTEGER}
,MAX_REMAIN_DAYS = #{maxRemainDays,jdbcType=INTEGER}
,MIN_REMAIN_DAYS = #{minRemainDays,jdbcType=INTEGER}
,GMT_MODIFIED = sysdate ,GMT_MODIFIED = sysdate
,LATEST_END_DATE = #{latestEndDate,jdbcType=DATE}
,EARLIEST_END_DATE = #{earliestEndDate,jdbcType=DATE}
,SINGLE_MAX_INTER_RATE = #{singleMaxInterRate,jdbcType=DECIMAL}
,SINGLE_MIN_INTER_RATE = #{singleMinInterRate,jdbcType=DECIMAL}
WHERE WHERE
ID = #{id,jdbcType=BIGINT} ID = #{id,jdbcType=DECIMAL}
]]> ]]>
</operation> </operation>
--> -->
<operation name="deleteById" remark="根据主键删除数据:abs_ast_screen_rule">
<!-- 根据唯一约束操作数据 -->
<operation name="updateByScreenRuleNo" paramtype="object" remark="根据唯一约束ScreenRuleNo更新表:abs_ast_screen_rule">
<![CDATA[ <![CDATA[
UPDATE abs_ast_screen_rule DELETE FROM abs_ast_screen_rule
SET
SINGLE_MAX_AMOUNT = #{singleMaxAmount,jdbcType=BIGINT}
,SINGLE_MIN_AMOUNT = #{singleMinAmount,jdbcType=BIGINT}
,REGION = #{region,jdbcType=VARCHAR}
,LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR}
,PROD_CODE = #{prodCode,jdbcType=VARCHAR}
,MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR}
,ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR}
,PROD_NAME = #{prodName,jdbcType=VARCHAR}
,ASSET_STATUS = #{assetStatus,jdbcType=VARCHAR}
,SCREEN_RULE_NAME = #{screenRuleName,jdbcType=VARCHAR}
,MAX_AGE = #{maxAge,jdbcType=INTEGER}
,MIN_AGE = #{minAge,jdbcType=INTEGER}
,MAX_TERM = #{maxTerm,jdbcType=INTEGER}
,MIN_TERM = #{minTerm,jdbcType=INTEGER}
,MAX_REMAIN_DAYS = #{maxRemainDays,jdbcType=INTEGER}
,MIN_REMAIN_DAYS = #{minRemainDays,jdbcType=INTEGER}
,GMT_MODIFIED = sysdate
,LATEST_END_DATE = #{latestEndDate,jdbcType=DATE}
,EARLIEST_END_DATE = #{earliestEndDate,jdbcType=DATE}
,SINGLE_MAX_INTER_RATE = #{singleMaxInterRate,jdbcType=DECIMAL}
,SINGLE_MIN_INTER_RATE = #{singleMinInterRate,jdbcType=DECIMAL}
,GMT_MODIFIER = #{gmtModifier,jdbcType=VARCHAR}
,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR}
,SCREEN_TYPE = #{screenType,jdbcType=VARCHAR}
WHERE WHERE
SCREEN_RULE_NO = #{screenRuleNo,jdbcType=VARCHAR} ID = #{id,jdbcType=DECIMAL}
]]> ]]>
</operation> </operation>
<operation name="getById" multiplicity="one" remark="根据主键获取数据:abs_ast_screen_rule">
<operation name="getByScreenRuleNo" multiplicity="one" remark="根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule">
SELECT * SELECT *
FROM abs_ast_screen_rule FROM abs_ast_screen_rule
WHERE WHERE
<![CDATA[ <![CDATA[
SCREEN_RULE_NO = #{screenRuleNo,jdbcType=VARCHAR} ID = #{id,jdbcType=DECIMAL}
]]> ]]>
</operation> </operation>
<operation name="getByScreenRuleNos" multiplicity="many" kvmap="true" mapK="SCREEN_RULE_NO" remark="根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule"> <!-- 根据普通索引查询数据 -->
<operation name="queryByAbsAstScreenRuleRelNo" multiplicity="many" remark="根据普通索引AbsAstScreenRuleRelNo获取数据:abs_ast_screen_rule">
SELECT * SELECT *
FROM abs_ast_screen_rule FROM abs_ast_screen_rule
WHERE WHERE
SCREEN_RULE_NO in <![CDATA[
<foreach collection="screenRuleNos" item="screenRuleNo" open="(" close=")" separator=","> REL_NO = #{relNo,jdbcType=VARCHAR}
#{screenRuleNo,jdbcType=VARCHAR} ]]>
</foreach>
</operation>
<operation name="getScreenRuleList" multiplicity="paging" paging="ScreenRule" remark="分页查询资产筛选规则">
SELECT
sf.*
FROM
abs_ast_screen_rule sf
WHERE
1=1
<if test="abssqrProdCode!=null and abssqrProdCode != ''">
AND ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR}
</if>
<if test="lenderOrgCode!=null and lenderOrgCode != ''">
AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR}
</if>
<if test="screenRuleName!=null and screenRuleName != ''">
AND sf.SCREEN_RULE_NAME LIKE CONCAT(CONCAT('%',#{screenRuleName,jdbcType=VARCHAR}),'%')
</if>
<if test="createStart!=null">
AND sf.GMT_CREATE &gt; #{createStart,jdbcType=DATE}
</if>
<if test="createEnd!=null">
AND sf.GMT_CREATE &lt; (#{createEnd,jdbcType=DATE} +1)
</if>
<if test="approveStatus!=null and approveStatus != ''">
AND
(
sf.APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR}
</if>
<if test="userCode!=null and userCode != ''">
OR
sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR}
OR
sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR}
</if>
)
AND sf.SCREEN_TYPE = #{screenType,jdbcType=VARCHAR}
ORDER BY sf.GMT_CREATE DESC,sf.ID DESC
</operation>
<operation name="getSameRuleCnt" resulttype="int" paramtype="primitive" remark="获取同名筛选规则数量,防止重名存在">
SELECT
count(*)
FROM
ABS_AST_SCREEN_RULE
WHERE
SCREEN_RULE_NO != #{screenRuleNo,jdbcType=VARCHAR}
AND SCREEN_RULE_NAME = #{screenRuleName,jdbcType=VARCHAR}
</operation> </operation>
</table> </table>
//id 自增ID //id
result.setId(param.getId()); result.setId(param.getId());
//avalAmt 预期规模 //avalAmt 规模
result.setAvalAmt(param.getAvalAmt()); result.setAvalAmt(param.getAvalAmt());
//memo 备注 //type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT
result.setMemo(param.getMemo()); result.setType(param.getType());
//planNo 计划编号 //packNo 资产包编号
result.setPackNo(param.getPackNo());
//planNo 产品编号
result.setPlanNo(param.getPlanNo()); result.setPlanNo(param.getPlanNo());
//dymRule 动态规则列表 //status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH
result.setDymRule(param.getDymRule()); result.setStatus(param.getStatus());
//extData 资产包详情
result.setExtData(param.getExtData());
//packCode 资产包编码
result.setPackCode(param.getPackCode());
//packName 资产包名称 //packName 资产包名称
result.setPackName(param.getPackName()); result.setPackName(param.getPackName());
//packType 资产包类型 //astPoolNo 资产池编号
result.setPackType(param.getPackType()); result.setAstPoolNo(param.getAstPoolNo());
//transRule 转让规则 //packDate 封包日
result.setTransRule(param.getTransRule()); result.setPackDate(param.getPackDate());
//packStatus 资产包状态 //gmtCreate 创建时间
result.setPackStatus(param.getPackStatus());
//backOutCode 资产转出机构
result.setBackOutCode(param.getBackOutCode());
//calcIntrType 利率计算类型
result.setCalcIntrType(param.getCalcIntrType());
//approveStatus 审批状态
result.setApproveStatus(param.getApproveStatus());
//abssqrProdCode 产品编号
result.setAbssqrProdCode(param.getAbssqrProdCode());
//managerOrgCode 资产管理机构
result.setManagerOrgCode(param.getManagerOrgCode());
//scenDate 刷选日期
result.setScenDate(param.getScenDate());
//gmtCreate 创建日期
result.setGmtCreate(param.getGmtCreate()); result.setGmtCreate(param.getGmtCreate());
//maxEndDate 最大到期日 //gmtModified 更新时间
result.setMaxEndDate(param.getMaxEndDate());
//minEndDate 最小到期日
result.setMinEndDate(param.getMinEndDate());
//approveDate 审批完成日期
result.setApproveDate(param.getApproveDate());
//gmtModified 最近修改日期
result.setGmtModified(param.getGmtModified()); result.setGmtModified(param.getGmtModified());
//packSubmitDate 封包提交日
result.setPackSubmitDate(param.getPackSubmitDate());
//id 自增ID //id
//avalAmt 预期规模 //avalAmt 规模
//memo 备注 //type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT
//planNo 计划编号 //packNo 资产包编号
//dymRule 动态规则列表 //planNo 产品编号
//extData 资产包详情 //status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH
//packCode 资产包编码
//packName 资产包名称 //packName 资产包名称
//packType 资产包类型 //astPoolNo 资产池编号
//transRule 转让规则 //packDate 封包日
//packStatus 资产包状态 //gmtCreate 创建时间
//backOutCode 资产转出机构 //gmtModified 更新时间
//calcIntrType 利率计算类型 //packSubmitDate 封包提交日
//approveStatus 审批状态
//abssqrProdCode 产品编号
//managerOrgCode 资产管理机构
//scenDate 刷选日期
//gmtCreate 创建日期
//maxEndDate 最大到期日
//minEndDate 最小到期日
//approveDate 审批完成日期
//gmtModified 最近修改日期
} }
...@@ -2,88 +2,34 @@ ...@@ -2,88 +2,34 @@
//id //id
result.setId(param.getId()); result.setId(param.getId());
//singleMaxAmount 单笔最大金额 //relNo 关联编号
result.setSingleMaxAmount(param.getSingleMaxAmount()); result.setRelNo(param.getRelNo());
//singleMinAmount 单笔最小金额 //relType 关联类型 1.资产打包 PACK
result.setSingleMinAmount(param.getSingleMinAmount()); result.setRelType(param.getRelType());
//region 地区 //ruleType 规则类型
result.setRegion(param.getRegion()); result.setRuleType(param.getRuleType());
//prodCode 准入产品码 //leftValue 左值
result.setProdCode(param.getProdCode()); result.setLeftValue(param.getLeftValue());
//prodName 准入产品名称 //rightValue 右值
result.setProdName(param.getProdName()); result.setRightValue(param.getRightValue());
//gmtCreator 创建人 //leftCondition 左条件: 1.大于 GT 2.大于等于 GE
result.setGmtCreator(param.getGmtCreator()); result.setLeftCondition(param.getLeftCondition());
//screenType 筛选类型 转让、回购 //rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
result.setScreenType(param.getScreenType()); result.setRightCondition(param.getRightCondition());
//assetStatus 资产状态,|分割,对应五级分类
result.setAssetStatus(param.getAssetStatus());
//gmtModifier 修改人
result.setGmtModifier(param.getGmtModifier());
//screenRuleNo 资产筛选规则编号
result.setScreenRuleNo(param.getScreenRuleNo());
//approveStatus 审批状态
result.setApproveStatus(param.getApproveStatus());
//lenderOrgCode 原始权益机构
result.setLenderOrgCode(param.getLenderOrgCode());
//abssqrProdCode 内部产品码
result.setAbssqrProdCode(param.getAbssqrProdCode());
//managerOrgCode
result.setManagerOrgCode(param.getManagerOrgCode());
//screenRuleName 资产筛选规则编号
result.setScreenRuleName(param.getScreenRuleName());
//maxAge 最大年龄
result.setMaxAge(param.getMaxAge());
//minAge 最小年龄
result.setMinAge(param.getMinAge());
//maxTerm 最大期次
result.setMaxTerm(param.getMaxTerm());
//minTerm 最小期次
result.setMinTerm(param.getMinTerm());
//maxRemainDays 最大剩余天数
result.setMaxRemainDays(param.getMaxRemainDays());
//minRemainDays 最小剩余天数
result.setMinRemainDays(param.getMinRemainDays());
//gmtCreate 创建时间 //gmtCreate 创建时间
result.setGmtCreate(param.getGmtCreate()); result.setGmtCreate(param.getGmtCreate());
//gmtModified 修改时间 //gmtModified 更新时间
result.setGmtModified(param.getGmtModified()); result.setGmtModified(param.getGmtModified());
//latestEndDate 最晚到期日
result.setLatestEndDate(param.getLatestEndDate());
//earliestEndDate 最早到期日
result.setEarliestEndDate(param.getEarliestEndDate());
//singleMaxInterRate 单笔最高利率
result.setSingleMaxInterRate(param.getSingleMaxInterRate());
//singleMinInterRate 单笔最单利率
result.setSingleMinInterRate(param.getSingleMinInterRate());
//id //id
//singleMaxAmount 单笔最大金额 //relNo 关联编号
//singleMinAmount 单笔最小金额 //relType 关联类型 1.资产打包 PACK
//region 地区 //ruleType 规则类型
//prodCode 准入产品码 //leftValue 左值
//prodName 准入产品名称 //rightValue 右值
//gmtCreator 创建人 //leftCondition 左条件: 1.大于 GT 2.大于等于 GE
//screenType 筛选类型 转让、回购 //rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
//assetStatus 资产状态,|分割,对应五级分类
//gmtModifier 修改人
//screenRuleNo 资产筛选规则编号
//approveStatus 审批状态
//lenderOrgCode 原始权益机构
//abssqrProdCode 内部产品码
//managerOrgCode
//screenRuleName 资产筛选规则编号
//maxAge 最大年龄
//minAge 最小年龄
//maxTerm 最大期次
//minTerm 最小期次
//maxRemainDays 最大剩余天数
//minRemainDays 最小剩余天数
//gmtCreate 创建时间 //gmtCreate 创建时间
//gmtModified 修改时间 //gmtModified 更新时间
//latestEndDate 最晚到期日
//earliestEndDate 最早到期日
//singleMaxInterRate 单笔最高利率
//singleMinInterRate 单笔最单利率
} }
...@@ -12,8 +12,8 @@ public class AbssqrCoreConstants{ ...@@ -12,8 +12,8 @@ public class AbssqrCoreConstants{
} }
public static class ABS_AST_SCREEN_RULE{ public static class ABS_AST_SCREEN_RULE{
public static final String tableName="ABS_AST_SCREEN_RULE"; public static final String tableName="ABS_AST_SCREEN_RULE";
public static final String Base_SF_Column_List = "sf.ID,sf.SINGLE_MAX_AMOUNT,sf.SINGLE_MIN_AMOUNT,sf.REGION,sf.LENDER_ORG_CODE ,sf.PROD_CODE,sf.ABSSQR_PROD_CODE,sf.PROD_NAME,sf.ASSET_STATUS,sf.SCREEN_RULE_NO,sf.SCREEN_RULE_NAME ,sf.MAX_AGE,sf.MIN_AGE,sf.MAX_TERM,sf.MIN_TERM,sf.MAX_REMAIN_DAYS ,sf.MIN_REMAIN_DAYS,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LATEST_END_DATE,sf.EARLIEST_END_DATE,sf.MANAGER_ORG_CODE ,sf.SINGLE_MAX_INTER_RATE,sf.SINGLE_MIN_INTER_RATE,sf.GMT_CREATOR,sf.GMT_MODIFIER ,sf.APPROVE_STATUS,sf.SCREEN_TYPE"; public static final String Base_SF_Column_List = "sf.ID,sf.REL_NO,sf.REL_TYPE,sf.RULE_TYPE,sf.LEFT_VALUE ,sf.RIGHT_VALUE,sf.LEFT_CONDITION,sf.RIGHT_CONDITION,sf.GMT_CREATE,sf.GMT_MODIFIED";
public static final String Base_Column_List = "ID,SINGLE_MAX_AMOUNT,SINGLE_MIN_AMOUNT,REGION,LENDER_ORG_CODE ,PROD_CODE,ABSSQR_PROD_CODE,PROD_NAME,ASSET_STATUS,SCREEN_RULE_NO,SCREEN_RULE_NAME ,MAX_AGE,MIN_AGE,MAX_TERM,MIN_TERM,MAX_REMAIN_DAYS ,MIN_REMAIN_DAYS,GMT_CREATE,GMT_MODIFIED,LATEST_END_DATE,EARLIEST_END_DATE,MANAGER_ORG_CODE ,SINGLE_MAX_INTER_RATE,SINGLE_MIN_INTER_RATE,GMT_CREATOR,GMT_MODIFIER ,APPROVE_STATUS,SCREEN_TYPE"; public static final String Base_Column_List = "ID,REL_NO,REL_TYPE,RULE_TYPE,LEFT_VALUE ,RIGHT_VALUE,LEFT_CONDITION,RIGHT_CONDITION,GMT_CREATE,GMT_MODIFIED";
} }
public static class ABS_PLAN_TRANSFER_RULE{ public static class ABS_PLAN_TRANSFER_RULE{
public static final String tableName="ABS_PLAN_TRANSFER_RULE"; public static final String tableName="ABS_PLAN_TRANSFER_RULE";
...@@ -259,8 +259,8 @@ public class AbssqrCoreConstants{ ...@@ -259,8 +259,8 @@ public class AbssqrCoreConstants{
} }
public static class ABS_AST_PACK{ public static class ABS_AST_PACK{
public static final String tableName="ABS_AST_PACK"; public static final String tableName="ABS_AST_PACK";
public static final String Base_SF_Column_List = "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"; public static final String Base_SF_Column_List = "sf.ID,sf.AVAL_AMT,sf.TYPE,sf.PACK_NO,sf.PLAN_NO ,sf.STATUS,sf.PACK_NAME,sf.AST_POOL_NO,sf.PACK_DATE,sf.GMT_CREATE ,sf.GMT_MODIFIED,sf.PACK_SUBMIT_DATE";
public static final String Base_Column_List = "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"; public static final String Base_Column_List = "ID,AVAL_AMT,TYPE,PACK_NO,PLAN_NO ,STATUS,PACK_NAME,AST_POOL_NO,PACK_DATE,GMT_CREATE ,GMT_MODIFIED,PACK_SUBMIT_DATE";
} }
public static class ABS_PLAN_REPORT_ITEM{ public static class ABS_PLAN_REPORT_ITEM{
public static final String tableName="ABS_PLAN_REPORT_ITEM"; public static final String tableName="ABS_PLAN_REPORT_ITEM";
......
...@@ -5,13 +5,11 @@ import org.springframework.stereotype.Repository; ...@@ -5,13 +5,11 @@ import org.springframework.stereotype.Repository;
import java.util.ArrayList; import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO; import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import java.util.List; import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.paging.ActivePackPage;
import java.lang.Long; import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPackDOMapper; import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPackDOMapper;
/** /**
* The Table ABS_AST_PACK. * The Table abs_ast_pack.
* 资产包 * 资产包
*/ */
@Repository @Repository
...@@ -21,7 +19,7 @@ public class AstPackDAO{ ...@@ -21,7 +19,7 @@ public class AstPackDAO{
private AstPackDOMapper astPackDOMapper; private AstPackDOMapper astPackDOMapper;
/** /**
* desc:插入表:ABS_AST_PACK.<br/> * desc:插入表:abs_ast_pack.<br/>
* @param entity entity * @param entity entity
* @return int * @return int
*/ */
...@@ -30,7 +28,7 @@ public class AstPackDAO{ ...@@ -30,7 +28,7 @@ public class AstPackDAO{
return astPackDOMapper.insert(entity); return astPackDOMapper.insert(entity);
} }
/** /**
* desc:批量插入表:abs_account.<br/> * desc:批量插入表:abs_ast_pack.<br/>
* @param list list * @param list list
* @return int * @return int
*/ */
...@@ -40,104 +38,66 @@ public class AstPackDAO{ ...@@ -40,104 +38,66 @@ public class AstPackDAO{
return list.size(); return list.size();
} }
/** /**
* desc:根据状态获取包.<br/> * desc:根据主键删除数据:abs_ast_pack.<br/>
* @param scenDate scenDate * @param id id
* @param packType packType * @return int
* @param packStatus packStatus
* @return List<AstPackDO>
*/ */
public List<AstPackDO> selectPackByStatus(Date scenDate,String packType,String packStatus){ public int deleteById(Long id){
return astPackDOMapper.selectPackByStatus(scenDate, packType, packStatus); return astPackDOMapper.deleteById(id);
} }
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据主键获取数据:abs_ast_pack.<br/>
* @param packCode packCode * @param id id
* @return AstPackDO * @return AstPackDO
*/ */
@Deprecated
public AstPackDO getByPackCode(String packCode){
return astPackDOMapper.getByPackCode(packCode);
}
/**
* desc:根据普通索引AbsTrCtrTask0获取数据:abs_tr_ctr_task.<br/>
* @param scenDate scenDate
* @param status status
* @param packType packType
* @param managerOrgCode managerOrgCode
* @return List<AstPackDO>
*/
public List<AstPackDO> getByManagerOrg(Date scenDate,String status,String packType,String managerOrgCode){ public AstPackDO getById(Long id){
return astPackDOMapper.getByManagerOrg(scenDate, status, packType, managerOrgCode); return astPackDOMapper.getById(id);
} }
/** /**
* desc:更新表:ABS_AST_PACK.<br/> * desc:根据唯一约束AbsPackPackNo更新表:abs_ast_pack.<br/>
* @param packStatus packStatus * @param entity entity
* @param oldPackStatus oldPackStatus
* @param packCodes packCodes
* @return int * @return int
*/ */
public int updatePackStatus(String packStatus,String oldPackStatus,List<String> packCodes){ public int updateByAbsPackPackNo(AstPackDO entity){
if(packCodes!=null && packCodes.size()>201){throw new RuntimeException("packCodes 超出201长度限制");} return astPackDOMapper.updateByAbsPackPackNo(entity);
return astPackDOMapper.updatePackStatus(packStatus, oldPackStatus, packCodes);
} }
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据唯一约束AbsPackPackNo删除数据:abs_ast_pack.<br/>
* @param planNo planNo * @param packNo packNo
* @param packType packType * @return int
* @return List<AstPackDO>
*/ */
public List<AstPackDO> getByPlanNo(String planNo,String packType){ public int deleteByAbsPackPackNo(String packNo){
return astPackDOMapper.getByPlanNo(planNo, packType); return astPackDOMapper.deleteByAbsPackPackNo(packNo);
} }
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据唯一约束AbsPackPackNo获取数据:abs_ast_pack.<br/>
* @param scenDate scenDate * @param packNo packNo
* @param planNo planNo
* @param packType packType
* @return AstPackDO * @return AstPackDO
*/ */
public AstPackDO getLastDayPackByPlanNo(Date scenDate,String planNo,String packType){ public AstPackDO getByAbsPackPackNo(String packNo){
return astPackDOMapper.getLastDayPackByPlanNo(scenDate, planNo, packType); return astPackDOMapper.getByAbsPackPackNo(packNo);
} }
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据普通索引AbsPackPlanNo获取数据:abs_ast_pack.<br/>
* @param activePack activePack * @param planNo planNo
* @return ActivePackPage * @return List<AstPackDO>
*/
@Deprecated
public ActivePackPage queryByActivePacks(ActivePackPage activePack){
int total = astPackDOMapper.queryByActivePacksCount(activePack);
if(total>0){
activePack.setDatas(astPackDOMapper.queryByActivePacksResult(activePack));
}else{
activePack.setDatas(new ArrayList());
}
activePack.setTotal(total);
return activePack;
}
/**
* desc:获取指定状态的资产包数量.<br/>
* @param time time
* @param status status
* @param packType packType
* @return Long
*/ */
public Long countByStatusAndTime(Date time,String status,String packType){ public List<AstPackDO> queryByAbsPackPlanNo(String planNo){
return astPackDOMapper.countByStatusAndTime(time, status, packType); return astPackDOMapper.queryByAbsPackPlanNo(planNo);
} }
/** /**
* desc:锁资产包.<br/> * desc:根据资产包名查询数量.<br/>
* @param packCode packCode * @param packName packName
* @return AstPackDO * @return Long
*/ */
public AstPackDO lockByPackCode(String packCode){ public Long cntByPackName(String packName){
return astPackDOMapper.lockByPackCode(packCode); return astPackDOMapper.cntByPackName(packName);
} }
} }
...@@ -5,17 +5,11 @@ import org.springframework.stereotype.Repository; ...@@ -5,17 +5,11 @@ import org.springframework.stereotype.Repository;
import java.util.ArrayList; import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO; import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.LinkedHashMap;
import java.util.ArrayList;
import java.util.HashSet;
import com.abssqr.plat.common.dal.mysql.auto.paging.ScreenRulePage;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstScreenRuleDOMapper; import com.abssqr.plat.common.dal.mysql.auto.mapper.AstScreenRuleDOMapper;
/** /**
* The Table abs_ast_screen_rule. * The Table abs_ast_screen_rule.
* 资产筛选规则 * 筛选规则表
*/ */
@Repository @Repository
public class AstScreenRuleDAO{ public class AstScreenRuleDAO{
...@@ -43,73 +37,30 @@ public class AstScreenRuleDAO{ ...@@ -43,73 +37,30 @@ public class AstScreenRuleDAO{
return list.size(); return list.size();
} }
/** /**
* desc:根据唯一约束ScreenRuleNo更新表:abs_ast_screen_rule.<br/> * desc:根据主键删除数据:abs_ast_screen_rule.<br/>
* @param entity entity * @param id id
* @return int * @return int
*/ */
public int updateByScreenRuleNo(AstScreenRuleDO entity){ public int deleteById(Long id){
return astScreenRuleDOMapper.updateByScreenRuleNo(entity); return astScreenRuleDOMapper.deleteById(id);
} }
/** /**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/> * desc:根据主键获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNo screenRuleNo * @param id id
* @return AstScreenRuleDO * @return AstScreenRuleDO
*/ */
public AstScreenRuleDO getByScreenRuleNo(String screenRuleNo){ public AstScreenRuleDO getById(Long id){
return astScreenRuleDOMapper.getByScreenRuleNo(screenRuleNo); return astScreenRuleDOMapper.getById(id);
}
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNos screenRuleNos
* @return Map<String,AstScreenRuleDO>
*/
public List<AstScreenRuleDO> getByScreenRuleNosList(List<String> screenRuleNos){
return astScreenRuleDOMapper.getByScreenRuleNos(screenRuleNos);
}
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNos screenRuleNos
* @return Map<String,AstScreenRuleDO>
*/
public Map<String,AstScreenRuleDO> getByScreenRuleNos(List<String> screenRuleNos){
if(screenRuleNos!=null && screenRuleNos.size()>201){throw new RuntimeException("screenRuleNos 超出201长度限制");}
Map<String,AstScreenRuleDO> result = new LinkedHashMap();
List<AstScreenRuleDO> resultList = astScreenRuleDOMapper.getByScreenRuleNos(screenRuleNos);
if(resultList!=null && !resultList.isEmpty()){
for(AstScreenRuleDO entity:resultList){
result.put(entity.getScreenRuleNo(),entity);
}
}
return result;
} }
/** /**
* desc:分页查询资产筛选规则.<br/> * desc:根据普通索引AbsAstScreenRuleRelNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRule screenRule * @param relNo relNo
* @return ScreenRulePage * @return List<AstScreenRuleDO>
*/
public ScreenRulePage getScreenRuleList(ScreenRulePage screenRule){
int total = astScreenRuleDOMapper.getScreenRuleListCount(screenRule);
if(total>0){
screenRule.setDatas(astScreenRuleDOMapper.getScreenRuleListResult(screenRule));
}else{
screenRule.setDatas(new ArrayList());
}
screenRule.setTotal(total);
return screenRule;
}
/**
* desc:获取同名筛选规则数量,防止重名存在.<br/>
* @param screenRuleNo screenRuleNo
* @param screenRuleName screenRuleName
* @return int
*/ */
public int getSameRuleCnt(String screenRuleNo,String screenRuleName){ public List<AstScreenRuleDO> queryByAbsAstScreenRuleRelNo(String relNo){
return astScreenRuleDOMapper.getSameRuleCnt(screenRuleNo, screenRuleName); return astScreenRuleDOMapper.queryByAbsAstScreenRuleRelNo(relNo);
} }
} }
...@@ -8,103 +8,67 @@ import java.util.Date; ...@@ -8,103 +8,67 @@ import java.util.Date;
public class AstPackDO{ public class AstPackDO{
/** /**
* id 自增ID. * id .
*/ */
private Long id; private Long id;
/** /**
* avalAmt 预期规模. * avalAmt 规模.
*/ */
private Long avalAmt; private Long avalAmt;
/** /**
* memo 备注. * type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT.
*/ */
private String memo; private String type;
/** /**
* planNo 计划编号. * packNo 资产包编号.
*/ */
private String planNo; private String packNo;
/**
* dymRule 动态规则列表.
*/
private String dymRule;
/** /**
* extData 资产包详情. * planNo 产品编号.
*/ */
private String extData; private String planNo;
/** /**
* packCode 资产包编码. * status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
*/ */
private String packCode; private String status;
/** /**
* packName 资产包名称. * packName 资产包名称.
*/ */
private String packName; private String packName;
/** /**
* packType 资产包类型. * astPoolNo 资产池编号.
*/
private String packType;
/**
* transRule 转让规则.
*/
private String transRule;
/**
* packStatus 资产包状态.
*/
private String packStatus;
/**
* backOutCode 资产转出机构.
*/
private String backOutCode;
/**
* calcIntrType 利率计算类型.
*/
private String calcIntrType;
/**
* approveStatus 审批状态.
*/
private String approveStatus;
/**
* abssqrProdCode 产品编号.
*/ */
private String abssqrProdCode; private String astPoolNo;
/** /**
* managerOrgCode 资产管理机构. * astTypeCode 准入资产代码.
*/ */
private String managerOrgCode; private String astTypeCode;
/** /**
* scenDate 刷选日期. * packDate 封包日.
*/ */
private Date scenDate; private Date packDate;
/** /**
* gmtCreate 创建日期. * gmtCreate 创建时间.
*/ */
private Date gmtCreate; private Date gmtCreate;
/** /**
* maxEndDate 最大到期日. * gmtModified 更新时间.
*/ */
private Date maxEndDate; private Date gmtModified;
/**
* minEndDate 最小到期日.
*/
private Date minEndDate;
/**
* approveDate 审批完成日期.
*/
private Date approveDate;
/** /**
* gmtModified 最近修改日期. * packSubmitDate 封包提交日.
*/ */
private Date gmtModified; private Date packSubmitDate;
/** /**
* Set id 自增ID. * Set id .
*/ */
public void setId(Long id){ public void setId(Long id){
this.id = id; this.id = id;
} }
/** /**
* Get id 自增ID. * Get id .
* *
* @return the string * @return the string
*/ */
...@@ -113,14 +77,14 @@ public class AstPackDO{ ...@@ -113,14 +77,14 @@ public class AstPackDO{
} }
/** /**
* Set avalAmt 预期规模. * Set avalAmt 规模.
*/ */
public void setAvalAmt(Long avalAmt){ public void setAvalAmt(Long avalAmt){
this.avalAmt = avalAmt; this.avalAmt = avalAmt;
} }
/** /**
* Get avalAmt 预期规模. * Get avalAmt 规模.
* *
* @return the string * @return the string
*/ */
...@@ -129,83 +93,67 @@ public class AstPackDO{ ...@@ -129,83 +93,67 @@ public class AstPackDO{
} }
/** /**
* Set memo 备注. * Set type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT.
*/
public void setMemo(String memo){
this.memo = memo;
}
/**
* Get memo 备注.
*
* @return the string
*/
public String getMemo(){
return memo;
}
/**
* Set planNo 计划编号.
*/ */
public void setPlanNo(String planNo){ public void setType(String type){
this.planNo = planNo; this.type = type;
} }
/** /**
* Get planNo 计划编号. * Get type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT.
* *
* @return the string * @return the string
*/ */
public String getPlanNo(){ public String getType(){
return planNo; return type;
} }
/** /**
* Set dymRule 动态规则列表. * Set packNo 资产包编号.
*/ */
public void setDymRule(String dymRule){ public void setPackNo(String packNo){
this.dymRule = dymRule; this.packNo = packNo;
} }
/** /**
* Get dymRule 动态规则列表. * Get packNo 资产包编号.
* *
* @return the string * @return the string
*/ */
public String getDymRule(){ public String getPackNo(){
return dymRule; return packNo;
} }
/** /**
* Set extData 资产包详情. * Set planNo 产品编号.
*/ */
public void setExtData(String extData){ public void setPlanNo(String planNo){
this.extData = extData; this.planNo = planNo;
} }
/** /**
* Get extData 资产包详情. * Get planNo 产品编号.
* *
* @return the string * @return the string
*/ */
public String getExtData(){ public String getPlanNo(){
return extData; return planNo;
} }
/** /**
* Set packCode 资产包编码. * Set status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
*/ */
public void setPackCode(String packCode){ public void setStatus(String status){
this.packCode = packCode; this.status = status;
} }
/** /**
* Get packCode 资产包编码. * Get status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
* *
* @return the string * @return the string
*/ */
public String getPackCode(){ public String getStatus(){
return packCode; return status;
} }
/** /**
...@@ -225,158 +173,62 @@ public class AstPackDO{ ...@@ -225,158 +173,62 @@ public class AstPackDO{
} }
/** /**
* Set packType 资产包类型. * Set astPoolNo 资产池编号.
*/
public void setPackType(String packType){
this.packType = packType;
}
/**
* Get packType 资产包类型.
*
* @return the string
*/
public String getPackType(){
return packType;
}
/**
* Set transRule 转让规则.
*/
public void setTransRule(String transRule){
this.transRule = transRule;
}
/**
* Get transRule 转让规则.
*
* @return the string
*/
public String getTransRule(){
return transRule;
}
/**
* Set packStatus 资产包状态.
*/
public void setPackStatus(String packStatus){
this.packStatus = packStatus;
}
/**
* Get packStatus 资产包状态.
*
* @return the string
*/
public String getPackStatus(){
return packStatus;
}
/**
* Set backOutCode 资产转出机构.
*/
public void setBackOutCode(String backOutCode){
this.backOutCode = backOutCode;
}
/**
* Get backOutCode 资产转出机构.
*
* @return the string
*/
public String getBackOutCode(){
return backOutCode;
}
/**
* Set calcIntrType 利率计算类型.
*/
public void setCalcIntrType(String calcIntrType){
this.calcIntrType = calcIntrType;
}
/**
* Get calcIntrType 利率计算类型.
*
* @return the string
*/
public String getCalcIntrType(){
return calcIntrType;
}
/**
* Set approveStatus 审批状态.
*/
public void setApproveStatus(String approveStatus){
this.approveStatus = approveStatus;
}
/**
* Get approveStatus 审批状态.
*
* @return the string
*/ */
public String getApproveStatus(){ public void setAstPoolNo(String astPoolNo){
return approveStatus; this.astPoolNo = astPoolNo;
} }
/** /**
* Set abssqrProdCode 产品编号. * Get astPoolNo 资产池编号.
*/
public void setAbssqrProdCode(String abssqrProdCode){
this.abssqrProdCode = abssqrProdCode;
}
/**
* Get abssqrProdCode 产品编号.
* *
* @return the string * @return the string
*/ */
public String getAbssqrProdCode(){ public String getAstPoolNo(){
return abssqrProdCode; return astPoolNo;
} }
/** /**
* Set managerOrgCode 资产管理机构. * Set astTypeCode 准入资产代码.
*/ */
public void setManagerOrgCode(String managerOrgCode){ public void setAstTypeCode(String astTypeCode){
this.managerOrgCode = managerOrgCode; this.astTypeCode = astTypeCode;
} }
/** /**
* Get managerOrgCode 资产管理机构. * Get astTypeCode 准入资产代码.
* *
* @return the string * @return the string
*/ */
public String getManagerOrgCode(){ public String getAstTypeCode(){
return managerOrgCode; return astTypeCode;
} }
/** /**
* Set scenDate 刷选日期. * Set packDate 封包日.
*/ */
public void setScenDate(Date scenDate){ public void setPackDate(Date packDate){
this.scenDate = scenDate; this.packDate = packDate;
} }
/** /**
* Get scenDate 刷选日期. * Get packDate 封包日.
* *
* @return the string * @return the string
*/ */
public Date getScenDate(){ public Date getPackDate(){
return scenDate; return packDate;
} }
/** /**
* Set gmtCreate 创建日期. * Set gmtCreate 创建时间.
*/ */
public void setGmtCreate(Date gmtCreate){ public void setGmtCreate(Date gmtCreate){
this.gmtCreate = gmtCreate; this.gmtCreate = gmtCreate;
} }
/** /**
* Get gmtCreate 创建日期. * Get gmtCreate 创建时间.
* *
* @return the string * @return the string
*/ */
...@@ -385,66 +237,34 @@ public class AstPackDO{ ...@@ -385,66 +237,34 @@ public class AstPackDO{
} }
/** /**
* Set maxEndDate 最大到期日. * Set gmtModified 更新时间.
*/
public void setMaxEndDate(Date maxEndDate){
this.maxEndDate = maxEndDate;
}
/**
* Get maxEndDate 最大到期日.
*
* @return the string
*/
public Date getMaxEndDate(){
return maxEndDate;
}
/**
* Set minEndDate 最小到期日.
*/
public void setMinEndDate(Date minEndDate){
this.minEndDate = minEndDate;
}
/**
* Get minEndDate 最小到期日.
*
* @return the string
*/
public Date getMinEndDate(){
return minEndDate;
}
/**
* Set approveDate 审批完成日期.
*/ */
public void setApproveDate(Date approveDate){ public void setGmtModified(Date gmtModified){
this.approveDate = approveDate; this.gmtModified = gmtModified;
} }
/** /**
* Get approveDate 审批完成日期. * Get gmtModified 更新时间.
* *
* @return the string * @return the string
*/ */
public Date getApproveDate(){ public Date getGmtModified(){
return approveDate; return gmtModified;
} }
/** /**
* Set gmtModified 最近修改日期. * Set packSubmitDate 封包提交日.
*/ */
public void setGmtModified(Date gmtModified){ public void setPackSubmitDate(Date packSubmitDate){
this.gmtModified = gmtModified; this.packSubmitDate = packSubmitDate;
} }
/** /**
* Get gmtModified 最近修改日期. * Get packSubmitDate 封包提交日.
* *
* @return the string * @return the string
*/ */
public Date getGmtModified(){ public Date getPackSubmitDate(){
return gmtModified; return packSubmitDate;
} }
} }
package com.abssqr.plat.common.dal.mysql.auto.dataobject; package com.abssqr.plat.common.dal.mysql.auto.dataobject;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal;
/** /**
* The table 资产筛选规则 * The table 筛选规则表
*/ */
public class AstScreenRuleDO{ public class AstScreenRuleDO{
...@@ -13,113 +12,41 @@ public class AstScreenRuleDO{ ...@@ -13,113 +12,41 @@ public class AstScreenRuleDO{
*/ */
private Long id; private Long id;
/** /**
* singleMaxAmount 单笔最大金额. * relNo 关联编号.
*/ */
private Long singleMaxAmount; private String relNo;
/** /**
* singleMinAmount 单笔最小金额. * relType 关联类型 1.资产打包 PACK.
*/ */
private Long singleMinAmount; private String relType;
/** /**
* region 地区. * ruleType 规则类型.
*/ */
private String region; private String ruleType;
/** /**
* prodCode 准入产品码. * leftValue 左值.
*/ */
private String prodCode; private String leftValue;
/** /**
* prodName 准入产品名称. * rightValue 右值.
*/ */
private String prodName; private String rightValue;
/** /**
* gmtCreator 创建人. * leftCondition 左条件: 1.大于 GT 2.大于等于 GE.
*/ */
private String gmtCreator; private String leftCondition;
/** /**
* screenType 筛选类型 转让、回购. * rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN.
*/ */
private String screenType; private String rightCondition;
/**
* assetStatus 资产状态,|分割,对应五级分类.
*/
private String assetStatus;
/**
* gmtModifier 修改人.
*/
private String gmtModifier;
/**
* screenRuleNo 资产筛选规则编号.
*/
private String screenRuleNo;
/**
* approveStatus 审批状态.
*/
private String approveStatus;
/**
* lenderOrgCode 原始权益机构.
*/
private String lenderOrgCode;
/**
* abssqrProdCode 内部产品码.
*/
private String abssqrProdCode;
/**
* managerOrgCode .
*/
private String managerOrgCode;
/**
* screenRuleName 资产筛选规则编号.
*/
private String screenRuleName;
/**
* maxAge 最大年龄.
*/
private Integer maxAge;
/**
* minAge 最小年龄.
*/
private Integer minAge;
/**
* maxTerm 最大期次.
*/
private Integer maxTerm;
/**
* minTerm 最小期次.
*/
private Integer minTerm;
/**
* maxRemainDays 最大剩余天数.
*/
private Integer maxRemainDays;
/**
* minRemainDays 最小剩余天数.
*/
private Integer minRemainDays;
/** /**
* gmtCreate 创建时间. * gmtCreate 创建时间.
*/ */
private Date gmtCreate; private Date gmtCreate;
/** /**
* gmtModified 修改时间. * gmtModified 更新时间.
*/ */
private Date gmtModified; private Date gmtModified;
/**
* latestEndDate 最晚到期日.
*/
private Date latestEndDate;
/**
* earliestEndDate 最早到期日.
*/
private Date earliestEndDate;
/**
* singleMaxInterRate 单笔最高利率.
*/
private BigDecimal singleMaxInterRate;
/**
* singleMinInterRate 单笔最单利率.
*/
private BigDecimal singleMinInterRate;
/** /**
* Set id . * Set id .
...@@ -138,339 +65,115 @@ public class AstScreenRuleDO{ ...@@ -138,339 +65,115 @@ public class AstScreenRuleDO{
} }
/** /**
* Set singleMaxAmount 单笔最大金额. * Set relNo 关联编号.
*/
public void setSingleMaxAmount(Long singleMaxAmount){
this.singleMaxAmount = singleMaxAmount;
}
/**
* Get singleMaxAmount 单笔最大金额.
*
* @return the string
*/
public Long getSingleMaxAmount(){
return singleMaxAmount;
}
/**
* Set singleMinAmount 单笔最小金额.
*/
public void setSingleMinAmount(Long singleMinAmount){
this.singleMinAmount = singleMinAmount;
}
/**
* Get singleMinAmount 单笔最小金额.
*
* @return the string
*/
public Long getSingleMinAmount(){
return singleMinAmount;
}
/**
* Set region 地区.
*/
public void setRegion(String region){
this.region = region;
}
/**
* Get region 地区.
*
* @return the string
*/
public String getRegion(){
return region;
}
/**
* Set prodCode 准入产品码.
*/
public void setProdCode(String prodCode){
this.prodCode = prodCode;
}
/**
* Get prodCode 准入产品码.
*
* @return the string
*/
public String getProdCode(){
return prodCode;
}
/**
* Set prodName 准入产品名称.
*/
public void setProdName(String prodName){
this.prodName = prodName;
}
/**
* Get prodName 准入产品名称.
*
* @return the string
*/
public String getProdName(){
return prodName;
}
/**
* Set gmtCreator 创建人.
*/
public void setGmtCreator(String gmtCreator){
this.gmtCreator = gmtCreator;
}
/**
* Get gmtCreator 创建人.
*
* @return the string
*/
public String getGmtCreator(){
return gmtCreator;
}
/**
* Set screenType 筛选类型 转让、回购.
*/
public void setScreenType(String screenType){
this.screenType = screenType;
}
/**
* Get screenType 筛选类型 转让、回购.
*
* @return the string
*/
public String getScreenType(){
return screenType;
}
/**
* Set assetStatus 资产状态,|分割,对应五级分类.
*/
public void setAssetStatus(String assetStatus){
this.assetStatus = assetStatus;
}
/**
* Get assetStatus 资产状态,|分割,对应五级分类.
*
* @return the string
*/
public String getAssetStatus(){
return assetStatus;
}
/**
* Set gmtModifier 修改人.
*/
public void setGmtModifier(String gmtModifier){
this.gmtModifier = gmtModifier;
}
/**
* Get gmtModifier 修改人.
*
* @return the string
*/
public String getGmtModifier(){
return gmtModifier;
}
/**
* Set screenRuleNo 资产筛选规则编号.
*/
public void setScreenRuleNo(String screenRuleNo){
this.screenRuleNo = screenRuleNo;
}
/**
* Get screenRuleNo 资产筛选规则编号.
*
* @return the string
*/
public String getScreenRuleNo(){
return screenRuleNo;
}
/**
* Set approveStatus 审批状态.
*/
public void setApproveStatus(String approveStatus){
this.approveStatus = approveStatus;
}
/**
* Get approveStatus 审批状态.
*
* @return the string
*/
public String getApproveStatus(){
return approveStatus;
}
/**
* Set lenderOrgCode 原始权益机构.
*/
public void setLenderOrgCode(String lenderOrgCode){
this.lenderOrgCode = lenderOrgCode;
}
/**
* Get lenderOrgCode 原始权益机构.
*
* @return the string
*/
public String getLenderOrgCode(){
return lenderOrgCode;
}
/**
* Set abssqrProdCode 内部产品码.
*/
public void setAbssqrProdCode(String abssqrProdCode){
this.abssqrProdCode = abssqrProdCode;
}
/**
* Get abssqrProdCode 内部产品码.
*
* @return the string
*/
public String getAbssqrProdCode(){
return abssqrProdCode;
}
/**
* Set managerOrgCode .
*/
public void setManagerOrgCode(String managerOrgCode){
this.managerOrgCode = managerOrgCode;
}
/**
* Get managerOrgCode .
*
* @return the string
*/
public String getManagerOrgCode(){
return managerOrgCode;
}
/**
* Set screenRuleName 资产筛选规则编号.
*/ */
public void setScreenRuleName(String screenRuleName){ public void setRelNo(String relNo){
this.screenRuleName = screenRuleName; this.relNo = relNo;
} }
/** /**
* Get screenRuleName 资产筛选规则编号. * Get relNo 关联编号.
* *
* @return the string * @return the string
*/ */
public String getScreenRuleName(){ public String getRelNo(){
return screenRuleName; return relNo;
} }
/** /**
* Set maxAge 最大年龄. * Set relType 关联类型 1.资产打包 PACK.
*/ */
public void setMaxAge(Integer maxAge){ public void setRelType(String relType){
this.maxAge = maxAge; this.relType = relType;
} }
/** /**
* Get maxAge 最大年龄. * Get relType 关联类型 1.资产打包 PACK.
* *
* @return the string * @return the string
*/ */
public Integer getMaxAge(){ public String getRelType(){
return maxAge; return relType;
} }
/** /**
* Set minAge 最小年龄. * Set ruleType 规则类型.
*/ */
public void setMinAge(Integer minAge){ public void setRuleType(String ruleType){
this.minAge = minAge; this.ruleType = ruleType;
} }
/** /**
* Get minAge 最小年龄. * Get ruleType 规则类型.
* *
* @return the string * @return the string
*/ */
public Integer getMinAge(){ public String getRuleType(){
return minAge; return ruleType;
} }
/** /**
* Set maxTerm 最大期次. * Set leftValue 左值.
*/ */
public void setMaxTerm(Integer maxTerm){ public void setLeftValue(String leftValue){
this.maxTerm = maxTerm; this.leftValue = leftValue;
} }
/** /**
* Get maxTerm 最大期次. * Get leftValue 左值.
* *
* @return the string * @return the string
*/ */
public Integer getMaxTerm(){ public String getLeftValue(){
return maxTerm; return leftValue;
} }
/** /**
* Set minTerm 最小期次. * Set rightValue 右值.
*/ */
public void setMinTerm(Integer minTerm){ public void setRightValue(String rightValue){
this.minTerm = minTerm; this.rightValue = rightValue;
} }
/** /**
* Get minTerm 最小期次. * Get rightValue 右值.
* *
* @return the string * @return the string
*/ */
public Integer getMinTerm(){ public String getRightValue(){
return minTerm; return rightValue;
} }
/** /**
* Set maxRemainDays 最大剩余天数. * Set leftCondition 左条件: 1.大于 GT 2.大于等于 GE.
*/ */
public void setMaxRemainDays(Integer maxRemainDays){ public void setLeftCondition(String leftCondition){
this.maxRemainDays = maxRemainDays; this.leftCondition = leftCondition;
} }
/** /**
* Get maxRemainDays 最大剩余天数. * Get leftCondition 左条件: 1.大于 GT 2.大于等于 GE.
* *
* @return the string * @return the string
*/ */
public Integer getMaxRemainDays(){ public String getLeftCondition(){
return maxRemainDays; return leftCondition;
} }
/** /**
* Set minRemainDays 最小剩余天数. * Set rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN.
*/ */
public void setMinRemainDays(Integer minRemainDays){ public void setRightCondition(String rightCondition){
this.minRemainDays = minRemainDays; this.rightCondition = rightCondition;
} }
/** /**
* Get minRemainDays 最小剩余天数. * Get rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN.
* *
* @return the string * @return the string
*/ */
public Integer getMinRemainDays(){ public String getRightCondition(){
return minRemainDays; return rightCondition;
} }
/** /**
...@@ -490,82 +193,18 @@ public class AstScreenRuleDO{ ...@@ -490,82 +193,18 @@ public class AstScreenRuleDO{
} }
/** /**
* Set gmtModified 修改时间. * Set gmtModified 更新时间.
*/ */
public void setGmtModified(Date gmtModified){ public void setGmtModified(Date gmtModified){
this.gmtModified = gmtModified; this.gmtModified = gmtModified;
} }
/** /**
* Get gmtModified 修改时间. * Get gmtModified 更新时间.
* *
* @return the string * @return the string
*/ */
public Date getGmtModified(){ public Date getGmtModified(){
return gmtModified; return gmtModified;
} }
/**
* Set latestEndDate 最晚到期日.
*/
public void setLatestEndDate(Date latestEndDate){
this.latestEndDate = latestEndDate;
}
/**
* Get latestEndDate 最晚到期日.
*
* @return the string
*/
public Date getLatestEndDate(){
return latestEndDate;
}
/**
* Set earliestEndDate 最早到期日.
*/
public void setEarliestEndDate(Date earliestEndDate){
this.earliestEndDate = earliestEndDate;
}
/**
* Get earliestEndDate 最早到期日.
*
* @return the string
*/
public Date getEarliestEndDate(){
return earliestEndDate;
}
/**
* Set singleMaxInterRate 单笔最高利率.
*/
public void setSingleMaxInterRate(BigDecimal singleMaxInterRate){
this.singleMaxInterRate = singleMaxInterRate;
}
/**
* Get singleMaxInterRate 单笔最高利率.
*
* @return the string
*/
public BigDecimal getSingleMaxInterRate(){
return singleMaxInterRate;
}
/**
* Set singleMinInterRate 单笔最单利率.
*/
public void setSingleMinInterRate(BigDecimal singleMinInterRate){
this.singleMinInterRate = singleMinInterRate;
}
/**
* Get singleMinInterRate 单笔最单利率.
*
* @return the string
*/
public BigDecimal getSingleMinInterRate(){
return singleMinInterRate;
}
} }
...@@ -2,100 +2,68 @@ package com.abssqr.plat.common.dal.mysql.auto.mapper; ...@@ -2,100 +2,68 @@ package com.abssqr.plat.common.dal.mysql.auto.mapper;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO; import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import java.util.List; import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.paging.ActivePackPage;
import java.lang.Long; import java.lang.Long;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/** /**
* 由于需要对分页支持,请直接使用对应的DAO类 * 由于需要对分页支持,请直接使用对应的DAO类
* The Table ABS_AST_PACK. * The Table abs_ast_pack.
* 资产包 * 资产包
*/ */
public interface AstPackDOMapper{ public interface AstPackDOMapper{
/** /**
* desc:插入表:ABS_AST_PACK.<br/> * desc:插入表:abs_ast_pack.<br/>
* @param entity entity * @param entity entity
* @return int * @return int
*/ */
int insert(AstPackDO entity); int insert(AstPackDO entity);
/** /**
* desc:批量插入表:abs_account.<br/> * desc:批量插入表:abs_ast_pack.<br/>
* @param list list * @param list list
* @return int * @return int
*/ */
int insertBatch(List<AstPackDO> list); int insertBatch(List<AstPackDO> list);
/** /**
* desc:根据状态获取包.<br/> * desc:根据主键删除数据:abs_ast_pack.<br/>
* @param scenDate scenDate * @param id id
* @param packType packType * @return int
* @param packStatus packStatus
* @return List<AstPackDO>
*/ */
List<AstPackDO> selectPackByStatus(@Param("scenDate")Date scenDate,@Param("packType")String packType,@Param("packStatus")String packStatus); int deleteById(Long id);
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据主键获取数据:abs_ast_pack.<br/>
* @param packCode packCode * @param id id
* @return AstPackDO * @return AstPackDO
*/ */
AstPackDO getByPackCode(@Param("packCode")String packCode); AstPackDO getById(Long id);
/**
* desc:根据普通索引AbsTrCtrTask0获取数据:abs_tr_ctr_task.<br/>
* @param scenDate scenDate
* @param status status
* @param packType packType
* @param managerOrgCode managerOrgCode
* @return List<AstPackDO>
*/
List<AstPackDO> getByManagerOrg(@Param("scenDate")Date scenDate,@Param("status")String status,@Param("packType")String packType,@Param("managerOrgCode")String managerOrgCode);
/** /**
* desc:更新表:ABS_AST_PACK.<br/> * desc:根据唯一约束AbsPackPackNo更新表:abs_ast_pack.<br/>
* @param packStatus packStatus * @param entity entity
* @param oldPackStatus oldPackStatus
* @param packCodes packCodes
* @return int * @return int
*/ */
int updatePackStatus(@Param("packStatus")String packStatus,@Param("oldPackStatus")String oldPackStatus,@Param("packCodes")List<String> packCodes); int updateByAbsPackPackNo(AstPackDO entity);
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据唯一约束AbsPackPackNo删除数据:abs_ast_pack.<br/>
* @param planNo planNo * @param packNo packNo
* @param packType packType * @return int
* @return List<AstPackDO>
*/ */
List<AstPackDO> getByPlanNo(@Param("planNo")String planNo,@Param("packType")String packType); int deleteByAbsPackPackNo(@Param("packNo")String packNo);
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据唯一约束AbsPackPackNo获取数据:abs_ast_pack.<br/>
* @param scenDate scenDate * @param packNo packNo
* @param planNo planNo
* @param packType packType
* @return AstPackDO * @return AstPackDO
*/ */
AstPackDO getLastDayPackByPlanNo(@Param("scenDate")Date scenDate,@Param("planNo")String planNo,@Param("packType")String packType); AstPackDO getByAbsPackPackNo(@Param("packNo")String packNo);
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param activePack activePack
* @return int
*/
int queryByActivePacksCount(ActivePackPage activePack);
/** /**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/> * desc:根据普通索引AbsPackPlanNo获取数据:abs_ast_pack.<br/>
* @param activePack activePack * @param planNo planNo
* @return List<AstPackDO> * @return List<AstPackDO>
*/ */
List<AstPackDO> queryByActivePacksResult(ActivePackPage activePack); List<AstPackDO> queryByAbsPackPlanNo(@Param("planNo")String planNo);
/** /**
* desc:获取指定状态的资产包数量.<br/> * desc:根据资产包名查询数量.<br/>
* @param time time * @param packName packName
* @param status status
* @param packType packType
* @return Long * @return Long
*/ */
Long countByStatusAndTime(@Param("time")Date time,@Param("status")String status,@Param("packType")String packType); Long cntByPackName(@Param("packName")String packName);
/**
* desc:锁资产包.<br/>
* @param packCode packCode
* @return AstPackDO
*/
AstPackDO lockByPackCode(@Param("packCode")String packCode);
} }
...@@ -2,14 +2,12 @@ package com.abssqr.plat.common.dal.mysql.auto.mapper; ...@@ -2,14 +2,12 @@ package com.abssqr.plat.common.dal.mysql.auto.mapper;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO; import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
import java.util.List; import java.util.List;
import java.util.Map;
import com.abssqr.plat.common.dal.mysql.auto.paging.ScreenRulePage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/** /**
* 由于需要对分页支持,请直接使用对应的DAO类 * 由于需要对分页支持,请直接使用对应的DAO类
* The Table abs_ast_screen_rule. * The Table abs_ast_screen_rule.
* 资产筛选规则 * 筛选规则表
*/ */
public interface AstScreenRuleDOMapper{ public interface AstScreenRuleDOMapper{
...@@ -26,40 +24,21 @@ public interface AstScreenRuleDOMapper{ ...@@ -26,40 +24,21 @@ public interface AstScreenRuleDOMapper{
*/ */
int insertBatch(List<AstScreenRuleDO> list); int insertBatch(List<AstScreenRuleDO> list);
/** /**
* desc:根据唯一约束ScreenRuleNo更新表:abs_ast_screen_rule.<br/> * desc:根据主键删除数据:abs_ast_screen_rule.<br/>
* @param entity entity * @param id id
* @return int * @return int
*/ */
int updateByScreenRuleNo(AstScreenRuleDO entity); int deleteById(@Param("id")Long id);
/** /**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/> * desc:根据主键获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNo screenRuleNo * @param id id
* @return AstScreenRuleDO * @return AstScreenRuleDO
*/ */
AstScreenRuleDO getByScreenRuleNo(@Param("screenRuleNo")String screenRuleNo); AstScreenRuleDO getById(@Param("id")Long id);
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNos screenRuleNos
* @return List<AstScreenRuleDO>
*/
List<AstScreenRuleDO> getByScreenRuleNos(@Param("screenRuleNos")List<String> screenRuleNos);
/**
* desc:分页查询资产筛选规则.<br/>
* @param screenRule screenRule
* @return int
*/
int getScreenRuleListCount(ScreenRulePage screenRule);
/** /**
* desc:分页查询资产筛选规则.<br/> * desc:根据普通索引AbsAstScreenRuleRelNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRule screenRule * @param relNo relNo
* @return List<AstScreenRuleDO> * @return List<AstScreenRuleDO>
*/ */
List<AstScreenRuleDO> getScreenRuleListResult(ScreenRulePage screenRule); List<AstScreenRuleDO> queryByAbsAstScreenRuleRelNo(@Param("relNo")String relNo);
/**
* desc:获取同名筛选规则数量,防止重名存在.<br/>
* @param screenRuleNo screenRuleNo
* @param screenRuleName screenRuleName
* @return int
*/
int getSameRuleCnt(@Param("screenRuleNo")String screenRuleNo,@Param("screenRuleName")String screenRuleName);
} }
...@@ -9,19 +9,19 @@ import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO; ...@@ -9,19 +9,19 @@ import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
public class ActivePackPage extends BasePage<AstPackDO>{ public class ActivePackPage extends BasePage<AstPackDO>{
/** /**
* packType 资产包类型. * packType .
*/ */
private String packType; private String packType;
/** /**
* Set packType 资产包类型. * Set packType .
*/ */
public void setPackType(String packType){ public void setPackType(String packType){
this.packType = packType; this.packType = packType;
} }
/** /**
* Get packType 资产包类型. * Get packType .
* *
* @return the string * @return the string
*/ */
......
...@@ -20,245 +20,165 @@ ...@@ -20,245 +20,165 @@
<sql id="Base_SF_Column_List"> <sql id="Base_SF_Column_List">
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.ID,sf.AVAL_AMT,sf.TYPE,sf.PACK_NO,sf.PLAN_NO
,sf.STATUS,sf.PACK_NAME,sf.AST_POOL_NO,sf.PACK_DATE,sf.GMT_CREATE
,sf.GMT_MODIFIED,sf.PACK_SUBMIT_DATE,sf.AST_TYPE_CODE
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
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, ID,AVAL_AMT,TYPE,PACK_NO,PLAN_NO
ABSSQR_PROD_CODE,BACK_OUT_CODE,APPROVE_STATUS,APPROVE_DATE,MEMO,PACK_TYPE ,STATUS,PACK_NAME,AST_POOL_NO,PACK_DATE,GMT_CREATE
,GMT_MODIFIED,PACK_SUBMIT_DATE,AST_TYPE_CODE
</sql> </sql>
<!--插入表:ABS_AST_PACK mydalgen自动生成,请勿修改--> <!--插入表:abs_ast_pack mydalgen自动生成,请勿修改-->
<insert id="insert" > <insert id="insert" >
<![CDATA[ <![CDATA[
INSERT INTO ABS_AST_PACK( INSERT INTO abs_ast_pack(
ID, ID
PLAN_NO, ,AVAL_AMT
AVAL_AMT, ,TYPE
PACK_CODE, ,PACK_NO
PACK_NAME, ,PLAN_NO
PACK_STATUS, ,STATUS
MAX_END_DATE, ,PACK_NAME
MIN_END_DATE, ,AST_POOL_NO
TRANS_RULE, ,PACK_DATE
DYM_RULE, ,GMT_CREATE
GMT_CREATE, ,GMT_MODIFIED
GMT_MODIFIED, ,PACK_SUBMIT_DATE
SCEN_DATE, ,AST_TYPE_CODE
CALC_INTR_TYPE, )VALUES(
MANAGER_ORG_CODE, SEQ_ABS_AST_PACK.nextval
ABSSQR_PROD_CODE, , #{avalAmt,jdbcType=DECIMAL}
BACK_OUT_CODE, , #{type,jdbcType=VARCHAR}
APPROVE_STATUS, , #{packNo,jdbcType=VARCHAR}
APPROVE_DATE, , #{planNo,jdbcType=VARCHAR}
MEMO, , #{status,jdbcType=VARCHAR}
PACK_TYPE , #{packName,jdbcType=VARCHAR}
)VALUES( , #{astPoolNo,jdbcType=VARCHAR}
SEQ_ABS_AST_PACK.nextval , #{packDate,jdbcType=DATE}
, #{planNo,jdbcType=VARCHAR} , sysdate
, #{avalAmt,jdbcType=BIGINT} , sysdate
, #{packCode,jdbcType=VARCHAR} , #{packSubmitDate,jdbcType=DATE}
, #{packName,jdbcType=VARCHAR} , #{astTypeCode,jdbcType=VARCHAR}
, #{packStatus,jdbcType=VARCHAR} )
, #{maxEndDate,jdbcType=DATE} ]]>
, #{minEndDate,jdbcType=DATE}
, #{transRule,jdbcType=VARCHAR}
, #{dymRule,jdbcType=VARCHAR}
, sysdate
, sysdate
, trunc(#{scenDate,jdbcType=DATE})
, #{calcIntrType,jdbcType=VARCHAR}
, #{managerOrgCode,jdbcType=VARCHAR}
, #{abssqrProdCode,jdbcType=VARCHAR}
, #{backOutCode,jdbcType=VARCHAR}
, #{approveStatus,jdbcType=VARCHAR}
, #{approveDate,jdbcType=DATE}
, #{memo,jdbcType=VARCHAR}
, #{packType,jdbcType=VARCHAR}
)
]]>
</insert> </insert>
<!--批量插入表:abs_account mydalgen自动生成,请勿修改--> <!--批量插入表:abs_ast_pack mydalgen自动生成,请勿修改-->
<insert id="insertBatch" > <insert id="insertBatch" >
begin begin
<foreach collection="list" item="item" separator=";"> <foreach collection="list" item="item" separator=";">
INSERT INTO ABS_AST_PACK( INSERT INTO abs_ast_pack(
ID, ID
PLAN_NO, ,AVAL_AMT
AVAL_AMT, ,TYPE
PACK_CODE, ,PACK_NO
PACK_NAME, ,PLAN_NO
PACK_STATUS, ,STATUS
MAX_END_DATE, ,PACK_NAME
MIN_END_DATE, ,AST_POOL_NO
TRANS_RULE, ,PACK_DATE
DYM_RULE, ,GMT_CREATE
GMT_CREATE, ,GMT_MODIFIED
GMT_MODIFIED, ,PACK_SUBMIT_DATE
SCEN_DATE, ,AST_TYPE_CODE
CALC_INTR_TYPE, )VALUES
MANAGER_ORG_CODE, (
ABSSQR_PROD_CODE, null
BACK_OUT_CODE, , #{item.avalAmt,jdbcType=DECIMAL}
APPROVE_STATUS, , #{item.type,jdbcType=VARCHAR}
APPROVE_DATE, , #{item.packNo,jdbcType=VARCHAR}
MEMO, , #{item.planNo,jdbcType=VARCHAR}
PACK_TYPE , #{item.status,jdbcType=VARCHAR}
)VALUES( , #{item.packName,jdbcType=VARCHAR}
SEQ_ABS_AST_PACK.nextval , #{item.astPoolNo,jdbcType=VARCHAR}
, #{item.planNo,jdbcType=VARCHAR} , #{item.packDate,jdbcType=DATE}
, #{item.avalAmt,jdbcType=BIGINT} , sysdate
, #{item.packCode,jdbcType=VARCHAR} , sysdate
, #{item.packName,jdbcType=VARCHAR} , #{item.packSubmitDate,jdbcType=DATE}
, #{item.packStatus,jdbcType=VARCHAR} , #{item.astTypeCode,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}
) )
</foreach> </foreach>
;end; ;end;
</insert> </insert>
<!--根据状态获取包 mydalgen自动生成,请勿修改--> <!--根据主键删除数据:abs_ast_pack mydalgen自动生成,请勿修改-->
<select id="selectPackByStatus" resultMap="BaseResultMap" > <delete id="deleteById" >
select /*MS-ABS-AST-PACK-SELECTPACKBYSTATUS*/ <include refid="Base_Column_List" /> <![CDATA[
from DELETE /*MS-ABS-AST-PACK-DELETEBYID*/ FROM abs_ast_pack
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>
<!--根据packCode获取数据:ABS_AST_PACK mydalgen自动生成,请勿修改-->
<select id="getByPackCode" resultMap="BaseResultMap" >
SELECT /*MS-ABS-AST-PACK-GETBYPACKCODE*/ <include refid="Base_Column_List" />
FROM ABS_AST_PACK
WHERE WHERE
PACK_CODE = #{packCode,jdbcType=VARCHAR} ID = #{id,jdbcType=DECIMAL}
</select> ]]>
</delete>
<!--根据普通索引AbsTrCtrTask0获取数据:abs_tr_ctr_task mydalgen自动生成,请勿修改--> <!--根据主键获取数据:abs_ast_pack mydalgen自动生成,请勿修改-->
<select id="getByManagerOrg" resultMap="BaseResultMap" > <select id="getById" resultMap="BaseResultMap" >
SELECT /*MS-ABS-AST-PACK-GETBYMANAGERORG*/ <include refid="Base_Column_List" /> SELECT /*MS-ABS-AST-PACK-GETBYID*/ <include refid="Base_Column_List" />
FROM ABS_AST_PACK FROM abs_ast_pack
WHERE WHERE
MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR} <![CDATA[
AND SCEN_DATE = #{scenDate,jdbcType=DATE} ID = #{id,jdbcType=DECIMAL}
<if test="status!=null and status!=''"> ]]>
AND PACK_STATUS = #{status,jdbcType=VARCHAR}
</if>
AND PACK_TYPE = #{packType,jdbcType=VARCHAR}
</select> </select>
<!--更新表:ABS_AST_PACK mydalgen自动生成,请勿修改--> <!--根据唯一约束AbsPackPackNo更新表:abs_ast_pack mydalgen自动生成,请勿修改-->
<update id="updatePackStatus" > <update id="updateByAbsPackPackNo" >
UPDATE /*MS-ABS-AST-PACK-UPDATEPACKSTATUS*/ ABS_AST_PACK <![CDATA[
UPDATE /*MS-ABS-AST-PACK-UPDATEBYABSPACKPACKNO*/ abs_ast_pack
SET SET
PACK_STATUS = #{packStatus,jdbcType=VARCHAR} AVAL_AMT = #{avalAmt,jdbcType=DECIMAL}
,TYPE = #{type,jdbcType=VARCHAR}
,PLAN_NO = #{planNo,jdbcType=VARCHAR}
,STATUS = #{status,jdbcType=VARCHAR}
,PACK_NAME = #{packName,jdbcType=VARCHAR}
,AST_POOL_NO = #{astPoolNo,jdbcType=VARCHAR}
,PACK_DATE = #{packDate,jdbcType=DATE}
,GMT_MODIFIED = sysdate ,GMT_MODIFIED = sysdate
,PACK_SUBMIT_DATE = #{packSubmitDate,jdbcType=DATE}
,AST_TYPE_CODE = #{astTypeCode,jdbcType=VARCHAR}
WHERE WHERE
PACK_STATUS = #{oldPackStatus,jdbcType=VARCHAR} PACK_NO = #{packNo,jdbcType=VARCHAR}
and PACK_CODE in ]]>
<foreach collection="packCodes" item="packCode" open="(" close=")" separator=",">
#{packCode,jdbcType=VARCHAR}
</foreach>
</update> </update>
<!--根据packCode获取数据:ABS_AST_PACK mydalgen自动生成,请勿修改--> <!--根据唯一约束AbsPackPackNo删除数据:abs_ast_pack mydalgen自动生成,请勿修改-->
<select id="getByPlanNo" resultMap="BaseResultMap" > <delete id="deleteByAbsPackPackNo" >
SELECT /*MS-ABS-AST-PACK-GETBYPLANNO*/ <include refid="Base_Column_List" />
FROM ABS_AST_PACK
WHERE
PLAN_NO = #{planNo,jdbcType=VARCHAR}
AND PACK_TYPE = #{packType,jdbcType=VARCHAR}
</select>
<!--根据packCode获取数据:ABS_AST_PACK mydalgen自动生成,请勿修改-->
<select id="getLastDayPackByPlanNo" resultMap="BaseResultMap" >
select /*MS-ABS-AST-PACK-GETLASTDAYPACKBYPLANNO*/ <include refid="Base_Column_List" /> from
(
SELECT <include refid="Base_Column_List" />
FROM ABS_AST_PACK
WHERE
<![CDATA[ <![CDATA[
PLAN_NO = #{planNo,jdbcType=VARCHAR} DELETE /*MS-ABS-AST-PACK-DELETEBYABSPACKPACKNO*/ FROM abs_ast_pack
AND PACK_TYPE = #{packType,jdbcType=VARCHAR}
AND SCEN_DATE < trunc(#{scenDate,jdbcType=DATE})
order by SCEN_DATE desc
]]>
)
where ROWNUM=1
</select>
<!--根据packCode获取数据:ABS_AST_PACK pageCount mydalgen自动生成,请勿修改-->
<select id="queryByActivePacksCount" resultType="int" >
SELECT
COUNT(*) AS total
FROM
ABS_AST_PACK
WHERE WHERE
PACK_STATUS in('unclosepack','closepack','importpack') PACK_NO = #{packNo,jdbcType=VARCHAR}
AND PACK_TYPE = #{packType,jdbcType=VARCHAR} ]]>
</delete>
</select>
<!--根据packCode获取数据:ABS_AST_PACK pageResult mydalgen自动生成,请勿修改--> <!--根据唯一约束AbsPackPackNo获取数据:abs_ast_pack mydalgen自动生成,请勿修改-->
<select id="queryByActivePacksResult" resultMap="BaseResultMap" > <select id="getByAbsPackPackNo" resultMap="BaseResultMap" >
select SELECT /*MS-ABS-AST-PACK-GETBYABSPACKPACKNO*/ <include refid="Base_Column_List" />
* FROM abs_ast_pack
from(
select
tt.*,ROWNUM AS rowno
from(
SELECT
<include refid="Base_Column_List" />
FROM
ABS_AST_PACK
WHERE WHERE
PACK_STATUS in('unclosepack','closepack','importpack') <![CDATA[
AND PACK_TYPE = #{packType,jdbcType=VARCHAR} PACK_NO = #{packNo,jdbcType=VARCHAR}
ORDER BY id asc ]]>
) tt where ROWNUM &lt;= #{endRow}
) table_alias
where table_alias.rowno &gt; #{startRow}
</select> </select>
<!--获取指定状态的资产包数量 mydalgen自动生成,请勿修改--> <!--根据普通索引AbsPackPlanNo获取数据:abs_ast_pack mydalgen自动生成,请勿修改-->
<select id="countByStatusAndTime" resultType="java.lang.Long" > <select id="queryByAbsPackPlanNo" resultMap="BaseResultMap" >
SELECT SELECT /*MS-ABS-AST-PACK-QUERYBYABSPACKPLANNO*/ <include refid="Base_Column_List" />
count(*) FROM abs_ast_pack
FROM
ABS_AST_PACK
WHERE WHERE
<![CDATA[ <![CDATA[
PACK_STATUS = #{status,jdbcType=VARCHAR} PLAN_NO = #{planNo,jdbcType=VARCHAR}
AND PACK_TYPE = #{packType,jdbcType=VARCHAR}
AND GMT_MODIFIED < #{time,jdbcType=TIMESTAMP}
]]> ]]>
</select> </select>
<!--锁资产包 mydalgen自动生成,请勿修改--> <!--根据资产包名查询数量 mydalgen自动生成,请勿修改-->
<select id="lockByPackCode" resultMap="BaseResultMap" > <select id="cntByPackName" resultType="java.lang.Long" >
SELECT SELECT /*MS-ABS-AST-PACK-CNTBYPACKNAME*/ count(*)
<include refid="Base_Column_List" /> FROM abs_ast_pack
FROM
ABS_AST_PACK
WHERE WHERE
PACK_CODE = #{packCode,jdbcType=VARCHAR} <![CDATA[
FOR UPDATE PACK_NAME = #{packName,jdbcType=VARCHAR}
]]>
</select> </select>
</mapper> </mapper>
...@@ -17,20 +17,12 @@ ...@@ -17,20 +17,12 @@
<sql id="Base_SF_Column_List"> <sql id="Base_SF_Column_List">
sf.ID,sf.SINGLE_MAX_AMOUNT,sf.SINGLE_MIN_AMOUNT,sf.REGION,sf.LENDER_ORG_CODE sf.ID,sf.REL_NO,sf.REL_TYPE,sf.RULE_TYPE,sf.LEFT_VALUE
,sf.PROD_CODE,sf.ABSSQR_PROD_CODE,sf.PROD_NAME,sf.ASSET_STATUS,sf.SCREEN_RULE_NO,sf.SCREEN_RULE_NAME ,sf.RIGHT_VALUE,sf.LEFT_CONDITION,sf.RIGHT_CONDITION,sf.GMT_CREATE,sf.GMT_MODIFIED
,sf.MAX_AGE,sf.MIN_AGE,sf.MAX_TERM,sf.MIN_TERM,sf.MAX_REMAIN_DAYS
,sf.MIN_REMAIN_DAYS,sf.GMT_CREATE,sf.GMT_MODIFIED,sf.LATEST_END_DATE,sf.EARLIEST_END_DATE,sf.MANAGER_ORG_CODE
,sf.SINGLE_MAX_INTER_RATE,sf.SINGLE_MIN_INTER_RATE,sf.GMT_CREATOR,sf.GMT_MODIFIER
,sf.APPROVE_STATUS,sf.SCREEN_TYPE
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
ID,SINGLE_MAX_AMOUNT,SINGLE_MIN_AMOUNT,REGION,LENDER_ORG_CODE ID,REL_NO,REL_TYPE,RULE_TYPE,LEFT_VALUE
,PROD_CODE,ABSSQR_PROD_CODE,PROD_NAME,ASSET_STATUS,SCREEN_RULE_NO,SCREEN_RULE_NAME ,RIGHT_VALUE,LEFT_CONDITION,RIGHT_CONDITION,GMT_CREATE,GMT_MODIFIED
,MAX_AGE,MIN_AGE,MAX_TERM,MIN_TERM,MAX_REMAIN_DAYS
,MIN_REMAIN_DAYS,GMT_CREATE,GMT_MODIFIED,LATEST_END_DATE,EARLIEST_END_DATE,MANAGER_ORG_CODE
,SINGLE_MAX_INTER_RATE,SINGLE_MIN_INTER_RATE,GMT_CREATOR,GMT_MODIFIER
,APPROVE_STATUS,SCREEN_TYPE
</sql> </sql>
...@@ -39,62 +31,26 @@ ...@@ -39,62 +31,26 @@
<![CDATA[ <![CDATA[
INSERT INTO abs_ast_screen_rule( INSERT INTO abs_ast_screen_rule(
ID ID
,SINGLE_MAX_AMOUNT ,REL_NO
,SINGLE_MIN_AMOUNT ,REL_TYPE
,REGION ,RULE_TYPE
,LENDER_ORG_CODE ,LEFT_VALUE
,PROD_CODE ,RIGHT_VALUE
,ABSSQR_PROD_CODE ,LEFT_CONDITION
,PROD_NAME ,RIGHT_CONDITION
,ASSET_STATUS
,SCREEN_RULE_NO
,SCREEN_RULE_NAME
,MAX_AGE
,MIN_AGE
,MAX_TERM
,MIN_TERM
,MAX_REMAIN_DAYS
,MIN_REMAIN_DAYS
,GMT_CREATE ,GMT_CREATE
,GMT_MODIFIED ,GMT_MODIFIED
,LATEST_END_DATE
,EARLIEST_END_DATE
,MANAGER_ORG_CODE
,SINGLE_MAX_INTER_RATE
,SINGLE_MIN_INTER_RATE
,GMT_CREATOR
,GMT_MODIFIER
,APPROVE_STATUS
,SCREEN_TYPE
)VALUES( )VALUES(
SEQ_ABS_AST_SCREEN_RULE.nextval SEQ_ABS_AST_SCREEN_RULE.nextval
, #{singleMaxAmount,jdbcType=BIGINT} , #{relNo,jdbcType=VARCHAR}
, #{singleMinAmount,jdbcType=BIGINT} , #{relType,jdbcType=VARCHAR}
, #{region,jdbcType=VARCHAR} , #{ruleType,jdbcType=VARCHAR}
, #{lenderOrgCode,jdbcType=VARCHAR} , #{leftValue,jdbcType=VARCHAR}
, #{prodCode,jdbcType=VARCHAR} , #{rightValue,jdbcType=VARCHAR}
, #{abssqrProdCode,jdbcType=VARCHAR} , #{leftCondition,jdbcType=VARCHAR}
, #{prodName,jdbcType=VARCHAR} , #{rightCondition,jdbcType=VARCHAR}
, #{assetStatus,jdbcType=VARCHAR} , sysdate
, #{screenRuleNo,jdbcType=VARCHAR} , sysdate
, #{screenRuleName,jdbcType=VARCHAR}
, #{maxAge,jdbcType=INTEGER}
, #{minAge,jdbcType=INTEGER}
, #{maxTerm,jdbcType=INTEGER}
, #{minTerm,jdbcType=INTEGER}
, #{maxRemainDays,jdbcType=INTEGER}
, #{minRemainDays,jdbcType=INTEGER}
, sysdate
, sysdate
, #{latestEndDate,jdbcType=DATE}
, #{earliestEndDate,jdbcType=DATE}
, #{managerOrgCode,jdbcType=VARCHAR}
, #{singleMaxInterRate,jdbcType=DECIMAL}
, #{singleMinInterRate,jdbcType=DECIMAL}
, #{gmtCreator,jdbcType=VARCHAR}
, #{gmtModifier,jdbcType=VARCHAR}
, #{approveStatus,jdbcType=VARCHAR}
, #{screenType,jdbcType=VARCHAR}
) )
]]> ]]>
</insert> </insert>
...@@ -102,220 +58,61 @@ ...@@ -102,220 +58,61 @@
<!--批量插入表:abs_ast_screen_rule mydalgen自动生成,请勿修改--> <!--批量插入表:abs_ast_screen_rule mydalgen自动生成,请勿修改-->
<insert id="insertBatch" > <insert id="insertBatch" >
begin begin
<foreach collection="list" item="item" separator=";"> <foreach collection="list" item="item" separator=";">
INSERT INTO abs_ast_screen_rule( INSERT INTO abs_ast_screen_rule(
ID ID
,SINGLE_MAX_AMOUNT ,REL_NO
,SINGLE_MIN_AMOUNT ,REL_TYPE
,REGION ,RULE_TYPE
,LENDER_ORG_CODE ,LEFT_VALUE
,PROD_CODE ,RIGHT_VALUE
,ABSSQR_PROD_CODE ,LEFT_CONDITION
,PROD_NAME ,RIGHT_CONDITION
,ASSET_STATUS ,GMT_CREATE
,SCREEN_RULE_NO ,GMT_MODIFIED
,SCREEN_RULE_NAME
,MAX_AGE
,MIN_AGE
,MAX_TERM
,MIN_TERM
,MAX_REMAIN_DAYS
,MIN_REMAIN_DAYS
,GMT_CREATE
,GMT_MODIFIED
,LATEST_END_DATE
,EARLIEST_END_DATE
,MANAGER_ORG_CODE
,SINGLE_MAX_INTER_RATE
,SINGLE_MIN_INTER_RATE
,GMT_CREATOR
,GMT_MODIFIER
,APPROVE_STATUS
,SCREEN_TYPE
)VALUES )VALUES
( (
SEQ_ABS_AST_SCREEN_RULE.nextval SEQ_ABS_AST_SCREEN_RULE.nextval
, #{item.singleMaxAmount,jdbcType=BIGINT} , #{item.relNo,jdbcType=VARCHAR}
, #{item.singleMinAmount,jdbcType=BIGINT} , #{item.relType,jdbcType=VARCHAR}
, #{item.region,jdbcType=VARCHAR} , #{item.ruleType,jdbcType=VARCHAR}
, #{item.lenderOrgCode,jdbcType=VARCHAR} , #{item.leftValue,jdbcType=VARCHAR}
, #{item.prodCode,jdbcType=VARCHAR} , #{item.rightValue,jdbcType=VARCHAR}
, #{item.abssqrProdCode,jdbcType=VARCHAR} , #{item.leftCondition,jdbcType=VARCHAR}
, #{item.prodName,jdbcType=VARCHAR} , #{item.rightCondition,jdbcType=VARCHAR}
, #{item.assetStatus,jdbcType=VARCHAR} , sysdate
, #{item.screenRuleNo,jdbcType=VARCHAR} , sysdate
, #{item.screenRuleName,jdbcType=VARCHAR} )
, #{item.maxAge,jdbcType=INTEGER} </foreach>
, #{item.minAge,jdbcType=INTEGER}
, #{item.maxTerm,jdbcType=INTEGER}
, #{item.minTerm,jdbcType=INTEGER}
, #{item.maxRemainDays,jdbcType=INTEGER}
, #{item.minRemainDays,jdbcType=INTEGER}
, sysdate
, sysdate
, #{item.latestEndDate,jdbcType=DATE}
, #{item.earliestEndDate,jdbcType=DATE}
, #{item.managerOrgCode,jdbcType=VARCHAR}
, #{item.singleMaxInterRate,jdbcType=DECIMAL}
, #{item.singleMinInterRate,jdbcType=DECIMAL}
, #{item.gmtCreator,jdbcType=VARCHAR}
, #{item.gmtModifier,jdbcType=VARCHAR}
, #{item.approveStatus,jdbcType=VARCHAR}
, #{item.screenType,jdbcType=VARCHAR}
)
</foreach>
;end; ;end;
</insert> </insert>
<!--根据唯一约束ScreenRuleNo更新表:abs_ast_screen_rule mydalgen自动生成,请勿修改--> <!--根据主键删除数据:abs_ast_screen_rule mydalgen自动生成,请勿修改-->
<update id="updateByScreenRuleNo" > <delete id="deleteById" >
<![CDATA[ <![CDATA[
UPDATE /*MS-ABS-AST-SCREEN-RULE-UPDATEBYSCREENRULENO*/ abs_ast_screen_rule DELETE /*MS-ABS-AST-SCREEN-RULE-DELETEBYID*/ FROM abs_ast_screen_rule
SET
SINGLE_MAX_AMOUNT = #{singleMaxAmount,jdbcType=BIGINT}
,SINGLE_MIN_AMOUNT = #{singleMinAmount,jdbcType=BIGINT}
,REGION = #{region,jdbcType=VARCHAR}
,LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR}
,PROD_CODE = #{prodCode,jdbcType=VARCHAR}
,MANAGER_ORG_CODE = #{managerOrgCode,jdbcType=VARCHAR}
,ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR}
,PROD_NAME = #{prodName,jdbcType=VARCHAR}
,ASSET_STATUS = #{assetStatus,jdbcType=VARCHAR}
,SCREEN_RULE_NAME = #{screenRuleName,jdbcType=VARCHAR}
,MAX_AGE = #{maxAge,jdbcType=INTEGER}
,MIN_AGE = #{minAge,jdbcType=INTEGER}
,MAX_TERM = #{maxTerm,jdbcType=INTEGER}
,MIN_TERM = #{minTerm,jdbcType=INTEGER}
,MAX_REMAIN_DAYS = #{maxRemainDays,jdbcType=INTEGER}
,MIN_REMAIN_DAYS = #{minRemainDays,jdbcType=INTEGER}
,GMT_MODIFIED = sysdate
,LATEST_END_DATE = #{latestEndDate,jdbcType=DATE}
,EARLIEST_END_DATE = #{earliestEndDate,jdbcType=DATE}
,SINGLE_MAX_INTER_RATE = #{singleMaxInterRate,jdbcType=DECIMAL}
,SINGLE_MIN_INTER_RATE = #{singleMinInterRate,jdbcType=DECIMAL}
,GMT_MODIFIER = #{gmtModifier,jdbcType=VARCHAR}
,APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR}
,SCREEN_TYPE = #{screenType,jdbcType=VARCHAR}
WHERE WHERE
SCREEN_RULE_NO = #{screenRuleNo,jdbcType=VARCHAR} ID = #{id,jdbcType=DECIMAL}
]]> ]]>
</update> </delete>
<!--根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule mydalgen自动生成,请勿修改--> <!--根据主键获取数据:abs_ast_screen_rule mydalgen自动生成,请勿修改-->
<select id="getByScreenRuleNo" resultMap="BaseResultMap" > <select id="getById" resultMap="BaseResultMap" >
SELECT /*MS-ABS-AST-SCREEN-RULE-GETBYSCREENRULENO*/ <include refid="Base_Column_List" /> SELECT /*MS-ABS-AST-SCREEN-RULE-GETBYID*/ <include refid="Base_Column_List" />
FROM abs_ast_screen_rule FROM abs_ast_screen_rule
WHERE WHERE
<![CDATA[ <![CDATA[
SCREEN_RULE_NO = #{screenRuleNo,jdbcType=VARCHAR} ID = #{id,jdbcType=DECIMAL}
]]> ]]>
</select> </select>
<!--根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule mydalgen自动生成,请勿修改--> <!--根据普通索引AbsAstScreenRuleRelNo获取数据:abs_ast_screen_rule mydalgen自动生成,请勿修改-->
<select id="getByScreenRuleNos" resultMap="BaseResultMap" > <select id="queryByAbsAstScreenRuleRelNo" resultMap="BaseResultMap" >
SELECT /*MS-ABS-AST-SCREEN-RULE-GETBYSCREENRULENOS*/ <include refid="Base_Column_List" /> SELECT /*MS-ABS-AST-SCREEN-RULE-QUERYBYABSASTSCREENRULERELNO*/ <include refid="Base_Column_List" />
FROM abs_ast_screen_rule FROM abs_ast_screen_rule
WHERE WHERE
SCREEN_RULE_NO in <![CDATA[
<foreach collection="screenRuleNos" item="screenRuleNo" open="(" close=")" separator=","> REL_NO = #{relNo,jdbcType=VARCHAR}
#{screenRuleNo,jdbcType=VARCHAR} ]]>
</foreach>
</select>
<!--分页查询资产筛选规则 pageCount mydalgen自动生成,请勿修改-->
<select id="getScreenRuleListCount" resultType="int" >
SELECT
COUNT(*) AS total
FROM
abs_ast_screen_rule sf
WHERE
1=1
<if test="abssqrProdCode!=null and abssqrProdCode != ''">
AND ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR}
</if>
<if test="lenderOrgCode!=null and lenderOrgCode != ''">
AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR}
</if>
<if test="screenRuleName!=null and screenRuleName != ''">
AND sf.SCREEN_RULE_NAME LIKE CONCAT(CONCAT('%',#{screenRuleName,jdbcType=VARCHAR}),'%')
</if>
<if test="createStart!=null">
AND sf.GMT_CREATE &gt; #{createStart,jdbcType=DATE}
</if>
<if test="createEnd!=null">
AND sf.GMT_CREATE &lt; (#{createEnd,jdbcType=DATE} +1)
</if>
<if test="approveStatus!=null and approveStatus != ''">
AND
(
sf.APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR}
</if>
<if test="userCode!=null and userCode != ''">
OR
sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR}
OR
sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR}
</if>
)
AND sf.SCREEN_TYPE = #{screenType,jdbcType=VARCHAR}
</select>
<!--分页查询资产筛选规则 pageResult mydalgen自动生成,请勿修改-->
<select id="getScreenRuleListResult" resultMap="BaseResultMap" >
select
*
from(
select
tt.*,ROWNUM AS rowno
from(
SELECT
<include refid="Base_SF_Column_List" />
FROM
abs_ast_screen_rule sf
WHERE
1=1
<if test="abssqrProdCode!=null and abssqrProdCode != ''">
AND ABSSQR_PROD_CODE = #{abssqrProdCode,jdbcType=VARCHAR}
</if>
<if test="lenderOrgCode!=null and lenderOrgCode != ''">
AND LENDER_ORG_CODE = #{lenderOrgCode,jdbcType=VARCHAR}
</if>
<if test="screenRuleName!=null and screenRuleName != ''">
AND sf.SCREEN_RULE_NAME LIKE CONCAT(CONCAT('%',#{screenRuleName,jdbcType=VARCHAR}),'%')
</if>
<if test="createStart!=null">
AND sf.GMT_CREATE &gt; #{createStart,jdbcType=DATE}
</if>
<if test="createEnd!=null">
AND sf.GMT_CREATE &lt; (#{createEnd,jdbcType=DATE} +1)
</if>
<if test="approveStatus!=null and approveStatus != ''">
AND
(
sf.APPROVE_STATUS = #{approveStatus,jdbcType=VARCHAR}
</if>
<if test="userCode!=null and userCode != ''">
OR
sf.GMT_CREATOR = #{userCode,jdbcType=VARCHAR}
OR
sf.GMT_MODIFIER = #{userCode,jdbcType=VARCHAR}
</if>
)
AND sf.SCREEN_TYPE = #{screenType,jdbcType=VARCHAR}
ORDER BY sf.GMT_CREATE DESC,sf.ID DESC
) tt where ROWNUM &lt;= #{endRow}
) table_alias
where table_alias.rowno &gt; #{startRow}
</select>
<!--获取同名筛选规则数量,防止重名存在 mydalgen自动生成,请勿修改-->
<select id="getSameRuleCnt" resultType="int" >
SELECT
count(*)
FROM
ABS_AST_SCREEN_RULE
WHERE
SCREEN_RULE_NO != #{screenRuleNo,jdbcType=VARCHAR}
AND SCREEN_RULE_NAME = #{screenRuleName,jdbcType=VARCHAR}
</select> </select>
</mapper> </mapper>
...@@ -16,11 +16,13 @@ import java.util.Map; ...@@ -16,11 +16,13 @@ import java.util.Map;
* @version com.abssqr.common.model.enums: AstStatusEnum.java, v 0.1 2017-12-05 下午16:04 zhenxuan.luo Exp $ * @version com.abssqr.common.model.enums: AstStatusEnum.java, v 0.1 2017-12-05 下午16:04 zhenxuan.luo Exp $
*/ */
public enum AstPackStatusEnum implements IEnum { public enum AstPackStatusEnum implements IEnum {
INIT("INIT", "初始"), INIT("init", "初始"),
WAIT("WAIT", "等待"), EXEC("exec", "筛选中"),
SCEEN_FIS("SCEEN_FIS", "筛选完成"), SCEEN_FIS("sceen_fis", "筛选完成"),
SCEEN_ERR("SCEEN_ERR", "筛选失败"), PACK("pack", "已封包"),
SCEEN_IGR("SCEEN_IGR", "筛选忽略"), UNPACK("unpack", "已封包"),
BREAK("break", "已封包"),
PUBLISH("publish", "已发行"),
; ;
......
/**
* abssqr.com Inc.
* Copyright (c) 2017-2017 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.enums;
import com.general.system.common.model.IEnum;
import java.util.HashMap;
import java.util.Map;
/**
* 资产包类型枚举
*
* @author guozhenhua
* @version com.abssqr.common.model.enums: AstStatusEnum.java, v 0.1 2017-12-05 下午16:04 zhenxuan.luo Exp $
*/
public enum AstPackTypeEnum implements IEnum {
NORMAL("normal","正常"),
DEFAULT("default","默认宝"),
;
private static final Map<String, AstPackTypeEnum> codeMap = new HashMap<String, AstPackTypeEnum>();
static {
for (AstPackTypeEnum item : AstPackTypeEnum.values()) {
codeMap.put(item.getCode(), item);
}
}
private String code;
private String desc;
private AstPackTypeEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static AstPackTypeEnum getByCode(String code) {
return codeMap.get(code);
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getDesc() {
return this.desc;
}
}
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.enums;
import com.general.system.common.model.IEnum;
import java.util.HashMap;
import java.util.Map;
/**
*筛选规则关联类型
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.enums: AstScreenRelTypeEnum.java, v 0.1 2020-04-18 6:30 PM xiachenxiang Exp $
*/
public enum AstScreenRelTypeEnum implements IEnum {
PACK("PACK","资产打包"),
;
private static final Map<String, AstScreenRelTypeEnum> codeMap = new HashMap<String, AstScreenRelTypeEnum>();
static {
for (AstScreenRelTypeEnum item : AstScreenRelTypeEnum.values()) {
codeMap.put(item.getCode(), item);
}
}
private String code;
private String desc;
private AstScreenRelTypeEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static AstScreenRelTypeEnum getByCode(String code) {
return codeMap.get(code);
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getDesc() {
return this.desc;
}
}
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.enums;
import com.general.system.common.model.IEnum;
import java.util.HashMap;
import java.util.Map;
/**
*筛选规则条件
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.enums: AstScreenRuleConditionEnum.java, v 0.1 2020-04-18 6:30 PM xiachenxiang Exp $
*/
public enum AstScreenRuleConditionEnum implements IEnum {
GT("gt",">"),
ge("ge",">="),
lt("lt","<"),
le("le","<="),
eq("eq","="),
;
private static final Map<String, AstScreenRuleConditionEnum> codeMap = new HashMap<String, AstScreenRuleConditionEnum>();
static {
for (AstScreenRuleConditionEnum item : AstScreenRuleConditionEnum.values()) {
codeMap.put(item.getCode(), item);
}
}
private String code;
private String desc;
private AstScreenRuleConditionEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static AstScreenRuleConditionEnum getByCode(String code) {
return codeMap.get(code);
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getDesc() {
return this.desc;
}
}
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.enums;
import com.general.system.common.model.IEnum;
import java.util.HashMap;
import java.util.Map;
/**
*筛选规则类型
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.enums: AstScreenRuleTypeEnum.java, v 0.1 2020-04-18 6:30 PM xiachenxiang Exp $
*/
public enum AstScreenRuleTypeEnum implements IEnum {
// 汽车贷款
QCDK_RISK_TYPE("QCDK_RISK_TYPE","五级分类"),
QCDK_DISB_DATE("QCDK_DISB_DATE","贷款发放日"),
QCDK_END_DATE("QCDK_END_DATE","贷款到期日"),
QCDK_LOAN_RATE("QCDK_LOAN_RATE","贷款执行利率"),
QCDK_REPAY_FREQ("QCDK_REPAY_FREQ","还款频率"),
QCDK_RATE_TYPE("QCDK_RATE_TYPE","利率类型"),
QCDK_CONTRACT_AMT("QCDK_CONTRACT_AMT","合同金额"),
QCDK_FIRST_PAY_RATE("QCDK_FIRST_PAY_RATE","贷款首付比例"),
QCDK_DUE_PACK_LOAN_PRIN_BAL("QCDK_DUE_PACK_LOAN_PRIN_BAL","截至封包日贷款本金余额"),
QCDK_REPAY_METHOD("QCDK_REPAY_METHOD","还款方式"),
QCDK_WHETHER_VIOLATE("QCDK_WHETHER_VIOLATE","曾经是否违约"),
QCDK_MAX_OVD_TERM("QCDK_MAX_OVD_TERM","历史最大逾期期数"),
QCDK_OVD_TIMES("QCDK_OVD_TIMES","累计逾期次数"),
QCDK_CAR_PRICE("QCDK_CAR_PRICE","车辆购买价格(元)"),
QCDK_CAR_LOCATION("QCDK_CAR_LOCATION","车辆所在地区"),
QCDK_MORTGAGE_RATE("QCDK_MORTGAGE_RATE","现行抵押率"),
QCDK_OVD_DAYS("QCDK_OVD_DAYS","当前逾期天数"),
QCDK_MAX_OVD_DAYS("QCDK_MAX_OVD_DAYS","历史最长逾期天数"),
QCDK_SUM_OVD_DAYS("QCDK_SUM_OVD_DAYS","历史累计逾期天数"),
QCDK_SUM_OVD_TIMES("QCDK_SUM_OVD_TIMES","历史累计逾期次数"),
// 融资租赁
RZZL_RENT_TYPE("RZZL_RENT_TYPE","租赁方式"),
RZZL_PRIN_TOTAL("RZZL_PRIN_TOTAL","贷款本金"),
RZZL_PRIN_BAL("RZZL_PRIN_BAL","未偿本金"),
RZZL_START_DATE("RZZL_START_DATE","起租日"),
RZZL_END_DATE("RZZL_END_DATE","到期日期"),
RZZL_RATE_TYPE("RZZL_RATE_TYPE","利率类型"),
RZZL_RATE_OF_YEAR("RZZL_RATE_OF_YEAR","年利率"),
RZZL_CONTRACT_TERM("RZZL_CONTRACT_TERM","合同期限"),
RZZL_REMAINING_TERM("RZZL_REMAINING_TERM","剩余期限"),
RZZL_REPAY_FREQ("RZZL_REPAY_FREQ","还款频率"),
RZZL_RISK_TYPE("RZZL_RISK_TYPE","五级分类"),
RZZL_REPAY_METHOD("RZZL_REPAY_METHOD","还款方式"),
RZZL_ADVANCE_RETURN_CAR("RZZL_ADVANCE_RETURN_CAR","是否可提前退租"),
RZZL_FIRST_PAY_RATE("RZZL_FIRST_PAY_RATE","首付比例"),
RZZL_OVD_DAYS("RZZL_OVD_DAYS","当前逾期天数"),
RZZL_MAX_OVD_DAYS("RZZL_MAX_OVD_DAYS","历史最长逾期天数"),
RZZL_SUM_OVD_DAYS("RZZL_SUM_OVD_DAYS","历史累计逾期天数"),
RZZL_SUM_OVD_TIMES("RZZL_SUM_OVD_TIMES","历史累计逾期次数"),
// 对公账款
DGDK_TRADE_TYPE("DGDK_TRADE_TYPE","贸易类型"),
DGDK_INVOICE_AMT("DGDK_INVOICE_AMT","发票金额"),
DGDK_PRIN_BAL("DGDK_PRIN_BAL","未偿本金"),
DGDK_START_DATE("DGDK_START_DATE","起息日"),
DGDK_END_DATE("DGDK_END_DATE","到期日"),
DGDK_RATE_TYPE("DGDK_RATE_TYPE","利率类型"),
DGDK_RATE_OF_YEAR("DGDK_RATE_OF_YEAR","年利率"),
DGDK_CONTRACT_TERM("DGDK_CONTRACT_TERM","合同期限"),
DGDK_REMAINING_TERM("DGDK_REMAINING_TERM","剩余期限"),
DGDK_REPAY_FREQ("DGDK_REPAY_FREQ","还款频率"),
DGDK_RISK_TYPE("DGDK_RISK_TYPE","五级分类"),
DGDK_REPAY_METHOD("DGDK_REPAY_METHOD","还款方式"),
DGDK_CONTRACT_AMT("DGDK_CONTRACT_AMT","合同金额"),
DGDK_CONTRACT_BAL("DGDK_CONTRACT_BAL","合同余额"),
DGDK_REPAY_DATE("DGDK_REPAY_DATE","还款日期"),
DGDK_GUARANTEE_METHOD("DGDK_GUARANTEE_METHOD","担保方式"),
DGDK_OVD_DAYS("DGDK_OVD_DAYS","当前逾期天数"),
DGDK_MAX_OVD_DAYS("DGDK_MAX_OVD_DAYS","历史最长逾期天数"),
DGDK_SUM_OVD_DAYS("DGDK_SUM_OVD_DAYS","历史累计逾期天数"),
DGDK_SUM_OVD_TIMES("DGDK_SUM_OVD_TIMES","历史累计逾期次数"),
;
private static final Map<String, AstScreenRuleTypeEnum> codeMap = new HashMap<String, AstScreenRuleTypeEnum>();
static {
for (AstScreenRuleTypeEnum item : AstScreenRuleTypeEnum.values()) {
codeMap.put(item.getCode(), item);
}
}
private String code;
private String desc;
private AstScreenRuleTypeEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static AstScreenRuleTypeEnum getByCode(String code) {
return codeMap.get(code);
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getDesc() {
return this.desc;
}
}
\ No newline at end of file
...@@ -17,7 +17,7 @@ import java.util.Map; ...@@ -17,7 +17,7 @@ import java.util.Map;
public enum AstTypeEnum implements IEnum { public enum AstTypeEnum implements IEnum {
LOAN("loan", "贷款"), LOAN("loan", "贷款"),
QCDK("QCDK","汽车贷款"),RZZL("RZZP","融资租赁"),BL("BL","保理"),DGDK("DGDK","对公贷款"); QCDK("QCDK","汽车贷款"),RZZL("RZZL","融资租赁"),BL("BL","保理"),DGDK("DGDK","对公贷款");
private static final Map<String, AstTypeEnum> codeMap = new HashMap<String, AstTypeEnum>(); private static final Map<String, AstTypeEnum> codeMap = new HashMap<String, AstTypeEnum>();
......
...@@ -5,9 +5,7 @@ ...@@ -5,9 +5,7 @@
package com.abssqr.plat.common.facade.model.rule; package com.abssqr.plat.common.facade.model.rule;
import com.abssqr.plat.common.facade.enums.AstPackTradeTypeEnum; import com.abssqr.plat.common.facade.enums.*;
import com.abssqr.plat.common.facade.enums.AstRiskClassEnum;
import com.abssqr.plat.common.facade.enums.ScreenTypeEnum;
import com.abssqr.plat.common.facade.param.ast.astScreenRuleArea.RuleArea; import com.abssqr.plat.common.facade.param.ast.astScreenRuleArea.RuleArea;
import com.general.system.bpm.enums.ApproveStatusEnum; import com.general.system.bpm.enums.ApproveStatusEnum;
import com.general.system.common.model.BaseEntity; import com.general.system.common.model.BaseEntity;
...@@ -22,319 +20,90 @@ import java.util.List; ...@@ -22,319 +20,90 @@ import java.util.List;
* @author bangis.wangdf * @author bangis.wangdf
* @version com.abssqr.common.client.model.rule: AstScreenRule.java, v 0.1 2018-03-06 下午2:07 yaphet Exp $ * @version com.abssqr.common.client.model.rule: AstScreenRule.java, v 0.1 2018-03-06 下午2:07 yaphet Exp $
*/ */
public class AstScreenRule extends BaseEntity implements Serializable { public class AstScreenRule extends BaseEntity {
private static final long serialVersionUID = -1917494398362741913L;
/** /**
* 准入产品码 * relNo 关联编号.
*/ */
private String abssqrProdCode; private String relNo;
/** /**
* 准入产品名 * relType 关联类型 1.资产打包 PACK.
*/ */
private String prodName; private AstScreenRelTypeEnum relType;
/** /**
* 准入产品名 * ruleType 规则类型.
*/ */
private String prodCode; private AstScreenRuleTypeEnum ruleType;
/** /**
* 管理机构 * leftValue 左值.
*/ */
private String managerOrgCode; private String leftValue;
/** /**
* maxAge 最大年龄. * rightValue 右值.
*/ */
private Integer maxAge; private String rightValue;
/** /**
* minAge 最小年龄. * leftCondition 左条件: 1.大于 GT 2.大于等于 GE.
*/ */
private Integer minAge; private AstScreenRuleConditionEnum leftCondition;
/** /**
* latestEndDate 最晚到期日. * rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN.
*/ */
private Date latestEndDate; private AstScreenRuleConditionEnum rightCondition;
/**
* earliestEndDate 最早到期日.
*/
private Date earliestEndDate;
/**
* assetScreeningRuleNo 资产筛选规则编号.
*/
private String screenRuleNo;
/**
* assetScreeningRuleName 资产筛选规则编号.
*/
private String screenRuleName;
/**
* 原始权益机构
*/
private String lenderOrgCode;
/**
* 原始权益机构
*/
private String lenderOrgName;
/**
* maxTerm 最大期次.
*/
private Integer maxTerm;
/**
* minTerm 最小期次.
*/
private Integer minTerm;
/**
* maxRemainDays 最大剩余天数.
*/
private Integer maxRemainDays;
/**
* minRemainDays 最小剩余天数.
*/
private Integer minRemainDays;
/**
* singleMaxInterRate 单笔最高利率.
*/
private BigDecimal singleMaxInterRate;
/**
* singleMinInterRate 单笔最单利率.
*/
private BigDecimal singleMinInterRate;
/**
* singleMaxAmount 单笔最大金额.
*/
private Money singleMaxAmount;
/**
* singleMinAmount 单笔最小金额.
*/
private Money singleMinAmount;
/**
* region 地区.
*/
private List<RuleArea> regionList;
/**
* assetStatus 资产状态.
*/
private List<AstRiskClassEnum> assetStatusList;
/**
* 审批状态
*/
private ApproveStatusEnum approveStatus;
/**
* gmtCreator 创建人.
*/
private String gmtCreator;
/**
* gmtModifier 修改人.
*/
private String gmtModifier;
/**
* 筛选类型
*/
private ScreenTypeEnum screenType;
public Integer getMaxAge() {
return maxAge;
}
public void setMaxAge(Integer maxAge) {
this.maxAge = maxAge;
}
public Integer getMinAge() {
return minAge;
}
public void setMinAge(Integer minAge) {
this.minAge = minAge;
}
public String getScreenRuleNo() {
return screenRuleNo;
}
public void setScreenRuleNo(String screenRuleNo) {
this.screenRuleNo = screenRuleNo;
}
public String getScreenRuleName() {
return screenRuleName;
}
public void setScreenRuleName(String screenRuleName) {
this.screenRuleName = screenRuleName;
}
public String getAbssqrProdCode() {
return abssqrProdCode;
}
public void setAbssqrProdCode(String abssqrProdCode) {
this.abssqrProdCode = abssqrProdCode;
}
public String getManagerOrgCode() {
return managerOrgCode;
}
public void setManagerOrgCode(String managerOrgCode) {
this.managerOrgCode = managerOrgCode;
}
public String getProdName() {
return prodName;
}
public void setProdName(String prodName) {
this.prodName = prodName;
}
public Date getLatestEndDate() {
return latestEndDate;
}
public void setLatestEndDate(Date latestEndDate) {
this.latestEndDate = latestEndDate;
}
public Date getEarliestEndDate() {
return earliestEndDate;
}
public void setEarliestEndDate(Date earliestEndDate) {
this.earliestEndDate = earliestEndDate;
}
public Integer getMaxTerm() {
return maxTerm;
}
public void setMaxTerm(Integer maxTerm) {
this.maxTerm = maxTerm;
}
public Integer getMinTerm() {
return minTerm;
}
public void setMinTerm(Integer minTerm) {
this.minTerm = minTerm;
}
public Integer getMaxRemainDays() {
return maxRemainDays;
}
public void setMaxRemainDays(Integer maxRemainDays) {
this.maxRemainDays = maxRemainDays;
}
public Integer getMinRemainDays() {
return minRemainDays;
}
public void setMinRemainDays(Integer minRemainDays) {
this.minRemainDays = minRemainDays;
}
public BigDecimal getSingleMaxInterRate() {
return singleMaxInterRate;
}
public void setSingleMaxInterRate(BigDecimal singleMaxInterRate) {
this.singleMaxInterRate = singleMaxInterRate;
}
public BigDecimal getSingleMinInterRate() {
return singleMinInterRate;
}
public void setSingleMinInterRate(BigDecimal singleMinInterRate) {
this.singleMinInterRate = singleMinInterRate;
}
public Money getSingleMaxAmount() {
return singleMaxAmount;
}
public void setSingleMaxAmount(Money singleMaxAmount) {
this.singleMaxAmount = singleMaxAmount;
}
public Money getSingleMinAmount() {
return singleMinAmount;
}
public void setSingleMinAmount(Money singleMinAmount) {
this.singleMinAmount = singleMinAmount;
}
public List<RuleArea> getRegionList() {
return regionList;
}
public void setRegionList(List<RuleArea> regionList) {
this.regionList = regionList;
}
public List<AstRiskClassEnum> getAssetStatusList() {
return assetStatusList;
}
public void setAssetStatusList(List<AstRiskClassEnum> assetStatusList) {
this.assetStatusList = assetStatusList;
}
public String getLenderOrgCode() { public String getRelNo() {
return lenderOrgCode; return relNo;
} }
public void setLenderOrgCode(String lenderOrgCode) { public void setRelNo(String relNo) {
this.lenderOrgCode = lenderOrgCode; this.relNo = relNo;
} }
public ApproveStatusEnum getApproveStatus() { public AstScreenRelTypeEnum getRelType() {
return approveStatus; return relType;
} }
public void setApproveStatus(ApproveStatusEnum approveStatus) { public void setRelType(AstScreenRelTypeEnum relType) {
this.approveStatus = approveStatus; this.relType = relType;
} }
public String getGmtCreator() { public AstScreenRuleTypeEnum getRuleType() {
return gmtCreator; return ruleType;
} }
public void setGmtCreator(String gmtCreator) { public void setRuleType(AstScreenRuleTypeEnum ruleType) {
this.gmtCreator = gmtCreator; this.ruleType = ruleType;
} }
public String getGmtModifier() { public String getLeftValue() {
return gmtModifier; return leftValue;
} }
public void setGmtModifier(String gmtModifier) { public void setLeftValue(String leftValue) {
this.gmtModifier = gmtModifier; this.leftValue = leftValue;
} }
public String getProdCode() { public String getRightValue() {
return prodCode; return rightValue;
} }
public void setProdCode(String prodCode) { public void setRightValue(String rightValue) {
this.prodCode = prodCode; this.rightValue = rightValue;
} }
public String getLenderOrgName() { public AstScreenRuleConditionEnum getLeftCondition() {
return lenderOrgName; return leftCondition;
} }
public void setLenderOrgName(String lenderOrgName) { public void setLeftCondition(AstScreenRuleConditionEnum leftCondition) {
this.lenderOrgName = lenderOrgName; this.leftCondition = leftCondition;
} }
public ScreenTypeEnum getScreenType() { public AstScreenRuleConditionEnum getRightCondition() {
return screenType; return rightCondition;
} }
public void setScreenType(ScreenTypeEnum screenType) { public void setRightCondition(AstScreenRuleConditionEnum rightCondition) {
this.screenType = screenType; this.rightCondition = rightCondition;
} }
} }
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.param.ast;
import com.abssqr.plat.common.facade.base.BaseOprParam;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.abssqr.plat.common.facade.enums.EventCodeEnum;
import com.abssqr.plat.common.facade.param.ast.sub.AstScreenRuleParam;
import com.abssqr.plat.common.facade.validation.VldEnums;
import com.abssqr.plat.common.facade.validation.VldMoney;
import com.abssqr.plat.common.facade.validation.VldString;
import com.general.system.common.model.Money;
import java.util.ArrayList;
import java.util.List;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.param.ast: AstPaclOprParam.java, v 0.1 2020-04-18 3:31 PM xiachenxiang Exp $
*/
public class AstPackOprParam extends BaseOprParam {
/**
* 资产包编号
*/
@VldString(message = "资产包编号不能为空")
private String packNo;
/**
* 资产包名
*/
@VldString(message = "资产包名称不能为空")
private String packName;
/**
* 规模
*/
@VldString(message = "规模不能为空")
private String avalAmt = "0";
/**
* 筛选规则
*/
private List<AstScreenRuleParam> screenRuleList = new ArrayList<>();
/**
* 资产池编号
*/
@VldString(message = "资产池编号不能为空")
private String astPoolNo;
/**
* 资产类型
*/
@VldEnums(enumClass = AstTypeEnum.class, message = "不支持的资产类型")
private String astTypeCode;
public String getPackNo() {
return packNo;
}
public void setPackNo(String packNo) {
this.packNo = packNo;
}
public String getPackName() {
return packName;
}
public void setPackName(String packName) {
this.packName = packName;
}
public String getAvalAmt() {
return avalAmt;
}
public void setAvalAmt(String avalAmt) {
this.avalAmt = avalAmt;
}
public Money getAvalAmtMoney(){
return new Money(avalAmt);
}
public List<AstScreenRuleParam> getScreenRuleList() {
return screenRuleList;
}
public void setScreenRuleList(List<AstScreenRuleParam> screenRuleList) {
this.screenRuleList = screenRuleList;
}
public String getAstPoolNo() {
return astPoolNo;
}
public void setAstPoolNo(String astPoolNo) {
this.astPoolNo = astPoolNo;
}
public String getAstTypeCode() {
return astTypeCode;
}
public void setAstTypeCode(String astTypeCode) {
this.astTypeCode = astTypeCode;
}
@Override
public EventCodeEnum getEventCode() {
return EventCodeEnum.ADMIN_EDIT;
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2019 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.param.ast;
import com.abssqr.plat.common.facade.base.BaseOprParam;
import com.abssqr.plat.common.facade.enums.EventCodeEnum;
import com.abssqr.plat.common.facade.enums.ScreenTypeEnum;
import com.abssqr.plat.common.facade.param.ast.astScreenRuleArea.RuleArea;
import com.abssqr.plat.common.facade.validation.VldString;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author bangis.wangdf
* @version com.abssqr.plat.common.facade.param.ast: AstScreenRuleEditParam.java, v 0.1 2019-06-02 20:19 bangis.wangdf Exp $
*/
public class AstScreenRuleEditParam extends BaseOprParam {
private static final long serialVersionUID = -2081223545779548054L;
/**
* screenRuleNo 资产筛选规则编号.
*/
private String screenRuleNo;
/**
* screenRuleName 资产筛选规则名.
*/
@VldString(message = "资产筛选规则名不能为空")
private String screenRuleName;
/**
* singleMaxAmount 单笔最大金额.
*/
private Long singleMaxAmount;
/**
* singleMinAmount 单笔最小金额.
*/
private Long singleMinAmount;
/**
* region 地区.
*/
private List<RuleArea> region;
/**
* lenderOrgCode 原始权益机构.
*/
@VldString(message = "原始权益机构不能为空")
private String lenderOrgCode;
/**
* abssqrProdCode 内部产品码.
*/
@VldString(message = "产品不能为空")
private String abssqrProdCode;
/**
* assetStatus 资产状态,|分割,对应五级分类.
*/
private String assetStatus;
/**
* maxAge 最大年龄.
*/
private Integer maxAge;
/**
* minAge 最小年龄.
*/
private Integer minAge;
/**
* maxTerm 最大期次.
*/
private Integer maxTerm;
/**
* minTerm 最小期次.
*/
private Integer minTerm;
/**
* maxRemainDays 最大剩余天数.
*/
private Integer maxRemainDays;
/**
* minRemainDays 最小剩余天数.
*/
private Integer minRemainDays;
/**
* latestEndDate 最晚到期日.
*/
private Date latestEndDate;
/**
* earliestEndDate 最早到期日.
*/
private Date earliestEndDate;
/**
* singleMaxInterRate 单笔最高利率.
*/
private BigDecimal singleMaxInterRate;
/**
* singleMinInterRate 单笔最单利率.
*/
private BigDecimal singleMinInterRate;
/**
* slice 是否切片
*/
private Boolean slice;
/**
* 筛选类型
*/
private String screenType = ScreenTypeEnum.AST_TRF.getCode();
@Override
public EventCodeEnum getEventCode() {
return EventCodeEnum.ADMIN_EDIT;
}
public String getScreenRuleNo() {
return screenRuleNo;
}
public void setScreenRuleNo(String screenRuleNo) {
this.screenRuleNo = screenRuleNo;
}
public String getScreenRuleName() {
return screenRuleName;
}
public void setScreenRuleName(String screenRuleName) {
this.screenRuleName = screenRuleName;
}
public Long getSingleMaxAmount() {
return singleMaxAmount;
}
public void setSingleMaxAmount(Long singleMaxAmount) {
this.singleMaxAmount = singleMaxAmount;
}
public Long getSingleMinAmount() {
return singleMinAmount;
}
public void setSingleMinAmount(Long singleMinAmount) {
this.singleMinAmount = singleMinAmount;
}
public List<RuleArea> getRegion() {
return region;
}
public void setRegion(List<RuleArea> region) {
this.region = region;
}
public String getLenderOrgCode() {
return lenderOrgCode;
}
public void setLenderOrgCode(String lenderOrgCode) {
this.lenderOrgCode = lenderOrgCode;
}
public String getAbssqrProdCode() {
return abssqrProdCode;
}
public void setAbssqrProdCode(String abssqrProdCode) {
this.abssqrProdCode = abssqrProdCode;
}
public String getAssetStatus() {
return assetStatus;
}
public void setAssetStatus(String assetStatus) {
this.assetStatus = assetStatus;
}
public Integer getMaxAge() {
return maxAge;
}
public void setMaxAge(Integer maxAge) {
this.maxAge = maxAge;
}
public Integer getMinAge() {
return minAge;
}
public void setMinAge(Integer minAge) {
this.minAge = minAge;
}
public Integer getMaxTerm() {
return maxTerm;
}
public void setMaxTerm(Integer maxTerm) {
this.maxTerm = maxTerm;
}
public Integer getMinTerm() {
return minTerm;
}
public void setMinTerm(Integer minTerm) {
this.minTerm = minTerm;
}
public Integer getMaxRemainDays() {
return maxRemainDays;
}
public void setMaxRemainDays(Integer maxRemainDays) {
this.maxRemainDays = maxRemainDays;
}
public Integer getMinRemainDays() {
return minRemainDays;
}
public void setMinRemainDays(Integer minRemainDays) {
this.minRemainDays = minRemainDays;
}
public Date getLatestEndDate() {
return latestEndDate;
}
public void setLatestEndDate(Date latestEndDate) {
this.latestEndDate = latestEndDate;
}
public Date getEarliestEndDate() {
return earliestEndDate;
}
public void setEarliestEndDate(Date earliestEndDate) {
this.earliestEndDate = earliestEndDate;
}
public BigDecimal getSingleMaxInterRate() {
return singleMaxInterRate;
}
public void setSingleMaxInterRate(BigDecimal singleMaxInterRate) {
this.singleMaxInterRate = singleMaxInterRate;
}
public BigDecimal getSingleMinInterRate() {
return singleMinInterRate;
}
public void setSingleMinInterRate(BigDecimal singleMinInterRate) {
this.singleMinInterRate = singleMinInterRate;
}
public Boolean getSlice() {
return slice;
}
public void setSlice(Boolean slice) {
this.slice = slice;
}
public String getScreenType() {
return screenType;
}
public void setScreenType(String screenType) {
this.screenType = screenType;
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.param.ast.sub;
import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleConditionEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.facade.validation.VldEnums;
import com.general.system.common.model.BaseEntity;
import java.io.Serializable;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.param.ast.sub: ScreenRule.java, v 0.1 2020-04-18 3:34 PM xiachenxiang Exp $
*/
public class AstScreenRuleParam extends BaseEntity {
/**
* ruleType 规则类型.
*/
@VldEnums(enumClass = AstScreenRuleTypeEnum.class, message = "不支持的规则类型")
private String ruleType;
/**
* leftValue 左值.
*/
private String leftValue;
/**
* rightValue 右值.
*/
private String rightValue;
/**
* leftCondition 左条件: 1.大于 GT 2.大于等于 GE.
*/
@VldEnums(enumClass = AstScreenRuleConditionEnum.class, message = "不支持的条件类型")
private String leftCondition;
/**
* rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN.
*/
@VldEnums(enumClass = AstScreenRuleConditionEnum.class, message = "不支持的条件类型")
private String rightCondition;
public String getRuleType() {
return ruleType;
}
public void setRuleType(String ruleType) {
this.ruleType = ruleType;
}
public String getLeftValue() {
return leftValue;
}
public void setLeftValue(String leftValue) {
this.leftValue = leftValue;
}
public String getRightValue() {
return rightValue;
}
public void setRightValue(String rightValue) {
this.rightValue = rightValue;
}
public String getLeftCondition() {
return leftCondition;
}
public void setLeftCondition(String leftCondition) {
this.leftCondition = leftCondition;
}
public String getRightCondition() {
return rightCondition;
}
public void setRightCondition(String rightCondition) {
this.rightCondition = rightCondition;
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.service.ast;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.general.system.common.model.BaseResult;
/**
* 资产包服务
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.service.ast: AstPackService.java, v 0.1 2020-04-18 3:13 PM xiachenxiang Exp $
*/
public interface AstPackService {
/**
* 编辑资产包
* @param astPackOprParam
* @return
*/
String edit(AstPackOprParam astPackOprParam);
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.model.convertor;
import com.abssqr.plat.common.dal.mysql.auto.dao.AstPackDAO;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPoolDO;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.AstPackTypeEnum;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.domain.ast.AstPoolEntity;
import com.general.system.common.model.Money;
import java.nio.file.OpenOption;
import java.util.Optional;
/**
*
* @author xiachenxiang
* @version com.abssqr.plat.common.model.convertor: AstPackConvert.java, v 0.1 2020-04-18 3:47 PM xiachenxiang Exp $
*/
public class AstPackConvert {
public static AstPack convertDomain(AstPackDO param) {
if (param == null) {
return null;
}
AstPack result = new AstPack();
//avalAmt 规模
result.setAvalAmt(Money.createWithCent(param.getAvalAmt()));
//type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT
result.setType(AstPackTypeEnum.getByCode(param.getType()));
//packNo 资产包编号
result.setPackNo(param.getPackNo());
//planNo 产品编号
result.setPlanNo(param.getPlanNo());
//status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH
result.setStatus(AstPackStatusEnum.getByCode(param.getStatus()));
//packName 资产包名称
result.setPackName(param.getPackName());
//astPoolNo 资产池编号
result.setAstPoolNo(param.getAstPoolNo());
//packDate 封包日
result.setPackDate(param.getPackDate());
//packSubmitDate 封包提交日
result.setPackSubmitDate(param.getPackSubmitDate());
return result;
}
public static AstPackDO convertDO(AstPack param) {
if (param == null) {
return null;
}
AstPackDO result = new AstPackDO();
//avalAmt 规模
result.setAvalAmt(Optional.ofNullable(param.getAvalAmt()).map(Money::getCent).orElse(null));
//type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT
result.setType(Optional.ofNullable(param.getType()).map(AstPackTypeEnum::getCode).orElse(null));
//packNo 资产包编号
result.setPackNo(param.getPackNo());
//planNo 产品编号
result.setPlanNo(param.getPlanNo());
//status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH
result.setStatus(Optional.ofNullable(param.getStatus()).map(AstPackStatusEnum::getCode).orElse(null));
//packName 资产包名称
result.setPackName(param.getPackName());
//astPoolNo 资产池编号
result.setAstPoolNo(param.getAstPoolNo());
//packDate 封包日
result.setPackDate(param.getPackDate());
//packSubmitDate 封包提交日
result.setPackSubmitDate(param.getPackSubmitDate());
result.setAstTypeCode(Optional.ofNullable(param.getAstTypeCode()).map(AstTypeEnum::getCode).orElse(null));
return result;
}
}
\ No newline at end of file
...@@ -5,27 +5,16 @@ ...@@ -5,27 +5,16 @@
package com.abssqr.plat.common.model.convertor; package com.abssqr.plat.common.model.convertor;
import cn.hutool.core.collection.CollectionUtil;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO; import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
import com.abssqr.plat.common.facade.enums.AstRiskClassEnum; import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.enums.ScreenTypeEnum; import com.abssqr.plat.common.facade.enums.AstScreenRuleConditionEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule; import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.facade.param.ast.AstScreenRuleEditParam; import com.google.common.collect.Lists;
import com.abssqr.plat.common.facade.param.ast.astScreenRuleArea.RuleArea;
import com.abssqr.plat.common.facade.utils.CalcUtil;
import com.abssqr.plat.common.model.enums.IdTypeEnum;
import com.abssqr.plat.common.model.seq.SequenceUtil;
import com.abssqr.plat.common.model.utils.TextUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.general.system.bpm.enums.ApproveStatusEnum;
import com.general.system.common.model.Money;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors;
/** /**
* @author yaphet * @author yaphet
...@@ -33,221 +22,39 @@ import java.util.stream.Collectors; ...@@ -33,221 +22,39 @@ import java.util.stream.Collectors;
*/ */
public class AstScreenRuleConvert { public class AstScreenRuleConvert {
public static AstScreenRule convert2Domain(AstScreenRuleDO param) { public static List<AstScreenRuleDO> convert2DOList(List<AstScreenRule> param) {
if (param == null) {
return null;
}
AstScreenRule result = new AstScreenRule();
//singleMaxAmount 单笔最大金额
if (param.getSingleMaxAmount() != null) {
result.setSingleMaxAmount(Money.createWithCent(param.getSingleMaxAmount()));
}
//singleMinAmount 单笔最小金额
if (param.getSingleMinAmount() != null) {
result.setSingleMinAmount(Money.createWithCent(param.getSingleMinAmount()));
}
//region 地区 List<AstScreenRuleDO> result = Lists.newArrayList();
if (StringUtils.isNotBlank(param.getRegion())) { if (CollectionUtils.isNotEmpty(param)) {
JSONArray array = JSON.parseArray(param.getRegion()); param.forEach(item -> {
result.setRegionList(array.toJavaList(RuleArea.class)); result.add(convert2DO(item));
} });
//orgCode 原始权益机构
result.setLenderOrgCode(param.getLenderOrgCode());
//AbssqrProdCode 内部准入产品码
result.setAbssqrProdCode(param.getAbssqrProdCode());
//prodName 准入产品名称
result.setProdName(param.getProdName());
//ProdCode 外部产品码
result.setProdCode(param.getProdCode());
//assetStatus 资产状态,|分割,对应五级分类
if (StringUtils.isNotBlank(param.getAssetStatus())) {
List<String> assetStatusList = TextUtil.convertTxt2List(param.getAssetStatus());
List<AstRiskClassEnum> astStatusEnumList =
assetStatusList.stream().map(code -> AstRiskClassEnum.getByCode(code)).collect(Collectors.toList());
result.setAssetStatusList(astStatusEnumList);
}
//assetScreeningRuleNo 资产筛选规则编号
result.setScreenRuleNo(param.getScreenRuleNo());
//assetScreeningRuleName 资产筛选规则编号
result.setScreenRuleName(param.getScreenRuleName());
//maxAge 最大年龄
result.setMaxAge(param.getMaxAge());
//minAge 最小年龄
result.setMinAge(param.getMinAge());
//maxTerm 最大期次
result.setMaxTerm(param.getMaxTerm());
//minTerm 最小期次
result.setMinTerm(param.getMinTerm());
//maxRemainDays 最大剩余天数
result.setMaxRemainDays(param.getMaxRemainDays());
//minRemainDays 最小剩余天数
result.setMinRemainDays(param.getMinRemainDays());
//latestEndDate 最晚到期日
result.setLatestEndDate(param.getLatestEndDate());
//earliestEndDate 最早到期日
result.setEarliestEndDate(param.getEarliestEndDate());
//singleMaxInterRate 单笔最高利率
result.setSingleMaxInterRate(param.getSingleMaxInterRate());
//singleMinInterRate 单笔最单利率
result.setSingleMinInterRate(param.getSingleMinInterRate());
//ApproveStatus 审批状态
result.setApproveStatus(ApproveStatusEnum.getEnum(param.getApproveStatus()));
//GmtCreator 创建者
if (param.getGmtCreator() != null) {
result.setGmtCreator(param.getGmtCreator());
} }
//GmtModifier 修改人
if (param.getGmtModifier() != null) {
result.setGmtModifier(param.getGmtModifier());
}
result.setManagerOrgCode(param.getManagerOrgCode());
result.setScreenType(ScreenTypeEnum.getByCode(param.getScreenType()));
return result; return result;
} }
/** public static AstScreenRuleDO convert2DO(AstScreenRule param) {
* manager使用
*
* @param param
* @return
*/
public static AstScreenRule convertParam2Domain(AstScreenRuleEditParam param) {
if (param == null) { if (param == null) {
return null; return null;
} }
AstScreenRule result = new AstScreenRule(); AstScreenRuleDO result = new AstScreenRuleDO();
//assetScreeningRuleNo 资产筛选规则编号 //relNo 关联编号
result.setScreenRuleNo(param.getScreenRuleNo()); result.setRelNo(param.getRelNo());
if (StringUtils.isBlank(result.getScreenRuleNo())) { //relType 关联类型 1.资产打包 PACK
result.setScreenRuleNo(SequenceUtil.genId(IdTypeEnum.ASTSCREENINGRULE)); result.setRelType(Optional.ofNullable(param.getRelType()).map(AstScreenRelTypeEnum::getCode).orElse(null));
} //ruleType 规则类型
//assetScreeningRuleName 资产筛选规则编号 需要去空格效验 result.setRuleType(Optional.ofNullable(param.getRuleType()).map(AstScreenRuleTypeEnum::getCode).orElse(null));
result.setScreenRuleName(param.getScreenRuleName().trim()); //leftValue 左值
//singleMaxAmount 单笔最大金额 result.setLeftValue(param.getLeftValue());
if (param.getSingleMaxAmount() != null) { //rightValue 右值
result.setSingleMaxAmount(new Money(param.getSingleMaxAmount())); result.setRightValue(param.getRightValue());
} //leftCondition 左条件: 1.大于 GT 2.大于等于 GE
//singleMinAmount 单笔最小金额 result.setLeftCondition(Optional.ofNullable(param.getLeftCondition()).map(AstScreenRuleConditionEnum::getCode).orElse(null));
if (param.getSingleMinAmount() != null) { //rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
result.setSingleMinAmount(new Money(param.getSingleMinAmount())); result.setRightCondition(Optional.ofNullable(param.getRightCondition()).map(AstScreenRuleConditionEnum::getCode).orElse(null));
}
//region 地区
if (CollectionUtils.isNotEmpty(param.getRegion())) {
result.setRegionList(param.getRegion());
}
//orgCode 原始权益机构
result.setLenderOrgCode(param.getLenderOrgCode());
//AbssqrProdCode 内部准入产品码
result.setAbssqrProdCode(param.getAbssqrProdCode());
//prodCode 准入产品码
result.setAbssqrProdCode(param.getAbssqrProdCode());
//assetStatus 资产状态,|分割,对应五级分类
if (StringUtils.isNotBlank(param.getAssetStatus())) {
List<String> assetStatusList = TextUtil.convertTxt2List(param.getAssetStatus());
List<AstRiskClassEnum> astStatusEnumList =
assetStatusList.stream().map(code -> AstRiskClassEnum.getByCode(code)).collect(Collectors.toList());
result.setAssetStatusList(astStatusEnumList);
}
//maxAge 最大年龄
result.setMaxAge(param.getMaxAge());
//minAge 最小年龄
result.setMinAge(param.getMinAge());
//maxTerm 最大期次
result.setMaxTerm(param.getMaxTerm());
//minTerm 最小期次
result.setMinTerm(param.getMinTerm());
//maxRemainDays 最大剩余天数
result.setMaxRemainDays(param.getMaxRemainDays());
//minRemainDays 最小剩余天数
result.setMinRemainDays(param.getMinRemainDays());
//latestEndDate 最晚到期日
result.setLatestEndDate(param.getLatestEndDate());
//earliestEndDate 最早到期日
result.setEarliestEndDate(param.getEarliestEndDate());
//singleMaxInterRate 单笔最高利率
if (param.getSingleMaxInterRate() != null) {
result.setSingleMaxInterRate(CalcUtil.calcRealRate(param.getSingleMaxInterRate()));
}
//singleMinInterRate 单笔最单利率
if (param.getSingleMinInterRate() != null) {
result.setSingleMinInterRate(CalcUtil.calcRealRate(param.getSingleMinInterRate()));
}
result.setScreenType(ScreenTypeEnum.getByCode(param.getScreenType()));
return result;
}
public static AstScreenRuleDO convertRule2Do(AstScreenRule param) {
if (param == null) {
return null;
}
AstScreenRuleDO result = new AstScreenRuleDO();
//assetScreeningRuleNo 资产筛选规则编号
result.setScreenRuleNo(param.getScreenRuleNo());
if (StringUtils.isBlank(result.getScreenRuleNo())) {
result.setScreenRuleNo(SequenceUtil.genId(IdTypeEnum.ASTSCREENINGRULE));
}
//assetScreeningRuleName 资产筛选规则编号
result.setScreenRuleName(param.getScreenRuleName());
//singleMaxAmount 单笔最大金额
if (param.getSingleMaxAmount() != null) {
result.setSingleMaxAmount(param.getSingleMaxAmount().getCent());
}
//singleMinAmount 单笔最小金额
if (param.getSingleMinAmount() != null) {
result.setSingleMinAmount(param.getSingleMinAmount().getCent());
}
//region 地区
if (CollectionUtils.isNotEmpty(param.getRegionList())) {
result.setRegion(JSON.toJSONString(param.getRegionList()));
}
//orgCode 原始权益机构
result.setLenderOrgCode(param.getLenderOrgCode());
//prodCode 准入产品码
result.setAbssqrProdCode(param.getAbssqrProdCode());
//prodName 准入产品名称
result.setProdName(param.getProdName());
//prodCode 准入产品码
result.setProdCode(param.getProdCode());
//assetStatus 资产状态,|分割,对应五级分类
if (CollectionUtils.isNotEmpty(param.getAssetStatusList())) {
result.setAssetStatus(CollectionUtil.join(
param.getAssetStatusList().stream().map(AstRiskClassEnum::getCode).collect(Collectors.toList()), ","));
}
//maxAge 最大年龄
result.setMaxAge(param.getMaxAge());
//minAge 最小年龄
result.setMinAge(param.getMinAge());
//maxTerm 最大期次
result.setMaxTerm(param.getMaxTerm());
//minTerm 最小期次
result.setMinTerm(param.getMinTerm());
//maxRemainDays 最大剩余天数
result.setMaxRemainDays(param.getMaxRemainDays());
//minRemainDays 最小剩余天数
result.setMinRemainDays(param.getMinRemainDays());
//latestEndDate 最晚到期日
result.setLatestEndDate(param.getLatestEndDate());
//earliestEndDate 最早到期日
result.setEarliestEndDate(param.getEarliestEndDate());
//singleMaxInterRate 单笔最高利率
result.setSingleMaxInterRate(param.getSingleMaxInterRate());
//singleMinInterRate 单笔最单利率
result.setSingleMinInterRate(param.getSingleMinInterRate());
//ApproveStatus 审批状态
result.setApproveStatus(param.getApproveStatus().getCode());
//GmtCreator 创建者
if (param.getGmtCreator() != null) {
result.setGmtCreator(param.getGmtCreator());
}
//GmtModifier 修改人
if (param.getGmtModifier() != null) {
result.setGmtModifier(param.getGmtModifier());
}
result.setManagerOrgCode(param.getManagerOrgCode());
result.setScreenType(Optional.ofNullable(param.getScreenType()).map(ScreenTypeEnum::getCode).orElse(null));
return result; return result;
} }
} }
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.model.convertor;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.CalcIntrTypeEnum;
import com.abssqr.plat.common.facade.model.prod.LoanProduct;
import com.abssqr.plat.common.model.domain.ast.LoanAstBuyBackPack;
import com.general.system.bpm.enums.ApproveStatusEnum;
import com.general.system.common.model.Money;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Optional;
/**
* 资产回购筛选包
*
* @author xiachenxiang
* @version com.abssqr.plat.common.model.convertor: LoanAstBuyBackPackConvert.java, v 0.1 2020-02-11 3:09 PM xiachenxiang Exp $
*/
public class LoanAstBuyBackPackConvert {
public static final AstPackDO domain2DO(LoanAstBuyBackPack param) {
if (param == null) {
return null;
}
AstPackDO result = new AstPackDO();
result.setPlanNo(param.getPlanNo());
//packCode 资产包编码
result.setPackCode(param.getPackCode());
//packName 资产包名称
result.setPackName(param.getPackName());
//avalAmt 预期规模
result.setAvalAmt(param.getAvalAmt().getCent());
//dymRule 动态规则列表
result.setDymRule(param.getDymRule());
//packStatus 资产包状态
result.setPackStatus(param.getPackStatus().getCode());
//scenRuleNos 筛选规则列表
result.setTransRule(param.getTransferRule().getTransferNo());
//scenDate 刷选日期
result.setScenDate(param.getScenDate());
//maxEndDate 最大到期日
result.setMaxEndDate(param.getMaxEndDate());
//minEndDate 最小到期日
result.setMinEndDate(param.getMinEndDate());
result.setCalcIntrType(param.getCalcIntrType().getCode());
result.setManagerOrgCode(param.getManagerOrgCode());
result.setPackType(param.getPackType().getCode());
result.setAbssqrProdCode(Optional.ofNullable(param.getLoanProduct()).map(LoanProduct::getAbssqrProdCode).orElse(null));
result.setApproveStatus(Optional.ofNullable(param.getApproveStatus()).map(ApproveStatusEnum::getCode).orElse(null));
result.setApproveDate(param.getApproveDate());
result.setBackOutCode(param.getBackOutCode());
return result;
}
public static final LoanAstBuyBackPack do2Domain(AstPackDO param) {
if (param == null) {
return null;
}
LoanAstBuyBackPack result = new LoanAstBuyBackPack();
result.setPlanNo(param.getPlanNo());
//avalAmt 预期规模
result.setAvalAmt(Money.createWithCentNull(param.getAvalAmt()));
//dymRule 动态规则列表
result.setDymRule(param.getDymRule());
//packCode 资产包编码
result.setPackCode(param.getPackCode());
//packName 资产包名称
result.setPackName(param.getPackName());
//packStatus 资产包状态
result.setPackStatus(AstPackStatusEnum.getByCode(param.getPackStatus()));
//scenDate 刷选日期
result.setScenDate(param.getScenDate());
//maxEndDate 最大到期日
result.setMaxEndDate(param.getMaxEndDate());
//minEndDate 最小到期日
result.setMinEndDate(param.getMinEndDate());
result.setCalcIntrType(CalcIntrTypeEnum.getByCode(param.getCalcIntrType()));
result.setManagerOrgCode(param.getManagerOrgCode());
result.setMemo(param.getMemo());
result.setApproveDate(param.getApproveDate());
result.setApproveStatus(ApproveStatusEnum.getEnum(param.getApproveStatus()));
result.setBackOutCode(param.getBackOutCode());
result.getLoanProduct().setAbssqrProdCode(param.getAbssqrProdCode());
return result;
}
public static List<LoanAstBuyBackPack> convert2DoList(List<AstPackDO> param) {
List<LoanAstBuyBackPack> res = Lists.newArrayList();
for (AstPackDO astPackDO : param) {
res.add(LoanAstBuyBackPackConvert.do2Domain(astPackDO));
}
return res;
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2019 All Rights Reserved.
*/
package com.abssqr.plat.common.model.convertor;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.CalcIntrTypeEnum;
import com.abssqr.plat.common.model.domain.ast.Pack;
import com.general.system.common.model.Money;
import com.google.common.collect.Lists;
import java.util.List;
/**
* @author bangis.wangdf
* @version com.abssqr.plat.common.model.convertor: PacKConvert.java, v 0.1 2019-06-16 18:02 bangis.wangdf Exp $
*/
public class PacKConvert {
public static final AstPackDO domain2DO(Pack param) {
if (param == null) {
return null;
}
AstPackDO result = new AstPackDO();
result.setPlanNo(param.getPlanNo());
//packCode 资产包编码
result.setPackCode(param.getPackCode());
//packName 资产包名称
result.setPackName(param.getPackName());
//avalAmt 预期规模
result.setAvalAmt(param.getAvalAmt().getCent());
//dymRule 动态规则列表
result.setDymRule(param.getDymRule());
//packStatus 资产包状态
result.setPackStatus(param.getPackStatus().getCode());
//scenRuleNos 筛选规则列表
result.setTransRule(param.getTransferRule().getTransferNo());
//scenDate 刷选日期
result.setScenDate(param.getScenDate());
//maxEndDate 最大到期日
result.setMaxEndDate(param.getMaxEndDate());
//minEndDate 最小到期日
result.setMinEndDate(param.getMinEndDate());
result.setCalcIntrType(param.getCalcIntrType().getCode());
result.setManagerOrgCode(param.getManagerOrgCode());
result.setPackType(param.getPackType().getCode());
return result;
}
public static final Pack do2Domain(AstPackDO param) {
if (param == null) {
return null;
}
Pack result = new Pack();
result.setPlanNo(param.getPlanNo());
//avalAmt 预期规模
result.setAvalAmt(Money.createWithCentNull(param.getAvalAmt()));
//dymRule 动态规则列表
result.setDymRule(param.getDymRule());
//packCode 资产包编码
result.setPackCode(param.getPackCode());
//packName 资产包名称
result.setPackName(param.getPackName());
//packStatus 资产包状态
result.setPackStatus(AstPackStatusEnum.getByCode(param.getPackStatus()));
//scenDate 刷选日期
result.setScenDate(param.getScenDate());
//maxEndDate 最大到期日
result.setMaxEndDate(param.getMaxEndDate());
//minEndDate 最小到期日
result.setMinEndDate(param.getMinEndDate());
result.setCalcIntrType(CalcIntrTypeEnum.getByCode(param.getCalcIntrType()));
result.setManagerOrgCode(param.getManagerOrgCode());
return result;
}
public static List<Pack> convert2DoList(List<AstPackDO> param){
List<Pack> res = Lists.newArrayList();
for (AstPackDO astPackDO : param) {
res.add(PacKConvert.do2Domain(astPackDO));
}
return res;
}
}
/** ///**
* abssqr.comInc. // * abssqr.comInc.
* Copyright(c)2019-2019AllRightsReserved. // * Copyright(c)2019-2019AllRightsReserved.
*/ // */
package com.abssqr.plat.common.model.convertor; //package com.abssqr.plat.common.model.convertor;
//
import com.abssqr.plat.common.facade.enums.*; //import com.abssqr.plat.common.facade.enums.*;
import com.abssqr.plat.common.facade.model.account.Account; //import com.abssqr.plat.common.facade.model.account.Account;
import com.abssqr.plat.common.facade.model.org.OrganizationEntity; //import com.abssqr.plat.common.facade.model.org.OrganizationEntity;
import com.abssqr.plat.common.facade.model.plan.Plan; //import com.abssqr.plat.common.facade.model.plan.Plan;
import com.abssqr.plat.common.facade.model.plan.PlanAstPriceRule; //import com.abssqr.plat.common.facade.model.plan.PlanAstPriceRule;
import com.abssqr.plat.common.facade.model.plan.PlanBase; //import com.abssqr.plat.common.facade.model.plan.PlanBase;
import com.abssqr.plat.common.facade.model.plan.PlanTransferRule; //import com.abssqr.plat.common.facade.model.plan.PlanTransferRule;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule; //import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.facade.param.acct.AccountParam; //import com.abssqr.plat.common.facade.param.acct.AccountParam;
import com.abssqr.plat.common.facade.param.org.OrgEntityOprParam; //import com.abssqr.plat.common.facade.param.org.OrgEntityOprParam;
import com.abssqr.plat.common.facade.param.plan.PlanOprParam; //import com.abssqr.plat.common.facade.param.plan.PlanOprParam;
import com.abssqr.plat.common.facade.param.plan.sub.PlanAstPriceRuleParam; //import com.abssqr.plat.common.facade.param.plan.sub.PlanAstPriceRuleParam;
import com.abssqr.plat.common.facade.param.plan.sub.PlanTransferRuleParam; //import com.abssqr.plat.common.facade.param.plan.sub.PlanTransferRuleParam;
import com.abssqr.plat.common.facade.utils.CalcUtil; //import com.abssqr.plat.common.facade.utils.CalcUtil;
import com.abssqr.plat.common.model.enums.IdTypeEnum; //import com.abssqr.plat.common.model.enums.IdTypeEnum;
import com.abssqr.plat.common.model.seq.SequenceUtil; //import com.abssqr.plat.common.model.seq.SequenceUtil;
import com.general.system.common.model.Money; //import com.general.system.common.model.Money;
import com.google.common.collect.Lists; //import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils; //import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; //import org.apache.commons.lang3.StringUtils;
//
import java.util.List; //import java.util.List;
import java.util.Optional; //import java.util.Optional;
//
/** ///**
* @author yangcheng // * @author yangcheng
* @version PlanParamConvert.java, v0.12019-06-1416:50 yangchengExp$ // * @version PlanParamConvert.java, v0.12019-06-1416:50 yangchengExp$
*/ // */
public class PlanParamConvert { //public class PlanParamConvert {
//
public static PlanBase convert2PlanBase(PlanOprParam param) { // public static PlanBase convert2PlanBase(PlanOprParam param) {
PlanBase result = null; // PlanBase result = null;
if (PlanTypeEnum.getByCode(param.getPlanType()) == PlanTypeEnum.SPV) { // if (PlanTypeEnum.getByCode(param.getPlanType()) == PlanTypeEnum.SPV) {
result = new OrganizationEntity(); // result = new OrganizationEntity();
} else { // } else {
result = new Plan(); // result = new Plan();
} // }
//
result.setPlanType(PlanTypeEnum.getByCode(param.getPlanType())); // result.setPlanType(PlanTypeEnum.getByCode(param.getPlanType()));
//totalAmt 发行规模 // //totalAmt 发行规模
result.setTotalAmt(Optional.ofNullable(param.getTotalAmt()).map(Money::new).map((item) -> item.multiply(10000L)).orElse(null)); // result.setTotalAmt(Optional.ofNullable(param.getTotalAmt()).map(Money::new).map((item) -> item.multiply(10000L)).orElse(null));
//planNo 计划编号 // //planNo 计划编号
result.setPlanNo(param.getPlanNo().trim()); // result.setPlanNo(param.getPlanNo().trim());
//fundType 募集方式 // //fundType 募集方式
result.setFundType(FundTypeEnum.getByCode(param.getFundType())); // result.setFundType(FundTypeEnum.getByCode(param.getFundType()));
//planName 计划名 // //planName 计划名
result.setPlanName(param.getPlanName().trim()); // result.setPlanName(param.getPlanName().trim());
//managerOrgCode 管理机构 // //managerOrgCode 管理机构
result.setPlanMgrOrgCode(param.getPlanMgrOrgCode()); // result.setPlanMgrOrgCode(param.getPlanMgrOrgCode());
//sponsorOrgCode 发起机构 // //sponsorOrgCode 发起机构
result.setSponsorOrgCode(param.getSponsorOrgCode()); // result.setSponsorOrgCode(param.getSponsorOrgCode());
//endDate 计划到期日(信托终止日)计划截止日 // //endDate 计划到期日(信托终止日)计划截止日
result.setEndDate(param.getEndDate()); // result.setEndDate(param.getEndDate());
//beginDate 计划设立日(信托设立日) // //beginDate 计划设立日(信托设立日)
result.setBeginDate(param.getBeginDate()); // result.setBeginDate(param.getBeginDate());
//effectDate 计划起息日 // //effectDate 计划起息日
result.setEffectDate(param.getEffectDate()); // result.setEffectDate(param.getEffectDate());
//firstPayDate 首次偿付日 首次兑付日 // //firstPayDate 首次偿付日 首次兑付日
result.setFirstPayDate(param.getFirstPayDate()); // result.setFirstPayDate(param.getFirstPayDate());
//initCalcDate 初始起算日 // //initCalcDate 初始起算日
result.setInitCalcDate(param.getInitCalcDate()); // result.setInitCalcDate(param.getInitCalcDate());
//firstClearDate 首次结算日 // //firstClearDate 首次结算日
result.setFirstClearDate(param.getFirstClearDate()); // result.setFirstClearDate(param.getFirstClearDate());
//payFrequency 兑付频率 // //payFrequency 兑付频率
result.setPayFreq(PlanPayFreqEnum.getByCode(param.getPayFreq())); // result.setPayFreq(PlanPayFreqEnum.getByCode(param.getPayFreq()));
//countCalcType 计息方式 // //countCalcType 计息方式
result.setCalcIntrType(CalcIntrTypeEnum.getByCode(param.getCalcIntrType())); // result.setCalcIntrType(CalcIntrTypeEnum.getByCode(param.getCalcIntrType()));
//vatRate 增指税率 // //vatRate 增指税率
result.setVatRate(CalcUtil.calcRealRate(param.getVatRate())); // result.setVatRate(CalcUtil.calcRealRate(param.getVatRate()));
//status 计划状态 // //status 计划状态
if (result.getStatus() == null) { // if (result.getStatus() == null) {
result.setStatus(PlanStatusEnum.PREPARING); // result.setStatus(PlanStatusEnum.PREPARING);
} // }
if (result.getPlanType() == PlanTypeEnum.SPV && result instanceof OrganizationEntity) { // if (result.getPlanType() == PlanTypeEnum.SPV && result instanceof OrganizationEntity) {
OrganizationEntity entity = (OrganizationEntity) result; // OrganizationEntity entity = (OrganizationEntity) result;
//用户转换 // //用户转换
entity.setAccounts(convert2Account(param.getAccounts())); // entity.setAccounts(convert2Account(param.getAccounts()));
//结构 // //结构
entity.setInvestStructureList( // entity.setInvestStructureList(
InvestStructureConvert.convert2InvestStructureList(param.getInvestStructureList())); // InvestStructureConvert.convert2InvestStructureList(param.getInvestStructureList()));
//费用 // //费用
entity.setFeeStructureList(FeeStructureConvert.convert2FeeStructureList(param.getFeeStructureList())); // entity.setFeeStructureList(FeeStructureConvert.convert2FeeStructureList(param.getFeeStructureList()));
OrgEntityOprParam entityQryParam = (OrgEntityOprParam) param; // OrgEntityOprParam entityQryParam = (OrgEntityOprParam) param;
entity.setNeedAlloc(YNEnum.getByCode(entityQryParam.getNeedAlloc())); // entity.setNeedAlloc(YNEnum.getByCode(entityQryParam.getNeedAlloc()));
entity.setProdCodeList(entityQryParam.getProdCodes()); // entity.setProdCodeList(entityQryParam.getProdCodes());
entity.setStopPayDate(entityQryParam.getStopPayDate()); // entity.setStopPayDate(entityQryParam.getStopPayDate());
} else { // } else {
Plan plan = (Plan) result; // Plan plan = (Plan) result;
//转让规则转换 // //转让规则转换
plan.setPlanTransferRule(convert2TransferRule(param.getPlanNo(), param.getTransferRule())); // plan.setPlanTransferRule(convert2TransferRule(param.getPlanNo(), param.getTransferRule()));
//用户转换 // //用户转换
plan.setAccounts(convert2Account(param.getAccounts())); // plan.setAccounts(convert2Account(param.getAccounts()));
//结构 // //结构
plan.setInvestStructureList( // plan.setInvestStructureList(
InvestStructureConvert.convert2InvestStructureList(param.getInvestStructureList())); // InvestStructureConvert.convert2InvestStructureList(param.getInvestStructureList()));
//费用 // //费用
plan.setFeeStructureList(FeeStructureConvert.convert2FeeStructureList(param.getFeeStructureList())); // plan.setFeeStructureList(FeeStructureConvert.convert2FeeStructureList(param.getFeeStructureList()));
// 定价类型 // // 定价类型
plan.setPriceType(PriceTypeEnum.getByCode(param.getPriceType())); // plan.setPriceType(PriceTypeEnum.getByCode(param.getPriceType()));
// 定价规则列表 // // 定价规则列表
plan.setPlanAstPriceRuleList(convert2PlanAstPriceRuleList(param.getPlanAstPriceRuleList())); // plan.setPlanAstPriceRuleList(convert2PlanAstPriceRuleList(param.getPlanAstPriceRuleList()));
} // }
result.setFinSerFeeRate(CalcUtil.calcRealRate(param.getFinSerFeeRate())); // result.setFinSerFeeRate(CalcUtil.calcRealRate(param.getFinSerFeeRate()));
return result; // return result;
} // }
//
//
private static List<Account> convert2Account(List<AccountParam> accounts) { // private static List<Account> convert2Account(List<AccountParam> accounts) {
List<Account> result = Lists.newArrayList(); // List<Account> result = Lists.newArrayList();
if (CollectionUtils.isNotEmpty(accounts)) { // if (CollectionUtils.isNotEmpty(accounts)) {
for (AccountParam account : accounts) { // for (AccountParam account : accounts) {
Account mdl = new Account(); // Account mdl = new Account();
mdl.setActAttr(AccountAttributeEnum.getByCode(account.getActAttr())); // mdl.setActAttr(AccountAttributeEnum.getByCode(account.getActAttr()));
mdl.setActBank(account.getActBank()); // mdl.setActBank(account.getActBank());
mdl.setActCity(account.getActCity()); // mdl.setActCity(account.getActCity());
mdl.setActName(account.getActName()); // mdl.setActName(account.getActName());
mdl.setActNo(account.getActNo()); // mdl.setActNo(account.getActNo());
mdl.setActProv(account.getActProv()); // mdl.setActProv(account.getActProv());
mdl.setActType(AccountTypeEnum.getByCode(account.getActType())); // mdl.setActType(AccountTypeEnum.getByCode(account.getActType()));
mdl.setChannelNo(account.getChannelNo()); // mdl.setChannelNo(account.getChannelNo());
result.add(mdl); // result.add(mdl);
} // }
//
} // }
return result; // return result;
} // }
//
private static PlanTransferRule convert2TransferRule(String planNo, PlanTransferRuleParam param) { // private static PlanTransferRule convert2TransferRule(String planNo, PlanTransferRuleParam param) {
//
if (param == null) { // if (param == null) {
return null; // return null;
} // }
PlanTransferRule result = new PlanTransferRule(); // PlanTransferRule result = new PlanTransferRule();
result.setPlanNo(planNo); // result.setPlanNo(planNo);
//transferNo 转让规则 自己产生 // //transferNo 转让规则 自己产生
result.setTransferNo(param.getTransferNo()); // result.setTransferNo(param.getTransferNo());
if (StringUtils.isBlank(result.getTransferNo())) { // if (StringUtils.isBlank(result.getTransferNo())) {
result.setTransferNo(SequenceUtil.genId(IdTypeEnum.TRANSFERRULE)); // result.setTransferNo(SequenceUtil.genId(IdTypeEnum.TRANSFERRULE));
} // }
//resAmt 预留金额 // //resAmt 预留金额
result.setResAmt(Optional.ofNullable(param.getResAmt()).map(Money::new).map((item) -> item.multiply(10000L)).orElse(null)); // result.setResAmt(Optional.ofNullable(param.getResAmt()).map(Money::new).map((item) -> item.multiply(10000L)).orElse(null));
//trCycle 转让周期 // //trCycle 转让周期
result.setTrCycle(TrCycleEnum.getByCode(param.getTrCycle())); // result.setTrCycle(TrCycleEnum.getByCode(param.getTrCycle()));
//cycle 是否循环注水 // //cycle 是否循环注水
result.setCycle(param.getCycle()); // result.setCycle(param.getCycle());
if (result.getTrCycle() == TrCycleEnum.STATIC) { // if (result.getTrCycle() == TrCycleEnum.STATIC) {
result.setCycle(false); // result.setCycle(false);
} // }
result.setCycle(param.getCycle()); // result.setCycle(param.getCycle());
//slice 是否切片 // //slice 是否切片
result.setSlice(param.getSlice()); // result.setSlice(param.getSlice());
//stopTrDate 停止转让日 持续购买终止日 // //stopTrDate 停止转让日 持续购买终止日
result.setStopTrDate(param.getStopTrDate()); // result.setStopTrDate(param.getStopTrDate());
//startTrDate 开始转让日 持续购买开始日 // //startTrDate 开始转让日 持续购买开始日
result.setStartTrDate(param.getStartTrDate()); // result.setStartTrDate(param.getStartTrDate());
if (CollectionUtils.isNotEmpty(param.getScreeningRules())) { // if (CollectionUtils.isNotEmpty(param.getScreeningRules())) {
List<AstScreenRule> astScreenRuleList = Lists.newArrayList(); // List<AstScreenRule> astScreenRuleList = Lists.newArrayList();
for (String screeningRuleNo : param.getScreeningRules()) { // for (String screeningRuleNo : param.getScreeningRules()) {
AstScreenRule astScreenRule = new AstScreenRule(); // AstScreenRule astScreenRule = new AstScreenRule();
astScreenRule.setScreenRuleNo(screeningRuleNo); // astScreenRule.setScreenRuleNo(screeningRuleNo);
astScreenRuleList.add(astScreenRule); // astScreenRuleList.add(astScreenRule);
} // }
result.setAstScreenRuleList(astScreenRuleList); // result.setAstScreenRuleList(astScreenRuleList);
} // }
return result; // return result;
} // }
//
/** // /**
* 分期定价规则 // * 分期定价规则
* @param param // * @param param
* @return // * @return
*/ // */
public static List<PlanAstPriceRule> convert2PlanAstPriceRuleList(List<PlanAstPriceRuleParam> param) { // public static List<PlanAstPriceRule> convert2PlanAstPriceRuleList(List<PlanAstPriceRuleParam> param) {
List<PlanAstPriceRule> result = Lists.newArrayList(); // List<PlanAstPriceRule> result = Lists.newArrayList();
if (param == null) { // if (param == null) {
return null; // return null;
} // }
param.forEach(item -> result.add(convert2PlanAstPriceRule(item))); // param.forEach(item -> result.add(convert2PlanAstPriceRule(item)));
return result; // return result;
} // }
//
private static PlanAstPriceRule convert2PlanAstPriceRule(PlanAstPriceRuleParam param) { // private static PlanAstPriceRule convert2PlanAstPriceRule(PlanAstPriceRuleParam param) {
if (param == null) { // if (param == null) {
return null; // return null;
} // }
PlanAstPriceRule result = new PlanAstPriceRule(); // PlanAstPriceRule result = new PlanAstPriceRule();
result.setPlanNo(param.getPlanNo()); // result.setPlanNo(param.getPlanNo());
result.setTermNo(param.getTermNo()); // result.setTermNo(param.getTermNo());
result.setIntrDiscountRate(param.getIntrDiscountRate()); // result.setIntrDiscountRate(param.getIntrDiscountRate());
return result; // return result;
} // }
} //}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.model.domain.ast;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.AstPackTypeEnum;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.general.system.common.model.Money;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.model.domain.ast: AstPack.java, v 0.1 2020-04-18 3:48 PM xiachenxiang Exp $
*/
public class AstPack {
/**
* avalAmt 规模.
*/
private Money avalAmt;
/**
* type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT.
*/
private AstPackTypeEnum type;
/**
* packNo 资产包编号.
*/
private String packNo;
/**
* planNo 产品编号.
*/
private String planNo;
/**
* status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
*/
private AstPackStatusEnum status;
/**
* packName 资产包名称.
*/
private String packName;
/**
* astPoolNo 资产池编号.
*/
private String astPoolNo;
/**
* packDate 封包日.
*/
private Date packDate;
/**
* packSubmitDate 封包提交日.
*/
private Date packSubmitDate;
/**
* 筛选规则
*/
private List<AstScreenRule> screenRuleList = new ArrayList<>();
/**
* 资产类型
*/
private AstTypeEnum astTypeCode;
public Money getAvalAmt() {
return avalAmt;
}
public void setAvalAmt(Money avalAmt) {
this.avalAmt = avalAmt;
}
public AstPackTypeEnum getType() {
return type;
}
public void setType(AstPackTypeEnum type) {
this.type = type;
}
public String getPackNo() {
return packNo;
}
public void setPackNo(String packNo) {
this.packNo = packNo;
}
public String getPlanNo() {
return planNo;
}
public void setPlanNo(String planNo) {
this.planNo = planNo;
}
public AstPackStatusEnum getStatus() {
return status;
}
public void setStatus(AstPackStatusEnum status) {
this.status = status;
}
public String getPackName() {
return packName;
}
public void setPackName(String packName) {
this.packName = packName;
}
public String getAstPoolNo() {
return astPoolNo;
}
public void setAstPoolNo(String astPoolNo) {
this.astPoolNo = astPoolNo;
}
public Date getPackDate() {
return packDate;
}
public void setPackDate(Date packDate) {
this.packDate = packDate;
}
public Date getPackSubmitDate() {
return packSubmitDate;
}
public void setPackSubmitDate(Date packSubmitDate) {
this.packSubmitDate = packSubmitDate;
}
public List<AstScreenRule> getScreenRuleList() {
return screenRuleList;
}
public void setScreenRuleList(List<AstScreenRule> screenRuleList) {
this.screenRuleList = screenRuleList;
}
public AstTypeEnum getAstTypeCode() {
return astTypeCode;
}
public void setAstTypeCode(AstTypeEnum astTypeCode) {
this.astTypeCode = astTypeCode;
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.model.repo.ast;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import com.abssqr.plat.common.model.domain.ast.AstPack;
/**
*
* @author xiachenxiang
* @version com.abssqr.plat.common.model.repo.ast: AstPackRepository.java, v 0.1 2020-04-18 3:15 PM xiachenxiang Exp $
*/
public interface AstPackRepo {
/**
* 根据唯一约束AbsPackPackNo获取数据
*/
AstPack getByAbsPackPackNo(String packNo);
/**
* 根据资产包名查询数量
*/
Long cntByPackName(String packName);
/**
* 新增资产池
* @param pack
* @return
*/
int insert(AstPack pack);
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2018 All Rights Reserved.
*/
package com.abssqr.plat.common.model.repo.ast;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.AstPackTradeTypeEnum;
import com.abssqr.plat.common.model.domain.ast.Pack;
import com.abssqr.plat.common.model.domain.ast.LoanAstBuyBackPack;
import java.util.Date;
import java.util.List;
/**
* @author guozhenhua
* @version com.abssqr.plat.common.model.repo.pack: PackRepository.java, v 0.1 2018-02-26 下午4:18 guozhenhua Exp $
*/
public interface PackRepository {
/**
* 新增资产包
*
* @param pack
* @return
*/
int create(Pack pack);
/**
* 新增资产包
*
* @param pack
* @return
*/
int create(LoanAstBuyBackPack pack);
int createBatch(List<Pack> packs);
/**
* 更新资产包状态
* @param packs
* @param packStatus
* @param oldPackStatus
*/
void updatePackStatus(List<Pack> packs, AstPackStatusEnum packStatus, AstPackStatusEnum oldPackStatus) ;
List<AstPackDO> getByPlanNo(String planNo, AstPackTradeTypeEnum tradeTypeEnum);
AstPackDO getLastDayPackByPlanNo(String planNo, Date scenDate, AstPackTradeTypeEnum tradeTypeEnum);
List<AstPackDO> getByManagerOrgCode(String managerOrgCode, Date accountDate, AstPackStatusEnum status, AstPackTradeTypeEnum tradeTypeEnum);
AstPackDO getByPackNo(String packCode);
/**
* 查询资产包
* @param scenDate
* @param status
* @return
*/
List<AstPackDO> selectPackByStatus(Date scenDate, AstPackStatusEnum status, AstPackTradeTypeEnum tradeTypeEnum);
/**
* 获取指定状态的资产包数量
* @param time
* @param status
* @return
*/
Long countByStatusAndTime(Date time, String status, AstPackTradeTypeEnum tradeTypeEnum);
/**
* 锁资产包
* @param packCode
* @return
*/
AstPackDO lockByPackCode(String packCode);
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.model.repo.ast.impl;
import com.abssqr.plat.common.dal.mysql.auto.dao.AstPackDAO;
import com.abssqr.plat.common.model.convertor.AstPackConvert;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.repo.ast.AstPackRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.model.repo.ast.impl: AstPackRepositoryImpl.java, v 0.1 2020-04-18 3:16 PM xiachenxiang Exp $
*/
@Component
public class AstPackRepoImpl implements AstPackRepo {
@Autowired
private AstPackDAO astPackDAO;
@Override
public AstPack getByAbsPackPackNo(String packNo) {
return AstPackConvert.convertDomain(astPackDAO.getByAbsPackPackNo(packNo));
}
@Override
public Long cntByPackName(String packName) {
return astPackDAO.cntByPackName(packName);
}
@Override
public int insert(AstPack pack){
return astPackDAO.insert(AstPackConvert.convertDO(pack));
}
}
...@@ -20,48 +20,12 @@ import java.util.List; ...@@ -20,48 +20,12 @@ import java.util.List;
* @version com.abssqr.plat.common.model.repo.rule: AstScreenRuleRepo.java, v 0.1 2018-03-06 下午2:19 yaphet Exp $ * @version com.abssqr.plat.common.model.repo.rule: AstScreenRuleRepo.java, v 0.1 2018-03-06 下午2:19 yaphet Exp $
*/ */
public interface AstScreenRuleRepo { public interface AstScreenRuleRepo {
/**
* 分页查询获取筛选计划
* @param screenRulePage
* @return
*/
ScreenRulePage getScreenRuleList(ScreenRulePage screenRulePage);
/** /**
* @param screenRuleNo * 批量插入筛选规则
* @return * @param list
* @description 根据筛选规则编号查询筛选规则
*/
AstScreenRule getByNo(String screenRuleNo);
/**
* @param screenRuleNos
* @return
* @description 根据筛选规则编号查询筛选规则
*/
List<AstScreenRule> getByNos(List<String> screenRuleNos);
/**
* 增加筛选规则
*
* @param astScreenRule
* @return
*/
Integer addScreenRule(AstScreenRule astScreenRule);
/**
* 修改筛选规则
*
* @param astScreenRule
* @return
*/
Integer update(AstScreenRule astScreenRule);
/**
* 查看是否相同筛选规则
*
* @param screenRuleNo
* @param screenRuleName
* @return * @return
*/ */
int getSameRuleCnt(String screenRuleNo,String screenRuleName); int insertBatch(List<AstScreenRule> list);
} }
...@@ -28,65 +28,12 @@ public class AstScreenRuleRepoImpl implements AstScreenRuleRepo { ...@@ -28,65 +28,12 @@ public class AstScreenRuleRepoImpl implements AstScreenRuleRepo {
@Autowired @Autowired
private AstScreenRuleDAO astScreenRuleDAO; private AstScreenRuleDAO astScreenRuleDAO;
/**
* 分页查询获取筛选计划
*
* @param param
* @return
*/
@Override @Override
public ScreenRulePage getScreenRuleList(ScreenRulePage param) { public int insertBatch(List<AstScreenRule> list){
return astScreenRuleDAO.getScreenRuleList(param); if (CollectionUtils.isEmpty(list)){
} return 0;
@Override
public AstScreenRule getByNo(String screenRuleNo) {
AstScreenRuleDO astScreenRuleDO = astScreenRuleDAO.getByScreenRuleNo(screenRuleNo);
return AstScreenRuleConvert.convert2Domain(astScreenRuleDO);
}
/**
* @param screenRuleNos
* @return
* @description 根据筛选规则编号查询筛选规则
*/
@Override
public List<AstScreenRule> getByNos(List<String> screenRuleNos) {
List<AstScreenRuleDO> astScreenRuleDOS = astScreenRuleDAO.getByScreenRuleNosList(screenRuleNos);
List<AstScreenRule> result = Lists.newArrayList();
if (CollectionUtils.isNotEmpty(astScreenRuleDOS)) {
for (AstScreenRuleDO astScreenRuleDO : astScreenRuleDOS) {
result.add(AstScreenRuleConvert.convert2Domain(astScreenRuleDO));
}
} }
return result; return astScreenRuleDAO.insertBatch(AstScreenRuleConvert.convert2DOList(list));
}
/**
* 新增筛选规则
* @param astScreenRule
* @return
*/
@Override
public Integer addScreenRule(AstScreenRule astScreenRule) {
AstScreenRuleDO astScreenRuleDO=AstScreenRuleConvert.convertRule2Do(astScreenRule);
return astScreenRuleDAO.insert(astScreenRuleDO);
}
/**
* 修改筛选规则
* @param astScreenRule
* @return
*/
@Override
public Integer update(AstScreenRule astScreenRule) {
AstScreenRuleDO astScreenRuleDO=AstScreenRuleConvert.convertRule2Do(astScreenRule);
return astScreenRuleDAO.updateByScreenRuleNo(astScreenRuleDO);
}
@Override
public int getSameRuleCnt(String screenRuleNo,String screenRuleName) {
return astScreenRuleDAO.getSameRuleCnt(screenRuleNo,screenRuleName);
} }
} }
...@@ -6,13 +6,8 @@ ...@@ -6,13 +6,8 @@
package com.abssqr.plat.core.service.accounting; package com.abssqr.plat.core.service.accounting;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.abssqr.plat.common.facade.enums.PlanTypeEnum;
import com.abssqr.plat.common.facade.enums.SyncTaskTypeEnum; import com.abssqr.plat.common.facade.enums.SyncTaskTypeEnum;
import com.abssqr.plat.common.facade.model.org.OrganizationEntity;
import com.abssqr.plat.common.facade.model.plan.PlanBase; import com.abssqr.plat.common.facade.model.plan.PlanBase;
import com.abssqr.plat.common.facade.model.plan.PlanTransferRule;
import com.abssqr.plat.common.facade.model.prod.LoanProduct;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.model.domain.accounting.AcctDate; import com.abssqr.plat.common.model.domain.accounting.AcctDate;
import com.abssqr.plat.common.model.enums.OrgCodeEnum; import com.abssqr.plat.common.model.enums.OrgCodeEnum;
import com.abssqr.plat.common.model.enums.OrgTypeEnum; import com.abssqr.plat.common.model.enums.OrgTypeEnum;
...@@ -47,8 +42,8 @@ public class OrgAcctDayComponent { ...@@ -47,8 +42,8 @@ public class OrgAcctDayComponent {
private AstSyncTaskComponent astSyncTaskComponent; private AstSyncTaskComponent astSyncTaskComponent;
@Autowired @Autowired
private LoanProdRepository loanProdRepository; private LoanProdRepository loanProdRepository;
@Autowired // @Autowired
private PlanTransferRuleRepo planTransferRuleRepo; // private PlanTransferRuleRepo planTransferRuleRepo;
*/ */
/** /**
...@@ -163,26 +158,10 @@ public class OrgAcctDayComponent { ...@@ -163,26 +158,10 @@ public class OrgAcctDayComponent {
*//* *//*
public OrgCodeEnum getOrgCode(PlanBase planBase){ public OrgCodeEnum getOrgCode(PlanBase planBase){
String orgCode = ""; // 重构筛选规则后这块失效就删除了
if (planBase.getPlanType() == PlanTypeEnum.SPV && planBase instanceof OrganizationEntity) { // 重构筛选规则后失效了
orgCode = ((OrganizationEntity) planBase).getManagerOrgCode(); VarChecker.checkNotNull(null,"getOrgCode重构筛选规则后失效了");
} else { return null;
// 暂时获取 计划的发起机构
PlanTransferRule transferRule = planTransferRuleRepo.getByPlanNo(planBase.getPlanNo());
// 筛选规则
List<AstScreenRule> astScreenRuleList = transferRule.getAstScreenRuleList();
VarChecker.checkNotEmpty(astScreenRuleList, "未找到对应计划的筛选规则={0}", planBase.getPlanNo());
List<LoanProduct> products = loanProdRepository.getBybssqrProdCodes(
astScreenRuleList.stream().map(AstScreenRule::getAbssqrProdCode).collect(Collectors.toList()));
VarChecker.checkNotEmpty(products, "未找到对应计划的产品信息={0}", planBase.getPlanNo());
// 获取管理机构编码
List<String> managerCodes = products.stream().map(LoanProduct::getManagerOrgCode).collect(Collectors.toList());
VarChecker.checkNotEmpty(managerCodes, "未找到对应计划的管理机构编码={0}", planBase.getPlanNo());
orgCode = managerCodes.get(0);
}
OrgCodeEnum orgCodeEnum = OrgCodeEnum.getByCode(orgCode);
VarChecker.checkNotNull(orgCodeEnum, "{0}计划对应的机构编码不匹配{1}", planBase.getPlanNo(), orgCode);
return orgCodeEnum;
} }
} }
......
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.core.service.ast;
import com.abssqr.plat.common.facade.enums.*;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.domain.task.CommonTask;
import com.abssqr.plat.common.model.repo.ast.AstPackRepo;
import com.abssqr.plat.common.model.repo.rule.AstScreenRuleRepo;
import com.abssqr.plat.common.model.repo.task.CommonTaskRepository;
import com.abssqr.plat.common.model.seq.SequenceUtil;
import com.abssqr.plat.common.util.base.autoconfig.AbsConfig;
import com.general.system.common.util.VarChecker;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author xiachenxiang
* @version com.abssqr.plat.core.service.ast: AstPackManager.java, v 0.1 2020-04-18 4:16 PM xiachenxiang Exp $
*/
@Component
public class AstPackManager {
@Autowired
private AstPackRepo astPackRepository;
@Autowired
private AstScreenRuleRepo astScreenRuleRepo;
@Autowired
private CommonTaskRepository commonTaskRepository;
@Autowired
private AbsConfig absConfig;
/**
* 新增资产包
*
* @param param
* @return
*/
public String add(AstPackOprParam param) {
// 1. 校验重复
AstPack astPack = astPackRepository.getByAbsPackPackNo(param.getPackNo());
VarChecker.checkArgument(astPack == null, "资产包已存在");
Long cnt = astPackRepository.cntByPackName(param.getPackName());
VarChecker.checkEquals(cnt, 0L, "资产包名重复");
// 2. 保存资产包
astPack = buildPack(param);
astPackRepository.insert(astPack);
// 3. 保存筛选规则
astScreenRuleRepo.insertBatch(astPack.getScreenRuleList());
// 4. 插入资产筛选任务
CommonTask commonTask = buildBasicCommonTask(param.getPackNo(), param.getAstPoolNo());
commonTaskRepository.create(commonTask);
return param.getPackNo();
}
private AstPack buildPack(AstPackOprParam param) {
AstPack result = new AstPack();
result.setPackNo(param.getPackNo());
result.setPackName(param.getPackName());
result.setAvalAmt(param.getAvalAmtMoney());
result.setAstPoolNo(param.getAstPoolNo());
result.setType(AstPackTypeEnum.NORMAL);
result.setStatus(AstPackStatusEnum.INIT);
result.setAstTypeCode(AstTypeEnum.getByCode(param.getAstTypeCode()));
if (CollectionUtils.isNotEmpty(param.getScreenRuleList())) {
param.getScreenRuleList().forEach(item -> {
if (StringUtils.isNotEmpty(item.getLeftValue()) || StringUtils.isNotEmpty(item.getRightValue())) {
AstScreenRule rule = new AstScreenRule();
result.getScreenRuleList().add(rule);
//relNo 关联编号
rule.setRelNo(param.getPackNo());
//relType 关联类型 1.资产打包 PACK
rule.setRelType(AstScreenRelTypeEnum.PACK);
//ruleType 规则类型
rule.setRuleType(AstScreenRuleTypeEnum.getByCode(item.getRuleType()));
//leftValue 左值
rule.setLeftValue(item.getLeftValue());
//rightValue 右值
rule.setRightValue(item.getRightValue());
//leftCondition 左条件: 1.大于 GT 2.大于等于 GE
rule.setLeftCondition(AstScreenRuleConditionEnum.getByCode(item.getLeftCondition()));
//rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
rule.setRightCondition(AstScreenRuleConditionEnum.getByCode(item.getRightCondition()));
}
});
}
return result;
}
private CommonTask buildBasicCommonTask(String packNo, String astPoolNo) {
CommonTask commonTask = new CommonTask();
commonTask.setBizNo(packNo);
commonTask.setContext(astPoolNo);
commonTask.setTaskType(CommonTaskTypeEnum.PACK_MATCH);
commonTask.setTaskStatus(TaskStatusEnum.INIT);
commonTask.setEnv(absConfig.getEnv());
commonTask.setExecTimes(0L);
return commonTask;
}
}
- ABS_COMMON_TASK:
ENV:
MEMO:
BIZ_NO: packAdd01
CONTEXT: astPool01
LAST_HOST:
TASK_TYPE: PACK_MATCH
TASK_STATUS: init
EXEC_TIMES: 0
LAST_EXEC_TIME:
NEXT_EXEC_TIME:
- ABS_AST_SCREEN_RULE:
REL_NO: packAdd01
REL_TYPE: PACK
RULE_TYPE: RISK_TYPE
LEFT_CONDITION:
LEFT_VALUE:
RIGHT_CONDITION: eq
RIGHT_VALUE: 1,2,3
- ABS_AST_PACK:
PACK_NO: packAdd01
PACK_NAME: 资产包01
AVAL_AMT: 1000000000
AST_POOL_NO: astPool01
PLAN_NO:
STATUS: init
PACK_DATE:
PACK_SUBMIT_DATE:
TYPE: normal
AST_TYPE_CODE: QCDK
\ No newline at end of file
...@@ -29,87 +29,20 @@ public class TableTransYamlDataTest { ...@@ -29,87 +29,20 @@ public class TableTransYamlDataTest {
static Map<String, String> tbMap = Maps.newHashMap(); static Map<String, String> tbMap = Maps.newHashMap();
static { static {
// tbMap.put("WK_MFS_OPEN_REPAY", "loan_id='19042000477355050101' ");
// tbMap.put("WK_MFS_LN_PACT", "app_id='19042000477355050101' "); tbMap.put("ABS_COMMON_TASK", "BIZ_NO = 'packAdd01'");
// tbMap.put("WK_MFS_REPAY_INFO", "loan_id='19042000477355050101' "); tbMap.put("ABS_AST_PACK", "PACK_NO = 'packAdd01'");
// tbMap.put("WK_MFS_DUE_BILL", "loan_id='19042000477355050101' "); tbMap.put("ABS_AST_SCREEN_RULE", "REL_NO = 'packAdd01'");
// tbMap.put("WK_ABS_MFS_BILL_CTR", "loan_id='19041001376060560001' ");
// tbMap.put("wk_mfs_repay_plan", "loan_id='19042000477355050101' ");
// tbMap.put("abs_product","prod_code = 'prod0023'");
// tbMap.put("abs_product_risk_cl","abssqr_prod_code= 'PROD2019061211512600000030'");
/**
* 资产
*/
tbMap.put("ABS_LOAN", "OUT_AST_NO= 'testwkSyncDataLoanID_6002'");
tbMap.put("ABS_LOAN_AST", "OUT_AST_NO= 'testwkSyncDataLoanID_6002'");
tbMap.put("ABS_LOAN_AST_PROFIT", "OUT_AST_NO= 'testwkSyncDataLoanID_6002'");
tbMap.put("ABS_LOAN_INSTAL", "OUT_AST_NO= 'testwkSyncDataLoanID_6002'");
tbMap.put("ABS_LOAN_CONTRACT", "OUT_AST_NO= 'testwkSyncDataLoanID_6002'");
tbMap.put("ABS_LOAN_BAK", "OUT_AST_NO= 'testwkSyncDataLoanID_6002'");
tbMap.put("ABS_LOAN_INSTAL_BAK", "OUT_AST_NO= 'testwkSyncDataLoanID_6002'");
// tbMap.put("abs_loan_log","OUT_AST_NO= 'testSyncDataLoanNo0007'");
// tbMap.put("abs_loan_instal_log", "OUT_AST_NO= 'testSyncDataLoanNo0011' and event_code = 'AST99990001' ");
/**
* 放款池计划
*/
// tbMap.put("ABS_ACCOUNT", "ENTITY_CODE = 'lenderCode_0002'");
// tbMap.put("ABS_PLAN", "plan_no = 'lenderCode_0002'");
// tbMap.put("ABS_ORGANIZATION_ENTITY", "entity_code = 'lenderCode_0002'");
// tbMap.put("ABS_PLAN_AST", "plan_no = 'lenderCode_0002'");
/**
* 承接池计划
*/
// tbMap.put("ABS_ACCOUNT", "ENTITY_CODE = 'testTrustPlanNo_0002'");
// tbMap.put("ABS_PLAN", "plan_no = 'testTrustPlanNo_0002'");
// tbMap.put("ABS_PLAN_AST", "plan_no = 'testTrustPlanNo_0002'");
// tbMap.put("ABS_PLAN_TRAN_SCREEN_REL", "plan_no = 'testTrustPlanNo_0002'");
// tbMap.put("ABS_PLAN_TRANSFER_RULE", "plan_no = 'testTrustPlanNo_0002'");
// tbMap.put("ABS_AST_SCREEN_RULE", "lender_org_code = 'lenderCode_0002'");
//
// tbMap.put("ABS_PRODUCT", "abssqr_prod_code = 'prodCode_1002'");
// tbMap.put("ABS_PRODUCT_RISK_CL", "abssqr_prod_code = 'prodCode_1002'");
// tbMap.put("ABS_AST_PRICE_RULE", "abssqr_prod_code = 'prodCode_1002'");
/**
* 转让交易任务
*/
// tbMap.put("ABS_AST_PACK", "plan_no = 'trustPlanNo001'");
// tbMap.put("abs_tr_ctr_task","pack_code= 'astPackCode001'");
// tbMap.put("abs_tr_task","tfr_pack= 'astPackCode001'");
//
// tbMap.put("abs_ast_pool","manager_org_code= '1010'");
// tbMap.put("abs_ast_sync_task_ctr_log", "org_code = '1010'");
//tbMap.put("abs_plan_ast_stat_task"," plan_no = 'testPlanNo0001'");
// tbMap.put("abs_plan_transfer_rule"," plan_no = 'planNo001'");
// tbMap.put("abs_plan_alloc"," plan_no = 'planNo001'");
// tbMap.put("abs_plan_alloc_item"," plan_no = 'planNo001'");
// tbMap.put("abs_plan_acct_title"," plan_no = 'planNo001'");
// tbMap.put("abs_ast_pool","manager_org_code = '1010'");
// tbMap.put("ABS_PLAN_CLEARING_ORDER", "SEQ_NO = '1010'");
//tbMap.put("ABS_PLAN_CAPITAL_ORDER", "plan_no = 'ENTITY_CODE_0002'");
// tbMap.put("ABS_PLAN_ALLOC", " plan_no ='testTrustPlanNo001' and alloc_no = 'ALD2019123023533400354753'");
// tbMap.put("ABS_PLAN_ALLOC_FROZEN", "plan_no ='testTrustPlanNo001' and alloc_no = 'ALD2019123023533400354753'");
// tbMap.put("ABS_PLAN_ALLOC_ITEM", "plan_no ='testTrustPlanNo001' and alloc_no = 'ALD2019123023533400354753'");
// tbMap.put("ABS_PLAN_REPORT_ITEM_DEFAULT", "PLAN_NO = 'lenderCode_0002'");
// tbMap.put("ABS_PLAN_ACCT_TITLE", "TITLE_NO in ('ATD2019123023533400354750', 'ATD2019123023533400354751', 'ATD2019123023533400354752')");
// tbMap.put("abs_loan_ast_profit", "ast_no = 'absLoanAstNo0002' and src_term_no != '2' ");
} }
List<String> igCList = Lists.newArrayList("gmt_create", "gmt_modified"); List<String> igCList = Lists.newArrayList("id".toUpperCase(),"gmt_create".toUpperCase(), "gmt_modified".toUpperCase());
@Test @Test
public void tableColums() throws Exception { public void tableColums() throws Exception {
DataSource dataSource = new DriverManagerDataSource("jdbc:oracle:thin:@118.31.124.172:1521:orcl", DataSource dataSource = new DriverManagerDataSource("jdbc:oracle:thin:@118.31.124.172:1521:orcl",
"abssqr_dev", "bb_dev",
"JUEDUI2tech"); "JUEDUI2tech");
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
......
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.test.unittest.pack;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.service.ast.AstPackService;
import com.abssqr.plat.test.BaseAutoTests;
import com.abssqr.test.annotation.XTest;
import com.abssqr.test.icase.ICase;
import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.Test;
/**
* @author xiachenxiang
* @version com.abssqr.plat.test.unittest.pack: packAddUnitTest.java, v 0.1 2020-04-20 1:58 PM xiachenxiang Exp $
*/
public class PackAddUnitTest extends BaseAutoTests {
@Autowired
private AstPackService astPackService;
@XTest(relatePath = "unittest/pack/add")
@Test(dataProvider = "YamlDataProvider", description = "资产包新增")
public void add(ICase iCase, AstPackOprParam packOprParam) {
try {
astPackService.edit(packOprParam);
} finally {
// 校验数据
super.checkDB(iCase);
super.clearDB(iCase);
}
}
}
--- !!com.abssqr.test.icase.Case
id: pack_add_case0001
desc: 资产包新增测试
context:
clearDBContext:
- abs_ast_pack:
PACK_NO: packAdd01
- abs_ast_pack:
PACK_NAME: 资产包01
- abs_ast_screen_rule:
REL_NO: packAdd01
REL_TYPE: PACK
- ABS_COMMON_TASK:
BIZ_NO: packAdd01
initDBContext:
checkDBContext:
- ABS_COMMON_TASK:
ENV:
MEMO:
BIZ_NO[C]: packAdd01
CONTEXT: astPool01
LAST_HOST:
TASK_TYPE: PACK_MATCH
TASK_STATUS: init
EXEC_TIMES: 0
LAST_EXEC_TIME:
NEXT_EXEC_TIME:
- ABS_AST_SCREEN_RULE:
REL_NO[C]: packAdd01
REL_TYPE: PACK
RULE_TYPE: QCDK_RISK_TYPE
LEFT_CONDITION:
LEFT_VALUE:
RIGHT_CONDITION: eq
RIGHT_VALUE: 1,2,3
- ABS_AST_PACK:
PACK_NO[C]: packAdd01
PACK_NAME: 资产包01
AVAL_AMT: 1000000000
AST_POOL_NO: astPool01
PLAN_NO:
STATUS: init
PACK_DATE:
PACK_SUBMIT_DATE:
TYPE: normal
AST_TYPE_CODE: QCDK
###
--- !!com.abssqr.plat.common.facade.param.ast.AstPackOprParam
packNo: packAdd01
packName: 资产包01
avalAmt: 10000000
astPoolNo: astPool01
astTypeCode: QCDK
screenRuleList:
- ruleType: QCDK_RISK_TYPE
leftValue:
rightValue: '1,2,3'
rightCondition: 'eq'
\ No newline at end of file
...@@ -10,6 +10,7 @@ import java.util.List; ...@@ -10,6 +10,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.enums.AstTypeEnum; import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.general.system.common.model.IEnum; import com.general.system.common.model.IEnum;
import com.general.system.common.util.LogUtil; import com.general.system.common.util.LogUtil;
...@@ -40,7 +41,7 @@ public class DictConfigRealize extends DictStaticConfig { ...@@ -40,7 +41,7 @@ public class DictConfigRealize extends DictStaticConfig {
Map<String, IEnum[]> dictMap = new HashMap<>(); Map<String, IEnum[]> dictMap = new HashMap<>();
// 渠道编号 // 渠道编号
dictMap.put("astType", AstTypeEnum.values()); dictMap.put("astType", AstTypeEnum.values());
dictMap.put("astScreenRuleType", AstScreenRuleTypeEnum.values());
return dictMap; return dictMap;
} }
......
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.web.controller.pack;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.service.ast.AstPackService;
import com.abssqr.plat.common.facade.validation.Valid;
import com.general.enhanced.controller.annotation.RestJsonController;
import com.general.system.common.model.BaseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* 资产包
*
* @author xiachenxiang
* @version com.abssqr.plat.web.controller.pack: PackController.java, v 0.1 2020-04-18 3:11 PM xiachenxiang Exp $
*/
@RestJsonController
public class PackController {
@Autowired
private AstPackService astPackService;
@RequestMapping(value = "/pack/edit.json", method = RequestMethod.POST)
public BaseResult<String> edit(@Valid @RequestBody AstPackOprParam astPackOprParam) {
return BaseResult.success(astPackService.edit(astPackOprParam));
}
}
drop table ABS_AST_PACK;
drop table ABS_AST_PACK;
CREATE TABLE ABS_AST_PACK (
ID NUMBER(20) NOT NULL ,
PACK_NO VARCHAR2(64) ,
PACK_NAME VARCHAR2(64) ,
AVAL_AMT NUMBER(19) ,
AST_POOL_NO VARCHAR2(64) ,
PLAN_NO VARCHAR2(64) ,
STATUS VARCHAR2(16) ,
PACK_DATE DATE ,
PACK_SUBMIT_DATE DATE ,
TYPE VARCHAR2(16) ,
AST_TYPE_CODE VARCHAR2(64),
GMT_CREATE DATE ,
GMT_MODIFIED DATE ,
PRIMARY KEY (ID)
)
;
CREATE UNIQUE INDEX UK_ABS_PACK_PACK_NO
ON ABS_AST_PACK (PACK_NO);
CREATE INDEX IDX_ABS_PACK_PLAN_NO
ON ABS_AST_PACK (PLAN_NO);
COMMENT ON COLUMN ABS_AST_PACK.PACK_NO IS '资产包编号';
COMMENT ON COLUMN ABS_AST_PACK.PACK_NAME IS '资产包名称';
COMMENT ON COLUMN ABS_AST_PACK.AVAL_AMT IS '规模';
COMMENT ON COLUMN ABS_AST_PACK.AST_POOL_NO IS '资产池编号';
COMMENT ON COLUMN ABS_AST_PACK.PLAN_NO IS '产品编号';
COMMENT ON COLUMN ABS_AST_PACK.STATUS IS '状态 1.初始化 init 2.筛选中 exec 3.筛选完成 screen_fis 4.已封包 pack 5.已解包 unpack 6.已拆包 break 7.已发行 publish
';
COMMENT ON COLUMN ABS_AST_PACK.PACK_DATE IS '封包日';
COMMENT ON COLUMN ABS_AST_PACK.PACK_SUBMIT_DATE IS '封包提交日';
COMMENT ON COLUMN ABS_AST_PACK.TYPE IS '资产包类型: 1. 正常 normal 2.默认(虚拟) default';
COMMENT ON COLUMN ABS_AST_PACK.AST_TYPE_CODE IS '准入资产代码';
COMMENT ON COLUMN ABS_AST_PACK.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN ABS_AST_PACK.GMT_MODIFIED IS '更新时间';
COMMENT ON TABLE ABS_AST_PACK IS '资产包';
-- 序列号
drop SEQUENCE SEQ_ABS_AST_PACK;
CREATE SEQUENCE SEQ_ABS_AST_PACK MINVALUE 1 MAXVALUE 9999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 ORDER NOCYCLE ;
DROP TABLE ABS_AST_SCREEN_RULE;
DROP TABLE ABS_AST_SCREEN_RULE;
CREATE TABLE ABS_AST_SCREEN_RULE (
ID NUMBER(20) NOT NULL ,
REL_NO VARCHAR2(64) ,
REL_TYPE VARCHAR2(32) ,
RULE_TYPE VARCHAR2(32) ,
LEFT_CONDITION VARCHAR2(64) ,
LEFT_VALUE VARCHAR2(64) ,
RIGHT_CONDITION VARCHAR2(64) ,
RIGHT_VALUE VARCHAR2(256) ,
GMT_CREATE DATE ,
GMT_MODIFIED DATE ,
PRIMARY KEY (ID)
)
;
CREATE INDEX IDX_ABS_AST_SCREEN_RULE_REL_NO
ON ABS_AST_SCREEN_RULE (REL_NO);
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.REL_NO IS '关联编号';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.REL_TYPE IS '关联类型 1.资产打包 pack';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.RULE_TYPE IS '规则类型';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.LEFT_CONDITION IS '左条件: 1.大于 gt 2.大于等于 ge';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.LEFT_VALUE IS '左值';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.RIGHT_CONDITION IS '右条件: 1.小于 lt 2.小于等于 le 3.等于 eq 4.包含 in';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.RIGHT_VALUE IS '右值';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN ABS_AST_SCREEN_RULE.GMT_MODIFIED IS '更新时间';
COMMENT ON TABLE ABS_AST_SCREEN_RULE IS '筛选规则表';
-- 序列号
CREATE SEQUENCE SEQ_ABS_AST_SCREEN_RULE MINVALUE 1 MAXVALUE 9999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 ORDER NOCYCLE ;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment