Browse Source

Merge remote-tracking branch 'origin/master'

master
dimengzhe 4 days ago
parent
commit
d504cd9c9a
  1. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java
  2. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml
  3. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java
  4. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java
  5. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  6. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  7. 156
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java

@ -77,5 +77,5 @@ public interface LoanBePadsincereVehMapper extends BaseMapper<LoanBePadsincereVe
@Select("select *,saleVehSid AS busVinSid from loan_be_padsincere_veh where mainSid = #{applySid} and bankContractNo = #{busSid}")
List<LoanBePadsincereVehDetailsVo> selByBankCont(@Param("applySid") String applySid, @Param("busSid") String busSid);
BigDecimal selByBusVinSid(String busVinSid);
List<LoanBePadsincereVehDetailsVo> selByBusVinSid(String busVinSid);
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml

@ -20,11 +20,14 @@
and paySid = #{paySid}
</select>
<select id="selByBusVinSid" resultType="java.math.BigDecimal">
<select id="selByBusVinSid"
resultType="com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo">
SELECT
IF(SUM(padMoney), SUM(padMoney), 0)
IF(SUM(padMoney), SUM(padMoney), 0) AS padMoney,
period
FROM
loan_be_padsincere_veh
WHERE saleVehSid = #{busVinSid}
GROUP BY period
</select>
</mapper>

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java

@ -116,7 +116,7 @@ public class LoanBePadsincereVehService extends MybatisBaseService<LoanBePadsinc
return baseMapper.selByBankCont(applySid, busSid);
}
public BigDecimal selByBusVinSid(String busVinSid) {
public List<LoanBePadsincereVehDetailsVo> selByBusVinSid(String busVinSid) {
return baseMapper.selByBusVinSid(busVinSid);
}
}

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java

@ -89,4 +89,6 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper<LoanRepaymentHist
IPage<RepaymentStatisticsVo> repaymentStatistics2(IPage<LoanRepaymentHistory> page, @Param(Constants.WRAPPER)QueryWrapper<LoanRepaymentHistory> qw);
List<RepaymentStatisticsVo> repaymentStatisticsList(@Param(Constants.WRAPPER)QueryWrapper<LoanRepaymentHistory> qw);
List<LoanRepaymentHistory> selHistoryByPlanSids(@Param("jhmxSids") List<String> jhmxSids);
}

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -1121,4 +1121,18 @@
${ew.sqlSegment}
</where>
</select>
<select id="selHistoryByPlanSids"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory">
SELECT
*
FROM
loan_repayment_history
<if test="jhmxSids != null and jhmxSids.size() != 0">
WHERE planDetailSid IN
<foreach collection="jhmxSids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -2422,4 +2422,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
}
public List<LoanRepaymentHistory> selHistoryByPlanSids(List<String> jhmxSids) {
return baseMapper.selHistoryByPlanSids(jhmxSids);
}
}

156
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java

@ -65,8 +65,10 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApply;
import com.yxt.anrui.riskcenter.api.loanrepurchasecost.LoanRepurchaseCost;
@ -81,6 +83,7 @@ import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesN
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo;
import com.yxt.anrui.riskcenter.biz.loanbepadsincereveh.LoanBePadsincereVehService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepurchaseapply.LoanRepurchaseApplyService;
import com.yxt.anrui.riskcenter.biz.loanrepurchasecost.LoanRepurchaseCostService;
@ -173,6 +176,8 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
private FinSelectedReceivablesDetailedFeign finSelectedReceivablesDetailedFeign;
@Autowired
private LoanBePadsincereVehService loanBePadsincereVehService;
@Autowired
private LoanRepaymentHistoryService loanRepaymentHistoryService;
public PagerVo<LoanSecondarySalesNotApplyVo> listPageVo(PagerQuery<LoanSecondarySalesNotApplyQuery> pq) {
LoanSecondarySalesNotApplyQuery query = pq.getParams();
@ -600,8 +605,8 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
//TOdO:
List<String> busVinSidList = loanSecondarySalesNotVehService.selectByMainSid(businessSid);
busVinSidList.removeAll(Collections.singleton(null));
if(!busVinSidList.isEmpty()){
pushRiskToFin2(finalLoanSecondarySalesNotApply,busVinSidList);
if (!busVinSidList.isEmpty()) {
pushRiskToFin2(finalLoanSecondarySalesNotApply, busVinSidList);
}
});
} catch (Exception e) {
@ -638,16 +643,16 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
//查询车辆还款计划明细
List<LoanRepaymentPlanDetails> loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.selectByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid());
//查询车辆是否有垫款金额
BigDecimal dkje = loanBePadsincereVehService.selByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid());
List<LoanBePadsincereVehDetailsVo> loanBePadsincereVehDetailsVos = loanBePadsincereVehService.selByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid());
//获取明细sid集合
List<String> jhmxSids = loanRepaymentPlanDetails.stream().map(c -> c.getSid()).
collect(Collectors.toList());
//查询金融应收所有应收款
List<FinUncollectedReceivablesDetailedJR> data = finUncollectedReceivablesDetailedJRFeign.selByBusSid(jhmxSids).getData();
if (!data.isEmpty()){
if (!data.isEmpty()) {
for (FinUncollectedReceivablesDetailedJR datum : data) {
List<FinSelectedReceivablesDetailed> finSelectedReceivablesDetaileds = finSelectedReceivablesDetailedFeign.fetchByReceivablesSid(datum.getSid()).getData();
if (finSelectedReceivablesDetaileds.isEmpty()){
if (finSelectedReceivablesDetaileds.isEmpty()) {
List<FinSelectedReceivablesDetailed> selectList = new ArrayList<>();
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid());
@ -668,9 +673,9 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
fin.setOrgSidPath(loanSecondarySalesNotApply.getOrgSidPath());
selectList.add(fin);
finSelectedReceivablesDetailedFeign.saveAll(selectList);
}else {
} else {
BigDecimal ys = finSelectedReceivablesDetaileds.stream().map(FinSelectedReceivablesDetailed::getSubscriptionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if (ys.compareTo(datum.getReveivableMoney()) == -1){
if (ys.compareTo(datum.getReveivableMoney()) == -1) {
List<FinSelectedReceivablesDetailed> selectList = new ArrayList<>();
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid());
@ -695,6 +700,111 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
}
}
}
//月还
List<LoanRepaymentHistory> loanRepaymentHistories = loanRepaymentHistoryService.selHistoryByPlanSids(jhmxSids);
if (loanRepaymentHistories.isEmpty()) {
for (LoanRepaymentPlanDetails plan : loanRepaymentPlanDetails) {
List<LoanRepaymentHistory> histories = new ArrayList<>();
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid());
history.setDataTime(new Date());
history.setUpdateState("1");
history.setUpdateTime(new Date());
history.setActualDate(plan.getDueDate());
history.setActualMoney(plan.getDueMoney());
history.setBuckleKey("003");
history.setBuckle("审核通过");
history.setReturnWayKey("");
history.setReturnWay("");
history.setPayState(0);
history.setIsEnable(3);
history.setPlanDetailSid(plan.getSid());
history.setScheduleSid("");
history.setRemarks("认损");
histories.add(history);
loanRepaymentHistoryService.saveList(histories);
}
} else {
for (LoanRepaymentPlanDetails plan : loanRepaymentPlanDetails) {
List<LoanRepaymentHistory> loanRepaymentHistories1 = loanRepaymentHistoryService.selHistoryByPlanSid(plan.getSid());
BigDecimal sh = loanRepaymentHistories1.stream().map(LoanRepaymentHistory::getActualMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
if (!loanBePadsincereVehDetailsVos.isEmpty()) {
List<String> periods = loanBePadsincereVehDetailsVos.stream().map(v -> v.getPeriod()).collect(Collectors.toList());
if (periods.contains(plan.getPeriod())) {
for (LoanBePadsincereVehDetailsVo loanBePadsincereVehDetailsVo : loanBePadsincereVehDetailsVos) {
if (plan.getPeriod().equals(loanBePadsincereVehDetailsVo.getPeriod())) {
sh = sh.subtract(new BigDecimal(loanBePadsincereVehDetailsVo.getPadMoney()));
if (sh.compareTo(plan.getDueMoney()) == -1) {
List<LoanRepaymentHistory> histories = new ArrayList<>();
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid());
history.setDataTime(new Date());
history.setUpdateState("1");
history.setUpdateTime(new Date());
history.setActualDate(plan.getDueDate());
history.setActualMoney(plan.getDueMoney().subtract(sh));
history.setBuckleKey("003");
history.setBuckle("审核通过");
history.setReturnWayKey("");
history.setReturnWay("");
history.setPayState(0);
history.setIsEnable(3);
history.setPlanDetailSid(plan.getSid());
history.setScheduleSid("");
history.setRemarks("认损");
histories.add(history);
loanRepaymentHistoryService.saveList(histories);
}
}
}
} else {
if (sh.compareTo(plan.getDueMoney()) == -1) {
List<LoanRepaymentHistory> histories = new ArrayList<>();
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid());
history.setDataTime(new Date());
history.setUpdateState("1");
history.setUpdateTime(new Date());
history.setActualDate(plan.getDueDate());
history.setActualMoney(plan.getDueMoney().subtract(sh));
history.setBuckleKey("003");
history.setBuckle("审核通过");
history.setReturnWayKey("");
history.setReturnWay("");
history.setPayState(0);
history.setIsEnable(3);
history.setPlanDetailSid(plan.getSid());
history.setScheduleSid("");
history.setRemarks("认损");
histories.add(history);
loanRepaymentHistoryService.saveList(histories);
}
}
}else {
if (sh.compareTo(plan.getDueMoney()) == -1) {
List<LoanRepaymentHistory> histories = new ArrayList<>();
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid());
history.setDataTime(new Date());
history.setUpdateState("1");
history.setUpdateTime(new Date());
history.setActualDate(plan.getDueDate());
history.setActualMoney(plan.getDueMoney().subtract(sh));
history.setBuckleKey("003");
history.setBuckle("审核通过");
history.setReturnWayKey("");
history.setReturnWay("");
history.setPayState(0);
history.setIsEnable(3);
history.setPlanDetailSid(plan.getSid());
history.setScheduleSid("");
history.setRemarks("认损");
histories.add(history);
loanRepaymentHistoryService.saveList(histories);
}
}
}
}
}
}
@ -708,7 +818,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
}
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanSecondarySalesNotApply.getCreateDeptSid()).getData();
for (int i = 0; i < busVinSidList.size(); i++){
for (int i = 0; i < busVinSidList.size(); i++) {
String busVinSid = busVinSidList.get(i);
//ToDo:
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -766,25 +876,25 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
BigDecimal zjzyfMoney = BigDecimal.ZERO;
String lq = loanRepaymentPlanDetailsService.getYqLq(busVinSid);
lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq) ? "0" : lq));
if("1".equals(busSalesOrderVehicle.getRepoState().toString())){//已回购
if ("1".equals(busSalesOrderVehicle.getRepoState().toString())) {//已回购
//查询回购的资方费用
LoanRepurchaseApply loanRepurchaseApply = loanRepurchaseApplyService.selectByBusVinSid(busSalesOrderVehicle.getSid());
if(loanRepurchaseApply != null){
if (loanRepurchaseApply != null) {
LoanRepurchaseCost loanRepurchaseCost = loanRepurchaseCostService.selectByMainSid(loanRepurchaseApply.getSid());
if(loanRepurchaseCost != null){
if (loanRepurchaseCost != null) {
//合同违约金
BigDecimal bankContractLiquidated = loanRepurchaseCost.getBankContractLiquidated();
if(bankContractLiquidated != null){
if (bankContractLiquidated != null) {
lqMoney = lqMoney.add(bankContractLiquidated);
}
//资方名义价
BigDecimal bankNominalPrice = loanRepurchaseCost.getBankNominalPrice();
if(bankNominalPrice != null){
if (bankNominalPrice != null) {
lqMoney = lqMoney.add(bankNominalPrice);
}
//资方其他费用
BigDecimal bankOtherReceivable = loanRepurchaseCost.getBankOtherReceivable();
if(bankOtherReceivable != null){
if (bankOtherReceivable != null) {
lqMoney = lqMoney.add(bankOtherReceivable);
}
}
@ -798,7 +908,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
all = lqMoney.add(wdqMoney).add(bjMoney);
//已认款
String subAll = baseMapper.selectByBusVinSid(busVinSid);
if(loanSecondarySalesCost.getBankSettleCost().compareTo(BigDecimal.ZERO)>0){
if (loanSecondarySalesCost.getBankSettleCost().compareTo(BigDecimal.ZERO) > 0) {
all = all.add(loanSecondarySalesCost.getBankSettleCost()).subtract(new BigDecimal(subAll));
}
@ -807,11 +917,11 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
BigDecimal loanDeposit = loanSecondarySalesCost.getLoanDeposit();//贷款保证金
cssMoney = all.subtract(loanDeposit).subtract(bxbzjMoney);//车损失
String zjzyf = alrepaidAndArrVo.getWheFundOccMoney();
zjzyfMoney = zjzyfMoney.add(new BigDecimal(StringUtils.isBlank(zjzyf)?"0":zjzyf));
zjzyfMoney = zjzyfMoney.add(new BigDecimal(StringUtils.isBlank(zjzyf) ? "0" : zjzyf));
if(cssMoney.compareTo(BigDecimal.ZERO)>0){//贷方
if (cssMoney.compareTo(BigDecimal.ZERO) > 0) {//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoDf.setSummary(customerNumber + "扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -820,7 +930,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
voucherResultDetailDtoDf.setCredit(cssMoney.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoJf.setSummary(customerNumber + "扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoJf.setSubjectNo("1911.05");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
@ -829,9 +939,9 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
voucherResultDetailDtoJf.setDebit(cssMoney.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf);
}
if(zjzyfMoney.compareTo(BigDecimal.ZERO)>0){
if (zjzyfMoney.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSummary(customerNumber + "扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSubjectNo("2191.05.00");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -840,7 +950,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
voucherResultDetailDtoDf.setCredit(zjzyfMoney.negate().toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoJf.setSummary(customerNumber + "扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSubjectNo("1201.02.02");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
@ -852,7 +962,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
}
}
if(!voucherResultDetailDtos.isEmpty()){
if (!voucherResultDetailDtos.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDtos);
finKingDeeFeign.saveVoucher(voucher);
}

Loading…
Cancel
Save