Browse Source

贷款保证金扣罚金额赋值

master
fanzongzhe 1 year ago
parent
commit
a4ff91896e
  1. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java
  2. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml
  3. 37
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java

@ -39,4 +39,6 @@ public interface LoanSettleApplyMapper extends BaseMapper<LoanSettleApply> {
String selectGsDqWdq(@Param("busVinSid") String busVinSid, @Param("settingDate") String settingDate);
String selectGsWdq(@Param("busVinSid") String busVinSid, @Param("settingDate") String settingDate);
int selvehOverdueCount(@Param("busVinSid") String busVinSid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml

@ -98,4 +98,10 @@
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &gt; DATE_FORMAT(LAST_DAY(#{settingDate}), '%Y-%m-%d')
AND lrpd.`busVinSid` = #{busVinSid}
</select>
<select id="selvehOverdueCount" resultType="java.lang.Integer">
SELECT COUNT(*) FROM loan_be_padsincere_veh as v
LEFT JOIN loan_be_padsincere_apply as a ON v.mainSid = a.sid
WHERE v.saleVehSid = #{busVinSid}
AND a.nodeState = '已办结'
</select>
</mapper>

37
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -17,6 +17,7 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -55,6 +56,7 @@ import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -91,7 +93,8 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
private LoanSolutionsMapper loanSolutionsMapper;
@Autowired
private LoanSolutionsDetailService loanSolutionsDetailService;
@Autowired
private SysParameterFeign sysParameterFeign;
public PagerVo<LoanSettleApplyVo> listPageVo(PagerQuery<LoanSettleApplyQuery> pq) {
LoanSettleApplyQuery query = pq.getParams();
@ -289,9 +292,37 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (loanSolutionsDetail != null) {
settleApplyCommonVo.setLoanDeposit(loanSolutionsDetail.getBondAmounts().toString());
}
//贷款保证金扣罚金额
String fc_dkbzjkcgz = sysParameterFeign.fetchByParNo("FC_DKBZJKCGZ").getData();
if (StringUtils.isNotBlank(fc_dkbzjkcgz)) {
String[] split = fc_dkbzjkcgz.split(",");
//首次扣罚金额
String f = split[0];
BigDecimal fm = new BigDecimal(f);
//递增金额
String d = split[1];
BigDecimal dm = new BigDecimal(d);
//第三个为大于次数后全部扣除
String c = split[2];
int i = Integer.parseInt(c);
//查询逾期次数
int overDueCount = baseMapper.selvehOverdueCount(busVinSid);
if (overDueCount > i) {
//大于规定次数扣除全部保证金 deductionAmount
settleApplyCommonVo.setDeductionAmount(loanSolutionsDetail.getBondAmounts().toString());
} else {
BigDecimal sum = new BigDecimal(0);
for (int j = 0; j < overDueCount; j++) {
if (j == 0) {
sum = fm;
} else {
sum = sum.add(dm);
}
}
settleApplyCommonVo.setDeductionAmount(sum.toString());
}
}
}
//贷款保证金扣罚金额
return settleApplyCommonVo;
}

Loading…
Cancel
Save