Browse Source

修改

zhanglei
ligaode 3 weeks ago
parent
commit
0128010833
  1. 19
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java
  2. 112
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatMxVo.java
  3. 55
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatQuery.java
  4. 70
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateTypeStatVo.java
  5. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java
  6. 43
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml
  7. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  8. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  9. 123
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  10. 17
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  11. 105
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

19
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<List<ScmVehRebateStatMxVo>> getDetail(@PathVariable("sid") String sid);
@ApiOperation("返利类型统计")
@PostMapping("/typeStatistics")
@ResponseBody
public ResultBean<PagerVo<ScmVehRebateTypeStatVo>> typeStatistics(@RequestBody PagerQuery<ScmVehRebateTypeStatQuery> pq);
@ApiOperation("返利类型明细")
@PostMapping("/getTypeDetail")
@ResponseBody
public ResultBean<List<ScmVehRebateTypeStatMxVo>> 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);
}

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

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

70
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
}

3
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<ScmSpecialRebate> {
List<ScmSpecialRebateVo> checkApplyGetSpecialRebateAll(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<ScmSpecialRebateVo> listAll(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<ScmVehRebateTypeStatMxVo> getTypeDetail(@Param("sids") List<String> sids);
}

43
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml

@ -182,4 +182,47 @@
${ew.sqlSegment}
</where>
</select>
<select id="getTypeDetail" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateTypeStatMxVo">
SELECT
r.sid,
r.purchaseSystemName,
'专项返利' AS project,
r.rebateTypeValue,
r.rebateName,
r.palceGenDate,
r.estimateRebate,
r.uploadMoney,
r.secondaryUploadMoney,
r.stayDetermineMoney,
r.adjustmentMoney,
r.estimateRebate - IFNULL(r.uploadMoney,0) - IFNULL(r.secondaryUploadMoney,0) + IFNULL(r.adjustmentMoney,0) AS notUploadMoney,
r.expectItureCost + r.expectTreatCost + r.expectSuppCost AS expectCost,
r.onceItureCost + r.onceTreatCost + r.onceSuppCost + r.secondItureCost + r.secondTreatCost + r.secondSuppCost AS money,
r.createTime,
r.withholdingDate,
r.uploadDate,
r.secondaryUploadDate,
r.state,
r.onceCheckState,
IF(r.secondaryUploadMoney > 0 AND r.isAdjustment = '是','是','否') AS secondCheckState,
r.brandName,
r.useOrgName,
o.name AS division,
r.remarks
FROM
scm_special_rebate r
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
<if test="sids != null and sids.size() != 0">
WHERE r.sid IN
<foreach collection="sids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>

5
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<ScmSpecialRebate
}
return scmSpecialRebateExcelVos;
}
public List<ScmVehRebateTypeStatMxVo> getTypeDetail(List<String> sids) {
return baseMapper.getTypeDetail(sids);
}
}

4
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<ScmVehRebate> {
IPage<ScmVehRebateStatVo> statistics(IPage<ScmVehRebate> page, @Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
IPage<ScmVehRebateTypeStatVo> typeStatistics(IPage<ScmVehRebate> page, @Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
IPage<ScmVehRebateVo> selectPageVoUpload(IPage<ScmVehRebate> page, @Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
@Update("update scm_veh_rebate set state = #{state} where sid = #{sid}")
@ -80,4 +82,6 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
int delByVehSid2(@Param("vehSid") String vehSid, @Param("useOrgSid") String useOrgSid, @Param("key") String key);
List<ScmVehRebateStatMxVo> getDetail(String vehSid);
List<ScmVehRebateTypeStatMxVo> getTypeDetail(@Param("sids") List<String> sids);
}

123
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}
</select>
<select id="typeStatistics" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateTypeStatVo">
SELECT
GROUP_CONCAT(r.sid) AS sid,
r.purchaseSystemName,
'单车返利' AS project,
r.palceGenDate AS palceGenDate,
r.rebateTypeValue,
SUM(r.estimateRebate) AS estimateRebate,
SUM(r.uploadMoney) + SUM(r.secondaryUploadMoney) AS uploadMoney,
SUM(r.adjustmentMoney) AS adjustmentMoney,
SUM(r.estimateRebate) - IFNULL(SUM(r.uploadMoney), 0) - IFNULL(SUM(r.secondaryUploadMoney), 0) + IFNULL(SUM(r.adjustmentMoney), 0) AS notUploadMoney,
'' AS expectItureCost,
SUM(r.expectTreatCost) AS expectTreatCost,
SUM(r.expectSuppCost) AS expectSuppCost,
SUM(r.estimateRebate) - IFNULL(SUM(r.uploadMoney), 0) - IFNULL(SUM(r.secondaryUploadMoney), 0) + IFNULL(SUM(r.adjustmentMoney), 0) - SUM(r.expectTreatCost) - SUM(r.expectSuppCost) AS balance,
r.brandName,
r.useOrgName,
o.name AS division
FROM
scm_veh_rebate r
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>
${ew.sqlSegment}
</where>
UNION ALL
SELECT
GROUP_CONCAT(r.sid) AS sid,
r.purchaseSystemName,
'专项返利' AS project,
r.palceGenDate AS palceGenDate,
r.rebateTypeValue,
SUM(r.estimateRebate) AS estimateRebate,
SUM(r.uploadMoney) + SUM(r.secondaryUploadMoney) AS uploadMoney,
SUM(r.adjustmentMoney) AS adjustmentMoney,
SUM(r.estimateRebate) - IFNULL(SUM(r.uploadMoney), 0) - IFNULL(SUM(r.secondaryUploadMoney), 0) + IFNULL(SUM(r.adjustmentMoney), 0) AS notUploadMoney,
SUM(r.expectItureCost) AS expectItureCost,
SUM(r.expectTreatCost) AS expectTreatCost,
SUM(r.expectSuppCost) AS expectSuppCost,
SUM(r.estimateRebate) - IFNULL(SUM(r.uploadMoney), 0) - IFNULL(SUM(r.secondaryUploadMoney), 0) + IFNULL(SUM(r.adjustmentMoney), 0) - SUM(r.expectItureCost) - SUM(r.expectTreatCost) - SUM(r.expectSuppCost) AS balance,
r.brandName,
r.useOrgName,
o.name AS division
FROM
scm_special_rebate r
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>
${ew.sqlSegment}
</where>
ORDER BY palceGenDate DESC
</select>
<select id="getTypeDetail" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateTypeStatMxVo">
SELECT
r.sid,
r.purchaseSystemName,
r.vehModelName,
r.vinNo,
'单车返利' AS project,
r.rebateTypeValue,
r.rebateName,
r.palceGenDate,
r.estimateRebate,
r.uploadMoney,
r.secondaryUploadMoney,
r.stayDetermineMoney,
r.adjustmentMoney,
r.estimateRebate - IFNULL(r.uploadMoney,0) - IFNULL(r.secondaryUploadMoney,0) + IFNULL(r.adjustmentMoney,0) AS notUploadMoney,
r.expectTreatCost + r.expectSuppCost AS expectCost,
r.onceTreatCost + r.onceSuppCost + r.secondTreatCost + r.secondSuppCost AS money,
r.createTime,
r.withholdingDate,
r.uploadDate,
r.secondaryUploadDate,
r.state,
r.onceCheckState,
IF(r.secondaryUploadMoney > 0 AND r.isAdjustment = '是','是','否') AS secondCheckState,
r.brandName,
r.useOrgName,
o.name AS division,
r.manufactorSettlementPrice,
r.freight,
r.topAmount,
r.calculationModeValue,
r.calculationStandard,
r.remarks
FROM
scm_veh_rebate r
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
<if test="sids != null and sids.size() != 0">
WHERE r.sid IN
<foreach collection="sids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>

17
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<PagerVo<ScmVehRebateTypeStatVo>> typeStatistics(PagerQuery<ScmVehRebateTypeStatQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmVehRebateTypeStatVo> pv = scmVehRebateService.typeStatistics(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<List<ScmVehRebateTypeStatMxVo>> getTypeDetail(String sid, String type) {
ResultBean rb = ResultBean.fireFail();
List<ScmVehRebateTypeStatMxVo> 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());

105
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<ScmVehRebateMapper,
private BaseVehicleFeign baseVehicleFeign;
@Autowired
private DictCommonFeign dictCommonFeign;
@Autowired
private ScmSpecialRebateService scmSpecialRebateService;
public PagerVo<ScmVehRebateVo> listPageVo(PagerQuery<ScmVehRebateQuery> pq) {
ScmVehRebateQuery query = pq.getParams();
@ -436,6 +440,84 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
return baseMapper.getDetail(vehSid);
}
public PagerVo<ScmVehRebateTypeStatVo> typeStatistics(PagerQuery<ScmVehRebateTypeStatQuery> pq) {
ScmVehRebateTypeStatQuery query = pq.getParams();
QueryWrapper<ScmVehRebate> 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<String> 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<ScmVehRebateTypeStatVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<ScmVehRebateTypeStatVo> 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<ScmVehRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmVehRebateTypeStatVo> pagging = baseMapper.typeStatistics(page, qw);
PagerVo<ScmVehRebateTypeStatVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<ScmVehRebateVo> withApplyGetVehRebate(PagerQuery<ScmVehRebateQuery> pq) {
ScmVehRebateQuery query = pq.getParams();
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
@ -1867,7 +1949,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
}
}
if (StringUtils.isBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
if (new BigDecimal(excelInfo.getUploadMoney()).compareTo(BigDecimal.ZERO) != 0){
if (new BigDecimal(excelInfo.getUploadMoney()).compareTo(BigDecimal.ZERO) != 0) {
checkWord.add("上传日期不能为空");
break;
}
@ -1876,8 +1958,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
checkWord.add("上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getUploadMoney())){
if (new BigDecimal(excelInfo.getUploadMoney()).compareTo(BigDecimal.ZERO) == 0){
if (StringUtils.isNotBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
if (new BigDecimal(excelInfo.getUploadMoney()).compareTo(BigDecimal.ZERO) == 0) {
checkWord.add("上传金额不能为0");
break;
}
@ -2372,7 +2454,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
}
}
if (StringUtils.isBlank(excelInfo.getSecondaryUploadDate()) && StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) {
if (new BigDecimal(excelInfo.getSecondaryUploadMoney()).compareTo(BigDecimal.ZERO) != 0){
if (new BigDecimal(excelInfo.getSecondaryUploadMoney()).compareTo(BigDecimal.ZERO) != 0) {
checkWord.add("二次上传日期不能为空");
break;
}
@ -2381,8 +2463,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
checkWord.add("二次上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate()) && StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())){
if (new BigDecimal(excelInfo.getSecondaryUploadMoney()).compareTo(BigDecimal.ZERO) == 0){
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate()) && StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) {
if (new BigDecimal(excelInfo.getSecondaryUploadMoney()).compareTo(BigDecimal.ZERO) == 0) {
checkWord.add("二次上传金额不能为0");
break;
}
@ -2621,4 +2703,15 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
List<ScmVehRebateExcelVo> scmVehRebateExcelVos = baseMapper.excelList(qw);
return scmVehRebateExcelVos;
}
public List<ScmVehRebateTypeStatMxVo> getTypeDetail(String sid, String type) {
List<ScmVehRebateTypeStatMxVo> scmVehRebateTypeStatMxVos = new ArrayList<>();
List<String> sids = Arrays.asList(sid.split(","));
if ("单车返利".equals(type)) {
scmVehRebateTypeStatMxVos = baseMapper.getTypeDetail(sids);
} else if ("专项返利".equals(type)) {
scmVehRebateTypeStatMxVos = scmSpecialRebateService.getTypeDetail(sids);
}
return scmVehRebateTypeStatMxVos;
}
}
Loading…
Cancel
Save