From f31ae33e37895b9517ee6ace6bd703f4bbb47e81 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期日, 23 六月 2024 23:44:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateLeaderServiceImpl.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateLeaderServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateLeaderServiceImpl.java index 0ca74c5..d67a746 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateLeaderServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateLeaderServiceImpl.java @@ -1,10 +1,27 @@ package com.yuanchu.mom.service.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.yuanchu.mom.dto.EvaluateGroupDto; +import com.yuanchu.mom.mapper.EvaluateGroupMapper; +import com.yuanchu.mom.mapper.EvaluateMapper; +import com.yuanchu.mom.pojo.Evaluate; +import com.yuanchu.mom.pojo.EvaluateCompetent; +import com.yuanchu.mom.pojo.EvaluateGroup; import com.yuanchu.mom.pojo.EvaluateLeader; import com.yuanchu.mom.mapper.EvaluateLeaderMapper; import com.yuanchu.mom.service.EvaluateLeaderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; /** * <p> @@ -17,4 +34,48 @@ @Service public class EvaluateLeaderServiceImpl extends ServiceImpl<EvaluateLeaderMapper, EvaluateLeader> implements EvaluateLeaderService { + @Resource + EvaluateLeaderMapper evaluateLeaderMapper; + + @Resource + EvaluateMapper evaluateMapper; + + + @Override + public List<EvaluateLeader> getEvaluateLeader(EvaluateGroupDto evaluateGroupDto) { + return evaluateLeaderMapper.getEvaluateLeader(evaluateGroupDto.getMonth(), evaluateGroupDto.getDepartLims(), evaluateGroupDto.getName()); + } + + @Override + public Double writeEvaluateLeader(EvaluateLeader evaluateLeader) { + double newTotal = evaluateLeader.getSeasonable() + evaluateLeader.getExact() + evaluateLeader.getResponsibility() + evaluateLeader.getCompliance() + evaluateLeader.getPositive() + evaluateLeader.getSolidarity(); + EvaluateLeader evaluateLeader1 = evaluateLeaderMapper.selectById(evaluateLeader.getId()); + Evaluate evaluate = evaluateMapper.selectById(evaluateLeader.getEvaluateId()); + evaluate.setScore(evaluate.getScore() - evaluateLeader1.getTotal() * 0.3 + newTotal * 0.3); + evaluateMapper.updateById(evaluate); + evaluateLeader.setTotal(newTotal); + evaluateLeaderMapper.updateById(evaluateLeader); + return newTotal; + } + + @Override + public void export(String month, String name, String departLims, HttpServletResponse response) throws IOException { + List<EvaluateLeader> evaluateLeaders = new ArrayList<EvaluateLeader>(); + evaluateLeaders = evaluateLeaderMapper.getEvaluateLeader(month, departLims, name); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 + String fileName = URLEncoder.encode("缁勯暱鎵撳垎瀵煎嚭", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + try { + // 鏂板缓ExcelWriter + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + WriteSheet mainSheet = EasyExcel.writerSheet(0, "缁勯暱鎵撳垎瀵煎嚭").head(EvaluateLeader.class).build(); + excelWriter.write(evaluateLeaders, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } } -- Gitblit v1.9.3