Commit 91c71532 by 王德峰

封包- 待校验

parent 4f6fb005
......@@ -11,6 +11,7 @@ import com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanPackRelSummary;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.param.ast.AstPackSealOprParam;
import com.abssqr.plat.common.facade.result.BasePage;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
import com.abssqr.plat.common.facade.result.pack.AstPackVO;
......@@ -76,10 +77,18 @@ public class AstPackServiceImpl extends ServiceSupport implements AstPackService
AstPackVO result = AstPackWebConvert.model2VO(astPack);
if(astPack!=null) {
LoanPackRelSummary summary = astPackRepository.sumAstPack(astPack.getPackNo());
result.setAllCnt(summary.getAllCnt());
result.setPrinBal(summary.getPrinBal());
result.setAstCnt(summary.getAstCnt());
result.setAstPrinBal(summary.getAstPrinBal());
}
return result;
}
@Override
public String sealPack(@Valid AstPackSealOprParam astPackSealOprParam) {
return this.doOpr(astPackSealOprParam, () -> {
astPackManager.sealPack(astPackSealOprParam.getPackNo(),astPackSealOprParam.getSealPackDate());
return astPackSealOprParam.getBizNo();
});
}
}
......@@ -144,6 +144,19 @@
]]>
</operation>
<operation name="updateSealPack" paramtype="primitive" remark="根据唯一约束AbsPackPackNo更新表:abs_ast_pack">
<![CDATA[
UPDATE abs_ast_pack
SET
PACK_DATE = #{packDate,jdbcType=DATE}
,GMT_MODIFIED = sysdate
,PACK_SUBMIT_DATE = #{packSubmitDate,jdbcType=DATE}
WHERE
PACK_NO = #{packNo,jdbcType=VARCHAR}
AND STATUS in ('sceen_fis','unpack')
]]>
</operation>
<operation name="deleteByAbsPackPackNo" remark="根据唯一约束AbsPackPackNo删除数据:abs_ast_pack">
<![CDATA[
DELETE FROM abs_ast_pack
......
......@@ -123,11 +123,11 @@
<!-- 根据普通索引查询数据 -->
<resultmap name="LoanPackRelSumResultMap" type="LoanPackRelSummary">
<column name="all_cnt" javatype="Long" jdbctype="NUMBER" remark="剩余资产笔数"/>
<column name="prin_bal" javatype="com.general.system.common.model.Money" jdbctype="NUMBER" remark="剩余资产本金"/>
<column name="ast_cnt" javatype="Long" jdbctype="NUMBER" remark="剩余资产笔数"/>
<column name="ast_prin_bal" javatype="com.general.system.common.model.Money" jdbctype="NUMBER" remark="剩余资产本金"/>
</resultmap>
<operation name="sumAstByPack" multiplicity="one" resultmap="LoanPackRelSumResultMap" remark="根据普通索引LoanPackRelPack获取数据:abs_loan_pack_rel">
SELECT count(*) all_cnt,sum(PRIN_BAL+OVD_PRIN_BAL) prin_bal
SELECT count(*) ast_cnt,nvl(sum(PRIN_BAL+OVD_PRIN_BAL),0) ast_prin_bal
FROM abs_loan_pack_rel rel,abs_loan l
WHERE
<![CDATA[
......
......@@ -5,6 +5,7 @@ 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 java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPackDOMapper;
......@@ -66,6 +67,17 @@ public class AstPackDAO{
return astPackDOMapper.updateByAbsPackPackNo(entity);
}
/**
* desc:根据唯一约束AbsPackPackNo更新表:abs_ast_pack.<br/>
* @param packDate packDate
* @param packSubmitDate packSubmitDate
* @param packNo packNo
* @return int
*/
public int updateSealPack(Date packDate,Date packSubmitDate,String packNo){
return astPackDOMapper.updateSealPack(packDate, packSubmitDate, packNo);
}
/**
* desc:根据唯一约束AbsPackPackNo删除数据:abs_ast_pack.<br/>
* @param packNo packNo
* @return int
......
......@@ -4,7 +4,7 @@ import java.util.Date;
import java.math.BigDecimal;
/**
* The table ABS_LOAN_PACK_REL
* The table 资产-包关系表
*/
public class LoanPackRelDO{
......@@ -29,7 +29,7 @@ public class LoanPackRelDO{
*/
private String packNo;
/**
* status 状态 归属 IN 赎回 BACK.
* status 状态,归属 IN,赎回 BACK.
*/
private String status;
/**
......@@ -37,7 +37,7 @@ public class LoanPackRelDO{
*/
private Date gmtCreate;
/**
* gmtModified 更新时间.
* gmtModified 修改时间.
*/
private Date gmtModified;
/**
......@@ -130,14 +130,14 @@ public class LoanPackRelDO{
}
/**
* Set status 状态 归属 IN 赎回 BACK.
* Set status 状态,归属 IN,赎回 BACK.
*/
public void setStatus(String status){
this.status = status;
}
/**
* Get status 状态 归属 IN 赎回 BACK.
* Get status 状态,归属 IN,赎回 BACK.
*
* @return the string
*/
......@@ -162,14 +162,14 @@ public class LoanPackRelDO{
}
/**
* Set gmtModified 更新时间.
* Set gmtModified 修改时间.
*/
public void setGmtModified(Date gmtModified){
this.gmtModified = gmtModified;
}
/**
* Get gmtModified 更新时间.
* Get gmtModified 修改时间.
*
* @return the string
*/
......
......@@ -2,6 +2,7 @@ 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 java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPackItem;
......@@ -45,6 +46,14 @@ public interface AstPackDOMapper{
*/
int updateByAbsPackPackNo(AstPackDO entity);
/**
* desc:根据唯一约束AbsPackPackNo更新表:abs_ast_pack.<br/>
* @param packDate packDate
* @param packSubmitDate packSubmitDate
* @param packNo packNo
* @return int
*/
int updateSealPack(@Param("packDate")Date packDate,@Param("packSubmitDate")Date packSubmitDate,@Param("packNo")String packNo);
/**
* desc:根据唯一约束AbsPackPackNo删除数据:abs_ast_pack.<br/>
* @param packNo packNo
* @return int
......
......@@ -12,47 +12,47 @@ public class LoanPackRelSummary implements Serializable {
private static final long serialVersionUID = -1L;
/**
* allCnt 剩余资产笔数.
* astCnt 剩余资产笔数.
*/
private Long allCnt;
private Long astCnt;
/**
* prinBal 剩余资产本金.
* astPrinBal 剩余资产本金.
*/
private Money prinBal;
private Money astPrinBal;
/**
* Set allCnt 剩余资产笔数.
* Set astCnt 剩余资产笔数.
*/
public void setAllCnt(Long allCnt){
this.allCnt = allCnt;
public void setAstCnt(Long astCnt){
this.astCnt = astCnt;
}
/**
* Get allCnt 剩余资产笔数.
* Get astCnt 剩余资产笔数.
*
* @return the string
*/
public Long getAllCnt(){
return allCnt;
public Long getAstCnt(){
return astCnt;
}
/**
* Set prinBal 剩余资产本金.
* Set astPrinBal 剩余资产本金.
*/
public void setPrinBal(Money prinBal){
this.prinBal = prinBal;
public void setAstPrinBal(Money astPrinBal){
this.astPrinBal = astPrinBal;
}
/**
* Get prinBal 剩余资产本金.
* Get astPrinBal 剩余资产本金.
*
* @return the string
*/
public Money getPrinBal(){
return prinBal;
public Money getAstPrinBal(){
return astPrinBal;
}
......
......@@ -149,6 +149,20 @@
]]>
</update>
<!--根据唯一约束AbsPackPackNo更新表:abs_ast_pack mydalgen自动生成,请勿修改-->
<update id="updateSealPack" >
<![CDATA[
UPDATE /*MS-ABS-AST-PACK-UPDATESEALPACK*/ abs_ast_pack
SET
PACK_DATE = #{packDate,jdbcType=DATE}
,GMT_MODIFIED = sysdate
,PACK_SUBMIT_DATE = #{packSubmitDate,jdbcType=DATE}
WHERE
PACK_NO = #{packNo,jdbcType=VARCHAR}
AND STATUS in ('sceen_fis','unpack')
]]>
</update>
<!--根据唯一约束AbsPackPackNo删除数据:abs_ast_pack mydalgen自动生成,请勿修改-->
<delete id="deleteByAbsPackPackNo" >
<![CDATA[
......
......@@ -16,8 +16,8 @@
</resultMap>
<resultMap id="LoanPackRelSumResultMap" type="com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanPackRelSummary" >
<result column="all_cnt" property="allCnt" javaType="Long"/>
<result column="prin_bal" property="prinBal" javaType="com.general.system.common.model.Money"/>
<result column="ast_cnt" property="astCnt" javaType="Long"/>
<result column="ast_prin_bal" property="astPrinBal" javaType="com.general.system.common.model.Money"/>
</resultMap>
<sql id="Base_SF_Column_List">
......@@ -126,7 +126,7 @@
<!--根据普通索引LoanPackRelPack获取数据:abs_loan_pack_rel mydalgen自动生成,请勿修改-->
<select id="sumAstByPack" resultMap="LoanPackRelSumResultMap" >
SELECT /*MS-ABS-LOAN-PACK-REL-SUMASTBYPACK*/ count(*) all_cnt,sum(PRIN_BAL+OVD_PRIN_BAL) prin_bal
SELECT /*MS-ABS-LOAN-PACK-REL-SUMASTBYPACK*/ count(*) ast_cnt,nvl(sum(PRIN_BAL+OVD_PRIN_BAL),0) ast_prin_bal
FROM abs_loan_pack_rel rel,abs_loan l
WHERE
<![CDATA[
......
......@@ -20,8 +20,8 @@ public enum AstPackStatusEnum implements IEnum {
EXEC("exec", "筛选中"),
SCEEN_FIS("sceen_fis", "筛选完成"),
PACK("pack", "已封包"),
UNPACK("unpack", "已包"),
BREAK("break", "已包"),
UNPACK("unpack", "已包"),
BREAK("break", "已包"),
PUBLISH("publish", "已发行"),
;
......
......@@ -16,7 +16,7 @@ import java.util.Map;
* @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","资产打包");
PACK("PACK","资产");
private static final Map<String, AstScreenRelTypeEnum> codeMap = new HashMap<String, AstScreenRelTypeEnum>();
......
......@@ -11,6 +11,7 @@ import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.general.system.common.model.BaseEntity;
import org.apache.commons.lang3.ObjectUtils;
/**
* @author bangis.wangdf
......@@ -102,4 +103,13 @@ public class AstScreenRule extends BaseEntity {
public void setRightCondition(AstScRuleRightCondEnum rightCondition) {
this.rightCondition = rightCondition;
}
/**
* 条件满足要求
* @return
*/
public boolean isEffect() {
return ObjectUtils.allNotNull(this.ruleType) && (ObjectUtils.allNotNull(this.leftCondition, this.leftValue)
|| ObjectUtils.allNotNull(this.rightCondition, this.rightValue));
}
}
......@@ -4,8 +4,12 @@
*/
package com.abssqr.plat.common.facade.param.ast;
import java.util.Date;
import com.abssqr.plat.common.facade.base.BaseOprParam;
import com.abssqr.plat.common.facade.enums.EventCodeEnum;
import com.abssqr.plat.common.facade.validation.VldDate;
import com.abssqr.plat.common.facade.validation.VldString;
/**
*
......@@ -13,6 +17,30 @@ import com.abssqr.plat.common.facade.enums.EventCodeEnum;
* @version com.abssqr.plat.common.facade.param.ast: AstPackSealOprParam.java, v 0.1 2020-04-21 13:41 bangis.wangdf Exp $
*/
public class AstPackSealOprParam extends BaseOprParam {
/**
* 资产包编号
*/
@VldString(message = "资产包编号不能为空")
private String packNo;
@VldDate(message = "封包日不能为空")
private Date sealPackDate;
public String getPackNo() {
return packNo;
}
public void setPackNo(String packNo) {
this.packNo = packNo;
}
public Date getSealPackDate() {
return sealPackDate;
}
public void setSealPackDate(Date sealPackDate) {
this.sealPackDate = sealPackDate;
}
@Override
public EventCodeEnum getEventCode() {
return EventCodeEnum.ADMIN_EDIT;
......
......@@ -5,6 +5,7 @@
package com.abssqr.plat.common.facade.result.pack;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
......@@ -13,6 +14,7 @@ import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.general.system.common.model.BaseEntity;
import com.general.system.common.model.Money;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
/**
......@@ -39,41 +41,39 @@ public class AstPackVO extends BaseEntity {
/**
* status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
*/
private AstPackStatusEnum status;
private AstPackStatusEnum status;
/**
* packName 资产包名称.
*/
private String packName;
private String packName;
/**
* astPoolNo 资产池编号.
*/
private String astPoolNo;
private String astPoolNo;
/**
* packDate 封包日.
*/
private Date packDate;
private Date packDate;
/**
* packSubmitDate 封包提交日.
*/
private Date packSubmitDate;
private Date packSubmitDate;
/**
* 筛选规则
*/
private Map<String, AstScreenRuleVO> screenRules = Maps.newHashMap();
private List<AstScreenRuleVO> screenRules = Lists.newArrayList();
/**
* 资产类型
*/
private AstTypeEnum astType;
private AstTypeEnum astType;
/**
* allCnt 剩余资产笔数.
*/
private Long allCnt;
private Long astCnt;
/**
* prinBal 剩余资产本金.
*/
private Money prinBal;
private Money astPrinBal;
public Money getAvalAmt() {
......@@ -156,28 +156,27 @@ public class AstPackVO extends BaseEntity {
this.astType = astType;
}
public Map<String, AstScreenRuleVO> getScreenRules() {
public List<AstScreenRuleVO> getScreenRules() {
return screenRules;
}
public void setScreenRules(
Map<String, AstScreenRuleVO> screenRules) {
public void setScreenRules(List<AstScreenRuleVO> screenRules) {
this.screenRules = screenRules;
}
public Long getAllCnt() {
return allCnt;
public Long getAstCnt() {
return astCnt;
}
public void setAllCnt(Long allCnt) {
this.allCnt = allCnt;
public void setAstCnt(Long astCnt) {
this.astCnt = astCnt;
}
public Money getPrinBal() {
return prinBal;
public Money getAstPrinBal() {
return astPrinBal;
}
public void setPrinBal(Money prinBal) {
this.prinBal = prinBal;
public void setAstPrinBal(Money astPrinBal) {
this.astPrinBal = astPrinBal;
}
}
......@@ -11,6 +11,7 @@ import com.general.system.common.model.BaseEntity;
* @version com.abssqr.plat.common.facade.result.pack: AstScreenRuleVO.java, v 0.1 2020-04-21 13:12 bangis.wangdf Exp $
*/
public class AstScreenRuleVO extends BaseEntity {
private String ruleType;
/**
* leftValue 左值.
*/
......@@ -59,4 +60,12 @@ public class AstScreenRuleVO extends BaseEntity {
public void setRightCondition(String rightCondition) {
this.rightCondition = rightCondition;
}
public String getRuleType() {
return ruleType;
}
public void setRuleType(String ruleType) {
this.ruleType = ruleType;
}
}
......@@ -7,6 +7,7 @@ package com.abssqr.plat.common.facade.service.ast;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.param.ast.AstPackSealOprParam;
import com.abssqr.plat.common.facade.result.BasePage;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
import com.abssqr.plat.common.facade.result.pack.AstPackVO;
......@@ -37,4 +38,12 @@ public interface AstPackService {
* @return
*/
AstPackVO get(AstPackQryParam astPackQryParam);
/**
* 封包
* @param astPackSealOprParam
* @return
*/
String sealPack(AstPackSealOprParam astPackSealOprParam);
}
......@@ -15,6 +15,7 @@ import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.general.system.common.util.VarChecker;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
......@@ -29,7 +30,9 @@ public class AstScreenRuleConvert {
List<AstScreenRuleDO> result = Lists.newArrayList();
if (CollectionUtils.isNotEmpty(param)) {
param.forEach(item -> {
result.add(convert2DO(item));
if(item.isEffect()) {
result.add(convert2DO(item));
}
});
}
return result;
......@@ -40,6 +43,9 @@ public class AstScreenRuleConvert {
return null;
}
AstScreenRuleDO result = new AstScreenRuleDO();
//param 转 pack时已经转,这里做强制不能为空校验
VarChecker.checkNotEmpty(param.getRelNo());
VarChecker.checkNotNull(param.getRelType());
//relNo 关联编号
result.setRelNo(param.getRelNo());
//relType 关联类型 1.资产打包 PACK
......
......@@ -84,7 +84,7 @@ public class AstPackWebConvert {
result.setPackSubmitDate(param.getPackSubmitDate());
if (CollectionUtils.isNotEmpty(param.getScreenRuleList())) {
param.getScreenRuleList().forEach(astScreenRule -> {
result.getScreenRules().put(astScreenRule.getRelType().getCode(), param2RVO(astScreenRule));
result.getScreenRules().add(param2RVO(astScreenRule));
});
}
}
......@@ -94,6 +94,7 @@ public class AstPackWebConvert {
public static AstScreenRuleVO param2RVO(AstScreenRule param) {
AstScreenRuleVO result = new AstScreenRuleVO();
if (param != null) {
result.setRuleType(param.getRuleType().getCode());
result.setLeftCondition(param.getLeftCondition() == null ? null : param.getLeftCondition().getCode());
result.setRightCondition(param.getRightCondition() == null ? null : param.getRightCondition().getCode());
result.setLeftValue(param.getLeftValue());
......
......@@ -5,6 +5,8 @@
package com.abssqr.plat.common.model.repo.ast;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanPackRelSummary;
......@@ -45,4 +47,12 @@ public interface AstPackRepo {
* @param packNo
*/
LoanPackRelSummary sumAstPack(String packNo);
/**
* 封包
* @param packNo 包编号
* @param packSubmitDate 封包提交日
* @param sealPackDate 封包日
*/
void sealPack(String packNo, Date packSubmitDate, Date sealPackDate);
}
......@@ -5,6 +5,7 @@
package com.abssqr.plat.common.model.repo.ast.impl;
import java.util.Date;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.dao.AstPackDAO;
......@@ -17,6 +18,7 @@ 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 com.general.system.common.util.VarChecker;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -71,4 +73,17 @@ public class AstPackRepoImpl implements AstPackRepo {
public LoanPackRelSummary sumAstPack(String packNo) {
return loanPackRelDAO.sumAstByPack(packNo);
}
/**
* 封包
*
* @param packNo 包编号
* @param packSubmitDate 封包提交日
* @param sealPackDate 封包日
*/
@Override
public void sealPack(String packNo, Date packSubmitDate, Date sealPackDate) {
int i = astPackDAO.updateSealPack(sealPackDate, packSubmitDate, packNo);
VarChecker.checkEquals(i,1,"封包失败");
}
}
......@@ -8,6 +8,7 @@ package com.abssqr.plat.common.model.repo.rule;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
import com.abssqr.plat.common.dal.mysql.auto.paging.ScreenRulePage;
import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import java.util.List;
......@@ -27,7 +28,7 @@ public interface AstScreenRuleRepo {
* @param list
* @return
*/
int insertBatch(List<AstScreenRule> list);
int insertBatch( List<AstScreenRule> list);
/**
* 获取筛选规则
......
......@@ -5,19 +5,18 @@
package com.abssqr.plat.common.model.repo.rule.impl;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.dao.AstScreenRuleDAO;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
import com.abssqr.plat.common.dal.mysql.auto.paging.ScreenRulePage;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.model.convertor.AstScreenRuleConvert;
import com.abssqr.plat.common.model.repo.rule.AstScreenRuleRepo;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author yaphet
* @version com.abssqr.plat.common.model.repo.rule: AstScreeningRuleRepoImpl.java, v 0.1 2018-03-06 下午2:35 yaphet Exp $
......@@ -29,11 +28,15 @@ public class AstScreenRuleRepoImpl implements AstScreenRuleRepo {
private AstScreenRuleDAO astScreenRuleDAO;
@Override
public int insertBatch(List<AstScreenRule> list){
public int insertBatch(List<AstScreenRule> list) {
if (CollectionUtils.isEmpty(list)){
return 0;
}
return astScreenRuleDAO.insertBatch(AstScreenRuleConvert.convert2DOList(list));
List<AstScreenRuleDO> astScreenRuleDOS = AstScreenRuleConvert.convert2DOList(list);
if (CollectionUtils.isNotEmpty(astScreenRuleDOS)) {
return astScreenRuleDAO.insertBatch(astScreenRuleDOS);
}
return 0;
}
......
/**
/*
*
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*//*
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.core.service.accounting;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.abssqr.plat.common.facade.enums.SyncTaskTypeEnum;
import com.abssqr.plat.common.facade.model.plan.PlanBase;
import com.abssqr.plat.common.model.domain.accounting.AcctDate;
......@@ -15,23 +21,19 @@ import com.abssqr.plat.common.model.exception.AbssqrBizException;
import com.abssqr.plat.common.model.repo.acct.AcctDateRepo;
import com.abssqr.plat.common.model.repo.prod.LoanProdRepository;
import com.abssqr.plat.common.util.base.Day;
import cn.hutool.core.date.DateUtil;
import com.general.system.common.util.DateTimeUtil;
import com.general.system.common.util.MessageUtil;
import com.general.system.common.util.VarChecker;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
*/
/**
* 机构会计日组件
* @author hanfei
* @version $Id: OrgAcctDayComponent.java, v 0.1 2020-03-03 4:40 PM hanfei Exp $
*//*
*/
@Component
public class OrgAcctDayComponent {
......@@ -45,12 +47,11 @@ public class OrgAcctDayComponent {
// @Autowired
// private PlanTransferRuleRepo planTransferRuleRepo;
*/
/**
* 获取机构会计日
* @param org 机构编码枚举,枚举中含机构编码及类型
* @return Day 机构会计日
*//*
*/
public Day getAstAcctDay(OrgCodeEnum org){
VarChecker.checkNotNull(org, "机构编码不能为空");
......@@ -61,11 +62,10 @@ public class OrgAcctDayComponent {
return new Day(acctDate.getAcctDate());
}
*/
/**
* 获取转让会计日
* @return Day 转让会计日
*//*
*/
public Day getTrfAcctDay(){
AcctDate acctDate = acctDateRepo.getAcctDate(OrgCodeEnum.ABS);
......@@ -74,11 +74,10 @@ public class OrgAcctDayComponent {
}
return new Day(acctDate.getAcctDate());
}
*/
/**
/*
*
* 会计日切换
*//*
*/
public void acctDaySwitch(){
// 取出所有会计日
......@@ -97,13 +96,12 @@ public class OrgAcctDayComponent {
AcctDate trfDay = trfDays.get(0);
for (AcctDate astDay : astDays){
*/
/**
* 跳出不执行场景:
* 1、eff 为0=false
* 2、机构会计日大于等于转让会计日
* 3、当前机构会计日模型转换未完成
*//*
*/
if (!astDay.getEff()
|| !DateTimeUtil.isBeforeOnDate(astDay.getAcctDate(), trfDay.getAcctDate())
......@@ -148,15 +146,13 @@ public class OrgAcctDayComponent {
}
}
}
*/
/**
/*
*
* 获取项目计划对应的机构编码
* @param planBase
* @return
*//*
*/
public OrgCodeEnum getOrgCode(PlanBase planBase){
// 重构筛选规则后这块失效就删除了
// 重构筛选规则后失效了
......@@ -165,4 +161,3 @@ public class OrgAcctDayComponent {
}
}
*/
......@@ -5,6 +5,7 @@
package com.abssqr.plat.core.service.ast;
import java.util.Date;
import java.util.List;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
......@@ -16,9 +17,12 @@ import com.abssqr.plat.common.facade.enums.CommonTaskTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.domain.task.CommonTask;
import com.abssqr.plat.common.model.enums.OrgCodeEnum;
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.util.base.Day;
import com.abssqr.plat.core.service.accounting.OrgAcctDayComponent;
import com.abssqr.plat.core.service.util.CommonTaskUtil;
import com.general.system.common.util.VarChecker;
......@@ -38,7 +42,9 @@ public class AstPackManager {
AstScreenRuleRepo astScreenRuleRepo;
@Autowired
CommonTaskRepository commonTaskRepository;
@Autowired
OrgAcctDayComponent orgAcctDayComponent;
public static final List<AstPackStatusEnum> canPack = Lists.newArrayList(AstPackStatusEnum.SCEEN_FIS,AstPackStatusEnum.UNPACK);
/**
* 新增资产包
*
......@@ -48,8 +54,8 @@ public class AstPackManager {
public String add(AstPack astPack) {
// 1. 校验重复
AstPack checkAstPack = astPackRepository.getByAbsPackPackNo(astPack.getPackNo());
VarChecker.checkArgument(astPack == null, "资产包已存在{0}", astPack.getPackNo());
Long cnt = astPackRepository.cntByPackName(checkAstPack.getPackName());
VarChecker.checkArgument(checkAstPack == null, "资产包已存在{0}", astPack.getPackNo());
Long cnt = astPackRepository.cntByPackName(astPack.getPackName());
VarChecker.checkEquals(cnt, 0L, "资产包名重复");
astPackRepository.insert(astPack);
......@@ -106,4 +112,18 @@ public class AstPackManager {
astScreenRule.setRightValue(prodNo);
astScreenRuleRepo.insertBatch(Lists.newArrayList(astScreenRule));
}
/**
* 封包
*
* @param packNo
* @param sealPackDate
*/
public void sealPack(String packNo, Date sealPackDate) {
AstPack astPack = astPackRepository.getByAbsPackPackNo(packNo);
VarChecker.checkNotNull(astPack,"{0}包不存在",packNo);
VarChecker.checkArgument(canPack.contains(astPack.getStatus()),"资产包状态不满足");
Day astAcctDay = orgAcctDayComponent.getAstAcctDay(OrgCodeEnum.ABS);
astPackRepository.sealPack(packNo,astAcctDay.getDate(), sealPackDate);
}
}
......@@ -6,10 +6,15 @@
package com.abssqr.plat.test.unittest.pack;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.result.pack.AstPackVO;
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 com.alibaba.fastjson.JSON;
import com.general.system.common.util.VarChecker;
import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.Test;
......@@ -28,6 +33,13 @@ public class PackAddUnitTest extends BaseAutoTests {
try {
astPackService.edit(packOprParam);
AstPackQryParam qryParam = new AstPackQryParam();
qryParam.setPackNo(packOprParam.getPackNo());
//
AstPackVO astPackVO = astPackService.get(qryParam);
VarChecker.checkNotNull(astPackVO);
System.out.println(JSON.toJSONString(astPackVO));
//
} finally {
// 校验数据
super.checkDB(iCase);
......
......@@ -31,14 +31,15 @@ checkDBContext:
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_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
......@@ -63,4 +64,8 @@ screenRuleList:
- ruleType: QCDK_RISK_TYPE
leftValue:
rightValue: '1,2,3'
rightCondition: 'eq'
\ No newline at end of file
rightCondition: 'eq'
- ruleType: QCDK_DISB_DATE
leftValue:
rightValue: '1,2,3'
rightCondition: 'in'
\ No newline at end of file
......@@ -31,14 +31,15 @@ checkDBContext:
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_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
......@@ -63,4 +64,8 @@ screenRuleList:
- ruleType: QCDK_RISK_TYPE
leftValue:
rightValue: '1,2,3'
rightCondition: 'eq'
\ No newline at end of file
rightCondition: 'eq'
- ruleType: QCDK_DISB_DATE
leftValue:
rightValue: '1,2,3'
rightCondition: 'in'
\ No newline at end of file
......@@ -7,6 +7,7 @@ package com.abssqr.plat.web.controller.pack;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.param.ast.AstPackSealOprParam;
import com.abssqr.plat.common.facade.result.BasePage;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
import com.abssqr.plat.common.facade.service.ast.AstPackService;
......@@ -53,12 +54,12 @@ public class PackController {
/**
* 封包
*
* @param astPackQryParam
* @param astPackSealOprParam
* @return
*/
@RequestMapping(value = "astPack/sealPack.json", method = RequestMethod.GET)
public BaseResult<String> sealPack(@RequestBody AstPackQryParam astPackQryParam) {
return BaseResult.success(astPackService.get(astPackQryParam));
public BaseResult<String> sealPack(@RequestBody AstPackSealOprParam astPackSealOprParam) {
return BaseResult.success(astPackService.sealPack(astPackSealOprParam));
}
/**
......
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