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 1/6] =?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 ='车辆发票信息'; From e9e33b0a95242b6f804b181ff57ecbb79d719b69 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Thu, 6 Apr 2023 15:48:58 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E9=87=91=E8=9E=8D?= =?UTF-8?q?=E6=96=B9=E6=A1=88=E6=8C=89=E6=A0=BC=E5=BC=8F=E6=8B=BC=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bussalesorder/BusSalesOrderDetailsVo.java | 3 + .../api/bussalesorder/OrderSolutionVo.java | 24 + .../app/order/AppOrderDetailsVo.java | 3 + .../bussalesorder/BusSalesOrderService.java | 603 ++++++++++++++++-- .../saleOrders/order/OrderDetailsVo.java | 3 + .../saleOrders/order/OrderSolutionListVo.java | 24 + 6 files changed, 621 insertions(+), 39 deletions(-) create mode 100644 anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/OrderSolutionVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderSolutionListVo.java diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java index e6bc2deb02..492db4b1bc 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java @@ -169,4 +169,7 @@ public class BusSalesOrderDetailsVo implements Vo { private String purchaseSystemSid; private String purchaseSystemName; + @ApiModelProperty("资金来源") + private String financePlanValue; + private String financePlan; } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/OrderSolutionVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/OrderSolutionVo.java new file mode 100644 index 0000000000..9a75959515 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/OrderSolutionVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/6 9:22 + * @Description + */ +@Data +public class OrderSolutionVo { + + @ApiModelProperty(value = "内容") + private String value; + + @ApiModelProperty(value = "单元格大小") + private Integer spanSize; + + @ApiModelProperty("类型:0 最普通的 1 标题的 2是 加上划线的") + private Integer type; + @ApiModelProperty("是否加粗,true是,false否") + private boolean bold; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java index d945119fd0..fd654dba03 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.buscenter.api.bussalesorder.app.order; +import com.yxt.anrui.buscenter.api.bussalesorder.OrderSolutionVo; import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; @@ -134,5 +135,7 @@ public class AppOrderDetailsVo implements Vo { @ApiModelProperty("环节标识") private String taskDefKey; + private List financeForms = new ArrayList<>(); + } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index fe7d76271d..0180988b46 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -630,17 +630,17 @@ public class BusSalesOrderService extends MybatisBaseService solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(sid); - if(solutionsDetailsVoResultBean.getData() != null){ + if (solutionsDetailsVoResultBean.getData() != null) { SolutionsDetailsssVo solutionsDetailsssVo = new SolutionsDetailsssVo(); - BeanUtil.copyProperties(solutionsDetailsVoResultBean.getData(),solutionsDetailsssVo); + BeanUtil.copyProperties(solutionsDetailsVoResultBean.getData(), solutionsDetailsssVo); vo.setSolutionsDetailsssVo(solutionsDetailsssVo); } - if("2".equals(entity.getPayTypeKey())){ + if ("2".equals(entity.getPayTypeKey())) { vo.setFinPlanState(true); - }else{ - if("1".equals(entity.getFinancePlan())){ + } else { + if ("1".equals(entity.getFinancePlan())) { vo.setFinPlanState(false); - }else{ + } else { vo.setFinPlanState(true); } } @@ -3352,19 +3352,544 @@ public class BusSalesOrderService extends MybatisBaseService solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(sid); + List list = new ArrayList<>(); + if (solutionsDetailsVoResultBean.getData() != null) { + SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData(); + StringBuilder typeValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) { + typeValue = typeValue.append("三方金融类型:" + solutionsDetailsVo.getType()); + } else { + typeValue = typeValue.append("三方金融类型:" + "-"); + } + list.add(getValueSpanSize(typeValue.toString(), 1, 0, false)); + if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey()) && "02".equals(solutionsDetailsVo.getTypeKey())) { + list.add(getValueSpanSize("融资项目", 2, 1, true)); + //厂家贴息 + StringBuilder factoryDiscountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) { + factoryDiscountValue = factoryDiscountValue.append("厂家贴息:").append(solutionsDetailsVo.getFactoryDiscount()); + } else { + factoryDiscountValue = factoryDiscountValue.append("厂家贴息:").append("-"); + } + list.add(getValueSpanSize(factoryDiscountValue.toString(), 1, 0, false)); + //厂家贴息用途 + StringBuilder factoryDiscountUseValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscountUse())) { + factoryDiscountUseValue = factoryDiscountUseValue.append("厂家贴息用途:").append(solutionsDetailsVo.getFactoryDiscountUse()); + } else { + factoryDiscountUseValue = factoryDiscountUseValue.append("厂家贴息用途:").append("-"); + } + list.add(getValueSpanSize(factoryDiscountUseValue.toString(), 1, 0, false)); + list.add(getValueSpanSize("应收明细", 2, 1, true)); + //服务费 + StringBuilder serviceAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getServiceAmount())) { + serviceAmountValue = serviceAmountValue.append("服务费:").append(solutionsDetailsVo.getServiceAmount()); + } else { + serviceAmountValue = serviceAmountValue.append("服务费:").append("-"); + } + list.add(getValueSpanSize(serviceAmountValue.toString(), 2, 0, false)); + } else { + //是否打包 + StringBuilder isPackValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getIsPack())) { + if ("1".equals(solutionsDetailsVo.getIsPack())) { + isPackValue = isPackValue.append("是否打包:").append("是"); + } else { + isPackValue = isPackValue.append("是否打包:").append("否"); + } + } else { + isPackValue = isPackValue.append("是否打包:").append("-"); + } + list.add(getValueSpanSize(isPackValue.toString(), 1, 0, false)); + //资方及产品政策 + StringBuilder polivyNameValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getPolicyName())) { + polivyNameValue = polivyNameValue.append("资方及产品政策:").append(solutionsDetailsVo.getPolicyName()); + } else { + polivyNameValue = polivyNameValue.append("资方及产品政策:").append("-"); + } + list.add(getValueSpanSize(polivyNameValue.toString(), 2, 0, false)); + //标题 + list.add(getValueSpanSize("融资项目", 2, 1, true)); + //融资项目总额 + StringBuilder loanTotalValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getLoanTotal())) { + loanTotalValue = loanTotalValue.append("融资项目总额:").append(solutionsDetailsVo.getLoanTotal()); + + } else { + loanTotalValue = loanTotalValue.append("融资项目总额:").append("-"); + } + list.add(getValueSpanSize(loanTotalValue.toString(), 2, 0, false)); + //主车发票价 + StringBuilder mainVehicleAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getMainVehicleAmount())) { + mainVehicleAmountValue = mainVehicleAmountValue.append("\t").append("主车发票价:").append(solutionsDetailsVo.getMainVehicleAmount()); + } else { + mainVehicleAmountValue = mainVehicleAmountValue.append("\t").append("主车发票价:").append("-"); + } + list.add(getValueSpanSize(mainVehicleAmountValue.toString(), 1, 0, false)); + //融资票据 + StringBuilder accessoriesAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getAccessoriesAmount())) { + accessoriesAmountValue = accessoriesAmountValue.append("\t").append("融资票据:").append(solutionsDetailsVo.getAccessoriesAmount()); + + } else { + accessoriesAmountValue = accessoriesAmountValue.append("\t").append("融资票据:").append("-"); + } + list.add(getValueSpanSize(accessoriesAmountValue.toString(), 1, 0, false)); + //挂车 + StringBuilder trailerAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getTrailerAmount())) { + trailerAmountValue = trailerAmountValue.append("\t").append("挂车:").append(solutionsDetailsVo.getTrailerAmount()); + + } else { + trailerAmountValue = trailerAmountValue.append("\t").append("挂车:").append("-"); + } + list.add(getValueSpanSize(trailerAmountValue.toString(), 1, 0, false)); + //保险 + StringBuilder premiumValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getPremium())) { + premiumValue = premiumValue.append("\t").append("保险:").append(solutionsDetailsVo.getPremium()); + + } else { + premiumValue = premiumValue.append("\t").append("保险:").append("-"); + } + list.add(getValueSpanSize(premiumValue.toString(), 1, 0, false)); + //购置税 + StringBuilder purchaseTaxValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getPurchaseTax())) { + purchaseTaxValue = purchaseTaxValue.append("\t").append("购置税:").append(solutionsDetailsVo.getPurchaseTax()); + } else { + purchaseTaxValue = purchaseTaxValue.append("\t").append("购置税:").append("-"); + } + list.add(getValueSpanSize(purchaseTaxValue.toString(), 1, 0, false)); + //车损上浮 + StringBuilder vehDamageFloatValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getVehDamageFloat())) { + vehDamageFloatValue = vehDamageFloatValue.append("\t").append("车损上浮:").append(solutionsDetailsVo.getVehDamageFloat()); + + } else { + vehDamageFloatValue = vehDamageFloatValue.append("\t").append("车损上浮:").append("-"); + } + list.add(getValueSpanSize(vehDamageFloatValue.toString(), 1, 0, false)); + //首付比例 + StringBuilder downPayRatioValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getDownPayRatio())) { + downPayRatioValue = downPayRatioValue.append("首付比例:").append(solutionsDetailsVo.getDownPayRatio()); + + } else { + downPayRatioValue = downPayRatioValue.append("首付比例:").append("-"); + } + list.add(getValueSpanSize(downPayRatioValue.toString(), 1, 0, false)); + //首付金额 + StringBuilder downPayAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getDownPayAmount())) { + downPayAmountValue = downPayAmountValue.append("首付金额:").append(solutionsDetailsVo.getDownPayAmount()); + + } else { + downPayAmountValue = downPayAmountValue.append("首付金额:").append("-"); + } + list.add(getValueSpanSize(downPayAmountValue.toString(), 1, 0, false)); + //产品贷款金额 + StringBuilder loanAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getLoanAmount())) { + loanAmountValue = loanAmountValue.append("产品贷款金额:").append(solutionsDetailsVo.getLoanAmount()); + + } else { + loanAmountValue = loanAmountValue.append("产品贷款金额:").append("-"); + } + list.add(getValueSpanSize(loanAmountValue.toString(), 1, 0, false)); + //产品期数 + StringBuilder loanPeriodValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getLoanPeriod())) { + loanPeriodValue = loanPeriodValue.append("产品期数:").append(solutionsDetailsVo.getLoanPeriod()); + + } else { + loanPeriodValue = loanPeriodValue.append("产品期数:").append("-"); + } + list.add(getValueSpanSize(loanPeriodValue.toString(), 1, 0, false)); + //贷款保证金比例 + StringBuilder bondRatioValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getBondRatio())) { + bondRatioValue = bondRatioValue.append("贷款保证金比例:").append(solutionsDetailsVo.getBondRatio()); + + } else { + bondRatioValue = bondRatioValue.append("贷款保证金比例:").append("-"); + } + list.add(getValueSpanSize(bondRatioValue.toString(), 1, 0, false)); + //贷款保证金 + StringBuilder bondAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getBondAmount())) { + bondAmountValue = bondAmountValue.append("贷款保证金:").append(solutionsDetailsVo.getBondAmount()); + } else { + bondAmountValue = bondAmountValue.append("贷款保证金:").append("-"); + } + list.add(getValueSpanSize(bondAmountValue.toString(), 1, 0, false)); + //厂家贴息 + StringBuilder factoryDiscountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) { + factoryDiscountValue = factoryDiscountValue.append("厂家贴息:").append(solutionsDetailsVo.getFactoryDiscount()); + } else { + factoryDiscountValue = factoryDiscountValue.append("厂家贴息:").append("-"); + } + list.add(getValueSpanSize(factoryDiscountValue.toString(), 1, 0, false)); + //厂家贴息用途 + StringBuilder factoryDiscountUseValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscountUse())) { + factoryDiscountUseValue = factoryDiscountUseValue.append("厂家贴息用途:").append(solutionsDetailsVo.getFactoryDiscountUse()); + + } else { + factoryDiscountUseValue = factoryDiscountUseValue.append("厂家贴息用途:").append("-"); + } + list.add(getValueSpanSize(factoryDiscountUseValue.toString(), 1, 0, false)); + //年利率 + StringBuilder policyYearRatioValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getPolicyYearRatio())) { + policyYearRatioValue = policyYearRatioValue.append("年利率:").append(solutionsDetailsVo.getPolicyYearRatio()); + + } else { + policyYearRatioValue = policyYearRatioValue.append("年利率:").append("-"); + } + list.add(getValueSpanSize(policyYearRatioValue.toString(), 1, 0, false)); + //利息总额 + StringBuilder loanInterestValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getLoanInterest())) { + loanInterestValue = loanInterestValue.append("利息总额:").append(solutionsDetailsVo.getLoanInterest()); + + } else { + loanInterestValue = loanInterestValue.append("利息总额:").append("-"); + } + list.add(getValueSpanSize(loanInterestValue.toString(), 1, 0, false)); + //月还金额 + StringBuilder loanPayMoneyValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getLoanPayMoney())) { + loanPayMoneyValue = loanPayMoneyValue.append("月还金额:").append(solutionsDetailsVo.getLoanPayMoney()); + + } else { + loanPayMoneyValue = loanPayMoneyValue.append("月还金额:").append("-"); + } + list.add(getValueSpanSize(loanPayMoneyValue.toString(), 2, 0, false)); + if (solutionsDetailsVo.isOtherPolicyState()) { + list.add(getValueSpanSize("其它融", 2, 1, true)); + //其它融名称 + StringBuilder otherPolicyNameValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherPolicyName())) { + otherPolicyNameValue = otherPolicyNameValue.append("其它融名称:").append(solutionsDetailsVo.getOtherPolicyName()); + + } else { + otherPolicyNameValue = otherPolicyNameValue.append("其它融名称:").append("-"); + } + list.add(getValueSpanSize(otherPolicyNameValue.toString(), 2, 0, false)); + //贷款金额 + StringBuilder otherPolicyAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherPolicyAmount())) { + otherPolicyAmountValue = otherPolicyAmountValue.append("贷款金额:").append(solutionsDetailsVo.getOtherPolicyAmount()); + + } else { + otherPolicyAmountValue = otherPolicyAmountValue.append("贷款金额:").append("-"); + } + list.add(getValueSpanSize(otherPolicyAmountValue.toString(), 1, 0, false)); + //期数 + StringBuilder otherPolicyPeriodValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherPolicyPeriod())) { + otherPolicyPeriodValue = otherPolicyPeriodValue.append("期数:").append(solutionsDetailsVo.getOtherPolicyPeriod()); + + } else { + otherPolicyPeriodValue = otherPolicyPeriodValue.append("期数:").append("-"); + } + list.add(getValueSpanSize(otherPolicyPeriodValue.toString(), 1, 0, false)); + + //年利率 + StringBuilder otherPolicyYearRatioValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherPolicyYearRatio())) { + otherPolicyYearRatioValue = otherPolicyYearRatioValue.append("年利率:").append(solutionsDetailsVo.getOtherPolicyYearRatio()); + } else { + otherPolicyYearRatioValue = otherPolicyYearRatioValue.append("年利率:").append("-"); + } + list.add(getValueSpanSize(otherPolicyYearRatioValue.toString(), 1, 0, false)); + //利息总额 + StringBuilder otherPolicyInterestValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherPolicyInterest())) { + otherPolicyInterestValue = otherPolicyInterestValue.append("利息总额:").append(solutionsDetailsVo.getOtherPolicyInterest()); + } else { + otherPolicyInterestValue = otherPolicyInterestValue.append("利息总额:").append("-"); + } + list.add(getValueSpanSize(otherPolicyInterestValue.toString(), 1, 0, false)); + //月还金额 + StringBuilder otherPolicyMonthlyRepayValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherPolicyMonthlyRepay())) { + otherPolicyMonthlyRepayValue = otherPolicyMonthlyRepayValue.append("月还金额:").append(solutionsDetailsVo.getOtherPolicyMonthlyRepay()); + + } else { + otherPolicyMonthlyRepayValue = otherPolicyMonthlyRepayValue.append("月还金额:").append("-"); + } + list.add(getValueSpanSize(otherPolicyPeriodValue.toString(), 2, 0, false)); + } + //方案汇总 + list.add(getValueSpanSize("方案汇总", 2, 1, true)); + //融资首付 + StringBuilder loanDownPayValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getLoanDownPay())) { + loanDownPayValue = loanDownPayValue.append("融资首付:").append(solutionsDetailsVo.getLoanDownPay()); + } else { + loanDownPayValue = loanDownPayValue.append("融资首付:").append("-"); + } + list.add(getValueSpanSize(loanDownPayValue.toString(), 1, 0, false)); + //总贷款金额 + StringBuilder loanAmountTotalValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getLoanAmountTotal())) { + loanAmountTotalValue = loanAmountTotalValue.append("总贷款金额:").append(solutionsDetailsVo.getLoanAmountTotal()); + + } else { + loanAmountTotalValue = loanAmountTotalValue.append("总贷款金额:").append("-"); + } + list.add(getValueSpanSize(loanAmountTotalValue.toString(), 1, 0, false)); + //期数 + StringBuilder periodValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getPeriod())) { + periodValue = periodValue.append("期数:").append(solutionsDetailsVo.getPeriod()); + + } else { + periodValue = periodValue.append("期数:").append("-"); + } + list.add(getValueSpanSize(periodValue.toString(), 1, 0, false)); + //月还金额 + StringBuilder monthlyRepayValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getMonthlyRepay())) { + monthlyRepayValue = monthlyRepayValue.append("月还金额:").append(solutionsDetailsVo.getMonthlyRepay()); + } else { + monthlyRepayValue = monthlyRepayValue.append("月还金额:").append("-"); + } + list.add(getValueSpanSize(monthlyRepayValue.toString(), 1, 0, false)); + //利息总额 + StringBuilder interestValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getInterest())) { + interestValue = interestValue.append("利息总额:").append(solutionsDetailsVo.getInterest()); + } else { + interestValue = interestValue.append("利息总额:").append("-"); + } + list.add(getValueSpanSize(interestValue.toString(), 1, 0, false)); + //预计首期还款日 + StringBuilder returnTimeValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getReturnTime())) { + returnTimeValue = returnTimeValue.append("预计首期还款日:").append(solutionsDetailsVo.getReturnTime()); + } else { + returnTimeValue = returnTimeValue.append("预计首期还款日:").append("-"); + } + list.add(getValueSpanSize(returnTimeValue.toString(), 1, 0, false)); + //应收明细 + list.add(getValueSpanSize("应收明细", 2, 1, true)); + //融资首付 + StringBuilder downPayAmountsValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getDownPayAmounts())) { + downPayAmountsValue = downPayAmountsValue.append("融资首付:").append(solutionsDetailsVo.getDownPayAmounts()); + } else { + downPayAmountsValue = downPayAmountsValue.append("融资首付:").append("-"); + } + list.add(getValueSpanSize(downPayAmountsValue.toString(), 1, 0, false)); + //贷款保证金 + StringBuilder bondAmountsValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getBondAmounts())) { + bondAmountsValue = bondAmountsValue.append("贷款保证金:").append(solutionsDetailsVo.getBondAmounts()); + } else { + bondAmountsValue = bondAmountsValue.append("贷款保证金:").append("-"); + } + list.add(getValueSpanSize(bondAmountsValue.toString(), 1, 0, false)); + //保险保证金 + StringBuilder depositPremiumValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getDepositPremium())) { + depositPremiumValue = depositPremiumValue.append("保险保证金:").append(solutionsDetailsVo.getDepositPremium()); + } else { + depositPremiumValue = depositPremiumValue.append("保险保证金:").append("-"); + } + list.add(getValueSpanSize(depositPremiumValue.toString(), 1, 0, false)); + //落户保证金 + StringBuilder depositSettleValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getDepositSettle())) { + depositSettleValue = depositSettleValue.append("落户保证金:").append(solutionsDetailsVo.getDepositSettle()); + } else { + depositSettleValue = depositSettleValue.append("落户保证金:").append("-"); + } + list.add(getValueSpanSize(depositSettleValue.toString(), 1, 0, false)); + //服务费 + StringBuilder serviceAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getServiceAmount())) { + serviceAmountValue = serviceAmountValue.append("服务费:").append(solutionsDetailsVo.getServiceAmount()); + } else { + serviceAmountValue = serviceAmountValue.append("服务费:").append("-"); + } + list.add(getValueSpanSize(serviceAmountValue.toString(), 1, 0, false)); + //代收意外险 + StringBuilder proxyAccidentPremiumValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getProxyAccidentPremium())) { + proxyAccidentPremiumValue = proxyAccidentPremiumValue.append("代收意外险:").append(solutionsDetailsVo.getProxyAccidentPremium()); + } else { + proxyAccidentPremiumValue = proxyAccidentPremiumValue.append("代收意外险:").append("-"); + } + list.add(getValueSpanSize(proxyAccidentPremiumValue.toString(), 1, 0, false)); + //上牌费 + StringBuilder registerAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getRegisterAmount())) { + registerAmountValue = registerAmountValue.append("上牌费:").append(solutionsDetailsVo.getRegisterAmount()); + } else { + registerAmountValue = registerAmountValue.append("上牌费:").append("-"); + } + list.add(getValueSpanSize(registerAmountValue.toString(), 1, 0, false)); + //运管费 + StringBuilder operationAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOperationAmount())) { + operationAmountValue = operationAmountValue.append("运管费:").append(solutionsDetailsVo.getOperationAmount()); + } else { + operationAmountValue = operationAmountValue.append("运管费:").append("-"); + } + list.add(getValueSpanSize(operationAmountValue.toString(), 1, 0, false)); + //补车价 + StringBuilder vehOtherPriceValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getVehOtherPrice())) { + vehOtherPriceValue = vehOtherPriceValue.append("补车价:").append(solutionsDetailsVo.getVehOtherPrice()); + } else { + vehOtherPriceValue = vehOtherPriceValue.append("补车价:").append("-"); + } + list.add(getValueSpanSize(vehOtherPriceValue.toString(), 1, 0, false)); + //其它费用 + StringBuilder otherAmountValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherAmount())) { + otherAmountValue = otherAmountValue.append("其它费用:").append(solutionsDetailsVo.getOtherAmount()); + } else { + otherAmountValue = otherAmountValue.append("其它费用:").append("-"); + } + list.add(getValueSpanSize(otherAmountValue.toString(), 1, 0, false)); + //其它费用说明 + StringBuilder otherAmountRemarkValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOtherAmountRemark())) { + otherAmountRemarkValue = otherAmountRemarkValue.append("其它费用说明:").append(solutionsDetailsVo.getOtherAmountRemark()); + } else { + otherAmountRemarkValue = otherAmountRemarkValue.append("其它费用说明:").append("-"); + } + list.add(getValueSpanSize(otherAmountRemarkValue.toString(), 1, 0, false)); + //办理方式选择 + StringBuilder dealWayValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getDealWay())) { + dealWayValue = dealWayValue.append("办理方式选择:").append(solutionsDetailsVo.getDealWay()); + } else { + dealWayValue = dealWayValue.append("办理方式选择:").append("-"); + } + list.add(getValueSpanSize(dealWayValue.toString(), 2, 2, false)); + //代收首年保险费 + StringBuilder proxyPremiumValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getProxyPremium())) { + proxyPremiumValue = proxyPremiumValue.append("代收首年保险费:").append(solutionsDetailsVo.getProxyPremium()); + } else { + proxyPremiumValue = proxyPremiumValue.append("代收首年保险费:").append("-"); + } + list.add(getValueSpanSize(proxyPremiumValue.toString(), 1, 0, false)); + //代收购置税 + StringBuilder proxyPurchasetaxValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getProxyPurchasetax())) { + proxyPurchasetaxValue = proxyPurchasetaxValue.append("代收购置税:").append(solutionsDetailsVo.getProxyPurchasetax()); + } else { + proxyPurchasetaxValue = proxyPurchasetaxValue.append("代收购置税:").append("-"); + } + list.add(getValueSpanSize(proxyPurchasetaxValue.toString(), 1, 0, false)); + //应收合计 + StringBuilder receivableTotalValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getReceivableTotal())) { + receivableTotalValue = receivableTotalValue.append("应收合计:").append(solutionsDetailsVo.getReceivableTotal()); + } else { + receivableTotalValue = receivableTotalValue.append("应收合计:").append("-"); + } + list.add(getValueSpanSize(receivableTotalValue.toString(), 2, 0, true)); + + //抵顶费用合计 + StringBuilder offsetTotalValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOffsetTotal())) { + offsetTotalValue = offsetTotalValue.append("抵顶费用合计:").append(solutionsDetailsVo.getOffsetTotal()); + } else { + offsetTotalValue = offsetTotalValue.append("抵顶费用合计:").append("-"); + } + list.add(getValueSpanSize(offsetTotalValue.toString(), 2, 2, false)); + //抵顶首年保险费 + StringBuilder offsetPremiumValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOffsetPremium())) { + offsetPremiumValue = offsetPremiumValue.append("抵顶首年保险费:").append(solutionsDetailsVo.getOffsetPremium()); + } else { + offsetPremiumValue = offsetPremiumValue.append("抵顶首年保险费:").append("-"); + } + list.add(getValueSpanSize(offsetPremiumValue.toString(), 1, 0, false)); + //抵顶购置税 + StringBuilder offsetPurchasetaxValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getOffsetPurchasetax())) { + offsetPurchasetaxValue = offsetPurchasetaxValue.append("抵顶购置税:").append(solutionsDetailsVo.getOffsetPurchasetax()); + } else { + offsetPurchasetaxValue = offsetPurchasetaxValue.append("抵顶购置税:").append("-"); + } + list.add(getValueSpanSize(offsetPurchasetaxValue.toString(), 1, 0, false)); + //实收合计 + StringBuilder realTotalValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) { + realTotalValue = realTotalValue.append("实收合计:").append(solutionsDetailsVo.getRealTotal()); + } else { + realTotalValue = realTotalValue.append("实收合计:").append("-"); + } + list.add(getValueSpanSize(realTotalValue.toString(), 2, 0, true)); + list.add(getValueSpanSize("", 2, 0, false)); + //车辆总价 + StringBuilder vehTotalPriceValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getVehTotalPrice())) { + vehTotalPriceValue = vehTotalPriceValue.append("车辆总价:").append(solutionsDetailsVo.getVehTotalPrice()); + } else { + vehTotalPriceValue = vehTotalPriceValue.append("车辆总价:").append("-"); + } + list.add(getValueSpanSize(vehTotalPriceValue.toString(), 2, 0, false)); + //名义留购价 + StringBuilder nominalPriceValue = new StringBuilder(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getNominalPrice())) { + nominalPriceValue = nominalPriceValue.append("名义留购价:").append(solutionsDetailsVo.getNominalPrice()); + } else { + nominalPriceValue = nominalPriceValue.append("名义留购价:").append("-"); + } + list.add(getValueSpanSize(nominalPriceValue.toString(), 2, 0, false)); + } + } + appOrderDetailsVo.setFinanceForms(list); + return appOrderDetailsVo; + } + + /** + * 金融方案的拼接 + * + * @param value 拼接内容 + * @param spanSize 格数 + * @param type 类型:0 最普通的 1 标题的 2是 加上划线的 + * @param bold 是否加粗:true是,false否 + * @return + */ + private OrderSolutionVo getValueSpanSize(String value, Integer spanSize, Integer type, boolean bold) { + OrderSolutionVo orderSolutionVo = new OrderSolutionVo(); + orderSolutionVo.setValue(value); + orderSolutionVo.setSpanSize(spanSize); + orderSolutionVo.setType(type); + orderSolutionVo.setBold(bold); + return orderSolutionVo; + } + public AppOrderDetailsVo selectSolution(AppOrderDetailsVo appOrderDetailsVo, String sid) { ResultBean solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(sid); if (solutionsDetailsVoResultBean.getData() != null) { @@ -3570,9 +4095,9 @@ public class BusSalesOrderService extends MybatisBaseService flowSelectVoResultBean = flowableFeign.selectFlows(record.getProcDefId(),record.getProcInstId()); - if(flowSelectVoResultBean.getData() != null){ + ResultBean flowSelectVoResultBean = flowableFeign.selectFlows(record.getProcDefId(), record.getProcInstId()); + if (flowSelectVoResultBean.getData() != null) { FlowSelectVo flowSelectVo = flowSelectVoResultBean.getData(); - if(StringUtils.isNotBlank(flowSelectVo.getEndTime())){ + if (StringUtils.isNotBlank(flowSelectVo.getEndTime())) { record.setEndTime(flowSelectVo.getEndTime()); } } @@ -4957,9 +5482,9 @@ public class BusSalesOrderService extends MybatisBaseService selectTemporaryNo(String vehSid,String contractNo) { + public ResultBean selectTemporaryNo(String vehSid, String contractNo) { ResultBean rb = ResultBean.fireFail(); - BusSalesOrdeVo busSalesOrdeVo = baseMapper.selectTemporaryNo(vehSid,contractNo); + BusSalesOrdeVo busSalesOrdeVo = baseMapper.selectTemporaryNo(vehSid, contractNo); if (busSalesOrdeVo != null) { contractNo = busSalesOrdeVo.getContractNo(); if (StringUtils.isBlank(contractNo)) { @@ -5096,7 +5621,7 @@ public class BusSalesOrderService extends MybatisBaseService fileList = (List) processCommentVo.get("fileList"); - if (fileList.size() > 0){ + if (fileList.size() > 0) { for (String s : fileList) { imgList.add(s); } @@ -5104,19 +5629,19 @@ public class BusSalesOrderService extends MybatisBaseService messages = messageFeign.selectByBusinessSid(busSalesOrder.getSid()).getData(); - if (messages.size() > 0){ + if (messages.size() > 0) { for (Message message : messages) { BusSalesOrderSourceLCVo busSalesOrderSourceLCVo = new BusSalesOrderSourceLCVo(); String receiverNames = ""; List messageLists = messageListFeign.fetchByMainSid(message.getSid()).getData(); - if (messageLists.size() > 0){ + if (messageLists.size() > 0) { for (MessageList messageList : messageLists) { receiverNames = receiverNames + messageList.getReceiverName() + ","; } } busSalesOrderSourceLCVo.setName("系统"); - busSalesOrderSourceLCVo.setComment("抄送 " + receiverNames.substring(0,receiverNames.lastIndexOf(","))); - busSalesOrderSourceLCVo.setSpsj(DateUtil.format(message.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); + busSalesOrderSourceLCVo.setComment("抄送 " + receiverNames.substring(0, receiverNames.lastIndexOf(","))); + busSalesOrderSourceLCVo.setSpsj(DateUtil.format(message.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); busSalesOrderSourceLCVos.add(busSalesOrderSourceLCVo); } } @@ -5147,19 +5672,19 @@ public class BusSalesOrderService extends MybatisBaseService appOrderDiscountListVos = busSalesOrderDiscountService.selectDiscount(busSalesOrder.getSid()); - if (appOrderDiscountListVos.size() == 0){ + if (appOrderDiscountListVos.size() == 0) { dataMap.put("iszs", "否"); //赠送客户物品 dataMap.put("zskhwp", "无"); - }else { + } else { dataMap.put("iszs", "是"); //赠送客户物品 String zskhwp = ""; @@ -5170,13 +5695,13 @@ public class BusSalesOrderService extends MybatisBaseService 0){ + if (imgList.size() > 0) { for (String image : imgList) { if (image.contains(fileUploadComponent.getUrlPrefix())) { image = image.replace(fileUploadComponent.getUrlPrefix(), ""); diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java index 7591c219dd..7d5fd186cc 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java @@ -5,6 +5,7 @@ import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -104,5 +105,7 @@ public class OrderDetailsVo implements Vo { @ApiModelProperty("是否有金融方案") private boolean finState; + private List financeForms = new ArrayList<>(); + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderSolutionListVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderSolutionListVo.java new file mode 100644 index 0000000000..29e245fa75 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderSolutionListVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.order; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/6 15:37 + * @Description + */ +@Data +public class OrderSolutionListVo { + + @ApiModelProperty(value = "内容") + private String value; + + @ApiModelProperty(value = "单元格大小") + private Integer spanSize; + + @ApiModelProperty("类型:0 最普通的 1 标题的 2是 加上划线的") + private Integer type; + @ApiModelProperty("是否加粗,true是,false否") + private boolean bold; +} From 16b61cb12c55868b1aaff1718b02b86d12fdfde2 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Thu, 6 Apr 2023 17:10:50 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E9=87=91=E8=9E=8D?= =?UTF-8?q?=E6=96=B9=E6=A1=88=E6=8C=89=E6=A0=BC=E5=BC=8F=E6=8B=BC=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../buscenter/biz/bussalesorder/BusSalesOrderService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index 0180988b46..e2999b7c8d 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -3373,9 +3373,9 @@ public class BusSalesOrderService extends MybatisBaseService Date: Thu, 6 Apr 2023 18:17:52 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/VehicleStateTempOrLast.java | 2 +- .../api/busdelivered/BusDeliveredVo.java | 5 +++- .../BusSalesOrderDiscountFeign.java | 5 ++++ .../BusSalesOrderDiscountFeignFallback.java | 5 ++++ .../OrderDiscountVo.java | 27 +++++++++++++++++++ .../BusSalesOrderDiscountMapper.java | 3 +++ .../BusSalesOrderDiscountMapper.xml | 4 +++ .../BusSalesOrderDiscountRest.java | 6 +++++ .../BusSalesOrderDiscountService.java | 10 ++++++- .../CrmCustomerTempMapper.java | 3 +++ .../crmcustomertemp/CrmCustomerTempMapper.xml | 11 ++++++-- .../CrmCustomerTempService.java | 2 +- .../api/autoservice/retrieval/VinListVo.java | 2 ++ doc/databases/bus-center_tables.sql | 6 ++--- 14 files changed, 82 insertions(+), 9 deletions(-) create mode 100644 anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/OrderDiscountVo.java diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java index 47cd34d691..3fec82767f 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java @@ -15,7 +15,7 @@ public class VehicleStateTempOrLast { ARREARS_INVOICING("0004", "欠款开票"), - PAY_MODELS("0002", "交清车款"), + PAY_MODELS("0002", "正常交款"), BAG_CARD_BUSINESS("0003", "包牌业务"), diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java index 173a755735..e6c6b6e431 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java @@ -52,8 +52,11 @@ public class BusDeliveredVo implements Vo { private static final long serialVersionUID = -9212919952192716940L; private String sid; - @ApiModelProperty("类型:1已交款、2未交款") +// @ApiModelProperty("类型:1已交款、2未交款") + @ApiModelProperty("业务状态") private String type; + @ApiModelProperty("销售类型") + private String paymentMethod; @ApiModelProperty("合同编号") private String contractNo; @ApiModelProperty("客户名称") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeign.java index a68cbb2573..b23a83bebe 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeign.java @@ -70,4 +70,9 @@ public interface BusSalesOrderDiscountFeign { @PostMapping("/delete") @ResponseBody ResultBean delete(@RequestParam(value = "saleOrderSid") String orderSid, @RequestParam(value = "sid") String sid); + + @ApiOperation("出库选择套餐列表") + @GetMapping("/discountList") + @ResponseBody + ResultBean> discountList(@RequestParam("contractNo") String contractNo,@RequestParam("vinSid")String vinSid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeignFallback.java index cdef35de33..fb2f929376 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/BusSalesOrderDiscountFeignFallback.java @@ -64,4 +64,9 @@ public class BusSalesOrderDiscountFeignFallback implements BusSalesOrderDiscount public ResultBean delete(String orderSid, String sid) { return null; } + + @Override + public ResultBean> discountList(String contractNo,String vinSid) { + return null; + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/OrderDiscountVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/OrderDiscountVo.java new file mode 100644 index 0000000000..339867466c --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdiscount/OrderDiscountVo.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.buscenter.api.bussalesorderdiscount; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/6 16:50 + * @Description + */ +@Data +public class OrderDiscountVo { + + @ApiModelProperty("优惠名称") + private String name; + @ApiModelProperty("价值") + private String price; + @ApiModelProperty("优惠项目说明") + private String discountExplain; + @ApiModelProperty("数量") + private Integer num; + @ApiModelProperty("剩余数量") + private Integer surplusNum; + @ApiModelProperty("本次赠送数量") + private Integer giveNum; + +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java index e1a644e248..31bbaeced9 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.java @@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDiscountListVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderdiscount.OrderDiscountVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -109,4 +110,6 @@ public interface BusSalesOrderDiscountMapper extends BaseMapper selectDiscount(String sid); + + List discountList(String contractNo); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml index 23ea034ac2..0f9b83842d 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountMapper.xml @@ -55,4 +55,8 @@ from bus_sales_order_discount where salesOrderSid = #{sid} + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountRest.java index 34d8706d6a..8bd872fd7a 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountRest.java @@ -26,6 +26,7 @@ package com.yxt.anrui.buscenter.biz.bussalesorderdiscount; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountFeign; +import com.yxt.anrui.buscenter.api.bussalesorderdiscount.OrderDiscountVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo; import com.yxt.common.core.result.ResultBean; @@ -71,4 +72,9 @@ public class BusSalesOrderDiscountRest implements BusSalesOrderDiscountFeign { public ResultBean delete(String orderSid, String sid) { return busSalesOrderDiscountService.deleteDiscount(orderSid, sid); } + + @Override + public ResultBean> discountList(String contractNo, String vinSid) { + return busSalesOrderDiscountService.discountList(contractNo, vinSid); + } } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java index bd9db52689..ac303346f6 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdiscount/BusSalesOrderDiscountService.java @@ -31,6 +31,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDiscountListV import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDto; +import com.yxt.anrui.buscenter.api.bussalesorderdiscount.OrderDiscountVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppDiscountInfoDto; @@ -140,7 +141,7 @@ public class BusSalesOrderDiscountService extends MybatisBaseService selectDiscount(String sid) { return baseMapper.selectDiscount(sid); } + + public ResultBean> discountList(String contractNo,String vinSid) { + ResultBean> rb = ResultBean.fireFail(); + //查询出库的选择套餐中是否存在 + List list = baseMapper.discountList(contractNo); + return rb.success().setData(list); + } } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java index 3ee99685ee..79eaedeba2 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java @@ -125,8 +125,11 @@ public interface CrmCustomerTempMapper extends BaseMapper { /** * 根据客户编码查询客户信息 + * * @param customerNo 客户编码 * @return */ CrmCustomerTemp selectByCustomerNo(String customerNo); + + List selectLists(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml index 9221799df6..39e41227c6 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml @@ -20,8 +20,8 @@ select * from crm_customer_temp where customerNo = #{customerNo} + + \ No newline at end of file diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java index a8c3b5bd59..004d70142f 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java @@ -125,7 +125,7 @@ public class CrmCustomerTempService extends MybatisBaseService listAll(CrmCustomerTempQuery query) { QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectList(qw); + return baseMapper.selectLists(qw); } private QueryWrapper createQueryWrapper(CrmCustomerTempQuery query) { diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo.java index 9f8058dcc5..ecf87fb7dc 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo.java @@ -10,4 +10,6 @@ public class VinListVo implements Vo { @ApiModelProperty("车架号") private String vin; + @ApiModelProperty("业务状态") + private String businessState; } diff --git a/doc/databases/bus-center_tables.sql b/doc/databases/bus-center_tables.sql index 9e8663aaac..4770191b58 100644 --- a/doc/databases/bus-center_tables.sql +++ b/doc/databases/bus-center_tables.sql @@ -264,9 +264,9 @@ CREATE TABLE `bus_delivered_details_discount` `name` varchar(64) DEFAULT NULL COMMENT '优惠包名称', `price` varchar(64) DEFAULT NULL COMMENT '价值', `discountExplain` VARCHAR(64) DEFAULT NULL COMMENT '优惠包项目说明', - `num` VARCHAR(64) DEFAULT NULL COMMENT '数量', - `surplusNum` VARCHAR(64) DEFAULT NULL COMMENT '剩余数量', - `useMessageSid` VARCHAR(64) DEFAULT NULL COMMENT '本次赠送数量', + `num` int(32) DEFAULT NULL COMMENT '数量', + `surplusNum` int(32) DEFAULT NULL COMMENT '剩余数量', + `giveNum` int(32) DEFAULT NULL COMMENT '本次赠送数量', PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE = INNODB From 21e3ae893bf5a6d811fbf5c713c6ba37833e09ee Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 7 Apr 2023 11:32:29 +0800 Subject: [PATCH 5/6] =?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 | 66 +-- .../FinVehicleInvoiceDetailsVo.java | 29 +- .../FinVehicleInvoiceDto.java | 87 ++-- .../FinVehicleInvoiceExportVo.java | 21 +- .../FinVehicleInvoiceFeign.java | 12 +- .../FinVehicleInvoiceFeignFallback.java | 9 +- .../FinVehicleInvoiceQuery.java | 23 +- .../FinVehicleInvoiceVo.java | 34 +- .../FinVehicleInvoiceMapper.java | 7 +- .../FinVehicleInvoiceMapper.xml | 124 ++++-- .../FinVehicleInvoiceRest.java | 380 +++++++++--------- .../FinVehicleInvoiceService.java | 63 +-- 12 files changed, 468 insertions(+), 387 deletions(-) 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 index 213a46e19d..107d49ba6d 100644 --- 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 @@ -29,26 +29,26 @@ import java.util.Date; 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") + @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") + @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("开票状态") + private String billingState; + @ApiModelProperty("开票状态Key") + private String billingStateKey; @ApiModelProperty("是否删除:0未删除,1已删除") private Integer isDelete; @@ -63,49 +63,53 @@ public class FinVehicleInvoice extends BaseEntity { @ApiModelProperty("车辆sid") private String vehicleSid; - - @ApiModelProperty("车架号") + + @ApiModelProperty("车架号") private String VIN; - - @ApiModelProperty("车辆类型Key") + + + @ApiModelProperty("车辆类型Key") private String vehicleTypeKey; - - @ApiModelProperty("车辆类型") + + @ApiModelProperty("车辆类型") private String vehicleType; - - @ApiModelProperty("车辆金额") + + @ApiModelProperty("车辆金额") private BigDecimal vehiclAmount; - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - @ApiModelProperty("最大发票开票日期") + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("最大发票开票日期") private Date invoiceDate; - - @ApiModelProperty("发票号") + + @ApiModelProperty("发票号") private String invoiceNo; - - @ApiModelProperty("发票代码") + + @ApiModelProperty("发票代码") private String invoiceCode; - - @ApiModelProperty("车辆发票金额") + + @ApiModelProperty("车辆发票金额") private BigDecimal invoiceAmount; - - @ApiModelProperty("发票类别Key(增值税专用发票/机动车销售统一发票/增值税普通发票)") + + @ApiModelProperty("发票类别Key(增值税专用发票/机动车销售统一发票/增值税普通发票)") private String invoiceTypeKey; - - @ApiModelProperty("发票类别") + + @ApiModelProperty("发票类别") private String invoiceType; - - @ApiModelProperty("开票单位") + + @ApiModelProperty("开票单位") private String invoiceTitle; @ApiModelProperty("移交状态:0未交接,1已交接") - private String invoiceState; + private String transferState; + + @ApiModelProperty("移交状态:0未交接,1已交接") + private String transferStateKey; @ApiModelProperty("客户名称") private String customerName; @ApiModelProperty("开票名称") - private String invoiceName; + private String invoicingName; @ApiModelProperty("合同编号") private String contractNo; 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 index 14172787ff..6eca2094bf 100644 --- 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 @@ -7,6 +7,7 @@ import lombok.Data; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * @author Administrator @@ -18,44 +19,36 @@ 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; - + private String vinNo; @ApiModelProperty("发票类别") private String invoiceType; - + @ApiModelProperty("开票类型Key") + private String invoiceTypeKey; @ApiModelProperty("车辆发票金额") private BigDecimal invoiceAmount; - - @ApiModelProperty("开票状态:0未开票,1已开票,2作废") - private String state; - + @ApiModelProperty("发票状态") + private String billingState; + @ApiModelProperty("发票状态Key") + private String billingStateKey; @ApiModelProperty("开票名称") - private String invoiceName; - + private String invoicingName; @ApiModelProperty("开票人") private String name; - @ApiModelProperty("开票时间") private String createTime; - @ApiModelProperty("发票号") private String invoiceNo; - @ApiModelProperty("发票代码") private String invoiceCode; - @ApiModelProperty("图片地址") private String filePath; - + @ApiModelProperty("图片地址集合") + private List filePaths; } 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 index caddca0cc7..0955b16006 100644 --- 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 @@ -9,6 +9,7 @@ import lombok.Data; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * Project: anrui-fin(财务管理)
@@ -28,43 +29,67 @@ import java.util.Date; public class FinVehicleInvoiceDto implements Dto { - @ApiModelProperty("开票单位") - private String invoiceTitle; - - @ApiModelProperty("合同编号") - private String contractNo; - - @ApiModelProperty("客户名称") - private String customerName; - + private String sid; // sid + @ApiModelProperty("版本锁") + private Integer lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("创建时间") + private String createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("修改时间") + private String modifyTime; + @ApiModelProperty("是否可用:1可用,0不可用") + private Integer isEnable; + private Integer state; + @ApiModelProperty("是否删除:0未删除,1已删除") + private Integer isDelete; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("创建人sid") + private String createBySid; + private String useOrgSid; + @ApiModelProperty("修改人sid") + private String updateBySid; + @ApiModelProperty("车辆sid") + private String vehicleSid; @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("车辆类型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 String 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 transferState; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("合同编号") + private String contractNo; @ApiModelProperty("图片地址") private String filePath; - + @ApiModelProperty("开票状态") + private String billingState; + @ApiModelProperty("开票状态Key") + private String billingStateKey; + @ApiModelProperty("图片地址集合") + private List filePaths; + private String vinNo; + @ApiModelProperty("开票名称") + private String invoicingName; } \ 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 index 9b51dc8eb1..9abb694b83 100644 --- 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 @@ -1,5 +1,4 @@ package com.yxt.anrui.fin.api.finvehicleinvoice; - import com.yxt.common.core.utils.ExportEntityMap; import com.yxt.common.core.vo.Vo; import lombok.Data; @@ -12,27 +11,29 @@ import lombok.Data; @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 = "billingState") + private String billingState; + @ExportEntityMap(CnName = "交接状态", EnName = "transferState") + private String transferState; + @ExportEntityMap(CnName = "开票单位", EnName = "invoiceTitle") + private String invoiceTitle; @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 = "vinNo") + private String vinNo; + @ExportEntityMap(CnName = "开票名称", EnName = "invoicingName") + private String invoicingName; @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 index 5ab6615af5..c3e4a927a3 100644 --- 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 @@ -49,13 +49,8 @@ public interface FinVehicleInvoiceFeign { 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); + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody FinVehicleInvoiceDto dto); @ApiOperation("删除记录") @GetMapping("/del/{ids}") @@ -64,7 +59,7 @@ public interface FinVehicleInvoiceFeign { @ApiOperation("获取一条记录") @GetMapping("/fetch/{id}") public ResultBean fetch(@PathVariable("id") String id); - + @ApiOperation("获取详情记录") @GetMapping("/fetchSid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); @@ -74,5 +69,4 @@ public interface FinVehicleInvoiceFeign { @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 index 2fb434c2d6..2da912e83e 100644 --- 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 @@ -46,15 +46,10 @@ public class FinVehicleInvoiceFeignFallback implements FinVehicleInvoiceFeign { 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无法访问"); + public ResultBean saveOrUpdate(FinVehicleInvoiceDto dto) { + return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/saveOrUpdate无法访问"); } @Override 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 index 4b4dc75cfa..c134dc3659 100644 --- 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 @@ -35,6 +35,16 @@ public class FinVehicleInvoiceQuery implements Query { @ApiModelProperty("开票单位") private String invoiceTitle; + @ApiModelProperty("开票状态") + private String billingState; + + @ApiModelProperty("开票状态Key") + private String billingStateKey; + + + @ApiModelProperty("开票类型Key") + private String invoiceTypeKey; + @ApiModelProperty("发票类别") private String invoiceType; @@ -45,16 +55,19 @@ public class FinVehicleInvoiceQuery implements Query { private String customerName; @ApiModelProperty("车架号") - private String VIN; - - @ApiModelProperty("发票状态") + private String vinNo; + private String state; + @ApiModelProperty("移交状态") - private String invoiceState; + private String transferState; + + @ApiModelProperty("移交状态key") + private String transferStateKey; @ApiModelProperty("开票名称") - private String invoiceName; + private String invoicingName; @ApiModelProperty("开票开始日期") private String createStartTime ; 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 index f745c4a978..10006bfd0e 100644 --- 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 @@ -9,6 +9,7 @@ import lombok.Data; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * Project: anrui-fin(财务管理)
@@ -29,46 +30,41 @@ public class FinVehicleInvoiceVo implements Vo { @ApiModelProperty("车辆发票信息Sid") - private String Sid; - - @ApiModelProperty("发票状态") + private String sid; private String state; - + @ApiModelProperty("发票状态") + private String billingState; + @ApiModelProperty("发票状态Key") + private String billingStateKey; @ApiModelProperty("交接状态") - private String invoiceState; - + private String transferState; + @ApiModelProperty("交接状态Key") + private String transferStateKey; @ApiModelProperty("开票单位") private String invoiceTitle; - @ApiModelProperty("开票类型") private String invoiceType; - + @ApiModelProperty("开票类型Key") + private String invoiceTypeKey; @ApiModelProperty("合同编号") private String contractNo; - @ApiModelProperty("客户名称") private String customerName; - @ApiModelProperty("车架号") - private String VIN; - + private String vinNo; @ApiModelProperty("开票名称") - private String invoiceName; - + private String invoicingName; @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; - + @ApiModelProperty("发票图片集合") + private List filePaths; } 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 index b0fbd7a8cb..0a8d784ab3 100644 --- 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 @@ -37,14 +37,11 @@ public interface FinVehicleInvoiceMapper extends BaseMapper { 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 index 2f45cad704..e24b97d5f7 100644 --- 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 @@ -2,19 +2,44 @@ + + + + + + + + + + + + + + + + + + + + + - SELECT DISTINCT sid, `state`, - invoiceState, + billingStateKey, + billingState, + transferStateKey, + transferState, invoiceTitle, invoiceType, + invoiceTypeKey, contractNo, customerName, VIN, - invoiceName, + invoicingName, invoiceAmount, createTime, invoiceCode, @@ -26,60 +51,91 @@ - + SELECT * FROM fin_vehicle_invoice where isDelete = '0' + + + - SELECT DISTINCT - sid, - `state`, - invoiceState, + billingState, + transferState, invoiceTitle, invoiceType, contractNo, customerName, VIN, - invoiceName, + invoicingName, invoiceAmount, createTime, - invoiceCode, - invoiceNo, - filePath + invoiceCode FROM fin_vehicle_invoice ${ew.sqlSegment} + + + + + + + + + + + + + + + + + + - - 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 index 9b21baf070..a0f9043ce5 100644 --- 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 @@ -1,10 +1,11 @@ package com.yxt.anrui.fin.biz.finvehicleinvoice; + +import cn.hutool.core.bean.BeanUtil; 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; @@ -12,7 +13,6 @@ 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; @@ -20,6 +20,7 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -41,198 +42,187 @@ import java.util.List; @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(); - } - + @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.getFilePath())) { + String filePath = finVehicleInvoiceVo.getFilePath(); + List filePaths = new ArrayList<>(); + String array[] = filePath.split(","); + for (int i = 0; i < array.length; i++) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + array[i]; + filePaths.add(filePath); + finVehicleInvoiceVo.setFilePaths(filePaths); + } + } + } + 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 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("上传失败"); - } - } + public ResultBean save(FinVehicleInvoiceDto dto) { + ResultBean rb = ResultBean.fireFail(); + finVehicleInvoiceService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean saveOrUpdate(FinVehicleInvoiceDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + if (StringUtils.isNotEmpty(sid)) { + StringBuilder sb = new StringBuilder(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + if (null != dto.getFilePaths()) { + for (String filePath : dto.getFilePaths()) { + String[] split = filePath.split(urlPrefix); + String s = split[1]; + sb.append(s).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + dto.setFilePath(sb.toString()); + } + if (StringUtils.isNotBlank(dto.getFilePath())) { + dto.setBillingStateKey("002"); + dto.setBillingState("已开票"); + } + if (StringUtils.isNotEmpty(dto.getVinNo())) { + String VIN = dto.getVinNo(); + dto.setVIN(VIN); + } + finVehicleInvoiceService.updateBySid(dto, sid); + } else { + FinVehicleInvoice finVehicleInvoice = new FinVehicleInvoice(); + String sidAdd = finVehicleInvoice.getSid(); + BeanUtil.copyProperties(dto, finVehicleInvoice); + finVehicleInvoice.setSid(sidAdd); + StringBuilder sb = new StringBuilder(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + if (null != dto.getFilePaths()) { + for (String filePath : dto.getFilePaths()) { + String[] split = filePath.split(urlPrefix); + String s = split[1]; + sb.append(s).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + finVehicleInvoice.setFilePath(sb.toString()); + finVehicleInvoice.setBillingStateKey("002"); + finVehicleInvoice.setBillingState("已开票"); + } + if (StringUtils.isNotEmpty(dto.getVinNo())) { + String VIN = dto.getVinNo(); + finVehicleInvoice.setVIN(VIN); + } + finVehicleInvoiceService.save(finVehicleInvoice); + } + 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.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(); + List filePaths = new ArrayList<>(); + String array[] = filePath.split(","); + for (int i = 0; i < array.length; i++) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + array[i]; + filePaths.add(filePath); + vo.setFilePaths(filePaths); + } + } + 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.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); + } + } 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 index 8acfd9f145..7196cf9984 100644 --- 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 @@ -51,6 +51,9 @@ public class FinVehicleInvoiceService extends MybatisBaseService= 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')" + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); + qw.orderByDesc("createTime"); return qw; } @@ -123,32 +133,42 @@ public class FinVehicleInvoiceService extends MybatisBaseService= 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')" + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); + qw.orderByDesc("createTime"); List invoiceExportVoList = baseMapper.selByExcel(qw); int id = 1; for (FinVehicleInvoiceExportVo invoiceExportVo : invoiceExportVoList) { @@ -163,7 +183,4 @@ public class FinVehicleInvoiceService extends MybatisBaseService Date: Fri, 7 Apr 2023 11:41:34 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E5=BC=80=E7=A5=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/databases/fin_tables.sql | 66 ++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/doc/databases/fin_tables.sql b/doc/databases/fin_tables.sql index 210134879d..dd5b67a30e 100644 --- a/doc/databases/fin_tables.sql +++ b/doc/databases/fin_tables.sql @@ -1089,34 +1089,40 @@ CREATE TABLE `fin_paymentapply_vehicle` 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 ='车辆发票信息'; +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', + `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 NULL 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(01机动车销售统一发票/02增值税专用发票)', + `invoiceType` varchar(64) DEFAULT NULL COMMENT '发票类别', + `invoiceTitle` varchar(64) DEFAULT NULL COMMENT '开票单位', + `transferState` varchar(32) DEFAULT NULL COMMENT '移交状态:001未接收,002已接收,003待移交,004已移交', + `customerName` varchar(64) DEFAULT NULL COMMENT '客户名称', + `invoicingName` varchar(64) DEFAULT NULL COMMENT '开票名称', + `contractNo` varchar(64) DEFAULT NULL COMMENT '合同编号', + `filePath` varchar(255) DEFAULT NULL COMMENT '图片路径', + `billingState` varchar(32) DEFAULT '1' COMMENT '开票状态 001 未开票 002已开票 003作废', + `useOrgSid` varchar(64) DEFAULT NULL, + `billingStateKey` varchar(64) DEFAULT NULL COMMENT '开票状态key', + `transferStateKey` varchar(64) DEFAULT NULL COMMENT '移交状态key', + PRIMARY KEY (`id`) USING BTREE, + KEY `id` (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='车辆发票信息'