Browse Source

注释开票生成合同

master
dimengzhe 1 year ago
parent
commit
276ae359f4
  1. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java
  2. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml
  3. 282
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java

@ -120,4 +120,6 @@ public interface FinBillApplicationMapper extends BaseMapper<FinBillApplication>
CrmCustomerTemp selectByCustomerSid(String openTickSid);
BaseVehicle selectVinNoByVinSid(String vehSid);
BusSalesOrderVehicle selectByBorrowSid(@Param("contractNo") String contractNo, @Param("vehSid") String vehSid);
}

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml

@ -223,4 +223,10 @@
<select id="selectVinNoByVinSid" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicle">
select * from anrui_base.base_vehicle where sid = #{vehSid}
</select>
<select id="selectByBorrowSid" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select bv.* from anrui_buscenter.bus_sales_order_vehicle bv
left join anrui_buscenter.bus_sales_order bo on bo.sid = bv.salesOrderSid
where bv.linkSid = #{vehSid} and bo.contractNo = #{contractNo}
</select>
</mapper>

282
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -67,6 +67,7 @@ import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.bussalesvehicle.BusSalesVehicleFeign;
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingDto;
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
@ -462,24 +463,24 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(record.getBusSalesOrderSid()).getData();
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(record.getBusSalesOrderSid()).getData();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(record.getContractId(), record.getVinSid()).getData();
if ("2".equals(record.getSaleTypeKey())){
if (StringUtils.isBlank(solutionsDetailsVo.getTypeKey())){//担保
if ("2".equals(record.getSaleTypeKey())) {
if (StringUtils.isBlank(solutionsDetailsVo.getTypeKey())) {//担保
String jfkcSid = loanHomevisitInvestigateFeign.selSaleOrderSidAndBorrSid(record.getBusSalesOrderSid(), busSalesOrderVehicle.getBorrowerSid()).getData();
LoanHomevisitInvestigateCustomerDetailsVo loanHomevisitInvestigateCustomerDetailsVo = loanHomevisitInvestigateCustomerFeign.selectByMainSid(jfkcSid).getData();
record.setInvoiceTypeKey(busSalesOrder.getBillingTypeKey());
record.setInvoiceType(busSalesOrder.getBillingType());
if ("1".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())){
if ("1".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())) {
record.setInvoiceName(loanHomevisitInvestigateCustomerDetailsVo.getBorrowerName());
}else if ("2".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())){
} else if ("2".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())) {
record.setInvoiceName(loanHomevisitInvestigateCustomerDetailsVo.getAccCompName());
}
}else if ("01".equals(solutionsDetailsVo.getTypeKey())){//非担保
} else if ("01".equals(solutionsDetailsVo.getTypeKey())) {//非担保
LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData();
record.setInvoiceTypeKey(busSalesOrder.getBillingTypeKey());
record.setInvoiceType(busSalesOrder.getBillingType());
if ("1".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){
if ("1".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {
record.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getBorrowerName());
}else if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){
} else if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {
record.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany());
}
}
@ -522,10 +523,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
if ("02".equals(finBillVehicle.getBillTypeKey())){
if ("02".equals(finBillVehicle.getBillTypeKey())) {
String openTickSid = finBillVehicle.getOpenTickSid();
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(openTickSid);
if (finCompanyInvoicingDetailsVo == null){
if (finCompanyInvoicingDetailsVo == null) {
return rb.setMsg("个人不能开具增值税专用发票");
}
}
@ -880,7 +881,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
}
if("1".equals(busSalesOrder.getPayTypeKey())){
if ("1".equals(busSalesOrder.getPayTypeKey())) {
if (loanSolutions != null) {
if (!dto.getOneBillMoney().equals(loanSolutions.getMainVehicleAmount())) {
String remarks = "";
@ -948,7 +949,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
filesList.add(file);
}
}
if("1".equals(busSalesOrder.getPayTypeKey())){
if ("1".equals(busSalesOrder.getPayTypeKey())) {
Map<String, Object> finalCheckMap = checkMap;
if (!finalCheckMap.isEmpty()) {
Future<String> future3 = pool.submit(() -> {
@ -979,7 +980,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
fileUrl = typeName;
}
}
if(StringUtils.isNotBlank(fileUrl)){
if (StringUtils.isNotBlank(fileUrl)) {
FinBillApplication finBillApplication = fetchBySid(dto.getSid());
finBillApplication.setFileUrl(fileUrl);
baseMapper.updateById(finBillApplication);
@ -994,10 +995,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
//根据合同号查询销售订单数据
BusSalesOrder busSalesOrder = baseMapper.selectByContract(contractNo);
SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(busSalesOrder.getSid()).getData();
BusSalesOrderModel busSalesOrderModel = baseMapper.selectByOrderSid(busSalesOrder.getSid());
BusSalesOrderPrice busSalesOrderPrice = baseMapper.selectByPrices(busSalesOrder.getSid());
if ("1".equals(busSalesOrder.getPayTypeKey())) {//全款
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
BusSalesOrderModel busSalesOrderModel = baseMapper.selectByOrderSid(busSalesOrder.getSid());
BusSalesOrderPrice busSalesOrderPrice = baseMapper.selectByPrices(busSalesOrder.getSid());
//按开票名称sid分组
Map<String, List<FinBillVehicleDto>> groupedByOpenTickSid = finBillVehicles.stream()
.collect(Collectors.groupingBy(FinBillVehicleDto::getOpenTickSid));
@ -1026,11 +1027,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
billFileVo.setNum(String.valueOf(sameOpenTickSidList.size()));
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString());
}
/* if (loanSolutions != null) {
if (StringUtils.isNotBlank(loanSolutions.getMainVehicleAmount())) {
billFileVo.setOpenPrice(loanSolutions.getMainVehicleAmount());
}
}*/
billFileVo.setOpenPrice(dto.getOneBillMoney());
billFileVo.setType(finBillVehicleDto.getBillTypeValue());//开票类型
List<String> vinNoString = new ArrayList<>();
@ -1039,15 +1036,13 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
sameOpenTickSidList.forEach(v -> {
//车架号
BaseVehicle baseVehicle = baseMapper.selectVinNoByVinSid(v.getVehSid());
/* if(baseVehicle != null){
vinNoString.add(baseVehicle.getVinNo());
}*/
if(baseVehicle != null){
finalBillFileVo.setVinNo(baseVehicle.getVinNo());
}
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
finBillTrailers.removeAll(Collections.singleton(null));
finBillTrailers = finBillTrailers.stream().filter(vv -> vv.getVinNo().contains(v.getVinNo())).collect(Collectors.toList());
lllList.addAll(finBillTrailers);
/* String vinNo = String.join(",",vinNoString);
billFileVo.setVinNo(vinNo);*/
list.add(finalBillFileVo);
});
@ -1063,19 +1058,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
BaseTrailerModel baseTrailerModel = baseMapper.selectByModelSid(baseTrailer.getTrailerModelSid());
if (baseTrailerModel != null) {
String carName = "外廓-" + Integer.parseInt(baseTrailerModel.getAppearanceSizeLong()) / 1000 + "米" + "\t" + baseTrailerModel.getTrailerTypeValue();
/* if (carNameMap.containsKey(carName)) {
carNameMap.put(carName, Arrays.asList(carNameMap.get(carName).toString()).add(baseTrailer.getVinNo()));
continue;
} else {
billFileVo.setType(busSalesOrder.getBillingType());
billFileVo.setCarName(carName);
if (busSalesOrderModel != null) {
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString());
}
trailerVinString.add(baseTrailer.getVinNo());
carNameMap.put(carName,trailerVinString);
list.add(billFileVo);
}*/
billFileVo.setCarName(carName);
billFileVo.setVinNo(baseTrailer.getVinNo());
billFileVo.setOpenPrice(finBillTrailerDto.getOneBillMoney());
@ -1086,19 +1069,6 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
}
}
/*if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
BillFileVo billFileVo1 = list.get(i);
String carName = billFileVo1.getCarName();
if (carNameMap.containsKey(carName)) {
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("name", finBillVehicleDto.getOpenTickName());
String date = DateUtil.today();
@ -1139,7 +1109,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
}
if("1".equals(busSalesOrder.getPayTypeKey())){
if ("1".equals(busSalesOrder.getPayTypeKey())) {
if (loanSolutions != null) {
if (!dto.getOneBillMoney().equals(loanSolutions.getMainVehicleAmount())) {
String remarks = "";
@ -1207,7 +1177,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
filesList.add(file);
}
}
if("1".equals(busSalesOrder.getPayTypeKey())){
if ("1".equals(busSalesOrder.getPayTypeKey())) {
Map<String, Object> finalCheckMap = checkMap;
if (!finalCheckMap.isEmpty()) {
Future<String> future3 = pool.submit(() -> {
@ -1237,21 +1207,167 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
System.out.println("-========" + docPdfComponent.getUploadTemplateUrl() + typeName);
fileUrl = typeName;
}
}else{
if(StringUtils.isNotBlank(loanSolutions.getTypeKey())){//非担保、生成开票申请书和车辆登记合同
/*LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData();
record.setInvoiceTypeKey(busSalesOrder.getBillingTypeKey());
record.setInvoiceType(busSalesOrder.getBillingType());
if ("1".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){
record.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getBorrowerName());
}else if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){
record.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany());
}*/
} else {
if (StringUtils.isNotBlank(loanSolutions.getTypeKey())) {//非担保、生成开票申请书和车辆登记合同
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
for (FinBillVehicleDto v : finBillVehicles) {
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByBorrowSid(dto.getContractNo(), v.getVehSid());
LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData();
if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {//登记在挂靠公司
v.setOpenTickSid(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompanySid());
v.setOpenTickName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany());
v.setBillTypeKey(busSalesOrder.getBillingTypeKey());
v.setBillTypeValue(busSalesOrder.getBillingType());
}
}
//按开票名称sid分组
Map<String, List<FinBillVehicleDto>> groupedByOpenTickSid = finBillVehicles.stream()
.collect(Collectors.groupingBy(FinBillVehicleDto::getOpenTickSid));
//遍历分组并组装每组的数据
groupedByOpenTickSid.forEach((openTickSid, sameOpenTickSidList) -> {
Map<String, Object> map = new HashMap<>();
Map<String, Object> carMap = new HashMap<>();
FinBillVehicleDto finBillVehicleDto = sameOpenTickSidList.get(0);
//生成开票申请书
if (StringUtils.isNotBlank(busSalesOrder.getPurchaseSystemSid())) {
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingService.getDetailsByUseOrgAndSystem(busSalesOrder.getUseOrgSid(), busSalesOrder.getPurchaseSystemSid());
if (invoicingDetailsVoResultBean.getData() != null) {
map.put("createOrgName", invoicingDetailsVoResultBean.getData().getName());
}
}
map.put("contractNo", busSalesOrder.getContractNo());
List<BillFileVo> list = new ArrayList<>();
//====================================主车开始
BillFileVo billFileVo = new BillFileVo();
if (busSalesOrderModel != null) {
billFileVo.setCarName(busSalesOrderModel.getModelName());
billFileVo.setNum(String.valueOf(sameOpenTickSidList.size()));
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString());
}
}
billFileVo.setOpenPrice(dto.getOneBillMoney());
billFileVo.setType(finBillVehicleDto.getBillTypeValue());//开票类型
List<String> vinNoString = new ArrayList<>();
List<FinBillTrailerDto> lllList = new ArrayList<>();
BillFileVo finalBillFileVo = billFileVo;
sameOpenTickSidList.forEach(v -> {
//车架号
BaseVehicle baseVehicle = baseMapper.selectVinNoByVinSid(v.getVehSid());
if(baseVehicle != null){
finalBillFileVo.setVinNo(baseVehicle.getVinNo());
}
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
finBillTrailers.removeAll(Collections.singleton(null));
finBillTrailers = finBillTrailers.stream().filter(vv -> vv.getVinNo().contains(v.getVinNo())).collect(Collectors.toList());
lllList.addAll(finBillTrailers);
list.add(finalBillFileVo);
});
//==========================主车结束
Map<String, Object> carNameMap = new HashMap<>();
if (!lllList.isEmpty()) {
for (int i = 0; i < lllList.size(); i++) {
List<String> trailerVinString = new ArrayList<>();
FinBillTrailerDto finBillTrailerDto = lllList.get(i);
billFileVo = new BillFileVo();
BaseTrailer baseTrailer = baseMapper.selectByTrailerNo(finBillTrailerDto.getGcVinNo());
if (baseTrailer != null) {
BaseTrailerModel baseTrailerModel = baseMapper.selectByModelSid(baseTrailer.getTrailerModelSid());
if (baseTrailerModel != null) {
String carName = "外廓-" + Integer.parseInt(baseTrailerModel.getAppearanceSizeLong()) / 1000 + "米" + "\t" + baseTrailerModel.getTrailerTypeValue();
billFileVo.setCarName(carName);
billFileVo.setVinNo(baseTrailer.getVinNo());
billFileVo.setOpenPrice(finBillTrailerDto.getOneBillMoney());
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString());
billFileVo.setType(finBillTrailerDto.getBillTypeValue());
list.add(billFileVo);
}
}
}
}
map.put("list", list);
map.put("name", finBillVehicleDto.getOpenTickName());
String date = DateUtil.today();
List<String> dateString = Arrays.asList(date.split("-"));
String year = dateString.get(0);
String month = dateString.get(1);
String day = dateString.get(2);
map.put("year", year);
map.put("month", month);
map.put("day", day);
FinCompanyInvoicing finCompanyInvoicing = finCompanyInvoicingService.fetchBySid(openTickSid);
if (!"02".equals(finBillVehicleDto.getBillTypeKey()) && finCompanyInvoicing != null) {//机动车
if (finCompanyInvoicing != null) {
//生成车辆登记合同
if (busSalesOrder != null) {
carMap.put("Yf", busSalesOrder.getCustomerName());
carMap.put("invoiceName", finCompanyInvoicing.getName());//开票名称
}
carMap.put("contractNo", "D" + map.get("contractNo"));
if (StringUtils.isNotBlank(busSalesOrder.getPurchaseSystemSid())) {
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingService.getDetailsByUseOrgAndSystem(busSalesOrder.getUseOrgSid(), busSalesOrder.getPurchaseSystemSid());
if (invoicingDetailsVoResultBean.getData() != null) {
carMap.put("createOrgName", invoicingDetailsVoResultBean.getData().getName());
}
}
carMap.put("date", date);
List<CarContractListVo> carContractListVos = new ArrayList<>();
for (FinBillVehicleDto salesOrderVehicle : sameOpenTickSidList) {
CarContractListVo carContractListVo = new CarContractListVo();
BaseVehicle baseVehicle = baseMapper.selectByVinSid(salesOrderVehicle.getVehSid());
carContractListVo.setBrand(baseVehicle.getModelName());
carContractListVo.setVinNo(baseVehicle.getVinNo());
carContractListVo.setEnginNo(baseVehicle.getEngineNo());
carContractListVos.add(carContractListVo);
}
carMap.put("carLists", carContractListVos);
}
}
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());
if (!map.isEmpty()) {
Future<String> future1 = pool.submit(() -> {
return getInvoiceApplyFile(map);
});
if (StringUtils.isNotBlank(future1.get())) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + future1.get());
filesList.add(file);
}
}
if (!carMap.isEmpty()) {
Future<String> future2 = pool.submit(() -> {
return getCarFile(carMap);
});
if (StringUtils.isNotBlank(future2.get())) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + future2.get());
filesList.add(file);
}
}
} catch (Exception e) {
e.printStackTrace();
log.error("生成文件失败:==========================" + e.getMessage());
}
});
if (filesList.size() > 0) {
String typeName = contractNo + "开票附件.pdf";
try {
File allFile = WordConvertUtils.mulFile2One(filesList, docPdfComponent.getUploadTemplateUrl() + typeName);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("-========" + docPdfComponent.getUploadTemplateUrl() + typeName);
fileUrl = typeName;
}
}
}
if(StringUtils.isNotBlank(fileUrl)){
if (StringUtils.isNotBlank(fileUrl)) {
FinBillApplication finBillApplication = fetchBySid(dto.getSid());
finBillApplication.setFileUrl(fileUrl);
baseMapper.updateById(finBillApplication);
@ -2653,10 +2769,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
if ("02".equals(finBillVehicle.getBillTypeKey())){
if ("02".equals(finBillVehicle.getBillTypeKey())) {
String openTickSid = finBillVehicle.getOpenTickSid();
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(openTickSid);
if (finCompanyInvoicingDetailsVo == null){
if (finCompanyInvoicingDetailsVo == null) {
return rb.setMsg("个人不能开具增值税专用发票");
}
}
@ -2975,10 +3091,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
if ("02".equals(finBillVehicle.getBillTypeKey())){
if ("02".equals(finBillVehicle.getBillTypeKey())) {
String openTickSid = finBillVehicle.getOpenTickSid();
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(openTickSid);
if (finCompanyInvoicingDetailsVo == null){
if (finCompanyInvoicingDetailsVo == null) {
return rb.setMsg("个人不能开具增值税专用发票");
}
}
@ -5460,20 +5576,20 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(busSalesOrder.getSid()).getData();
billApplicationIInfoVoss = baseMapper.selectByContractNos(contractId);
BigDecimal oneBillMoney;
if ("2".equals(busSalesOrder.getPayTypeKey())){
if ("2".equals(busSalesOrder.getPayTypeKey())) {
oneBillMoney = new BigDecimal(solutionsDetailsVo.getMainVehicleAmount());
billApplicationIInfoVoss.setInvoiceMoney(oneBillMoney.toString());
billApplicationIInfoVoss.setInvoiceTotal(oneBillMoney.multiply(new BigDecimal(vins.size())).toString());
billApplicationIInfoVoss.setNoEditInvoiceTypeAndName(true);
billApplicationIInfoVoss.setNoEditInvoiceMoney(true);
}else {
} 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 {
} else {
billApplicationIInfoVoss.setNoEditInvoiceTypeAndName(false);
billApplicationIInfoVoss.setNoEditInvoiceMoney(false);
}
@ -5514,24 +5630,24 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
//贷款主车初始化开票名称、开票类型
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(contractId, vins.get(i)).getData();
if ("2".equals(busSalesOrder.getPayTypeKey())){
if (StringUtils.isBlank(solutionsDetailsVo.getTypeKey())){//担保
if ("2".equals(busSalesOrder.getPayTypeKey())) {
if (StringUtils.isBlank(solutionsDetailsVo.getTypeKey())) {//担保
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())){
if ("1".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())) {
vinListVos1.setInvoiceName(loanHomevisitInvestigateCustomerDetailsVo.getBorrowerName());
}else if ("2".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())){
} else if ("2".equals(loanHomevisitInvestigateCustomerDetailsVo.getVehRegis())) {
vinListVos1.setInvoiceName(loanHomevisitInvestigateCustomerDetailsVo.getAccCompName());
}
}else if ("01".equals(solutionsDetailsVo.getTypeKey())){//非担保
} else if ("01".equals(solutionsDetailsVo.getTypeKey())) {//非担保
LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData();
vinListVos1.setInvoiceTypeKey(busSalesOrder.getBillingTypeKey());
vinListVos1.setInvoiceType(busSalesOrder.getBillingType());
if ("1".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){
if ("1".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {
vinListVos1.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getBorrowerName());
}else if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())){
} else if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {
vinListVos1.setInvoiceName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany());
}
}
@ -5549,7 +5665,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return rb.success().setData(finBillApplicationDetailsVo);
}
public String createContractNo(FinBillApplicationDto dto){
public String createContractNo(FinBillApplicationDto dto) {
/* try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
@ -5569,10 +5685,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return fileUrl;
}
public List<String> castList(Object obj, Class<String> clazz){
public List<String> castList(Object obj, Class<String> clazz) {
List<String> result = new ArrayList<>();
if(obj instanceof List<?>){
for (Object o : (List<?>) obj){
if (obj instanceof List<?>) {
for (Object o : (List<?>) obj) {
result.add(clazz.cast(o));
}
return result;
@ -5585,7 +5701,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
DownloanVoUrl downloanVoUrl = new DownloanVoUrl();
ResultBean<String> resultBean = saveOrUpdateDto(dto);
String contractNo = createContractNo(dto);
downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+contractNo);
downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + contractNo);
return rb.success().setData(downloanVoUrl);
}
}
Loading…
Cancel
Save