From 72552c0e91b3989e7fa7243fb3d5b489e0849f3c Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 15 May 2025 13:33:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=E7=94=B3=E8=AF=B7=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E8=BD=A6=E8=BE=86=E5=88=A9=E6=B6=A6=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusDeliveredApplyMapper.java | 5 ++ .../BusDeliveredApplyMapper.xml | 10 +++ .../BusDeliveredApplyService.java | 71 ++++++++++++++----- .../api/carsSoldProfit/CarsSoldProfit.java | 6 ++ .../api/carsSoldProfit/CarsSoldProfitDto.java | 6 ++ .../统计报表/车辆利润报表.sql | 3 + 6 files changed, 85 insertions(+), 16 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java index 30b06790a8..b7fbfccace 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java @@ -39,6 +39,7 @@ import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply; import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyVo; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomer; +import com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -138,4 +139,8 @@ public interface BusDeliveredApplyMapper extends BaseMapper { List selectInstall(String linkNo); LoanHomevisitInvestigateCustomer getHomeVisitCustomerInfo(@Param("sid") String sid,@Param("loanSid") String loanSid); + + ScmVehicleGression selectByLocationAndVin(@Param("locationSid") String locationSid, @Param("vinSid") String sid); + + int selectCOuntByScmSid(String sid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml index e04ca535c3..5b13b46929 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml @@ -241,4 +241,14 @@ left join anrui_riskcenter.loan_homevisit_investigate_customer lc on lc.mainSid = li.sid where li.saleOrderSid = #{sid} and li.saleOrderBorrowerSid = #{loanSid} + + + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java index 9a5920f6ce..8941c3a932 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java @@ -79,6 +79,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount; import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeup; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; +import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit; import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo; import com.yxt.anrui.buscenter.api.bussalesordertrailer.BusSalesOrderTrailer; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; @@ -99,6 +100,7 @@ import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.bussalesorderdiscount.BusSalesOrderDiscountService; import com.yxt.anrui.buscenter.biz.bussalesorderloancontract.BusSalesOrderLoancontractService; import com.yxt.anrui.buscenter.biz.bussalesordermakeup.BusSalesOrderMakeupService; +import com.yxt.anrui.buscenter.biz.bussalesordersubmit.BusSalesOrderSubmitService; import com.yxt.anrui.buscenter.biz.bussalesordertrailer.BusSalesOrderTrailerService; import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; import com.yxt.anrui.buscenter.biz.busvalcustfiling.BusValcustFilingService; @@ -137,6 +139,7 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; +import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign; @@ -154,8 +157,12 @@ import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigate.LoanHomevisitInvest import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomer; import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo; import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewFeign; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsVo; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; +import com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression; import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDto; import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign; import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVehDto; @@ -178,6 +185,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.util.*; @@ -307,6 +315,8 @@ public class BusDeliveredApplyService extends MybatisBaseService { pushOtherDocument(busDeliveredApply, detailsList); }); - /* Future future13 = pool.submit(() -> { + Future future13 = pool.submit(() -> { //推送车辆利润报表 pushCarSoldProfit(busDeliveredApply, detailsList); - });*/ + }); //推送单车返利管理 String concatNo = busDeliveredApply.getContractNo(); BusSalesOrder busSalesOrder = busSalesOrderService.selectOrderByContractNo(concatNo).getData(); @@ -1379,7 +1389,7 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsList) { List dtoList = new ArrayList<>(); detailsList.removeAll(Collections.singleton(null)); - if(!detailsList.isEmpty()){ + if (!detailsList.isEmpty()) { BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo()); for (int i = 0; i < detailsList.size(); i++) { BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); @@ -1390,7 +1400,29 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if (detailsVoResultBean.getData() != null) { + SolutionsDetailsVo solutionsDetailsVo = detailsVoResultBean.getData(); + if (StringUtils.isNotBlank(solutionsDetailsVo.getServiceAmount())) { + carsSoldProfitDto.setFinanceServiceCharge(solutionsDetailsVo.getServiceAmount()); + } + } //中介返利 + BigDecimal zjAll = BigDecimal.ZERO; + BusSalesOrderSubmit busSalesOrderSubmit = busSalesOrderSubmitService.selectBySaleOrderSid(busSalesOrder.getSid()); + String zjReturnPrice = ""; + boolean isShow = false; + if (StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorName())) { + if (busSalesOrderSubmit.getDistributorPrice() != null) { + zjAll = zjAll.add(busSalesOrderSubmit.getDistributorPrice()); + } + } + if (StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorNameTwo())) { + if (busSalesOrderSubmit.getDistributorPriceTwo() != null) { + zjAll = zjAll.add(busSalesOrderSubmit.getDistributorPriceTwo()); + } + } + carsSoldProfitDto.setMediatorRebatePrice(zjAll.toString()); //车辆台账中取 carsSoldProfitDto.setOrgSidPath(baseVehicle.getOrgSidPath()); @@ -1407,6 +1439,7 @@ public class BusDeliveredApplyService extends MybatisBaseService stringList = Arrays.asList(carsSoldProfitDto.getOrgSidPath().split("/")); + String busSid = stringList.get(1); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(busSid).getData(); + carsSoldProfitDto.setDivision(sysOrganization.getName()); + carsSoldProfitDto.setDivisionSid(busSid); dtoList.add(carsSoldProfitDto); - - - + //查询存放地点变更的申请经费以及台数 + ScmVehicleGression scmVehicleGression = baseMapper.selectByLocationAndVin(carsSoldProfitDto.getLocationSid(),baseVehicle.getSid()); + if(scmVehicleGression != null){ + BigDecimal allMon = BigDecimal.ZERO; + String applicantFunds = scmVehicleGression.getApplicantFunds(); + int vount = baseMapper.selectCOuntByScmSid(scmVehicleGression.getSid()); + if(StringUtils.isNotBlank(applicantFunds) && new BigDecimal(applicantFunds).compareTo(BigDecimal.ZERO)>0){ + allMon = new BigDecimal(applicantFunds).divide(new BigDecimal(vount),2, RoundingMode.HALF_UP); + } + carsSoldProfitDto.setMoveCarPrice(allMon.toString()); + } } - - - } - if(!dtoList.isEmpty()){ + if (!dtoList.isEmpty()) { ResultBean resultBean = carsSoldProfitFeign.saveOrUpdate(dtoList); } } diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfit.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfit.java index eeaaa6d50c..560aea445b 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfit.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfit.java @@ -77,4 +77,10 @@ public class CarsSoldProfit extends BaseEntity { private Date createDate; @ApiModelProperty("更新日期") private Date updateDate; + @ApiModelProperty("入库价") + private BigDecimal costPrice; + + @ApiModelProperty("事业部") + private String division; + private String divisionSid; } diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitDto.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitDto.java index 75d0bab5e3..28279c0f5a 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitDto.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitDto.java @@ -75,4 +75,10 @@ public class CarsSoldProfitDto { private Date createDate; @ApiModelProperty("更新日期") private Date updateDate; + + private String costPrice; + + @ApiModelProperty("事业部") + private String division; + private String divisionSid; } diff --git a/doc/databases/统计报表/车辆利润报表.sql b/doc/databases/统计报表/车辆利润报表.sql index 96d889cbae..35245d8f82 100644 --- a/doc/databases/统计报表/车辆利润报表.sql +++ b/doc/databases/统计报表/车辆利润报表.sql @@ -20,6 +20,8 @@ CREATE TABLE `car_sold_profit` `saleDate` varchar(64) DEFAULT NULL COMMENT '销售日期', `useOrgSid` varchar(64) DEFAULT NULL COMMENT '分公司sid', `useOrgName` varchar(64) DEFAULT NULL COMMENT '分公司名称', + `division` varchar(64) DEFAULT NULL COMMENT '事业部名称', + `divisionSid` varchar(64) DEFAULT NULL COMMENT '事业部sid', `vehModelSid` varchar(64) DEFAULT NULL COMMENT '车型sid', `vehModel` varchar(64) DEFAULT NULL COMMENT '车型', `vehMConfigSid` varchar(64) DEFAULT NULL COMMENT '车型配置sid', @@ -40,6 +42,7 @@ CREATE TABLE `car_sold_profit` `financeServiceCharge` decimal(10, 2) DEFAULT NULL COMMENT '金融服务费', `mediatorRebatePrice` decimal(10, 2) DEFAULT NULL COMMENT '中介返利费', `moveCarPrice` decimal(10, 2) DEFAULT NULL COMMENT '调车费', + `costPrice` decimal(10, 2) DEFAULT NULL COMMENT '入库价', `schedulingId` varchar(500) DEFAULT NULL COMMENT '排产订单编号', `gearbox` varchar(500) DEFAULT NULL COMMENT '变速箱', `createDate` date DEFAULT NULL COMMENT '数据日期',