Browse Source

添加车辆利润报表的返利明细

zhanglei
dimengzhe 3 weeks ago
parent
commit
5c4c942b58
  1. 14
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  2. 6
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitVo.java
  3. 3
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitMapper.xml
  4. 36
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java
  5. 33
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateCarsSoldProfitVo.java
  6. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java
  7. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  8. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  9. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  10. 27
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

14
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -1441,14 +1441,22 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
carsSoldProfitDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid());
carsSoldProfitDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName());
//入库价
carsSoldProfitDto.setCostPrice(baseVehicle.getCostPrice().toString());
if(baseVehicle.getCostPrice() != null){
carsSoldProfitDto.setCostPrice(baseVehicle.getCostPrice().toString());
}
//出库价
carsSoldProfitDto.setExStockPrice(baseVehicle.getContractPrice().toString());
if(baseVehicle.getContractPrice() != null){
carsSoldProfitDto.setExStockPrice(baseVehicle.getContractPrice().toString());
}
//存放地点
carsSoldProfitDto.setLocationSid(baseVehicle.getLocation());
carsSoldProfitDto.setLocationName(baseVehicle.getLocationName());
//厂家结算价
carsSoldProfitDto.setMakersSettlementPrice(baseVehicle.getSettlePrice().toString());
if(baseVehicle.getSettlePrice() != null){
carsSoldProfitDto.setMakersSettlementPrice(baseVehicle.getSettlePrice().toString());
}
//排产订单编号
carsSoldProfitDto.setSchedulingId(baseVehicle.getOrderingNo());
//数据日期

6
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/carsSoldProfit/CarsSoldProfitVo.java

@ -70,6 +70,8 @@ public class CarsSoldProfitVo {
@ApiModelProperty("更新日期")
@JsonProperty("updateTime")
private String updateDate;
private String sid;
@ApiModelProperty("跳转返利明细使用")
@JsonProperty("sid")
private String vinSid;
}

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

@ -28,7 +28,8 @@
cp.createDate,
cp.updateDate,
bm.gearboxTypeValue,
bm.vehicleAlias
bm.vehicleAlias,
cp.vinSid
from cars_sold_profit cp
left join anrui_base.base_vehicle_model bm on bm.sid = cp.vehModelSid
<where>

36
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/carsSoldProfit/CarsSoldProfitService.java

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.reportcenter.api.carsSoldProfit.*;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateCarsSoldProfitVo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
@ -16,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -30,6 +33,8 @@ public class CarsSoldProfitService extends MybatisBaseService<CarsSoldProfitMapp
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private ScmVehRebateFeign scmVehRebateFeign;
public ResultBean saveProfit(List<CarsSoldProfitDto> dtoList) {
ResultBean rb = ResultBean.fireFail();
@ -138,6 +143,35 @@ public class CarsSoldProfitService extends MybatisBaseService<CarsSoldProfitMapp
}
public ResultBean<CarsSoldProfitRebateAllVo> rebates(String sid) {
return null;
ResultBean<CarsSoldProfitRebateAllVo> rb = ResultBean.fireFail();
CarsSoldProfitRebateAllVo carsSoldProfitRebateAllVo = new CarsSoldProfitRebateAllVo();
List<CarsSoldProfitRebateDetailsVo> list = new ArrayList<>();
String vinSid = sid;
BigDecimal expectedRebateTotalAll = BigDecimal.ZERO;
BigDecimal adjustedRebateTotalAll = BigDecimal.ZERO;
List<ScmVehRebateCarsSoldProfitVo> scmList = scmVehRebateFeign.getDetailByVinSid(vinSid).getData();
if (!scmList.isEmpty()) {
for (int i = 0; i < scmList.size(); i++) {
ScmVehRebateCarsSoldProfitVo scmVehRebateCarsSoldProfitVo = scmList.get(i);
CarsSoldProfitRebateDetailsVo carsSoldProfitRebateDetailsVo = new CarsSoldProfitRebateDetailsVo();
carsSoldProfitRebateDetailsVo.setPolicy(scmVehRebateCarsSoldProfitVo.getPolicy());
carsSoldProfitRebateDetailsVo.setRebateType(scmVehRebateCarsSoldProfitVo.getRebateTypeValue());
carsSoldProfitRebateDetailsVo.setYearAndMonth(scmVehRebateCarsSoldProfitVo.getPalceGenDate());
carsSoldProfitRebateDetailsVo.setRebateName(scmVehRebateCarsSoldProfitVo.getRebateName());
carsSoldProfitRebateDetailsVo.setExpectedRebate(scmVehRebateCarsSoldProfitVo.getExpectedRebate());
carsSoldProfitRebateDetailsVo.setRebatesAdjust(scmVehRebateCarsSoldProfitVo.getAdjustmentMoney());
list.add(carsSoldProfitRebateDetailsVo);
if (StringUtils.isNotBlank(carsSoldProfitRebateDetailsVo.getExpectedRebate())) {
expectedRebateTotalAll.add(new BigDecimal(carsSoldProfitRebateDetailsVo.getExpectedRebate()));
}
if (StringUtils.isNotBlank(carsSoldProfitRebateDetailsVo.getRebatesAdjust())) {
adjustedRebateTotalAll.add(new BigDecimal(carsSoldProfitRebateDetailsVo.getRebatesAdjust()));
}
}
}
carsSoldProfitRebateAllVo.setList(list);
carsSoldProfitRebateAllVo.setAdjustedRebateTotal(adjustedRebateTotalAll.toString());
carsSoldProfitRebateAllVo.setExpectedRebateTotal(adjustedRebateTotalAll.toString());
return rb.success().setData(carsSoldProfitRebateAllVo);
}
}

33
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateCarsSoldProfitVo.java

@ -0,0 +1,33 @@
package com.yxt.anrui.scm.api.scmvehrebate;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/5/16
**/
@Data
public class ScmVehRebateCarsSoldProfitVo implements Vo {
private static final long serialVersionUID = -5925794987523752087L;
@ApiModelProperty("政策方")
private String policy;
@ApiModelProperty("所属年月")
private String palceGenDate;
@ApiModelProperty("返利类型")
private String rebateTypeValue;
@ApiModelProperty("返利名称")
private String rebateName;
@ApiModelProperty("预提返利:预提返利-预提费用的结果(待支付+抵顶)")
private String expectedRebate;
@ApiModelProperty("预计待支付费用")
private String expectTreatCost;
@ApiModelProperty("预计抵顶费用")
private String expectSuppCost;
@ApiModelProperty("返利调整")
private String adjustmentMoney;
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java

@ -66,6 +66,11 @@ public interface ScmVehRebateFeign {
@ResponseBody
public ResultBean<List<ScmVehRebateStatMxVo>> getDetail(@PathVariable("sid") String sid);
@ApiOperation("车辆利润报表查询返利明细")
@GetMapping("/getDetailByVinSid")
@ResponseBody
ResultBean<List<ScmVehRebateCarsSoldProfitVo>> getDetailByVinSid(@RequestParam("vinSid")String vinSid);
@ApiOperation("返利类型统计")
@PostMapping("/typeStatistics")
@ResponseBody

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

@ -84,4 +84,6 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
List<ScmVehRebateStatMxVo> getDetail(String vehSid);
List<ScmVehRebateTypeStatMxVo> getTypeDetail(@Param("sids") List<String> sids);
List<ScmVehRebateCarsSoldProfitVo> getDetailByVinSid(String vinSid);
}

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

@ -415,4 +415,18 @@
</foreach>
</if>
</select>
<select id="getDetailByVinSid" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateCarsSoldProfitVo">
SELECT
r.palceGenDate,
r.rebateTypeValue,
r.rebateName,
r.estimateRebate,
r.expectTreatCost,
r.expectSuppCost,
r.adjustmentMoney
FROM
scm_veh_rebate r
WHERE r.vehSid = #{vinSid}
</select>
</mapper>

5
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java

@ -89,6 +89,11 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
return rb.success().setData(scmVehRebateStatMxVos);
}
@Override
public ResultBean<List<ScmVehRebateCarsSoldProfitVo>> getDetailByVinSid(String vinSid) {
return scmVehRebateService.getDetailByVinSid(vinSid);
}
@Override
public ResultBean<PagerVo<ScmVehRebateTypeStatVo>> typeStatistics(PagerQuery<ScmVehRebateTypeStatQuery> pq) {
ResultBean rb = ResultBean.fireFail();

27
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

@ -2718,4 +2718,31 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
}
return scmVehRebateTypeStatMxVos;
}
public ResultBean<List<ScmVehRebateCarsSoldProfitVo>> getDetailByVinSid(String vinSid) {
ResultBean<List<ScmVehRebateCarsSoldProfitVo>> rb = ResultBean.fireFail();
List<ScmVehRebateCarsSoldProfitVo> list = baseMapper.getDetailByVinSid(vinSid);
list.removeAll(Collections.singleton(null));
if(!list.isEmpty()){
for (int i = 0; i < list.size(); i++) {
ScmVehRebateCarsSoldProfitVo scmVehRebateCarsSoldProfitVo = list.get(i);
String expectedRebate = scmVehRebateCarsSoldProfitVo.getExpectedRebate();
BigDecimal expectAll = BigDecimal.ZERO;
String expectTreatCost = scmVehRebateCarsSoldProfitVo.getExpectTreatCost();
String expectSuppCost = scmVehRebateCarsSoldProfitVo.getExpectSuppCost();
if(StringUtils.isNotBlank(expectedRebate)){
expectAll = expectAll.add(new BigDecimal(expectedRebate));
}
if(StringUtils.isNotBlank(expectTreatCost)){
expectAll = expectAll.subtract(new BigDecimal(expectTreatCost));
}
if(StringUtils.isNotBlank(expectSuppCost)){
expectAll = expectAll.subtract(new BigDecimal(expectSuppCost));
}
scmVehRebateCarsSoldProfitVo.setExpectedRebate(expectAll.toString());
}
}
return rb.success().setData(list);
}
}
Loading…
Cancel
Save