Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
e1f2e41443
  1. 472
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialscheme.vue
  2. 3
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialschemeEdit.vue
  3. 472
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/financialscheme.vue
  4. 129
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java
  5. 54
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java
  6. 99
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
  7. 42
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java
  8. 72
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
  9. 78
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
  10. 67
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java
  11. 74
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceVo.java
  12. 47
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
  13. 147
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml
  14. 228
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
  15. 186
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java
  16. 38
      doc/databases/fin_tables.sql

472
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialscheme.vue

@ -8,250 +8,274 @@
</div>
<div class="">
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="130px" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="6">
<div class="span-sty">是否打包</div>
<el-form-item><span class="addinputInfo">{{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }}</span></el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">资方及产品政策</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">融资项目</div>
<el-form-item>
<div class="addinputInfo">
<span>主车发票价{{ formobj.mainVehicleAmount }}</span>
<span>融资票据{{ formobj.accessoriesAmount }}</span>
<span>挂车{{ formobj.trailerAmount }} </span>
<span>购置税{{ formobj.purchaseTax }} </span>
<span>车损上浮{{ formobj.vehDamageFloat }} </span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="span-sty">融资项目总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">首付比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">首付金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">贷款保证金比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">厂家贴息</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPayMoney }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanInterest }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">厂家贴息用途</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscountUse }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.otherPolicyState">
<div class="title">其它融</div>
<div v-show="formobj.typeKey !== '02'">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="6">
<div class="span-sty">是否打包</div>
<el-form-item><span class="addinputInfo">{{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }}</span></el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">资方及产品政策</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">融资项目</div>
<el-form-item>
<div class="addinputInfo">
<span>主车发票价{{ formobj.mainVehicleAmount }}</span>
<span>融资票据{{ formobj.accessoriesAmount }}</span>
<span>挂车{{ formobj.trailerAmount }} </span>
<span>购置税{{ formobj.purchaseTax }} </span>
<span>车损上浮{{ formobj.vehDamageFloat }} </span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="span-sty">融资项目总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">首付比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">首付金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">贷款保证金比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">厂家贴息</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPayMoney }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanInterest }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">其它融名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyName }}</span></el-form-item>
<div class="span-sty">厂家贴息用途</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscountUse }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.otherPolicyState">
<div class="title">其它融</div>
<el-row>
<el-col :span="12">
<div class="span-sty">其它融名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyMonthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyInterest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">方案汇总</div>
<el-row>
<el-col :span="12">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanDownPay }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyAmount }}</span></el-form-item>
<div class="span-sty">贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmountTotal }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyPeriod }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyMonthlyRepay }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.monthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyInterest }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.interest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyYearRatio }}</span></el-form-item>
<div class="span-sty">预计首款还款日</div>
<el-form-item><span class="addinputInfo">{{ formobj.returnTime }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">应收明细</div>
<el-row>
<el-col :span="6">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">保险保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">落户保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositSettle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">代收意外险</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyAccidentPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">上牌费</div>
<el-form-item><span class="addinputInfo">{{ formobj.registerAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">运管费</div>
<el-form-item><span class="addinputInfo">{{ formobj.operationAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">补车价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehOtherPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">其它费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmount }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">其它费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmountRemark }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">办理方式选择</div>
<el-form-item><span class="addinputInfo">{{ formobj.dealWay }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">应收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.receivableTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">抵顶费用合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetTotal }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">实收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.realTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆总价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehTotalPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">名义(留购)</div>
<el-form-item><span class="addinputInfo">{{ formobj.nominalPrice }}</span></el-form-item>
</el-col>
<el-col :span="18">
<el-form-item><span class="addinputInfo">结清时需缴纳此费用</span></el-form-item>
</el-col>
</el-row>
</div>
<div v-show="formobj.typeKey == '02'">
<el-row>
<el-col :span="8">
<div class="span-sty">厂家贴息</div>
<el-form-item>
<span class="addinputInfo">{{ formobj.factoryDiscount }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">厂家贴息用途</div>
<el-form-item>
<span class="addinputInfo">>{{ formobj.factoryDiscountUse }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>服务费</div>
<el-form-item>
<span class="addinputInfo">>{{ formobj.serviceAmount }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<div class="title">方案汇总</div>
<el-row>
<el-col :span="12">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanDownPay }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">总贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmountTotal }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.monthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.interest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">预计首款还款日</div>
<el-form-item><span class="addinputInfo">{{ formobj.returnTime }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">应收明细</div>
<el-row>
<el-col :span="6">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">保险保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">落户保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositSettle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">代收意外险</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyAccidentPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">上牌费</div>
<el-form-item><span class="addinputInfo">{{ formobj.registerAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">运管费</div>
<el-form-item><span class="addinputInfo">{{ formobj.operationAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">补车价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehOtherPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">其它费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmount }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">其它费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmountRemark }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">办理方式选择</div>
<el-form-item><span class="addinputInfo">{{ formobj.dealWay }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">应收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.receivableTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">抵顶费用合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetTotal }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">实收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.realTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆总价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehTotalPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">名义(留购)</div>
<el-form-item><span class="addinputInfo">{{ formobj.nominalPrice }}</span></el-form-item>
</el-col>
<el-col :span="18">
<el-form-item><span class="addinputInfo">结清时需缴纳此费用</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>

3
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/relation/financialschemeEdit.vue

@ -9,7 +9,7 @@
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" label-position="top" :rules="rules" class="formaddcopy02">
<div v-show="formobj.typeKey == '01'">
<div v-show="formobj.typeKey !== '02'">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="6">
<div class="span-sty">是否打包</div>
@ -390,7 +390,6 @@ export default {
formobj: {
saleOrderSid: '',
type: '',
typeKey: '',
isPack: '',
policyName: '',
mainVehicleAmount: '',

472
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/financialscheme.vue

@ -8,250 +8,274 @@
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="130px" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="6">
<div class="span-sty">是否打包</div>
<el-form-item><span class="addinputInfo">{{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }}</span></el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">资方及产品政策</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">融资项目</div>
<el-form-item>
<div class="addinputInfo">
<span>主车发票价{{ formobj.mainVehicleAmount }}</span>
<span>融资票据{{ formobj.accessoriesAmount }}</span>
<span>挂车{{ formobj.trailerAmount }} </span>
<span>购置税{{ formobj.purchaseTax }} </span>
<span>车损上浮{{ formobj.vehDamageFloat }} </span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="span-sty">融资项目总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">首付比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">首付金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">贷款保证金比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">厂家贴息</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPayMoney }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanInterest }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">厂家贴息用途</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscountUse }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.otherPolicyState">
<div class="title">其它融</div>
<div v-show="formobj.typeKey !== '02'">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="6">
<div class="span-sty">是否打包</div>
<el-form-item><span class="addinputInfo">{{ formobj.isPack == '1' ? '是' : formobj.isPack == '0' ? '否' : '' }}</span></el-form-item>
</el-col>
<el-col :span="18">
<div class="span-sty">资方及产品政策</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">融资项目</div>
<el-form-item>
<div class="addinputInfo">
<span>主车发票价{{ formobj.mainVehicleAmount }}</span>
<span>融资票据{{ formobj.accessoriesAmount }}</span>
<span>挂车{{ formobj.trailerAmount }} </span>
<span>购置税{{ formobj.purchaseTax }} </span>
<span>车损上浮{{ formobj.vehDamageFloat }} </span>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="span-sty">融资项目总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">首付比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">首付金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">产品期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">贷款保证金比例</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">厂家贴息</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.policyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanPayMoney }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanInterest }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">其它融名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyName }}</span></el-form-item>
<div class="span-sty">厂家贴息用途</div>
<el-form-item><span class="addinputInfo">{{ formobj.factoryDiscountUse }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.otherPolicyState">
<div class="title">其它融</div>
<el-row>
<el-col :span="12">
<div class="span-sty">其它融名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyPeriod }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyMonthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyInterest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyYearRatio }}</span></el-form-item>
</el-col>
</el-row>
</div>
<div class="title">方案汇总</div>
<el-row>
<el-col :span="12">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanDownPay }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyAmount }}</span></el-form-item>
<div class="span-sty">贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmountTotal }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyPeriod }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyMonthlyRepay }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.monthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyInterest }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.interest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">年利率</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyYearRatio }}</span></el-form-item>
<div class="span-sty">预计首款还款日</div>
<el-form-item><span class="addinputInfo">{{ formobj.returnTime }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">应收明细</div>
<el-row>
<el-col :span="6">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">保险保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">落户保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositSettle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">代收意外险</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyAccidentPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">上牌费</div>
<el-form-item><span class="addinputInfo">{{ formobj.registerAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">运管费</div>
<el-form-item><span class="addinputInfo">{{ formobj.operationAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">补车价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehOtherPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">其它费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmount }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">其它费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmountRemark }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">办理方式选择</div>
<el-form-item><span class="addinputInfo">{{ formobj.dealWay }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">应收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.receivableTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">抵顶费用合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetTotal }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">实收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.realTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆总价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehTotalPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">名义(留购)</div>
<el-form-item><span class="addinputInfo">{{ formobj.nominalPrice }}</span></el-form-item>
</el-col>
<el-col :span="18">
<el-form-item><span class="addinputInfo">结清时需缴纳此费用</span></el-form-item>
</el-col>
</el-row>
</div>
<div v-show="formobj.typeKey == '02'">
<el-row>
<el-col :span="8">
<div class="span-sty">厂家贴息</div>
<el-form-item>
<span class="addinputInfo">{{ formobj.factoryDiscount }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">厂家贴息用途</div>
<el-form-item>
<span class="addinputInfo">>{{ formobj.factoryDiscountUse }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>服务费</div>
<el-form-item>
<span class="addinputInfo">>{{ formobj.serviceAmount }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<div class="title">方案汇总</div>
<el-row>
<el-col :span="12">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanDownPay }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">总贷款金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanAmountTotal }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">月还金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.monthlyRepay }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利息总额</div>
<el-form-item><span class="addinputInfo">{{ formobj.interest }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">预计首款还款日</div>
<el-form-item><span class="addinputInfo">{{ formobj.returnTime }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">应收明细</div>
<el-row>
<el-col :span="6">
<div class="span-sty">融资首付</div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">贷款保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.bondAmounts }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">保险保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">落户保证金</div>
<el-form-item><span class="addinputInfo">{{ formobj.depositSettle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">服务费</div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">代收意外险</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyAccidentPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">上牌费</div>
<el-form-item><span class="addinputInfo">{{ formobj.registerAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">运管费</div>
<el-form-item><span class="addinputInfo">{{ formobj.operationAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">补车价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehOtherPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">其它费用</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmount }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">其它费用说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherAmountRemark }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">办理方式选择</div>
<el-form-item><span class="addinputInfo">{{ formobj.dealWay }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">代收购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.proxyPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">应收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.receivableTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">抵顶费用合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetTotal }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶首年保险费</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPremium }}</span></el-form-item>
</el-col>
<el-col :span="9">
<div class="span-sty">抵顶购置税</div>
<el-form-item><span class="addinputInfo">{{ formobj.offsetPurchasetax }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">实收合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.realTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">车辆总价</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehTotalPrice }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty">名义(留购)</div>
<el-form-item><span class="addinputInfo">{{ formobj.nominalPrice }}</span></el-form-item>
</el-col>
<el-col :span="18">
<el-form-item><span class="addinputInfo">结清时需缴纳此费用</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>

129
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(财务管理) <br/>
* File: FinVehicleInvoice.java <br/>
* Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice <br/>
* Description: 车辆发票信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @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;
}

54
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<String> filePaths;
}

99
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(财务管理) <br/>
* File: LoanVehicleInvoiceDto.java <br/>
* Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto <br/>
* Description: 车辆发票信息 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @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<String> filePaths;
private String vinNo;
@ApiModelProperty("开票名称")
private String invoicingName;
@ApiModelProperty("业务状态Key 001正常开票 002包牌开票 003欠款开票")
private String businessStateKey;
@ApiModelProperty("业务状态")
private String businessState;
}

42
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;
}

72
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(财务管理) <br/>
* File: FinVehicleInvoiceFeign.java <br/>
* Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign <br/>
* Description: 车辆发票信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @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<PagerVo<FinVehicleInvoiceVo>> listPage(@RequestBody PagerQuery<FinVehicleInvoiceQuery> pq);
@ApiOperation("根据条件查询所有数据列表")
@PostMapping("/listAll")
public ResultBean<List<FinVehicleInvoiceVo>> listAll(@RequestBody FinVehicleInvoiceQuery query);
@ApiOperation("所有数据列表")
@GetMapping("/list")
public ResultBean<List<FinVehicleInvoiceVo>> 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<FinVehicleInvoiceVo> fetch(@PathVariable("id") String id);
@ApiOperation("获取详情记录")
@GetMapping("/fetchSid/{sid}")
public ResultBean<FinVehicleInvoiceDetailsVo> fetchBySid(@PathVariable("sid") String sid);
@PostMapping("/exportExcel")
@ApiOperation(value = "车辆发票信息列表导出")
@ResponseBody
public void exportExcel(@RequestBody FinVehicleInvoiceQuery query);
}

78
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(财务管理) <br/>
* File: FinVehicleInvoiceFeignFallback.java <br/>
* Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeignFallback <br/>
* Description: 车辆发票信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class FinVehicleInvoiceFeignFallback implements FinVehicleInvoiceFeign {
@Override
public ResultBean<PagerVo<FinVehicleInvoiceVo>> listPage(PagerQuery<FinVehicleInvoiceQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-fin/finvehicleinvoice/listPage无法访问");
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> listAll(FinVehicleInvoiceQuery query){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-fin/finvehicleinvoice/listAll无法访问");
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> 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<FinVehicleInvoiceVo> fetch(String id){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-fin/finvehicleinvoice/fetch无法访问");
}
@Override
public ResultBean<FinVehicleInvoiceDetailsVo> fetchBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-fin/finvehicleinvoice/fetch无法访问");
}
@Override
public void exportExcel(FinVehicleInvoiceQuery query) {
}
}

67
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(财务管理) <br/>
* File: FinVehicleInvoiceQuery.java <br/>
* Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceQuery <br/>
* Description: 车辆发票信息 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "车辆发票信息 查询条件", description = "车辆发票信息 查询条件")
@Data
public class FinVehicleInvoiceQuery implements Query {
@ApiModelProperty(value = "sids", required = false)
private List<String> 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;
}

74
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(财务管理) <br/>
* File: FinVehicleInvoiceVo.java <br/>
* Class: com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo <br/>
* Description: 车辆发票信息 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @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<String> filePaths;
@ApiModelProperty("业务状态Key 001正常开票 002包牌开票 003欠款开票")
private String businessStateKey;
@ApiModelProperty("业务状态")
private String businessState;
}

47
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(财务管理) <br/>
* File: FinVehicleInvoiceMapper.java <br/>
* Class: com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceMapper <br/>
* Description: 车辆发票信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface FinVehicleInvoiceMapper extends BaseMapper<FinVehicleInvoice> {
//@Update("update fin_vehicle_invoice set name=#{msg} where id=#{id}")
//IPage<FinVehicleInvoiceVo> voPage(IPage<FinVehicleInvoice> page, @Param(Constants.WRAPPER) QueryWrapper<FinVehicleInvoice> qw);
IPage<FinVehicleInvoiceVo> selectPageVo(IPage<FinVehicleInvoice> page, @Param(Constants.WRAPPER) Wrapper<FinVehicleInvoice> qw);
List<FinVehicleInvoiceVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinVehicleInvoice> qw);
List<FinVehicleInvoiceVo> selectListVo();
List<FinVehicleInvoiceExportVo> selByExcel(@Param(Constants.WRAPPER)QueryWrapper<FinVehicleInvoiceExportVo> qw);
FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid);
}

147
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceMapper">
<resultMap id="selectPageVoResultMap" type="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo">
<result column="sid" property="sid"></result>
<result column="state" property="state"></result>
<result column="transferState" property="transferState"></result>
<result column="billingState" property="billingState"></result>
<result column="invoiceTitle" property="invoiceTitle"></result>
<result column="invoiceType" property="invoiceType"></result>
<result column="invoiceTypeKey" property="invoiceTypeKey"></result>
<result column="contractNo" property="contractNo"></result>
<result column="customerName" property="customerName"></result>
<result column="VIN" property="vinNo"></result>
<result column="invoicingName" property="invoicingName"></result>
<result column="invoiceAmount" property="invoiceAmount"></result>
<result column="createTime" property="createTime"></result>
<result column="invoiceCode" property="invoiceCode"></result>
<result column="filePath" property="filePath"></result>
<result column="billingStateKey" property="billingStateKey"></result>
<result column="transferStateKey" property="transferStateKey"></result>
<result column="businessStateKey" property="businessStateKey"></result>
<result column="businessState" property="businessState"></result>
</resultMap>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultMap="selectPageVoResultMap">
SELECT DISTINCT
sid,
`state`,
billingStateKey,
billingState,
businessStateKey,
businessState,
transferStateKey,
transferState,
invoiceTitle,
invoiceType,
invoiceTypeKey,
contractNo,
customerName,
VIN,
invoicingName,
invoiceAmount,
createTime,
invoiceCode,
invoiceNo,
filePath
FROM fin_vehicle_invoice
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListVo" resultMap="selectPageVoResultMap">
SELECT * FROM fin_vehicle_invoice where isDelete = '0'
</select>
<select id="selectListAllVo" resultMap="selectPageVoResultMap">
SELECT * FROM fin_vehicle_invoice
<where>${ew.sqlSegment}</where>
</select>
<resultMap id="selectPageExportVoResultMap" type="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceExportVo">
<result column="transferState" property="transferState"></result>
<result column="billingState" property="billingState"></result>
<result column="invoiceTitle" property="invoiceTitle"></result>
<result column="invoiceType" property="invoiceType"></result>
<result column="contractNo" property="contractNo"></result>
<result column="customerName" property="customerName"></result>
<result column="VIN" property="vinNo"></result>
<result column="invoicingName" property="invoicingName"></result>
<result column="invoiceAmount" property="invoiceAmount"></result>
<result column="createTime" property="createTime"></result>
<result column="invoiceCode" property="invoiceCode"></result>
<result column="businessState" property="businessState"></result>
</resultMap>
<select id="selByExcel" resultMap="selectPageExportVoResultMap">
SELECT DISTINCT
billingState,
transferState,
businessState,
invoiceTitle,
invoiceType,
contractNo,
customerName,
VIN,
invoicingName,
invoiceAmount,
createTime,
invoiceCode
FROM fin_vehicle_invoice
<where>
${ew.sqlSegment}
</where>
</select>
<resultMap id="getInvoiceDetailsBySidResultMap" type="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo">
<result column="sid" property="sid"></result>
<result column="billingState" property="billingState"></result>
<result column="billingStateKey" property="billingStateKey"></result>
<result column="invoiceTitle" property="invoiceTitle"></result>
<result column="invoiceType" property="invoiceType"></result>
<result column="invoiceTypeKey" property="invoiceTypeKey"></result>
<result column="contractNo" property="contractNo"></result>
<result column="customerName" property="customerName"></result>
<result column="VIN" property="vinNo"></result>
<result column="invoicingName" property="invoicingName"></result>
<result column="invoiceAmount" property="invoiceAmount"></result>
<result column="createTime" property="createTime"></result>
<result column="invoiceCode" property="invoiceCode"></result>
<result column="filePath" property="filePath"></result>
<result column="name" property="name"></result>
<result column="invoiceNo" property="invoiceNo"></result>
</resultMap>
<select id="getInvoiceDetailsBySid"
resultMap="getInvoiceDetailsBySidResultMap">
SELECT DISTINCT
si.`name` as name,
v.sid as sid,
v.invoiceTitle as invoiceTitle,
v.contractNo as contractNo,
v.customerName as customerName,
v.VIN as VIN,
v.invoiceType as invoiceType,
v.invoiceTypeKey as invoiceTypeKey,
v.invoiceAmount as invoiceAmount,
v.`state` as state,
v.billingState as billingState,
v.billingStateKey as billingStateKey,
v.invoicingName as invoicingName,
v.createTime as createTime,
v.invoiceNo as invoiceNo,
v.invoiceCode as invoiceCode,
v.filePath as filePath
FROM fin_vehicle_invoice AS v
LEFT JOIN anrui_portal.sys_user AS u ON v.createBySid = u.sid
LEFT JOIN anrui_portal.sys_staffinfo AS si ON u.staffSid = si.sid
WHERE v.isDelete = '0' AND v.sid = #{sid}
</select>
</mapper>

228
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(财务管理) <br/>
* File: FinVehicleInvoiceFeignFallback.java <br/>
* Class: com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceRest <br/>
* Description: 车辆发票信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @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<FinVehicleInvoiceVo> setVo(List<FinVehicleInvoiceVo> list) {
for (FinVehicleInvoiceVo finVehicleInvoiceVo : list) {
if (StringUtils.isNotBlank(finVehicleInvoiceVo.getFilePath())) {
String filePath = finVehicleInvoiceVo.getFilePath();
List<String> 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<PagerVo<FinVehicleInvoiceVo>> listPage(@RequestBody PagerQuery<FinVehicleInvoiceQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinVehicleInvoiceVo> pv = finVehicleInvoiceService.listPageVo(pq);
List<FinVehicleInvoiceVo> records = pv.getRecords();
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(records);
pv.setRecords(finVehicleInvoiceVos);
return rb.success().setData(pv);
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> listAll(@RequestBody FinVehicleInvoiceQuery query) {
ResultBean rb = ResultBean.fireFail();
List<FinVehicleInvoiceVo> list = finVehicleInvoiceService.listAllVo(query);
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(list);
return rb.success().setData(finVehicleInvoiceVos);
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> list() {
ResultBean rb = ResultBean.fireFail();
List<FinVehicleInvoiceVo> list = finVehicleInvoiceService.listVo();
List<FinVehicleInvoiceVo> 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<FinVehicleInvoiceVo> fetch(String id) {
ResultBean rb = ResultBean.fireFail();
FinVehicleInvoiceVo vo = finVehicleInvoiceService.fetchByIdVo(id);
return rb.success().setData(vo);
}
@Override
public ResultBean<FinVehicleInvoiceDetailsVo> 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<String> 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<FinVehicleInvoiceExportVo> 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);
}
}

186
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(财务管理) <br/>
* File: FinVehicleInvoiceService.java <br/>
* Class: com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceService <br/>
* Description: 车辆发票信息 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-27 09:36:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoiceMapper, FinVehicleInvoice> {
public PagerVo<FinVehicleInvoice> listPage(PagerQuery<FinVehicleInvoiceQuery> pq) {
FinVehicleInvoiceQuery query = pq.getParams();
QueryWrapper<FinVehicleInvoice> qw = createQueryWrapper(query);
IPage<FinVehicleInvoice> page = PagerUtil.queryToPage(pq);
IPage<FinVehicleInvoice> pagging = baseMapper.selectPage(page, qw);
PagerVo<FinVehicleInvoice> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<FinVehicleInvoice> listAll(FinVehicleInvoiceQuery query) {
QueryWrapper<FinVehicleInvoice> qw = createQueryWrapper(query);
return baseMapper.selectList(qw);
}
private QueryWrapper<FinVehicleInvoice> createQueryWrapper(FinVehicleInvoiceQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinVehicleInvoice> 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<FinVehicleInvoiceVo> listPageVo(PagerQuery<FinVehicleInvoiceQuery> pq) {
FinVehicleInvoiceQuery query = pq.getParams();
QueryWrapper<FinVehicleInvoice> qw = createQueryWrapper(query);
IPage<FinVehicleInvoice> page = PagerUtil.queryToPage(pq);
IPage<FinVehicleInvoiceVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinVehicleInvoiceVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<FinVehicleInvoiceVo> listAllVo(FinVehicleInvoiceQuery query) {
QueryWrapper<FinVehicleInvoice> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}
public List<FinVehicleInvoiceVo> 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<FinVehicleInvoiceExportVo> listExcel(FinVehicleInvoiceQuery query) {
QueryWrapper<FinVehicleInvoiceExportVo> 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<FinVehicleInvoiceExportVo> 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;
}
}

38
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='车辆发票信息'

Loading…
Cancel
Save