|
@ -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); |
|
|