diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialscheme.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialscheme.vue index a70cd05a70..23a92447c8 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialscheme.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialscheme.vue @@ -8,250 +8,274 @@
- - -
是否打包
- {{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }} -
- -
资方及产品政策
- {{ formobj.policyName }} -
-
- - -
融资项目
- -
- 主车发票价{{ formobj.mainVehicleAmount }}元 - 融资票据{{ formobj.accessoriesAmount }}元 - 挂车{{ formobj.trailerAmount }} 元 - 购置税{{ formobj.purchaseTax }} 元 - 车损上浮{{ formobj.vehDamageFloat }} 元 -
-
-
- -
融资项目总额
- {{ formobj.loanTotal }} -
-
- - -
首付比例
- {{ formobj.downPayRatio }} -
- -
首付金额
- {{ formobj.downPayAmount }} -
- -
产品贷款金额
- {{ formobj.loanAmount }} -
- -
产品期数
- {{ formobj.loanPeriod }} -
-
- - -
贷款保证金比例
- {{ formobj.bondRatio }} -
- -
贷款保证金
- {{ formobj.bondAmount }} -
- -
厂家贴息
- {{ formobj.factoryDiscount }} -
- -
年利率
- {{ formobj.policyYearRatio }} -
-
- - -
月还金额
- {{ formobj.loanPayMoney }} -
- -
利息总额
- {{ formobj.loanInterest }} -
- -
厂家贴息用途
- {{ formobj.factoryDiscountUse }} -
-
-
-
其它融
+
+ + +
是否打包
+ {{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }} +
+ +
资方及产品政策
+ {{ formobj.policyName }} +
+
+ + +
融资项目
+ +
+ 主车发票价{{ formobj.mainVehicleAmount }}元 + 融资票据{{ formobj.accessoriesAmount }}元 + 挂车{{ formobj.trailerAmount }} 元 + 购置税{{ formobj.purchaseTax }} 元 + 车损上浮{{ formobj.vehDamageFloat }} 元 +
+
+
+ +
融资项目总额
+ {{ formobj.loanTotal }} +
+
+ + +
首付比例
+ {{ formobj.downPayRatio }} +
+ +
首付金额
+ {{ formobj.downPayAmount }} +
+ +
产品贷款金额
+ {{ formobj.loanAmount }} +
+ +
产品期数
+ {{ formobj.loanPeriod }} +
+
+ + +
贷款保证金比例
+ {{ formobj.bondRatio }} +
+ +
贷款保证金
+ {{ formobj.bondAmount }} +
+ +
厂家贴息
+ {{ formobj.factoryDiscount }} +
+ +
年利率
+ {{ formobj.policyYearRatio }} +
+
+ +
月还金额
+ {{ formobj.loanPayMoney }} +
+ +
利息总额
+ {{ formobj.loanInterest }} +
-
其它融名称
- {{ formobj.otherPolicyName }} +
厂家贴息用途
+ {{ formobj.factoryDiscountUse }} +
+
+
+
其它融
+ + +
其它融名称
+ {{ formobj.otherPolicyName }} +
+ +
贷款金额
+ {{ formobj.otherPolicyAmount }} +
+ +
期数
+ {{ formobj.otherPolicyPeriod }} +
+
+ + +
月还金额
+ {{ formobj.otherPolicyMonthlyRepay }} +
+ +
利息总额
+ {{ formobj.otherPolicyInterest }} +
+ +
年利率
+ {{ formobj.otherPolicyYearRatio }} +
+
+
+
方案汇总
+ + +
融资首付
+ {{ formobj.loanDownPay }}
-
贷款金额
- {{ formobj.otherPolicyAmount }} +
总贷款金额
+ {{ formobj.loanAmountTotal }}
期数
- {{ formobj.otherPolicyPeriod }} + {{ formobj.period }}
月还金额
- {{ formobj.otherPolicyMonthlyRepay }} + {{ formobj.monthlyRepay }}
利息总额
- {{ formobj.otherPolicyInterest }} + {{ formobj.interest }}
-
年利率
- {{ formobj.otherPolicyYearRatio }} +
预计首款还款日
+ {{ formobj.returnTime }} +
+
+
应收明细
+ + +
融资首付
+ {{ formobj.downPayAmounts }} +
+ +
贷款保证金
+ {{ formobj.bondAmounts }} +
+ +
保险保证金
+ {{ formobj.depositPremium }} +
+ +
落户保证金
+ {{ formobj.depositSettle }} +
+
+ + +
服务费
+ {{ formobj.serviceAmount }} +
+ +
代收意外险
+ {{ formobj.proxyAccidentPremium }} +
+ +
上牌费
+ {{ formobj.registerAmount }} +
+ +
运管费
+ {{ formobj.operationAmount }} +
+
+ + +
补车价
+ {{ formobj.vehOtherPrice }} +
+ +
其它费用
+ {{ formobj.otherAmount }} +
+ +
其它费用说明
+ {{ formobj.otherAmountRemark }} +
+
+ + +
办理方式选择
+ {{ formobj.dealWay }} +
+ +
代收首年保险费
+ {{ formobj.proxyPremium }} +
+ +
代收购置税
+ {{ formobj.proxyPurchasetax }} +
+
+ + +
应收合计
+ {{ formobj.receivableTotal }} +
+
+ + +
抵顶费用合计
+ {{ formobj.offsetTotal }} +
+ +
抵顶首年保险费
+ {{ formobj.offsetPremium }} +
+ +
抵顶购置税
+ {{ formobj.offsetPurchasetax }} +
+
+ + +
实收合计
+ {{ formobj.realTotal }} +
+
+ + +
车辆总价
+ {{ formobj.vehTotalPrice }} +
+
+ + +
名义(留购)价
+ {{ formobj.nominalPrice }} +
+ + 注:结清时需缴纳此费用 + +
+
+
+ + +
厂家贴息
+ + {{ formobj.factoryDiscount }} + +
+ +
厂家贴息用途
+ + >{{ formobj.factoryDiscountUse }} + +
+ +
*服务费
+ + >{{ formobj.serviceAmount }} +
-
方案汇总
- - -
融资首付
- {{ formobj.loanDownPay }} -
- -
总贷款金额
- {{ formobj.loanAmountTotal }} -
- -
期数
- {{ formobj.period }} -
-
- - -
月还金额
- {{ formobj.monthlyRepay }} -
- -
利息总额
- {{ formobj.interest }} -
- -
预计首款还款日
- {{ formobj.returnTime }} -
-
-
应收明细
- - -
融资首付
- {{ formobj.downPayAmounts }} -
- -
贷款保证金
- {{ formobj.bondAmounts }} -
- -
保险保证金
- {{ formobj.depositPremium }} -
- -
落户保证金
- {{ formobj.depositSettle }} -
-
- - -
服务费
- {{ formobj.serviceAmount }} -
- -
代收意外险
- {{ formobj.proxyAccidentPremium }} -
- -
上牌费
- {{ formobj.registerAmount }} -
- -
运管费
- {{ formobj.operationAmount }} -
-
- - -
补车价
- {{ formobj.vehOtherPrice }} -
- -
其它费用
- {{ formobj.otherAmount }} -
- -
其它费用说明
- {{ formobj.otherAmountRemark }} -
-
- - -
办理方式选择
- {{ formobj.dealWay }} -
- -
代收首年保险费
- {{ formobj.proxyPremium }} -
- -
代收购置税
- {{ formobj.proxyPurchasetax }} -
-
- - -
应收合计
- {{ formobj.receivableTotal }} -
-
- - -
抵顶费用合计
- {{ formobj.offsetTotal }} -
- -
抵顶首年保险费
- {{ formobj.offsetPremium }} -
- -
抵顶购置税
- {{ formobj.offsetPurchasetax }} -
-
- - -
实收合计
- {{ formobj.realTotal }} -
-
- - -
车辆总价
- {{ formobj.vehTotalPrice }} -
-
- - -
名义(留购)价
- {{ formobj.nominalPrice }} -
- - 注:结清时需缴纳此费用 - -
diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialschemeEdit.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialschemeEdit.vue index fe88752591..3bf14b49e0 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialschemeEdit.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialschemeEdit.vue @@ -9,7 +9,7 @@
-
+
是否打包
@@ -390,7 +390,6 @@ export default { formobj: { saleOrderSid: '', type: '', - typeKey: '', isPack: '', policyName: '', mainVehicleAmount: '', diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/financialscheme.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/financialscheme.vue index a84f33854e..6bac952b36 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/financialscheme.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/financialscheme.vue @@ -8,250 +8,274 @@
- - -
是否打包
- {{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }} -
- -
资方及产品政策
- {{ formobj.policyName }} -
-
- - -
融资项目
- -
- 主车发票价{{ formobj.mainVehicleAmount }}元 - 融资票据{{ formobj.accessoriesAmount }}元 - 挂车{{ formobj.trailerAmount }} 元 - 购置税{{ formobj.purchaseTax }} 元 - 车损上浮{{ formobj.vehDamageFloat }} 元 -
-
-
- -
融资项目总额
- {{ formobj.loanTotal }} -
-
- - -
首付比例
- {{ formobj.downPayRatio }} -
- -
首付金额
- {{ formobj.downPayAmount }} -
- -
产品贷款金额
- {{ formobj.loanAmount }} -
- -
产品期数
- {{ formobj.loanPeriod }} -
-
- - -
贷款保证金比例
- {{ formobj.bondRatio }} -
- -
贷款保证金
- {{ formobj.bondAmount }} -
- -
厂家贴息
- {{ formobj.factoryDiscount }} -
- -
年利率
- {{ formobj.policyYearRatio }} -
-
- - -
月还金额
- {{ formobj.loanPayMoney }} -
- -
利息总额
- {{ formobj.loanInterest }} -
- -
厂家贴息用途
- {{ formobj.factoryDiscountUse }} -
-
-
-
其它融
+
+ + +
是否打包
+ {{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }} +
+ +
资方及产品政策
+ {{ formobj.policyName }} +
+
+ + +
融资项目
+ +
+ 主车发票价{{ formobj.mainVehicleAmount }}元 + 融资票据{{ formobj.accessoriesAmount }}元 + 挂车{{ formobj.trailerAmount }} 元 + 购置税{{ formobj.purchaseTax }} 元 + 车损上浮{{ formobj.vehDamageFloat }} 元 +
+
+
+ +
融资项目总额
+ {{ formobj.loanTotal }} +
+
+ + +
首付比例
+ {{ formobj.downPayRatio }} +
+ +
首付金额
+ {{ formobj.downPayAmount }} +
+ +
产品贷款金额
+ {{ formobj.loanAmount }} +
+ +
产品期数
+ {{ formobj.loanPeriod }} +
+
+ + +
贷款保证金比例
+ {{ formobj.bondRatio }} +
+ +
贷款保证金
+ {{ formobj.bondAmount }} +
+ +
厂家贴息
+ {{ formobj.factoryDiscount }} +
+ +
年利率
+ {{ formobj.policyYearRatio }} +
+
+ +
月还金额
+ {{ formobj.loanPayMoney }} +
+ +
利息总额
+ {{ formobj.loanInterest }} +
-
其它融名称
- {{ formobj.otherPolicyName }} +
厂家贴息用途
+ {{ formobj.factoryDiscountUse }} +
+
+
+
其它融
+ + +
其它融名称
+ {{ formobj.otherPolicyName }} +
+ +
贷款金额
+ {{ formobj.otherPolicyAmount }} +
+ +
期数
+ {{ formobj.otherPolicyPeriod }} +
+
+ + +
月还金额
+ {{ formobj.otherPolicyMonthlyRepay }} +
+ +
利息总额
+ {{ formobj.otherPolicyInterest }} +
+ +
年利率
+ {{ formobj.otherPolicyYearRatio }} +
+
+
+
方案汇总
+ + +
融资首付
+ {{ formobj.loanDownPay }}
-
贷款金额
- {{ formobj.otherPolicyAmount }} +
总贷款金额
+ {{ formobj.loanAmountTotal }}
期数
- {{ formobj.otherPolicyPeriod }} + {{ formobj.period }}
月还金额
- {{ formobj.otherPolicyMonthlyRepay }} + {{ formobj.monthlyRepay }}
利息总额
- {{ formobj.otherPolicyInterest }} + {{ formobj.interest }}
-
年利率
- {{ formobj.otherPolicyYearRatio }} +
预计首款还款日
+ {{ formobj.returnTime }} +
+
+
应收明细
+ + +
融资首付
+ {{ formobj.downPayAmounts }} +
+ +
贷款保证金
+ {{ formobj.bondAmounts }} +
+ +
保险保证金
+ {{ formobj.depositPremium }} +
+ +
落户保证金
+ {{ formobj.depositSettle }} +
+
+ + +
服务费
+ {{ formobj.serviceAmount }} +
+ +
代收意外险
+ {{ formobj.proxyAccidentPremium }} +
+ +
上牌费
+ {{ formobj.registerAmount }} +
+ +
运管费
+ {{ formobj.operationAmount }} +
+
+ + +
补车价
+ {{ formobj.vehOtherPrice }} +
+ +
其它费用
+ {{ formobj.otherAmount }} +
+ +
其它费用说明
+ {{ formobj.otherAmountRemark }} +
+
+ + +
办理方式选择
+ {{ formobj.dealWay }} +
+ +
代收首年保险费
+ {{ formobj.proxyPremium }} +
+ +
代收购置税
+ {{ formobj.proxyPurchasetax }} +
+
+ + +
应收合计
+ {{ formobj.receivableTotal }} +
+
+ + +
抵顶费用合计
+ {{ formobj.offsetTotal }} +
+ +
抵顶首年保险费
+ {{ formobj.offsetPremium }} +
+ +
抵顶购置税
+ {{ formobj.offsetPurchasetax }} +
+
+ + +
实收合计
+ {{ formobj.realTotal }} +
+
+ + +
车辆总价
+ {{ formobj.vehTotalPrice }} +
+
+ + +
名义(留购)价
+ {{ formobj.nominalPrice }} +
+ + 注:结清时需缴纳此费用 + +
+
+
+ + +
厂家贴息
+ + {{ formobj.factoryDiscount }} + +
+ +
厂家贴息用途
+ + >{{ formobj.factoryDiscountUse }} + +
+ +
*服务费
+ + >{{ formobj.serviceAmount }} +
-
方案汇总
- - -
融资首付
- {{ formobj.loanDownPay }} -
- -
总贷款金额
- {{ formobj.loanAmountTotal }} -
- -
期数
- {{ formobj.period }} -
-
- - -
月还金额
- {{ formobj.monthlyRepay }} -
- -
利息总额
- {{ formobj.interest }} -
- -
预计首款还款日
- {{ formobj.returnTime }} -
-
-
应收明细
- - -
融资首付
- {{ formobj.downPayAmounts }} -
- -
贷款保证金
- {{ formobj.bondAmounts }} -
- -
保险保证金
- {{ formobj.depositPremium }} -
- -
落户保证金
- {{ formobj.depositSettle }} -
-
- - -
服务费
- {{ formobj.serviceAmount }} -
- -
代收意外险
- {{ formobj.proxyAccidentPremium }} -
- -
上牌费
- {{ formobj.registerAmount }} -
- -
运管费
- {{ formobj.operationAmount }} -
-
- - -
补车价
- {{ formobj.vehOtherPrice }} -
- -
其它费用
- {{ formobj.otherAmount }} -
- -
其它费用说明
- {{ formobj.otherAmountRemark }} -
-
- - -
办理方式选择
- {{ formobj.dealWay }} -
- -
代收首年保险费
- {{ formobj.proxyPremium }} -
- -
代收购置税
- {{ formobj.proxyPurchasetax }} -
-
- - -
应收合计
- {{ formobj.receivableTotal }} -
-
- - -
抵顶费用合计
- {{ formobj.offsetTotal }} -
- -
抵顶首年保险费
- {{ formobj.offsetPremium }} -
- -
抵顶购置税
- {{ formobj.offsetPurchasetax }} -
-
- - -
实收合计
- {{ formobj.realTotal }} -
-
- - -
车辆总价
- {{ formobj.vehTotalPrice }} -
-
- - -
名义(留购)价
- {{ formobj.nominalPrice }} -
- - 注:结清时需缴纳此费用 - -
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..54cafdfda6 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java @@ -0,0 +1,129 @@ +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("版本锁") + 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; + + private Integer state; + + @ApiModelProperty("开票状态") + private String billingState; + + @ApiModelProperty("开票状态Key") + private String billingStateKey; + + @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("车辆类型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 transferState; + + @ApiModelProperty("移交状态:0未交接,1已交接") + private String transferStateKey; + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("开票名称") + private String invoicingName; + + @ApiModelProperty("合同编号") + private String contractNo; + + @ApiModelProperty("图片地址") + private String filePath; + + @ApiModelProperty("业务状态Key 001正常开票 002包牌开票 003欠款开票") + private String businessStateKey; + + @ApiModelProperty("业务状态") + private String businessState; + +} 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..6eca2094bf --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java @@ -0,0 +1,54 @@ +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; +import java.util.List; + +/** + * @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 vinNo; + @ApiModelProperty("发票类别") + private String invoiceType; + @ApiModelProperty("开票类型Key") + private String invoiceTypeKey; + @ApiModelProperty("车辆发票金额") + private BigDecimal invoiceAmount; + @ApiModelProperty("发票状态") + private String billingState; + @ApiModelProperty("发票状态Key") + private String billingStateKey; + @ApiModelProperty("开票名称") + 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 new file mode 100644 index 0000000000..57154f6471 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java @@ -0,0 +1,99 @@ +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; +import java.util.List; + +/** + * 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 { + + + 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("车辆类型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; + @ApiModelProperty("业务状态Key 001正常开票 002包牌开票 003欠款开票") + private String businessStateKey; + @ApiModelProperty("业务状态") + private String businessState; +} \ 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..747a7c526b --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java @@ -0,0 +1,42 @@ +package com.yxt.anrui.fin.api.finvehicleinvoice; +import com.yxt.common.core.utils.ExportEntityMap; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +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 = "billingState") + private String billingState; + @ExportEntityMap(CnName = "交接状态", EnName = "transferState") + private String transferState; + @ExportEntityMap(CnName = "业务状态", EnName = "businessState") + private String businessState; + @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 = "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 new file mode 100644 index 0000000000..c3e4a927a3 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java @@ -0,0 +1,72 @@ +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("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody FinVehicleInvoiceDto dto); + + @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..2da912e83e --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.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 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 saveOrUpdate(FinVehicleInvoiceDto dto) { + return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/saveOrUpdate无法访问"); + } + + @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..d762ebd298 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java @@ -0,0 +1,67 @@ +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 billingState; + @ApiModelProperty("开票状态Key") + private String billingStateKey; + @ApiModelProperty("开票类型Key") + private String invoiceTypeKey; + @ApiModelProperty("发票类别") + private String invoiceType; + @ApiModelProperty("合同编号") + private String contractNo; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("车架号") + private String vinNo; + private String state; + @ApiModelProperty("移交状态") + private String transferState; + @ApiModelProperty("移交状态key") + private String transferStateKey; + @ApiModelProperty("开票名称") + private String invoicingName; + @ApiModelProperty("开票开始日期") + private String createStartTime ; + @ApiModelProperty("开票结束日期") + private String createEndTime ; + @ApiModelProperty("发票代码") + private String invoiceCode; + @ApiModelProperty("业务状态Key 001正常开票 002包牌开票 003欠款开票") + private String businessStateKey; + @ApiModelProperty("业务状态") + private String businessState; +} 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..289611bbc3 --- /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; +import java.util.List; + +/** + * 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; + private String state; + @ApiModelProperty("发票状态") + private String billingState; + @ApiModelProperty("发票状态Key") + private String billingStateKey; + @ApiModelProperty("交接状态") + 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 vinNo; + @ApiModelProperty("开票名称") + 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; + @ApiModelProperty("业务状态Key 001正常开票 002包牌开票 003欠款开票") + private String businessStateKey; + @ApiModelProperty("业务状态") + private String businessState; +} 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..0a8d784ab3 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java @@ -0,0 +1,47 @@ +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); + + List selectListVo(); + + List selByExcel(@Param(Constants.WRAPPER)QueryWrapper qw); + + 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..7d224ecb79 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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..a0f9043ce5 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java @@ -0,0 +1,228 @@ +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.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 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.ArrayList; +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.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 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 new file mode 100644 index 0000000000..7196cf9984 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java @@ -0,0 +1,186 @@ +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.getInvoiceTypeKey())) { + qw.like("invoiceTypeKey", query.getInvoiceTypeKey()); + } + 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.getVinNo())) { + qw.like("VIN", query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getTransferState())) { + qw.eq("transferState", query.getTransferState()); + } + if (StringUtils.isNotBlank(query.getBillingState())) { + qw.eq("billingState", query.getBillingState()); + } + if (StringUtils.isNotBlank(query.getTransferStateKey())) { + qw.eq("transferStateKey", query.getTransferStateKey()); + } + if (StringUtils.isNotBlank(query.getBillingStateKey())) { + qw.eq("billingStateKey", query.getBillingStateKey()); + } + if (StringUtils.isNotBlank(query.getInvoicingName())) { + qw.like("invoicingName", query.getInvoicingName()); + } + 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 (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; + } + + 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.getInvoiceTypeKey())) { + qw.like("invoiceTypeKey", query.getInvoiceTypeKey()); + } + if (StringUtils.isNotBlank(query.getContractNo())) { + qw.like("contractNo", query.getContractNo()); + } + if (StringUtils.isNotBlank(query.getCustomerName())) { + qw.like("customerName", query.getCustomerName()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("VIN", query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getTransferState())) { + qw.eq("transferState", query.getTransferState()); + } + if (StringUtils.isNotBlank(query.getBillingState())) { + qw.eq("billingState", query.getBillingState()); + } + if (StringUtils.isNotBlank(query.getTransferStateKey())) { + qw.eq("transferStateKey", query.getTransferStateKey()); + } + if (StringUtils.isNotBlank(query.getBillingStateKey())) { + qw.eq("billingStateKey", query.getBillingStateKey()); + } + if (StringUtils.isNotBlank(query.getInvoicingName())) { + qw.like("invoicingName", query.getInvoicingName()); + } + 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 (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) { + invoiceExportVo.setRankNo(id); + id = id + 1; + } + return invoiceExportVoList; + } + + public FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid) { + FinVehicleInvoiceDetailsVo vo = baseMapper.getInvoiceDetailsBySid(sid); + return vo; + } + +} \ No newline at end of file diff --git a/doc/databases/fin_tables.sql b/doc/databases/fin_tables.sql index c9d7fb54d0..dd5b67a30e 100644 --- a/doc/databases/fin_tables.sql +++ b/doc/databases/fin_tables.sql @@ -1088,5 +1088,41 @@ CREATE TABLE `fin_paymentapply_vehicle` ) 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='车辆发票信息'