From 6236b20da2e7f99f7d604bbe9c656c9f565fd379 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 09 七月 2024 09:23:46 +0800 Subject: [PATCH] 考试成绩排序 --- ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java | 81 +++++++++++++++++++++++++++++++++------- 1 files changed, 66 insertions(+), 15 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java index 21935bf..0cadd77 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java @@ -1,13 +1,24 @@ package com.ycl.platform.service.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.entity.CalculateRule; +import com.ycl.platform.domain.entity.TContract; +import com.ycl.platform.domain.vo.CalculateRuleCascaderVO; import com.ycl.platform.mapper.CalculateRuleMapper; +import com.ycl.platform.mapper.TContractMapper; import com.ycl.platform.service.ICalculateRuleService; +import com.ycl.system.domain.TreeUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import utils.DateUtils; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; /** @@ -17,10 +28,11 @@ * @date 2024-04-01 */ @Service -public class CalculateRuleServiceImpl extends ServiceImpl<CalculateRuleMapper, CalculateRule> implements ICalculateRuleService -{ +public class CalculateRuleServiceImpl extends ServiceImpl<CalculateRuleMapper, CalculateRule> implements ICalculateRuleService { @Autowired private CalculateRuleMapper calculateRuleMapper; + @Autowired + private TContractMapper contractMapper; /** * 鏌ヨ杩濈害瑙勫垯 @@ -29,9 +41,8 @@ * @return 杩濈害瑙勫垯 */ @Override - public CalculateRule selectDefaultRuleById(Long id) - { - return calculateRuleMapper.selectDefaultRuleById(id); + public CalculateRule selectDefaultRuleById(Long id) { + return calculateRuleMapper.selectById(id); } /** @@ -41,8 +52,7 @@ * @return 杩濈害瑙勫垯 */ @Override - public List<CalculateRule> selectDefaultRuleList(CalculateRule calculateRule) - { + public List<CalculateRule> selectDefaultRuleList(CalculateRule calculateRule) { return calculateRuleMapper.selectDefaultRuleList(calculateRule); } @@ -53,8 +63,7 @@ * @return 缁撴灉 */ @Override - public int insertDefaultRule(CalculateRule calculateRule) - { + public int insertDefaultRule(CalculateRule calculateRule) { calculateRule.setCreateTime(DateUtils.getNowDate()); return calculateRuleMapper.insertDefaultRule(calculateRule); } @@ -66,8 +75,7 @@ * @return 缁撴灉 */ @Override - public int updateDefaultRule(CalculateRule calculateRule) - { + public int updateDefaultRule(CalculateRule calculateRule) { calculateRule.setUpdateTime(DateUtils.getNowDate()); return calculateRuleMapper.updateDefaultRule(calculateRule); } @@ -79,8 +87,7 @@ * @return 缁撴灉 */ @Override - public int deleteDefaultRuleByIds(Long[] ids) - { + public int deleteDefaultRuleByIds(Long[] ids) { return calculateRuleMapper.deleteDefaultRuleByIds(ids); } @@ -91,8 +98,52 @@ * @return 缁撴灉 */ @Override - public int deleteDefaultRuleById(Long id) - { + public int deleteDefaultRuleById(Long id) { return calculateRuleMapper.deleteDefaultRuleById(id); } + + /** + * 鑾峰彇鍚堝悓Excel瑙勫垯 + * + * @param file 鍚堝悓Excel鏂囦欢 + * @return 瑙勫垯 + */ + + @Override + public List<CalculateRule> readExcel(MultipartFile file) { + List<CalculateRule> calculateRuleList = new ArrayList<>(); + try { + EasyExcel.read(file.getInputStream(), CalculateRule.class, new ReadListener<CalculateRule>() { + @Override + public void invoke(CalculateRule calculateRule, AnalysisContext analysisContext) { + calculateRule.setId(null); + calculateRuleList.add(calculateRule); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + } + + }) + .head(CalculateRule.class) + .sheet() + .doRead(); + } catch (IOException e) { + throw new RuntimeException(e); + } + return calculateRuleList; + } + + @Override + public List<CalculateRule> getRuleListByContractId(Integer contractId) { + List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper) + .eq(CalculateRule::getContractId, contractId) + .list(); + return TreeUtils.build(list, 0L); + } + + @Override + public List<CalculateRuleCascaderVO> getRuleListByUnitId(Integer unitId) { + return TreeUtils.build(calculateRuleMapper.getRuleListByUnitId(unitId, DateUtils.getDate()), 0L); + } } -- Gitblit v1.8.0