From 529f87472b06e5bd7f095a2d82854957aae7c52d Mon Sep 17 00:00:00 2001 From: ligaode Date: Tue, 13 May 2025 14:42:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/vehRebate/AppVehRebateFeign.java | 21 ++++ .../api/vehRebate/ListVehRebate.java | 43 +++++++ .../api/vehRebate/TotalVehRebate.java | 45 +++++++ .../api/vehRebate/VehRebatePageQuery.java | 22 ++++ .../api/vehRebate/VehRebatePageVo.java | 17 +++ .../anrui-reportcenter-biz/pom.xml | 6 + .../reportcenter/ReportcenterApplication.java | 2 +- .../biz/vehRebate/AppVehRebateRest.java | 48 +++++++ .../biz/vehRebate/AppVehRebateService.java | 117 ++++++++++++++++++ .../scmvehrebate/ScmVehRebateStatQuery.java | 1 + .../biz/scmvehrebate/ScmVehRebateService.java | 14 ++- 11 files changed, 330 insertions(+), 6 deletions(-) create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java create mode 100644 anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java create mode 100644 anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java create mode 100644 anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java new file mode 100644 index 0000000000..dd67eee67d --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +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; + +@FeignClient( + contextId = "anrui-reportcenter-AppVehRebate", + name = "anrui-reportcenter", + path = "v1/carRebate") +public interface AppVehRebateFeign { + + @ApiOperation("单车返利统计列表") + @PostMapping("/list") + @ResponseBody + ResultBean list(@RequestBody PagerQuery pagerQuery); +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java new file mode 100644 index 0000000000..9aad34ec6b --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ListVehRebate { + + @ApiModelProperty("车架号") + private String vin; + @ApiModelProperty("销售日期") + private String saleTime; + @ApiModelProperty("实销日期") + private String realSaleTime; + @ApiModelProperty("预提返利") + private String rebateEstimate; + @ApiModelProperty("上传") + private String rebateUpload; + @ApiModelProperty("二次上传") + private String rebateSecondaryUpload; + @ApiModelProperty("待确定") + private String rebateStayDetermine; + @ApiModelProperty("调整") + private String rebateAdjust; + @ApiModelProperty("未上传") + private String rebateNoUpload; + @ApiModelProperty("费用预提") + private String feesEstimate; + @ApiModelProperty("上传") + private String feeUpload; + @ApiModelProperty("车型") + private String model; + @ApiModelProperty("品牌") + private String brand; + @ApiModelProperty("采购系统") + private String buySystem; + @ApiModelProperty("分公司") + private String branch; + @ApiModelProperty("事业部") + private String division; + @ApiModelProperty("车辆sid") + private String sid; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java new file mode 100644 index 0000000000..11d752e859 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class TotalVehRebate implements Vo { + private static final long serialVersionUID = -8631337422991366458L; + + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("合同状态") + private String contractType; + @ApiModelProperty("合同编号") + private String contractId; + @ApiModelProperty("欠款金额") + private String arrearsMoney; + @ApiModelProperty("承诺汇款日期") + private String paymentDate; + @ApiModelProperty("申请人") + private String applicant; + @ApiModelProperty("数量") + private String number; + @ApiModelProperty("原因") + private String reason; + @ApiModelProperty("创建日期") + private String date; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("是否显示办理按钮") + private Boolean showUpdateBtn; + @ApiModelProperty("是否显示删除按钮") + private Boolean showDeleteBtn; + @ApiModelProperty("是否显示领票按钮") + private Boolean showGetInvoiceBtn; + @ApiModelProperty("车型") + private String model; + @ApiModelProperty("销售类型") + private String type; + @ApiModelProperty("车架号(拼接)") + private String vinNo; + @ApiModelProperty("是否领取发票原件") + private String isLQOrigInvoice; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java new file mode 100644 index 0000000000..4c07b5638f --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class VehRebatePageQuery implements Query { + + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("条件") + private String names; + @ApiModelProperty("销售日期") + private String date; + @ApiModelProperty("实销日期") + private String date2; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java new file mode 100644 index 0000000000..a56e696894 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class VehRebatePageVo { + + @ApiModelProperty("合计") + private TotalVehRebate total; + @ApiModelProperty("列表") + private List list; + @ApiModelProperty("总页数") + private Integer pages; +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/pom.xml b/anrui-reportcenter/anrui-reportcenter-biz/pom.xml index 1a387a5bc3..98d73c7fc3 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/pom.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/pom.xml @@ -116,6 +116,12 @@ 0.0.1-SNAPSHOT compile + + com.yxt.anrui.scm + anrui-scm-api + 0.0.1-SNAPSHOT + compile + diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java index d3db6b6027..4d00c47daf 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java @@ -14,7 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.anrui.reportcenter" }) @EnableDiscoveryClient -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal","com.yxt.anrui.base"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.*"}) public class ReportcenterApplication { public static void main(String[] args) { diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java new file mode 100644 index 0000000000..e0d4d1b448 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java @@ -0,0 +1,48 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.reportcenter.biz.vehRebate; + +import com.yxt.anrui.reportcenter.api.vehRebate.AppVehRebateFeign; +import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageQuery; +import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController() +@RequestMapping("v1/carRebate") +public class AppVehRebateRest implements AppVehRebateFeign { + + @Autowired + private AppVehRebateService appVehRebateService; + + @Override + public ResultBean list(PagerQuery query) { + return appVehRebateService.list(query); + } +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java new file mode 100644 index 0000000000..efc1663487 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java @@ -0,0 +1,117 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +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.scm.api.scmvehrebate.ScmVehRebateFeign; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatQuery; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatVo; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class AppVehRebateService { + + @Autowired + private ScmVehRebateFeign scmVehRebateFeign; + + public ResultBean list(PagerQuery query) { + ResultBean rb = ResultBean.fireFail(); + //返回值 + VehRebatePageVo vehRebatePageVo = new VehRebatePageVo(); + TotalVehRebate totalVehRebate = new TotalVehRebate(); + List listVehRebates = new ArrayList<>(); + //查询条件 + PagerQuery scmVehRebateStatQueryPagerQuery = new PagerQuery<>(); + ScmVehRebateStatQuery scmVehRebateStatQuery = new ScmVehRebateStatQuery(); + VehRebatePageQuery params = query.getParams(); + scmVehRebateStatQuery.setOrgPath(params.getOrgPath()); + scmVehRebateStatQuery.setUserSid(params.getUserSid()); + scmVehRebateStatQuery.setMenuSid(params.getMenuSid()); + scmVehRebateStatQuery.setNames(params.getNames()); + //发起日期查询 + String date = params.getDate(); + if(StringUtils.isNotBlank(date)){ + String[] s = date.split("至"); + String startDate = s[0]; + if (StringUtils.isNotBlank(startDate)) { + scmVehRebateStatQuery.setSaleDateStart(startDate); + } + String endDate = s[1]; + if (StringUtils.isNotBlank(endDate)) { + scmVehRebateStatQuery.setSaleDateEnd(endDate); + } + } + String date2 = params.getDate2(); + if(StringUtils.isNotBlank(date2)){ + String[] s = date2.split("至"); + String startDate = s[0]; + if (StringUtils.isNotBlank(startDate)) { + scmVehRebateStatQuery.setAcSaleDateStart(startDate); + } + String endDate = s[1]; + if (StringUtils.isNotBlank(endDate)) { + scmVehRebateStatQuery.setAcSaleDateEnd(endDate); + } + } + scmVehRebateStatQueryPagerQuery.setParams(scmVehRebateStatQuery); + PagerVo data = scmVehRebateFeign.statistics(scmVehRebateStatQueryPagerQuery).getData(); + for (ScmVehRebateStatVo record : data.getRecords()) { + ListVehRebate listVehRebate = new ListVehRebate(); + listVehRebate.setVin(record.getVinNo()); + listVehRebate.setSaleTime(record.getSaleDate()); + listVehRebate.setRealSaleTime(record.getAcSaleDate()); + listVehRebate.setRebateEstimate(record.getEstimateRebate().toString()); + listVehRebate.setRebateUpload(record.getUploadMoney().toString()); + listVehRebate.setRebateSecondaryUpload(record.getSecondaryUploadMoney().toString()); + listVehRebate.setRebateStayDetermine(record.getStayDetermineMoney().toString()); + listVehRebate.setRebateAdjust(record.getAdjustmentMoney().toString()); + listVehRebate.setRebateNoUpload(record.getNotUploadMoney().toString()); + listVehRebate.setFeesEstimate(record.getExpectCost().toString()); + listVehRebate.setFeeUpload(record.getMoney().toString()); + listVehRebate.setModel(record.getVehModelName()); + listVehRebate.setBrand(record.getBrandName()); + listVehRebate.setBuySystem(record.getPurchaseSystemName()); + listVehRebate.setBranch(record.getUseOrgName()); + listVehRebate.setDivision(record.getDivision()); + listVehRebate.setSid(record.getVehSid()); + listVehRebates.add(listVehRebate); + } + vehRebatePageVo.setList(listVehRebates); + vehRebatePageVo.setPages((int) data.getPages()); + return rb.success().setData(vehRebatePageVo); + } +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java index 2c658fee20..8bdbc92a34 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java @@ -56,4 +56,5 @@ public class ScmVehRebateStatQuery implements Query { private String orgPath; private String menuUrl; private String menuSid; + private String names; } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java index cf26817c5a..8fbfb0ff53 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java @@ -361,7 +361,7 @@ public class ScmVehRebateService extends MybatisBaseService qw = new QueryWrapper<>(); //========================================数据授权开始 - if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) { PrivilegeQuery privilegeQuery = new PrivilegeQuery(); privilegeQuery.setOrgPath(query.getOrgPath()); privilegeQuery.setMenuUrl(query.getMenuUrl()); @@ -423,11 +423,15 @@ public class ScmVehRebateService extends MybatisBaseService= date_format('" + saleDateStart + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(saleDateEnd), "date_format (v.salesDate,'%Y-%m-%d') <= date_format('" + saleDateEnd + "','%Y-%m-%d')" ); - /* String acSaleDateStart = query.getAcSaleDateStart(); + String acSaleDateStart = query.getAcSaleDateStart(); String acSaleDateEnd = query.getAcSaleDateEnd(); - qw.apply(StringUtils.isNotBlank(acSaleDateStart), "date_format (createTime,'%Y-%m-%d') >= date_format('" + acSaleDateStart + "','%Y-%m-%d')"). - apply(StringUtils.isNotBlank(acSaleDateEnd), "date_format (createTime,'%Y-%m-%d') <= date_format('" + acSaleDateEnd + "','%Y-%m-%d')" - );*/ + qw.apply(StringUtils.isNotBlank(acSaleDateStart), "date_format (v.solidDate,'%Y-%m-%d') >= date_format('" + acSaleDateStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(acSaleDateEnd), "date_format (v.solidDate,'%Y-%m-%d') <= date_format('" + acSaleDateEnd + "','%Y-%m-%d')" + ); + //移动端条件 + if (StringUtils.isNotBlank(query.getNames())) { + qw.and(wrapper -> wrapper.like("r.useOrgName", query.getUseOrgName()).or().like("o.name", query.getNames()).or().like("r.vinNo", query.getNames()).or().like("r.vehModelName", query.getNames()).or().like("r.brandName", query.getNames()).or().like("r.purchaseSystemName", query.getNames())); + } qw.groupBy("r.vehSid"); qw.orderByDesc("r.createTime"); IPage page = PagerUtil.queryToPage(pq);