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.BirBaseActivity;
import com.qs.serve.modules.bir.entity.so.BirCostRoiSo; import com.qs.serve.modules.bir.entity.so.BirCostRoiSo;
import com.qs.serve.modules.bir.entity.vo.*; import com.qs.serve.modules.bir.entity.vo.*;
import com.qs.serve.modules.bir.service.BirActivityCenterGoodsService; import com.qs.serve.modules.bir.service.*;
import com.qs.serve.modules.bir.service.BirBaseActivityService;
import com.qs.serve.modules.bir.service.BirReportAccountBookService;
import com.qs.serve.modules.tbs.common.TbsCenterType; 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 com.qs.serve.modules.tbs.service.TbsBudgetService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.bir.service.BirRoiRateService;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -46,6 +43,8 @@ public class BirRoiRateController {
private BirActivityCenterGoodsService activityCenterGoodsService; private BirActivityCenterGoodsService activityCenterGoodsService;
private BirReportAccountBookService birReportAccountBookService; private BirReportAccountBookService birReportAccountBookService;
private TbsBudgetService tbsBudgetService; private TbsBudgetService tbsBudgetService;
private BirCenterRateService birCenterRateService;
/** /**
* 台账数据集 * 台账数据集
@ -141,6 +140,17 @@ public class BirRoiRateController {
return R.ok(vo); 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 com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import java.util.List;
public interface BirCenterRateService { 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.so.BirCostRoiSo;
import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo; import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo;
import com.qs.serve.modules.bir.entity.vo.YtdQtdToOAVo; 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.mapper.BirRoiRateMapper;
import com.qs.serve.modules.bir.service.BirActivityCenterGoodsService; import com.qs.serve.modules.bir.service.BirActivityCenterGoodsService;
import com.qs.serve.modules.bir.service.BirCenterRateService; 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.entity.dto.ErpDispatchSumVo;
import com.qs.serve.modules.erp.mapper.ErpDispatchDataMapper; import com.qs.serve.modules.erp.mapper.ErpDispatchDataMapper;
import com.qs.serve.modules.tbs.common.util.QuarterUtil; 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.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem; 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.TbsBudgetMapper;
import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -36,10 +39,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.Month; import java.time.Month;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -56,9 +56,32 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
private TbsBudgetMapper tbsBudgetMapper; private TbsBudgetMapper tbsBudgetMapper;
private BirRoiRateService birRoiRateService; private BirRoiRateService birRoiRateService;
private final ErpDispatchDataMapper dispatchDataMapper; 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){ 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.eq(BirActivityCenterGoods::getCenterType,centerType);
birLwq.ge(BirActivityCenterGoods::getKeyNum,startMonthNum); birLwq.ge(BirActivityCenterGoods::getKeyNum,startMonthNum);
birLwq.le(BirActivityCenterGoods::getKeyNum,endMonthNum); birLwq.le(BirActivityCenterGoods::getKeyNum,endMonthNum);
List<BirActivityCenterGoods> birCenterCost = birActivityCenterGoodsService.list(birLwq); List<BirActivityCenterGoods> birCenterCost = birActivityCenterGoodsMapper.selectList(birLwq);
/* --------------- 实际费用率YTD --------------------------------------------- */ /* --------------- 实际费用率YTD --------------------------------------------- */
BigDecimal ytdRealDipatch = dispatchSumVos.stream().map(a->a.getDispatchSumCost()).reduce(BigDecimal.ZERO,BigDecimal::add); 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 chengBenZhongXin;
private String chengBenZhongXinId; private String chengBenZhongXinId;
private String centertype;
private String centerId;
//区域预算,预算金额 //区域预算,预算金额
private String areaBudget; private String areaBudget;

Loading…
Cancel
Save