Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 3 weeks ago
parent
commit
adfc27c44a
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java
  2. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java
  3. 10
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  4. 10
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java
  5. 79
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  6. 2
      anrui-gateway/src/main/resources/application.yml
  7. 6
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfit.java
  8. 6
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitDto.java
  9. 11
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java
  10. 100
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebateMx.java
  11. 40
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebateMxVo.java
  12. 4
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml
  13. 8
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java
  14. 50
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java
  15. 24
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java
  16. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java
  17. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  18. 7
      doc/databases/统计报表/车辆利润报表.sql

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java

@ -117,8 +117,8 @@ public interface BusVehicleApplyFeign {
@ResponseBody
ResultBean<BusVehicleApply> getBillNo(@RequestParam("pcApplicationCode") String pcApplicationCode);
@ApiOperation("rePushFin")
@PostMapping("/排产已办结没有推送财务出纳")
@PostMapping("rePushFin")
@ApiOperation("/排产已办结没有推送财务出纳")
@ResponseBody
ResultBean rePushFin(@RequestParam("sid")String sid);
}

5
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<BusDeliveredApply> {
List<BaseVehinstall> 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);
}

10
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}
</select>
<select id="selectByLocationAndVin" resultType="com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression">
select sg.* from anrui_scm.scm_vehicle_gression sg
left join anrui_scm.scm_vehicle_gression_veh svgv on svgv.mainSid = sg.sid
where sg.locationSid = #{locationSid} and svgv.vehSid = #{vinSid} order by sg.id desc limit 1
</select>
<select id="selectCOuntByScmSid" resultType="int">
select count(*) from scm_vehicle_gression_veh where mainSid = #{sid}
</select>
</mapper>

10
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java

@ -36,10 +36,7 @@ import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -335,4 +332,9 @@ public class BusDeliveredApplyRest implements BusDeliveredApplyFeign {
public ResultBean<String> saveRetrievalApplyInfo(AppDeliveredApplyDto appDeliveredApplyDto) {
return busDeliveredApplyService.saveRetrievalApplyInfo(appDeliveredApplyDto);
}
@PostMapping("pushReport")
@ApiOperation("测试推送车辆利润报表")
ResultBean pushReport(@RequestParam("sid")String sid){
return busDeliveredApplyService.pushReport(sid);
}
}

79
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<BusDeliveredApp
@Autowired
private CarsSoldProfitFeign carsSoldProfitFeign;
@Autowired
private BusSalesOrderSubmitService busSalesOrderSubmitService;
/**
* 构造出库申请的查询条件
@ -1189,10 +1199,10 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
Future future10 = pool.submit(() -> {
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<BusDeliveredApp
private void pushCarSoldProfit(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList) {
List<CarsSoldProfitDto> 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<BusDeliveredApp
carsSoldProfitDto.setCustomerSid(busSalesOrder.getCustomerSid());
carsSoldProfitDto.setCustomerName(busSalesOrder.getCustomerName());
//金融服务费
ResultBean<SolutionsDetailsVo> 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<BusDeliveredApp
carsSoldProfitDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid());
carsSoldProfitDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName());
//入库价
carsSoldProfitDto.setCostPrice(baseVehicle.getCostPrice().toString());
//出库价
carsSoldProfitDto.setExStockPrice(baseVehicle.getContractPrice().toString());
//存放地点
@ -1414,25 +1447,31 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
carsSoldProfitDto.setLocationName(baseVehicle.getLocationName());
//厂家结算价
carsSoldProfitDto.setMakersSettlementPrice(baseVehicle.getSettlePrice().toString());
//排产订单编号
//变速箱
carsSoldProfitDto.setSchedulingId(baseVehicle.getOrderingNo());
//数据日期
carsSoldProfitDto.setCreateDate(new Date());
//事业部
List<String> 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);
}
}
@ -5313,4 +5352,12 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
public String selCustomerByBusVinSid(String busVinSid) {
return baseMapper.selCustomerByBusVinSid(busVinSid);
}
public ResultBean pushReport(String sid) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApply busDeliveredApply = fetchBySid(sid);
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid());
pushCarSoldProfit(busDeliveredApply,detailsList);
return rb.success();
}
}

2
anrui-gateway/src/main/resources/application.yml

@ -133,7 +133,7 @@ spring:
uri: lb://yxt-vehfleet
filters:
- StripPrefix=1
- id: yxt-vehfleet
- id: yxt-oa
predicates:
- Path= /oa/**
uri: lb://yxt-oa

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

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

11
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java

@ -4,9 +4,9 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@FeignClient(
contextId = "anrui-reportcenter-AppVehRebate",
@ -18,4 +18,9 @@ public interface AppVehRebateFeign {
@PostMapping("/list")
@ResponseBody
ResultBean<VehRebatePageVo> list(@RequestBody PagerQuery<VehRebatePageQuery> pagerQuery);
@ApiOperation("统计明细")
@GetMapping("/detail")
@ResponseBody
public ResultBean<VehRebateMxVo> getDetail(@RequestParam("sid") String sid);
}

100
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebateMx.java

@ -0,0 +1,100 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.reportcenter.api.vehRebate;
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;
@Data
public class ListVehRebateMx {
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("返利类型")
private String rebateType;
@ApiModelProperty("返利名称")
private String rebateName;
@ApiModelProperty("所属年月")
private String yearAndMonth;
@ApiModelProperty("预计返利")
private BigDecimal rebateEstimate;
@ApiModelProperty("上传金额")
private BigDecimal rebateUpload;
@ApiModelProperty("二次上传金额")
private BigDecimal rebateSecondaryUpload;
@ApiModelProperty("待确定金额")
private BigDecimal rebateStayDetermine;
@ApiModelProperty("调整金额")
private BigDecimal rebateAdjust;
@ApiModelProperty("未上传金额")
private BigDecimal rebateNoUpload;
@ApiModelProperty("其中预计费用")
private BigDecimal feesEstimate;
@ApiModelProperty("其中上传费用")
private BigDecimal feeUpload;
@ApiModelProperty("车型名称")
private String model;
@ApiModelProperty("采购系统")
private String buySystem;
@ApiModelProperty("创建日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date dateCreate;
@ApiModelProperty("预提日期")
private String dateEstimate;
@ApiModelProperty("上传日期")
private String dateUpload;
@ApiModelProperty("二次上传日期")
private String dateSecondUpload;
@ApiModelProperty("状态")
private String stateFlow;
@ApiModelProperty("一次核对状态")
private String stateFirst;
@ApiModelProperty("二次核对状态")
private String stateSecond;
@ApiModelProperty("品牌名称")
private String brand;
@ApiModelProperty("分公司")
private String branch;
@ApiModelProperty("事业部")
private String division;
@ApiModelProperty("厂家入库价")
private BigDecimal carInPrice;
@ApiModelProperty("运费")
private BigDecimal freight;
@ApiModelProperty("上装金额")
private BigDecimal top;
@ApiModelProperty("计算方式")
private String rebateCalcType;
@ApiModelProperty("计算标准")
private String rebateCalcStandard;
@ApiModelProperty("备注")
private String remarks;
}

40
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebateMxVo.java

@ -0,0 +1,40 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.reportcenter.api.vehRebate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class VehRebateMxVo {
@ApiModelProperty("明细")
private List<ListVehRebateMx> list;
@ApiModelProperty("总页数")
private Integer pages;
}

4
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml

@ -3,12 +3,12 @@
<mapper namespace="com.yxt.anrui.reportcenter.biz.carsSoldProfit.CarsSoldProfitMapper">
<select id="selectByVinSid" resultType="com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfit">
select *
from cars_sole_profit
from cars_sold_profit
where vinSid = #{vinSid}
</select>
<select id="listPage" resultType="com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitVo">
select * from cars_sole_profit
select * from cars_sold_profit
<where>
${ew.sqlSegment}
</where>

8
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java

@ -26,6 +26,7 @@
package com.yxt.anrui.reportcenter.biz.vehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.AppVehRebateFeign;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebateMxVo;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageQuery;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageVo;
import com.yxt.common.core.query.PagerQuery;
@ -34,6 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController()
@RequestMapping("v1/carRebate")
public class AppVehRebateRest implements AppVehRebateFeign {
@ -45,4 +48,9 @@ public class AppVehRebateRest implements AppVehRebateFeign {
public ResultBean<VehRebatePageVo> list(PagerQuery<VehRebatePageQuery> query) {
return appVehRebateService.list(query);
}
@Override
public ResultBean<VehRebateMxVo> getDetail(String sid) {
return appVehRebateService.getDetail(sid);
}
}

50
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java

@ -25,11 +25,9 @@
*********************************************************/
package com.yxt.anrui.reportcenter.biz.vehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.ListVehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.TotalVehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageQuery;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageVo;
import com.yxt.anrui.reportcenter.api.vehRebate.*;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatMxVo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatQuery;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatVo;
import com.yxt.common.base.utils.StringUtils;
@ -129,4 +127,48 @@ public class AppVehRebateService {
vehRebatePageVo.setPages((int) data.getPages());
return rb.success().setData(vehRebatePageVo);
}
public ResultBean<VehRebateMxVo> getDetail(String sid) {
ResultBean rb = ResultBean.fireFail();
VehRebateMxVo vehRebateMxVo = new VehRebateMxVo();
List<ListVehRebateMx> listVehRebateMxes = new ArrayList<>();
List<ScmVehRebateStatMxVo> scmVehRebateStatMxVos = scmVehRebateFeign.getDetail(sid).getData();
for (ScmVehRebateStatMxVo scmVehRebateStatMxVo : scmVehRebateStatMxVos) {
ListVehRebateMx listVehRebateMx = new ListVehRebateMx();
listVehRebateMx.setVin(scmVehRebateStatMxVo.getVinNo());
listVehRebateMx.setRebateType(scmVehRebateStatMxVo.getRebateTypeValue());
listVehRebateMx.setRebateName(scmVehRebateStatMxVo.getRebateName());
listVehRebateMx.setYearAndMonth(scmVehRebateStatMxVo.getPalceGenDate());
listVehRebateMx.setRebateEstimate(scmVehRebateStatMxVo.getEstimateRebate());
listVehRebateMx.setRebateUpload(scmVehRebateStatMxVo.getUploadMoney());
listVehRebateMx.setRebateSecondaryUpload(scmVehRebateStatMxVo.getSecondaryUploadMoney());
listVehRebateMx.setRebateStayDetermine(scmVehRebateStatMxVo.getStayDetermineMoney());
listVehRebateMx.setRebateAdjust(scmVehRebateStatMxVo.getAdjustmentMoney());
listVehRebateMx.setRebateNoUpload(scmVehRebateStatMxVo.getNotUploadMoney());
listVehRebateMx.setFeesEstimate(scmVehRebateStatMxVo.getExpectCost());
listVehRebateMx.setFeeUpload(scmVehRebateStatMxVo.getMoney());
listVehRebateMx.setModel(scmVehRebateStatMxVo.getVehModelName());
listVehRebateMx.setBuySystem(scmVehRebateStatMxVo.getPurchaseSystemName());
listVehRebateMx.setDateCreate(scmVehRebateStatMxVo.getCreateTime());
listVehRebateMx.setDateEstimate(scmVehRebateStatMxVo.getWithholdingDate());
listVehRebateMx.setDateUpload(scmVehRebateStatMxVo.getUploadDate());
listVehRebateMx.setDateSecondUpload(scmVehRebateStatMxVo.getSecondaryUploadDate());
listVehRebateMx.setStateFlow(scmVehRebateStatMxVo.getState());
listVehRebateMx.setStateFirst(scmVehRebateStatMxVo.getOnceCheckState());
listVehRebateMx.setStateSecond(scmVehRebateStatMxVo.getSecondCheckState());
listVehRebateMx.setBrand(scmVehRebateStatMxVo.getBrandName());
listVehRebateMx.setBranch(scmVehRebateStatMxVo.getUseOrgName());
listVehRebateMx.setDivision(scmVehRebateStatMxVo.getDivision());
listVehRebateMx.setCarInPrice(scmVehRebateStatMxVo.getManufactorSettlementPrice());
listVehRebateMx.setFreight(scmVehRebateStatMxVo.getFreight());
listVehRebateMx.setTop(scmVehRebateStatMxVo.getTopAmount());
listVehRebateMx.setRebateCalcType(scmVehRebateStatMxVo.getCalculationModeValue());
listVehRebateMx.setRebateCalcStandard(scmVehRebateStatMxVo.getCalculationStandard());
listVehRebateMx.setRemarks(scmVehRebateStatMxVo.getRemarks());
listVehRebateMxes.add(listVehRebateMx);
}
vehRebateMxVo.setList(listVehRebateMxes);
vehRebateMxVo.setPages(1);
return rb.success().setData(vehRebateMxVo);
}
}

24
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java

@ -962,7 +962,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
if(all.compareTo(BigDecimal.ZERO)>0){//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary("**扣回车辆再次销售");
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售");
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -973,7 +973,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
}
if(loanDeposit.compareTo(BigDecimal.ZERO)>0){//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary("**扣回车辆再次销售-贷款保证金抵顶");
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆再次销售-贷款保证金抵顶");
voucherResultDetailDtoJf.setSubjectNo("2182.01.01");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
@ -984,7 +984,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
}
if(bxbzjMoney.compareTo(BigDecimal.ZERO)>0){
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf2.setSummary("**扣回车辆再次销售-保险保证金抵顶");
voucherResultDetailDtoJf2.setSummary(customerNumber+"扣回车辆再次销售-保险保证金抵顶");
voucherResultDetailDtoJf2.setSubjectNo("2182.01.01");
//核算部门
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
@ -995,7 +995,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
}
if(cssMoney.compareTo(BigDecimal.ZERO)>0){
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf3.setSummary("**扣回车辆再次销售-车损失");
voucherResultDetailDtoJf3.setSummary(customerNumber+"扣回车辆再次销售-车损失");
voucherResultDetailDtoJf3.setSubjectNo("1201.03.04.01");
//核算部门
voucherResultDetailDtoJf3.setDimensionDept(deptVo.getOrgCode());
@ -1007,7 +1007,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
if(loanSecondarySalesCost.getIsRecovery() == 0){//不追偿
if(cssMoney.compareTo(BigDecimal.ZERO)>0){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary("**扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -1016,7 +1016,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
voucherResultDetailDtoDf.setCredit(cssMoney.toString());
voucherResultDetailDtos2.add(voucherResultDetailDtoDf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary("**扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoDf.setSubjectNo("1911.05");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
@ -1027,7 +1027,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
}
if(zjzyfMoney.compareTo(BigDecimal.ZERO)>0){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary("**扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSubjectNo("2191.05.00");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -1036,7 +1036,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
voucherResultDetailDtoDf.setCredit(zjzyfMoney.negate().toString());
voucherResultDetailDtos2.add(voucherResultDetailDtoDf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary("**扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSubjectNo("1201.02.02");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
@ -1141,7 +1141,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto();
//-------------------------------------------应收贷款车欠款_待处理欠款_扣回车辆
if (all.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoDf.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆赎回结转");
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -1153,7 +1153,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
//---------------------------------------------应收贷款车欠款_到期欠款_累欠
if (lqMoney.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆赎回结转");
voucherResultDetailDtoJf.setSubjectNo("1201.02.03");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
@ -1165,7 +1165,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
//--------------------------------------------应收贷款车欠款_未到期欠款_未到期欠款
if (wdqMoney.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf2.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoJf2.setSummary(customerNumber+"扣回车辆赎回结转");
voucherResultDetailDtoJf2.setSubjectNo("1201.01.00");
//核算部门
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
@ -1177,7 +1177,7 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
//-------------------------------------------应收贷款车欠款_到期欠款_本金
if (bjMoney.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf3.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoJf3.setSummary(customerNumber+"扣回车辆赎回结转");
voucherResultDetailDtoJf3.setSubjectNo("1201.02.01");
//核算部门
voucherResultDetailDtoJf3.setDimensionDept(deptVo.getOrgCode());

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java

@ -703,7 +703,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
if(cssMoney.compareTo(BigDecimal.ZERO)>0){//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary("**扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -712,7 +712,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
voucherResultDetailDtoDf.setCredit(cssMoney.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary("**扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆再次销售-不追偿处理");
voucherResultDetailDtoJf.setSubjectNo("1911.05");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
@ -723,7 +723,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
}
if(zjzyfMoney.compareTo(BigDecimal.ZERO)>0){
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary("**扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSubjectNo("2191.05.00");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
@ -732,7 +732,7 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe
voucherResultDetailDtoDf.setCredit(zjzyfMoney.negate().toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary("**扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoJf.setSummary(customerNumber+"扣回车辆再次销售-不追偿减免资金占用费");
voucherResultDetailDtoDf.setSubjectNo("1201.02.02");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());

14
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml

@ -264,8 +264,18 @@
r.withholdingDate,
r.uploadDate,
r.secondaryUploadDate,
r.state,
r.onceCheckState,
case r.state
WHEN '0' THEN '未预提'
WHEN '1' THEN '预提中'
WHEN '2' THEN '待核对'
WHEN '3' THEN '核对中'
WHEN '4' THEN '已核对'
end as state,
case r.onceCheckState
WHEN '0' THEN '否'
WHEN '1' THEN '是'
WHEN '2' THEN '一次核对中'
end as onceCheckState,
IF(r.secondaryUploadMoney > 0 AND r.isAdjustment = '是','是','否') AS secondCheckState,
r.brandName,
r.useOrgName,

7
doc/databases/统计报表/车辆利润报表.sql

@ -1,5 +1,5 @@
DROP TABLE IF EXISTS `car_sold_profit`;
CREATE TABLE `car_sold_profit`
DROP TABLE IF EXISTS `cars_sold_profit`;
CREATE TABLE `cars_sold_profit`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
@ -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 '数据日期',

Loading…
Cancel
Save