|
|
@ -99,6 +99,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffsDto; |
|
|
|
import com.yxt.anrui.riskcenter.api.loandiffdetails.LoanDiffDetailssDto; |
|
|
@ -123,6 +124,8 @@ import com.yxt.anrui.riskcenter.api.loansettleapply.SettleFinVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehDetailsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehFeign; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDto; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVehDto; |
|
|
@ -234,6 +237,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
private SysMappingFeign sysMappingFeign; |
|
|
|
@Autowired |
|
|
|
private LoanRestoreReportApplyFeign loanRestoreReportApplyFeign; |
|
|
|
@Autowired |
|
|
|
private LoanVehClearanceVehFeign loanVehClearanceVehFeign; |
|
|
|
@Autowired |
|
|
|
private LoanBeCollectionVehFeign loanBeCollectionVehFeign; |
|
|
|
|
|
|
|
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
@ -1488,7 +1495,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
if (params != null) { |
|
|
|
if (StringUtils.isNotBlank(orgPath)) { |
|
|
|
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); |
|
|
|
staffDeptSid =orgPath.substring(orgPath.lastIndexOf("/") + 1); |
|
|
|
staffDeptSid = orgPath.substring(orgPath.lastIndexOf("/") + 1); |
|
|
|
} else { |
|
|
|
useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData(); |
|
|
|
} |
|
|
@ -1498,8 +1505,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
if (StringUtils.isNotBlank(userSid)) { |
|
|
|
qw.eq("furd.createBySid", userSid); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(staffDeptSid)){ |
|
|
|
qw.eq("furd.staffDeptSid",staffDeptSid); |
|
|
|
if (StringUtils.isNotBlank(staffDeptSid)) { |
|
|
|
qw.eq("furd.staffDeptSid", staffDeptSid); |
|
|
|
} |
|
|
|
if (params.getSidList().size() > 0) { |
|
|
|
qw.notIn("furd.sid", params.getSidList()); |
|
|
@ -4027,8 +4034,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
paymentMoney = planDetails.getPaymentMoney(); |
|
|
|
} |
|
|
|
if (paymentMoney.compareTo(BigDecimal.ZERO) == 0) { |
|
|
|
//存在未终止的垫款申请,且不存在垫款应收
|
|
|
|
int count = baseMapper.selBeVehCountByBusVinSidAndPeriod(planDetails.getBusVinSid(),planDetails.getPeriod()); |
|
|
|
//存在未终止的垫款申请,且不存在垫款应收
|
|
|
|
int count = baseMapper.selBeVehCountByBusVinSidAndPeriod(planDetails.getBusVinSid(), planDetails.getPeriod()); |
|
|
|
if (count > 0) { |
|
|
|
return rb.setMsg("存在未支付垫款数据,认款失败!"); |
|
|
|
} |
|
|
@ -4341,6 +4348,15 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
|
|
|
|
confirmation.setPaymentState(3); |
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
//修改控制状态
|
|
|
|
FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo = finSelectedReceivablesDetailedService.fetchKzfByCillSid(confirmation.getSid()); |
|
|
|
if (finSelectedReceivablesDetailedVo != null) { |
|
|
|
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = finUncollectedReceivablesDetailedJRService.fetchBySid(finSelectedReceivablesDetailedVo.getReceivablesSid()); |
|
|
|
List<LoanVehClearanceVehDetailsVo> data = loanVehClearanceVehFeign.selByMainSid(finUncollectedReceivablesDetailedJR.getApplySid()).getData(); |
|
|
|
for (LoanVehClearanceVehDetailsVo datum : data) { |
|
|
|
loanBeCollectionVehFeign.updateLockState(datum.getSaleVehSid(), "3", "4"); |
|
|
|
} |
|
|
|
} |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
SimpleDateFormat sdfTimes = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
String collectionDate = confirmation.getCollectionDate(); |
|
|
@ -4382,7 +4398,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//----------------------------------------------------------
|
|
|
|
//--------------------------推送赎回款---二次销售收款
|
|
|
|
Voucher voucher = new Voucher(); |
|
|
|
if(organizationVo != null){ |
|
|
|
if (organizationVo != null) { |
|
|
|
voucher.setAccountBook(organizationVo.getOrgCode()); |
|
|
|
voucher.setVoucherNo(organizationVo.getOrgCode()); |
|
|
|
} |
|
|
@ -4672,7 +4688,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
confirmation.setConfirmDate(DateUtil.today()); |
|
|
|
confirmation.setConfirmNameSid(userSid); |
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
pushToRiskToFin(confirmation,finSelectedReceivablesDetailedVos,collectionDate,voucher); |
|
|
|
pushToRiskToFin(confirmation, finSelectedReceivablesDetailedVos, collectionDate, voucher); |
|
|
|
//推送凭证业务
|
|
|
|
if (!generalVoucherDetails.isEmpty()) { |
|
|
|
generalVoucher.setVoucherDetails(generalVoucherDetails); |
|
|
@ -4689,12 +4705,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
collectionAfterVoucher.setVoucherDetails(collectionAfterVoucherDetails); |
|
|
|
finKingDeeFeignRest.saveFeeVoucher(collectionAfterVoucher); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return rb.success().setMsg("款项确认成功"); |
|
|
|
} |
|
|
|
|
|
|
|
private void pushToRiskToFin(FinCollectionConfirmation finalConfirmation, List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVoList, String collectionDate,Voucher voucher) { |
|
|
|
private void pushToRiskToFin(FinCollectionConfirmation finalConfirmation, List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVoList, String collectionDate, Voucher voucher) { |
|
|
|
List<Voucher.VoucherResultDetailDto> list = new ArrayList<>(); |
|
|
|
List<Voucher.VoucherResultDetailDto> list2 = new ArrayList<>(); |
|
|
|
BigDecimal all = BigDecimal.ZERO;//赎回
|
|
|
@ -4713,7 +4727,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(finalConfirmation.getCreateDeptSid()).getData(); |
|
|
|
String customerNumber = ""; |
|
|
|
for (int i = 0; i <finSelectedReceivablesDetailedVoList.size() ; i++) { |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVoList.size(); i++) { |
|
|
|
FinSelectedReceivablesDetailedVo v = finSelectedReceivablesDetailedVoList.get(i); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(v.getReceivablesSid()); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(finUncollectedReceivablesDetailed.getBusVinSid()).getData(); |
|
|
@ -4755,10 +4769,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
customerNumber = busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
} |
|
|
|
if("9".equals(busSalesOrderVehicle.getRiskState().toString())){//赎回中-赎回凭证
|
|
|
|
if ("9".equals(busSalesOrderVehicle.getRiskState().toString())) {//赎回中-赎回凭证
|
|
|
|
////营业费用_催收费用 上门催收费用--收回车辆费用(赎回通过后推送的费用)
|
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); |
|
|
|
if("收回车辆费用".equals(v.getReceivablesName())){ |
|
|
|
if ("收回车辆费用".equals(v.getReceivablesName())) { |
|
|
|
all = all.add(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
voucherResultDetailDtoJf2.setSummary("收款-赎回费用"); |
|
|
|
voucherResultDetailDtoJf2.setSubjectNo("6601.32.05"); |
|
|
@ -4771,7 +4785,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
//预提费用 待确认逾期利息 待确认途期利息--资金占用费转收入
|
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto(); |
|
|
|
if("资金占用费".equals(v.getReceivablesName())){//借方
|
|
|
|
if ("资金占用费".equals(v.getReceivablesName())) {//借方
|
|
|
|
voucherResultDetailDtoJf3.setSummary("资金占用费转收入"); |
|
|
|
voucherResultDetailDtoJf3.setSubjectNo("2191.05.00"); |
|
|
|
//核算部门
|
|
|
@ -4783,7 +4797,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
//应收贷款车欠款_待处理欠款_扣回车辆--月还/资方逾期利息
|
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); |
|
|
|
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())){ |
|
|
|
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { |
|
|
|
all = all.add(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
voucherResultDetailDtoDf.setSummary("收款-赎回款"); |
|
|
|
voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); |
|
|
@ -4797,7 +4811,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
//应收贷款车欠款_到期欠款_逾期利息--资金占用费
|
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); |
|
|
|
if("资金占用费".equals(v.getReceivablesName())){ |
|
|
|
if ("资金占用费".equals(v.getReceivablesName())) { |
|
|
|
all = all.add(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
voucherResultDetailDtoDf2.setSummary("收款-赎回款"); |
|
|
|
voucherResultDetailDtoDf2.setSubjectNo("1201.02.03"); |
|
|
@ -4810,7 +4824,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
//资金占用费转收入--其他业务收入_消贷收入_消贷利息
|
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto(); |
|
|
|
if("资金占用费".equals(v.getReceivablesName())){//贷方
|
|
|
|
if ("资金占用费".equals(v.getReceivablesName())) {//贷方
|
|
|
|
voucherResultDetailDtoDf3.setSummary("资金占用费转收入"); |
|
|
|
voucherResultDetailDtoDf3.setSubjectNo("6002.01.17"); |
|
|
|
//核算部门
|
|
|
@ -4820,9 +4834,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
voucherResultDetailDtoDf3.setCredit(v.getSubscriptionMoney()); |
|
|
|
list.add(voucherResultDetailDtoDf3); |
|
|
|
} |
|
|
|
}else if("10".equals(busSalesOrderVehicle.getRiskState().toString())){//二次销售中-二次销售凭证
|
|
|
|
} else if ("10".equals(busSalesOrderVehicle.getRiskState().toString())) {//二次销售中-二次销售凭证
|
|
|
|
|
|
|
|
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())){ |
|
|
|
if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); |
|
|
|
all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
voucherResultDetailDtoDf.setSummary("***扣回车辆再次销售款"); |
|
|
@ -4835,7 +4849,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
list2.add(voucherResultDetailDtoDf); |
|
|
|
} |
|
|
|
|
|
|
|
if("资金占用费".equals(v.getReceivablesName())){ |
|
|
|
if ("资金占用费".equals(v.getReceivablesName())) { |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); |
|
|
|
all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
voucherResultDetailDtoDf2.setSummary("***扣回车辆再次销售款"); |
|
|
@ -4848,7 +4862,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
list2.add(voucherResultDetailDtoDf2); |
|
|
|
} |
|
|
|
|
|
|
|
if("预计资方结清费用".equals(v.getReceivablesName())){ |
|
|
|
if ("预计资方结清费用".equals(v.getReceivablesName())) { |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto(); |
|
|
|
all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
voucherResultDetailDtoDf3.setSummary("**扣回车辆再次销售-资方结清费用"); |
|
|
@ -4861,7 +4875,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
list2.add(voucherResultDetailDtoDf3); |
|
|
|
} |
|
|
|
|
|
|
|
if("停车费".equals(v.getReceivablesName())){ |
|
|
|
if ("停车费".equals(v.getReceivablesName())) { |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); |
|
|
|
all2 = all2.subtract(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
voucherResultDetailDtoJf2.setSummary("**扣回车辆再次销售-停车费"); |
|
|
@ -4873,15 +4887,15 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
voucherResultDetailDtoJf2.setDebit(new BigDecimal(v.getSubscriptionMoney()).negate().toString()); |
|
|
|
list2.add(voucherResultDetailDtoJf2); |
|
|
|
} |
|
|
|
if("车辆违章费用".equals(v.getReceivablesName()) || "年检费".equals(v.getReceivablesName()) || |
|
|
|
if ("车辆违章费用".equals(v.getReceivablesName()) || "年检费".equals(v.getReceivablesName()) || |
|
|
|
"保险费".equals(v.getReceivablesName()) || "过户费".equals(v.getReceivablesName()) |
|
|
|
){ |
|
|
|
) { |
|
|
|
otherMoney = otherMoney.add(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//客户赎回收款
|
|
|
|
if(all.compareTo(BigDecimal.ZERO)>0){ |
|
|
|
if (all.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); |
|
|
|
if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) { |
|
|
|
voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum()); |
|
|
@ -4892,7 +4906,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
list.add(voucherResultDetailDtoJf); |
|
|
|
} |
|
|
|
|
|
|
|
if(otherMoney.compareTo(BigDecimal.ZERO)>0){ |
|
|
|
if (otherMoney.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); |
|
|
|
all2 = all2.subtract(otherMoney); |
|
|
|
voucherResultDetailDtoJf2.setSummary("**扣回车辆再次销售-费用(违章、年检、保险、过户)"); |
|
|
@ -4904,7 +4918,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
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(); |
|
|
|
if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) { |
|
|
|
voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum()); |
|
|
@ -4915,11 +4929,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
list2.add(voucherResultDetailDtoJf); |
|
|
|
} |
|
|
|
|
|
|
|
if(!list.isEmpty()){ |
|
|
|
if (!list.isEmpty()) { |
|
|
|
voucher.setResultDetails(list); |
|
|
|
finKingDeeFeignRest.saveVoucher(voucher); |
|
|
|
} |
|
|
|
if(list2.isEmpty()){ |
|
|
|
if (list2.isEmpty()) { |
|
|
|
voucher.setResultDetails(list2); |
|
|
|
finKingDeeFeignRest.saveVoucher(voucher); |
|
|
|
} |
|
|
@ -4990,7 +5004,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//--收款-赎回款(yyyy-MM-dd)
|
|
|
|
BigDecimal all = new BigDecimal(v.getSubscriptionMoney()); |
|
|
|
if (all.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
voucherResultDetailDtoJf.setSummary("收款-赎回款"+"(" + collectionDate + ")"); |
|
|
|
voucherResultDetailDtoJf.setSummary("收款-赎回款" + "(" + collectionDate + ")"); |
|
|
|
voucherResultDetailDtoJf.setSubjectNo(payType); |
|
|
|
voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum()); |
|
|
|
voucherResultDetailDtoJf.setDebit(all.toString()); |
|
|
@ -5029,7 +5043,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
BigDecimal allM = BigDecimal.ZERO; |
|
|
|
allM = all.subtract(zjzyfMoney); |
|
|
|
if(allM.compareTo(BigDecimal.ZERO)>0){ |
|
|
|
if (allM.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
voucherResultDetailDtoDf2.setSummary("收款-赎回款"); |
|
|
|
voucherResultDetailDtoDf2.setSubjectNo("1201.03.01"); |
|
|
|
//核算部门
|
|
|
@ -6222,7 +6236,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
for (AppFinSelectedReceivablesDetailedRskDto v : finSelectedReceivablesDetailedDtos) { |
|
|
|
String loanContractNo = v.getLoanContractNo(); |
|
|
|
String vinNo = v.getVin(); |
|
|
|
if (!v.getProjectName().equals("远程控制费")){ |
|
|
|
if (!v.getProjectName().equals("远程控制费")) { |
|
|
|
List<AppFinUncollectedReceivablesDetailedRskVo> ruleList = finUncollectedReceivablesDetailedJRService.getRskPaymentDetailsListForRule(loanContractNo, vinNo, finCollectionConfirmation.getUseOrgSid(), finCollectionConfirmation.getPurchaseSystemSid()); |
|
|
|
if (!ruleList.isEmpty()) { |
|
|
|
for (AppFinUncollectedReceivablesDetailedRskVo r : ruleList) { |
|
|
|