KpiGroupIndicatorPreconditionServiceImpl.java 2 KB
package cn.fw.morax.service.data.kpi.impl;

import cn.fw.morax.common.constant.Constant;
import cn.fw.morax.common.utils.PublicUtil;
import cn.fw.morax.dao.kpi.KpiGroupIndicatorPreconditionDao;
import cn.fw.morax.domain.db.kpi.KpiGroupIndicatorPrecondition;
import cn.fw.morax.domain.enums.TargetTypeEnum;
import cn.fw.morax.domain.vo.kpi.KpiGroupIndicatorPreconditionVO;
import cn.fw.morax.service.data.kpi.KpiGroupIndicatorPreconditionService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * <p>
 * 绩效组指标条件 服务实现类
 * </p>
 *
 * @author jiangchao
 * @since 2022-12-05
 */
@Service
public class KpiGroupIndicatorPreconditionServiceImpl extends ServiceImpl<KpiGroupIndicatorPreconditionDao, KpiGroupIndicatorPrecondition> implements KpiGroupIndicatorPreconditionService {

    @Override
    public Map<Long, List<KpiGroupIndicatorPreconditionVO>> getKpiGroupIndicatorCondVO(Long kpiGroupId) {
        List<KpiGroupIndicatorPreconditionVO> preconditionVOS = this.baseMapper.getVos(kpiGroupId);

        preconditionVOS.stream().forEach(KpiGroupIndicatorPreconditionVO::processPercent);

        Map<Long, List<KpiGroupIndicatorPreconditionVO>> indicatorCondMap = preconditionVOS.stream()
                .collect(Collectors.groupingBy(KpiGroupIndicatorPreconditionVO::getKpiGroupIndicatorId));

        return indicatorCondMap;
    }

    @Override
    public List<KpiGroupIndicatorPreconditionVO> getHitVos(Long kpiGroupIndicatorId, Long userId, LocalDate localDate) {
        List<KpiGroupIndicatorPreconditionVO> preconditionVOs = this.baseMapper.getHitVos(kpiGroupIndicatorId, userId, localDate);
        preconditionVOs.stream().forEach(preconditionVO -> {
            preconditionVO.processPercent();
        });
        return preconditionVOs;
    }
}