|
|
@ -29,14 +29,10 @@ import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.google.common.util.concurrent.ThreadFactoryBuilder; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; |
|
|
|
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; |
|
|
|
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateFeign; |
|
|
@ -45,67 +41,36 @@ import com.yxt.anrui.base.api.commonappendix.*; |
|
|
|
import com.yxt.anrui.base.api.commoncontract.CommonContract; |
|
|
|
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign; |
|
|
|
import com.yxt.anrui.base.common.enums.BillTypeEnum; |
|
|
|
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.base.common.utils.domain.BillNo; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplication; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplicationFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busbilltrailer.BusBillTrailerFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busbilltrailer.BusBillTrailerVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicleFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicleVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.BusDelivered; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredDto; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeposit.AppBusDepositBuscenterDetailVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeposit.BusDepositFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDepositInfoVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderModelInfoVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFiling; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingFeign; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.*; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.*; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinSelectDto; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.FinCollectionConfirmationRskDto; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.FinCollectionConfirmationRskVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.FinSelectedReceivablesDetailedRsk; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.*; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CapitalCreditResult; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CwSystemYT; |
|
|
|
import com.yxt.anrui.fin.biz.finbillapplication.FinBillApplicationService; |
|
|
|
import com.yxt.anrui.fin.biz.finbilltrailer.FinBillTrailerService; |
|
|
|
import com.yxt.anrui.fin.biz.finbillvehicle.FinBillVehicleService; |
|
|
|
import com.yxt.anrui.fin.biz.fincompanyinvoicing.FinCompanyInvoicingService; |
|
|
|
import com.yxt.anrui.fin.biz.finfundscarriedforwardveh.FinFundsCarriedForwardVehService; |
|
|
|
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; |
|
|
|
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService; |
|
|
|
import com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceService; |
|
|
|
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.arreceivebill.ArReceivebillService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.capitalcreditresult.OtherReceivableBillCreditResultService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService; |
|
|
|
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; |
|
|
|
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
@ -119,9 +84,9 @@ import com.yxt.anrui.riskcenter.api.loandiffdetails.LoanDiffDetailssDto; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
@ -142,7 +107,6 @@ import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
@ -203,6 +167,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
private OtherReceivableBillCreditResultService creditResultService; |
|
|
|
@Autowired |
|
|
|
private DictCommonFeign dictCommonFeign; |
|
|
|
@Autowired |
|
|
|
private LoanRepaymentPlanDetailsFeign loanRepaymentPlanDetailsFeign; |
|
|
|
@Autowired |
|
|
|
private FinUncollectedReceivablesDetailedJRService finUncollectedReceivablesDetailedJRService; |
|
|
|
|
|
|
|
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
@ -1007,7 +975,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
List<AppFinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getContractList(); |
|
|
|
if(finSelectedReceivablesDetailedDtos.isEmpty()){ |
|
|
|
if (finSelectedReceivablesDetailedDtos.isEmpty()) { |
|
|
|
return rb.setMsg("请添加认款信息"); |
|
|
|
} |
|
|
|
List<AppFinSelectedReceivablesDetailedDto> dingList = finSelectedReceivablesDetailedDtos.stream() |
|
|
@ -1608,7 +1576,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedService.tskpgl(v); |
|
|
|
//ToDo:查询是否符合待出库的条件
|
|
|
|
//该合同编号下的该车架号的所有认款金额
|
|
|
|
if("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())){ |
|
|
|
if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { |
|
|
|
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin1(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); |
|
|
|
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
@ -1622,7 +1590,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
dtoList.add(baseVehicleStateDto); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); |
|
|
|
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
@ -1692,7 +1660,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return rb.success().setMsg("款项确认成功"); |
|
|
|
} |
|
|
|
|
|
|
|
public void pushLoanDiff(FinCollectionConfirmation confirmation){ |
|
|
|
public void pushLoanDiff(FinCollectionConfirmation confirmation) { |
|
|
|
String sid = confirmation.getSid(); |
|
|
|
/** |
|
|
|
* 查询该申请是否有融资放款款项的明细,若有 |
|
|
@ -1705,7 +1673,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
*/ |
|
|
|
List<FinSelectedReceivablesDetailed> finLi = finSelectedReceivablesDetailedService.selectLiBy(sid); |
|
|
|
finLi.removeAll(Collections.singleton(null)); |
|
|
|
if(!finLi.isEmpty()){ |
|
|
|
if (!finLi.isEmpty()) { |
|
|
|
LoanDiffsDto loanDiffsDto = new LoanDiffsDto(); |
|
|
|
loanDiffsDto.setCreateByName(confirmation.getCreateByName()); |
|
|
|
loanDiffsDto.setCreateBySid(confirmation.getCreateBySid()); |
|
|
@ -1728,24 +1696,24 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
LoanFinPolicy loanFinPolicy = null; |
|
|
|
LoanFinOtherPolicy loanFinOtherPolicy = null; |
|
|
|
boolean isTue = false; |
|
|
|
if(loanSolutions != null){ |
|
|
|
if (loanSolutions != null) { |
|
|
|
loanSolutionsDetail = baseMapper.selectByLoanSid(loanSolutions.getSid()); |
|
|
|
loanSolutionsOtherpolicy = baseMapper.selectBySoluSid(loanSolutions.getSid()); |
|
|
|
if (loanSolutionsDetail.getBondAmounts() != null) { |
|
|
|
bigAdd = bigAdd.add(loanSolutionsDetail.getBondAmounts()); |
|
|
|
} |
|
|
|
if(loanSolutions.getFactoryDiscount() != null){ |
|
|
|
if (loanSolutions.getFactoryDiscount() != null) { |
|
|
|
bigAdd = bigAdd.add(loanSolutions.getActualDiscount()); |
|
|
|
} |
|
|
|
|
|
|
|
if(loanSolutionsOtherpolicy != null){ |
|
|
|
if(loanSolutionsOtherpolicy.getOtherDiscount() != null){ |
|
|
|
if (loanSolutionsOtherpolicy != null) { |
|
|
|
if (loanSolutionsOtherpolicy.getOtherDiscount() != null) { |
|
|
|
bigAdd = bigAdd.add(loanSolutionsOtherpolicy.getOtherActualDiscount()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(loanSolutionsDetail != null){ |
|
|
|
if(loanSolutionsDetail.getProxyAccidentPremium() != null){ |
|
|
|
if (loanSolutionsDetail != null) { |
|
|
|
if (loanSolutionsDetail.getProxyAccidentPremium() != null) { |
|
|
|
bigAdd = bigAdd.add(loanSolutionsDetail.getProxyAccidentPremium()); |
|
|
|
} |
|
|
|
} |
|
|
@ -1753,25 +1721,25 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
loanFinPolicy = baseMapper.selectBySoll(loanSolutions.getPolicySid()); |
|
|
|
|
|
|
|
loanFinOtherPolicy = baseMapper.selectByOtherSid(loanSolutionsOtherpolicy.getOtherPolicySid()); |
|
|
|
if(loanFinOtherPolicy != null){ |
|
|
|
if(!loanFinPolicy.getBankSid().equals(loanFinOtherPolicy.getBankSid())){ |
|
|
|
isTue =true; |
|
|
|
if (loanFinOtherPolicy != null) { |
|
|
|
if (!loanFinPolicy.getBankSid().equals(loanFinOtherPolicy.getBankSid())) { |
|
|
|
isTue = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
BigDecimal decimalAll = new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney()).subtract(finSelectedReceivablesDetailed.getSubscriptionMoney()); |
|
|
|
if(finSelectedReceivablesDetailed.getSubscriptionMoney().compareTo(new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney())) != 0){ |
|
|
|
if (finSelectedReceivablesDetailed.getSubscriptionMoney().compareTo(new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney())) != 0) { |
|
|
|
//有差额
|
|
|
|
if(isTue){//不一致
|
|
|
|
if (isTue) {//不一致
|
|
|
|
//根据busVinSid查询融资放款的是否已认完款,若已认完,则推送,若未认完则不推送
|
|
|
|
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin2(finUncollectedReceivablesDetailed.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); |
|
|
|
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid2(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
if(bigDecimalVinAll.compareTo(unDecimalVinAll) == 0){//认完
|
|
|
|
if(bigAdd.compareTo(decimalAll) != 0){//不相等,推送放款差额确认待办
|
|
|
|
if (bigDecimalVinAll.compareTo(unDecimalVinAll) == 0) {//认完
|
|
|
|
if (bigAdd.compareTo(decimalAll) != 0) {//不相等,推送放款差额确认待办
|
|
|
|
LoanDiffDetailssDto loanDiffDetailssDto = new LoanDiffDetailssDto(); |
|
|
|
loanDiffDetailssDto.setBankSid(loanFinPolicy.getBankSid()); |
|
|
|
loanDiffDetailssDto.setBankName(loanFinPolicy.getBankShortName()); |
|
|
@ -1789,9 +1757,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
loanDiffDetailssDto.setBusVinSid(busSalesOrderVehicle.getSid()); |
|
|
|
loanDiffDetailssDtos.add(loanDiffDetailssDto); |
|
|
|
loanDiffsDto.setLoanDiffDetailssDtos(loanDiffDetailssDtos); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
CapitalCreditResult creditResult = new CapitalCreditResult(); |
|
|
|
if(loanFinPolicy != null){ |
|
|
|
if (loanFinPolicy != null) { |
|
|
|
LoanFinBank loanFinBank = baseMapper.selectByBankSid(loanFinPolicy.getBankSid()); |
|
|
|
creditResult.setBankName(loanFinBank.getBankNo()); |
|
|
|
} |
|
|
@ -1832,14 +1800,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
List<CapitalCreditResult.CapitalCreditResultDetailDto> collectionDetailDtoListOne = new ArrayList<>(); |
|
|
|
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(busSalesOrder.getOrgSid()).getData(); |
|
|
|
if (loanSolutions.getBondAmount() != null) {//贷款保证金
|
|
|
|
if(loanSolutions.getBondAmount().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutions.getBondAmount().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutions.getBondAmount().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.BOND_AMOUNTS.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
|
collectionDetailDtoListOne.add(creditResultDetailDto); |
|
|
@ -1847,13 +1815,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
} |
|
|
|
if (loanSolutions.getActualDiscount() != null) {//主产品厂家贴息
|
|
|
|
if(loanSolutions.getActualDiscount().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutions.getActualDiscount().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutions.getActualDiscount().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
@ -1862,13 +1830,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
} |
|
|
|
if (loanSolutionsOtherpolicy.getOtherActualDiscount() != null) {//其他融厂家贴息
|
|
|
|
if(loanSolutionsOtherpolicy.getOtherActualDiscount().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutionsOtherpolicy.getOtherActualDiscount().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutionsOtherpolicy.getOtherActualDiscount().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
@ -1877,13 +1845,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
} |
|
|
|
if (loanSolutionsDetail.getProxyAccidentPremium() != null) {//意外险
|
|
|
|
if(loanSolutionsDetail.getProxyAccidentPremium().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutionsDetail.getProxyAccidentPremium().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutionsDetail.getProxyAccidentPremium().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
@ -1897,8 +1865,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if(bigAdd.compareTo(decimalAll) != 0){//不相等,推送放款差额确认待办
|
|
|
|
} else { |
|
|
|
if (bigAdd.compareTo(decimalAll) != 0) {//不相等,推送放款差额确认待办
|
|
|
|
LoanDiffDetailssDto loanDiffDetailssDto = new LoanDiffDetailssDto(); |
|
|
|
loanDiffDetailssDto.setBankSid(loanFinPolicy.getBankSid()); |
|
|
|
loanDiffDetailssDto.setBankName(loanFinPolicy.getBankShortName()); |
|
|
@ -1916,9 +1884,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
loanDiffDetailssDto.setBusVinSid(busSalesOrderVehicle.getSid()); |
|
|
|
loanDiffDetailssDtos.add(loanDiffDetailssDto); |
|
|
|
loanDiffsDto.setLoanDiffDetailssDtos(loanDiffDetailssDtos); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
CapitalCreditResult creditResult = new CapitalCreditResult(); |
|
|
|
if(loanFinPolicy != null){ |
|
|
|
if (loanFinPolicy != null) { |
|
|
|
LoanFinBank loanFinBank = baseMapper.selectByBankSid(loanFinPolicy.getBankSid()); |
|
|
|
creditResult.setBankName(loanFinBank.getBankNo()); |
|
|
|
} |
|
|
@ -1959,13 +1927,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
List<CapitalCreditResult.CapitalCreditResultDetailDto> collectionDetailDtoListOne = new ArrayList<>(); |
|
|
|
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(busSalesOrder.getOrgSid()).getData(); |
|
|
|
if (loanSolutions.getBondAmount() != null) {//贷款保证金
|
|
|
|
if(loanSolutions.getBondAmount().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutions.getBondAmount().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutions.getBondAmount().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.BOND_AMOUNTS.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.BOND_AMOUNTS.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
@ -1974,13 +1942,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
} |
|
|
|
if (loanSolutions.getActualDiscount() != null) {//主产品厂家贴息
|
|
|
|
if(loanSolutions.getActualDiscount().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutions.getActualDiscount().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutions.getActualDiscount().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
@ -1989,13 +1957,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
} |
|
|
|
if (loanSolutionsOtherpolicy.getOtherActualDiscount() != null) {//其他融厂家贴息
|
|
|
|
if(loanSolutionsOtherpolicy.getOtherActualDiscount().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutionsOtherpolicy.getOtherActualDiscount().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutionsOtherpolicy.getOtherActualDiscount().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.SANFANG_TIEXI_DIECHEKUAN.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
@ -2004,13 +1972,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
} |
|
|
|
if (loanSolutionsDetail.getProxyAccidentPremium() != null) {//意外险
|
|
|
|
if(loanSolutionsDetail.getProxyAccidentPremium().compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
if (loanSolutionsDetail.getProxyAccidentPremium().compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
CapitalCreditResult.CapitalCreditResultDetailDto creditResultDetailDto = new CapitalCreditResult.CapitalCreditResultDetailDto(); |
|
|
|
creditResultDetailDto.setDearDept(sysOrganizationVo2.getOrgCode()); |
|
|
|
creditResultDetailDto.setExTaxMoney("-" + loanSolutionsDetail.getProxyAccidentPremium().toString()); |
|
|
|
creditResultDetailDto.setUseTo(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getType()); |
|
|
|
creditResultDetailDto.setRemarks(CwSystemYT.PROXY_ACCIDENT_PREMIUM.getMark()); |
|
|
|
if(baseVehicle != null){ |
|
|
|
if (baseVehicle != null) { |
|
|
|
String vinNo = baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8); |
|
|
|
creditResultDetailDto.setMaterialNo(vinNo); |
|
|
|
} |
|
|
@ -2027,12 +1995,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
//无差额
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if(!loanDiffDetailssDtos.isEmpty()){ |
|
|
|
if (!loanDiffDetailssDtos.isEmpty()) { |
|
|
|
//推送待办
|
|
|
|
ResultBean resultBean = loanDiffFeign.save(loanDiffsDto); |
|
|
|
} |
|
|
@ -2329,7 +2297,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
LoanFinBank loanFinBank = baseMapper.selectFinBnk(vvvv.getContractNo()); |
|
|
|
if(loanFinBank != null){ |
|
|
|
if (loanFinBank != null) { |
|
|
|
freceivebillentry.setF_PAEZ_Base(loanFinBank.getBankNo());//资方编码
|
|
|
|
} |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
@ -3350,4 +3318,242 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
public String getBalance(String busSid) { |
|
|
|
return baseMapper.getBalance(busSid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveRsk(FinCollectionConfirmationRskDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(sid)) { |
|
|
|
//首次认款
|
|
|
|
List<FinSelectedReceivablesDetailedRsk> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds(); |
|
|
|
if (finSelectedReceivablesDetailedDtos.size() > 0) { |
|
|
|
for (FinSelectedReceivablesDetailedRsk v : finSelectedReceivablesDetailedDtos) { |
|
|
|
if (StringUtils.isBlank(v.getSubscriptionMoney())) { |
|
|
|
return rb.setMsg("认款金额不允许为空"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedDtos.stream().map(FinSelectedReceivablesDetailedRsk::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
if (subscriptionMoneyAll.compareTo(StringUtils.isNotBlank(dto.getCollectionMoney()) ? new BigDecimal(dto.getCollectionMoney()) : BigDecimal.ZERO) != 0) { |
|
|
|
return rb.setMsg("认款总额与收款金额不符"); |
|
|
|
} |
|
|
|
//打款凭证附件
|
|
|
|
List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs(); |
|
|
|
//汇款确认书附件
|
|
|
|
List<FinCollectionConfirmationAppendixDto> remittanceConfirmationAppendixs = dto.getRemittanceConfirmationAppendixs(); |
|
|
|
List<String> stringList = finSelectedReceivablesDetailedDtos.stream().map(v -> v.getReceivablesSid()).collect(Collectors.toList()); |
|
|
|
stringList.removeAll(Collections.singleton(null)); |
|
|
|
if (!stringList.isEmpty()) { |
|
|
|
List<String> stringList1 = stringList.stream().distinct().collect(Collectors.toList()); |
|
|
|
if (stringList.size() != stringList1.size()) { |
|
|
|
return rb.setMsg("认款选择的数据存在问题,请检查是否重复"); |
|
|
|
} |
|
|
|
} |
|
|
|
//根据用户sid查询分公司sid
|
|
|
|
String useOrgSid = ""; |
|
|
|
if (StringUtils.isNotBlank(dto.getOrgPath())) { |
|
|
|
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); |
|
|
|
} else { |
|
|
|
useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); |
|
|
|
} |
|
|
|
//对收款申请进行赋值操作
|
|
|
|
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation(); |
|
|
|
BeanUtil.copyProperties(dto, finCollectionConfirmation, "sid"); |
|
|
|
finCollectionConfirmation.setSource("02"); |
|
|
|
// if (StringUtils.isBlank(finCollectionConfirmation.getStaffUserSid())) {
|
|
|
|
// //收款
|
|
|
|
// finCollectionConfirmation.setStaffName(finCollectionConfirmation.getCreateByName());
|
|
|
|
// finCollectionConfirmation.setStaffUserSid(dto.getUserSid());
|
|
|
|
// finCollectionConfirmation.setStaffDeptName(finCollectionConfirmation.getCreateDept());
|
|
|
|
// finCollectionConfirmation.setStaffDeptSid(finCollectionConfirmation.getCreateDeptSid());
|
|
|
|
// String orgPath = dto.getOrgPath();
|
|
|
|
// finCollectionConfirmation.setOrgSidPath(orgPath);
|
|
|
|
// ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
|
|
|
|
// if (sysOrganizationVoResultBean.getData() != null) {
|
|
|
|
// finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
|
|
|
|
// }
|
|
|
|
// } else
|
|
|
|
// {
|
|
|
|
//代收款
|
|
|
|
String orgPath = dto.getOrgPath(); |
|
|
|
finCollectionConfirmation.setOrgSidPath(orgPath); |
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid); |
|
|
|
if (sysOrganizationVoResultBean.getData() != null) { |
|
|
|
finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); |
|
|
|
} |
|
|
|
// List<String> orgList = Arrays.asList(orgPath.split("/"));
|
|
|
|
// orgList.set(orgList.size() - 1, dto.getStaffDeptSid());
|
|
|
|
// finCollectionConfirmation.setOrgSidPath(String.join("/", orgList));
|
|
|
|
// }
|
|
|
|
sid = finCollectionConfirmation.getSid(); |
|
|
|
finCollectionConfirmation.setCreateBySid(dto.getUserSid()); |
|
|
|
finCollectionConfirmation.setUseOrgSid(useOrgSid); |
|
|
|
//附件保存:打款凭证附件
|
|
|
|
paymentVoucherAppendixs.stream().forEach(v -> { |
|
|
|
CommonAppendixDto commonAppendixDto = new CommonAppendixDto(); |
|
|
|
BeanUtil.copyProperties(v, commonAppendixDto); |
|
|
|
String s = commonAppendixDto.getFilePath(); |
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
s = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid()); |
|
|
|
commonAppendixDto.setFilePath(s); |
|
|
|
commonAppendixDto.setCreateBySid(dto.getUserSid()); |
|
|
|
commonAppendixDto.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType()); |
|
|
|
commonAppendixFeign.save(commonAppendixDto); |
|
|
|
}); |
|
|
|
String payFilePath = paymentVoucherAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(",")); |
|
|
|
finCollectionConfirmation.setPaymentVoucherUrl(payFilePath); |
|
|
|
//汇款确认书附件保存
|
|
|
|
remittanceConfirmationAppendixs.stream().forEach(v -> { |
|
|
|
CommonAppendixDto commonAppendixDto = new CommonAppendixDto(); |
|
|
|
BeanUtil.copyProperties(v, commonAppendixDto); |
|
|
|
String s = commonAppendixDto.getFilePath(); |
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
s = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid()); |
|
|
|
commonAppendixDto.setFilePath(s); |
|
|
|
commonAppendixDto.setCreateBySid(dto.getUserSid()); |
|
|
|
commonAppendixDto.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType()); |
|
|
|
commonAppendixFeign.save(commonAppendixDto); |
|
|
|
}); |
|
|
|
String remFilePath = remittanceConfirmationAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(",")); |
|
|
|
finCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath); |
|
|
|
if (finSelectedReceivablesDetailedDtos.size() > 0) { |
|
|
|
//认款明细保存
|
|
|
|
String finalSid = sid; |
|
|
|
String finalUseOrgSid = useOrgSid; |
|
|
|
finSelectedReceivablesDetailedDtos.stream().forEach(v -> {//已选
|
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed(); |
|
|
|
// BeanUtil.copyProperties(v, finSelectedReceivablesDetailed, "sid");
|
|
|
|
if (StringUtils.isNotBlank(v.getVinNo())) { |
|
|
|
String[] splitVin = v.getVinNo().split("/"); |
|
|
|
finSelectedReceivablesDetailed.setVIN(splitVin[0]); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(v.getReceivablesName())) { |
|
|
|
finSelectedReceivablesDetailed.setReceivablesName(v.getReceivablesName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(v.getSubscriptionMoney())) { |
|
|
|
finSelectedReceivablesDetailed.setSubscriptionMoney(new BigDecimal(v.getSubscriptionMoney())); |
|
|
|
} |
|
|
|
finSelectedReceivablesDetailed.setReceivablesSid(v.getReceivablesSid()); |
|
|
|
finSelectedReceivablesDetailed.setCollSid(finalSid); |
|
|
|
finSelectedReceivablesDetailed.setUseOrgSid(finalUseOrgSid); |
|
|
|
finSelectedReceivablesDetailed.setPurchaseSystemSid(finCollectionConfirmation.getPurchaseSystemSid()); |
|
|
|
finSelectedReceivablesDetailed.setPurchaseSystemName(finCollectionConfirmation.getPurchaseSystemName()); |
|
|
|
//设置审核状态为待审核(1待审核/2已驳回/3已审核)
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(1); |
|
|
|
finSelectedReceivablesDetailed.setCreateBySid(dto.getUserSid()); |
|
|
|
//认款日期默认为当天的日期
|
|
|
|
finSelectedReceivablesDetailed.setSubscriptionDate(DateUtil.today()); |
|
|
|
// finSelectedReceivablesDetailed.setBalance(v.getSubscriptionMoney());
|
|
|
|
// FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
|
|
|
|
// finSelectedReceivablesDetailed.setStaffName(finUncollectedReceivablesDetailed.getStaffName());
|
|
|
|
// finSelectedReceivablesDetailed.setStaffUserSid(finUncollectedReceivablesDetailed.getStaffUserSid());
|
|
|
|
// finSelectedReceivablesDetailed.setStaffDeptSid(finUncollectedReceivablesDetailed.getStaffDeptSid());
|
|
|
|
// finSelectedReceivablesDetailed.setStaffDeptName(finUncollectedReceivablesDetailed.getStaffDeptName());
|
|
|
|
finSelectedReceivablesDetailed.setOrgSidPath(finCollectionConfirmation.getOrgSidPath()); |
|
|
|
finSelectedReceivablesDetailed.setUseOrgName(finCollectionConfirmation.getUseOrgName()); |
|
|
|
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed); |
|
|
|
// if (v.getSubscribedOf() == 0) {
|
|
|
|
// //应收未收减去相应的认款
|
|
|
|
// finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
|
|
|
|
// BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(finSelectedReceivablesDetailed.getSubscriptionMoney());
|
|
|
|
// finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
|
|
|
|
// finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
|
|
|
|
// }
|
|
|
|
}); |
|
|
|
} |
|
|
|
finCollectionConfirmation.setBalance(finCollectionConfirmation.getCollectionMoney()); |
|
|
|
finCollectionConfirmation.setAuditState(1); |
|
|
|
//1未认款/2部分认款/3已认款
|
|
|
|
finCollectionConfirmation.setPaymentState(1); |
|
|
|
//添加单据编号
|
|
|
|
String billNo = getApplyCode(finCollectionConfirmation.getUseOrgSid()); |
|
|
|
finCollectionConfirmation.setBillNo(billNo); |
|
|
|
baseMapper.insert(finCollectionConfirmation); |
|
|
|
} |
|
|
|
return rb.success().setMsg("添加成功"); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<FinCollectionConfirmationRskVo> rskDetails(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinCollectionConfirmationRskVo finCollectionConfirmationDetailsVo = new FinCollectionConfirmationRskVo(); |
|
|
|
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); |
|
|
|
BeanUtil.copyProperties(finCollectionConfirmation, finCollectionConfirmationDetailsVo); |
|
|
|
List<FinCollectionConfirmationAppendixVo> paymentVoucherAppendixs = new ArrayList<>(); |
|
|
|
List<FinCollectionConfirmationAppendixVo> remittanceConfirmationAppendixs = new ArrayList<>(); |
|
|
|
CommonAppendixSelectQuery commonAppendixSelectQuery = new CommonAppendixSelectQuery(); |
|
|
|
commonAppendixSelectQuery.setLinkSid(sid); |
|
|
|
//打款凭证附件
|
|
|
|
commonAppendixSelectQuery.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType()); |
|
|
|
ResultBean<List<CommonAppendixVo>> listResultBean = commonAppendixFeign.getPcAppendix(commonAppendixSelectQuery); |
|
|
|
if (listResultBean.getSuccess()) { |
|
|
|
for (CommonAppendixVo commonApp : listResultBean.getData()) { |
|
|
|
FinCollectionConfirmationAppendixVo paymentVoucherAppendixVo = new FinCollectionConfirmationAppendixVo(); |
|
|
|
//commonApp.setFilePath(fileUploadComponent.getUrlPrefix()+commonApp.getFilePath());
|
|
|
|
BeanUtil.copyProperties(commonApp, paymentVoucherAppendixVo); |
|
|
|
paymentVoucherAppendixs.add(paymentVoucherAppendixVo); |
|
|
|
} |
|
|
|
} |
|
|
|
finCollectionConfirmationDetailsVo.setPaymentVoucherAppendixs(paymentVoucherAppendixs); |
|
|
|
commonAppendixSelectQuery = new CommonAppendixSelectQuery(); |
|
|
|
commonAppendixSelectQuery.setLinkSid(sid); |
|
|
|
//汇款确认书附件
|
|
|
|
commonAppendixSelectQuery.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType()); |
|
|
|
listResultBean = commonAppendixFeign.getPcAppendix(commonAppendixSelectQuery); |
|
|
|
if (listResultBean.getSuccess()) { |
|
|
|
for (CommonAppendixVo commonApp : listResultBean.getData()) { |
|
|
|
FinCollectionConfirmationAppendixVo remittanceConfirmationAppendixVo = new FinCollectionConfirmationAppendixVo(); |
|
|
|
//commonApp.setFilePath(fileUploadComponent.getUrlPrefix()+commonApp.getFilePath());
|
|
|
|
BeanUtil.copyProperties(commonApp, remittanceConfirmationAppendixVo); |
|
|
|
remittanceConfirmationAppendixs.add(remittanceConfirmationAppendixVo); |
|
|
|
} |
|
|
|
} |
|
|
|
finCollectionConfirmationDetailsVo.setRemittanceConfirmationAppendixs(remittanceConfirmationAppendixs); |
|
|
|
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid); |
|
|
|
List<FinSelectedReceivablesDetailedRsk> rskList = new ArrayList<>(); |
|
|
|
if (!finSelectedReceivablesDetailedVos.isEmpty()) { |
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
FinSelectedReceivablesDetailedRsk rsk = new FinSelectedReceivablesDetailedRsk(); |
|
|
|
String receivablesSid = v.getReceivablesSid(); |
|
|
|
if (v.getReceivablesName().equals("月还")) { |
|
|
|
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(receivablesSid).getData(); |
|
|
|
if (null != data) { |
|
|
|
BeanUtil.copyProperties(data, rsk, "sid"); |
|
|
|
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) { |
|
|
|
rsk.setVinNo(data.getVinNo() + "/" + data.getVehMark()); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(receivablesSid); |
|
|
|
if (jr != null) { |
|
|
|
String busSid = jr.getBusSid(); |
|
|
|
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsFeign.fetchDetails(busSid).getData(); |
|
|
|
if (null != data) { |
|
|
|
BeanUtil.copyProperties(data, rsk, "sid"); |
|
|
|
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) { |
|
|
|
rsk.setVinNo(data.getVinNo() + "/" + data.getVehMark()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
rsk.setReceivablesName(v.getReceivablesName()); |
|
|
|
rsk.setSid(v.getSid()); |
|
|
|
rsk.setSubscriptionMoney(v.getSubscriptionMoney()); |
|
|
|
rsk.setReceivablesSid(v.getReceivablesSid()); |
|
|
|
rskList.add(rsk); |
|
|
|
}); |
|
|
|
} |
|
|
|
finCollectionConfirmationDetailsVo.setFinSelectedReceivablesDetaileds(rskList); |
|
|
|
if (finCollectionConfirmation.getAuditState() == 2) { |
|
|
|
String confirmationDetails = finCollectionConfirmation.getConfirmName() + "于" + finCollectionConfirmation.getConfirmDate() + "已驳回,原因是:" + finCollectionConfirmation.getReason(); |
|
|
|
finCollectionConfirmationDetailsVo.setReason(confirmationDetails); |
|
|
|
} else if (finCollectionConfirmation.getAuditState() == 3) { |
|
|
|
String confirmationDetails = finCollectionConfirmation.getConfirmName() + "于" + finCollectionConfirmation.getConfirmDate() + "已确认"; |
|
|
|
finCollectionConfirmationDetailsVo.setReason(confirmationDetails); |
|
|
|
} |
|
|
|
return rb.success().setData(finCollectionConfirmationDetailsVo); |
|
|
|
} |
|
|
|
} |