Compare commits

...

6 Commits

Author SHA1 Message Date
yunuo970428 ecbdf71f0b Merge remote-tracking branch 'origin/master' 6 days ago
dimengzhe b4a0eafc76 修改 6 days ago
dimengzhe 251a273d27 修改 7 days ago
dimengzhe f4ddbfe355 回购付款凭证及生成月还的垫付 7 days ago
dimengzhe ccaf2c6394 Merge remote-tracking branch 'origin/master' 7 days ago
dimengzhe 56eb7cc7cf 回购付款凭证及生成月还的垫付 7 days ago
  1. 71
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  2. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetails.java
  3. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeign.java
  4. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeignFallback.java
  5. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyVo.java
  6. 28
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java
  7. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml
  8. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  9. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  10. 23
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  11. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  12. 15
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyMapper.xml
  13. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyRest.java
  14. 95
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java

71
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -85,6 +85,10 @@ import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehFeign
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanMoneyVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApply;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyFeign;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyVo;
import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApplyFeign;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyFeign;
import com.yxt.anrui.riskcenter.api.loanvoucher.RskVoucher;
@ -192,6 +196,8 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
private FinPaymentapplyDetailsBelowService finPaymentapplyDetailsBelowService;
@Autowired
private FinPaymentapplyDetailsBelowEveService finPaymentapplyDetailsBelowEveService;
@Autowired
private LoanRepurchaseApplyFeign loanRepurchaseApplyFeign;
public PagerVo<FinPaymentrecordVo> listPageVo(PagerQuery<FinPaymentrecordQuery> pq) {
FinPaymentrecordQuery query = pq.getParams();
@ -603,19 +609,25 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
loanBePadsincereApplyFeign.pushAdvancesVoucher(finPaymentrecord.getApplySid(), finPaymentrecord.getSid());
});
} else if ("008".equals(costTypeKey) || "资方结清款".equals(finPaymentrecord.getCostTypeValue())) {
if (StringUtils.isNotBlank(finPaymentrecord.getPayBankAccount())) {
String shouxufei = "0";
if (null != finPaymentrecord.getPaymentCharges()) {
shouxufei = finPaymentrecord.getPaymentCharges().toString();
}
String accountNumber = finPaymentrecord.getPayBankAccount();
String payTypeCode = "";
FinManufacturerBank manufacturerBank = finManufacturerBankService.selOneByBankNo(accountNumber, finPaymentrecord.getUseOrgSid()).getData();
if (null != manufacturerBank) {
payTypeCode = manufacturerBank.getDueBankKey();
LoanRepurchaseApplyDetailsVo loanRepurchaseApply = loanRepurchaseApplyFeign.fetchDetailsBySid(finPaymentrecord.getApplySid()).getData();
if(loanRepurchaseApply != null){
loanRepurchaseApplyFeign.pushRiskToFin(finPaymentrecord.getApplySid());
}else{
if (StringUtils.isNotBlank(finPaymentrecord.getPayBankAccount())) {
String shouxufei = "0";
if (null != finPaymentrecord.getPaymentCharges()) {
shouxufei = finPaymentrecord.getPaymentCharges().toString();
}
String accountNumber = finPaymentrecord.getPayBankAccount();
String payTypeCode = "";
FinManufacturerBank manufacturerBank = finManufacturerBankService.selOneByBankNo(accountNumber, finPaymentrecord.getUseOrgSid()).getData();
if (null != manufacturerBank) {
payTypeCode = manufacturerBank.getDueBankKey();
}
loanSettleApplyFeign.pushBankVoucher(finPaymentrecord.getBusSid(), accountNumber, payTypeCode, shouxufei);
}
loanSettleApplyFeign.pushBankVoucher(finPaymentrecord.getBusSid(), accountNumber, payTypeCode, shouxufei);
}
} else if (StringUtils.isBlank(costTypeKey) || "015".equals(costTypeKey) || "016".equals(costTypeKey) || "017".equals(costTypeKey)) {
Voucher voucher = pushVoucher(finPaymentrecord.getSid());
voucherService.saveVoucher(voucher);
@ -973,22 +985,27 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
}
});
} else if ("008".equals(costTypeKey) || "资方结清款".equals(finPaymentrecord.getCostTypeValue())) {
if (StringUtils.isNotBlank(finPaymentrecord.getPayBankAccount())) {
String shouxufei = "0";
if (null != finPaymentrecord.getPaymentCharges()) {
shouxufei = finPaymentrecord.getPaymentCharges().toString();
}
String accountNumber = finPaymentrecord.getPayBankAccount();
String payTypeCode = "";
FinManufacturerBank manufacturerBank = finManufacturerBankService.selOneByBankNo(accountNumber, finPaymentrecord.getUseOrgSid()).getData();
if (null != manufacturerBank) {
payTypeCode = manufacturerBank.getDueBankKey();
}
RskVoucher voucher = loanSettleApplyFeign.pushBankReturnVoucher(finPaymentrecord.getBusSid(), accountNumber, payTypeCode, shouxufei).getData();
if (null != voucher) {
Voucher v = new Voucher();
BeanUtil.copyProperties(voucher, v);
vouchers.add(v);
LoanRepurchaseApplyDetailsVo loanRepurchaseApply = loanRepurchaseApplyFeign.fetchDetailsBySid(finPaymentrecord.getApplySid()).getData();
if(loanRepurchaseApply != null){
loanRepurchaseApplyFeign.pushRiskToFin(finPaymentrecord.getApplySid());
}else{
if (StringUtils.isNotBlank(finPaymentrecord.getPayBankAccount())) {
String shouxufei = "0";
if (null != finPaymentrecord.getPaymentCharges()) {
shouxufei = finPaymentrecord.getPaymentCharges().toString();
}
String accountNumber = finPaymentrecord.getPayBankAccount();
String payTypeCode = "";
FinManufacturerBank manufacturerBank = finManufacturerBankService.selOneByBankNo(accountNumber, finPaymentrecord.getUseOrgSid()).getData();
if (null != manufacturerBank) {
payTypeCode = manufacturerBank.getDueBankKey();
}
RskVoucher voucher = loanSettleApplyFeign.pushBankReturnVoucher(finPaymentrecord.getBusSid(), accountNumber, payTypeCode, shouxufei).getData();
if (null != voucher) {
Voucher v = new Voucher();
BeanUtil.copyProperties(voucher, v);
vouchers.add(v);
}
}
}
} else if (StringUtils.isBlank(costTypeKey) || "015".equals(costTypeKey) || "016".equals(costTypeKey) || "017".equals(costTypeKey)) {

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetails.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentplandetails;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
@ -80,4 +81,7 @@ public class LoanRepaymentPlanDetails extends BaseEntity {
private Integer oweState; //是否转累欠状态(0是,1否)
private Date updateTime; //更新日期
@TableField(exist = false)
private String moneysl;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeign.java

@ -117,5 +117,8 @@ public interface LoanRepurchaseApplyFeign {
@ResponseBody
public ResultBean<AppRepurchaseDetailsVo> appDetail(@PathVariable("sid") String sid);
@ApiOperation("app详情")
@PostMapping("/pushRiskToFin")
@ResponseBody
ResultBean pushRiskToFin(@RequestParam("applySid") String applySid);
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeignFallback.java

@ -102,4 +102,9 @@ public class LoanRepurchaseApplyFeignFallback implements LoanRepurchaseApplyFeig
public ResultBean<AppRepurchaseDetailsVo> appDetail(String sid) {
return null;
}
@Override
public ResultBean pushRiskToFin(String applySid) {
return null;
}
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyVo.java

@ -51,5 +51,5 @@ public class LoanRepurchaseApplyVo implements Vo {
private String nodeState; // 流程实例的sid
@ApiModelProperty("风控状态:0正常")
private Integer riskState;
private String riskStateValue;
}

28
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java

@ -561,6 +561,34 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
}
}
public static void main(String[] args) {
int size = 3;
BigDecimal executeAmountInArear = new BigDecimal("10.00");
Map<String, BigDecimal> vinAmountMap = new HashMap<>();
// 四舍五入到2位小数的平均值
BigDecimal roundedAverage = executeAmountInArear.divide(BigDecimal.valueOf(size), 2, RoundingMode.HALF_UP);
// n台车 × roundedAverage
BigDecimal totalRounded = roundedAverage.multiply(BigDecimal.valueOf(size)).setScale(2, RoundingMode.HALF_UP);
if (executeAmountInArear.setScale(2, RoundingMode.HALF_UP).compareTo(totalRounded) == 0) {
// 能整除,直接平均
System.out.println(roundedAverage);
} else {
// 不能整除,最后一台车补差值
BigDecimal totalForNMinusOne = roundedAverage.multiply(BigDecimal.valueOf(size - 1));
BigDecimal lastAmount = executeAmountInArear.subtract(totalForNMinusOne).setScale(2, RoundingMode.HALF_UP);
for (int i = 0; i < size; i++) {
if (i == size - 1) {
vinAmountMap.put("111", lastAmount);
} else {
vinAmountMap.put("222", roundedAverage);
}
}
}
}
public void pushRiskToFin(String sid) {
LoanCaseExecuteApply loanCaseExecuteApply = fetchBySid(sid);
if (loanCaseExecuteApply != null) {

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml

@ -71,7 +71,8 @@
date_format ( p.dueDate, '%Y-%m-%d' ) dueDate,
p.dueMoney,
p.dept salesDept,
v.settleState
v.settleState,
v.riskState
FROM
loan_repayment_plan_details as p
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle as v ON p.busVinSid = v.sid

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java

@ -170,6 +170,7 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
apply(StringUtils.isNotEmpty(last), "date_format (a.dueDate,'%Y-%m-%d') <= date_format('" + last + "','%Y-%m-%d')"
);
queryWrapper.apply("a.settleState != 1");
queryWrapper.eq("a.riskState",0);//风控状态为正常的时候
records = baseMapper.selRepaymentDetailsByDueDate(queryWrapper);
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java

@ -119,4 +119,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
String getWdq(String busVinSid);
String selectAllMoney(String busVinSid);
List<LoanRepaymentPlanDetails> selectByBusVinSid2(@Param("busVinSid") String busVinSid);
}

23
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -1059,4 +1059,27 @@
) lbpv_sum ON lbpv_sum.saleVehSid = ss.busVinSid
GROUP BY ss.busVinSid having beMoney>0
</select>
<select id="selectByBusVinSid2"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails">
SELECT
lrpd.*,
(lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0)) as aa,
lrpd.paymentMoney,
lrpd.paymentInterest,
(lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0)-COALESCE(lrpd.paymentMoney,0)-COALESCE(lrpd.paymentInterest,0))AS moneysl
FROM
loan_repayment_plan_details lrpd
LEFT JOIN
loan_repayment_history lrh ON lrh.planDetailSid = lrpd.sid
WHERE
lrpd.busVinSid = #{busVinSid}
GROUP BY
lrpd.sid
HAVING
(lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0)-COALESCE(lrpd.paymentMoney,0)-COALESCE(lrpd.paymentInterest,0)) > 0
ORDER BY
lrpd.period ASC
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

@ -378,6 +378,9 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public List<LoanRepaymentPlanDetails> selectByBusVinSid(String busVinSid) {
return baseMapper.selectByBusVinSid(busVinSid);
}
public List<LoanRepaymentPlanDetails> selectByBusVinSid2(String busVinSid) {
return baseMapper.selectByBusVinSid2(busVinSid);
}
//逾期且累欠的金额
public String getYqLq(String busVinSid) {
@ -403,4 +406,6 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public String selectAllMoney(String busVinSid) {
return baseMapper.selectAllMoney(busVinSid);
}
}

15
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyMapper.xml

@ -42,7 +42,20 @@
la.customerName,
la.amount,
date_format(la.prepareDate, '%Y-%m-%d' ) AS prepareDate,
bv.riskState
case bv.riskState
when 0 then '正常'
when 1 then '交回'
when 4 then '赎回中'
when 5 then '二次销售中'
when 6 then '转租中'
when 7 then '处置损失'
when 8 then '不追偿'
when 9 then '直接诉讼立案'
when 11 then '亏损立案'
when 12 then '执行'
when 13 then '诉讼结案'
when 14 then '执行结案'
end as riskStateValue
FROM
loan_repurchase_apply la
left join anrui_buscenter.bus_sales_order_vehicle bv on bv.sid = la.busVinSid

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyRest.java

@ -124,4 +124,11 @@ public class LoanRepurchaseApplyRest implements LoanRepurchaseApplyFeign {
public ResultBean<AppRepurchaseDetailsVo> appDetail(String sid) {
return loanRepurchaseApplyService.appDetail(sid);
}
@Override
public ResultBean pushRiskToFin(String applySid) {
ResultBean rb = ResultBean.fireFail();
loanRepurchaseApplyService.pushRiskToFin(applySid);
return rb.success();
}
}

95
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java

@ -20,6 +20,8 @@ import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderRetu
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
@ -46,6 +48,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrelievemortgage.LoanRelieveMortgageSaveDto;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.*;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.app.AppRepurchaseDetailsVo;
@ -58,6 +61,7 @@ import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCostVo;
import com.yxt.anrui.riskcenter.api.loansettlecompanycost.LoanSettleCompanyCostVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrelievemortgage.LoanRelieveMortgageService;
import com.yxt.anrui.riskcenter.biz.loanrepurchasecompanycost.LoanRepurchaseCompanyCostService;
import com.yxt.anrui.riskcenter.biz.loanrepurchasecost.LoanRepurchaseCostService;
@ -142,6 +146,10 @@ public class LoanRepurchaseApplyService extends MybatisBaseService<LoanRepurchas
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private DictCommonFeign dictCommonFeign;
@Autowired
private FinPaymentrecordFeign finPaymentrecordFeign;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
public PagerVo<LoanRepurchaseApplyVo> listPage(PagerQuery<LoanRepurchaseApplyQuery> pq) {
IPage<LoanRepurchaseApply> page = PagerUtil.queryToPage(pq);
@ -768,17 +776,41 @@ public class LoanRepurchaseApplyService extends MybatisBaseService<LoanRepurchas
loanRelieveMortgageSaveDto.setBankName(repurchaseApply.getBankName());
loanRelieveMortgageSaveDto.setBusSid(repurchaseApply.getSid());
loanRelieveMortgageService.saveRelieveMortgage(loanRelieveMortgageSaveDto);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
pushRiskToFin(businessSid);
});
} catch (Exception e) {
e.printStackTrace();
LoanRepurchaseCost loanRepurchaseCost = loanRepurchaseCostService.selectByMainSid(businessSid);
if(loanRepurchaseCost != null){
BigDecimal bankSettlePrice = loanRepurchaseCost.getBankSettlePrice();//资方结清金额
if(bankSettlePrice != null && bankSettlePrice.compareTo(BigDecimal.ZERO)>0){
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto();
finPaymentrecordDto.setApplySid(loanRepurchaseApply.getSid());
finPaymentrecordDto.setPayCompanySid("");
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(loanRepurchaseApply.getUseOrgSid());
finPaymentrecordDto.setUseOrgSid(loanRepurchaseApply.getUseOrgSid());
finPaymentrecordDto.setCostTypeKey("008");
finPaymentrecordDto.setCostTypeValue("资方结清款");
finPaymentrecordDto.setCostTitleKey("014");
finPaymentrecordDto.setCostTitleValue("资方结清款");
finPaymentrecordDto.setReceiveBank("");
finPaymentrecordDto.setReceiveBankAccount(loanRepurchaseCost.getBankAccount());
finPaymentrecordDto.setReceiveCompany(loanRepurchaseCost.getAccountName());
if(loanRepurchaseCost.getBankSettlePrice() != null){
finPaymentrecordDto.setCost(loanRepurchaseCost.getBankSettlePrice().toString());
finPaymentrecordDto.setAccountsReceive(loanRepurchaseCost.getBankSettlePrice().toString());
}
finPaymentrecordDto.setBusSid(loanRepurchaseApply.getBillNo());
finPaymentrecordDto.setPayRemark(loanRepurchaseApply.getPayRemarks());
finPaymentrecordDto.setPayCode("");
finPaymentrecordDto.setCreateBySid(loanRepurchaseApply.getCreateBySid());
finPaymentrecordDto.setUpdateBySid(loanRepurchaseApply.getCreateBySid());
finPaymentrecordDto.setRemarks(loanRepurchaseApply.getRemarks());
finPaymentrecordDto.setPurchaseSystemSid("");
finPaymentrecordDto.setPurchaseSystemName("");
finPaymentrecordDto.setBusRemarks(loanRepurchaseApply.getPayRemarks());
finPaymentrecordDto.setFinDataType(1);
String sid = finPaymentrecordFeign.save(finPaymentrecordDto).getData();
}
}
} else {
//极光推送
@ -804,9 +836,48 @@ public class LoanRepurchaseApplyService extends MybatisBaseService<LoanRepurchas
public void pushRiskToFin(String businessSid){
LoanRepurchaseApply loanRepurchaseApply = fetchBySid(businessSid);
LoanRepurchaseCost loanRepurchaseCost = loanRepurchaseCostService.selectByMainSid(businessSid);
//查询月还明细表,遍历
List<LoanRepaymentPlanDetails> list = loanRepaymentPlanDetailsService.selectByBusVinSid2(loanRepurchaseApply.getBusVinSid());
list.removeAll(Collections.singleton(null));
if(!list.isEmpty()){
BigDecimal bankSettlePrice = loanRepurchaseCost.getBankSettlePrice();
if(bankSettlePrice != null && bankSettlePrice.compareTo(BigDecimal.ZERO)>0){
for (int jj = 0; jj < list.size(); jj++) {
LoanRepaymentPlanDetails loanRepaymentPlanDetails = list.get(jj);
String moneysl = loanRepaymentPlanDetails.getMoneysl();
if(StringUtils.isNotBlank(moneysl) && bankSettlePrice.compareTo(BigDecimal.ZERO)>0){
if(bankSettlePrice.compareTo(new BigDecimal(moneysl))>0){
bankSettlePrice = bankSettlePrice.subtract(new BigDecimal(moneysl));
BigDecimal paymentMoney = loanRepaymentPlanDetails.getPaymentMoney();
if(paymentMoney != null){
paymentMoney = paymentMoney.add(new BigDecimal(moneysl));
}else{
paymentMoney = new BigDecimal(moneysl);
}
loanRepaymentPlanDetails.setPaymentMoney(paymentMoney);
loanRepaymentPlanDetailsService.updateById(loanRepaymentPlanDetails);
}else{
bankSettlePrice = BigDecimal.ZERO;
BigDecimal paymentMoney = loanRepaymentPlanDetails.getPaymentMoney();
if(paymentMoney != null){
paymentMoney = paymentMoney.add(bankSettlePrice);
}else{
paymentMoney = bankSettlePrice;
}
loanRepaymentPlanDetails.setPaymentMoney(paymentMoney);
loanRepaymentPlanDetailsService.updateById(loanRepaymentPlanDetails);
}
}else{
break;
}
}
}
}
//推送凭证
if(loanRepurchaseApply != null){
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
LoanRepurchaseCost loanRepurchaseCost = loanRepurchaseCostService.selectByMainSid(businessSid);
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(loanRepurchaseApply.getBankName(), "investorsCode").getData();
Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanRepurchaseApply.getUseOrgSid()).getData();

Loading…
Cancel
Save