From d880597d62c8c84d4eac073c531c437c51033696 Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Thu, 6 Apr 2023 14:27:59 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E7=A5=A8=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../finvehicleinvoice/FinVehicleInvoice.java | 116 +++++++++
.../FinVehicleInvoiceDetailsVo.java | 61 +++++
.../FinVehicleInvoiceDto.java | 70 ++++++
.../FinVehicleInvoiceExportVo.java | 38 +++
.../FinVehicleInvoiceFeign.java | 78 ++++++
.../FinVehicleInvoiceFeignFallback.java | 83 ++++++
.../FinVehicleInvoiceQuery.java | 68 +++++
.../FinVehicleInvoiceVo.java | 74 ++++++
.../FinVehicleInvoiceMapper.java | 50 ++++
.../FinVehicleInvoiceMapper.xml | 85 +++++++
.../FinVehicleInvoiceRest.java | 238 ++++++++++++++++++
.../FinVehicleInvoiceService.java | 169 +++++++++++++
doc/databases/fin_tables.sql | 32 ++-
13 files changed, 1161 insertions(+), 1 deletion(-)
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java
create mode 100644 anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceVo.java
create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml
create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
create mode 100644 anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java
new file mode 100644
index 0000000000..213a46e19d
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java
@@ -0,0 +1,116 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoice.java
+ * Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice
+ * Description: 车辆发票信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "车辆发票信息", description = "车辆发票信息")
+@TableName("fin_vehicle_invoice")
+@Data
+public class FinVehicleInvoice extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("销售申请sid")
+ private String Sid;
+
+ @ApiModelProperty("版本锁")
+ private Integer lockVersion;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("创建时间")
+ private Date createTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("修改时间")
+ private Date modifyTime;
+
+ @ApiModelProperty("是否可用:1可用,0不可用")
+ private Integer isEnable;
+
+ @ApiModelProperty("开票状态:0未开票,1已开票,2作废")
+ private Integer state;
+
+ @ApiModelProperty("是否删除:0未删除,1已删除")
+ private Integer isDelete;
+
+ @ApiModelProperty("备注")
+ private String remarks;
+
+ @ApiModelProperty("创建人sid")
+ private String createBySid;
+
+ @ApiModelProperty("修改人sid")
+ private String updateBySid;
+
+ @ApiModelProperty("车辆sid")
+ private String vehicleSid;
+
+ @ApiModelProperty("车架号")
+ private String VIN;
+
+ @ApiModelProperty("车辆类型Key")
+ private String vehicleTypeKey;
+
+ @ApiModelProperty("车辆类型")
+ private String vehicleType;
+
+ @ApiModelProperty("车辆金额")
+ private BigDecimal vehiclAmount;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("最大发票开票日期")
+ private Date invoiceDate;
+
+ @ApiModelProperty("发票号")
+ private String invoiceNo;
+
+ @ApiModelProperty("发票代码")
+ private String invoiceCode;
+
+ @ApiModelProperty("车辆发票金额")
+ private BigDecimal invoiceAmount;
+
+ @ApiModelProperty("发票类别Key(增值税专用发票/机动车销售统一发票/增值税普通发票)")
+ private String invoiceTypeKey;
+
+ @ApiModelProperty("发票类别")
+ private String invoiceType;
+
+ @ApiModelProperty("开票单位")
+ private String invoiceTitle;
+
+ @ApiModelProperty("移交状态:0未交接,1已交接")
+ private String invoiceState;
+
+ @ApiModelProperty("客户名称")
+ private String customerName;
+
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+
+ @ApiModelProperty("合同编号")
+ private String contractNo;
+
+ @ApiModelProperty("图片地址")
+ private String filePath;
+
+}
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java
new file mode 100644
index 0000000000..14172787ff
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java
@@ -0,0 +1,61 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/4/5 20:30
+ */
+@Data
+public class FinVehicleInvoiceDetailsVo implements Vo {
+
+ @ApiModelProperty("sid")
+ private String sid;
+
+ @ApiModelProperty("开票单位")
+ private String invoiceTitle;
+
+ @ApiModelProperty("合同编号")
+ private String contractNo;
+
+ @ApiModelProperty("客户名称")
+ private String customerName;
+
+ @ApiModelProperty("车架号")
+ private String VIN;
+
+ @ApiModelProperty("发票类别")
+ private String invoiceType;
+
+ @ApiModelProperty("车辆发票金额")
+ private BigDecimal invoiceAmount;
+
+ @ApiModelProperty("开票状态:0未开票,1已开票,2作废")
+ private String state;
+
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+
+ @ApiModelProperty("开票人")
+ private String name;
+
+ @ApiModelProperty("开票时间")
+ private String createTime;
+
+ @ApiModelProperty("发票号")
+ private String invoiceNo;
+
+ @ApiModelProperty("发票代码")
+ private String invoiceCode;
+
+ @ApiModelProperty("图片地址")
+ private String filePath;
+
+}
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
new file mode 100644
index 0000000000..caddca0cc7
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
@@ -0,0 +1,70 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: LoanVehicleInvoiceDto.java
+ * Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto
+ * Description: 车辆发票信息 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "车辆发票信息 数据传输对象", description = "车辆发票信息 数据传输对象")
+@Data
+public class FinVehicleInvoiceDto implements Dto {
+
+
+ @ApiModelProperty("开票单位")
+ private String invoiceTitle;
+
+ @ApiModelProperty("合同编号")
+ private String contractNo;
+
+ @ApiModelProperty("客户名称")
+ private String customerName;
+
+ @ApiModelProperty("车架号")
+ private String VIN;
+
+ @ApiModelProperty("发票类别")
+ private String invoiceType;
+
+ @ApiModelProperty("车辆发票金额")
+ private BigDecimal invoiceAmount;
+
+ @ApiModelProperty("开票状态:0未开票,1已开票,2作废")
+ private String state;
+
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+
+ @ApiModelProperty("开票人")
+ private String name;
+
+ @ApiModelProperty("开票时间")
+ private String createTime;
+
+ @ApiModelProperty("发票号")
+ private String invoiceNo;
+
+ @ApiModelProperty("发票代码")
+ private String invoiceCode;
+
+ @ApiModelProperty("图片地址")
+ private String filePath;
+
+}
\ No newline at end of file
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java
new file mode 100644
index 0000000000..9b51dc8eb1
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java
@@ -0,0 +1,38 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+import com.yxt.common.core.utils.ExportEntityMap;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/4/4 17:40
+ */
+@Data
+public class FinVehicleInvoiceExportVo implements Vo {
+
+
+ @ExportEntityMap(CnName = "序号", EnName = "rankNo")
+ private Integer rankNo;
+ @ExportEntityMap(CnName = "发票状态", EnName = "state")
+ private String state;
+ @ExportEntityMap(CnName = "交接状态", EnName = "invoiceState")
+ private String invoiceState;
+ @ExportEntityMap(CnName = "开票类型", EnName = "invoiceType")
+ private String invoiceType;
+ @ExportEntityMap(CnName = "合同编号", EnName = "contractNo")
+ private String contractNo;
+ @ExportEntityMap(CnName = "客户名称", EnName = "customerName")
+ private String customerName;
+ @ExportEntityMap(CnName = "车架号", EnName = "VIN")
+ private String VIN;
+ @ExportEntityMap(CnName = "开票名称", EnName = "invoiceName")
+ private String invoiceName;
+ @ExportEntityMap(CnName = "开票金额", EnName = "invoiceAmount")
+ private String invoiceAmount;
+ @ExportEntityMap(CnName = "开票日期", EnName = "createTime")
+ private String createTime;
+ @ExportEntityMap(CnName = "发票代码", EnName = "invoiceCode")
+ private String invoiceCode;
+}
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
new file mode 100644
index 0000000000..5ab6615af5
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
@@ -0,0 +1,78 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import java.util.List;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoiceFeign.java
+ * Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign
+ * Description: 车辆发票信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "车辆发票信息")
+@FeignClient(
+ contextId = "anrui-fin-FinVehicleInvoice",
+ name = "anrui-fin",
+ path = "v1/finvehicleinvoice",
+ fallback = FinVehicleInvoiceFeignFallback.class)
+public interface FinVehicleInvoiceFeign {
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq);
+
+ @ApiOperation("根据条件查询所有数据列表")
+ @PostMapping("/listAll")
+ public ResultBean> listAll(@RequestBody FinVehicleInvoiceQuery query);
+
+ @ApiOperation("所有数据列表")
+ @GetMapping("/list")
+ public ResultBean> list();
+
+ @ApiOperation("新增保存")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody FinVehicleInvoiceDto dto);
+
+ @ApiOperation("修改保存")
+ @PostMapping("/update/{sid}")
+ public ResultBean update(@RequestBody FinVehicleInvoiceDto dto, @PathVariable("sid") String sid);
+
+ @ApiOperation("图片上传")
+ @ApiImplicitParam(name = "file", value = "文件", required = true, dataType = "MultipartFile", dataTypeClass = MultipartFile.class)
+ @PostMapping("/pictureUpload")
+ public ResultBean pictureUpload(@RequestParam(value = "sid")String sid,@RequestParam(value = "file") MultipartFile file);
+
+ @ApiOperation("删除记录")
+ @GetMapping("/del/{ids}")
+ public ResultBean del(@PathVariable("ids") String ids);
+
+ @ApiOperation("获取一条记录")
+ @GetMapping("/fetch/{id}")
+ public ResultBean fetch(@PathVariable("id") String id);
+
+ @ApiOperation("获取详情记录")
+ @GetMapping("/fetchSid/{sid}")
+ public ResultBean fetchBySid(@PathVariable("sid") String sid);
+
+ @PostMapping("/exportExcel")
+ @ApiOperation(value = "车辆发票信息列表导出")
+ @ResponseBody
+ public void exportExcel(@RequestBody FinVehicleInvoiceQuery query);
+
+
+}
\ No newline at end of file
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
new file mode 100644
index 0000000000..2fb434c2d6
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
@@ -0,0 +1,83 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoiceFeignFallback.java
+ * Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeignFallback
+ * Description: 车辆发票信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Component
+public class FinVehicleInvoiceFeignFallback implements FinVehicleInvoiceFeign {
+
+ @Override
+ public ResultBean> listPage(PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-fin/finvehicleinvoice/listPage无法访问");
+ }
+
+ @Override
+ public ResultBean> listAll(FinVehicleInvoiceQuery query){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-fin/finvehicleinvoice/listAll无法访问");
+ }
+
+ @Override
+ public ResultBean> list(){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-fin/finvehicleinvoice/list无法访问");
+ }
+
+ @Override
+ public ResultBean save(FinVehicleInvoiceDto dto){
+ return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/save无法访问");
+ }
+
+ @Override
+ public ResultBean update(FinVehicleInvoiceDto dto, String sid){
+ return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/update无法访问");
+ }
+
+ @Override
+ public ResultBean pictureUpload(String sid, MultipartFile file) {
+ return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/pictureUpload无法访问");
+ }
+
+ @Override
+ public ResultBean del(String ids){
+ return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/del无法访问");
+ }
+
+ @Override
+ public ResultBean fetch(String id){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-fin/finvehicleinvoice/fetch无法访问");
+ }
+
+ @Override
+ public ResultBean fetchBySid(String sid){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-fin/finvehicleinvoice/fetch无法访问");
+ }
+
+ @Override
+ public void exportExcel(FinVehicleInvoiceQuery query) {
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java
new file mode 100644
index 0000000000..4b4dc75cfa
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java
@@ -0,0 +1,68 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoiceQuery.java
+ * Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceQuery
+ * Description: 车辆发票信息 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "车辆发票信息 查询条件", description = "车辆发票信息 查询条件")
+@Data
+public class FinVehicleInvoiceQuery implements Query {
+
+
+ @ApiModelProperty(value = "sids", required = false)
+ private List sids;
+
+ @ApiModelProperty("开票单位")
+ private String invoiceTitle;
+
+ @ApiModelProperty("发票类别")
+ private String invoiceType;
+
+ @ApiModelProperty("合同编号")
+ private String contractNo;
+
+ @ApiModelProperty("客户名称")
+ private String customerName;
+
+ @ApiModelProperty("车架号")
+ private String VIN;
+
+ @ApiModelProperty("发票状态")
+ private String state;
+
+ @ApiModelProperty("移交状态")
+ private String invoiceState;
+
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+
+ @ApiModelProperty("开票开始日期")
+ private String createStartTime ;
+
+ @ApiModelProperty("开票结束日期")
+ private String createEndTime ;
+
+ @ApiModelProperty("发票代码")
+ private String invoiceCode;
+
+}
diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceVo.java
new file mode 100644
index 0000000000..f745c4a978
--- /dev/null
+++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceVo.java
@@ -0,0 +1,74 @@
+package com.yxt.anrui.fin.api.finvehicleinvoice;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoiceVo.java
+ * Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo
+ * Description: 车辆发票信息 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "车辆发票信息 视图数据对象", description = "车辆发票信息 视图数据对象")
+@Data
+public class FinVehicleInvoiceVo implements Vo {
+
+
+ @ApiModelProperty("车辆发票信息Sid")
+ private String Sid;
+
+ @ApiModelProperty("发票状态")
+ private String state;
+
+ @ApiModelProperty("交接状态")
+ private String invoiceState;
+
+ @ApiModelProperty("开票单位")
+ private String invoiceTitle;
+
+ @ApiModelProperty("开票类型")
+ private String invoiceType;
+
+ @ApiModelProperty("合同编号")
+ private String contractNo;
+
+ @ApiModelProperty("客户名称")
+ private String customerName;
+
+ @ApiModelProperty("车架号")
+ private String VIN;
+
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+
+ @ApiModelProperty("开票金额")
+ private String invoiceAmount;
+
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("开票日期")
+ private Date createTime;
+
+ @ApiModelProperty("发票代码")
+ private String invoiceCode;
+
+ @ApiModelProperty("发票号")
+ private String invoiceNo;
+
+ @ApiModelProperty("发票图片")
+ private String filePath;
+
+}
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
new file mode 100644
index 0000000000..b0fbd7a8cb
--- /dev/null
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
@@ -0,0 +1,50 @@
+package com.yxt.anrui.fin.biz.finvehicleinvoice;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice;
+import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo;
+import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceExportVo;
+import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoiceMapper.java
+ * Class: com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceMapper
+ * Description: 车辆发票信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface FinVehicleInvoiceMapper extends BaseMapper {
+
+ //@Update("update fin_vehicle_invoice set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from fin_vehicle_invoice where isDelete = '0'")
+ List selectListVo();
+
+ List selByExcel(@Param(Constants.WRAPPER)QueryWrapper qw);
+
+
+ Boolean updatePictureBySid(String state,String filePath,String sid);
+
+ FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid);
+}
\ No newline at end of file
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml
new file mode 100644
index 0000000000..2f45cad704
--- /dev/null
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update fin_vehicle_invoice
+ Set
+ `state` = #{arg0},
+ filePath = #{arg1}
+ Where sid = #{arg2}
+
+
\ No newline at end of file
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
new file mode 100644
index 0000000000..9b21baf070
--- /dev/null
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
@@ -0,0 +1,238 @@
+package com.yxt.anrui.fin.biz.finvehicleinvoice;
+import com.yxt.anrui.fin.api.finvehicleinvoice.*;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.utils.ExportExcelUtils;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.FileUploadResult;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoiceFeignFallback.java
+ * Class: com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceRest
+ * Description: 车辆发票信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "车辆发票信息")
+@RestController
+@RequestMapping("v1/finvehicleinvoice")
+public class FinVehicleInvoiceRest implements FinVehicleInvoiceFeign {
+
+ @Autowired
+ private FinVehicleInvoiceService finVehicleInvoiceService;
+
+ @Resource
+ private FileUploadComponent fileUploadComponent;
+
+ @Autowired
+ private HttpServletResponse response;
+
+ private List setVo(List list) {
+ for (FinVehicleInvoiceVo finVehicleInvoiceVo : list) {
+ if (StringUtils.isNotBlank(finVehicleInvoiceVo.getState())) {
+ String state = finVehicleInvoiceVo.getState();
+ if (state.equals("0")) {
+ finVehicleInvoiceVo.setState("未开票");
+ }else if (state.equals("1")) {
+ finVehicleInvoiceVo.setState("已开票");
+ }else if (state.equals("2")) {
+ finVehicleInvoiceVo.setState("作废");
+ }
+ }
+ if (StringUtils.isNotBlank(finVehicleInvoiceVo.getInvoiceState())) {
+ String invoiceState = finVehicleInvoiceVo.getInvoiceState();
+ if (invoiceState.equals("0")) {
+ finVehicleInvoiceVo.setInvoiceState("未移交");
+ } else if (invoiceState.equals("1")) {
+ finVehicleInvoiceVo.setInvoiceState("已移交");
+ }
+ }
+ if (StringUtils.isNotBlank(finVehicleInvoiceVo.getFilePath())) {
+ String filePath = finVehicleInvoiceVo.getFilePath();
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ filePath = urlPrefix + filePath;
+ finVehicleInvoiceVo.setFilePath(filePath);
+ }
+ }
+ return list;
+ }
+
+ @Override
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = finVehicleInvoiceService.listPageVo(pq);
+ List records = pv.getRecords();
+ List finVehicleInvoiceVos = setVo(records);
+ pv.setRecords(finVehicleInvoiceVos);
+ return rb.success().setData(pv);
+ }
+
+ @Override
+ public ResultBean> listAll(@RequestBody FinVehicleInvoiceQuery query){
+ ResultBean rb = ResultBean.fireFail();
+ List list = finVehicleInvoiceService.listAllVo(query);
+ List finVehicleInvoiceVos = setVo(list);
+ return rb.success().setData(finVehicleInvoiceVos);
+ }
+
+ @Override
+ public ResultBean> list(){
+ ResultBean rb = ResultBean.fireFail();
+ List list = finVehicleInvoiceService.listVo();
+ List finVehicleInvoiceVos = setVo(list);
+ return rb.success().setData(finVehicleInvoiceVos);
+ }
+
+ @Override
+ public ResultBean save(FinVehicleInvoiceDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ finVehicleInvoiceService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @Override
+ public ResultBean update(FinVehicleInvoiceDto dto,String sid){
+ ResultBean rb = ResultBean.fireFail();
+ finVehicleInvoiceService.updateBySid(dto.toMap(),sid);
+ return rb.success();
+ }
+
+ @Override
+ public ResultBean del(String ids){
+ ResultBean rb = ResultBean.fireFail();
+ finVehicleInvoiceService.delByIds(ids);
+ return rb.success();
+ }
+
+ @Override
+ public ResultBean fetch(String id){
+ ResultBean rb = ResultBean.fireFail();
+ FinVehicleInvoiceVo vo = finVehicleInvoiceService.fetchByIdVo(id);
+ return rb.success().setData(vo);
+ }
+
+ @Override
+ public ResultBean fetchBySid(String sid){
+ ResultBean rb = ResultBean.fireFail();
+ FinVehicleInvoiceDetailsVo vo = finVehicleInvoiceService.getInvoiceDetailsBySid(sid);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ if (StringUtils.isNotBlank(vo.getState())) {
+ String state = vo.getState();
+ if (state.equals("0")) {
+ vo.setState("未开票");
+ }else if (state.equals("1")) {
+ vo.setState("已开票");
+ }else if (state.equals("2")) {
+ vo.setState("作废");
+ }
+ }
+ if (StringUtils.isNotBlank(vo.getCreateTime())) {
+ String createTime = vo.getCreateTime();
+ try {
+ Date date = sdf.parse(createTime);
+ String createTimeBySdf = sdf.format(date);
+ vo.setCreateTime(createTimeBySdf);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ if (StringUtils.isNotBlank(vo.getFilePath())) {
+ String filePath = vo.getFilePath();
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ filePath = urlPrefix + filePath;
+ vo.setFilePath(filePath);
+ }
+ return rb.success().setData(vo);
+ }
+
+ @Override
+ public void exportExcel(FinVehicleInvoiceQuery query) {
+ //得到所有要导出的数据
+ List invoiceExportVoList = finVehicleInvoiceService.listExcel(query);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ for (FinVehicleInvoiceExportVo invoiceExportVo : invoiceExportVoList) {
+ if (StringUtils.isNotBlank(invoiceExportVo.getState())) {
+ String state = invoiceExportVo.getState();
+ if (state.equals("0")) {
+ invoiceExportVo.setState("未开票");
+ }else if (state.equals("1")) {
+ invoiceExportVo.setState("已开票");
+ }else if (state.equals("2")) {
+ invoiceExportVo.setState("作废");
+ }
+ }
+ if (StringUtils.isNotBlank(invoiceExportVo.getInvoiceState())) {
+ String invoiceState = invoiceExportVo.getInvoiceState();
+ if (invoiceState.equals("0")) {
+ invoiceExportVo.setInvoiceState("未移交");
+ } else if (invoiceState.equals("1")) {
+ invoiceExportVo.setInvoiceState("已移交");
+ }
+ }
+ if (StringUtils.isNotBlank(invoiceExportVo.getCreateTime())) {
+ String createTime = invoiceExportVo.getCreateTime();
+ try {
+ Date date = sdf.parse(createTime);
+ String createTimeBySdf = sdf.format(date);
+ invoiceExportVo.setCreateTime(createTimeBySdf);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ //定义导出的excel名字
+ String excelName = "车辆发票信息列表";
+ String fileNameURL = "";
+ try {
+ fileNameURL = URLEncoder.encode(excelName, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ //导出车辆管理列表
+ ExportExcelUtils.export(fileNameURL, invoiceExportVoList, FinVehicleInvoiceExportVo.class, response);
+ }
+
+ @Override
+ public ResultBean pictureUpload(String sid,MultipartFile file) {
+ ResultBean rb = ResultBean.fireFail();
+ if (file == null || file.isEmpty()) {
+ return rb.setMsg("文件为空");
+ }
+ rb = fileUploadComponent.uploadFile(file);
+ FileUploadResult data = (FileUploadResult) rb.getData();
+ FinVehicleInvoiceDetailsVo invoice= finVehicleInvoiceService.getInvoiceDetailsBySid(sid);
+ invoice.setFilePath(data.getFilePath());
+ String filePath = invoice.getFilePath();
+ invoice.setState("1");
+ String state = invoice.getState();
+ Boolean isSuccess = finVehicleInvoiceService.updatePictureBySid(state,filePath,sid);
+ if (isSuccess) {
+ return rb.success().setMsg("上传成功");
+ }else {
+ return rb.fail().setMsg("上传失败");
+ }
+ }
+}
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java
new file mode 100644
index 0000000000..8acfd9f145
--- /dev/null
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java
@@ -0,0 +1,169 @@
+package com.yxt.anrui.fin.biz.finvehicleinvoice;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.fin.api.finvehicleinvoice.*;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.vo.PagerVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: anrui-fin(财务管理)
+ * File: FinVehicleInvoiceService.java
+ * Class: com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceService
+ * Description: 车辆发票信息 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-27 09:36:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class FinVehicleInvoiceService extends MybatisBaseService {
+ public PagerVo listPage(PagerQuery pq) {
+ FinVehicleInvoiceQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public List listAll(FinVehicleInvoiceQuery query) {
+ QueryWrapper qw = createQueryWrapper(query);
+ return baseMapper.selectList(qw);
+ }
+
+ private QueryWrapper createQueryWrapper(FinVehicleInvoiceQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+
+ qw.eq("isDelete", "0");
+ if (StringUtils.isNotBlank(query.getInvoiceTitle())) {
+ qw.like("invoiceTitle", query.getInvoiceTitle());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceType())) {
+ qw.like("invoiceType", query.getInvoiceType());
+ }
+ if (StringUtils.isNotBlank(query.getContractNo())) {
+ qw.like("contractNo", query.getContractNo());
+ }
+ if (StringUtils.isNotBlank(query.getCustomerName())) {
+ qw.like("customerName", query.getCustomerName());
+ }
+ if (StringUtils.isNotBlank(query.getVIN())) {
+ qw.like("VIN", query.getVIN());
+ }
+ if (StringUtils.isNotBlank(query.getState())) {
+ qw.eq("state", query.getState());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceState())) {
+ qw.eq("invoiceState", query.getInvoiceState());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceName())) {
+ qw.like("invoiceName", query.getInvoiceName());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceCode())) {
+ qw.like("invoiceCode", query.getInvoiceCode());
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (vi.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (vi.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ FinVehicleInvoiceQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public List listAllVo(FinVehicleInvoiceQuery query) {
+ QueryWrapper qw = createQueryWrapper(query);
+ return baseMapper.selectListAllVo(qw);
+ }
+
+ public List listVo() {
+ return baseMapper.selectListVo();
+ }
+
+ public void saveOrUpdateDto(FinVehicleInvoiceDto dto) {
+ FinVehicleInvoice entity = new FinVehicleInvoice();
+ dto.fillEntity(entity);
+ this.saveOrUpdate(entity);
+ }
+
+ public FinVehicleInvoiceVo fetchByIdVo(String id) {
+ FinVehicleInvoice entity = this.fetchById(id);
+ FinVehicleInvoiceVo vo = new FinVehicleInvoiceVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public List listExcel(FinVehicleInvoiceQuery query) {
+ QueryWrapper qw = new QueryWrapper<>();
+ qw.eq("isDelete", "0");
+ if (StringUtils.isNotBlank(query.getInvoiceTitle())) {
+ qw.like("invoiceTitle", query.getInvoiceTitle());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceType())) {
+ qw.like("invoiceType", query.getInvoiceType());
+ }
+ if (StringUtils.isNotBlank(query.getContractNo())) {
+ qw.like("contractNo", query.getContractNo());
+ }
+ if (StringUtils.isNotBlank(query.getCustomerName())) {
+ qw.like("customerName", query.getCustomerName());
+ }
+ if (StringUtils.isNotBlank(query.getVIN())) {
+ qw.like("VIN", query.getVIN());
+ }
+ if (StringUtils.isNotBlank(query.getState())) {
+ qw.eq("state", query.getState());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceState())) {
+ qw.eq("invoiceState", query.getInvoiceState());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceName())) {
+ qw.like("invoiceName", query.getInvoiceName());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceCode())) {
+ qw.like("invoiceCode", query.getInvoiceCode());
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (vi.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (vi.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ List invoiceExportVoList = baseMapper.selByExcel(qw);
+ int id = 1;
+ for (FinVehicleInvoiceExportVo invoiceExportVo : invoiceExportVoList) {
+ invoiceExportVo.setRankNo(id);
+ id = id + 1;
+ }
+ return invoiceExportVoList;
+ }
+
+ public FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid) {
+ FinVehicleInvoiceDetailsVo vo = baseMapper.getInvoiceDetailsBySid(sid);
+ return vo;
+ }
+
+ public Boolean updatePictureBySid(String filePath,String state,String sid) {
+ return baseMapper.updatePictureBySid(filePath,state,sid);
+ }
+}
\ No newline at end of file
diff --git a/doc/databases/fin_tables.sql b/doc/databases/fin_tables.sql
index c9d7fb54d0..210134879d 100644
--- a/doc/databases/fin_tables.sql
+++ b/doc/databases/fin_tables.sql
@@ -1088,5 +1088,35 @@ CREATE TABLE `fin_paymentapply_vehicle`
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='付款申请车辆';
-
+-- 车辆发票信息
+DROP TABLE IF EXISTS `fin_vehicle_invoice`;
+CREATE TABLE `fin_vehicle_invoice`
+(
+ `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `sid` varchar(64) NOT NULL COMMENT 'sid',
+ `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
+ `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+ `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
+ `state` int(32) DEFAULT '1' COMMENT '状态',
+ `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
+ `remarks` varchar(255) DEFAULT NULL COMMENT '备注',
+ `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
+ `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
+ `vehicleSid` varchar(64) DEFAULT NULL COMMENT '车辆sid',
+ `VIN` varchar(20) DEFAULT NULL COMMENT '车架号',
+ `vehicleTypeKey` varchar(64) DEFAULT NULL COMMENT '车辆类型Key',
+ `vehicleType` varchar(64) DEFAULT NULL COMMENT '车辆类型',
+ `vehiclAmount` decimal(10, 2) DEFAULT NULL COMMENT '车辆金额',
+ `invoiceDate` timestamp DEFAULT NULL COMMENT '最大发票开票日期',
+ `invoiceNo` varchar(64) DEFAULT NULL COMMENT '发票号',
+ `invoiceCode` varchar(64) DEFAULT NULL COMMENT '发票代码',
+ `invoiceAmount` decimal(10, 2) DEFAULT NULL COMMENT '车辆发票金额',
+ `invoiceTypeKey` varchar(32) DEFAULT NULL COMMENT '发票类别Key(增值税专用发票/机动车销售统一发票/增值税普通发票)',
+ `invoiceType` varchar(64) DEFAULT NULL COMMENT '发票类别',
+ `invoiceTitle` varchar(64) DEFAULT NULL COMMENT '开票单位',
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`)
+) ENGINE = INNODB
+ DEFAULT CHARSET = utf8 COMMENT ='车辆发票信息';