|
@ -84,6 +84,7 @@ import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; |
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicle; |
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicle; |
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto; |
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto; |
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; |
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; |
|
|
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicing; |
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; |
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; |
|
|
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardApply; |
|
|
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardApply; |
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; |
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; |
|
@ -110,6 +111,12 @@ import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign; |
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
import com.yxt.anrui.portal.api.sysuser.*; |
|
|
import com.yxt.anrui.portal.api.sysuser.*; |
|
|
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigate.LoanHomevisitInvestigateFeign; |
|
|
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerDetailsVo; |
|
|
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerFeign; |
|
|
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatefile.LoanHomevisitInvestigateFile; |
|
|
|
|
|
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo; |
|
|
|
|
|
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewFeign; |
|
|
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterFeign; |
|
|
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterFeign; |
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; |
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; |
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; |
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; |
|
@ -125,6 +132,7 @@ import com.yxt.messagecenter.api.message.*; |
|
|
import com.yxt.messagecenter.api.messagelist.MessageList; |
|
|
import com.yxt.messagecenter.api.messagelist.MessageList; |
|
|
import com.yxt.messagecenter.api.messagelist.MessageListFeign; |
|
|
import com.yxt.messagecenter.api.messagelist.MessageListFeign; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
|
import org.apache.poi.ss.formula.functions.T; |
|
|
import org.apache.tomcat.util.threads.ThreadPoolExecutor; |
|
|
import org.apache.tomcat.util.threads.ThreadPoolExecutor; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
@ -139,6 +147,7 @@ import java.util.*; |
|
|
import java.util.concurrent.*; |
|
|
import java.util.concurrent.*; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
|
|
import static java.util.Collections.singletonList; |
|
|
import static java.util.Comparator.comparing; |
|
|
import static java.util.Comparator.comparing; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -212,6 +221,12 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
@Autowired |
|
|
@Autowired |
|
|
private BusArrearsCarryVehicleApplyFeign busArrearsCarryVehicleApplyFeign; |
|
|
private BusArrearsCarryVehicleApplyFeign busArrearsCarryVehicleApplyFeign; |
|
|
@Autowired |
|
|
@Autowired |
|
|
|
|
|
private LoanHomevisitInvestigateFeign loanHomevisitInvestigateFeign; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private LoanHomevisitInvestigateCustomerFeign loanHomevisitInvestigateCustomerFeign; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private LoanNoGuaranteeCreditReviewFeign loanNoGuaranteeCreditReviewFeign; |
|
|
|
|
|
@Autowired |
|
|
private FlowFeign flowFeign; |
|
|
private FlowFeign flowFeign; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private BaseVehicleStateFeign baseVehicleStateFeign; |
|
|
private BaseVehicleStateFeign baseVehicleStateFeign; |
|
@ -502,11 +517,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
finBillApplication.setBillNo(billNo); |
|
|
finBillApplication.setBillNo(billNo); |
|
|
finBillApplication.setNum(finBillVehicles.size()); |
|
|
finBillApplication.setNum(finBillVehicles.size()); |
|
|
finBillApplication.setArrearsMoney("0"); |
|
|
finBillApplication.setArrearsMoney("0"); |
|
|
/* String fileUrl = getFileUrl(dto); |
|
|
dto.setSid(finBillApplication.getSid()); |
|
|
if (StringUtils.isNotBlank(fileUrl)) { |
|
|
|
|
|
finBillApplication.setFileUrl(fileUrl); |
|
|
|
|
|
}*/ |
|
|
|
|
|
save(finBillApplication); |
|
|
save(finBillApplication); |
|
|
|
|
|
createContractNo(dto); |
|
|
//主车开票信息
|
|
|
//主车开票信息
|
|
|
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) { |
|
|
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) { |
|
|
FinBillVehicle finBillVehicle = new FinBillVehicle(); |
|
|
FinBillVehicle finBillVehicle = new FinBillVehicle(); |
|
@ -590,6 +603,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
finBillFileDto.setAttachType(FinAttachTypeEnum.ZJ.getAttachType()); |
|
|
finBillFileDto.setAttachType(FinAttachTypeEnum.ZJ.getAttachType()); |
|
|
finBillFileService.saveOrUpdateDto(finBillFileDto); |
|
|
finBillFileService.saveOrUpdateDto(finBillFileDto); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return rb.success().setMsg("保存成功").setData(finBillApplication.getSid()); |
|
|
return rb.success().setMsg("保存成功").setData(finBillApplication.getSid()); |
|
|
} |
|
|
} |
|
|
FinBillApplication finBillApplication = fetchBySid(dtoSid); |
|
|
FinBillApplication finBillApplication = fetchBySid(dtoSid); |
|
@ -598,6 +612,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
} |
|
|
} |
|
|
dto.setArrearsMoney("0"); |
|
|
dto.setArrearsMoney("0"); |
|
|
updateByDto(dto); |
|
|
updateByDto(dto); |
|
|
|
|
|
createContractNo(dto); |
|
|
finBillFileService.deleteByFinAppSid(dtoSid); |
|
|
finBillFileService.deleteByFinAppSid(dtoSid); |
|
|
//附件信息
|
|
|
//附件信息
|
|
|
if (carBuyContractImages != null) { |
|
|
if (carBuyContractImages != null) { |
|
@ -719,31 +734,43 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
} |
|
|
} |
|
|
map.put("contractNo", busSalesOrder.getContractNo()); |
|
|
map.put("contractNo", busSalesOrder.getContractNo()); |
|
|
List<BillFileVo> list = new ArrayList<>(); |
|
|
List<BillFileVo> list = new ArrayList<>(); |
|
|
|
|
|
//====================================主车开始
|
|
|
BillFileVo billFileVo = new BillFileVo(); |
|
|
BillFileVo billFileVo = new BillFileVo(); |
|
|
if (busSalesOrderModel != null) { |
|
|
if (busSalesOrderModel != null) { |
|
|
billFileVo.setCarName(busSalesOrderModel.getModelName()); |
|
|
billFileVo.setCarName(busSalesOrderModel.getModelName()); |
|
|
billFileVo.setNum(String.valueOf(sameOpenTickSidList.size())); |
|
|
billFileVo.setNum(String.valueOf(sameOpenTickSidList.size())); |
|
|
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString()); |
|
|
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString()); |
|
|
} |
|
|
} |
|
|
if (loanSolutions != null) { |
|
|
/* if (loanSolutions != null) { |
|
|
if (StringUtils.isNotBlank(loanSolutions.getMainVehicleAmount())) { |
|
|
if (StringUtils.isNotBlank(loanSolutions.getMainVehicleAmount())) { |
|
|
billFileVo.setOpenPrice(loanSolutions.getMainVehicleAmount()); |
|
|
billFileVo.setOpenPrice(loanSolutions.getMainVehicleAmount()); |
|
|
} |
|
|
} |
|
|
} |
|
|
}*/ |
|
|
|
|
|
billFileVo.setOpenPrice(dto.getOneBillMoney()); |
|
|
billFileVo.setType(finBillVehicleDto.getBillTypeValue());//开票类型
|
|
|
billFileVo.setType(finBillVehicleDto.getBillTypeValue());//开票类型
|
|
|
list.add(billFileVo); |
|
|
List<String> vinNoString = new ArrayList<>(); |
|
|
|
|
|
|
|
|
List<FinBillTrailerDto> lllList = new ArrayList<>(); |
|
|
List<FinBillTrailerDto> lllList = new ArrayList<>(); |
|
|
|
|
|
BillFileVo finalBillFileVo = billFileVo; |
|
|
sameOpenTickSidList.forEach(v -> { |
|
|
sameOpenTickSidList.forEach(v -> { |
|
|
|
|
|
//车架号
|
|
|
|
|
|
BaseVehicle baseVehicle = baseMapper.selectVinNoByVinSid(v.getVehSid()); |
|
|
|
|
|
/* if(baseVehicle != null){ |
|
|
|
|
|
vinNoString.add(baseVehicle.getVinNo()); |
|
|
|
|
|
}*/ |
|
|
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers(); |
|
|
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers(); |
|
|
finBillTrailers.removeAll(Collections.singleton(null)); |
|
|
finBillTrailers.removeAll(Collections.singleton(null)); |
|
|
finBillTrailers = finBillTrailers.stream().filter(vv -> vv.getVinNo().contains(v.getVinNo())).collect(Collectors.toList()); |
|
|
finBillTrailers = finBillTrailers.stream().filter(vv -> vv.getVinNo().contains(v.getVinNo())).collect(Collectors.toList()); |
|
|
lllList.addAll(finBillTrailers); |
|
|
lllList.addAll(finBillTrailers); |
|
|
|
|
|
/* String vinNo = String.join(",",vinNoString); |
|
|
|
|
|
billFileVo.setVinNo(vinNo);*/ |
|
|
|
|
|
list.add(finalBillFileVo); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
//==========================主车结束
|
|
|
Map<String, Object> carNameMap = new HashMap<>(); |
|
|
Map<String, Object> carNameMap = new HashMap<>(); |
|
|
if (!lllList.isEmpty()) { |
|
|
if (!lllList.isEmpty()) { |
|
|
for (int i = 0; i < lllList.size(); i++) { |
|
|
for (int i = 0; i < lllList.size(); i++) { |
|
|
|
|
|
List<String> trailerVinString = new ArrayList<>(); |
|
|
FinBillTrailerDto finBillTrailerDto = lllList.get(i); |
|
|
FinBillTrailerDto finBillTrailerDto = lllList.get(i); |
|
|
billFileVo = new BillFileVo(); |
|
|
billFileVo = new BillFileVo(); |
|
|
BaseTrailer baseTrailer = baseMapper.selectByTrailerNo(finBillTrailerDto.getGcVinNo()); |
|
|
BaseTrailer baseTrailer = baseMapper.selectByTrailerNo(finBillTrailerDto.getGcVinNo()); |
|
@ -751,36 +778,42 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
BaseTrailerModel baseTrailerModel = baseMapper.selectByModelSid(baseTrailer.getTrailerModelSid()); |
|
|
BaseTrailerModel baseTrailerModel = baseMapper.selectByModelSid(baseTrailer.getTrailerModelSid()); |
|
|
if (baseTrailerModel != null) { |
|
|
if (baseTrailerModel != null) { |
|
|
String carName = "外廓-" + Integer.parseInt(baseTrailerModel.getAppearanceSizeLong()) / 1000 + "米" + "\t" + baseTrailerModel.getTrailerTypeValue(); |
|
|
String carName = "外廓-" + Integer.parseInt(baseTrailerModel.getAppearanceSizeLong()) / 1000 + "米" + "\t" + baseTrailerModel.getTrailerTypeValue(); |
|
|
if (carNameMap.containsKey(carName)) { |
|
|
/* if (carNameMap.containsKey(carName)) { |
|
|
carNameMap.put(carName, Integer.parseInt(carNameMap.get(carName).toString()) + 1); |
|
|
carNameMap.put(carName, Arrays.asList(carNameMap.get(carName).toString()).add(baseTrailer.getVinNo())); |
|
|
continue; |
|
|
continue; |
|
|
} else { |
|
|
} else { |
|
|
billFileVo.setType(busSalesOrder.getBillingType()); |
|
|
billFileVo.setType(busSalesOrder.getBillingType()); |
|
|
if (loanSolutions != null) { |
|
|
|
|
|
if (StringUtils.isNotBlank(loanSolutions.getMainVehicleAmount())) { |
|
|
|
|
|
billFileVo.setOpenPrice(loanSolutions.getMainVehicleAmount()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
billFileVo.setCarName(carName); |
|
|
billFileVo.setCarName(carName); |
|
|
if (busSalesOrderModel != null) { |
|
|
if (busSalesOrderModel != null) { |
|
|
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString()); |
|
|
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString()); |
|
|
} |
|
|
} |
|
|
carNameMap.put(carName, 1); |
|
|
trailerVinString.add(baseTrailer.getVinNo()); |
|
|
|
|
|
carNameMap.put(carName,trailerVinString); |
|
|
list.add(billFileVo); |
|
|
list.add(billFileVo); |
|
|
} |
|
|
}*/ |
|
|
|
|
|
billFileVo.setCarName(carName); |
|
|
|
|
|
billFileVo.setVinNo(baseTrailer.getVinNo()); |
|
|
|
|
|
billFileVo.setOpenPrice(finBillTrailerDto.getOneBillMoney()); |
|
|
|
|
|
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString()); |
|
|
|
|
|
billFileVo.setType(finBillTrailerDto.getBillTypeValue()); |
|
|
|
|
|
list.add(billFileVo); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if (!list.isEmpty()) { |
|
|
/*if (!list.isEmpty()) { |
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
BillFileVo billFileVo1 = list.get(i); |
|
|
BillFileVo billFileVo1 = list.get(i); |
|
|
String carName = billFileVo1.getCarName(); |
|
|
String carName = billFileVo1.getCarName(); |
|
|
if (carNameMap.containsKey(carName)) { |
|
|
if (carNameMap.containsKey(carName)) { |
|
|
billFileVo1.setNum(carNameMap.get(carName).toString()); |
|
|
List<String> ssList = castList(carNameMap.get(carName),String.class); |
|
|
|
|
|
String trailerVinNo = String.join(",",ssList); |
|
|
|
|
|
billFileVo1.setOpenPrice(Arrays.asList(carName.split("#")).get(1)); |
|
|
|
|
|
billFileVo1.setCarName(Arrays.asList(carName.split("#")).get(0)); |
|
|
|
|
|
billFileVo1.setVinNo(trailerVinNo); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}*/ |
|
|
map.put("list", list); |
|
|
map.put("list", list); |
|
|
map.put("name", finBillVehicleDto.getOpenTickName()); |
|
|
map.put("name", finBillVehicleDto.getOpenTickName()); |
|
|
String date = DateUtil.today(); |
|
|
String date = DateUtil.today(); |
|
@ -791,7 +824,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
map.put("year", year); |
|
|
map.put("year", year); |
|
|
map.put("month", month); |
|
|
map.put("month", month); |
|
|
map.put("day", day); |
|
|
map.put("day", day); |
|
|
if (!"02".equals(finBillVehicleDto.getBillTypeKey())) { |
|
|
FinCompanyInvoicing finCompanyInvoicing = finCompanyInvoicingService.fetchBySid(openTickSid); |
|
|
|
|
|
if (!"02".equals(finBillVehicleDto.getBillTypeKey()) && finCompanyInvoicing != null) {//机动车
|
|
|
if (finCompanyInvoicingDetailsVo != null) { |
|
|
if (finCompanyInvoicingDetailsVo != null) { |
|
|
//生成车辆登记合同
|
|
|
//生成车辆登记合同
|
|
|
if (busSalesOrder != null) { |
|
|
if (busSalesOrder != null) { |
|
@ -819,45 +853,48 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if (loanSolutions != null) { |
|
|
|
|
|
if (!dto.getOneBillMoney().equals(loanSolutions.getMainVehicleAmount())) { |
|
|
if("1".equals(busSalesOrder.getPayTypeKey())){ |
|
|
String remarks = ""; |
|
|
if (loanSolutions != null) { |
|
|
String date = DateUtil.today(); |
|
|
if (!dto.getOneBillMoney().equals(loanSolutions.getMainVehicleAmount())) { |
|
|
List<String> dateString = Arrays.asList(date.split("-")); |
|
|
String remarks = ""; |
|
|
String year = dateString.get(0); |
|
|
String date = DateUtil.today(); |
|
|
String month = dateString.get(1); |
|
|
List<String> dateString = Arrays.asList(date.split("-")); |
|
|
String day = dateString.get(2); |
|
|
String year = dateString.get(0); |
|
|
filemap.put("year", year); |
|
|
String month = dateString.get(1); |
|
|
filemap.put("month", month); |
|
|
String day = dateString.get(2); |
|
|
filemap.put("day", day); |
|
|
filemap.put("year", year); |
|
|
if (finCompanyInvoicingDetailsVo != null) { |
|
|
filemap.put("month", month); |
|
|
filemap.put("invoiceName", finCompanyInvoicingDetailsVo.getName());//开票名称
|
|
|
filemap.put("day", day); |
|
|
filemap.put("customerName", finCompanyInvoicingDetailsVo.getName());//乙方
|
|
|
if (finCompanyInvoicingDetailsVo != null) { |
|
|
filemap.put("invoiceNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//纳税人识别号
|
|
|
filemap.put("invoiceName", finCompanyInvoicingDetailsVo.getName());//开票名称
|
|
|
filemap.put("idNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//乙方证件号码
|
|
|
filemap.put("customerName", finCompanyInvoicingDetailsVo.getName());//乙方
|
|
|
filemap.put("adds", finCompanyInvoicingDetailsVo.getAddress());//户籍地址
|
|
|
filemap.put("invoiceNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//纳税人识别号
|
|
|
} else { |
|
|
filemap.put("idNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//乙方证件号码
|
|
|
CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerSid(dto.getOpenTickSid()); |
|
|
filemap.put("adds", finCompanyInvoicingDetailsVo.getAddress());//户籍地址
|
|
|
if (crmCustomerTemp != null) { |
|
|
} else { |
|
|
filemap.put("invoiceName", crmCustomerTemp.getName());//开票名称
|
|
|
CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerSid(dto.getOpenTickSid()); |
|
|
filemap.put("customerName", crmCustomerTemp.getName());//乙方
|
|
|
if (crmCustomerTemp != null) { |
|
|
filemap.put("invoiceNo", crmCustomerTemp.getIDNumber());//纳税人识别号
|
|
|
filemap.put("invoiceName", crmCustomerTemp.getName());//开票名称
|
|
|
filemap.put("idNo", crmCustomerTemp.getIDNumber());//乙方证件号码
|
|
|
filemap.put("customerName", crmCustomerTemp.getName());//乙方
|
|
|
filemap.put("adds", crmCustomerTemp.getCertificateAddress());//户籍地址
|
|
|
filemap.put("invoiceNo", crmCustomerTemp.getIDNumber());//纳税人识别号
|
|
|
|
|
|
filemap.put("idNo", crmCustomerTemp.getIDNumber());//乙方证件号码
|
|
|
|
|
|
filemap.put("adds", crmCustomerTemp.getCertificateAddress());//户籍地址
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
filemap.put("invoiceType", dto.getOpenTickTypeValue());//开票类型
|
|
|
|
|
|
remarks = "数量" + finBillVehicles.size() + "台,单台成交价: 元。"; |
|
|
|
|
|
filemap.put("remarks", remarks); |
|
|
|
|
|
filemap.put("busSid", busSalesOrder.getSid()); |
|
|
|
|
|
ResultBean<Map<String, Object>> mapResultBean = commonContractFeign.getModelMap(filemap); |
|
|
|
|
|
checkMap = mapResultBean.getData(); |
|
|
|
|
|
//生成新车空白合同
|
|
|
|
|
|
checkMap.put("totalPrice", ""); |
|
|
|
|
|
checkMap.put("priceRemarks", ""); |
|
|
|
|
|
checkMap.put("depositTotal", ""); |
|
|
|
|
|
checkMap.put("createOrgName", ""); |
|
|
|
|
|
checkMap.put("payTypeKey", busSalesOrder.getPayTypeKey()); |
|
|
} |
|
|
} |
|
|
filemap.put("invoiceType", dto.getOpenTickTypeValue());//开票类型
|
|
|
|
|
|
remarks = "数量" + finBillVehicles.size() + "台,单台成交价: 元。"; |
|
|
|
|
|
filemap.put("remarks", remarks); |
|
|
|
|
|
filemap.put("busSid", busSalesOrder.getSid()); |
|
|
|
|
|
ResultBean<Map<String, Object>> mapResultBean = commonContractFeign.getModelMap(filemap); |
|
|
|
|
|
checkMap = mapResultBean.getData(); |
|
|
|
|
|
//生成新车空白合同
|
|
|
|
|
|
checkMap.put("totalPrice", ""); |
|
|
|
|
|
checkMap.put("priceRemarks", ""); |
|
|
|
|
|
checkMap.put("depositTotal", ""); |
|
|
|
|
|
checkMap.put("createOrgName", ""); |
|
|
|
|
|
checkMap.put("payTypeKey", busSalesOrder.getPayTypeKey()); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
try { |
|
|
try { |
|
@ -916,7 +953,11 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
fileUrl = typeName; |
|
|
fileUrl = typeName; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if(StringUtils.isNotBlank(fileUrl)){ |
|
|
|
|
|
FinBillApplication finBillApplication = fetchBySid(dto.getSid()); |
|
|
|
|
|
finBillApplication.setFileUrl(fileUrl); |
|
|
|
|
|
baseMapper.updateById(finBillApplication); |
|
|
|
|
|
} |
|
|
return fileUrl; |
|
|
return fileUrl; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -1001,10 +1042,6 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
} |
|
|
} |
|
|
FinBillApplication entity = fetchBySid(dtoSid); |
|
|
FinBillApplication entity = fetchBySid(dtoSid); |
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
/* String fileUrl = getFileUrl(dto); |
|
|
|
|
|
if (StringUtils.isNotBlank(fileUrl)) { |
|
|
|
|
|
entity.setFileUrl(fileUrl); |
|
|
|
|
|
}*/ |
|
|
|
|
|
baseMapper.updateById(entity); |
|
|
baseMapper.updateById(entity); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -1012,13 +1049,27 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
FinBillApplication entity = fetchBySid(sid); |
|
|
FinBillApplication entity = fetchBySid(sid); |
|
|
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(sid); |
|
|
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(sid); |
|
|
String contractNo = entity.getContractNo(); |
|
|
String contractNo = entity.getContractNo(); |
|
|
BigDecimal oneBillMoney = entity.getOneBillMoney(); |
|
|
BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(contractNo).getData(); |
|
|
|
|
|
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(busSalesOrder.getSid()).getData(); |
|
|
|
|
|
BigDecimal oneBillMoney; |
|
|
|
|
|
/*if ("2".equals(entity.getSaleTypeKey())){ |
|
|
|
|
|
oneBillMoney = new BigDecimal(solutionsDetailsVo.getMainVehicleAmount()); |
|
|
|
|
|
entity.setOneBillMoney(oneBillMoney); |
|
|
|
|
|
entity.setTotalBillMoney(oneBillMoney.multiply(new BigDecimal(finBillVehicleVos.size()))); |
|
|
|
|
|
entity.setOpenTickTypeKey(busSalesOrder.getBillingTypeKey()); |
|
|
|
|
|
entity.setOpenTickTypeValue(busSalesOrder.getBillingType()); |
|
|
|
|
|
}else { |
|
|
|
|
|
oneBillMoney = entity.getOneBillMoney(); |
|
|
|
|
|
if (oneBillMoney != null) { |
|
|
|
|
|
entity.setTotalBillMoney(entity.getOneBillMoney().multiply(new BigDecimal(finBillVehicleVos.size()))); |
|
|
|
|
|
} |
|
|
|
|
|
}*/ |
|
|
|
|
|
oneBillMoney = entity.getOneBillMoney(); |
|
|
if (oneBillMoney != null) { |
|
|
if (oneBillMoney != null) { |
|
|
entity.setTotalBillMoney(entity.getOneBillMoney().multiply(new BigDecimal(finBillVehicleVos.size()))); |
|
|
entity.setTotalBillMoney(entity.getOneBillMoney().multiply(new BigDecimal(finBillVehicleVos.size()))); |
|
|
} |
|
|
} |
|
|
FinBillApplicationDetailsVo vo = new FinBillApplicationDetailsVo(); |
|
|
FinBillApplicationDetailsVo vo = new FinBillApplicationDetailsVo(); |
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(contractNo).getData(); |
|
|
|
|
|
vo.setBusSalesOrderSid(busSalesOrder.getSid()); |
|
|
vo.setBusSalesOrderSid(busSalesOrder.getSid()); |
|
|
if (finBillVehicleVos != null) { |
|
|
if (finBillVehicleVos != null) { |
|
|
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { |
|
|
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { |
|
@ -1027,6 +1078,29 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
List<String> clhgeImages = baseVehicleAppendixFeign.selectBySid(baseVehicleCertificateVo.getSid()).getData(); |
|
|
List<String> clhgeImages = baseVehicleAppendixFeign.selectBySid(baseVehicleCertificateVo.getSid()).getData(); |
|
|
finBillVehicleVo.setCertificatePhoto(clhgeImages); |
|
|
finBillVehicleVo.setCertificatePhoto(clhgeImages); |
|
|
} |
|
|
} |
|
|
|
|
|
/*BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(contractNo, finBillVehicleVo.getVehSid()).getData(); |
|
|
|
|
|
if ("2".equals(entity.getSaleTypeKey())){ |
|
|
|
|
|
if ("01".equals(busSalesOrder.getFinancePlan())){//担保
|
|
|
|
|
|
String jfkcSid = loanHomevisitInvestigateFeign.selSaleOrderSidAndBorrSid(busSalesOrder.getSid(), busSalesOrderVehicle.getBorrowerSid()).getData(); |
|
|
|
|
|
LoanHomevisitInvestigateCustomerDetailsVo loanHomevisitInvestigateCustomerDetailsVo = loanHomevisitInvestigateCustomerFeign.selectByMainSid(jfkcSid).getData(); |
|
|
|
|
|
finBillVehicleVo.setBillTypeKey(busSalesOrder.getBillingTypeKey()); |
|
|
|
|
|
finBillVehicleVo.setBillTypeValue(busSalesOrder.getBillingType()); |
|
|
|
|
|
if ("1".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())){ |
|
|
|
|
|
finBillVehicleVo.setOpenTickName(loanHomevisitInvestigateCustomerDetailsVo.getBorrowerName()); |
|
|
|
|
|
}else if ("2".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())){ |
|
|
|
|
|
finBillVehicleVo.setOpenTickName(loanHomevisitInvestigateCustomerDetailsVo.getAccCompName()); |
|
|
|
|
|
} |
|
|
|
|
|
}else if ("02".equals(busSalesOrder.getFinancePlan())){//非担保
|
|
|
|
|
|
LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData(); |
|
|
|
|
|
finBillVehicleVo.setBillTypeKey(busSalesOrder.getBillingTypeKey()); |
|
|
|
|
|
finBillVehicleVo.setBillTypeValue(busSalesOrder.getBillingType()); |
|
|
|
|
|
if ("1".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){ |
|
|
|
|
|
finBillVehicleVo.setOpenTickName(loanNoGuaranteeCreditReviewDetailsVo.getBorrowerName()); |
|
|
|
|
|
}else if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){ |
|
|
|
|
|
finBillVehicleVo.setOpenTickName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}*/ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
vo.setFinBillVehicles(finBillVehicleVos); |
|
|
vo.setFinBillVehicles(finBillVehicleVos); |
|
@ -2338,11 +2412,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
//计算开票金额合计
|
|
|
//计算开票金额合计
|
|
|
BigDecimal totalBillMoney = oneBillMoney.multiply(new BigDecimal(finBillVehicles.size())); |
|
|
BigDecimal totalBillMoney = oneBillMoney.multiply(new BigDecimal(finBillVehicles.size())); |
|
|
finBillApplication.setTotalBillMoney(totalBillMoney); |
|
|
finBillApplication.setTotalBillMoney(totalBillMoney); |
|
|
String fileUrl = getFileUrl(dto); |
|
|
dto.setSid(finBillApplication.getSid()); |
|
|
if (StringUtils.isNotBlank(fileUrl)) { |
|
|
|
|
|
finBillApplication.setFileUrl(fileUrl); |
|
|
|
|
|
} |
|
|
|
|
|
save(finBillApplication); |
|
|
save(finBillApplication); |
|
|
|
|
|
createContractNo(dto); |
|
|
//主车开票信息
|
|
|
//主车开票信息
|
|
|
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) { |
|
|
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) { |
|
|
FinBillVehicle finBillVehicle = new FinBillVehicle(); |
|
|
FinBillVehicle finBillVehicle = new FinBillVehicle(); |
|
@ -2473,6 +2545,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
dto.setBillStateKey("003"); |
|
|
dto.setBillStateKey("003"); |
|
|
dto.setBillStateValue("欠款开票"); |
|
|
dto.setBillStateValue("欠款开票"); |
|
|
updateByDto(dto); |
|
|
updateByDto(dto); |
|
|
|
|
|
createContractNo(dto); |
|
|
finBillFileService.deleteByFinAppSid(dtoSid); |
|
|
finBillFileService.deleteByFinAppSid(dtoSid); |
|
|
//附件信息
|
|
|
//附件信息
|
|
|
if (khkpsqsApplicationAppendxs.size() > 0) { |
|
|
if (khkpsqsApplicationAppendxs.size() > 0) { |
|
@ -5084,14 +5157,36 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
|
|
|
|
|
|
public ResultBean<BillApplicationIInfoVoss> selectByContractNo(String contractId, List<String> vins) { |
|
|
public ResultBean<BillApplicationIInfoVoss> selectByContractNo(String contractId, List<String> vins) { |
|
|
ResultBean<BillApplicationIInfoVoss> rb = ResultBean.fireFail(); |
|
|
ResultBean<BillApplicationIInfoVoss> rb = ResultBean.fireFail(); |
|
|
BillApplicationIInfoVoss billApplicationIInfoVoss = new BillApplicationIInfoVoss(); |
|
|
BillApplicationIInfoVoss billApplicationIInfoVoss; |
|
|
BusSalesOrder busSalesOrder = baseMapper.selectNo(contractId); |
|
|
BusSalesOrder busSalesOrder = baseMapper.selectNo(contractId); |
|
|
|
|
|
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(busSalesOrder.getSid()).getData(); |
|
|
billApplicationIInfoVoss = baseMapper.selectByContractNos(contractId); |
|
|
billApplicationIInfoVoss = baseMapper.selectByContractNos(contractId); |
|
|
if ("1".equals(busSalesOrder.getPayTypeKey())) { |
|
|
BigDecimal oneBillMoney; |
|
|
|
|
|
if ("2".equals(busSalesOrder.getPayTypeKey())){ |
|
|
|
|
|
oneBillMoney = new BigDecimal(solutionsDetailsVo.getMainVehicleAmount()); |
|
|
|
|
|
billApplicationIInfoVoss.setInvoiceMoney(oneBillMoney.toString()); |
|
|
|
|
|
billApplicationIInfoVoss.setInvoiceTotal(oneBillMoney.multiply(new BigDecimal(vins.size())).toString()); |
|
|
|
|
|
billApplicationIInfoVoss.setOpenTickTypeKey(busSalesOrder.getBillingTypeKey()); |
|
|
|
|
|
billApplicationIInfoVoss.setOpenTickTypeValue(busSalesOrder.getBillingType()); |
|
|
|
|
|
billApplicationIInfoVoss.setNoEditInvoiceTypeAndName(true); |
|
|
|
|
|
billApplicationIInfoVoss.setNoEditInvoiceMoney(true); |
|
|
|
|
|
}else { |
|
|
|
|
|
oneBillMoney = busSalesOrder.getOneBillMoney(); |
|
|
|
|
|
if (oneBillMoney != null) { |
|
|
|
|
|
billApplicationIInfoVoss.setInvoiceMoney(oneBillMoney.toString()); |
|
|
|
|
|
billApplicationIInfoVoss.setInvoiceTotal(oneBillMoney.multiply(new BigDecimal(vins.size())).toString()); |
|
|
|
|
|
billApplicationIInfoVoss.setNoEditInvoiceTypeAndName(false); |
|
|
|
|
|
billApplicationIInfoVoss.setNoEditInvoiceMoney(true); |
|
|
|
|
|
}else { |
|
|
|
|
|
billApplicationIInfoVoss.setNoEditInvoiceTypeAndName(false); |
|
|
|
|
|
billApplicationIInfoVoss.setNoEditInvoiceMoney(false); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
/*if ("1".equals(busSalesOrder.getPayTypeKey())) { |
|
|
billApplicationIInfoVoss.setIsCanEdit(true); |
|
|
billApplicationIInfoVoss.setIsCanEdit(true); |
|
|
} else { |
|
|
} else { |
|
|
billApplicationIInfoVoss.setIsCanEdit(false); |
|
|
billApplicationIInfoVoss.setIsCanEdit(false); |
|
|
} |
|
|
}*/ |
|
|
//开票单位
|
|
|
//开票单位
|
|
|
if (StringUtils.isNotBlank(busSalesOrder.getPurchaseSystemSid())) { |
|
|
if (StringUtils.isNotBlank(busSalesOrder.getPurchaseSystemSid())) { |
|
|
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingService.getDetailsByUseOrgAndSystem(busSalesOrder.getUseOrgSid(), busSalesOrder.getPurchaseSystemSid()); |
|
|
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingService.getDetailsByUseOrgAndSystem(busSalesOrder.getUseOrgSid(), busSalesOrder.getPurchaseSystemSid()); |
|
@ -5102,7 +5197,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
List<VinListVos> vinListVos = new ArrayList<>(); |
|
|
List<VinListVos> vinListVos = new ArrayList<>(); |
|
|
List<FinBillTrailerVo> pcSelBillGcVos = new ArrayList<>(); |
|
|
List<FinBillTrailerVo> pcSelBillGcVos = new ArrayList<>(); |
|
|
for (int i = 0; i < vins.size(); i++) { |
|
|
for (int i = 0; i < vins.size(); i++) { |
|
|
VinListVos vinListVos1 = new VinListVos(); |
|
|
VinListVos vinListVos1; |
|
|
vinListVos1 = baseMapper.selectByBus(contractId, vins.get(i)); |
|
|
vinListVos1 = baseMapper.selectByBus(contractId, vins.get(i)); |
|
|
//主车合格证照片
|
|
|
//主车合格证照片
|
|
|
BaseVehicleCertificateVo baseVehicleCertificateVo = baseVehicleCertificateFeign.selStateByVehicleSid(vins.get(i)).getData(); |
|
|
BaseVehicleCertificateVo baseVehicleCertificateVo = baseVehicleCertificateFeign.selStateByVehicleSid(vins.get(i)).getData(); |
|
@ -5121,6 +5216,30 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
pcSelBillGcVos.add(pcSelBillGcVo); |
|
|
pcSelBillGcVos.add(pcSelBillGcVo); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
//贷款主车初始化开票名称、开票类型
|
|
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(contractId, vins.get(i)).getData(); |
|
|
|
|
|
if ("2".equals(busSalesOrder.getPayTypeKey())){ |
|
|
|
|
|
if ("01".equals(busSalesOrder.getFinancePlan())){//担保
|
|
|
|
|
|
String jfkcSid = loanHomevisitInvestigateFeign.selSaleOrderSidAndBorrSid(busSalesOrder.getSid(), busSalesOrderVehicle.getBorrowerSid()).getData(); |
|
|
|
|
|
LoanHomevisitInvestigateCustomerDetailsVo loanHomevisitInvestigateCustomerDetailsVo = loanHomevisitInvestigateCustomerFeign.selectByMainSid(jfkcSid).getData(); |
|
|
|
|
|
vinListVos1.setInvoiceTypeKey(busSalesOrder.getBillingTypeKey()); |
|
|
|
|
|
vinListVos1.setInvoiceType(busSalesOrder.getBillingType()); |
|
|
|
|
|
if ("1".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())){ |
|
|
|
|
|
vinListVos1.setInvoiceName(loanHomevisitInvestigateCustomerDetailsVo.getBorrowerName()); |
|
|
|
|
|
}else if ("2".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())){ |
|
|
|
|
|
vinListVos1.setInvoiceName(loanHomevisitInvestigateCustomerDetailsVo.getAccCompName()); |
|
|
|
|
|
} |
|
|
|
|
|
}else if ("02".equals(busSalesOrder.getFinancePlan())){//非担保
|
|
|
|
|
|
LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData(); |
|
|
|
|
|
vinListVos1.setInvoiceTypeKey(busSalesOrder.getBillingTypeKey()); |
|
|
|
|
|
vinListVos1.setInvoiceType(busSalesOrder.getBillingType()); |
|
|
|
|
|
if ("1".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){ |
|
|
|
|
|
vinListVos1.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getBorrowerName()); |
|
|
|
|
|
}else if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){ |
|
|
|
|
|
vinListVos1.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
vinListVos.add(vinListVos1); |
|
|
vinListVos.add(vinListVos1); |
|
|
} |
|
|
} |
|
|
billApplicationIInfoVoss.setVinList(vinListVos); |
|
|
billApplicationIInfoVoss.setVinList(vinListVos); |
|
@ -5133,4 +5252,31 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica |
|
|
FinBillApplicationDetailsVo finBillApplicationDetailsVo = baseMapper.selectByCon(contractNo); |
|
|
FinBillApplicationDetailsVo finBillApplicationDetailsVo = baseMapper.selectByCon(contractNo); |
|
|
return rb.success().setData(finBillApplicationDetailsVo); |
|
|
return rb.success().setData(finBillApplicationDetailsVo); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void createContractNo(FinBillApplicationDto dto){ |
|
|
|
|
|
/*try { |
|
|
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
|
|
ExecutorService pool = new ThreadPoolExecutor(1, 2, |
|
|
|
|
|
1000, TimeUnit.MILLISECONDS, |
|
|
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
|
|
String fileUrl = getFileUrl(dto); |
|
|
|
|
|
}); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
log.error("生成文件失败:==========================" + e.getMessage()); |
|
|
|
|
|
}*/ |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public List<String> castList(Object obj, Class<String> clazz){ |
|
|
|
|
|
List<String> result = new ArrayList<>(); |
|
|
|
|
|
if(obj instanceof List<?>){ |
|
|
|
|
|
for (Object o : (List<?>) obj){ |
|
|
|
|
|
result.add(clazz.cast(o)); |
|
|
|
|
|
} |
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |