燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2024-11-20 8185e5cdc2bbdf7fb4ca46a10864106893a01ed3
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
package com.yssh.service;
 
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
 
import com.yssh.config.InitConfig;
import com.yssh.utils.DateUtils;
import org.springframework.stereotype.Service;
 
import com.yssh.mapper.FeedbackMapper;
import com.yssh.mapper.ThuAccuracyMapper;
 
import javax.annotation.Resource;
 
@Service
public class CountService {
    @Resource
    private ThuAccuracyMapper thuAccuracyMapper;
 
    @Resource
    private FeedbackMapper feedbackMapper;
 
    public Map<String, Double> selectAccuracyAvg() {
        Map<String, Double> result = new HashMap<String, Double>();
        Date nowDate = InitConfig.getDate();
        Long beginTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getAPeriodOfTime(nowDate, -7, Calendar.DATE)));
        Double thuAccuracy = thuAccuracyMapper.selectSevenDayAccuracyAvg(beginTime);
        Double tempForecast = thuAccuracy == null ? 0.0 : thuAccuracy;
        result.put("forecastRate", new BigDecimal(tempForecast).setScale(2, RoundingMode.HALF_UP).doubleValue());
        Double practical = feedbackMapper.selectSevenDayAccuracyAvg(beginTime);
        Double tempPractical = practical == null ? 0.0 : practical;
        result.put("practicalRate", new BigDecimal(tempPractical * 100).setScale(2, RoundingMode.HALF_UP).doubleValue());
        return result;
    }
}