fuliqi
2025-02-14 c6976365d5bfb39a32db8b541b1fe3ceb30c7826
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -30,6 +30,7 @@
import enumeration.general.PublishType;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -145,33 +146,35 @@
    /**
     * 查询考核积分卡片列表
     *
     * 这里显示当天的成绩如果没有当天成绩则显示最后一次成绩
     * @param checkScore 考核积分
     * @return 考核积分
     */
    @Override
    @DataScope(deptAlias = "d", userAlias = "u")
    public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore checkScore) {
    public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore query) {
        CheckScore checkScore = new CheckScore();
        BeanUtils.copyProperties(query,checkScore);
        //区县只能看已发布
        roleControl(checkScore);
        // 获取数据日期时间
        Calendar calendar = Calendar.getInstance();
        getCheckScore(checkScore, calendar);
        // 转换数据日期时间、标签
        getCheckScore(checkScore);
        // 一号查询之前的数据
        if (LocalDateTime.now().getDayOfMonth() == 1) {
            calendar.add(Calendar.DAY_OF_MONTH, -1);
        }
//        // 一号查询之前的数据
//        if (LocalDateTime.now().getDayOfMonth() == 1) {
//            calendar.add(Calendar.DAY_OF_MONTH, -1);
//        }
        List<CheckScore> checkScores = scoreMapper.selectCheckScoreMap(checkScore);
        // 如果数据为空,则查询之前的数据
        if (checkScores.isEmpty()) {
        if (CollectionUtils.isEmpty(checkScores) && (query.getStartDate() ==null || query.getStartDate() ==null)) {
            CheckScore one = scoreMapper.getLast(checkScore);
            if (Objects.nonNull(one)) {
                calendar.setTime(one.getCreateTime());
                getCheckScore(checkScore, calendar);
                checkScore.setStartDate(one.getCreateTime());
                checkScore.setEndDate(one.getCreateTime());
                getCheckScore(checkScore);
                checkScores = scoreMapper.selectCheckScoreMap(checkScore);
            }
        }
@@ -180,31 +183,16 @@
        return checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
    }
    private void getCheckScore(CheckScore checkScore, Calendar calendar) {
        // 0.省厅月度 1.省厅季度 2.市局月度 3.市局季度 4.公安部月度 5.公安部季度
        switch (checkScore.getExamineTag()) {
            case 0, 2, 4:
                checkScore.setEndDate(calendar.getTime());
                calendar.set(Calendar.DAY_OF_MONTH, 1);
                checkScore.setStartDate(calendar.getTime());
                if (checkScore.getExamineTag() == 0)
                    checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Province + ""));
                if (checkScore.getExamineTag() == 2)
                    checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_County + ""));
                if (checkScore.getExamineTag() == 4)
                    checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Dept + ""));
                break;
            case 1, 3, 5:
                checkScore.setStartDate(DateUtils.getQuarterStart(calendar).getTime());
                checkScore.setEndDate(DateUtils.getQuarterEnd(calendar).getTime());
                if (checkScore.getExamineTag() == 1)
                    checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Province + ""));
                if (checkScore.getExamineTag() == 3)
                    checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_County + ""));
                if (checkScore.getExamineTag() == 5)
                    checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Dept + ""));
                break;
        }
    private void getCheckScore(CheckScore checkScore) {
        checkScore.setStartDate(DateUtils.getDayStart(checkScore.getStartDate()));
        checkScore.setEndDate(DateUtils.getDayEnd(checkScore.getEndDate()));
        // 0.省厅 1.市局 2.公安部
        if (checkScore.getExamineTag() == 0)
            checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Province + ""));
        if (checkScore.getExamineTag() == 1)
            checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_County + ""));
        if (checkScore.getExamineTag() == 2)
            checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Dept + ""));
    }
    /**
@@ -522,7 +510,11 @@
    @Override
    public List<Map<String, Object>> home() {
        return baseMapper.home();
        Date now = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, -7);
        Date startTime = calendar.getTime();
        return baseMapper.home(startTime,now);
    }
@@ -539,8 +531,9 @@
    @Override
    public Map<String, Map<String, Object>> dashboard(DashboardQuery dashboardQuery) {
        Date now = new Date();
        dashboardQuery.setStartTime(DateUtils.getMouthStart(now));
        dashboardQuery.setEndTime(DateUtils.getMouthEnd(now));
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dashboardQuery.setStartTime(format.format(DateUtils.getDayStart(now)));
        dashboardQuery.setEndTime(format.format(DateUtils.getDayEnd(now)));
        List<CheckScore> dashboard = scoreMapper.dashboard(dashboardQuery);
        //初始化各个区县数据
        Map<String, Map<String, Object>> resultMap = new HashMap<>();