Browse Source

成本中心费用率查询

v1.0
15989082884@163.com 2 years ago
parent
commit
fa9984a4ab
  1. 20
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  2. 5
      src/main/java/com/qs/serve/modules/bir/service/BirCenterRateService.java
  3. 35
      src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java
  4. 2
      src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsCostSubItem.java

20
src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java

@ -14,18 +14,15 @@ import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.entity.so.BirCostRoiSo;
import com.qs.serve.modules.bir.entity.vo.*;
import com.qs.serve.modules.bir.service.BirActivityCenterGoodsService;
import com.qs.serve.modules.bir.service.BirBaseActivityService;
import com.qs.serve.modules.bir.service.BirReportAccountBookService;
import com.qs.serve.modules.bir.service.*;
import com.qs.serve.modules.tbs.common.TbsCenterType;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import com.qs.serve.modules.tbs.service.TbsBudgetService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.bir.service.BirRoiRateService;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ -46,6 +43,8 @@ public class BirRoiRateController {
private BirActivityCenterGoodsService activityCenterGoodsService;
private BirReportAccountBookService birReportAccountBookService;
private TbsBudgetService tbsBudgetService;
private BirCenterRateService birCenterRateService;
/**
* 台账数据集
@ -141,6 +140,17 @@ public class BirRoiRateController {
return R.ok(vo);
}
/**
* 获取成本中心费率
* @param id
* @return
*/
@RepeatSubmit
@GetMapping("/centerRateByCostApplyId")
public R<List<TbsCostSubItem.CostCenterTranStr>> centerRateByCostApplyId(Long id){
return R.ok(birCenterRateService.findCostCenterDataByCostApplyId(id));
}
}

5
src/main/java/com/qs/serve/modules/bir/service/BirCenterRateService.java

@ -2,7 +2,10 @@ package com.qs.serve.modules.bir.service;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import java.util.List;
public interface BirCenterRateService {
public TbsCostSubItem.CostCenterTranStr buildCostCenter(String centerType, String centerId, String centerName);
TbsCostSubItem.CostCenterTranStr buildCostCenter(String centerType, String centerId, String centerName);
List<TbsCostSubItem.CostCenterTranStr> findCostCenterDataByCostApplyId(Long id);
}

35
src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java

@ -11,6 +11,7 @@ import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO;
import com.qs.serve.modules.bir.entity.so.BirCostRoiSo;
import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo;
import com.qs.serve.modules.bir.entity.vo.YtdQtdToOAVo;
import com.qs.serve.modules.bir.mapper.BirActivityCenterGoodsMapper;
import com.qs.serve.modules.bir.mapper.BirRoiRateMapper;
import com.qs.serve.modules.bir.service.BirActivityCenterGoodsService;
import com.qs.serve.modules.bir.service.BirCenterRateService;
@ -22,10 +23,12 @@ import com.qs.serve.modules.bms.mapper.BmsSupplierMapper;
import com.qs.serve.modules.erp.entity.dto.ErpDispatchSumVo;
import com.qs.serve.modules.erp.mapper.ErpDispatchDataMapper;
import com.qs.serve.modules.tbs.common.util.QuarterUtil;
import com.qs.serve.modules.tbs.entity.TbsActivityCenter;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import com.qs.serve.modules.tbs.mapper.TbsActivityCenterMapper;
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper;
import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper;
import lombok.AllArgsConstructor;
@ -36,10 +39,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.Month;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -56,9 +56,32 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
private TbsBudgetMapper tbsBudgetMapper;
private BirRoiRateService birRoiRateService;
private final ErpDispatchDataMapper dispatchDataMapper;
private BirActivityCenterGoodsService birActivityCenterGoodsService;
private BirActivityCenterGoodsMapper birActivityCenterGoodsMapper;
private TbsActivityCenterMapper tbsActivityCenterMapper;
public List<TbsCostSubItem.CostCenterTranStr> findCostCenterDataByCostApplyId(Long id){
List<TbsCostSubItem.CostCenterTranStr> centerDataList = new ArrayList<>();
LambdaQueryWrapper<TbsActivityCenter> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityCenter::getCostApplyId,id);
List<TbsActivityCenter> tbsActivityCenters = tbsActivityCenterMapper.selectList(lqw);
if(tbsActivityCenters.size()==0){
return centerDataList;
}
Map<String,List<TbsActivityCenter>> centerMapList = tbsActivityCenters.stream().collect(Collectors.groupingBy(a->a.getCenterType()+"-"+a.getCenterId()));
List<TbsActivityCenter> centerList = centerMapList.values().stream().map(a->a.get(0)).collect(Collectors.toList());
for(TbsActivityCenter center : centerList) {
TbsCostSubItem.CostCenterTranStr costCenter = this.buildCostCenter(center.getCenterType(), center.getCenterId(), center.getCenterName());
costCenter.setCenterId(center.getCenterId());
costCenter.setCentertype(center.getCenterType());
centerDataList.add(costCenter);
}
return centerDataList;
}
public TbsCostSubItem.CostCenterTranStr buildCostCenter(String centerType,String centerId,String centerName){
@ -117,7 +140,7 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
birLwq.eq(BirActivityCenterGoods::getCenterType,centerType);
birLwq.ge(BirActivityCenterGoods::getKeyNum,startMonthNum);
birLwq.le(BirActivityCenterGoods::getKeyNum,endMonthNum);
List<BirActivityCenterGoods> birCenterCost = birActivityCenterGoodsService.list(birLwq);
List<BirActivityCenterGoods> birCenterCost = birActivityCenterGoodsMapper.selectList(birLwq);
/* --------------- 实际费用率YTD --------------------------------------------- */
BigDecimal ytdRealDipatch = dispatchSumVos.stream().map(a->a.getDispatchSumCost()).reduce(BigDecimal.ZERO,BigDecimal::add);

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

@ -106,6 +106,8 @@ public class TbsCostSubItem {
}
private String chengBenZhongXin;
private String chengBenZhongXinId;
private String centertype;
private String centerId;
//区域预算,预算金额
private String areaBudget;

Loading…
Cancel
Save