From 2aaf2dcf513f4e8ed2b23e365353826b3385a4d9 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Sat, 16 Sep 2023 15:01:38 +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 --- .../api/basevehicle/BaseVehicleFeign.java | 4 + .../basevehicle/BaseVehicleFeignFallback.java | 5 + .../base/biz/basevehicle/BaseVehicleRest.java | 7 + .../busvalcustfiling/BusValcustFiling.java | 2 + .../busvalcustfiling/BusValcustFilingDto.java | 2 + .../BusValcustFilingFeign.java | 5 + .../BusValcustFilingMapper.java | 2 + .../BusValcustFilingMapper.xml | 7 + .../BusValcustFilingRest.java | 5 + .../BusValcustFilingService.java | 72 +++- .../FinUncollectedReceivablesDetailedDto.java | 10 + .../FinBillApplicationService.java | 1 + .../FinCollectionConfirmationService.java | 333 +++++++++++++++++- 13 files changed, 434 insertions(+), 21 deletions(-) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java index e6a0c58418..d95087a26e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java @@ -524,4 +524,8 @@ public interface BaseVehicleFeign { @PostMapping("/updateStateForReturnVeh") public ResultBean updateStateForReturnVeh(@RequestParam("vehSid") String vehSid); + @ApiOperation("单独查询车辆信息") + @PostMapping("/fetchBySid") + @ResponseBody + ResultBean fetchBySid(@RequestParam("vinSid") String vinSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java index f586fc34a7..bee7d11f95 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java @@ -422,6 +422,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign { return null; } + @Override + public ResultBean fetchBySid(String vinSid) { + return null; + } + @Override public ResultBean> selectAppListOne(String modelSid, String configSid, String orgSid,List list) { return null; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java index 84ba0ebb32..7cf16bd792 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java @@ -1494,6 +1494,13 @@ public class BaseVehicleRest implements BaseVehicleFeign { return baseVehicleService.updateStateForReturnVeh(vehSid); } + @Override + public ResultBean fetchBySid(String vinSid) { + ResultBean rb = ResultBean.fireFail(); + BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vinSid); + return rb.success().setData(baseVehicle); + } + @Override public ResultBean> selectAppListOne(String modelSid, String configSid, String orgSid, List list) { return baseVehicleService.selectAppListOne(modelSid, configSid, orgSid, list); diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFiling.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFiling.java index 1f40692ebc..d638e2acb8 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFiling.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFiling.java @@ -94,6 +94,8 @@ public class BusValcustFiling extends BaseEntity { private String saleOrderSid; @ApiModelProperty("业务sid") private String busSid; + @ApiModelProperty("业务来源") + private String busSource; @ApiModelProperty("组织机构全路径sid") private String orgSidPath; // 组织机构全路径sid diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingDto.java index 03ec564066..00b373362d 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingDto.java @@ -87,6 +87,8 @@ public class BusValcustFilingDto implements Dto { private String saleOrderSid; @ApiModelProperty("业务sid") private String busSid; + @ApiModelProperty("业务来源") + private String busSource; @ApiModelProperty("组织机构全路径sid") private String orgSidPath; // 组织机构全路径sid diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingFeign.java index 80bc8bf7e1..60161b5abd 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingFeign.java @@ -106,4 +106,9 @@ public interface BusValcustFilingFeign { @ApiOperation(value = "终止任务") @PostMapping(value = "/breakProcess") public ResultBean breakProcess(@Valid @RequestBody BusValcustFilingTaskQuery query); + + @ApiOperation("根据合同号和车架号查询") + @PostMapping("/selectByContractNoAndVinNo") + @ResponseBody + ResultBean selectByContractNoAndVinNo(@RequestParam("contractNo") String contractNo,@RequestParam("vinNo") String vinNo); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.java index 93fdf0cfa7..96faeafa2d 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.java @@ -67,4 +67,6 @@ public interface BusValcustFilingMapper extends BaseMapper { int updateFlowFiled(Map map); String selectNum(String billNo); + + BusValcustFiling selectByContractNoAndVinNo(@Param("contractNo") String contractNo,@Param("vinNo") String vinNo); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.xml index ea3ead94fd..6af5ea6ff9 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingMapper.xml @@ -57,4 +57,11 @@ order by billNo desc limit 1 + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingRest.java index 971b048fe9..5773f1626d 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingRest.java @@ -139,4 +139,9 @@ public class BusValcustFilingRest implements BusValcustFilingFeign { public ResultBean breakProcess(BusValcustFilingTaskQuery query) { return busValcustFilingService.breakProcess(query); } + + @Override + public ResultBean selectByContractNoAndVinNo(String contractNo, String vinNo) { + return busValcustFilingService.selectByContractNoAndVinNo(contractNo,vinNo); + } } 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 d9a219a9e9..2d24fb9eec 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 @@ -32,17 +32,21 @@ 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.api.basevehicle.BaseVehicle; +import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; 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.bussalesordervehicle.BusSalesOrderVehicle; 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.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; @@ -54,6 +58,10 @@ 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.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; @@ -137,7 +145,13 @@ public class BusValcustFilingService extends MybatisBaseService listPageVo(PagerQuery pq) { BusValcustFilingQuery query = pq.getParams(); @@ -187,15 +201,15 @@ public class BusValcustFilingService extends MybatisBaseService= date_format('" + createStartTime + "','%Y-%m-%d')"). - apply(StringUtils.isNotBlank(createEndTime), "date_format (bf.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" - ); - } + if (StringUtils.isNotBlank(query.getModelName())) { + qw.like("bf.modelName", query.getModelName()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bf.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (bf.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -367,9 +381,33 @@ public class BusValcustFilingService extends MybatisBaseService finBillVehicleVos = finBillVehicleFeign.fetchVehBySid(busValcustFiling.getBusSid()).getData(); List finBillTrailerVos = finBillTrailerFeign.fetchByMainSid(busValcustFiling.getBusSid()).getData(); @@ -394,10 +432,10 @@ public class BusValcustFilingService extends MybatisBaseService selectByContractNoAndVinNo(String contractNo, String vinNo) { + ResultBean rb = ResultBean.fireFail(); + BusValcustFiling busValcustFiling = baseMapper.selectByContractNoAndVinNo(contractNo,vinNo); + return rb.success().setData(busValcustFiling); + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedDto.java index 0fee1ff3c8..ee310ca642 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedDto.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedDto.java @@ -72,6 +72,16 @@ public class FinUncollectedReceivablesDetailedDto implements Dto { private String receivablesName; // 应收项目名称 @ApiModelProperty("当前应收金额") private String currentReceivableMoney; // 当前应收金额 + @ApiModelProperty("应收金额(不变)") + private String reveivableMoney; + private String busVinSid; + @ApiModelProperty("付款方式") + private String payTypeKey; + private String payType; + @ApiModelProperty("应收款项状态") + private String kxState; + @ApiModelProperty("分公司") + private String useOrgName; @ApiModelProperty("申请人组织路径") private String orgSidPath; } \ 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 f4fc4ed723..399c74e86d 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 @@ -794,6 +794,7 @@ public class FinBillApplicationService extends MybatisBaseService createQueryWrapper(FinCollectionConfirmationQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -1601,6 +1638,112 @@ public class FinCollectionConfirmationService extends MybatisBaseService finBillVehicleVos = finBillVehicleService.fetchVehBySid(finBillApplication.getSid()); + List finBillTrailerVos = finBillTrailerService.fetchByMainSid(finBillApplication.getSid()); + for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { + int count = finVehicleInvoiceService.selectCountByVinSid(finBillVehicleVo.getVehSid()); + 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 = busArrearsCarryVehicleApplyFeign.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 = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()); + 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("是"); + finVehicleInvoiceService.mySave(finVehicleInvoiceDto); + } + } + if (finBillTrailerVos != null) { + for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) { + String gcVinNo = finBillTrailerVo.getGcVinNo(); + BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData(); + int count = finVehicleInvoiceService.selectCountByVinSid(baseTrailerDetailsVo.getSid()); + 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 = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()); + 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("是"); + finVehicleInvoiceService.mySave(finVehicleInvoiceDto); + } + } + } + BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(finSelectedReceivablesDetailedVo.getContractNo()).getData(); + BigDecimal oneBillMoney = busSalesOrder.getOneBillMoney(); + if (oneBillMoney == null) { + busSalesOrderFeign.updateOneBillMoneyByOrderSid(busSalesOrder.getSid(), finBillApplication.getOneBillMoney().toString()); + } + }else {//出库开票申请 + + } + } + } return rb.success().setMsg("款项确认成功"); } @@ -1662,6 +1805,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "订金", "1"); finSelectedReceivablesDetailedVos2.removeAll(Collections.singleton(null)); + //加装配置手续费(全款) + List finSelectedReceivablesDetailedVos3_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "加装配置手续费", "1"); + finSelectedReceivablesDetailedVos3_1.removeAll(Collections.singleton(null)); //贷款推送车款 List finSelectedReceivablesDetailedVos1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "车款", "2"); finSelectedReceivablesDetailedVos1_1.removeAll(Collections.singleton(null)); @@ -1671,6 +1817,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "首付款及费用", "2"); finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null)); + //加装配置手续费(贷款) + List finSelectedReceivablesDetailedVos3_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "加装配置手续费", "2"); + finSelectedReceivablesDetailedVos3_2.removeAll(Collections.singleton(null)); int carSize = 0; //全款推送车款 if (finSelectedReceivablesDetailedVos1.size() > 0) { @@ -1680,7 +1829,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { + boolean one = false; + if (finSelectedReceivablesDetailedVos1.size() == 0 && + finSelectedReceivablesDetailedVos1_1_1.size() == 0 && + finSelectedReceivablesDetailedVos2.size() == 0 && + finSelectedReceivablesDetailedVos1_1.size() == 0 && + finSelectedReceivablesDetailedVos2_1.size() == 0 && + finSelectedReceivablesDetailedVos1_1_2.size() == 0 && + finSelectedReceivablesDetailedVos3_1.size() == 1 && + finSelectedReceivablesDetailedVos3_2.size() == 0) { + one = true; + } + carSize = fullInstaConfigFee(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos3_1, freceivebillentry, one, orgCode); + } //担保贷款推送车款 if (finSelectedReceivablesDetailedVos1_1.size() > 0) { @@ -1721,7 +1891,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { + boolean one = false; + if (finSelectedReceivablesDetailedVos1.size() == 0 && + finSelectedReceivablesDetailedVos1_1_1.size() == 0 && + finSelectedReceivablesDetailedVos2.size() == 0 && + finSelectedReceivablesDetailedVos1_1.size() == 0 && + finSelectedReceivablesDetailedVos2_1.size() == 0 && + finSelectedReceivablesDetailedVos1_1_2.size() == 0 && + finSelectedReceivablesDetailedVos3_1.size() == 0 && + finSelectedReceivablesDetailedVos3_2.size() == 1) { + one = true; + } + carSize = loanInstaConfigFee(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos3_2, freceivebillentry, one, orgCode); + } //简易订单-订金收取 if (finSelectedReceivablesDetailedVos1.isEmpty() && @@ -1759,7 +1950,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSelectedReceivablesDetailedVos3_1, + ARReceivebill.FRECEIVEBILLENTRY freceivebillentry, + boolean one, + String orgCode) { + String sid = confirmation.getSid(); + List voListv = + finSelectedReceivablesDetailedService.selectDetailsList(sid, "加装配置手续费"); + finSelectedReceivablesDetailedVos3_1.removeAll(Collections.singleton(null)); + List fEntityList = new ArrayList<>(); + for (int i = 0; i < finSelectedReceivablesDetailedVos3_1.size(); i++) { + FinSelectedReceivablesDetailedVo v = finSelectedReceivablesDetailedVos3_1.get(i); + //推送客户 + String customerNo = createCustomerQuery(1, v, orgCode); + //往来单位 + arReceivebill.setFCONTACTUNIT(customerNo); + fEntityList = new ArrayList<>(); + //查询该收款单已选款项中该合同号的所有车架号不为空的明细 + String contractNo = v.getContractNo(); + List vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, "加装配置手续费", contractNo); + vinListVo.removeAll(Collections.singleton(null)); + if (!vinListVo.isEmpty()) { + for (FinSelectedReceivablesDetailedVo vv : vinListVo) { + freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); + //结算方式 + freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); + freceivebillentry.setFSETTLETYPEIDType("customerPayType"); + //收款金额 + freceivebillentry.setFRECTOTALAMOUNTFOR(vv.getSubscriptionMoney()); + //登记日期 + freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); + if (vv.getVIN().length() >= 8) { + freceivebillentry.setF_PAEZ_Base1(vv.getVIN().substring(vv.getVIN().length() - 8)); + } + //收款用途 + freceivebillentry.setFPURPOSEIDKey("001"); + freceivebillentry.setFPURPOSEIDType("cw_skyt"); + freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); + fEntityList.add(freceivebillentry); + } + } + //查询该合同编号的车架号为空的情况 + FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, "加装配置手续费", contractNo); + if (vvVo != null) { + freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); + //结算方式 + freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); + freceivebillentry.setFSETTLETYPEIDType("customerPayType"); + //收款金额 + freceivebillentry.setFRECTOTALAMOUNTFOR(vvVo.getSumAll()); + //登记日期 + freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); + //收款用途 + freceivebillentry.setFPURPOSEIDKey("001"); + freceivebillentry.setFPURPOSEIDType("cw_skyt"); + freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); + fEntityList.add(freceivebillentry); + } + //项目类别key、value + arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); + arReceivebill.setF_PAEZ_AssistantKey("006"); + arReceivebill.setFRECEIVEBILLENTRY(fEntityList); + if (one) { + arReceivebill.setFBillNo(confirmation.getBillNo()); + } else { + carSize = carSize + 1; + arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize); + } + ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); + } + return carSize; + } + //担保贷款推送车款 public int loanPushCar(FinCollectionConfirmation confirmation, ARReceivebill arReceivebill, @@ -2289,6 +2558,56 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSelectedReceivablesDetailedVos3_2, + ARReceivebill.FRECEIVEBILLENTRY freceivebillentry, + boolean one, + String orgCode) { + String sid = confirmation.getSid(); + List fEntityList = new ArrayList<>(); + for (int i = 0; i < finSelectedReceivablesDetailedVos3_2.size(); i++) { + FinSelectedReceivablesDetailedVo vvvv = finSelectedReceivablesDetailedVos3_2.get(i); + //推送客户 + String customerNo = createCustomerQuery(2, vvvv, orgCode); + //往来单位 + arReceivebill.setFCONTACTUNIT(customerNo); + fEntityList = new ArrayList<>(); + String uncollSid = ""; + freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); + //结算方式 + freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); + freceivebillentry.setFSETTLETYPEIDType("customerPayType"); + //收款金额 + freceivebillentry.setFRECTOTALAMOUNTFOR(vvvv.getSubscriptionMoney()); + //登记日期 + freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); + if (vvvv.getVIN().length() >= 8) { + freceivebillentry.setF_PAEZ_Base1(vvvv.getVIN().substring(vvvv.getVIN().length() - 8)); + } + //收款用途 + freceivebillentry.setFPURPOSEIDKey("001"); + freceivebillentry.setFPURPOSEIDType("cw_skyt"); + freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); + fEntityList.add(freceivebillentry); + uncollSid = vvvv.getReceivablesSid(); + //项目类别key、value + arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); + arReceivebill.setF_PAEZ_AssistantKey("006"); + arReceivebill.setFRECEIVEBILLENTRY(fEntityList); + if (one) { + arReceivebill.setFBillNo(confirmation.getBillNo()); + } else { + //单据编号 + carSize = carSize + 1; + arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize); + } + ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); + } + return carSize; + } + public String getPrefix(String collSid, String name, String mobile) { String customerNoPrefix = ""; FinCollectionConfirmation finCollectionConfirmation = fetchBySid(collSid);