Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 1 year ago
parent
commit
68476d0e47
  1. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeign.java
  2. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeignFallback.java
  3. 142
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  4. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.java
  5. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.xml
  6. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankRest.java
  7. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankService.java
  8. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  9. 10
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java
  10. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeign.java
  11. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeignFallback.java
  12. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordDto.java
  13. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordVehInit.java
  14. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetails.java
  15. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentrecord/LoanTransferPaymentRecord.java
  16. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyMapper.java
  17. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyRest.java
  18. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java
  19. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordService.java
  20. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehMapper.java
  21. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehService.java
  22. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml
  23. 35
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  24. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java
  25. 23
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  26. 155
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  27. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  28. 32
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  29. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  30. 136
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java
  31. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml
  32. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordDto.java
  33. 43
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordInit.java
  34. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordVehInit.java
  35. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeOverdueVehVo.java
  36. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java
  37. 34
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeign.java

@ -102,4 +102,8 @@ public interface FinManufacturerBankFeign {
@ResponseBody @ResponseBody
public ResultBean listByPayment(@RequestParam("orgPath") String orgPath, @RequestParam("key") String key); public ResultBean listByPayment(@RequestParam("orgPath") String orgPath, @RequestParam("key") String key);
@ApiOperation("根据账号获取银行账户信息")
@GetMapping("/selOneByBankNo")
@ResponseBody
public ResultBean<FinManufacturerBank> selOneByBankNo(@RequestParam("bankAccount") String bankAccount, @RequestParam("useOrgSid") String useOrgSid);
} }

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeignFallback.java

@ -94,4 +94,9 @@ public class FinManufacturerBankFeignFallback implements FinManufacturerBankFeig
public ResultBean listByPayment(String orgPath, String key) { public ResultBean listByPayment(String orgPath, String key) {
return null; return null;
} }
@Override
public ResultBean selOneByBankNo(String bankAccount,String useOrgSid) {
return null;
}
} }

142
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -112,6 +112,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.function.Predicate; import java.util.function.Predicate;
@ -3684,7 +3686,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款 //与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
confirmation.setPaymentState(3); confirmation.setPaymentState(3);
baseMapper.updateById(confirmation); baseMapper.updateById(confirmation);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//=========================================== //===========================================
//查询该申请下的所有待审核的款项明细 //查询该申请下的所有待审核的款项明细
BigDecimal subscriptionMoneyAll = new BigDecimal("0"); BigDecimal subscriptionMoneyAll = new BigDecimal("0");
@ -3703,6 +3705,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//推送间还认款记录 //推送间还认款记录
if (v.getReceivablesName().equals("月还")) { if (v.getReceivablesName().equals("月还")) {
LoanRepaymentHistory historyEntity = new LoanRepaymentHistory(); LoanRepaymentHistory historyEntity = new LoanRepaymentHistory();
historyEntity.setPlanDetailSid(v.getReceivablesSid());
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(v.getReceivablesSid()).getData();
if (null != planDetails) {
historyEntity.setScheduleSid(planDetails.getScheduleSid());
historyEntity.setSkdBillNo(finalConfirmation.getBillNo()); historyEntity.setSkdBillNo(finalConfirmation.getBillNo());
historyEntity.setUpdateTime(new DateTime()); historyEntity.setUpdateTime(new DateTime());
historyEntity.setUpdateState("1"); historyEntity.setUpdateState("1");
@ -3710,13 +3716,26 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
historyEntity.setBuckle("审核通过"); historyEntity.setBuckle("审核通过");
historyEntity.setBuckleKey("003"); historyEntity.setBuckleKey("003");
historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney())); historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney()));
historyEntity.setActualDate(new DateTime()); try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) >= 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(collDate);
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setReturnWay("间还"); historyEntity.setReturnWay("间还");
historyEntity.setReturnWayKey("02"); historyEntity.setReturnWayKey("02");
historyEntity.setPlanDetailSid(v.getReceivablesSid()); historyEntity.setPaymentState("待转付");
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(v.getReceivablesSid()).getData(); historyEntity.setPaymentStateKey("001");
if (null != planDetails) {
historyEntity.setScheduleSid(planDetails.getScheduleSid());
} }
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity); loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
} }
@ -3740,86 +3759,33 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (bankResultBean.getData() != null) { if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData(); LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) { if (null != loanFinBank.getReAdvances()) {
if (loanFinBank.getReAdvances() == 1) {
LoanRepaymentHistory historyEntity = new LoanRepaymentHistory();
historyEntity.setSkdBillNo(finalConfirmation.getBillNo());
historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney()));
historyEntity.setActualDate(new DateTime());
historyEntity.setReturnWay("间还");
historyEntity.setReturnWayKey("02");
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
Date dueDate = planDetails.getDueDate();
if (new Date().compareTo(dueDate) > 0) {
historyEntity.setPrepareDate(new DateTime());
} else {
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(dueDate);
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
}
historyEntity.setPrepareDate(new DateTime());
historyEntity.setPlanDetailSid(planSid);
historyEntity.setScheduleSid(planDetails.getScheduleSid());
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
} else {
BigDecimal paymentMoney = planDetails.getPaymentMoney(); BigDecimal paymentMoney = planDetails.getPaymentMoney();
String subscriptionMoney = v.getSubscriptionMoney(); String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract); planDetails.setPaymentMoney(subtract);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
if (loanFinBank.getReAdvances() == 1) {
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setPayCostTitleKey("007");
jr.setPayCostTitleValue("资方退还垫款");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
finUncollectedReceivablesDetailedJRService.insert(jr);
} }
} }
} }
} else {
LoanRepaymentHistory historyEntity = new LoanRepaymentHistory();
historyEntity.setSkdBillNo(finalConfirmation.getBillNo());
historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney()));
historyEntity.setActualDate(new DateTime());
historyEntity.setReturnWay("间还");
historyEntity.setReturnWayKey("02");
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
Date dueDate = planDetails.getDueDate();
if (new Date().compareTo(dueDate) > 0) {
historyEntity.setPrepareDate(new DateTime());
} else {
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(dueDate);
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
}
historyEntity.setPrepareDate(new DateTime());
historyEntity.setPlanDetailSid(planSid);
historyEntity.setScheduleSid(planDetails.getScheduleSid());
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
}
} else {
LoanRepaymentHistory historyEntity = new LoanRepaymentHistory();
historyEntity.setSkdBillNo(finalConfirmation.getBillNo());
historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney()));
historyEntity.setActualDate(new DateTime());
historyEntity.setReturnWay("间还");
historyEntity.setReturnWayKey("02");
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
Date dueDate = planDetails.getDueDate();
if (new Date().compareTo(dueDate) > 0) {
historyEntity.setPrepareDate(new DateTime());
} else {
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(dueDate);
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} }
historyEntity.setPrepareDate(new DateTime());
historyEntity.setPlanDetailSid(planSid);
historyEntity.setScheduleSid(planDetails.getScheduleSid());
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
} }
} }
} }
}); });
@ -4098,8 +4064,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(receivablesSid).getData(); LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(receivablesSid).getData();
if (null != data) { if (null != data) {
BeanUtil.copyProperties(data, rsk, "sid"); BeanUtil.copyProperties(data, rsk, "sid");
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) { if (StringUtils.isNotBlank(data.getVinNo())) {
if (StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVin(data.getVinNo() + "/" + data.getVehMark()); rsk.setVin(data.getVinNo() + "/" + data.getVehMark());
} else {
rsk.setVin(data.getVinNo());
}
} }
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyRsk(receivablesSid); String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyRsk(receivablesSid);
if (StringUtils.isNotBlank(noReturnMoney)) { if (StringUtils.isNotBlank(noReturnMoney)) {
@ -4113,8 +4083,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(busSid).getData(); LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(busSid).getData();
if (null != data) { if (null != data) {
BeanUtil.copyProperties(data, rsk, "sid"); BeanUtil.copyProperties(data, rsk, "sid");
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) { if (StringUtils.isNotBlank(data.getVinNo())) {
if (StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVin(data.getVinNo() + "/" + data.getVehMark()); rsk.setVin(data.getVinNo() + "/" + data.getVehMark());
} else {
rsk.setVin(data.getVinNo());
}
} }
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid); String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid);
if (StringUtils.isNotBlank(noReturnMoney)) { if (StringUtils.isNotBlank(noReturnMoney)) {
@ -4328,8 +4302,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(receivablesSid).getData(); LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(receivablesSid).getData();
if (null != data) { if (null != data) {
BeanUtil.copyProperties(data, rsk, "sid"); BeanUtil.copyProperties(data, rsk, "sid");
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) { if (StringUtils.isNotBlank(data.getVinNo())) {
if (StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVin(data.getVinNo() + "/" + data.getVehMark()); rsk.setVin(data.getVinNo() + "/" + data.getVehMark());
} else {
rsk.setVin(data.getVinNo());
}
} }
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyRsk(receivablesSid); String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyRsk(receivablesSid);
if (StringUtils.isNotBlank(noReturnMoney)) { if (StringUtils.isNotBlank(noReturnMoney)) {
@ -4343,8 +4321,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(busSid).getData(); LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(busSid).getData();
if (null != data) { if (null != data) {
BeanUtil.copyProperties(data, rsk, "sid"); BeanUtil.copyProperties(data, rsk, "sid");
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) { if (StringUtils.isNotBlank(data.getVinNo())) {
if (StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVin(data.getVinNo() + "/" + data.getVehMark()); rsk.setVin(data.getVinNo() + "/" + data.getVehMark());
} else {
rsk.setVin(data.getVinNo());
}
} }
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid); String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid);
if (StringUtils.isNotBlank(noReturnMoney)) { if (StringUtils.isNotBlank(noReturnMoney)) {

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.java

@ -68,4 +68,6 @@ public interface FinManufacturerBankMapper extends BaseMapper<FinManufacturerBan
IPage<FinManufacturerVo> selAppAccountByOrgSid(IPage<FinManufacturerVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name); IPage<FinManufacturerVo> selAppAccountByOrgSid(IPage<FinManufacturerVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name);
List<BankVoForPayment> listByPayment(@Param("useOrgSid") String useOrgSid, @Param("key") String key); List<BankVoForPayment> listByPayment(@Param("useOrgSid") String useOrgSid, @Param("key") String key);
FinManufacturerBank selOneByBankNo(@Param("bankAccount") String bankAccount, @Param("useOrgSid") String useOrgSid);
} }

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.xml

@ -93,4 +93,10 @@
where useOrgSid = #{useOrgSid} where useOrgSid = #{useOrgSid}
and dueBankKey = #{key} and dueBankKey = #{key}
</select> </select>
<select id="selOneByBankNo" resultType="com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank">
select *
from fin_manufacturer_bank
where bankAccount = #{bankAccount}
and useOrgSid = #{useOrgSid}
</select>
</mapper> </mapper>

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankRest.java

@ -110,4 +110,9 @@ public class FinManufacturerBankRest implements FinManufacturerBankFeign {
public ResultBean listByPayment(String orgPath, String key) { public ResultBean listByPayment(String orgPath, String key) {
return finManufacturerBankService.listByPayment(orgPath,key); return finManufacturerBankService.listByPayment(orgPath,key);
} }
@Override
public ResultBean selOneByBankNo(String bankAccount,String useOrgSid) {
return finManufacturerBankService.selOneByBankNo(bankAccount,useOrgSid);
}
} }

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankService.java

@ -272,4 +272,10 @@ public class FinManufacturerBankService extends MybatisBaseService<FinManufactur
List<BankVoForPayment> list = baseMapper.listByPayment(useOrgSid, key); List<BankVoForPayment> list = baseMapper.listByPayment(useOrgSid, key);
return rb.success().setData(list); return rb.success().setData(list);
} }
public ResultBean selOneByBankNo(String bankAccount,String useOrgSid) {
ResultBean rb = ResultBean.fireFail();
FinManufacturerBank finManufacturerBank = baseMapper.selOneByBankNo(bankAccount,useOrgSid);
return rb.success().setData(finManufacturerBank);
}
} }

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -288,8 +288,8 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
for (GeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) { for (GeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) {
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
dto1.setSummary(m + "月计提"); dto1.setSummary(m + "月计提月还");
dto2.setSummary(m + "月计提"); dto2.setSummary(m + "月计提月还");
dto1.setSubjectNo("1201.02.01"); dto1.setSubjectNo("1201.02.01");
dto2.setSubjectNo("1201.01.00"); dto2.setSubjectNo("1201.01.00");
dto1.setDimensionDept(voucherDetail.getDeptCode()); dto1.setDimensionDept(voucherDetail.getDeptCode());
@ -303,7 +303,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
} }
newVoucher.setResultDetails(resultDetails); newVoucher.setResultDetails(resultDetails);
} }
log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher)); // log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher));
return voucherService.saveVoucher(newVoucher); return voucherService.saveVoucher(newVoucher);
} }

10
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java

@ -86,11 +86,21 @@ public class VoucherService extends FinKingDeeService {
} }
m.put("FEXPLANATION", c.getSummary()); m.put("FEXPLANATION", c.getSummary());
m.put("FACCOUNTID", c.getSubjectNo()); m.put("FACCOUNTID", c.getSubjectNo());
if (StringUtils.isNotBlank(c.getDimensionDept())) {
m.put("FFLEX5", c.getDimensionDept()); m.put("FFLEX5", c.getDimensionDept());
}
if (StringUtils.isNotBlank(c.getDimensionCustom())) {
m.put("FFLEX6", c.getDimensionCustom()); m.put("FFLEX6", c.getDimensionCustom());
}
if (StringUtils.isNotBlank(c.getBankAccount())) {
m.put("FF100002", c.getBankAccount()); m.put("FF100002", c.getBankAccount());
}
if (StringUtils.isNotBlank(c.getDebit())) {
m.put("FDEBIT", c.getDebit()); m.put("FDEBIT", c.getDebit());
}
if (StringUtils.isNotBlank(c.getCredit())) {
m.put("FCREDIT", c.getCredit()); m.put("FCREDIT", c.getCredit());
}
voucherDetailMap.add(m); voucherDetailMap.add(m);
} }
return rb.success().setData(voucherDetailMap); return rb.success().setData(voucherDetailMap);

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeign.java

@ -86,6 +86,11 @@ public interface LoanBeCollectionApplyFeign {
@ResponseBody @ResponseBody
public ResultBean<LoanBeCollectionApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid); public ResultBean<LoanBeCollectionApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("保存控制状态")
@PostMapping("/saveLockCarState")
@ResponseBody
public ResultBean saveLockCarState(@RequestParam("applySid") String applySid, @RequestParam("saleVehSid") String saleVehSid, @RequestParam("lockCarState") String lockCarState);
@ApiOperation("提交审批流程") @ApiOperation("提交审批流程")
@PostMapping("/submit") @PostMapping("/submit")
public ResultBean submit(@RequestBody @Valid SubmitLoanBeCollectionApplyDto dto); public ResultBean submit(@RequestBody @Valid SubmitLoanBeCollectionApplyDto dto);

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyFeignFallback.java

@ -77,6 +77,11 @@ public class LoanBeCollectionApplyFeignFallback implements LoanBeCollectionApply
return rb.setMsg("接口anrui-riskcenter/loanbecollectionapply/fetchDetailsBySid无法访问"); return rb.setMsg("接口anrui-riskcenter/loanbecollectionapply/fetchDetailsBySid无法访问");
} }
@Override
public ResultBean saveLockCarState(String applySid, String saleVehSid, String lockCarState) {
return null;
}
@Override @Override
public ResultBean submit(SubmitLoanBeCollectionApplyDto dto) { public ResultBean submit(SubmitLoanBeCollectionApplyDto dto) {
return null; return null;

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordDto.java

@ -98,8 +98,8 @@ public class LoanBeCollectionRecordDto implements Dto {
private String useOrgName; // 分公司名称 private String useOrgName; // 分公司名称
@ApiModelProperty("组织全路径") @ApiModelProperty("组织全路径")
private String orgPath; // 组织全路径 private String orgPath; // 组织全路径
@ApiModelProperty("销售订单车辆sid")
private List<String> saleVehSids; // 销售订单车辆sid
@ApiModelProperty("催收附件") @ApiModelProperty("催收附件")
private List<LoanBeCollectionRecordFile> loanBeCollectionRecordFileList = new ArrayList<>(); // 催收附件 private List<LoanBeCollectionRecordFile> loanBeCollectionRecordFileList = new ArrayList<>(); // 催收附件
@ApiModelProperty("逾期车辆列表")
private List<LoanBeCollectionRecordVehInit> loanBeCollectionRecordVehInitList;
} }

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionrecord/LoanBeCollectionRecordVehInit.java

@ -21,8 +21,14 @@ public class LoanBeCollectionRecordVehInit {
private String custPhone; private String custPhone;
@ApiModelProperty("客户及电话") @ApiModelProperty("客户及电话")
private String custNameAndPhone; private String custNameAndPhone;
@ApiModelProperty("实际还款人")
private String reaRepaymentName;
@ApiModelProperty("实际还款人电话")
private String reaRepaymentPhone;
@ApiModelProperty("实际还款人及电话") @ApiModelProperty("实际还款人及电话")
private String reaRepaymentNameAndPhone; private String reaRepaymentNameAndPhone;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款合同编号") @ApiModelProperty("贷款合同编号")
private String loanContractNo; private String loanContractNo;
@ApiModelProperty("资方") @ApiModelProperty("资方")

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

@ -70,11 +70,13 @@ public class LoanRepaymentPlanDetails extends BaseEntity {
private String orgSidPath; private String orgSidPath;
private String returnWayKey; private String returnWayKey; //还款方式key(01直还、02间还、03转付)
private String returnWay; private String returnWay;
private String actualPerson; private String actualPerson; //实际还款人
private BigDecimal paymentMoney; private BigDecimal paymentMoney; //公司垫款金额
private BigDecimal fund; private BigDecimal fund; //资金占用费
private Integer overdue; //是否曾逾期(0是,1否)
private Integer oweState; //是否转累欠状态(0是,1否)
private Date updateTime; //更新日期
} }

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentrecord/LoanTransferPaymentRecord.java

@ -37,6 +37,6 @@ public class LoanTransferPaymentRecord extends BaseEntity {
private String account; private String account;
@ApiModelProperty("转付账户账号") @ApiModelProperty("转付账户账号")
private String accountNumber; private String accountNumber;
@ApiModelProperty("资方合同号")
private String bankContractNo;
} }

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyMapper.java

@ -34,6 +34,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApply; import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApply;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo; import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -67,4 +68,7 @@ public interface LoanBeCollectionApplyMapper extends BaseMapper<LoanBeCollection
String selectNum(String billNo); String selectNum(String billNo);
int updateFlowFiled(Map<String, Object> map); int updateFlowFiled(Map<String, Object> map);
@Update("update loan_be_collection_veh set lockCarState = #{lockCarState} where mainSid = #{applySid} and saleVehSid = #{saleVehSid}")
void saveLockCarState(@Param("applySid") String applySid, @Param("saleVehSid") String saleVehSid, @Param("lockCarState") String lockCarState);
} }

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyRest.java

@ -110,6 +110,13 @@ public class LoanBeCollectionApplyRest implements LoanBeCollectionApplyFeign {
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@Override
public ResultBean saveLockCarState(String applySid, String saleVehSid, String lockCarState) {
ResultBean rb = ResultBean.fireFail();
loanBeCollectionApplyService.saveLockCarState(applySid,saleVehSid,lockCarState);
return rb.success();
}
@Override @Override
public ResultBean submit(SubmitLoanBeCollectionApplyDto dto) { public ResultBean submit(SubmitLoanBeCollectionApplyDto dto) {
return loanBeCollectionApplyService.submit(dto); return loanBeCollectionApplyService.submit(dto);

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java

@ -722,6 +722,9 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
UpdateFlowFieldVo ufVo = resultBean.getData(); UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
if (loanBeCollectionApply.getCollMeasure().contains("远程控制")) {
loanBeCollectionVehService.updateByMainSid(businessSid);
}
} else { } else {
//极光推送 //极光推送
loanBeCollectionApply = fetchBySid(businessSid); loanBeCollectionApply = fetchBySid(businessSid);
@ -769,4 +772,8 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
private int updateFlowFiled(Map<String, Object> map) { private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map); return baseMapper.updateFlowFiled(map);
} }
public void saveLockCarState(String applySid, String saleVehSid, String lockCarState) {
baseMapper.saveLockCarState(applySid, saleVehSid, lockCarState);
}
} }

9
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionrecord/LoanBeCollectionRecordService.java

@ -123,15 +123,15 @@ public class LoanBeCollectionRecordService extends MybatisBaseService<LoanBeColl
public void saveOrUpdateDto(LoanBeCollectionRecordDto dto){ public void saveOrUpdateDto(LoanBeCollectionRecordDto dto){
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
List<LoanBeCollectionRecordFile> loanBeCollectionRecordFileList = dto.getLoanBeCollectionRecordFileList(); List<LoanBeCollectionRecordFile> loanBeCollectionRecordFileList = dto.getLoanBeCollectionRecordFileList();
List<String> saleVehSids = dto.getSaleVehSids(); List<LoanBeCollectionRecordVehInit> loanBeCollectionRecordVehInitList = dto.getLoanBeCollectionRecordVehInitList();
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
for (String saleVehSid : saleVehSids) { for (LoanBeCollectionRecordVehInit loanBeCollectionRecordVehInit : loanBeCollectionRecordVehInitList) {
String orgPath = dto.getOrgPath(); String orgPath = dto.getOrgPath();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
dto.setUseOrgName(sysOrganizationVo.getName()); dto.setUseOrgName(sysOrganizationVo.getName());
dto.setUseOrgSid(useOrgSid); dto.setUseOrgSid(useOrgSid);
dto.setSaleVehSid(saleVehSid); dto.setSaleVehSid(loanBeCollectionRecordVehInit.getSaleVehSid());
String sid = this.insertByDto(dto); String sid = this.insertByDto(dto);
if (loanBeCollectionRecordFileList.size() > 0){ if (loanBeCollectionRecordFileList.size() > 0){
for (LoanBeCollectionRecordFile loanBeCollectionRecordFile : loanBeCollectionRecordFileList) { for (LoanBeCollectionRecordFile loanBeCollectionRecordFile : loanBeCollectionRecordFileList) {
@ -204,6 +204,8 @@ public class LoanBeCollectionRecordService extends MybatisBaseService<LoanBeColl
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(loanBeCollectionRecordVehInit.getSalesOrderSid()).getData(); BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(loanBeCollectionRecordVehInit.getSalesOrderSid()).getData();
BusSalesOrderVehicle busSalesOrderVehicle1 = busSalesOrderVehicleFeign.details(loanBeCollectionRecordVehInit.getSaleVehSid()).getData(); BusSalesOrderVehicle busSalesOrderVehicle1 = busSalesOrderVehicleFeign.details(loanBeCollectionRecordVehInit.getSaleVehSid()).getData();
loanBeCollectionRecordVehInit.setReaRepaymentNameAndPhone(busSalesOrderVehicle1.getReaRepaymentName() + busSalesOrderVehicle1.getReaRepaymentPhone()); loanBeCollectionRecordVehInit.setReaRepaymentNameAndPhone(busSalesOrderVehicle1.getReaRepaymentName() + busSalesOrderVehicle1.getReaRepaymentPhone());
loanBeCollectionRecordVehInit.setReaRepaymentName(busSalesOrderVehicle1.getReaRepaymentName());
loanBeCollectionRecordVehInit.setReaRepaymentPhone(busSalesOrderVehicle1.getReaRepaymentPhone());
//催收记录sid //催收记录sid
LoanBeCollectionVehFile loanBeCollectionVehFile1 = new LoanBeCollectionVehFile(); LoanBeCollectionVehFile loanBeCollectionVehFile1 = new LoanBeCollectionVehFile();
loanBeCollectionVehFile1.setName("催收记录"); loanBeCollectionVehFile1.setName("催收记录");
@ -237,7 +239,6 @@ public class LoanBeCollectionRecordService extends MybatisBaseService<LoanBeColl
loanBeCollectionVehFile6.setSid(sid); loanBeCollectionVehFile6.setSid(sid);
loanBeCollectionVehFiles.add(loanBeCollectionVehFile6); loanBeCollectionVehFiles.add(loanBeCollectionVehFile6);
loanBeCollectionRecordVehInit.setSids(loanBeCollectionVehFiles); loanBeCollectionRecordVehInit.setSids(loanBeCollectionVehFiles);
loanBeCollectionRecordVehInits.add(loanBeCollectionRecordVehInit);
} }
loanBeCollectionRecordInit.setLoanBeCollectionRecordVehInitList(loanBeCollectionRecordVehInits); loanBeCollectionRecordInit.setLoanBeCollectionRecordVehInitList(loanBeCollectionRecordVehInits);
return loanBeCollectionRecordInit; return loanBeCollectionRecordInit;

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehMapper.java

@ -30,10 +30,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo; import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVeh; import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVeh;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehVo; import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehVo;
@ -70,4 +67,7 @@ public interface LoanBeCollectionVehMapper extends BaseMapper<LoanBeCollectionVe
@Select("select *,customerName as custName,customerPhone as custPhone from loan_be_collection_veh where mainSid = #{sid}") @Select("select *,customerName as custName,customerPhone as custPhone from loan_be_collection_veh where mainSid = #{sid}")
List<LoanBeCollectionVehDetailsVo> selByMainSid(String sid); List<LoanBeCollectionVehDetailsVo> selByMainSid(String sid);
@Update("update loan_be_collection_veh set lockCarState = '待控制' where mainSid = #{businessSid}")
void updateByMainSid(String businessSid);
} }

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehService.java

@ -250,4 +250,8 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
} }
loanHomevisitInvestigateOtherpeoService.save(loanHomevisitInvestigateOtherpeo); loanHomevisitInvestigateOtherpeoService.save(loanHomevisitInvestigateOtherpeo);
} }
public void updateByMainSid(String businessSid) {
baseMapper.updateByMainSid(businessSid);
}
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml

@ -85,6 +85,7 @@
a1.mobile AS custPhone, a1.mobile AS custPhone,
a1.`loanContractNo`, a1.`loanContractNo`,
a1.`bankName`, a1.`bankName`,
a1.borrowerName AS loanName,
a1.vehMark AS carNum, a1.vehMark AS carNum,
a1.dueDate AS firstBeDate, a1.dueDate AS firstBeDate,
COUNT(a1.sid) AS beOverduePeriod, COUNT(a1.sid) AS beOverduePeriod,
@ -99,6 +100,7 @@
lrpd.`loanContractNo`, lrpd.`loanContractNo`,
lrpd.`vinNo`, lrpd.`vinNo`,
lrpd.`bankName`, lrpd.`bankName`,
lrpd.borrowerName,
lrpd.dueDate, lrpd.dueDate,
lrpd.vehMark, lrpd.vehMark,
( (

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

@ -21,6 +21,8 @@ import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDet
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingDto; import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingDto;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
@ -116,6 +118,9 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService; private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
@Autowired @Autowired
private FinKingDeeFeign finKingDeeFeign; private FinKingDeeFeign finKingDeeFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
public ResultBean<LoanMonthlyAccrualApplyInit> accrualInit(String orgPath) { public ResultBean<LoanMonthlyAccrualApplyInit> accrualInit(String orgPath) {
ResultBean<LoanMonthlyAccrualApplyInit> rb = ResultBean.fireFail(); ResultBean<LoanMonthlyAccrualApplyInit> rb = ResultBean.fireFail();
String orgSidPath = orgPath; String orgSidPath = orgPath;
@ -683,9 +688,33 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
private void pushAccrualVoucher(String businessSid) { private void pushAccrualVoucher(String businessSid) {
List<LoanMonthlyAccrualRecord> records = loanMonthlyAccrualRecordService.selByMainSid(businessSid); List<LoanMonthlyAccrualRecord> records = loanMonthlyAccrualRecordService.selByMainSid(businessSid);
if (!records.isEmpty()) { if (!records.isEmpty()) {
for (LoanMonthlyAccrualRecord v : records) {
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchDetails(v.getRecordSid()).getData();
if (null != planDetails) {
GeneralVoucher generalVoucher = new GeneralVoucher();
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
String useOrgSid = planDetails.getUseOrgSid();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = planDetails.getDeptSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
String busVinSid = planDetails.getBusVinSid();
BusSalesOrderVehicle orderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
if (null != orderVehicle) {
voucherDetail.setCustomerCode(orderVehicle.getTemporaryNo());
}
voucherDetail.setAmount(planDetails.getDueMoney());
voucherDetails.add(voucherDetail);
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveAccrualVoucher(generalVoucher);
}
}
} }
} }

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

@ -49,4 +49,6 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper<LoanRepaymentHist
IPage<RepaymentDetailsListVo> repaymentDetailsList(IPage<LoanRepaymentHistory> page, @Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw); IPage<RepaymentDetailsListVo> repaymentDetailsList(IPage<LoanRepaymentHistory> page, @Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw);
List<RepaymentStatisticsExportVo> repaymentStatisticsExport(@Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw); List<RepaymentStatisticsExportVo> repaymentStatisticsExport(@Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw);
String getMaxUpdateTimeByBankName(@Param("bankName") String bankName);
} }

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

@ -198,6 +198,8 @@
t.repaidMoney, t.repaidMoney,
t.outstandingMoney, t.outstandingMoney,
v.bankBeInter, v.bankBeInter,
pd.overdue as dueOverdue,
pd.updateTime as updateDate,
CASE CASE
WHEN t.repaidMoney = 0 THEN WHEN t.repaidMoney = 0 THEN
'01' '01'
@ -223,18 +225,14 @@
AND h.updateState = '1'),0) as repaidMoney AND h.updateState = '1'),0) as repaidMoney
, ,
IFNULL( IFNULL(
p.dueMoney - ( (p.dueMoney - IFNULL((SELECT
SELECT SUM(IFNULL( h.actualMoney, 0 ))
SUM(
IFNULL( h.actualMoney, 0 ))
FROM FROM
loan_repayment_history AS h loan_repayment_history AS h
WHERE WHERE
h.planDetailSid = p.sid h.planDetailSid = p.sid
AND h.updateState = '1' AND h.updateState = '1'
), ),0)),0) AS outstandingMoney
0
) AS outstandingMoney
FROM FROM
loan_repayment_plan_details AS p loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid ) AS t ON pd.sid = t.sid
@ -352,5 +350,16 @@
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="getMaxUpdateTimeByBankName" resultType="java.lang.String">
SELECT
MAX(h.actualDate)
as updateTime
FROM loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p
ON h.planDetailSid = p.sid
where h.updateState = '1'
AND h.returnWayKey = '01'
AND p.bankName = #{bankName}
</select>
</mapper> </mapper>

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

@ -8,6 +8,8 @@ import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceImportReturn;
import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceImportVo; import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceImportVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo;
import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
@ -21,6 +23,7 @@ import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.*; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.*;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
@ -701,6 +704,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
public ResultBean updateState(String orgPath) { public ResultBean updateState(String orgPath) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
QueryWrapper<LoanRepaymentHistory> qw = new QueryWrapper<>(); QueryWrapper<LoanRepaymentHistory> qw = new QueryWrapper<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//======================= //=======================
String orgSidPath = orgPath; String orgSidPath = orgPath;
orgSidPath = orgSidPath + "/"; orgSidPath = orgSidPath + "/";
@ -714,6 +718,9 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
qw.ne("h.buckleKey", "003"); qw.ne("h.buckleKey", "003");
qw.eq("h.updateState", "0"); qw.eq("h.updateState", "0");
List<String> histories = baseMapper.selUpdateStateList(qw); List<String> histories = baseMapper.selUpdateStateList(qw);
HashSet<String> bankNames = new HashSet<>();
HashSet<String> pSids = new HashSet<>();
String useOrgSid = "";
if (!histories.isEmpty()) { if (!histories.isEmpty()) {
for (String historySid : histories) { for (String historySid : histories) {
LoanRepaymentHistory repaymentHistory = fetchBySid(historySid); LoanRepaymentHistory repaymentHistory = fetchBySid(historySid);
@ -721,6 +728,41 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
repaymentHistory.setUpdateState("1"); repaymentHistory.setUpdateState("1");
repaymentHistory.setUpdateTime(new DateTime()); repaymentHistory.setUpdateTime(new DateTime());
baseMapper.updateById(repaymentHistory); baseMapper.updateById(repaymentHistory);
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(repaymentHistory.getPlanDetailSid());
if (null != planDetails) {
bankNames.add(planDetails.getBankName());
pSids.add(planDetails.getSid());
useOrgSid = planDetails.getUseOrgSid();
}
}
}
Map<String, String> map = new HashMap<>();
if (!bankNames.isEmpty()) {
for (String bankName : bankNames) {
String updateTime = baseMapper.getMaxUpdateTimeByBankName(bankName);
if (StringUtils.isNotBlank(updateTime)) {
map.put(bankName, updateTime);
}
}
}
if (!map.isEmpty()) {
for (Map.Entry<String, String> entry : map.entrySet()) {
String updateTime = entry.getValue();
try {
Date u = sdf.parse(updateTime);
Date today = new Date();
String f = sdf.format(today);
Date date = sdf.parse(f);
if (u.compareTo(date) == 0) {
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(date);
cal_1.add(Calendar.DAY_OF_MONTH, -1);
u = cal_1.getTime();
}
int i = loanRepaymentPlanDetailsService.updateTime(entry.getKey(), u, useOrgSid);
} catch (ParseException e) {
e.printStackTrace();
}
} }
} }
} else { } else {
@ -963,11 +1005,19 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) { if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) {
qw.like("a.borrowerName", pagerQuery.getBorrowerName()); qw.like("a.borrowerName", pagerQuery.getBorrowerName());
} }
if (StringUtils.isNotBlank(pagerQuery.getDueOverdue())) {
qw.eq("a.dueOverdue", pagerQuery.getDueOverdue());
}
String dueStartDate = pagerQuery.getDueStartDate(); String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate(); String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(dueEndDate), "date_format (a.dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')" apply(StringUtils.isNotEmpty(dueEndDate), "date_format (a.dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')"
); );
String updateStartDate = pagerQuery.getUpdateStartDate();
String updateEndDate = pagerQuery.getUpdateEndDate();
qw.apply(StringUtils.isNotEmpty(updateStartDate), "date_format (a.updateDate,'%Y-%m-%d') >= date_format('" + updateStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(updateEndDate), "date_format (a.updateDate,'%Y-%m-%d') <= date_format('" + updateEndDate + "','%Y-%m-%d')"
);
qw.eq("1", "1"); qw.eq("1", "1");
qw.orderBy(true, true, "a.useOrgName") qw.orderBy(true, true, "a.useOrgName")
.orderBy(true, true, "a.vinNo") .orderBy(true, true, "a.vinNo")
@ -978,55 +1028,34 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
records.removeAll(Collections.singleton(null)); records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) { if (!records.isEmpty()) {
for (RepaymentStatisticsVo record : records) { for (RepaymentStatisticsVo record : records) {
String sid = record.getSid(); if (StringUtils.isNotBlank(record.getUpdateDate())) {
List<String> updateTimes = baseMapper.selnewUpdateTimeByPlanSid(sid);
updateTimes.removeAll(Collections.singleton(null));
if (!updateTimes.isEmpty()) {
String updateTime = updateTimes.get(0);
try { try {
Date updateTimeParse = sdf.parse(updateTime); Date u = sdf.parse(record.getUpdateDate());
Date dueDateParse = sdf.parse(record.getDueDate()); Date d = sdf.parse(record.getDueDate());
String format = sdf.format(new Date()); if (d.compareTo(u) <= 0) {
Date parseNewDate = sdf.parse(format); BigDecimal sum = new BigDecimal(2);
if (updateTimeParse.compareTo(dueDateParse) > 0) { if (StringUtils.isNotBlank(record.getOutstandingMoney())) {
sum = new BigDecimal(record.getOutstandingMoney());
}
if (StringUtils.isNotBlank(record.getFund())) {
sum = sum.add(new BigDecimal(record.getFund()));
}
if (StringUtils.isNotBlank(record.getBankBeInter())) {
sum = sum.add(new BigDecimal(record.getBankBeInter()));
}
if (sum.compareTo(BigDecimal.ZERO) > 0) {
record.setNowOverdue("0"); record.setNowOverdue("0");
} else { } else {
record.setNowOverdue("1"); record.setNowOverdue("1");
} }
if (updateTimeParse.compareTo(parseNewDate) == 0) {
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.add(Calendar.DAY_OF_MONTH, -1);
record.setUpdateDate(sdf.format(cal_1.getTime()));
} else { } else {
record.setUpdateDate(sdf.format(updateTimeParse)); record.setNowOverdue("1");
}
for (String time : updateTimes) {
Date parseTime = sdf.parse(time);
if (parseTime.compareTo(dueDateParse) > 0) {
record.setDueOverdue("0");
}
}
if (StringUtils.isBlank(record.getDueOverdue())) {
record.setDueOverdue("1");
} }
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
} else {
String format = sdf.format(new Date());
try {
Date parseNewDate = sdf.parse(format);
Date dueDateParse = sdf.parse(record.getDueDate());
if (parseNewDate.compareTo(dueDateParse) > 0) {
record.setNowOverdue("0");
record.setDueOverdue("0");
} else { } else {
record.setNowOverdue("1"); record.setNowOverdue("1");
record.setDueOverdue("1");
}
} catch (ParseException e) {
e.printStackTrace();
}
} }
} }
} }
@ -1034,58 +1063,6 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
records = records.stream().filter(r -> r.getNowOverdue().equals(pagerQuery.getNowOverdue())) records = records.stream().filter(r -> r.getNowOverdue().equals(pagerQuery.getNowOverdue()))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
if (StringUtils.isNotBlank(pagerQuery.getDueOverdue())) {
records = records.stream().filter(r -> r.getDueOverdue().equals(pagerQuery.getDueOverdue()))
.collect(Collectors.toList());
}
if (StringUtils.isNotBlank(pagerQuery.getUpdateStartDate()) || StringUtils.isNotBlank(pagerQuery.getUpdateEndDate())) {
records = records.stream().filter(new Predicate<RepaymentStatisticsVo>() {
@Override
public boolean test(RepaymentStatisticsVo v) {
if (StringUtils.isNotBlank(v.getUpdateDate())) {
if (StringUtils.isNotBlank(pagerQuery.getUpdateStartDate()) && StringUtils.isBlank(pagerQuery.getUpdateEndDate())) {
String updateStartDate = pagerQuery.getUpdateStartDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date startTime = sdf.parse(updateStartDate);
if (parseUpdateTime.compareTo(startTime) >= 0) {
return true;
}
} catch (ParseException e) {
e.printStackTrace();
}
} else if (StringUtils.isBlank(pagerQuery.getUpdateStartDate()) && StringUtils.isNotBlank(pagerQuery.getUpdateEndDate())) {
String updateEndDate = pagerQuery.getUpdateEndDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date endTime = sdf.parse(updateEndDate);
if (parseUpdateTime.compareTo(endTime) <= 0) {
return true;
}
} catch (ParseException e) {
e.printStackTrace();
}
} else {
String updateStartDate = pagerQuery.getUpdateStartDate();
String updateEndDate = pagerQuery.getUpdateEndDate();
try {
Date parseUpdateTime = sdf.parse(v.getUpdateDate());
Date endTime = sdf.parse(updateEndDate);
Date startTime = sdf.parse(updateStartDate);
if (parseUpdateTime.compareTo(endTime) <= 0 && parseUpdateTime.compareTo(startTime) >= 0) {
return true;
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
return false;
}
}).collect(Collectors.toList());
}
if (!records.isEmpty()) { if (!records.isEmpty()) {
List<RepaymentStatisticsVo> lastList = this.pageBySubList(records, (int) pq.getSize(), (int) pq.getCurrent()); List<RepaymentStatisticsVo> lastList = this.pageBySubList(records, (int) pq.getSize(), (int) pq.getCurrent());
pagerVo.setRecords(lastList); pagerVo.setRecords(lastList);

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

@ -14,6 +14,7 @@ import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformatio
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
@ -37,4 +38,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
List<MonRepayPeriodDetails> periodDetails(String saleVehSid); List<MonRepayPeriodDetails> periodDetails(String saleVehSid);
List<LoanRepaymentPlanDetails> planList(); List<LoanRepaymentPlanDetails> planList();
int updateTime(@Param("bankName")String bankName,@Param("updateTime") Date updateTime,@Param("useOrgSid") String useOrgSid);
} }

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

@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsMapper"> <mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsMapper">
<update id="updateTime">
UPDATE loan_repayment_plan_details
SET updateTime = #{updateTime}
WHERE bankName = #{bankName}
and useOrgSid = #{useOrgSid};
</update>
<delete id="deletePlanDetails"> <delete id="deletePlanDetails">
DELETE DELETE
FROM loan_repayment_plan_details FROM loan_repayment_plan_details
@ -31,8 +37,7 @@
</select> </select>
<select id="details" resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayDetails"> <select id="details" resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayDetails">
SELECT SELECT lrpd.useOrgName,
lrpd.useOrgName,
lrpd.dept, lrpd.dept,
lrpd.staffName, lrpd.staffName,
RIGHT (lrpd.`vinNo`, 8) AS vinNo, RIGHT (lrpd.`vinNo`, 8) AS vinNo,
@ -61,7 +66,9 @@
ON lrpd.busVinSid = lr.saleVehSid ON lrpd.busVinSid = lr.saleVehSid
LEFT JOIN anrui_crm.`crm_customer_temp` ct LEFT JOIN anrui_crm.`crm_customer_temp` ct
ON lrpd.customerSid = ct.sid ON lrpd.customerSid = ct.sid
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE() WHERE DATE_FORMAT(lrpd.dueDate
, '%Y-%m-%d')
&lt; CURDATE()
AND lrpd.busVinSid = #{saleVehSid} AND lrpd.busVinSid = #{saleVehSid}
GROUP BY lrpd.`sid` GROUP BY lrpd.`sid`
HAVING (notRepaidMoney > 0) HAVING (notRepaidMoney > 0)
@ -70,27 +77,22 @@
</select> </select>
<select id="periodDetails" resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayPeriodDetails"> <select id="periodDetails" resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayPeriodDetails">
SELECT SELECT lrpd.period,
lrpd.period,
lrpd.dueMoney, lrpd.dueMoney,
SUM(IFNULL(lrh.actualMoney, 0)) AS receiptMoney, SUM(IFNULL(lrh.actualMoney, 0)) AS receiptMoney,
( (
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0)) lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS notRepaidMoney ) AS notRepaidMoney
FROM FROM `loan_repayment_plan_details` lrpd
`loan_repayment_plan_details` lrpd
LEFT JOIN `loan_repayment_history` lrh LEFT JOIN `loan_repayment_history` lrh
ON lrh.planDetailSid = lrpd.`sid` ON lrh.planDetailSid = lrpd.`sid`
LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv
ON lrpd.busVinSid = bv.sid ON lrpd.busVinSid = bv.sid
LEFT JOIN LEFT JOIN
(SELECT (SELECT saleVehSid,
saleVehSid,
createTime createTime
FROM FROM loan_be_collection_record
loan_be_collection_record ORDER BY createTime DESC LIMIT 1) lr
ORDER BY createTime DESC
LIMIT 1) lr
ON lrpd.busVinSid = lr.saleVehSid ON lrpd.busVinSid = lr.saleVehSid
LEFT JOIN anrui_crm.`crm_customer_temp` ct LEFT JOIN anrui_crm.`crm_customer_temp` ct
ON lrpd.customerSid = ct.sid ON lrpd.customerSid = ct.sid
@ -102,6 +104,8 @@
</select> </select>
<select id="planList" resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails"> <select id="planList" resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails">
select * from anrui_riskcenter.loan_repayment_plan_details where paymentMoney>0 select *
from anrui_riskcenter.loan_repayment_plan_details
where paymentMoney > 0
</select> </select>
</mapper> </mapper>

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

@ -111,4 +111,8 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public List<LoanRepaymentPlanDetails> planList() { public List<LoanRepaymentPlanDetails> planList() {
return baseMapper.planList(); return baseMapper.planList();
} }
public int updateTime(String bankName, Date updateTime,String useOrgSid) {
return baseMapper.updateTime(bankName,updateTime,useOrgSid);
}
} }

136
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java

@ -2,6 +2,7 @@ package com.yxt.anrui.riskcenter.biz.loantransferpaymentapply;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.math.Money;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -9,6 +10,10 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank;
import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBankFeign;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign;
import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
@ -48,14 +53,17 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery; import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -88,6 +96,10 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
private FlowTaskFeign flowTaskFeign; private FlowTaskFeign flowTaskFeign;
@Autowired @Autowired
private MessageFeign messageFeign; private MessageFeign messageFeign;
@Autowired
private FinPaymentrecordFeign finPaymentrecordFeign;
@Autowired
private FinManufacturerBankFeign finManufacturerBankFeign;
public ResultBean<LoanTransferPaymentApplyInit> paymentInit(String[] sids) { public ResultBean<LoanTransferPaymentApplyInit> paymentInit(String[] sids) {
ResultBean<LoanTransferPaymentApplyInit> rb = ResultBean.fireFail(); ResultBean<LoanTransferPaymentApplyInit> rb = ResultBean.fireFail();
@ -584,6 +596,10 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
baseMapper.updateById(apply); baseMapper.updateById(apply);
List<LoanTransferPaymentRecord> loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(businessSid); List<LoanTransferPaymentRecord> loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(businessSid);
if (!loanTransferPaymentRecords.isEmpty()) { if (!loanTransferPaymentRecords.isEmpty()) {
String payFormKey = apply.getPayFormKey(); //01按资方合同编号单笔付款/02按收款账号合并付款
//按照合同号合并付款
Map<String, BigDecimal> map = new HashMap<>();
Set<String> setConOrNumber = new HashSet<>();
for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) { for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) {
LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid());
if (null != repaymentHistory) { if (null != repaymentHistory) {
@ -591,6 +607,126 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
repaymentHistory.setPaymentState("已转付"); repaymentHistory.setPaymentState("已转付");
repaymentHistory.setTransferDate(new DateTime()); repaymentHistory.setTransferDate(new DateTime());
loanRepaymentHistoryService.updateById(repaymentHistory); loanRepaymentHistoryService.updateById(repaymentHistory);
//推送转付还款记录
LoanRepaymentHistory transfer = new LoanRepaymentHistory();
transfer.setScheduleSid(repaymentHistory.getScheduleSid());
transfer.setPlanDetailSid(repaymentHistory.getPlanDetailSid());
transfer.setReturnWay("转付");
transfer.setReturnWayKey("03");
transfer.setActualDate(new Date());
transfer.setDataTime(new DateTime());
transfer.setBuckleKey("001");
transfer.setBuckle("未申请");
transfer.setUpdateState("1");
transfer.setUpdateTime(new DateTime());
BigDecimal money = new BigDecimal(2);
if (null != applyRecord.getTransferPrincipal()) {
money = applyRecord.getTransferPrincipal();
}
if (null != applyRecord.getDefaultInterest()) {
money = applyRecord.getDefaultInterest().add(money);
}
String amount = String.valueOf(money);
transfer.setActualMoney(new BigDecimal("-" + amount));
loanRepaymentHistoryService.insert(transfer);
}
if (payFormKey.equals("01")) {
if (StringUtils.isNotBlank(applyRecord.getBankContractNo())) {
setConOrNumber.add(applyRecord.getBankContractNo());
}
} else if (payFormKey.equals("02")) {
if (StringUtils.isNotBlank(applyRecord.getAccountNumber())) {
setConOrNumber.add(applyRecord.getAccountNumber());
}
}
}
if (!setConOrNumber.isEmpty()) {
for (String c : setConOrNumber) {
BigDecimal decimal = new BigDecimal(0);
List<LoanTransferPaymentRecord> collect = loanTransferPaymentRecords.stream().filter(new Predicate<LoanTransferPaymentRecord>() {
@Override
public boolean test(LoanTransferPaymentRecord r) {
if (payFormKey.equals("01")) {
if (StringUtils.isNotBlank(r.getBankContractNo())) {
if (c.equals(r.getBankContractNo())) {
return true;
}
}
} else if (payFormKey.equals("02")) {
if (StringUtils.isNotBlank(r.getAccountNumber())) {
if (c.equals(r.getAccountNumber())) {
return true;
}
}
}
return false;
}
}).collect(Collectors.toList());
for (LoanTransferPaymentRecord p : collect) {
BigDecimal a = new BigDecimal(0);
BigDecimal b = new BigDecimal(0);
if (null != p.getTransferPrincipal()) {
a = p.getTransferPrincipal();
}
if (null != p.getDefaultInterest()) {
b = p.getDefaultInterest();
}
decimal = a.add(b).add(decimal);
}
map.put(c, decimal);
}
if (!map.isEmpty()) {
for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
FinPaymentrecordDto payDto = new FinPaymentrecordDto();
payDto.setBusSid(apply.getSid());
payDto.setCreateBySid(apply.getCreateBySid());
payDto.setCost(entry.getValue().intValue());
payDto.setAccountsReceive(entry.getValue().intValue());
payDto.setCostTitleKey("008");
payDto.setCostTitleValue("月还");
payDto.setCostTypeKey("006");
payDto.setCostTypeValue("月还代收");
if (StringUtils.isNotBlank(apply.getPayRemarks())) {
payDto.setBusRemarks(apply.getPayRemarks());
}
payDto.setUseOrgSid(apply.getUseOrgSid());
payDto.setCreateOrgSid(apply.getUseOrgSid());
List<LoanTransferPaymentRecord> collect = loanTransferPaymentRecords.stream().filter(new Predicate<LoanTransferPaymentRecord>() {
@Override
public boolean test(LoanTransferPaymentRecord r) {
if (payFormKey.equals("01")) {
if (StringUtils.isNotBlank(r.getBankContractNo())) {
if (entry.getKey().equals(r.getBankContractNo())) {
return true;
}
}
} else if (payFormKey.equals("02")) {
if (StringUtils.isNotBlank(r.getAccountNumber())) {
if (entry.getKey().equals(r.getAccountNumber())) {
return true;
}
}
}
return false;
}
}).collect(Collectors.toList());
if (!collect.isEmpty()) {
LoanTransferPaymentRecord paymentRecord = collect.get(0);
if (StringUtils.isNotBlank(paymentRecord.getAccountNumber())) {
payDto.setReceiveBankAccount(paymentRecord.getAccountNumber());
FinManufacturerBank bank = finManufacturerBankFeign.selOneByBankNo(paymentRecord.getAccountNumber(), apply.getUseOrgSid()).getData();
if (null != bank) {
if (StringUtils.isNotBlank(bank.getDepositBank())) {
payDto.setReceiveBank(bank.getDepositBank());
}
}
}
if (StringUtils.isNotBlank(paymentRecord.getAccount())) {
payDto.setReceiveCompany(paymentRecord.getAccount());
}
}
finPaymentrecordFeign.save(payDto);
}
} }
} }
} }

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml

@ -10,9 +10,9 @@
</delete> </delete>
<select id="selByMainSid" <select id="selByMainSid"
resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord"> resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord">
select * select r.*
FROM loan_transfer_payment_record FROM loan_transfer_payment_record as r
WHERE mainSid = #{mainSid} WHERE r.mainSid = #{mainSid}
</select> </select>
<select id="selByBankContractNo" <select id="selByBankContractNo"
resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord"> resultType="com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord">

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordDto.java

@ -89,8 +89,8 @@ public class AppBeCollectionRecordDto implements Dto {
private String taskHandMeasuresValue; private String taskHandMeasuresValue;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remarks; private String remarks;
@ApiModelProperty("逾期车辆列表")
private List<AppBeCollectionRecordVehInit> appBeCollectionRecordVehInitList;
@ApiModelProperty("催收附件") @ApiModelProperty("催收附件")
private List<String> files = new ArrayList<>(); private List<String> files = new ArrayList<>();
@ApiModelProperty("销售订单车辆sid")
private List<String> saleVehSids;
} }

43
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordInit.java

@ -3,6 +3,7 @@ package com.yxt.anrui.terminal.api.risk.becollection;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Data @Data
@ -18,4 +19,46 @@ public class AppBeCollectionRecordInit {
private String spouseMobile; private String spouseMobile;
@ApiModelProperty("逾期车辆列表") @ApiModelProperty("逾期车辆列表")
private List<AppBeCollectionRecordVehInit> appBeCollectionRecordVehInitList; private List<AppBeCollectionRecordVehInit> appBeCollectionRecordVehInitList;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("催收方式key")
private String collectionTypeKey;
@ApiModelProperty("催收方式value")
private String collectionTypeValue;
@ApiModelProperty("定位坐标")
private String location;
@ApiModelProperty("定位具体位置")
private String locationStr;
@ApiModelProperty("催收结果key")
private String collectionResultKey;
@ApiModelProperty("催收结果value")
private String collectionResultValue;
@ApiModelProperty("联系人key")
private String contactsKey;
@ApiModelProperty("联系人value")
private String contactsValue;
@ApiModelProperty("逾期原因")
private String beReason;
@ApiModelProperty("是否正常运营key")
private String isNormalOperKey;
@ApiModelProperty("是否正常运营value")
private String isNormalOperValue;
@ApiModelProperty("承诺还款日期")
private String promRepayDate;
@ApiModelProperty("承诺还款金额")
private String promRepayMoney;
@ApiModelProperty("预处理措施key")
private String taskHandMeasuresKey;
@ApiModelProperty("预处理措施value")
private String taskHandMeasuresValue;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("催收附件")
private List<String> files = new ArrayList<>();
@ApiModelProperty("协议书模板下载地址")
private String xysDownLoadUrl = "D:\\anrui\\upload\\template\\协议书模板.pdf";
} }

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordVehInit.java

@ -1,6 +1,7 @@
package com.yxt.anrui.terminal.api.risk.becollection; package com.yxt.anrui.terminal.api.risk.becollection;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.terminal.api.risk.loanhomevisitinvestigate.AppLoanHomeVisitVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -9,18 +10,24 @@ import java.util.Date;
@Data @Data
public class AppBeCollectionRecordVehInit { public class AppBeCollectionRecordVehInit {
@ApiModelProperty("销售订单车辆sid")
private String vinSid;
@ApiModelProperty("车架号") @ApiModelProperty("车架号")
private String vinNo; private String vinNo;
@ApiModelProperty("车牌号") @ApiModelProperty("车牌号")
private String carNum; private String carNum;
@ApiModelProperty("客户及电话")
private String custNameAndPhone;
@ApiModelProperty("实际还款人及电话")
private String reaRepaymentNameAndPhone;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("资方") @ApiModelProperty("资方")
private String bankName; private String bankName;
@ApiModelProperty("客户名称")
private String cusName;
@ApiModelProperty("联系电话")
private String cusPhone;
@ApiModelProperty("实际还款人")
private String reaRepaymentName;
@ApiModelProperty("实际还款人电话")
private String reaRepaymentPhone;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("首次逾期日期") @ApiModelProperty("首次逾期日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date firstBeDate; private Date firstBeDate;
@ -37,8 +44,8 @@ public class AppBeCollectionRecordVehInit {
private String kpglSid; private String kpglSid;
@ApiModelProperty("月还明细sid") @ApiModelProperty("月还明细sid")
private String yhmxSid; private String yhmxSid;
@ApiModelProperty("金融方案sid")
private String jrfaSid;
@ApiModelProperty("家访考察sid") @ApiModelProperty("家访考察sid")
private String jfkcSid; private String jfkcSid;
@ApiModelProperty("金融方案详情页面")
private AppLoanHomeVisitVo jrfa;
} }

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeOverdueVehVo.java

@ -38,4 +38,6 @@ public class AppBeOverdueVehVo implements Vo {
private String riskStaffUserName; private String riskStaffUserName;
@ApiModelProperty("远程控制状态") @ApiModelProperty("远程控制状态")
private String lockCarState; private String lockCarState;
@ApiModelProperty("是否显示催收日期")
private Boolean showCs = false;
} }

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java

@ -38,7 +38,7 @@ public interface BeCollectionFeign {
public ResultBean<AppBePadsincereApplyDetailsVo> padsincereDetail(@PathVariable("sid") String sid); public ResultBean<AppBePadsincereApplyDetailsVo> padsincereDetail(@PathVariable("sid") String sid);
@ApiOperation("初始化实际还款人") @ApiOperation("初始化实际还款人")
@PostMapping("/initReaRepayment") @GetMapping("/initReaRepayment")
public ResultBean<AppReaRepaymentVo> initReaRepayment(@RequestParam("saleVehSid") String saleVehSid); public ResultBean<AppReaRepaymentVo> initReaRepayment(@RequestParam("saleVehSid") String saleVehSid);
@ApiOperation("维护实际还款人") @ApiOperation("维护实际还款人")

34
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java

@ -433,6 +433,9 @@ public class BeCollectionService {
appBeOverdueVehVo.setBeOverdueMoney(record.getBeOverdueMoney()); appBeOverdueVehVo.setBeOverdueMoney(record.getBeOverdueMoney());
appBeOverdueVehVo.setBeOverdueMoneyAndPeriod(record.getBeOverdueMoneyAndPeriod()); appBeOverdueVehVo.setBeOverdueMoneyAndPeriod(record.getBeOverdueMoneyAndPeriod());
appBeOverdueVehVo.setCreateTime(record.getCreateTime()); appBeOverdueVehVo.setCreateTime(record.getCreateTime());
if (record.getCreateTime() != null){
appBeOverdueVehVo.setShowCs(true);
}
appBeOverdueVehVo.setRiskStaffUserName(record.getRiskStaffUserName()); appBeOverdueVehVo.setRiskStaffUserName(record.getRiskStaffUserName());
appBeOverdueVehVo.setLockCarState(record.getLockCarState()); appBeOverdueVehVo.setLockCarState(record.getLockCarState());
appBeOverdueVehVoList.add(appBeOverdueVehVo); appBeOverdueVehVoList.add(appBeOverdueVehVo);
@ -466,12 +469,15 @@ public class BeCollectionService {
List<AppBeCollectionRecordVehInit> appBeCollectionRecordVehInits = new ArrayList<>(); List<AppBeCollectionRecordVehInit> appBeCollectionRecordVehInits = new ArrayList<>();
for (LoanBeCollectionRecordVehInit loanBeCollectionRecordVehInit : loanBeCollectionRecordVehInitList) { for (LoanBeCollectionRecordVehInit loanBeCollectionRecordVehInit : loanBeCollectionRecordVehInitList) {
AppBeCollectionRecordVehInit appBeCollectionRecordVehInit = new AppBeCollectionRecordVehInit(); AppBeCollectionRecordVehInit appBeCollectionRecordVehInit = new AppBeCollectionRecordVehInit();
appBeCollectionRecordVehInit.setVinSid(loanBeCollectionRecordVehInit.getSaleVehSid());
appBeCollectionRecordVehInit.setVinNo(loanBeCollectionRecordVehInit.getVinNo()); appBeCollectionRecordVehInit.setVinNo(loanBeCollectionRecordVehInit.getVinNo());
appBeCollectionRecordVehInit.setCarNum(loanBeCollectionRecordVehInit.getCarNum()); appBeCollectionRecordVehInit.setCarNum(loanBeCollectionRecordVehInit.getCarNum());
appBeCollectionRecordVehInit.setCustNameAndPhone(loanBeCollectionRecordVehInit.getCustNameAndPhone()); appBeCollectionRecordVehInit.setCusName(loanBeCollectionRecordVehInit.getCustName());
appBeCollectionRecordVehInit.setReaRepaymentNameAndPhone(loanBeCollectionRecordVehInit.getReaRepaymentNameAndPhone()); appBeCollectionRecordVehInit.setCusPhone(loanBeCollectionRecordVehInit.getCustPhone());
appBeCollectionRecordVehInit.setLoanContractNo(loanBeCollectionRecordVehInit.getLoanContractNo()); appBeCollectionRecordVehInit.setReaRepaymentName(loanBeCollectionRecordVehInit.getReaRepaymentName());
appBeCollectionRecordVehInit.setReaRepaymentPhone(loanBeCollectionRecordVehInit.getReaRepaymentPhone());
appBeCollectionRecordVehInit.setBankName(loanBeCollectionRecordVehInit.getBankName()); appBeCollectionRecordVehInit.setBankName(loanBeCollectionRecordVehInit.getBankName());
appBeCollectionRecordVehInit.setLoanName(loanBeCollectionRecordVehInit.getLoanName());
appBeCollectionRecordVehInit.setFirstBeDate(loanBeCollectionRecordVehInit.getFirstBeDate()); appBeCollectionRecordVehInit.setFirstBeDate(loanBeCollectionRecordVehInit.getFirstBeDate());
appBeCollectionRecordVehInit.setBeOverduePeriod(loanBeCollectionRecordVehInit.getBeOverduePeriod()); appBeCollectionRecordVehInit.setBeOverduePeriod(loanBeCollectionRecordVehInit.getBeOverduePeriod());
appBeCollectionRecordVehInit.setBeOverdueMoney(loanBeCollectionRecordVehInit.getBeOverdueMoney()); appBeCollectionRecordVehInit.setBeOverdueMoney(loanBeCollectionRecordVehInit.getBeOverdueMoney());
@ -479,18 +485,25 @@ public class BeCollectionService {
appBeCollectionRecordVehInit.setCsjlSid(loanBeCollectionRecordVehInit.getSaleVehSid()); appBeCollectionRecordVehInit.setCsjlSid(loanBeCollectionRecordVehInit.getSaleVehSid());
List<LoanBeCollectionVehFile> sids = loanBeCollectionRecordVehInit.getSids(); List<LoanBeCollectionVehFile> sids = loanBeCollectionRecordVehInit.getSids();
for (LoanBeCollectionVehFile loanBeCollectionVehFile : sids) { for (LoanBeCollectionVehFile loanBeCollectionVehFile : sids) {
if ("催收记录".equals(loanBeCollectionVehFile.getName())) {
appBeCollectionRecordVehInit.setCsjlSid(loanBeCollectionVehFile.getSid());
}
if ("开票信息".equals(loanBeCollectionVehFile.getName())){ if ("开票信息".equals(loanBeCollectionVehFile.getName())){
appBeCollectionRecordVehInit.setKpglSid(loanBeCollectionVehFile.getSid()); appBeCollectionRecordVehInit.setKpglSid(loanBeCollectionVehFile.getSid());
} }
if ("月还明细".equals(loanBeCollectionVehFile.getName())){ if ("月还明细".equals(loanBeCollectionVehFile.getName())){
appBeCollectionRecordVehInit.setYhmxSid(loanBeCollectionVehFile.getSid()); appBeCollectionRecordVehInit.setYhmxSid(loanBeCollectionVehFile.getSid());
} }
if ("金融方案".equals(loanBeCollectionVehFile.getName())){
appBeCollectionRecordVehInit.setJrfaSid(loanBeCollectionVehFile.getSid());
}
if ("家访考察报告".equals(loanBeCollectionVehFile.getName())){ if ("家访考察报告".equals(loanBeCollectionVehFile.getName())){
appBeCollectionRecordVehInit.setJfkcSid(loanBeCollectionVehFile.getSid()); appBeCollectionRecordVehInit.setJfkcSid(loanBeCollectionVehFile.getSid());
} }
if ("金融方案".equals(loanBeCollectionVehFile.getName())) {
LoanSolutions loanSolutions = loanSolutionsFeign.fetchBySid(loanBeCollectionVehFile.getSid()).getData();
CarModelVo finPage1 = commonService.getLoanSolution(loanSolutions.getSalesOrderSid()).getData();
AppLoanHomeVisitVo finPage2 = new AppLoanHomeVisitVo();
BeanUtil.copyProperties(finPage1, finPage2);
appBeCollectionRecordVehInit.setJrfa(finPage2);
}
} }
appBeCollectionRecordVehInits.add(appBeCollectionRecordVehInit); appBeCollectionRecordVehInits.add(appBeCollectionRecordVehInit);
} }
@ -524,7 +537,6 @@ public class BeCollectionService {
loanBeCollectionRecordDto.setTaskHandMeasuresKey(dto.getTaskHandMeasuresKey()); loanBeCollectionRecordDto.setTaskHandMeasuresKey(dto.getTaskHandMeasuresKey());
loanBeCollectionRecordDto.setTaskHandMeasuresValue(dto.getTaskHandMeasuresValue()); loanBeCollectionRecordDto.setTaskHandMeasuresValue(dto.getTaskHandMeasuresValue());
loanBeCollectionRecordDto.setOrgPath(dto.getOrgPath()); loanBeCollectionRecordDto.setOrgPath(dto.getOrgPath());
loanBeCollectionRecordDto.setSaleVehSids(dto.getSaleVehSids());
List<String> files = dto.getFiles(); List<String> files = dto.getFiles();
List<LoanBeCollectionRecordFile> loanBeCollectionRecordFiles = new ArrayList<>(); List<LoanBeCollectionRecordFile> loanBeCollectionRecordFiles = new ArrayList<>();
if (files != null && files.size() > 0) { if (files != null && files.size() > 0) {
@ -535,6 +547,14 @@ public class BeCollectionService {
} }
} }
loanBeCollectionRecordDto.setLoanBeCollectionRecordFileList(loanBeCollectionRecordFiles); loanBeCollectionRecordDto.setLoanBeCollectionRecordFileList(loanBeCollectionRecordFiles);
List<AppBeCollectionRecordVehInit> appBeCollectionRecordVehInitList = dto.getAppBeCollectionRecordVehInitList();
List<LoanBeCollectionRecordVehInit> loanBeCollectionRecordVehInits = new ArrayList<>();
for (AppBeCollectionRecordVehInit appBeCollectionRecordVehInit : appBeCollectionRecordVehInitList) {
LoanBeCollectionRecordVehInit loanBeCollectionRecordVehInit = new LoanBeCollectionRecordVehInit();
loanBeCollectionRecordVehInit.setSaleVehSid(appBeCollectionRecordVehInit.getVinSid());
loanBeCollectionRecordVehInits.add(loanBeCollectionRecordVehInit);
}
loanBeCollectionRecordDto.setLoanBeCollectionRecordVehInitList(loanBeCollectionRecordVehInits);
loanBeCollectionRecordFeign.save(loanBeCollectionRecordDto); loanBeCollectionRecordFeign.save(loanBeCollectionRecordDto);
return rb.success(); return rb.success();
} }

Loading…
Cancel
Save