diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java index 6518e25572..7488de1e3f 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java @@ -33,6 +33,7 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.text.ParseException; @@ -65,6 +66,16 @@ public interface ScmVehRebateFeign { @ResponseBody public ResultBean> getDetail(@PathVariable("sid") String sid); + @ApiOperation("返利类型统计") + @PostMapping("/typeStatistics") + @ResponseBody + public ResultBean> typeStatistics(@RequestBody PagerQuery pq); + + @ApiOperation("返利类型明细") + @PostMapping("/getTypeDetail") + @ResponseBody + public ResultBean> getTypeDetail(@RequestParam("sid") String sid, @RequestParam("type") String type); + @ApiOperation("单车返利未预提申请选择单车返利信息") @PostMapping("/withApplyGetVehRebate") @ResponseBody @@ -87,7 +98,7 @@ public interface ScmVehRebateFeign { @ApiOperation(value = "一次导入") @PostMapping("/getExcelOneInfo") @ResponseBody - public ResultBean getExcelOneInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,@RequestParam("userSid") String userSid,@RequestParam("orgPath") String orgPath) throws IOException, ParseException; + public ResultBean getExcelOneInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) throws IOException, ParseException; @ApiOperation("二次导出") @PostMapping("/excelListTwo") @@ -96,7 +107,7 @@ public interface ScmVehRebateFeign { @ApiOperation(value = "二次导入") @PostMapping("/getExcelTwoInfo") @ResponseBody - public ResultBean getExcelTwoInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,@RequestParam("userSid") String userSid,@RequestParam("orgPath") String orgPath) throws IOException, ParseException; + public ResultBean getExcelTwoInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) throws IOException, ParseException; @ApiOperation("单车返利核对申请选择已上传单车返利信息") @PostMapping("/checkApplyGetAlreadyUploadVehRebate") @@ -136,7 +147,7 @@ public interface ScmVehRebateFeign { @ApiOperation(value = "导入") @PostMapping("/getExcelInfo") @ResponseBody - public ResultBean getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,@RequestParam("userSid") String userSid,@RequestParam("orgPath") String orgPath) throws IOException, ParseException; + public ResultBean getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) throws IOException, ParseException; @ApiOperation("根据车辆sid删除记录") @DeleteMapping("/delByVehSid") @@ -146,5 +157,5 @@ public interface ScmVehRebateFeign { @ApiOperation("根据车辆sid、分公司sid、返利类型key删除单车返利记录") @DeleteMapping("/delByVehSid2") @ResponseBody - ResultBean delByVehSid2(@RequestParam("vehSid") String vehSid,@RequestParam("useOrgSid") String useOrgSid,@RequestParam("key") String key); + ResultBean delByVehSid2(@RequestParam("vehSid") String vehSid, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("key") String key); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatMxVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatMxVo.java new file mode 100644 index 0000000000..5646913a5f --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatMxVo.java @@ -0,0 +1,112 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmvehrebate; + +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 ScmVehRebateTypeStatMxVo implements Vo { + + private String sid; + + @ApiModelProperty("采购系统") + private String purchaseSystemName; + @ApiModelProperty("车型名称") + private String vehModelName; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("返利项目") + private String project; + @ApiModelProperty("所属年月") + private String palceGenDate; + @ApiModelProperty("返利类型") + private String rebateTypeValue; + @ApiModelProperty("返利名称") + private String rebateName; + + @ApiModelProperty("预计返利") + private BigDecimal estimateRebate; + @ApiModelProperty("上传金额") + private BigDecimal uploadMoney; + @ApiModelProperty("二次上传金额") + private BigDecimal secondaryUploadMoney; + @ApiModelProperty("待确定金额") + private BigDecimal stayDetermineMoney; + @ApiModelProperty("调整金额") + private BigDecimal adjustmentMoney; + @ApiModelProperty("未上传金额") + private BigDecimal notUploadMoney; + + @ApiModelProperty("其中预计费用") + private BigDecimal expectCost; + @ApiModelProperty("其中上传费用") + private BigDecimal money; + + @ApiModelProperty("创建日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("预提日期") + private String withholdingDate; + @ApiModelProperty("上传日期") + private String uploadDate; + @ApiModelProperty("二次上传日期") + private String secondaryUploadDate; + + @ApiModelProperty("状态") + private String state; + @ApiModelProperty("一次核对状态") + private String onceCheckState; + @ApiModelProperty("二次核对状态") + private String secondCheckState; + + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("事业部") + private String division; + @ApiModelProperty("车辆入库价") + private BigDecimal manufactorSettlementPrice; + + @ApiModelProperty("运费") + private BigDecimal freight; + @ApiModelProperty("上装金额") + private BigDecimal topAmount; + + @ApiModelProperty("计算方式") + private String calculationModeValue; + @ApiModelProperty("计算标准") + private String calculationStandard; + + @ApiModelProperty("备注") + private String remarks; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatQuery.java new file mode 100644 index 0000000000..55b6f2e336 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatQuery.java @@ -0,0 +1,55 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmvehrebate; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ScmVehRebateTypeStatQuery implements Query { + + @ApiModelProperty("事业部") + private String division; + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("采购系统") + private String purchaseSystemName; + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("返利项目") + private String project; + @ApiModelProperty("返利类型") + private String rebateTypeValue; + @ApiModelProperty("所属年月") + private String palceGenDateStart; + private String palceGenDateEnd; + + private String userSid; + private String orgPath; + private String menuUrl; + private String menuSid; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatVo.java new file mode 100644 index 0000000000..c794a8c83f --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatVo.java @@ -0,0 +1,70 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmvehrebate; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class ScmVehRebateTypeStatVo implements Vo { + + @ApiModelProperty("采购系统") + private String purchaseSystemName; + @ApiModelProperty("返利项目") + private String project; + @ApiModelProperty("所属年月") + private String palceGenDate; + @ApiModelProperty("返利类型") + private String rebateTypeValue; + @ApiModelProperty("预计返利") + private BigDecimal estimateRebate; + @ApiModelProperty("上传金额") + private BigDecimal uploadMoney; + @ApiModelProperty("调整金额") + private BigDecimal adjustmentMoney; + @ApiModelProperty("未上传金额") + private BigDecimal notUploadMoney; + @ApiModelProperty("预计支出费用") + private BigDecimal expectItureCost; + @ApiModelProperty("预计待支付费用") + private BigDecimal expectTreatCost; + @ApiModelProperty("预计抵顶费用") + private BigDecimal expectSuppCost; + @ApiModelProperty("剩余") + private BigDecimal balance; + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("事业部") + private String division; + + private String sid;//返利管理sid +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java index 6829a01de4..3e52bb89dd 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java @@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.scm.api.scmspecialrebate.*; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateTypeStatMxVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Update; @@ -75,4 +76,6 @@ public interface ScmSpecialRebateMapper extends BaseMapper { List checkApplyGetSpecialRebateAll(@Param(Constants.WRAPPER) QueryWrapper qw); List listAll(@Param(Constants.WRAPPER) QueryWrapper qw); + + List getTypeDetail(@Param("sids") List sids); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml index df803fa308..04c4d7340b 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml @@ -182,4 +182,47 @@ ${ew.sqlSegment} + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java index 3c319d08cf..1fa3cf2968 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java @@ -43,6 +43,7 @@ import com.yxt.anrui.scm.api.scmspecialrebate.*; import com.yxt.anrui.scm.api.scmspecialrebate.OneExcelInfo; import com.yxt.anrui.scm.api.scmspecialrebate.TwoExcelInfo; import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebate; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateTypeStatMxVo; import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService; import com.yxt.common.core.result.ResultBean; import org.apache.commons.lang3.StringUtils; @@ -2491,4 +2492,8 @@ public class ScmSpecialRebateService extends MybatisBaseService getTypeDetail(List sids) { + return baseMapper.getTypeDetail(sids); + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java index 95a6a4e4ed..7cb77f32dc 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java @@ -42,6 +42,8 @@ public interface ScmVehRebateMapper extends BaseMapper { IPage statistics(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage typeStatistics(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage selectPageVoUpload(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); @Update("update scm_veh_rebate set state = #{state} where sid = #{sid}") @@ -80,4 +82,6 @@ public interface ScmVehRebateMapper extends BaseMapper { int delByVehSid2(@Param("vehSid") String vehSid, @Param("useOrgSid") String useOrgSid, @Param("key") String key); List getDetail(String vehSid); + + List getTypeDetail(@Param("sids") List sids); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml index d9f527efa8..b518f20072 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml @@ -26,7 +26,7 @@ r.vehSid, r.vinNo, DATE_FORMAT(v.salesDate, '%Y-%m-%d') AS saleDate, - DATE_FORMAT(v.salesDate, '%Y-%m-%d') AS acSaleDate, + DATE_FORMAT(v.solidDate, '%Y-%m-%d') AS acSaleDate, SUM(r.estimateRebate) AS estimateRebate, SUM(r.uploadMoney) AS uploadMoney, SUM(r.secondaryUploadMoney) AS secondaryUploadMoney, @@ -278,14 +278,129 @@ r.remarks FROM scm_veh_rebate r - LEFT JOIN anrui_base.base_vehicle v - ON r.vehSid = v.sid LEFT JOIN ( SELECT o1.name,o2.sid FROM anrui_portal.sys_organization o1 LEFT JOIN anrui_portal.sys_organization o2 ON o1.sid = o2.psid ) AS o ON o.sid = r.useOrgSid - WHERE vehSid = #{vehSid} + WHERE r.vehSid = #{vehSid} + + + + + diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java index 567f208f97..7eefa1aa8f 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java @@ -40,6 +40,7 @@ import org.apache.poi.xssf.usermodel.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -88,6 +89,20 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { return rb.success().setData(scmVehRebateStatMxVos); } + @Override + public ResultBean> typeStatistics(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = scmVehRebateService.typeStatistics(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean> getTypeDetail(String sid, String type) { + ResultBean rb = ResultBean.fireFail(); + List scmVehRebateTypeStatMxVos = scmVehRebateService.getTypeDetail(sid, type); + return rb.success().setData(scmVehRebateTypeStatMxVos); + } + @ApiOperation("导出") @PostMapping("/excelList") public void excelList(@RequestBody ScmVehRebateQuery query) { @@ -350,7 +365,7 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { public ResultBean update(ScmVehRebateVehDto dto) { ResultBean rb = ResultBean.fireFail(); dto.setStayDetermineMoneyNew(dto.getStayDetermineMoney()); - if (StringUtils.isBlank(dto.getSecondaryUploadDate())){ + if (StringUtils.isBlank(dto.getSecondaryUploadDate())) { dto.setSecondaryUploadDate(""); } scmVehRebateService.updateBySid(dto, dto.getSid()); 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 692f74c9fc..cf26817c5a 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 @@ -39,6 +39,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.scm.api.scmvehrebate.*; +import com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -54,6 +55,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; @@ -80,6 +82,8 @@ public class ScmVehRebateService extends MybatisBaseService listPageVo(PagerQuery pq) { ScmVehRebateQuery query = pq.getParams(); @@ -436,6 +440,84 @@ public class ScmVehRebateService extends MybatisBaseService typeStatistics(PagerQuery pq) { + ScmVehRebateTypeStatQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("r.orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("r.orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("r.orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("r.orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("r.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getDivision())) { + qw.like("o.name", query.getDivision()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("r.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("r.purchaseSystemName", query.getPurchaseSystemName()); + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("r.brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getRebateTypeValue())) { + qw.like("r.rebateTypeValue", query.getRebateTypeValue()); + } + String palceGenDateStart = query.getPalceGenDateStart(); + String palceGenDateEnd = query.getPalceGenDateEnd(); + qw.apply(StringUtils.isNotBlank(palceGenDateStart), "r.palceGenDate >= '" + palceGenDateStart + "'"). + apply(StringUtils.isNotBlank(palceGenDateEnd), "r.palceGenDate <= '" + palceGenDateEnd + "'" + ); + qw.groupBy("r.purchaseSystemName"); + qw.groupBy("r.palceGenDate"); + qw.groupBy("r.rebateTypeValue"); + qw.groupBy("r.brandName"); + qw.groupBy("r.useOrgName"); + qw.groupBy("o.name"); + if (StringUtils.isNotBlank(query.getProject())) { + qw.having("project = {0}", query.getProject()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.typeStatistics(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public PagerVo withApplyGetVehRebate(PagerQuery pq) { ScmVehRebateQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -1867,7 +1949,7 @@ public class ScmVehRebateService extends MybatisBaseService scmVehRebateExcelVos = baseMapper.excelList(qw); return scmVehRebateExcelVos; } + + public List getTypeDetail(String sid, String type) { + List scmVehRebateTypeStatMxVos = new ArrayList<>(); + List sids = Arrays.asList(sid.split(",")); + if ("单车返利".equals(type)) { + scmVehRebateTypeStatMxVos = baseMapper.getTypeDetail(sids); + } else if ("专项返利".equals(type)) { + scmVehRebateTypeStatMxVos = scmSpecialRebateService.getTypeDetail(sids); + } + return scmVehRebateTypeStatMxVos; + } } \ No newline at end of file