龚焕茏
2024-07-30 5ed3405a0156f76decc081c9f1d65d2f44f1ad8c
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -1,10 +1,12 @@
package com.ycl.platform.service.impl;
import annotation.DataScope;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.base.BaseSelect;
import com.ycl.platform.base.CheckIndex;
import com.ycl.platform.domain.dto.CheckScoreDTO;
import com.ycl.platform.domain.dto.CheckScoreIndexDTO;
import com.ycl.platform.domain.dto.ScoreIndexDTO;
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.vo.CheckScoreDetailVO;
import com.ycl.platform.mapper.CheckRuleMapper;
@@ -43,7 +45,7 @@
/**
 * 考核积分明细Service业务层处理
 *
 *
 * @author ruoyi
 * @date 2024-04-22
 */
@@ -68,12 +70,13 @@
    @Autowired
    private ISysDeptService deptService;
    /**
     * 查询考核积分
     *
     * 查询考核积分指标
     *
     * @param id 考核积分主键
     * @return 考核积分
     */
    @Override
    @DataScope(deptAlias = "d",userAlias = "u")
    public CheckScoreDetailVO selectCheckScoreById(CheckScoreIndexDTO checkScoreIndexDTO)
    {
        Long checkScoreId = checkScoreIndexDTO.getId();
@@ -104,7 +107,13 @@
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
            date = formatter.format(createTime);
        }
        List<Map> map = scoreMapper.selectScoreIndex(tableName,checkScore.getDeptId(),date);
        ScoreIndexDTO scoreIndexDTO = new ScoreIndexDTO()
                .setTableName(tableName)
                .setDeptId(checkScore.getDeptId())
                .setDate(date);
        scoreIndexDTO.setParams(checkScoreIndexDTO.getParams());
        List<Map> map = scoreMapper.selectScoreIndex(scoreIndexDTO);
        scoreMap.put("tableData",checkRules);
        scoreMap.put("dataMap",map);
@@ -117,14 +126,16 @@
    /**
     * 查询考核积分卡片列表
     *
     *
     * @param checkScore 考核积分
     * @return 考核积分
     */
    @Override
    @DataScope(deptAlias = "d",userAlias = "u")
    public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore checkScore)
    {
        //TODO:数据权限
        //区县只能看已发布
        roleControl(checkScore);
        //查询成绩
        String date = checkScore.getDate();
@@ -142,6 +153,8 @@
        Map<Long, List<CheckScore>> deptMap = checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
        return deptMap;
    }
    /**
     * 区县详情
     *
@@ -149,61 +162,13 @@
     * @return 考核积分
     */
    @Override
    @DataScope(deptAlias = "d",userAlias = "u")
    public List<CheckScore> page(CheckScore checkScore) {
        //TODO:数据权限
        //区县只能看已发布
        roleControl(checkScore);
        return scoreMapper.selectCheckScoreList(checkScore);
    }
    /**
     * 新增考核积分
     *
     * @param checkScore 考核积分
     * @return 结果
     */
    @Override
    public int insertCheckScore(CheckScore checkScore)
    {
        checkScore.setCreateTime(DateUtils.getNowDate());
        return scoreMapper.insertCheckScore(checkScore);
    }
    /**
     * 修改考核明细
     *
     * @param checkScore 考核积分明细
     * @return 结果
     */
    @Override
    public int updateCheckScore(CheckScore checkScore)
    {
        return scoreMapper.updateCheckScore(checkScore);
    }
    /**
     * 批量删除考核积分
     *
     * @param ids 需要删除的考核积分主键
     * @return 结果
     */
    @Override
    public int deleteCheckScoreByIds(Long[] ids)
    {
        return scoreMapper.deleteCheckScoreByIds(ids);
    }
    /**
     * 删除考核积分信息
     *
     * @param id 考核积分主键
     * @return 结果
     */
    @Override
    public int deleteCheckScoreById(Long id)
    {
        return scoreMapper.deleteCheckScoreById(id);
    }
    /**
     * 发布考核积分信息
     *
@@ -268,37 +233,65 @@
        ExcelUtilManySheet<List<ExcelExp>> util = new ExcelUtilManySheet<>(mysheet);
        util.exportExcelManySheet(response,mysheet);
        //导单sheet的方式
//        switch (CheckScoreType.fromValue(examineCategory)){
//            case CHECK_SCORE_TYPE_CAR:
//                //查车辆
//                List<CheckIndexCar> checkIndexCars = indexCarService.selectCheckIndexCarList(new CheckIndexCar());
//                export(response, depts, checkIndexCars,CheckIndexCar.class);
//                break;
//            case CHECK_SCORE_TYPE_FACE:
//                // 查人脸
//                List<CheckIndexFace> checkIndexFaces = indexFaceService.selectCheckIndexFaceList(new CheckIndexFace());
//                export(response, depts, checkIndexFaces,CheckIndexFace.class);
//                break;
//            case CHECK_SCORE_TYPE_VIDEO:
//                // 查视频
//                List<CheckIndexVideo> checkIndexVideos = indexVideoService.selectCheckIndexVideoList(new CheckIndexVideo());
//                export(response, depts, checkIndexVideos,CheckIndexVideo.class);
//                break;
//        }
    }
    private <T extends CheckIndex> void export(HttpServletResponse response, List<BaseSelect> depts, List<T> checkIndexes,Class<T> checkIndexClass) {
        //暂时没用,如果数据过大,在server层翻译,避免连表
        checkIndexes.forEach(checkIndex->{
            Optional<BaseSelect> first = depts.stream().filter(baseSelect -> checkIndex.getDeptId().equals(Long.valueOf(baseSelect.getId()+""))).findFirst();
            if(first.isPresent()){
                checkIndex.setDeptName(first.get().getValue());
            }
        });
        ExcelUtil<T> util = new ExcelUtil<T>(checkIndexClass);
        util.exportExcel(response, checkIndexes, "考核积分明细数据");
    private void roleControl(CheckScore checkScore) {
        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
        SysRole sysRole = roles.get(0);
        if("zg_province".equals(sysRole.getRoleKey())){
            Map<String, Object> params = checkScore.getParams();
            params.put("publish",PublishType.PUBLISHED.getCode());
        }
    }
    //    /**
//     * 新增考核积分
//     *
//     * @param checkScore 考核积分
//     * @return 结果
//     */
//    @Override
//    public int insertCheckScore(CheckScore checkScore)
//    {
//        checkScore.setCreateTime(DateUtils.getNowDate());
//        return scoreMapper.insertCheckScore(checkScore);
//    }
//
//    /**
//     * 修改考核明细
//     *
//     * @param checkScore 考核积分明细
//     * @return 结果
//     */
//    @Override
//    public int updateCheckScore(CheckScore checkScore)
//    {
//
//        return scoreMapper.updateCheckScore(checkScore);
//    }
//
//    /**
//     * 批量删除考核积分
//     *
//     * @param ids 需要删除的考核积分主键
//     * @return 结果
//     */
//    @Override
//    public int deleteCheckScoreByIds(Long[] ids)
//    {
//        return scoreMapper.deleteCheckScoreByIds(ids);
//    }
//
//    /**
//     * 删除考核积分信息
//     *
//     * @param id 考核积分主键
//     * @return 结果
//     */
//    @Override
//    public int deleteCheckScoreById(Long id)
//    {
//        return scoreMapper.deleteCheckScoreById(id);
//    }
}