Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java
zhanglei
ligaode 2 weeks ago
parent
commit
2d37b24c25
  1. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java
  2. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java
  3. 831
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  4. 506
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java
  5. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java
  6. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java
  8. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java

@ -93,7 +93,7 @@ public class BusSalesOrderVehicle extends BaseEntity {
private String vehMark; private String vehMark;
@ApiModelProperty("结清申请提交时间") @ApiModelProperty("结清申请提交时间")
private Date settleApplyDate; private Date settleApplyDate;
//风控状态(0正常,1交回,2赎回,3转租,4不追偿,5处置损失,6亏损立案,7亏损执行,8亏损结案、9赎回中,10 二次销售中、11转租中 //风控状态(0正常,1交回,2赎回,3转租,4赎回中、5二次销售中、6转租中、7处置损失、8不追偿、9未交回立案、10交回立案、11亏损立案、12执行、13诉讼结案、14执行结案
@ApiModelProperty("风控状态") @ApiModelProperty("风控状态")
private Integer riskState; private Integer riskState;
//是否生成资金占用费(1生成,0不生成.默认生成,交回后改为不生成,若赎回改为生成) //是否生成资金占用费(1生成,0不生成.默认生成,交回后改为不生成,若赎回改为生成)

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java

@ -203,4 +203,9 @@ public class BusSalesOrderVehicleFeignFallback implements BusSalesOrderVehicleFe
return null; return null;
} }
@Override
public List<BusSalesOrderVehicle> selectListBySid(List<String> busVinSidList) {
return null;
}
} }

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

@ -4726,10 +4726,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
List<Voucher.VoucherResultDetailDto> list2 = new ArrayList<>(); List<Voucher.VoucherResultDetailDto> list2 = new ArrayList<>();
List<Voucher.VoucherResultDetailDto> list3 = new ArrayList<>(); List<Voucher.VoucherResultDetailDto> list3 = new ArrayList<>();
List<Voucher.VoucherResultDetailDto> list4 = new ArrayList<>(); List<Voucher.VoucherResultDetailDto> list4 = new ArrayList<>();
List<Voucher.VoucherResultDetailDto> list5 = new ArrayList<>();
BigDecimal all = BigDecimal.ZERO;//赎回 BigDecimal all = BigDecimal.ZERO;//赎回
BigDecimal all2 = BigDecimal.ZERO;//二次销售 BigDecimal all2 = BigDecimal.ZERO;//二次销售
BigDecimal all3 = BigDecimal.ZERO;//亏损立案 BigDecimal all3 = BigDecimal.ZERO;//亏损立案
BigDecimal all4 = BigDecimal.ZERO;//亏损立案 BigDecimal all4 = BigDecimal.ZERO;//未交回立案
BigDecimal all5 = BigDecimal.ZERO;//执行
BigDecimal otherMoney = BigDecimal.ZERO; BigDecimal otherMoney = BigDecimal.ZERO;
String payType = ""; String payType = "";
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(finalConfirmation.getCollectionTypeKey(), "payVoucherType").getData(); DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(finalConfirmation.getCollectionTypeKey(), "payVoucherType").getData();
@ -4796,11 +4798,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} else { } else {
customerNumber = busSalesOrderVehicle.getTemporaryNo(); customerNumber = busSalesOrderVehicle.getTemporaryNo();
} }
if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString()) || "11".equals(busSalesOrderVehicle.getRiskState().toString())) {//赎回中-赎回凭证--交回--转租中 if ("4".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString()) || "11".equals(busSalesOrderVehicle.getRiskState().toString())) {//赎回中-赎回凭证--交回--转租中
////营业费用_催收费用 上门催收费用--收回车辆费用(赎回通过后推送的费用) ////营业费用_催收费用 上门催收费用--收回车辆费用(赎回通过后推送的费用)
if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){ if ("4".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
if ("收回车辆费用".equals(v.getReceivablesName())) { if ("收回车辆费用".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
all = all.add(new BigDecimal(v.getSubscriptionMoney())); all = all.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoJf2.setSummary("收款-赎回费用"); voucherResultDetailDtoJf2.setSummary("收款-赎回费用");
voucherResultDetailDtoJf2.setSubjectNo("6601.32.05"); voucherResultDetailDtoJf2.setSubjectNo("6601.32.05");
@ -4813,8 +4815,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
} }
//预提费用 待确认逾期利息 待确认途期利息--资金占用费转收入 //预提费用 待确认逾期利息 待确认途期利息--资金占用费转收入
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto();
if ("资金占用费".equals(v.getReceivablesName())) {//借方 if ("资金占用费".equals(v.getReceivablesName())) {//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf3.setSummary("资金占用费转收入"); voucherResultDetailDtoJf3.setSummary("资金占用费转收入");
voucherResultDetailDtoJf3.setSubjectNo("2191.05.00"); voucherResultDetailDtoJf3.setSubjectNo("2191.05.00");
//核算部门 //核算部门
@ -4825,8 +4827,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
list.add(voucherResultDetailDtoJf3); list.add(voucherResultDetailDtoJf3);
} }
//资金占用费转收入--其他业务收入_消贷收入_消贷利息 //资金占用费转收入--其他业务收入_消贷收入_消贷利息
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto();
if ("资金占用费".equals(v.getReceivablesName())) {//贷方 if ("资金占用费".equals(v.getReceivablesName())) {//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf3.setSummary("资金占用费转收入"); voucherResultDetailDtoDf3.setSummary("资金占用费转收入");
voucherResultDetailDtoDf3.setSubjectNo("6002.01.17"); voucherResultDetailDtoDf3.setSubjectNo("6002.01.17");
//核算部门 //核算部门
@ -4837,10 +4839,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
list.add(voucherResultDetailDtoDf3); list.add(voucherResultDetailDtoDf3);
} }
//应收贷款车欠款_待处理欠款_扣回车辆--月还/资方逾期利息 //应收贷款车欠款_待处理欠款_扣回车辆--月还/资方逾期利息
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all = all.add(new BigDecimal(v.getSubscriptionMoney())); all = all.add(new BigDecimal(v.getSubscriptionMoney()));
if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){ if ("4".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){
voucherResultDetailDtoDf.setSummary("收款-赎回款"); voucherResultDetailDtoDf.setSummary("收款-赎回款");
}else{ }else{
voucherResultDetailDtoDf.setSummary("收款-转租款"); voucherResultDetailDtoDf.setSummary("收款-转租款");
@ -5026,12 +5028,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
} }
} }
//应收贷款车欠款_到期欠款_逾期利息--资金占用费 //应收贷款车欠款_到期欠款_逾期利息--资金占用费
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto();
if ("资金占用费".equals(v.getReceivablesName())) { if ("资金占用费".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto();
all = all.add(new BigDecimal(v.getSubscriptionMoney())); all = all.add(new BigDecimal(v.getSubscriptionMoney()));
if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){ if ("4".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){
voucherResultDetailDtoDf2.setSummary("收款-赎回款"); voucherResultDetailDtoDf2.setSummary("收款-赎回款");
}else{ }else{
voucherResultDetailDtoDf2.setSummary("收款-转租款"); voucherResultDetailDtoDf2.setSummary("收款-转租款");
@ -5045,7 +5046,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
list.add(voucherResultDetailDtoDf2); list.add(voucherResultDetailDtoDf2);
} }
} else if ("10".equals(busSalesOrderVehicle.getRiskState().toString())) {//二次销售中-二次销售凭证 } else if ("5".equals(busSalesOrderVehicle.getRiskState().toString())) {//二次销售中-二次销售凭证
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
@ -5274,8 +5275,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
) { ) {
otherMoney = otherMoney.add(new BigDecimal(v.getSubscriptionMoney())); otherMoney = otherMoney.add(new BigDecimal(v.getSubscriptionMoney()));
} }
}else if("6".equals(busSalesOrderVehicle.getRiskState().toString())){//亏损立案 }else if("11".equals(busSalesOrderVehicle.getRiskState().toString())){//亏损立案
if("诉讼费".equals(v.getReceivablesName())){ if("诉讼保全".equals(v.getReceivablesName()) || "诉讼费用".equals(v.getReceivablesName())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all3 = all3.add(new BigDecimal(v.getSubscriptionMoney())); all3 = all3.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary(customerNumber+"诉讼回款诉讼费"); voucherResultDetailDtoDf.setSummary(customerNumber+"诉讼回款诉讼费");
@ -5320,86 +5321,731 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
list3.add(voucherResultDetailDtoDfZjzyf); list3.add(voucherResultDetailDtoDfZjzyf);
} }
//ToDo:应收贷款车欠款_待处理欠款_处置车辆_已诉讼 //ToDo:应收贷款车欠款_待处理欠款_处置车辆_已诉讼
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all3 = all3.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary(customerNumber+"诉讼回款");
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.02");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list3.add(voucherResultDetailDtoDf);
if("月还".equals(v.getReceivablesName())){
//推送间还认款记录
LoanRepaymentHistory historyEntity = new LoanRepaymentHistory();
historyEntity.setPlanDetailSid(planSid);
historyEntity.setScheduleSid(planDetails.getScheduleSid());
historyEntity.setSkdBillNo(finalConfirmation.getBillNo());
historyEntity.setUpdateTime(new DateTime());
historyEntity.setUpdateState("1");
historyEntity.setDataTime(new DateTime());
historyEntity.setBuckle("审核通过");
historyEntity.setBuckleKey("003");
historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney()));
historyEntity.setReturnWay("间还");
historyEntity.setReturnWayKey("02");
if (null != planDetails.getPaymentMoney()) {
if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) {
BigDecimal paymentMoney = planDetails.getPaymentMoney();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
String orderSid = planDetails.getSalesOrderSid();
String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData();
String bankSid = "";
String scheduleSid = planDetails.getScheduleSid();
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData();
if (isOther.equals("0")) {
if (StringUtils.isNotBlank(schedule.getBankSid())) {
bankSid = schedule.getBankSid();
}
} else if (isOther.equals("1")) {
if (StringUtils.isNotBlank(schedule.getOtherBankSid())) {
bankSid = schedule.getOtherBankSid();
}
}
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
if (loanFinBank.getReAdvances() == 1) {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(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 if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
}
} else {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
}
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
}else{
if (null != planDetails.getPaymentInterest()) {
if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) {
BigDecimal paymentInterest = planDetails.getPaymentInterest();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentInterest(subtract);
BigDecimal paymentMoney = planDetails.getPaymentMoney();
BigDecimal subtract2 = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract2);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
String orderSid = planDetails.getSalesOrderSid();
String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData();
String bankSid = "";
String scheduleSid = planDetails.getScheduleSid();
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData();
if (isOther.equals("0")) {
if (StringUtils.isNotBlank(schedule.getBankSid())) {
bankSid = schedule.getBankSid();
}
} else if (isOther.equals("1")) {
if (StringUtils.isNotBlank(schedule.getOtherBankSid())) {
bankSid = schedule.getOtherBankSid();
}
}
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
if (loanFinBank.getReAdvances() == 1) {
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(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 if("7".equals(busSalesOrderVehicle.getRiskState().toString())){//亏损执行 }else if("9".equals(busSalesOrderVehicle.getRiskState().toString())){//未交回立案
if("诉讼费".equals(v.getReceivablesName())){ //---------应收贷款车欠款_待处理欠款_诉讼车辆
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all4 = all4.add(new BigDecimal(v.getSubscriptionMoney())); all4 = all4.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary(customerNumber+"执行回款诉讼费"); voucherResultDetailDtoDf.setSummary(customerNumber+"诉讼回款");
voucherResultDetailDtoDf.setSubjectNo("2191.25"); voucherResultDetailDtoDf.setSubjectNo("1201.03.03");
//核算部门 //核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户 //核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber); voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney()); voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list4.add(voucherResultDetailDtoDf); list4.add(voucherResultDetailDtoDf);
if("月还".equals(v.getReceivablesName())){
} //推送间还认款记录
if("资金占用费".equals(v.getReceivablesName())){ LoanRepaymentHistory historyEntity = new LoanRepaymentHistory();
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); historyEntity.setPlanDetailSid(planSid);
all4 = all4.add(new BigDecimal(v.getSubscriptionMoney())); historyEntity.setScheduleSid(planDetails.getScheduleSid());
voucherResultDetailDtoDf2.setSummary(customerNumber+"执行回款-资金占用费"); historyEntity.setSkdBillNo(finalConfirmation.getBillNo());
voucherResultDetailDtoDf2.setSubjectNo("1201.02.02"); historyEntity.setUpdateTime(new DateTime());
//核算部门 historyEntity.setUpdateState("1");
voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); historyEntity.setDataTime(new DateTime());
//核算客户 historyEntity.setBuckle("审核通过");
voucherResultDetailDtoDf2.setDimensionCustom(customerNumber); historyEntity.setBuckleKey("003");
voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney()); historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney()));
list4.add(voucherResultDetailDtoDf2); historyEntity.setReturnWay("间还");
//------------------------资金占用费转收入 historyEntity.setReturnWayKey("02");
Voucher.VoucherResultDetailDto voucherResultDetailDtoJfZjzyf = new Voucher.VoucherResultDetailDto(); if (null != planDetails.getPaymentMoney()) {
voucherResultDetailDtoJfZjzyf.setSummary("资金占用费转收入"); if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) {
voucherResultDetailDtoJfZjzyf.setSubjectNo("2191.05.00"); BigDecimal paymentMoney = planDetails.getPaymentMoney();
//核算部门 String subscriptionMoney = v.getSubscriptionMoney();
voucherResultDetailDtoJfZjzyf.setDimensionDept(deptVo.getOrgCode()); BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
//核算客户 planDetails.setPaymentMoney(subtract);
voucherResultDetailDtoJfZjzyf.setDimensionCustom(customerNumber); loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
voucherResultDetailDtoJfZjzyf.setDebit(v.getSubscriptionMoney()); String orderSid = planDetails.getSalesOrderSid();
list4.add(voucherResultDetailDtoJfZjzyf); String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData();
//资金占用费转收入--其他业务收入_消贷收入_消贷利息 String bankSid = "";
Voucher.VoucherResultDetailDto voucherResultDetailDtoDfZjzyf = new Voucher.VoucherResultDetailDto(); String scheduleSid = planDetails.getScheduleSid();
voucherResultDetailDtoDfZjzyf.setSummary("资金占用费转收入"); LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData();
voucherResultDetailDtoDfZjzyf.setSubjectNo("6002.01.19"); if (isOther.equals("0")) {
//核算部门 if (StringUtils.isNotBlank(schedule.getBankSid())) {
voucherResultDetailDtoDfZjzyf.setDimensionDept(deptVo.getOrgCode()); bankSid = schedule.getBankSid();
//核算客户 }
voucherResultDetailDtoDfZjzyf.setDimensionCustom(customerNumber); } else if (isOther.equals("1")) {
voucherResultDetailDtoDfZjzyf.setCredit(v.getSubscriptionMoney()); if (StringUtils.isNotBlank(schedule.getOtherBankSid())) {
list4.add(voucherResultDetailDtoDfZjzyf); bankSid = schedule.getOtherBankSid();
} }
//ToDo:多收款转收入 }
//TodO:应收贷款车欠款_待处理欠款_待执行 ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid);
if (bankResultBean.getData() != null) {
} LoanFinBank loanFinBank = bankResultBean.getData();
} if (null != loanFinBank.getReAdvances()) {
if (loanFinBank.getReAdvances() == 1) {
} try {
//客户赎回收款 Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
if (all.compareTo(BigDecimal.ZERO) > 0) { historyEntity.setActualDate(collDate);
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); if (planDetails.getDueDate().compareTo(collDate) > 0) {
if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) { //未逾期
voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum()); Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
} cal_1.setTime(planDetails.getDueDate());
voucherResultDetailDtoJf.setSubjectNo(payType); cal_1.add(Calendar.DAY_OF_MONTH, -1);
voucherResultDetailDtoJf.setSummary("收款-"+finalConfirmation.getPayerName() + "(" + collectionDate + ")"); historyEntity.setPrepareDate(cal_1.getTime());
voucherResultDetailDtoJf.setDebit(String.valueOf(all)); } else {
list.add(voucherResultDetailDtoJf); //已逾期
} historyEntity.setPrepareDate(new DateTime());
}
if (otherMoney.compareTo(BigDecimal.ZERO) > 0) { } catch (ParseException e) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); e.printStackTrace();
all2 = all2.add(otherMoney); }
voucherResultDetailDtoJf2.setSummary(customerNumber+"扣回车辆再次销售-费用(违章、年检、保险、过户)"); historyEntity.setPaymentState("待转付");
voucherResultDetailDtoJf2.setSubjectNo("1133.10.00"); historyEntity.setPaymentStateKey("001");
//核算部门 FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); jr.setCreateBySid(userSid);
//核算客户 SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); jr.setCreateByName(userVo.getName());
voucherResultDetailDtoJf2.setDebit(otherMoney.negate().toString()); jr.setBusSid(planSid);
list2.add(voucherResultDetailDtoJf2); jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
} jr.setReveivableMoney(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 if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
}
} else {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
}
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
}else{
if (null != planDetails.getPaymentInterest()) {
if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) {
BigDecimal paymentInterest = planDetails.getPaymentInterest();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentInterest(subtract);
BigDecimal paymentMoney = planDetails.getPaymentMoney();
BigDecimal subtract2 = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract2);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
String orderSid = planDetails.getSalesOrderSid();
String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData();
String bankSid = "";
String scheduleSid = planDetails.getScheduleSid();
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData();
if (isOther.equals("0")) {
if (StringUtils.isNotBlank(schedule.getBankSid())) {
bankSid = schedule.getBankSid();
}
} else if (isOther.equals("1")) {
if (StringUtils.isNotBlank(schedule.getOtherBankSid())) {
bankSid = schedule.getOtherBankSid();
}
}
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
if (loanFinBank.getReAdvances() == 1) {
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(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);
}
}
}
}
}
}
}
//---------预提费用_诉讼保全费
if("诉讼保全费".equals(v.getReceivablesName()) || "诉讼费用".equals(v.getReceivablesName())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all4 = all4.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary(customerNumber+"诉讼回款诉讼费");
voucherResultDetailDtoDf.setSubjectNo("2191.25");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list4.add(voucherResultDetailDtoDf);
}
//---------营业费用_催收费用 评估费/律师费
if("律师费".equals(v.getReceivablesName())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
all4 = all4.subtract(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoJf.setSummary(customerNumber+"诉讼回款-律师费");
voucherResultDetailDtoJf.setSubjectNo("6601.32.06");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(new BigDecimal(v.getSubscriptionMoney()).negate().toString());
list4.add(voucherResultDetailDtoJf);
}
//--------应收贷款车欠款_到期欠款_逾期利息-资金占用费
if ("资金占用费".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto();
all4 = all4.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf2.setSummary(customerNumber+"诉讼回款资金占用费");
voucherResultDetailDtoDf2.setSubjectNo("1201.02.02");
//核算部门
voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney());
list4.add(voucherResultDetailDtoDf2);
//------------------------资金占用费转收入
Voucher.VoucherResultDetailDto voucherResultDetailDtoJfZjzyf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJfZjzyf.setSummary("资金占用费转收入");
voucherResultDetailDtoJfZjzyf.setSubjectNo("2191.05.00");
//核算部门
voucherResultDetailDtoJfZjzyf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJfZjzyf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJfZjzyf.setDebit(v.getSubscriptionMoney());
list4.add(voucherResultDetailDtoJfZjzyf);
//资金占用费转收入--其他业务收入_消贷收入_消贷利息
Voucher.VoucherResultDetailDto voucherResultDetailDtoDfZjzyf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDfZjzyf.setSummary("资金占用费转收入");
voucherResultDetailDtoDfZjzyf.setSubjectNo("6002.01.19");
//核算部门
voucherResultDetailDtoDfZjzyf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDfZjzyf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDfZjzyf.setCredit(v.getSubscriptionMoney());
list4.add(voucherResultDetailDtoDfZjzyf);
}
}else if("12".equals(busSalesOrderVehicle.getRiskState().toString())){//执行
if("诉讼保全费".equals(v.getReceivablesName()) || "诉讼费用".equals(v.getReceivablesName())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all5 = all5.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary(customerNumber+"执行回款诉讼费");
voucherResultDetailDtoDf.setSubjectNo("2191.25");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list5.add(voucherResultDetailDtoDf);
}
if("律师费".equals(v.getReceivablesName())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
all5 = all5.subtract(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoJf.setSummary(customerNumber+"执行回款-律师费");
voucherResultDetailDtoJf.setSubjectNo("6601.32.06");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(new BigDecimal(v.getSubscriptionMoney()).negate().toString());
list5.add(voucherResultDetailDtoJf);
}
if("资金占用费".equals(v.getReceivablesName())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto();
all5 = all5.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf2.setSummary(customerNumber+"执行回款-资金占用费");
voucherResultDetailDtoDf2.setSubjectNo("1201.02.02");
//核算部门
voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney());
list5.add(voucherResultDetailDtoDf2);
//------------------------资金占用费转收入
Voucher.VoucherResultDetailDto voucherResultDetailDtoJfZjzyf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJfZjzyf.setSummary("资金占用费转收入");
voucherResultDetailDtoJfZjzyf.setSubjectNo("2191.05.00");
//核算部门
voucherResultDetailDtoJfZjzyf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJfZjzyf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJfZjzyf.setDebit(v.getSubscriptionMoney());
list5.add(voucherResultDetailDtoJfZjzyf);
//资金占用费转收入--其他业务收入_消贷收入_消贷利息
Voucher.VoucherResultDetailDto voucherResultDetailDtoDfZjzyf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDfZjzyf.setSummary("资金占用费转收入");
voucherResultDetailDtoDfZjzyf.setSubjectNo("6002.01.19");
//核算部门
voucherResultDetailDtoDfZjzyf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDfZjzyf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDfZjzyf.setCredit(v.getSubscriptionMoney());
list5.add(voucherResultDetailDtoDfZjzyf);
}
//ToDo:多收款转收入
if("其他收入".equals(v.getReceivablesName())){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all5 = all5.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary("多收款转收入");
voucherResultDetailDtoDf.setSubjectNo("6002.01.21");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list5.add(voucherResultDetailDtoDf);
}
//TodO:应收贷款车欠款_待处理欠款_待执行
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
all5 = all5.add(new BigDecimal(v.getSubscriptionMoney()));
voucherResultDetailDtoDf.setSummary(customerNumber+"执行回款");
voucherResultDetailDtoDf.setSubjectNo("1201.03.05");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney());
list5.add(voucherResultDetailDtoDf);
if("月还".equals(v.getReceivablesName())){
//推送间还认款记录
LoanRepaymentHistory historyEntity = new LoanRepaymentHistory();
historyEntity.setPlanDetailSid(planSid);
historyEntity.setScheduleSid(planDetails.getScheduleSid());
historyEntity.setSkdBillNo(finalConfirmation.getBillNo());
historyEntity.setUpdateTime(new DateTime());
historyEntity.setUpdateState("1");
historyEntity.setDataTime(new DateTime());
historyEntity.setBuckle("审核通过");
historyEntity.setBuckleKey("003");
historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney()));
historyEntity.setReturnWay("间还");
historyEntity.setReturnWayKey("02");
if (null != planDetails.getPaymentMoney()) {
if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) {
BigDecimal paymentMoney = planDetails.getPaymentMoney();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
String orderSid = planDetails.getSalesOrderSid();
String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData();
String bankSid = "";
String scheduleSid = planDetails.getScheduleSid();
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData();
if (isOther.equals("0")) {
if (StringUtils.isNotBlank(schedule.getBankSid())) {
bankSid = schedule.getBankSid();
}
} else if (isOther.equals("1")) {
if (StringUtils.isNotBlank(schedule.getOtherBankSid())) {
bankSid = schedule.getOtherBankSid();
}
}
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
if (loanFinBank.getReAdvances() == 1) {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(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 if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
}
} else {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
if (planDetails.getDueDate().compareTo(collDate) > 0) {
//未逾期
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(planDetails.getDueDate());
cal_1.add(Calendar.DAY_OF_MONTH, -1);
historyEntity.setPrepareDate(cal_1.getTime());
} else {
//已逾期
historyEntity.setPrepareDate(new DateTime());
}
} catch (ParseException e) {
e.printStackTrace();
}
historyEntity.setPaymentState("待转付");
historyEntity.setPaymentStateKey("001");
}
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
}else{
if (null != planDetails.getPaymentInterest()) {
if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) {
BigDecimal paymentInterest = planDetails.getPaymentInterest();
String subscriptionMoney = v.getSubscriptionMoney();
BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentInterest(subtract);
BigDecimal paymentMoney = planDetails.getPaymentMoney();
BigDecimal subtract2 = paymentMoney.subtract(new BigDecimal(subscriptionMoney));
planDetails.setPaymentMoney(subtract2);
loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
String orderSid = planDetails.getSalesOrderSid();
String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData();
String bankSid = "";
String scheduleSid = planDetails.getScheduleSid();
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData();
if (isOther.equals("0")) {
if (StringUtils.isNotBlank(schedule.getBankSid())) {
bankSid = schedule.getBankSid();
}
} else if (isOther.equals("1")) {
if (StringUtils.isNotBlank(schedule.getOtherBankSid())) {
bankSid = schedule.getOtherBankSid();
}
}
ResultBean<LoanFinBank> bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid);
if (bankResultBean.getData() != null) {
LoanFinBank loanFinBank = bankResultBean.getData();
if (null != loanFinBank.getReAdvances()) {
if (loanFinBank.getReAdvances() == 1) {
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
jr.setCreateByName(userVo.getName());
jr.setBusSid(planSid);
jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney()));
jr.setReveivableMoney(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);
}
}
}
}
}
}
}
}
}
}
//客户赎回收款
if (all.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) {
voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum());
}
voucherResultDetailDtoJf.setSubjectNo(payType);
voucherResultDetailDtoJf.setSummary("收款-"+finalConfirmation.getPayerName() + "(" + collectionDate + ")");
voucherResultDetailDtoJf.setDebit(String.valueOf(all));
list.add(voucherResultDetailDtoJf);
}
if (otherMoney.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
all2 = all2.add(otherMoney);
voucherResultDetailDtoJf2.setSummary(customerNumber+"扣回车辆再次销售-费用(违章、年检、保险、过户)");
voucherResultDetailDtoJf2.setSubjectNo("1133.10.00");
//核算部门
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf2.setDebit(otherMoney.negate().toString());
list2.add(voucherResultDetailDtoJf2);
}
if (all2.compareTo(BigDecimal.ZERO) > 0) { if (all2.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) { if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) {
@ -5428,10 +6074,21 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
voucherResultDetailDtoJf.setSubjectNo(payType); voucherResultDetailDtoJf.setSubjectNo(payType);
voucherResultDetailDtoJf.setSummary("收款" +finalConfirmation.getPayerName()+ "(" + collectionDate + ")"); voucherResultDetailDtoJf.setSummary("收款" +finalConfirmation.getPayerName()+ "(" + collectionDate + ")");
voucherResultDetailDtoJf.setDebit(String.valueOf(all3)); voucherResultDetailDtoJf.setDebit(String.valueOf(all4));
list4.add(voucherResultDetailDtoJf); list4.add(voucherResultDetailDtoJf);
} }
if (all5.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) {
voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum());
}
voucherResultDetailDtoJf.setSubjectNo(payType);
voucherResultDetailDtoJf.setSummary("收款" +finalConfirmation.getPayerName()+ "(" + collectionDate + ")");
voucherResultDetailDtoJf.setDebit(String.valueOf(all5));
list5.add(voucherResultDetailDtoJf);
}
if (!list.isEmpty()) {//赎回收款(风控状态赎回中以及交回推送) if (!list.isEmpty()) {//赎回收款(风控状态赎回中以及交回推送)
voucher.setResultDetails(list); voucher.setResultDetails(list);
@ -5446,10 +6103,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finKingDeeFeignRest.saveVoucher(voucher); finKingDeeFeignRest.saveVoucher(voucher);
} }
if(!list4.isEmpty()){//执行后法院认款 if(!list4.isEmpty()){//未交回诉讼后法院认款
voucher.setResultDetails(list4); voucher.setResultDetails(list4);
finKingDeeFeignRest.saveVoucher(voucher); finKingDeeFeignRest.saveVoucher(voucher);
} }
if(!list5.isEmpty()){//执行后法院认款
voucher.setResultDetails(list5);
finKingDeeFeignRest.saveVoucher(voucher);
}
} }
//名义价其他费用推财务 //名义价其他费用推财务

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

@ -41,6 +41,7 @@ import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDe
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVinStateSetQuery;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
@ -67,6 +68,7 @@ import com.yxt.anrui.riskcenter.api.loancaseappealapply.flowable.SubmitLoanCaseA
import com.yxt.anrui.riskcenter.api.loancaseappealveh.LoanCaseAppealVehDetailsVo; import com.yxt.anrui.riskcenter.api.loancaseappealveh.LoanCaseAppealVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loancaseexecuteapply.*; import com.yxt.anrui.riskcenter.api.loancaseexecuteapply.*;
import com.yxt.anrui.riskcenter.api.loancaseexecuteapply.flowable.*; import com.yxt.anrui.riskcenter.api.loancaseexecuteapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVeh;
import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVehDetailsVo; import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVehDto; import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVehDto;
import com.yxt.anrui.riskcenter.api.loancaseprogress.LoanCaseProgress; import com.yxt.anrui.riskcenter.api.loancaseprogress.LoanCaseProgress;
@ -118,6 +120,240 @@ import java.util.stream.Collectors;
@Service @Service
public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExecuteApplyMapper, LoanCaseExecuteApply> { public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExecuteApplyMapper, LoanCaseExecuteApply> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private LoanCaseExecuteVehService loanCaseExecuteVehService;
@Autowired
private LoanCaseProgressService loanCaseProgressService;
@Autowired
private LoanCaseProgressTrialService loanCaseProgressTrialService;
@Autowired
private LoanCaseProgressVehService loanCaseProgressVehService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private LoanFileService loanFileService;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private FlowFeign flowFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanRestoreReportApplyService loanRestoreReportApplyService;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
public PagerVo<LoanCaseExecuteApplyVo> listPageVo(PagerQuery<LoanCaseExecuteApplyQuery> pq) {
LoanCaseExecuteApplyQuery query = pq.getParams();
QueryWrapper<LoanCaseExecuteApply> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid());
} else {
PagerVo<LoanCaseExecuteApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanCaseExecuteApplyVo> p = new PagerVo<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("useOrgName", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getDeptName())) {
qw.like("deptName", query.getDeptName());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("createByName", query.getCreateByName());
}
qw.apply(StringUtils.isNotBlank(query.getCreateStartTime()), "date_format (createTime,'%Y-%m-%d') >= date_format('" + query.getCreateStartTime() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateEndTime()), "date_format (createTime,'%Y-%m-%d') <= date_format('" + query.getCreateEndTime() + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getModifyStartTime()) && StringUtils.isNotBlank(query.getModifyEndTime())) {
qw.and(wrapper -> wrapper.eq("nodeState", "终止").or().eq("nodeState", "已办结"));
}
qw.apply(StringUtils.isNotBlank(query.getModifyStartTime()), "date_format (modifyTime,'%Y-%m-%d') >= date_format('" + query.getModifyStartTime() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getModifyEndTime()), "date_format (modifyTime,'%Y-%m-%d') <= date_format('" + query.getModifyEndTime() + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getLoanContract())){
qw.like("loanContract",query.getLoanContract());
}
if (StringUtils.isNotBlank(query.getCustomName())){
qw.like("customName",query.getCustomName());
}
if (StringUtils.isNotBlank(query.getLenderName())){
qw.like("lenderName",query.getLenderName());
}
if (StringUtils.isNotBlank(query.getExecuteDeadline())){
qw.like("executeDeadline",query.getExecuteDeadline());
}
if (StringUtils.isNotBlank(query.getExecuteRegisMoney())){
qw.like("executeRegisMoney",query.getExecuteRegisMoney());
}
qw.apply(StringUtils.isNotBlank(query.getExecuteRegisStartDate()), "date_format (executeRegisDate,'%Y-%m-%d') >= date_format('" + query.getExecuteRegisStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getExecuteRegisEndDate()), "date_format (executeRegisDate,'%Y-%m-%d') <= date_format('" + query.getExecuteRegisEndDate() + "','%Y-%m-%d')"
);
qw.orderByDesc("createTime");
IPage<LoanCaseExecuteApply> page = PagerUtil.queryToPage(pq);
IPage<LoanCaseExecuteApplyVo> pagging = baseMapper.selectPageVo(page, qw);
for (LoanCaseExecuteApplyVo record : pagging.getRecords()) {
if ("终止".equals(record.getNodeState()) || "已办结".equals(record.getNodeState())) {
DateTime modifyTime = DateUtil.parse(record.getModifyTime());
record.setModifyTime(DateUtil.formatDate(modifyTime));
} else {
record.setModifyTime("");
}
}
PagerVo<LoanCaseExecuteApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public String saveOrUpdateDto(LoanCaseExecuteApplyDto dto){
String dtoSid = dto.getSid();
List<LoanCaseExecuteFile> pjclFiles = dto.getPjclFiles();
List<LoanCaseExecuteFile> zxclFiles = dto.getZxclFiles();
List<LoanCaseExecuteVehDto> loanCaseExecuteVehList = dto.getLoanCaseExecuteVehList();
if (StringUtils.isBlank(dtoSid)) {
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
billNo = "AJZXLA" + sysOrganizationVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
dto.setBillNo(billNo);
String sid = this.insertByDto(dto);
for (LoanCaseExecuteVehDto loanCaseExecuteVehDto : loanCaseExecuteVehList) {
loanCaseExecuteVehDto.setMainSid(sid);
loanCaseExecuteVehService.saveOrUpdateDto(loanCaseExecuteVehDto);
}
if (pjclFiles != null && pjclFiles.size() > 0) {
for (LoanCaseExecuteFile file : pjclFiles) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(sid);
loanFile.setAttachType(LoanFileEnum.AJZXLA_JUDGMENT.getAttachType());
String filePath = file.getUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
loanFile.setFilePath(filePath);
loanFileService.save(loanFile);
}
}
if (zxclFiles != null && zxclFiles.size() > 0) {
for (LoanCaseExecuteFile file : zxclFiles) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(sid);
loanFile.setAttachType(LoanFileEnum.EXECUTE.getAttachType());
String filePath = file.getUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
loanFile.setFilePath(filePath);
loanFileService.save(loanFile);
}
}
return sid;
}
this.updateByDto(dto);
loanCaseExecuteVehService.delByMainSid(dtoSid);
for (LoanCaseExecuteVehDto loanCaseExecuteVehDto : loanCaseExecuteVehList) {
loanCaseExecuteVehDto.setSid("");
loanCaseExecuteVehDto.setMainSid(dtoSid);
loanCaseExecuteVehService.saveOrUpdateDto(loanCaseExecuteVehDto);
}
loanFileService.delByLinkSidOrType(dtoSid, LoanFileEnum.AJZXLA_JUDGMENT.getAttachType());
if (pjclFiles != null && pjclFiles.size() > 0) {
for (LoanCaseExecuteFile file : pjclFiles) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(dtoSid);
loanFile.setAttachType(LoanFileEnum.AJZXLA_JUDGMENT.getAttachType());
String filePath = file.getUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
loanFile.setFilePath(filePath);
loanFileService.save(loanFile);
}
}
loanFileService.delByLinkSidOrType(dtoSid, LoanFileEnum.EXECUTE.getAttachType());
if (zxclFiles != null && zxclFiles.size() > 0) {
for (LoanCaseExecuteFile file : zxclFiles) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(dtoSid);
loanFile.setAttachType(LoanFileEnum.EXECUTE.getAttachType());
String filePath = file.getUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
loanFile.setFilePath(filePath);
loanFileService.save(loanFile);
}
}
return dtoSid;
}
public String insertByDto(LoanCaseExecuteApplyDto dto){
LoanCaseExecuteApply entity = new LoanCaseExecuteApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setNodeState("待提交");
baseMapper.insert(entity);
return entity.getSid();
}
public void updateByDto(LoanCaseExecuteApplyDto dto){
String dtoSid = dto.getSid();
@Autowired @Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired @Autowired
@ -394,6 +630,46 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
vo.setZxclFiles(zxclFiles); vo.setZxclFiles(zxclFiles);
return vo; return vo;
} }
}
LoanCaseExecuteApply entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public LoanCaseExecuteApplyDetailsVo fetchDetailsVoBySid(String sid){
LoanCaseExecuteApply entity = fetchBySid(sid);
LoanCaseExecuteApplyDetailsVo vo = new LoanCaseExecuteApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<LoanCaseExecuteVehDetailsVo> loanCaseExecuteVehDetailsVoList = loanCaseExecuteVehService.selByMainSid(sid);
vo.setLoanCaseExecuteVehList(loanCaseExecuteVehDetailsVoList);
List<LoanFile> pjcl = loanFileService.selectByLinkSid(sid, LoanFileEnum.AJZXLA_JUDGMENT.getAttachType());
List<LoanCaseExecuteFile> pjclFiles = new ArrayList<>();
if (pjcl != null && pjcl.size() > 0) {
for (LoanFile loanFile : pjcl) {
LoanCaseExecuteFile loanCaseExecuteFile = new LoanCaseExecuteFile();
String filePath = loanFile.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
loanCaseExecuteFile.setUrl(filePath);
pjclFiles.add(loanCaseExecuteFile);
}
}
vo.setPjclFiles(pjclFiles);
List<LoanFile> zxcl = loanFileService.selectByLinkSid(sid, LoanFileEnum.ANSWERRELATE.getAttachType());
List<LoanCaseExecuteFile> zxclFiles = new ArrayList<>();
if (zxcl != null && zxcl.size() > 0) {
for (LoanFile loanFile : zxcl) {
LoanCaseExecuteFile loanCaseExecuteFile = new LoanCaseExecuteFile();
String filePath = loanFile.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
loanCaseExecuteFile.setUrl(filePath);
zxclFiles.add(loanCaseExecuteFile);
}
}
vo.setZxclFiles(zxclFiles);
return vo;
}
public ResultBean delAll(String[] sids) { public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
@ -562,6 +838,77 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
return rb.setMsg("操作失败!提交的数据不一致"); return rb.setMsg("操作失败!提交的数据不一致");
} }
} }
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
LoanCaseExecuteApply loanCaseExecuteApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
if (StringUtils.isBlank(loanCaseExecuteApply.getProcDefId())) {
flowProcessMapQuery.setProDefKey(bv.getModelId());
} else {
flowProcessMapQuery.setProDefKey(loanCaseExecuteApply.getProcDefId());
}
flowProcessMapQuery.setVariables(variables);
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
bv.setFormVariables(variables);
bv.setOrgSidPath(loanCaseExecuteApply.getOrgPath());
if (bv.getTaskId().equals(loanCaseExecuteApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
LoanCaseExecuteApply finalLoanCaseExecuteApply = loanCaseExecuteApply;
Future future1 = pool.submit(() -> {
//推送财务凭证
//TOdO:
pushRiskToFin(bv.getBusinessSid());
//修改风控状态为执行
//--更新销售订单车辆表的风控状态为执行
List<String> busVinSidList = loanCaseProgressVehService.selectByMainSid(finalLoanCaseExecuteApply.getBusSid());
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery();
busVinStateSetQuery.setState(12);
busVinStateSetQuery.setBusVinSidList(busVinSidList);
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
} else {
//极光推送
loanCaseExecuteApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(loanCaseExecuteApply.getProcDefId());
ufVo.setProcInsId(loanCaseExecuteApply.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("案件执行立案申请");
messageFlowableQuery.setMsgContent(loanCaseExecuteApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("案件执行立案申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public void pushRiskToFin(String sid) { public void pushRiskToFin(String sid) {
LoanCaseExecuteApply loanCaseExecuteApply = fetchBySid(sid); LoanCaseExecuteApply loanCaseExecuteApply = fetchBySid(sid);
@ -628,7 +975,156 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid); String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid);
String wdqMoney = loanRepaymentPlanDetailsService.getWdq(busVinSid); String wdqMoney = loanRepaymentPlanDetailsService.getWdq(busVinSid);
all = all.add(StringUtils.isNotBlank(allMoney) ? new BigDecimal(allMoney) : BigDecimal.ZERO).add(StringUtils.isNotBlank(wdqMoney) ? new BigDecimal(wdqMoney) : BigDecimal.ZERO); all = all.add(StringUtils.isNotBlank(allMoney) ? new BigDecimal(allMoney) : BigDecimal.ZERO).add(StringUtils.isNotBlank(wdqMoney) ? new BigDecimal(wdqMoney) : BigDecimal.ZERO);
public void pushRiskToFin(String sid){
LoanCaseExecuteApply loanCaseExecuteApply = fetchBySid(sid);
if(loanCaseExecuteApply != null){
Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanCaseExecuteApply.getUseOrgSid()).getData();
if (null != organizationVo) {
voucher.setAccountBook(organizationVo.getOrgCode());
voucher.setVoucherNo(organizationVo.getOrgCode());
}
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos2 = new ArrayList<>();
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanCaseExecuteApply.getDeptSid()).getData();
List<String> busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid());
for (int i = 0; i < busVinSidList.size(); i++) {
String busVinSid = busVinSidList.get(i);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
String customerNumber = "";
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
if (salesOrder != null && busSalesOrderVehicle != null) {
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) {
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
}
bdCustomer.setTOrgIds(deptVo.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
}
AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(busVinSid);
//应收贷款车欠款_待处理欠款_处置车辆_已诉讼-当前欠款合计--不含资金占用费
BigDecimal all = BigDecimal.ZERO;
//预申请坏账金额
BigDecimal ysqhz = BigDecimal.ZERO;
//其中执行欠款金额
BigDecimal qzzxqk = BigDecimal.ZERO;
String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid);
String wdqMoney = loanRepaymentPlanDetailsService.getWdq(busVinSid);
all = all.add(StringUtils.isNotBlank(allMoney)?new BigDecimal(allMoney):BigDecimal.ZERO).add(StringUtils.isNotBlank(wdqMoney)?new BigDecimal(wdqMoney):BigDecimal.ZERO);
if("11".equals(busSalesOrderVehicle.getRiskState().toString())){//亏损立案---二次销售后的诉讼后的执行
//-------------------------------------------应收贷款车欠款_待处理欠款_处置车辆_已诉讼-当前欠款合计
if (all.compareTo(BigDecimal.ZERO) > 0) {
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary(customerNumber+"转执行");
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.02");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(all.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
}
//---------------------------------------------待处理财产损溢 风险准备金(输入)-预申请坏账金额
if (ysqhz.compareTo(BigDecimal.ZERO) > 0) {
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary(customerNumber+"转执行");
voucherResultDetailDtoJf.setSubjectNo("1911.05");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(ysqhz.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf);
}
//--------------------------------------------应收贷款车欠款_待处理欠款_待执行-其中执行欠款金额
if (qzzxqk.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf2.setSummary(customerNumber+"转执行");
voucherResultDetailDtoJf2.setSubjectNo("1201.03.05");
//核算部门
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf2.setDebit(qzzxqk.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf2);
}
}
if("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "10".equals(busSalesOrderVehicle.getRiskState().toString())){
//未交回立案-交回立案后的执行
//-------------------------------------------应收贷款车欠款_待处理欠款_诉讼车辆
if (all.compareTo(BigDecimal.ZERO) > 0) {
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary(customerNumber+"转执行");
voucherResultDetailDtoDf.setSubjectNo("1201.03.03");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(all.toString());
voucherResultDetailDtos2.add(voucherResultDetailDtoDf);
}
//---------------------------------------------待处理财产损溢 风险准备金(输入)-预申请坏账金额
if (ysqhz.compareTo(BigDecimal.ZERO) > 0) {
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary(customerNumber+"转执行");
voucherResultDetailDtoJf.setSubjectNo("1911.05");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(ysqhz.toString());
voucherResultDetailDtos2.add(voucherResultDetailDtoJf);
}
//--------------------------------------------应收贷款车欠款_待处理欠款_待执行-其中执行欠款金额
if (qzzxqk.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf2.setSummary(customerNumber+"转执行");
voucherResultDetailDtoJf2.setSubjectNo("1201.03.05");
//核算部门
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf2.setDebit(qzzxqk.toString());
voucherResultDetailDtos2.add(voucherResultDetailDtoJf2);
}
}
}
//贷方 //贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
@ -677,6 +1173,16 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
finKingDeeFeign.saveVoucher(voucher); finKingDeeFeign.saveVoucher(voucher);
} }
} }
if (!voucherResultDetailDtos.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDtos);
finKingDeeFeign.saveVoucher(voucher);
}
if (!voucherResultDetailDtos2.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDtos2);
finKingDeeFeign.saveVoucher(voucher);
}
}
} }

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java

@ -674,9 +674,9 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostService.selectMainSu(loanOutboundApply.getApplySid()); LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostService.selectMainSu(loanOutboundApply.getApplySid());
if(loanSecondarySalesCost.getIsRecovery() != null){ if(loanSecondarySalesCost.getIsRecovery() != null){
if(loanSecondarySalesCost.getIsRecovery() == 0){//不追偿 if(loanSecondarySalesCost.getIsRecovery() == 0){//不追偿
busVinStateSetQuery.setState(4);//不追偿 busVinStateSetQuery.setState(8);//不追偿
}else{//追偿 }else{//追偿
busVinStateSetQuery.setState(5);//处置损失 busVinStateSetQuery.setState(7);//处置损失
} }
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java

@ -796,7 +796,7 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
//--更新销售订单车辆表的风控状态为客户赎回中 //--更新销售订单车辆表的风控状态为客户赎回中
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery(); BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery();
List<String> busVinSidList = redemptionVinLists.stream().map(v->v.getBusVinSid()).collect(Collectors.toList()); List<String> busVinSidList = redemptionVinLists.stream().map(v->v.getBusVinSid()).collect(Collectors.toList());
busVinStateSetQuery.setState(9);//客户赎回中 busVinStateSetQuery.setState(4);//客户赎回中
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
//--------更新风控状态结束 //--------更新风控状态结束
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = new FinUncollectedReceivablesDetailedJR(); FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = new FinUncollectedReceivablesDetailedJR();

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java

@ -559,7 +559,7 @@ public class LoanSecondarySalesApplyService extends MybatisBaseService<LoanSecon
//--更新销售订单车辆表的风控状态为二次销售中 //--更新销售订单车辆表的风控状态为二次销售中
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery(); BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery();
List<String> busVinSidList = list.stream().map(v->v.getBusVinSid()).collect(Collectors.toList()); List<String> busVinSidList = list.stream().map(v->v.getBusVinSid()).collect(Collectors.toList());
busVinStateSetQuery.setState(10);//二次销售中 busVinStateSetQuery.setState(5);//二次销售中
ResultBean resultBeanss = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); ResultBean resultBeanss = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
//--------更新风控状态结束 //--------更新风控状态结束

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java

@ -702,7 +702,7 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
//--更新销售订单车辆表的风控状态为二次转租中 //--更新销售订单车辆表的风控状态为二次转租中
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery(); BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery();
List<String> busVinSidList = subletVinLists.stream().map(v->v.getBusVinSid()).collect(Collectors.toList()); List<String> busVinSidList = subletVinLists.stream().map(v->v.getBusVinSid()).collect(Collectors.toList());
busVinStateSetQuery.setState(11);//二次转租中 busVinStateSetQuery.setState(6);//二次转租中
ResultBean resultBeanss = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); ResultBean resultBeanss = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
try { try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()

Loading…
Cancel
Save