From 224428e399b4f4d46ddf3f15b2bbf426fb922e2c Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 26 四月 2024 11:12:53 +0800 Subject: [PATCH] 考核结果指标详情页面 --- ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 157 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 130 insertions(+), 27 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java index 4f7c646..5bafbc6 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java @@ -1,66 +1,143 @@ package com.ycl.platform.service.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.platform.domain.dto.CheckScoreDTO; +import com.ycl.platform.domain.entity.CheckRule; import com.ycl.platform.domain.entity.CheckScore; +import com.ycl.platform.domain.entity.CheckTemplate; +import com.ycl.platform.domain.entity.CheckTemplateRule; +import com.ycl.platform.domain.vo.CheckScoreDetailVO; +import com.ycl.platform.mapper.CheckRuleMapper; import com.ycl.platform.mapper.CheckScoreMapper; +import com.ycl.platform.mapper.CheckTemplateMapper; +import com.ycl.platform.mapper.CheckTemplateRuleMapper; import com.ycl.platform.service.ICheckScoreService; +import com.ycl.system.entity.SysRole; +import com.ycl.utils.SecurityUtils; +import enumeration.general.PublishType; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import utils.DateUtils; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 鑰冩牳绉垎鏄庣粏Service涓氬姟灞傚鐞� * * @author ruoyi - * @date 2024-04-01 + * @date 2024-04-22 */ @Service -public class CheckScoreServiceImpl extends ServiceImpl<CheckScoreMapper, CheckScore> implements ICheckScoreService +@Slf4j +public class CheckScoreServiceImpl implements ICheckScoreService { @Autowired - private CheckScoreMapper checkScoreMapper; - + private CheckScoreMapper scoreMapper; + @Autowired + private CheckTemplateMapper templateMapper; + @Autowired + private CheckTemplateRuleMapper templateRuleMapper; + @Autowired + private CheckRuleMapper ruleMapper; /** - * 鏌ヨ鑰冩牳绉垎鏄庣粏 + * 鏌ヨ鑰冩牳绉垎 * - * @param id 鑰冩牳绉垎鏄庣粏涓婚敭 - * @return 鑰冩牳绉垎鏄庣粏 + * @param id 鑰冩牳绉垎涓婚敭 + * @return 鑰冩牳绉垎 */ @Override - public CheckScore selectCheckScoreById(Long id) + public CheckScoreDetailVO selectCheckScoreById(Long id) { - return checkScoreMapper.selectCheckScoreById(id); + CheckScoreDetailVO checkScoreDetailVO = new CheckScoreDetailVO(); + //鏍规嵁id璇诲彇score + CheckScore checkScore = scoreMapper.selectCheckScoreById(id); + //璇诲彇瑙勫垯浠ュ強鏉冮噸 + List<CheckTemplateRule> templateRuleList = templateRuleMapper.selectListByTemplateId(checkScore.getTemplateId()); + + //checkRules娣诲姞鑰冩牳瀵硅薄鍜岃�冩牳鏃堕棿 + List<CheckRule> checkRules = new ArrayList<>(); + CheckRule checkRule1 = new CheckRule(); + checkRule1.setRuleName("鑰冩牳鏃堕棿"); + checkRule1.setRuleIndex("create_time"); + CheckRule checkRule2 = new CheckRule(); + checkRule2.setRuleName("鑰冩牳瀵硅薄"); + checkRule2.setRuleIndex("deptId"); + //璇诲彇妯℃澘瀵瑰簲鎵�鏈夎鍒� + Map<String,Object> scoreMap = new HashMap<>(); + List<Integer> ruleIds = templateRuleList.stream().map(checkTemplateRule -> checkTemplateRule.getCheckRuleId()) + .collect(Collectors.toList()); + List<CheckRule> ruleIndex = ruleMapper.selectBatchIds(ruleIds); + +// checkRules.add(checkRule1); +// checkRules.add(checkRule2); + checkRules.addAll(ruleIndex); + //鏍规嵁examineCategory 璇诲彇涓嶅悓index琛� + Integer examineCategory = checkScore.getExamineCategory(); + String[] indexTableArr ={"t_check_index_car","t_check_index_face","t_check_index_video"}; + String tableName = indexTableArr[examineCategory]; + //TODO:鑾峰彇褰撳墠鏈堜唤 鏆傚畾 鍚庢湡鏀逛负鍓嶇浼� + LocalDate now = LocalDate.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); + String date = formatter.format(now); + List<Map> map = scoreMapper.selectScoreIndex(tableName,checkScore.getDeptId(),date); + + scoreMap.put("tableData",checkRules); + scoreMap.put("dataMap",map); + + checkScoreDetailVO.setCheckRuleList(templateRuleList); + checkScoreDetailVO.setScoreMap(scoreMap); + return checkScoreDetailVO; } + /** - * 鏌ヨ鑰冩牳绉垎鏄庣粏鍒楄〃 + * 鏌ヨ鑰冩牳绉垎鍗$墖鍒楄〃 * - * @param checkScore 鑰冩牳绉垎鏄庣粏 - * @return 鑰冩牳绉垎鏄庣粏 + * @param checkScore 鑰冩牳绉垎 + * @return 鑰冩牳绉垎 */ @Override - public List<CheckScore> selectCheckScoreList(CheckScore checkScore) + public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore checkScore) { - return checkScoreMapper.selectCheckScoreList(checkScore); - } + //TODO:鏁版嵁鏉冮檺 + //鏌ヨ鎴愮哗 + List<CheckScore> checkScores = scoreMapper.selectCheckScoreList(checkScore); + Map<Long, List<CheckScore>> deptMap = checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId)); + return deptMap; + } /** - * 鏂板鑰冩牳绉垎鏄庣粏 + * 鍖哄幙璇︽儏 + * + * @param checkScore 鑰冩牳绉垎 + * @return 鑰冩牳绉垎 + */ + @Override + public List<CheckScore> page(CheckScore checkScore) { + return scoreMapper.selectCheckScoreList(checkScore); + } + /** + * 鏂板鑰冩牳绉垎 * - * @param checkScore 鑰冩牳绉垎鏄庣粏 + * @param checkScore 鑰冩牳绉垎 * @return 缁撴灉 */ @Override public int insertCheckScore(CheckScore checkScore) { checkScore.setCreateTime(DateUtils.getNowDate()); - return checkScoreMapper.insertCheckScore(checkScore); + return scoreMapper.insertCheckScore(checkScore); } /** - * 淇敼鑰冩牳绉垎鏄庣粏 + * 淇敼鑰冩牳鏄庣粏 * * @param checkScore 鑰冩牳绉垎鏄庣粏 * @return 缁撴灉 @@ -68,30 +145,56 @@ @Override public int updateCheckScore(CheckScore checkScore) { - return checkScoreMapper.updateCheckScore(checkScore); + + return scoreMapper.updateCheckScore(checkScore); } /** - * 鎵归噺鍒犻櫎鑰冩牳绉垎鏄庣粏 + * 鎵归噺鍒犻櫎鑰冩牳绉垎 * - * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳绉垎鏄庣粏涓婚敭 + * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳绉垎涓婚敭 * @return 缁撴灉 */ @Override public int deleteCheckScoreByIds(Long[] ids) { - return checkScoreMapper.deleteCheckScoreByIds(ids); + return scoreMapper.deleteCheckScoreByIds(ids); } /** - * 鍒犻櫎鑰冩牳绉垎鏄庣粏淇℃伅 + * 鍒犻櫎鑰冩牳绉垎淇℃伅 * - * @param id 鑰冩牳绉垎鏄庣粏涓婚敭 + * @param id 鑰冩牳绉垎涓婚敭 * @return 缁撴灉 */ @Override public int deleteCheckScoreById(Long id) { - return checkScoreMapper.deleteCheckScoreById(id); + return scoreMapper.deleteCheckScoreById(id); } + /** + * 鍙戝竷鑰冩牳绉垎淇℃伅 + * + * @param checkScoreDTO 鑰冩牳绉垎 + * @return 缁撴灉 + */ + @Override + public int publishCheckScore(CheckScoreDTO checkScoreDTO) { + if(CollectionUtils.isEmpty(checkScoreDTO.getId())){ + return 0; + } + PublishType publishType = null; + try { + publishType = PublishType.valueOf(checkScoreDTO.getPublish()); + } catch (IllegalArgumentException e) { + log.error("鍙傛暟绫诲瀷涓嶅尮閰�"); + throw new IllegalArgumentException("鍙傛暟绫诲瀷涓嶅尮閰�"); + } + String code = publishType.getCode(); + checkScoreDTO.setPublish(code); + + return scoreMapper.publishCheckScore(checkScoreDTO); + } + + } -- Gitblit v1.8.0