Browse Source

目标发货额 OA传参

contract
15989082884@163.com 2 years ago
parent
commit
ac9778d8c7
  1. 9
      src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsCostSubItem.java
  2. 7
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetCostItemService.java
  3. 10
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetCostItemServiceImpl.java
  4. 23
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

9
src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsCostSubItem.java

@ -3,6 +3,8 @@ package com.qs.serve.modules.tbs.entity.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author YenHex
* @since 2023/5/9
@ -22,4 +24,11 @@ public class TbsCostSubItem {
private String keMuName;
}
@Data
@AllArgsConstructor
public static class Amount{
private BigDecimal budgetAmount;
private BigDecimal preDispatchAmout;
}
}

7
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetCostItemService.java

@ -25,5 +25,12 @@ public interface TbsBudgetCostItemService extends IService<TbsBudgetCostItem> {
* @return
*/
List<TbsBudgetCostItem> listByScheduleItemBudgetIds(List<Long> ids,Long neInCostApplyId);
/**
* 根据申请ID查询费用占用
* @param id
* @return
*/
public List<TbsBudgetCostItem> listByCostApplyId(Long costApplyId);
}

10
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetCostItemServiceImpl.java

@ -44,5 +44,15 @@ public class TbsBudgetCostItemServiceImpl extends ServiceImpl<TbsBudgetCostItemM
return new ArrayList<>();
}
@Override
public List<TbsBudgetCostItem> listByCostApplyId(Long costApplyId) {
if(costApplyId!=null){
LambdaQueryWrapper<TbsBudgetCostItem> costLqw = new LambdaQueryWrapper<>();
costLqw.eq(TbsBudgetCostItem::getCostApplyId,costApplyId);
return this.list(costLqw);
}
return new ArrayList<>();
}
}

23
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -80,6 +80,8 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
private ProjectProperties projectProperties;
private BirRoiRateService birRoiRateService;
private TbsCostPercentMapper tbsCostPercentMapper;
private TbsScheduleItemBudgetMapper tbsScheduleItemBudgetMapper;
@Override
public Long selectCountOverdueState(String userId) {
@ -229,9 +231,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
data.put("empExpenseRate",ytdQtdToOAVo.getQtdUserPercent());
data.put("salesExpenseRate",ytdQtdToOAVo.getQtdRegionPercent());
data.put("adminiExpenseRate",ytdQtdToOAVo.getQtdRegion2Percent());
//TODO 预算费率
data.put("budgetExpenseRate","0.0");
data.put("ytdBudgetExpenseRate","0.0");
//插入记录表前移除历史记录
tbsCostPercentMapper.delByCostApplyId(tbsCostApply.getId());
TbsCostPercent costPercent = new TbsCostPercent();
@ -244,9 +244,6 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
costPercent.setQtdUserPercent(BigDecimal.valueOf(ytdQtdToOAVo.getYtdCustomerPercent()));
costPercent.setQtdRegion2Percent(BigDecimal.valueOf(ytdQtdToOAVo.getYtdCustomerPercent()));
costPercent.setQtdRegionPercent(BigDecimal.valueOf(ytdQtdToOAVo.getYtdCustomerPercent()));
//TODO 预算费率
costPercent.setYtdBudgetPercent(BigDecimal.ZERO);
costPercent.setQtdBudgetPercent(BigDecimal.ZERO);
tbsCostPercentMapper.insert(costPercent);
@ -283,12 +280,26 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
activityCenter.getCenterType()+"_"+
activityCenter.getCenterId()));
}
//TODO 目标费率
List<TbsBudgetCostItem> tbsBudgetCostItems = budgetCostItemService.listByCostApplyId(Long.parseLong(id));
List<Long> scheduleItemBudgetIds = tbsBudgetCostItems.stream().map(a->a.getScheduleItemBudgetId()).distinct().collect(Collectors.toList());
List<TbsScheduleItemBudget> tbsScheduleItemBudgets = tbsScheduleItemBudgetMapper.selectBatchIds(scheduleItemBudgetIds);
for(TbsScheduleItemBudget tbsScheduleItemBudget : tbsScheduleItemBudgets){
subList.add(
new TbsCostSubItem.Amount(
tbsScheduleItemBudget.getBudgetAmount(),tbsScheduleItemBudget.getPreDispatchAmount()
)
);
}
List<TbsActivityGoods> tbsActivityGoods = tbsActivityGoodsService.listByCostApplyId(Long.parseLong(id));
Set<String> bands = new HashSet<>();
for (TbsActivityGoods tbsActivityGood : tbsActivityGoods) {
String band = tbsActivityGood.getTargetLevelPathNames().split("_")[0];
bands.add(band);
}
String goods = bands.stream().collect(Collectors.joining(","));
data.put("chanPinPinLei",goods);
data.put("sub",subList);

Loading…
Cancel
Save