KpiGroupIndicatorPreconditionServiceImpl.java
2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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;
}
}