From bbe0320c7f0ee654e931582783faeafa8c6c5663 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 21 Feb 2024 14:24:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commoncontract/CommonContractMapper.java | 5 + .../commoncontract/CommonContractMapper.xml | 8 + .../commoncontract/CommonContractService.java | 317 +- .../src/main/resources/ftl/carContract.ftl | 1541 +++++++++ .../resources/ftl/dai_existingvehicles.ftl | 2879 +++++++++++++++++ .../main/resources/ftl/existingvehicles.ftl | 33 +- 6 files changed, 4692 insertions(+), 91 deletions(-) create mode 100644 anrui-base/anrui-base-biz/src/main/resources/ftl/carContract.ftl create mode 100644 anrui-base/anrui-base-biz/src/main/resources/ftl/dai_existingvehicles.ftl diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java index 1af449efa2..239ec2280b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.base.api.commoncontract.*; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; import org.apache.ibatis.annotations.*; import java.util.List; @@ -111,4 +112,8 @@ public interface CommonContractMapper extends BaseMapper { BusSalesOrder selectByBusSids(String busSid); CommonContract selectByBusSidss(String busSid); + + CrmCustomerTemp selectByCustomerSid(String affiliatedCompanySid); + + List selectByOrderSid(String busSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml index 074cbfbae8..10ed7f5fdd 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml @@ -279,4 +279,12 @@ + + + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java index 53a3e169a7..cf3b51daaf 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java @@ -72,6 +72,8 @@ import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.config.DictCommonType; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; +import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateFeign; import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateQuotationQuery; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; @@ -202,6 +204,8 @@ public class CommonContractService extends MybatisBaseService createQueryWrapper(CommonContractQuery query) { @@ -836,24 +840,32 @@ public class CommonContractService extends MybatisBaseService invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); - if (invoicingDetailsVoResultBean.getData() != null) { - map.put("createOrgName", invoicingDetailsVoResultBean.getData().getName()); + if (StringUtils.isNotBlank(dto.getCreateOrgName())) { + map.put("createOrgName", dto.getCreateOrgName()); + } else { + if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) { + ResultBean invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); + if (invoicingDetailsVoResultBean.getData() != null) { + map.put("createOrgName", invoicingDetailsVoResultBean.getData().getName()); + } } } - if ("现车".equals(appOrderDetailsVo.getOrderType())) { + if ("1".equals(busSalesOrder.getType()) && (StringUtils.isBlank(busSalesOrder.getNowCarUnknownVinNum()) || "0".equals(busSalesOrder.getNowCarUnknownVinNum()))) { //获取模板 ftl = "existingvehicles"; if (stringList.size() > 0) { @@ -942,20 +954,32 @@ public class CommonContractService extends MybatisBaseService invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); - if (invoicingDetailsVoResultBean.getData() != null) { - map.put("createOrgName", invoicingDetailsVoResultBean.getData().getName()); + if (StringUtils.isNotBlank(dto.getCreateOrgName())) { + map.put("createOrgName", dto.getCreateOrgName()); + } else { + if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) { + ResultBean invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); + if (invoicingDetailsVoResultBean.getData() != null) { + map.put("createOrgName", invoicingDetailsVoResultBean.getData().getName()); + } } } - if ("现车".equals(appOrderDetailsVo.getOrderType())) { + if ("1".equals(busSalesOrder.getType()) && (StringUtils.isBlank(busSalesOrder.getNowCarUnknownVinNum()) || "0".equals(busSalesOrder.getNowCarUnknownVinNum()))) { //获取模板 ftl = "existingvehicles"; if (stringList.size() > 0) { @@ -1016,16 +1040,56 @@ public class CommonContractService extends MybatisBaseService 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); + } + BusSalesOrder busSalesOrder = baseMapper.selectByBusSids(dto.getBusSid()); + if (busSalesOrder.getAffiliatedCompanyType() == 0) { + //根据挂靠公司sid查询信息 + if (StringUtils.isNotBlank(busSalesOrder.getAffiliatedCompanySid())) { + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(busSalesOrder.getAffiliatedCompanySid()); + if (baseDistributor != null) { + map.put("invoiceName", baseDistributor.getDisName());//开票名称 + map.put("customerName", baseDistributor.getDisName());//开票名称 + map.put("invoiceNo", baseDistributor.getRegistNum());//纳税人识别号 + map.put("idNo", baseDistributor.getRegistNum());//纳税人识别号 + map.put("adds", baseDistributor.getRegistDetailAddress());//户籍地址 + } + } + map.put("invoiceType", busSalesOrder.getBillingType());//开票类型 + } else { + if (StringUtils.isNotBlank(busSalesOrder.getAffiliatedCompanySid())) { + CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerSid(busSalesOrder.getAffiliatedCompanySid()); + if (crmCustomerTemp != null) { + map.put("invoiceName", crmCustomerTemp.getName());//开票名称 + map.put("customerName", crmCustomerTemp.getName());//开票名称 + map.put("invoiceNo", crmCustomerTemp.getIDNumber());//纳税人识别号 + map.put("idNo", crmCustomerTemp.getIDNumber());//纳税人识别号 + map.put("adds", crmCustomerTemp.getCertificateAddress());//户籍地址 + } + } + map.put("invoiceType", busSalesOrder.getBillingType());//开票类型 + } + map.put("createOrgName", ""); // 涉及高低开票的,需要打印两套合同,一套按照成交价打印(记账用),一套为价格空白的合同(开票用) if ("1".equals(dto.getDiscountKey())) { // 现车 - if ("现车".equals(appOrderDetailsVo.getOrderType())) { + if ("1".equals(busSalesOrder.getType()) && (StringUtils.isBlank(busSalesOrder.getNowCarUnknownVinNum()) || "0".equals(busSalesOrder.getNowCarUnknownVinNum()))) { //获取模板 ftl = "existingvehicles_black"; AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); List stringList = orderModelInfoVo.getOrderVinList(); if (stringList.size() > 0) { - remarks = "数量" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList); +// remarks = "数量" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList); + remarks = "数量" + num + "台,单台成交价: 元。"; } else { remarks = "数量" + num + "台,单台成交价: 元。"; } @@ -1036,7 +1100,7 @@ public class CommonContractService extends MybatisBaseService 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); + } + BusSalesOrder busSalesOrder = baseMapper.selectByBusSids(dto.getBusSid()); + if (busSalesOrder.getAffiliatedCompanyType() == 0) { + //根据挂靠公司sid查询信息 + if (StringUtils.isNotBlank(busSalesOrder.getAffiliatedCompanySid())) { + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(busSalesOrder.getAffiliatedCompanySid()); + if (baseDistributor != null) { + map.put("invoiceName", baseDistributor.getDisName());//开票名称 + map.put("customerName", baseDistributor.getDisName());//开票名称 + map.put("invoiceNo", baseDistributor.getRegistNum());//纳税人识别号 + map.put("idNo", baseDistributor.getRegistNum());//纳税人识别号 + map.put("adds", baseDistributor.getRegistDetailAddress());//户籍地址 + } + } + map.put("invoiceType", busSalesOrder.getBillingType());//开票类型 + } else { + if (StringUtils.isNotBlank(busSalesOrder.getAffiliatedCompanySid())) { + CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerSid(busSalesOrder.getAffiliatedCompanySid()); + if (crmCustomerTemp != null) { + map.put("invoiceName", crmCustomerTemp.getName());//开票名称 + map.put("customerName", crmCustomerTemp.getName());//开票名称 + map.put("invoiceNo", crmCustomerTemp.getIDNumber());//纳税人识别号 + map.put("idNo", crmCustomerTemp.getIDNumber());//纳税人识别号 + map.put("adds", crmCustomerTemp.getCertificateAddress());//户籍地址 + } + } + map.put("invoiceType", busSalesOrder.getBillingType());//开票类型 + } + map.put("createOrgName", ""); // 涉及高低开票的,需要打印两套合同,一套按照成交价打印(记账用),一套为价格空白的合同(开票用) if ("1".equals(dto.getDiscountKey())) { // 现车 - if ("现车".equals(appOrderDetailsVo.getOrderType())) { + if ("1".equals(busSalesOrder.getType()) && (StringUtils.isBlank(busSalesOrder.getNowCarUnknownVinNum()) || "0".equals(busSalesOrder.getNowCarUnknownVinNum()))) { //获取模板 - ftl = "existingvehicles_black2"; + ftl = "existingvehicles_black"; AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); List stringList = orderModelInfoVo.getOrderVinList(); if (stringList.size() > 0) { - remarks = "数量" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList); +// remarks = "数量" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList); + remarks = "数量" + num + "台,单台成交价: 元。"; } else { remarks = "数量" + num + "台,单台成交价: 元。"; } @@ -1086,7 +1190,7 @@ public class CommonContractService extends MybatisBaseService map, AppOrderDetailsVo appOrderDetailsVo) { + private String getReceiveCar(PrintConfirmDto dto, Map map, AppOrderDetailsVo appOrderDetailsVo) { String url = ""; //查询销售订单的现车 AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); - List stringList = orderModelInfoVo.getVinList(); - /*if (stringList.size() > 0) { - map.put("vinNo", String.join(",", stringList)); - }*/ + ResultBean crmResultBean = crmCustomerTempFeign.fetchSid(appOrderDetailsVo.getCustomerSid()); + CrmCustomerTempVo crmCustomerTempVo = crmResultBean.getData(); + String idNo = crmCustomerTempVo.getIDNumber(); + map.put("customerName", appOrderDetailsVo.getName()); + map.put("idNo", idNo); + if (StringUtils.isNotBlank(dto.getCreateOrgName())) { + map.put("createOrgName", dto.getCreateOrgName()); + } else { + if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) { + ResultBean invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); + if (invoicingDetailsVoResultBean.getData() != null) { + map.put("createOrgName", invoicingDetailsVoResultBean.getData().getName()); + } + } + } String ftl = "receiveCar"; - InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl2/" + ftl + ".ftl"); + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); //生成word文件名 String targetPath = docPdfComponent.getUploadTemplateUrl(); String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); @@ -1237,10 +1352,39 @@ public class CommonContractService extends MybatisBaseService map, AppOrderDetailsVo appOrderDetailsVo) { String url = ""; -// map.put("createDate", DateUtil.today()); + BusSalesOrder busSalesOrder = baseMapper.selectByBusSids(dto.getBusSid()); + if (busSalesOrder != null) { + map.put("Yf", busSalesOrder.getCustomerName()); + if (busSalesOrder.getAffiliatedCompanyType() == 0) { + //根据挂靠公司sid查询信息 + if (StringUtils.isNotBlank(busSalesOrder.getAffiliatedCompanySid())) { + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(busSalesOrder.getAffiliatedCompanySid()); + if (baseDistributor != null) { + map.put("invoiceName", baseDistributor.getDisName());//开票名称 + } + } + } + } + map.put("contractNo", "D" + map.get("contractNo")); + if (StringUtils.isNotBlank(dto.getCreateOrgName())) { + map.put("createOrgName", dto.getCreateOrgName()); + } else { + if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) { + ResultBean invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); + if (invoicingDetailsVoResultBean.getData() != null) { + map.put("createOrgName", invoicingDetailsVoResultBean.getData().getName()); + } + } + } + CommonContract commonContract = baseMapper.selectByBusSidss(dto.getBusSid()); + if (commonContract != null) { + String date = DateUtil.format(commonContract.getCreateTime(), "yyyy-MM-dd"); + map.put("date", date); + } List carContractListVos = new ArrayList<>(); if (dto != null) { - List salesOrderVehicles = dto.getSalesOrderVehicles(); + List salesOrderVehicles = baseMapper.selectByOrderSid(dto.getBusSid()); + salesOrderVehicles.removeAll(Collections.singleton(null)); for (SalesOrderVehicle salesOrderVehicle : salesOrderVehicles) { CarContractListVo carContractListVo = new CarContractListVo(); BaseVehicle baseVehicle = baseVehicleService.fetchBySid(salesOrderVehicle.getLinkSid()); @@ -1263,7 +1407,7 @@ public class CommonContractService extends MybatisBaseService crmResultBean = crmCustomerTempFeign.fetchSid(sid); - if (!crmResultBean.getSuccess()) { - return rb.setMsg(crmResultBean.getMsg()); - } - CrmCustomerTempVo crmCustomerTempVo = crmResultBean.getData(); - String idNo = crmCustomerTempVo.getIDNumber(); + //查询销售订单的车型信息 AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo(); //根据车型sid查询车型的全称 @@ -2194,7 +2333,7 @@ public class CommonContractService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - - Future future1 = pool.submit(() -> { - return genCarSaleContract(dto, map, appOrderDetailsVo); - }); - Future future1_2 = pool.submit(() -> { - return genCarSaleContract2(dto, map, appOrderDetailsVo); - }); - /*Future future2 = pool.submit(() -> { - return genCarSaleContractBlank(dto, map, appOrderDetailsVo); - }); - Future future2_2 = pool.submit(() -> { - return genCarSaleContractBlank2(dto, map, appOrderDetailsVo); - }); - //接收车辆委托书 - Future future4 = pool.submit(() -> { - return getReceiveCar(map, appOrderDetailsVo); - }); - String singleFinalPriceOne = priceInfo.getSingleFinalPrice(); - String depositOne = depositInfo.getDeposit(); - Future future8 = null; - if (!"02".equals(appOrderDetailsVo.getInvoiceType())) { - future8 = pool.submit(() -> { - return getCarContract(null, map, appOrderDetailsVo); - }); - }*/ + BusSalesOrder busSalesOrder = baseMapper.selectByBusSids(dto.getBusSid()); List filesList = new ArrayList<>(); - if (future1 != null) { + if ("1".equals(busSalesOrder.getPayTypeKey())) {//全款 + Future future1 = pool.submit(() -> { + return genCarSaleContract(dto, map, appOrderDetailsVo); + }); + Future future1_2 = pool.submit(() -> { + return genCarSaleContract2(dto, map, appOrderDetailsVo); + }); + Future future2 = pool.submit(() -> { + return genCarSaleContractBlank(dto, map, appOrderDetailsVo); + }); + Future future2_2 = pool.submit(() -> { + return genCarSaleContractBlank2(dto, map, appOrderDetailsVo); + }); + //接收车辆委托书 + Future future4 = pool.submit(() -> { + return getReceiveCar(dto, map, appOrderDetailsVo); + }); + Future future8 = null; + if ("0".equals(dto.getDiscountKey())) { + if (busSalesOrder.getAffiliatedCompanyType() == 0) { + future8 = pool.submit(() -> { + return getCarContract(dto, map, appOrderDetailsVo); + }); + } + } if (StringUtils.isNotBlank(future1.get())) { File file = new File(docPdfComponent.getUploadTemplateUrl() + future1.get()); filesList.add(file); } - } - if (future1_2 != null) { if (StringUtils.isNotBlank(future1_2.get())) { File file = new File(docPdfComponent.getUploadTemplateUrl() + future1_2.get()); filesList.add(file); } - } - /*if (future2 != null) { if (StringUtils.isNotBlank(future2.get())) { File file = new File(docPdfComponent.getUploadTemplateUrl() + future2.get()); filesList.add(file); } - } - if (future2_2 != null) { if (StringUtils.isNotBlank(future2_2.get())) { File file = new File(docPdfComponent.getUploadTemplateUrl() + future2_2.get()); filesList.add(file); } - } - //合并pdf文件 - if (future8 != null) { - if (StringUtils.isNotBlank(future8.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future8.get()); + if (StringUtils.isNotBlank(future4.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future4.get()); filesList.add(file); } - } - if (StringUtils.isNotBlank(future4.get())) { - File file = new File(docPdfComponent.getUploadTemplateUrl() + future4.get()); - filesList.add(file); - }*/ + //合并pdf文件 + if (future8 != null) { + if (StringUtils.isNotBlank(future8.get())) { + File file = new File(docPdfComponent.getUploadTemplateUrl() + future8.get()); + filesList.add(file); + } + } + } else {//贷款 + SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(dto.getBusSid()).getData(); + if (loanSolutions != null) { + if (StringUtils.isBlank(loanSolutions.getTypeKey())) { + //担保 + } else { + //非担保 + } + } + } if ("2".equals(appOrderDetailsVo.getPayTypeKey())) { Future future10 = pool.submit(() -> { return getRisk(appOrderDetailsVo, dto); diff --git a/anrui-base/anrui-base-biz/src/main/resources/ftl/carContract.ftl b/anrui-base/anrui-base-biz/src/main/resources/ftl/carContract.ftl new file mode 100644 index 0000000000..642886537c --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/resources/ftl/carContract.ftl @@ -0,0 +1,1541 @@ + + + + + Administrator + 孟哲 底 + 2 + 0 + 2024-02-21T01:04:00Z + 2024-02-21T01:04:00Z + 1 + 86 + 493 + CHINA + 4 + 1 + 578 + 16 + + + 2052-12.1.0.16250 + F8140F1EA6284E39B1433097E0F6AAD5_12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 合同编号: + + + + + + + + + + + ${contractNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 甲方: + + + + + + + + + + + ${invoiceName!} + + + + + + + + + + + + + + + + + + + + + + + + 乙方: + + + + + + + + + + + ${Yf!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 签订日期: + + + + + + + + + + + + + + + + + + + + + ${date!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 甲、乙双方经协商就车辆登记事宜达成一致订立本合同,共同遵守执行。 + + + + + + + + + + + + + + + + + + + + + 一、车辆出售方 + + + + + + + + + + + + + + + + + + + + + ${createOrgName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 二、车辆信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 品牌 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 车架号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 发动机号 + + + + + <#list carLists as car> + + + + + + + + + + + + + + + + + + + + + + + + + ${car_index+1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${car.brand!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${car.vinNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${car.enginNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 三、车辆登记 + + + + + + + + + + + + + + + + + + + + 甲方同意乙方将其购买的上述车辆发票开至甲方名下,并同意将车辆登记在甲方名下。 + + + + + + + + + + + + + + + + + + + 四、权利义务 + + + + + + + + + + + + + + + + + + + 甲方不是车辆所有权人。甲方有义务协助乙方办理 + + + + + + + + + 车辆购置税、登记、营运、抵押、事故处理、保险理赔等手续。 + + + + + + + + + 甲方不得用车辆进行债务担保,不得转让、变卖、出租车辆。 + + + + + + + + + + + + + + + + + + + + + 五、车辆经营 + + + + + + + + + + + + + + + + + + + + + 甲方不得干涉乙方经营车辆。车辆由乙方自主经营,自负盈亏。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 甲方: 乙方: + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/resources/ftl/dai_existingvehicles.ftl b/anrui-base/anrui-base-biz/src/main/resources/ftl/dai_existingvehicles.ftl new file mode 100644 index 0000000000..b4678fd0d6 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/resources/ftl/dai_existingvehicles.ftl @@ -0,0 +1,2879 @@ + + + + + tianlong ma + 孟哲 底 + 2 + 0 + 2024-02-21T03:50:00Z + 2024-02-21T03:50:00Z + 1 + 176 + 1009 + 8 + 2 + 1183 + 16 + + + 2052-12.1.0.16250 + 6F572EF574EC404788BBCC6BAF8548AB_12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 新车买卖合同(现车 + + + + + + + + + + ) + + + + + + + + + + + + + + + + + + 合同 + + + + + + + + + + + + + + + + 号: + + + + + + + + ${contractNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (出卖方) : + + + + + + + + + + + + + + + + + + + + + + ${createOrgName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (买受方): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 证件 + + + + + + + + + + 号码: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 户籍/注册地址 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 从甲方以 + + + + + + + + + + 全款方式 + + + + + + + + + + + 购买现车,现将双方权利和义务约定如下: + + + + + + + + + + + + + + + + + + + + + + + 一、 标的车辆基本信 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <#if modelName??> + + + + + + + + + + + + + + + + + + + + + ${modelName!} + + + + <#if modelConfig??> + + + + + + + + + + + + + + + + + + + + + ${modelConfig!} + + + + <#if modelConfigs??> + + + + + + + + + + + + + + + + + + + + + ${modelConfigs!} + + + + <#if publicModel??> + + + + + + + + + + + + + + + + + + + + + ${publicModel!} + + + + <#if topName??> + + + + + + + + + + + + + + + + + + + + + ${topName!} + + + + <#if trailerName??> + + + + + + + + + + + + + + + + + + + + + ${trailerName!} + + + + <#if remarks??> + + + + + + + + + + + + + + + + + + + + + ${remarks!} + + + + <#if discountDetail??> + + + + + + + + + + + + + + + + + + + + + ${discountDetail!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 二、 + + + + + + + + + + 车辆总价 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${totalPrice!} + + + + + + + + + + + + + + + + + + + + + 元(大写 + + + + + + + + + + + + + + + + + + + + + + ${priceRemarks!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + )。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 、乙方 + + + + + + + + + + 在签订合同当日 + + + + + + + + + + 向甲方交纳订金 + + + + + + + + + + + + + + + + + + + + + + ${depositTotal!} + + + + + + + + + + + + + + + + + + + + + 元, 乙方提车时交清全部车款。甲方未收到全款前, 车辆所有 + + + + + + + + + + 权归甲方所有 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 四、车辆交 + + + + + + + + + + 付地点 + + + + + + + + + + + + + + + + + + + + + + ${address!} + + + + + + + + + + + + + + + + + + + + + ,乙方自提。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 乙方或乙方授权的提车人提车时需按照合同约定的车辆信息对车况及随车工具进行验收,验 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 异议的, + + + + + + + + + + 乙方接收车辆 + + + + + + + + + + ,自此,车辆毁损、灭失的风险以及对第三人的侵权责任由乙方 + + + + + + + + + + 承担。乙 + + + + + + + + + + + + + + + + + + + + 提车上路时必须办理车辆临牌和保险,未办理临牌和保险产生的后果全部由乙方承担。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 甲方负责提供车辆合格证及发票 + + + + + + + + + + + ,甲方所提供的发票,不作为乙方支付款项的依据 + + + + + + + + + + + 。由于车 + + + + + + + + + + 辆自身问题等甲方原因导致车辆不能登记上牌的, + + + + + + + + + + + + + + + + + + + 由甲方负 + + + + + + + + + + + + + + + + + + + + 解决; 由于乙方未按有关规定时限及时办理车辆登记上牌手续或车辆注册登记所在公司的 + + + + + + + + + + + + + + + + + + + 问题 + + + + + + + + + + + + + + + + + + + + 非甲方原因导致不能办理车辆登记上牌手续的, 由乙方自行解决。 + + + + + + + + + + + + + + + + + + + + + + 七、乙方交纳订金后在 10 日内不提车的,视为乙方单方放 + + + + + + + + + + 弃购车, 甲方有权将车辆另行处置, 订 + + + + + + + + + + + + + + + + + + + 金不退。 + + + + + + + + + + + + + + + + + + + + 果甲方同意乙方继续履行合同的,有权要求乙方每日按合同总价款的千分之一承担违约金。 + + + + + + + + + + + + + + + + + + + + + + 乙方交纳订金后,因甲方原因导致乙方不能提车的,甲方退还乙方订金,合同终止不再履行 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 八、 + + + + + + + + + + + + + + + + + + + + 合同发生争议协商解决,协商不成向甲方所在地人民法院起诉解决。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 、本合同双方签字或盖章之时生效。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 甲方: + + + + + + + + + + + + + + + + + + + + 乙方: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${year!} + + + + + + + + + + + + + + + + + + + + ${month!} + + + + + + + + + + + + + + + + + + + + ${day!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${year!} + + + + + + + + + + + + + + + + + + + + ${month!} + + + + + + + + + + + + + + + + + + + + ${day!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl b/anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl index 566f5d97eb..87a42f149d 100644 --- a/anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl +++ b/anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl @@ -964,7 +964,7 @@ - ${createOrgName!} + ${createOrgName!} @@ -1589,7 +1589,7 @@ - ${totalPrice!} + ${totalPrice!} @@ -1632,7 +1632,7 @@ - ${priceRemarks!} + ${priceRemarks!} @@ -1736,7 +1736,7 @@ - ${depositTotal!} + ${depositTotal!} @@ -1831,7 +1831,7 @@ - ${address!} + ${address!} @@ -2359,7 +2359,11 @@ - ${invoiceName!} + <#if invoiceName??> + ${invoiceName!} + <#else> + + @@ -2402,7 +2406,11 @@ - ${invoiceNo!} + <#if invoiceNo??> + ${invoiceNo!} + <#else> + + @@ -2480,6 +2488,17 @@ + + + + + + + + + + +