From 1b195faed813b47c6951d03fe24684a97bff87ec Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Fri, 15 Sep 2023 18:35:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusValcustFilingService.java | 139 ++++++++++++++++++ .../finbilltrailer/FinBillTrailerFeign.java | 5 + .../finbillvehicle/FinBillVehicleFeign.java | 4 + .../FinCompanyInvoicingFeign.java | 5 + .../FinVehicleInvoiceFeign.java | 8 + .../FinVehicleInvoiceFeignFallback.java | 10 ++ .../FinBillApplicationService.java | 1 + .../finbilltrailer/FinBillTrailerRest.java | 7 + .../finbillvehicle/FinBillVehicleRest.java | 7 + .../FinCompanyInvoicingRest.java | 7 + .../FinVehicleInvoiceRest.java | 14 ++ 11 files changed, 207 insertions(+) diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java index b8b2faa591..d9a219a9e9 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java @@ -30,12 +30,32 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; +import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyFeign; +import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.BusValcustFilingNodeQuery; import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.BusValcustFilingNodeVo; import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.BusValcustFilingTaskQuery; import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.SubmitBusValcustFilingDto; +import com.yxt.anrui.buscenter.biz.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyService; +import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; +import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign; import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo; +import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerFeign; +import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; +import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign; +import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; +import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; +import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; @@ -70,6 +90,7 @@ import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingFeign; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -99,6 +120,24 @@ public class BusValcustFilingService extends MybatisBaseService listPageVo(PagerQuery pq) { BusValcustFilingQuery query = pq.getParams(); @@ -328,6 +367,106 @@ public class BusValcustFilingService extends MybatisBaseService finBillVehicleVos = finBillVehicleFeign.fetchVehBySid(busValcustFiling.getBusSid()).getData(); + List finBillTrailerVos = finBillTrailerFeign.fetchByMainSid(busValcustFiling.getBusSid()).getData(); + for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { + int count = finVehicleInvoiceFeign.selectCountByVinSid(finBillVehicleVo.getVehSid()).getData(); + if (count == 0) { + FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); + finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); + finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); + finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); + finVehicleInvoiceDto.setVehicleSid(finBillVehicleVo.getVehSid()); + finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo()); + finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleVo.getBillTypeKey()); + finVehicleInvoiceDto.setInvoiceType(finBillVehicleVo.getBillTypeValue()); + finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney()); + finVehicleInvoiceDto.setBillingStateKey("001"); + finVehicleInvoiceDto.setBillingState("未开票"); + finVehicleInvoiceDto.setTransferStateKey("001"); + finVehicleInvoiceDto.setTransferState("未移交"); + finVehicleInvoiceDto.setVehicleType("主车"); + finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid()); + finVehicleInvoiceDto.setInvoicingName(finBillVehicleVo.getOpenTickName()); + finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); + BusArrearsCarryVehicleApplyVo busArrearsCarryVehicleApplyVo = busArrearsCarryVehicleApplyService.selComByVehSid(finBillVehicleVo.getVehSid()).getData(); + if (busArrearsCarryVehicleApplyVo == null){ + finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); + finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); + }else { + finVehicleInvoiceDto.setBusinessStateKey("005"); + finVehicleInvoiceDto.setBusinessState("欠款提车"); + } + finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); + FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()).getData(); + if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) { + finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); + finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); + finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); + finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); + finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); + } else { + CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData(); + finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); + finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); + } + finVehicleInvoiceDto.setIsTakeTicket("是"); + finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto); + } + } + if (finBillTrailerVos != null) { + for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) { + String gcVinNo = finBillTrailerVo.getGcVinNo(); + BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData(); + int count = finVehicleInvoiceFeign.selectCountByVinSid(baseTrailerDetailsVo.getSid()).getData(); + if (count == 0) { + FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); + finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); + finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); + finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); + finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid()); + finVehicleInvoiceDto.setVIN(gcVinNo); + finVehicleInvoiceDto.setInvoiceTypeKey(finBillTrailerVo.getBillTypeKey()); + finVehicleInvoiceDto.setInvoiceType(finBillTrailerVo.getBillTypeValue()); + finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(finBillTrailerVo.getOneBillMoney())); + finVehicleInvoiceDto.setBillingStateKey("001"); + finVehicleInvoiceDto.setBillingState("未开票"); + finVehicleInvoiceDto.setTransferStateKey("001"); + finVehicleInvoiceDto.setTransferState("未移交"); + finVehicleInvoiceDto.setVehicleType("挂车"); + finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid()); + finVehicleInvoiceDto.setInvoicingName(finBillTrailerVo.getOpenTickName()); + finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); + finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); + finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); + finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); + FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()).getData(); + if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) { + finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); + finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); + finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); + finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); + finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); + } else { + CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData(); + finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); + finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); + } + finVehicleInvoiceDto.setIsTakeTicket("是"); + finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto); + } + } + } + BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busValcustFiling.getSaleOrderSid()); + BigDecimal oneBillMoney = busSalesOrder.getOneBillMoney(); + if (oneBillMoney == null) { + busSalesOrderService.updateOneBillMoneyByOrderSid(busSalesOrder.getSid(), finBillApplication.getOneBillMoney().toString()); + } + } } else { //极光推送 busValcustFiling = fetchBySid(businessSid); diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbilltrailer/FinBillTrailerFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbilltrailer/FinBillTrailerFeign.java index bb5cd1af21..478ffaf92d 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbilltrailer/FinBillTrailerFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbilltrailer/FinBillTrailerFeign.java @@ -75,4 +75,9 @@ public interface FinBillTrailerFeign { @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("查询开票申请挂车列表") + @PostMapping("/fetchByMainSid") + @ResponseBody + ResultBean> fetchByMainSid(@RequestParam("busSid") String busSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleFeign.java index f479cf8b2a..4413abd0dc 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleFeign.java @@ -94,4 +94,8 @@ public interface FinBillVehicleFeign { @ResponseBody ResultBean> fetchByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid, @RequestParam("contractNo") String contractNo); + @ApiOperation("查询开票申请车辆列表") + @PostMapping("/fetchVehBySid") + @ResponseBody + ResultBean> fetchVehBySid(@RequestParam("busSid") String busSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java index 4b5f84566c..ecaf760426 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java @@ -125,4 +125,9 @@ public interface FinCompanyInvoicingFeign { @GetMapping("/qyAppFetchDetailsBySid/{sid}") @ResponseBody public ResultBean qyAppFetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("查询一条") + @PostMapping("/fetchDetailsVoBySid") + @ResponseBody + ResultBean fetchDetailsVoBySid(@RequestParam("openTickSid") String openTickSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java index 9260a4fb64..d8e21b37c7 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java @@ -127,4 +127,12 @@ public interface FinVehicleInvoiceFeign { @PostMapping("/updateBillingState") ResultBean updateBillingState(@RequestParam("contractNo") String contractNo, @RequestParam("vinSid") String vinSid); + @ApiOperation("根据车辆sid查询未作废的开票管理") + @PostMapping("/selectCountByVinSid") + @ResponseBody + ResultBean selectCountByVinSid(@RequestParam("vehSid") String vehSid); + + @ApiOperation("推送开票管理") + @PostMapping("/mySave") + ResultBean mySave(@RequestBody FinVehicleInvoiceDto finVehicleInvoiceDto); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java index da34dfe726..acaf1f348d 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java @@ -139,4 +139,14 @@ public class FinVehicleInvoiceFeignFallback implements FinVehicleInvoiceFeign { return null; } + @Override + public ResultBean selectCountByVinSid(String vehSid) { + return null; + } + + @Override + public ResultBean mySave(FinVehicleInvoiceDto finVehicleInvoiceDto) { + return null; + } + } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java index f452e43679..d8a855966e 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java @@ -787,6 +787,7 @@ public class FinBillApplicationService extends MybatisBaseService> fetchByMainSid(String busSid) { + ResultBean rb = ResultBean.fireFail(); + List finBillTrailerVos = finBillTrailerService.fetchByMainSid(busSid); + return rb.success().setData(finBillTrailerVos); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleRest.java index 941ee0aae8..a791131e8f 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleRest.java @@ -113,4 +113,11 @@ public class FinBillVehicleRest implements FinBillVehicleFeign { List vehSids = finBillVehicleService.fetchByUseOrgSid(useOrgSid,contractNo); return rb.success().setData(vehSids); } + + @Override + public ResultBean> fetchVehBySid(String busSid) { + ResultBean rb = ResultBean.fireFail(); + List finBillVehicleVos = finBillVehicleService.fetchVehBySid(busSid); + return rb.success().setData(finBillVehicleVos); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java index e323ed71db..6e206b9e4a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java @@ -150,4 +150,11 @@ public class FinCompanyInvoicingRest implements FinCompanyInvoicingFeign { public ResultBean qyAppFetchDetailsBySid(String sid) { return finCompanyInvoicingService.qyAppFetchDetailsBySid(sid); } + + @Override + public ResultBean fetchDetailsVoBySid(String openTickSid) { + ResultBean rb = ResultBean.fireFail(); + FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(openTickSid); + return rb.success().setData(finCompanyInvoicingDetailsVo); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java index c39cb6e5dc..905806a299 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java @@ -259,4 +259,18 @@ public class FinVehicleInvoiceRest implements FinVehicleInvoiceFeign { return finVehicleInvoiceService.updateBillingState(contractNo,vinSid); } + @Override + public ResultBean selectCountByVinSid(String vehSid) { + ResultBean rb = ResultBean.fireFail(); + int i = finVehicleInvoiceService.selectCountByVinSid(vehSid); + return rb.success().setData(i); + } + + @Override + public ResultBean mySave(FinVehicleInvoiceDto finVehicleInvoiceDto) { + ResultBean rb = ResultBean.fireFail(); + finVehicleInvoiceService.mySave(finVehicleInvoiceDto); + return rb.success(); + } + }