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));
}
}
//id 自增ID
//id
result.setId(param.getId());
//avalAmt 预期规模
//avalAmt 规模
result.setAvalAmt(param.getAvalAmt());
//memo 备注
result.setMemo(param.getMemo());
//planNo 计划编号
//type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT
result.setType(param.getType());
//packNo 资产包编号
result.setPackNo(param.getPackNo());
//planNo 产品编号
result.setPlanNo(param.getPlanNo());
//dymRule 动态规则列表
result.setDymRule(param.getDymRule());
//extData 资产包详情
result.setExtData(param.getExtData());
//packCode 资产包编码
result.setPackCode(param.getPackCode());
//status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH
result.setStatus(param.getStatus());
//packName 资产包名称
result.setPackName(param.getPackName());
//packType 资产包类型
result.setPackType(param.getPackType());
//transRule 转让规则
result.setTransRule(param.getTransRule());
//packStatus 资产包状态
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 创建日期
//astPoolNo 资产池编号
result.setAstPoolNo(param.getAstPoolNo());
//packDate 封包日
result.setPackDate(param.getPackDate());
//gmtCreate 创建时间
result.setGmtCreate(param.getGmtCreate());
//maxEndDate 最大到期日
result.setMaxEndDate(param.getMaxEndDate());
//minEndDate 最小到期日
result.setMinEndDate(param.getMinEndDate());
//approveDate 审批完成日期
result.setApproveDate(param.getApproveDate());
//gmtModified 最近修改日期
//gmtModified 更新时间
result.setGmtModified(param.getGmtModified());
//packSubmitDate 封包提交日
result.setPackSubmitDate(param.getPackSubmitDate());
//id 自增ID
//avalAmt 预期规模
//memo 备注
//planNo 计划编号
//dymRule 动态规则列表
//extData 资产包详情
//packCode 资产包编码
//id
//avalAmt 规模
//type 资产包类型: 1. 正常 NORMAL 2.默认(虚拟) DEFAULT
//packNo 资产包编号
//planNo 产品编号
//status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH
//packName 资产包名称
//packType 资产包类型
//transRule 转让规则
//packStatus 资产包状态
//backOutCode 资产转出机构
//calcIntrType 利率计算类型
//approveStatus 审批状态
//abssqrProdCode 产品编号
//managerOrgCode 资产管理机构
//scenDate 刷选日期
//gmtCreate 创建日期
//maxEndDate 最大到期日
//minEndDate 最小到期日
//approveDate 审批完成日期
//gmtModified 最近修改日期
//astPoolNo 资产池编号
//packDate 封包日
//gmtCreate 创建时间
//gmtModified 更新时间
//packSubmitDate 封包提交日
}
......@@ -2,88 +2,34 @@
//id
result.setId(param.getId());
//singleMaxAmount 单笔最大金额
result.setSingleMaxAmount(param.getSingleMaxAmount());
//singleMinAmount 单笔最小金额
result.setSingleMinAmount(param.getSingleMinAmount());
//region 地区
result.setRegion(param.getRegion());
//prodCode 准入产品码
result.setProdCode(param.getProdCode());
//prodName 准入产品名称
result.setProdName(param.getProdName());
//gmtCreator 创建人
result.setGmtCreator(param.getGmtCreator());
//screenType 筛选类型 转让、回购
result.setScreenType(param.getScreenType());
//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());
//relNo 关联编号
result.setRelNo(param.getRelNo());
//relType 关联类型 1.资产打包 PACK
result.setRelType(param.getRelType());
//ruleType 规则类型
result.setRuleType(param.getRuleType());
//leftValue 左值
result.setLeftValue(param.getLeftValue());
//rightValue 右值
result.setRightValue(param.getRightValue());
//leftCondition 左条件: 1.大于 GT 2.大于等于 GE
result.setLeftCondition(param.getLeftCondition());
//rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
result.setRightCondition(param.getRightCondition());
//gmtCreate 创建时间
result.setGmtCreate(param.getGmtCreate());
//gmtModified 修改时间
//gmtModified 更新时间
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
//singleMaxAmount 单笔最大金额
//singleMinAmount 单笔最小金额
//region 地区
//prodCode 准入产品码
//prodName 准入产品名称
//gmtCreator 创建人
//screenType 筛选类型 转让、回购
//assetStatus 资产状态,|分割,对应五级分类
//gmtModifier 修改人
//screenRuleNo 资产筛选规则编号
//approveStatus 审批状态
//lenderOrgCode 原始权益机构
//abssqrProdCode 内部产品码
//managerOrgCode
//screenRuleName 资产筛选规则编号
//maxAge 最大年龄
//minAge 最小年龄
//maxTerm 最大期次
//minTerm 最小期次
//maxRemainDays 最大剩余天数
//minRemainDays 最小剩余天数
//relNo 关联编号
//relType 关联类型 1.资产打包 PACK
//ruleType 规则类型
//leftValue 左值
//rightValue 右值
//leftCondition 左条件: 1.大于 GT 2.大于等于 GE
//rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
//gmtCreate 创建时间
//gmtModified 修改时间
//latestEndDate 最晚到期日
//earliestEndDate 最早到期日
//singleMaxInterRate 单笔最高利率
//singleMinInterRate 单笔最单利率
//gmtModified 更新时间
}
......@@ -12,8 +12,8 @@ public class AbssqrCoreConstants{
}
public static class 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_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_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,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 final String tableName="ABS_PLAN_TRANSFER_RULE";
......@@ -259,8 +259,8 @@ public class AbssqrCoreConstants{
}
public static class 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_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_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,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 final String tableName="ABS_PLAN_REPORT_ITEM";
......
......@@ -5,13 +5,11 @@ import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.paging.ActivePackPage;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPackDOMapper;
/**
* The Table ABS_AST_PACK.
* The Table abs_ast_pack.
* 资产包
*/
@Repository
......@@ -21,7 +19,7 @@ public class AstPackDAO{
private AstPackDOMapper astPackDOMapper;
/**
* desc:插入表:ABS_AST_PACK.<br/>
* desc:插入表:abs_ast_pack.<br/>
* @param entity entity
* @return int
*/
......@@ -30,7 +28,7 @@ public class AstPackDAO{
return astPackDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_account.<br/>
* desc:批量插入表:abs_ast_pack.<br/>
* @param list list
* @return int
*/
......@@ -40,104 +38,66 @@ public class AstPackDAO{
return list.size();
}
/**
* desc:根据状态获取包.<br/>
* @param scenDate scenDate
* @param packType packType
* @param packStatus packStatus
* @return List<AstPackDO>
* desc:根据主键删除数据:abs_ast_pack.<br/>
* @param id id
* @return int
*/
public List<AstPackDO> selectPackByStatus(Date scenDate,String packType,String packStatus){
return astPackDOMapper.selectPackByStatus(scenDate, packType, packStatus);
public int deleteById(Long id){
return astPackDOMapper.deleteById(id);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param packCode packCode
* desc:根据主键获取数据:abs_ast_pack.<br/>
* @param id id
* @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){
return astPackDOMapper.getByManagerOrg(scenDate, status, packType, managerOrgCode);
public AstPackDO getById(Long id){
return astPackDOMapper.getById(id);
}
/**
* desc:更新表:ABS_AST_PACK.<br/>
* @param packStatus packStatus
* @param oldPackStatus oldPackStatus
* @param packCodes packCodes
* desc:根据唯一约束AbsPackPackNo更新表:abs_ast_pack.<br/>
* @param entity entity
* @return int
*/
public int updatePackStatus(String packStatus,String oldPackStatus,List<String> packCodes){
if(packCodes!=null && packCodes.size()>201){throw new RuntimeException("packCodes 超出201长度限制");}
return astPackDOMapper.updatePackStatus(packStatus, oldPackStatus, packCodes);
public int updateByAbsPackPackNo(AstPackDO entity){
return astPackDOMapper.updateByAbsPackPackNo(entity);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param planNo planNo
* @param packType packType
* @return List<AstPackDO>
* desc:根据唯一约束AbsPackPackNo删除数据:abs_ast_pack.<br/>
* @param packNo packNo
* @return int
*/
public List<AstPackDO> getByPlanNo(String planNo,String packType){
return astPackDOMapper.getByPlanNo(planNo, packType);
public int deleteByAbsPackPackNo(String packNo){
return astPackDOMapper.deleteByAbsPackPackNo(packNo);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param scenDate scenDate
* @param planNo planNo
* @param packType packType
* desc:根据唯一约束AbsPackPackNo获取数据:abs_ast_pack.<br/>
* @param packNo packNo
* @return AstPackDO
*/
public AstPackDO getLastDayPackByPlanNo(Date scenDate,String planNo,String packType){
return astPackDOMapper.getLastDayPackByPlanNo(scenDate, planNo, packType);
public AstPackDO getByAbsPackPackNo(String packNo){
return astPackDOMapper.getByAbsPackPackNo(packNo);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param activePack activePack
* @return ActivePackPage
*/
@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
* desc:根据普通索引AbsPackPlanNo获取数据:abs_ast_pack.<br/>
* @param planNo planNo
* @return List<AstPackDO>
*/
public Long countByStatusAndTime(Date time,String status,String packType){
return astPackDOMapper.countByStatusAndTime(time, status, packType);
public List<AstPackDO> queryByAbsPackPlanNo(String planNo){
return astPackDOMapper.queryByAbsPackPlanNo(planNo);
}
/**
* desc:锁资产包.<br/>
* @param packCode packCode
* @return AstPackDO
* desc:根据资产包名查询数量.<br/>
* @param packName packName
* @return Long
*/
public AstPackDO lockByPackCode(String packCode){
return astPackDOMapper.lockByPackCode(packCode);
public Long cntByPackName(String packName){
return astPackDOMapper.cntByPackName(packName);
}
}
......@@ -5,17 +5,11 @@ import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
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;
/**
* The Table abs_ast_screen_rule.
* 资产筛选规则
* 筛选规则表
*/
@Repository
public class AstScreenRuleDAO{
......@@ -43,73 +37,30 @@ public class AstScreenRuleDAO{
return list.size();
}
/**
* desc:根据唯一约束ScreenRuleNo更新表:abs_ast_screen_rule.<br/>
* @param entity entity
* desc:根据主键删除数据:abs_ast_screen_rule.<br/>
* @param id id
* @return int
*/
public int updateByScreenRuleNo(AstScreenRuleDO entity){
return astScreenRuleDOMapper.updateByScreenRuleNo(entity);
public int deleteById(Long id){
return astScreenRuleDOMapper.deleteById(id);
}
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNo screenRuleNo
* desc:根据主键获取数据:abs_ast_screen_rule.<br/>
* @param id id
* @return AstScreenRuleDO
*/
public AstScreenRuleDO getByScreenRuleNo(String screenRuleNo){
return astScreenRuleDOMapper.getByScreenRuleNo(screenRuleNo);
}
/**
* 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;
public AstScreenRuleDO getById(Long id){
return astScreenRuleDOMapper.getById(id);
}
/**
* desc:分页查询资产筛选规则.<br/>
* @param screenRule screenRule
* @return ScreenRulePage
*/
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
* desc:根据普通索引AbsAstScreenRuleRelNo获取数据:abs_ast_screen_rule.<br/>
* @param relNo relNo
* @return List<AstScreenRuleDO>
*/
public int getSameRuleCnt(String screenRuleNo,String screenRuleName){
return astScreenRuleDOMapper.getSameRuleCnt(screenRuleNo, screenRuleName);
public List<AstScreenRuleDO> queryByAbsAstScreenRuleRelNo(String relNo){
return astScreenRuleDOMapper.queryByAbsAstScreenRuleRelNo(relNo);
}
}
......@@ -2,100 +2,68 @@ package com.abssqr.plat.common.dal.mysql.auto.mapper;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.paging.ActivePackPage;
import java.lang.Long;
import org.apache.ibatis.annotations.Param;
/**
* 由于需要对分页支持,请直接使用对应的DAO类
* The Table ABS_AST_PACK.
* The Table abs_ast_pack.
* 资产包
*/
public interface AstPackDOMapper{
/**
* desc:插入表:ABS_AST_PACK.<br/>
* desc:插入表:abs_ast_pack.<br/>
* @param entity entity
* @return int
*/
int insert(AstPackDO entity);
/**
* desc:批量插入表:abs_account.<br/>
* desc:批量插入表:abs_ast_pack.<br/>
* @param list list
* @return int
*/
int insertBatch(List<AstPackDO> list);
/**
* desc:根据状态获取包.<br/>
* @param scenDate scenDate
* @param packType packType
* @param packStatus packStatus
* @return List<AstPackDO>
* desc:根据主键删除数据:abs_ast_pack.<br/>
* @param id id
* @return int
*/
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/>
* @param packCode packCode
* desc:根据主键获取数据:abs_ast_pack.<br/>
* @param id id
* @return AstPackDO
*/
AstPackDO getByPackCode(@Param("packCode")String packCode);
/**
* 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);
AstPackDO getById(Long id);
/**
* desc:更新表:ABS_AST_PACK.<br/>
* @param packStatus packStatus
* @param oldPackStatus oldPackStatus
* @param packCodes packCodes
* desc:根据唯一约束AbsPackPackNo更新表:abs_ast_pack.<br/>
* @param entity entity
* @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/>
* @param planNo planNo
* @param packType packType
* @return List<AstPackDO>
* desc:根据唯一约束AbsPackPackNo删除数据:abs_ast_pack.<br/>
* @param packNo packNo
* @return int
*/
List<AstPackDO> getByPlanNo(@Param("planNo")String planNo,@Param("packType")String packType);
int deleteByAbsPackPackNo(@Param("packNo")String packNo);
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param scenDate scenDate
* @param planNo planNo
* @param packType packType
* desc:根据唯一约束AbsPackPackNo获取数据:abs_ast_pack.<br/>
* @param packNo packNo
* @return AstPackDO
*/
AstPackDO getLastDayPackByPlanNo(@Param("scenDate")Date scenDate,@Param("planNo")String planNo,@Param("packType")String packType);
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param activePack activePack
* @return int
*/
int queryByActivePacksCount(ActivePackPage activePack);
AstPackDO getByAbsPackPackNo(@Param("packNo")String packNo);
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param activePack activePack
* desc:根据普通索引AbsPackPlanNo获取数据:abs_ast_pack.<br/>
* @param planNo planNo
* @return List<AstPackDO>
*/
List<AstPackDO> queryByActivePacksResult(ActivePackPage activePack);
List<AstPackDO> queryByAbsPackPlanNo(@Param("planNo")String planNo);
/**
* desc:获取指定状态的资产包数量.<br/>
* @param time time
* @param status status
* @param packType packType
* desc:根据资产包名查询数量.<br/>
* @param packName packName
* @return Long
*/
Long countByStatusAndTime(@Param("time")Date time,@Param("status")String status,@Param("packType")String packType);
/**
* desc:锁资产包.<br/>
* @param packCode packCode
* @return AstPackDO
*/
AstPackDO lockByPackCode(@Param("packCode")String packCode);
Long cntByPackName(@Param("packName")String packName);
}
......@@ -2,14 +2,12 @@ package com.abssqr.plat.common.dal.mysql.auto.mapper;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
import java.util.List;
import java.util.Map;
import com.abssqr.plat.common.dal.mysql.auto.paging.ScreenRulePage;
import org.apache.ibatis.annotations.Param;
/**
* 由于需要对分页支持,请直接使用对应的DAO类
* The Table abs_ast_screen_rule.
* 资产筛选规则
* 筛选规则表
*/
public interface AstScreenRuleDOMapper{
......@@ -26,40 +24,21 @@ public interface AstScreenRuleDOMapper{
*/
int insertBatch(List<AstScreenRuleDO> list);
/**
* desc:根据唯一约束ScreenRuleNo更新表:abs_ast_screen_rule.<br/>
* @param entity entity
* desc:根据主键删除数据:abs_ast_screen_rule.<br/>
* @param id id
* @return int
*/
int updateByScreenRuleNo(AstScreenRuleDO entity);
int deleteById(@Param("id")Long id);
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNo screenRuleNo
* desc:根据主键获取数据:abs_ast_screen_rule.<br/>
* @param id id
* @return AstScreenRuleDO
*/
AstScreenRuleDO getByScreenRuleNo(@Param("screenRuleNo")String screenRuleNo);
/**
* 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);
AstScreenRuleDO getById(@Param("id")Long id);
/**
* desc:分页查询资产筛选规则.<br/>
* @param screenRule screenRule
* desc:根据普通索引AbsAstScreenRuleRelNo获取数据:abs_ast_screen_rule.<br/>
* @param relNo relNo
* @return List<AstScreenRuleDO>
*/
List<AstScreenRuleDO> getScreenRuleListResult(ScreenRulePage screenRule);
/**
* desc:获取同名筛选规则数量,防止重名存在.<br/>
* @param screenRuleNo screenRuleNo
* @param screenRuleName screenRuleName
* @return int
*/
int getSameRuleCnt(@Param("screenRuleNo")String screenRuleNo,@Param("screenRuleName")String screenRuleName);
List<AstScreenRuleDO> queryByAbsAstScreenRuleRelNo(@Param("relNo")String relNo);
}
......@@ -9,19 +9,19 @@ import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
public class ActivePackPage extends BasePage<AstPackDO>{
/**
* packType 资产包类型.
* packType .
*/
private String packType;
/**
* Set packType 资产包类型.
* Set packType .
*/
public void setPackType(String packType){
this.packType = packType;
}
/**
* Get packType 资产包类型.
* Get packType .
*
* @return the string
*/
......
......@@ -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 $
*/
public enum AstPackStatusEnum implements IEnum {
INIT("INIT", "初始"),
WAIT("WAIT", "等待"),
SCEEN_FIS("SCEEN_FIS", "筛选完成"),
SCEEN_ERR("SCEEN_ERR", "筛选失败"),
SCEEN_IGR("SCEEN_IGR", "筛选忽略"),
INIT("init", "初始"),
EXEC("exec", "筛选中"),
SCEEN_FIS("sceen_fis", "筛选完成"),
PACK("pack", "已封包"),
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;
public enum AstTypeEnum implements IEnum {
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>();
......
/**
* 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
/**
* 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.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;
* @version com.abssqr.plat.common.model.repo.rule: AstScreenRuleRepo.java, v 0.1 2018-03-06 下午2:19 yaphet Exp $
*/
public interface AstScreenRuleRepo {
/**
* 分页查询获取筛选计划
* @param screenRulePage
* @return
*/
ScreenRulePage getScreenRuleList(ScreenRulePage screenRulePage);
/**
* @param screenRuleNo
* @return
* @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
* 批量插入筛选规则
* @param list
* @return
*/
int getSameRuleCnt(String screenRuleNo,String screenRuleName);
int insertBatch(List<AstScreenRule> list);
}
......@@ -28,65 +28,12 @@ public class AstScreenRuleRepoImpl implements AstScreenRuleRepo {
@Autowired
private AstScreenRuleDAO astScreenRuleDAO;
/**
* 分页查询获取筛选计划
*
* @param param
* @return
*/
@Override
public ScreenRulePage getScreenRuleList(ScreenRulePage param) {
return astScreenRuleDAO.getScreenRuleList(param);
}
@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));
}
public int insertBatch(List<AstScreenRule> list){
if (CollectionUtils.isEmpty(list)){
return 0;
}
return result;
}
/**
* 新增筛选规则
* @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);
return astScreenRuleDAO.insertBatch(AstScreenRuleConvert.convert2DOList(list));
}
}
......@@ -6,13 +6,8 @@
package com.abssqr.plat.core.service.accounting;
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.model.org.OrganizationEntity;
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.enums.OrgCodeEnum;
import com.abssqr.plat.common.model.enums.OrgTypeEnum;
......@@ -47,8 +42,8 @@ public class OrgAcctDayComponent {
private AstSyncTaskComponent astSyncTaskComponent;
@Autowired
private LoanProdRepository loanProdRepository;
@Autowired
private PlanTransferRuleRepo planTransferRuleRepo;
// @Autowired
// private PlanTransferRuleRepo planTransferRuleRepo;
*/
/**
......@@ -163,26 +158,10 @@ public class OrgAcctDayComponent {
*//*
public OrgCodeEnum getOrgCode(PlanBase planBase){
String orgCode = "";
if (planBase.getPlanType() == PlanTypeEnum.SPV && planBase instanceof OrganizationEntity) {
orgCode = ((OrganizationEntity) planBase).getManagerOrgCode();
} else {
// 暂时获取 计划的发起机构
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;
// 重构筛选规则后这块失效就删除了
// 重构筛选规则后失效了
VarChecker.checkNotNull(null,"getOrgCode重构筛选规则后失效了");
return null;
}
}
......
/**
* 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 {
static Map<String, String> tbMap = Maps.newHashMap();
static {
// tbMap.put("WK_MFS_OPEN_REPAY", "loan_id='19042000477355050101' ");
// tbMap.put("WK_MFS_LN_PACT", "app_id='19042000477355050101' ");
// tbMap.put("WK_MFS_REPAY_INFO", "loan_id='19042000477355050101' ");
// tbMap.put("WK_MFS_DUE_BILL", "loan_id='19042000477355050101' ");
// 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' ");
tbMap.put("ABS_COMMON_TASK", "BIZ_NO = 'packAdd01'");
tbMap.put("ABS_AST_PACK", "PACK_NO = 'packAdd01'");
tbMap.put("ABS_AST_SCREEN_RULE", "REL_NO = 'packAdd01'");
}
List<String> igCList = Lists.newArrayList("gmt_create", "gmt_modified");
List<String> igCList = Lists.newArrayList("id".toUpperCase(),"gmt_create".toUpperCase(), "gmt_modified".toUpperCase());
@Test
public void tableColums() throws Exception {
DataSource dataSource = new DriverManagerDataSource("jdbc:oracle:thin:@118.31.124.172:1521:orcl",
"abssqr_dev",
"bb_dev",
"JUEDUI2tech");
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;
import java.util.Map;
import cn.hutool.core.util.StrUtil;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.general.system.common.model.IEnum;
import com.general.system.common.util.LogUtil;
......@@ -40,7 +41,7 @@ public class DictConfigRealize extends DictStaticConfig {
Map<String, IEnum[]> dictMap = new HashMap<>();
// 渠道编号
dictMap.put("astType", AstTypeEnum.values());
dictMap.put("astScreenRuleType", AstScreenRuleTypeEnum.values());
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