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.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.dto.EvaluateGroupDto; import com.yuanchu.mom.mapper.EvaluateLeaderMapper; import com.yuanchu.mom.mapper.EvaluateMapper; import com.yuanchu.mom.pojo.Evaluate; import com.yuanchu.mom.pojo.EvaluateCompetent; import com.yuanchu.mom.mapper.EvaluateCompetentMapper; import com.yuanchu.mom.pojo.EvaluateGroup; import com.yuanchu.mom.service.EvaluateCompetentService; 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; /** *

* 主管打分 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-06-17 01:39:36 */ @Service public class EvaluateCompetentServiceImpl extends ServiceImpl implements EvaluateCompetentService { @Resource EvaluateCompetentMapper evaluateCompetentMapper; @Resource EvaluateMapper evaluateMapper; @Override public List getEvaluateCompetent(EvaluateGroupDto evaluateGroupDto) { return evaluateCompetentMapper.getEvaluateCompetent(evaluateGroupDto.getMonth(), evaluateGroupDto.getDepartLims(), evaluateGroupDto.getName()); } @Override public Double writeEvaluateCompetent(EvaluateCompetent evaluateCompetent) { double newTotal = evaluateCompetent.getSkill() + evaluateCompetent.getCompliance() + evaluateCompetent.getPositive() + evaluateCompetent.getTidy() + evaluateCompetent.getDiscipline() + evaluateCompetent.getSolidarity() + evaluateCompetent.getProposal(); EvaluateCompetent evaluateCompetent1 = evaluateCompetentMapper.selectById(evaluateCompetent.getId()); Evaluate evaluate = evaluateMapper.selectById(evaluateCompetent.getEvaluateId()); evaluate.setScore(evaluate.getScore() - evaluateCompetent1.getTotal() * 0.5 + newTotal * 0.5); evaluateMapper.updateById(evaluate); evaluateCompetent.setTotal(newTotal); evaluateCompetentMapper.updateById(evaluateCompetent); return newTotal; } //导出 @Override public void export(String month, String name, String departLims, HttpServletResponse response) throws IOException { List evaluateCompetents = new ArrayList(); evaluateCompetents = evaluateCompetentMapper.getEvaluateCompetent(month, departLims, name); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("UTF-8"); // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 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(EvaluateCompetent.class).build(); excelWriter.write(evaluateCompetents, mainSheet); // 关闭流 excelWriter.finish(); } catch (IOException e) { throw new RuntimeException("导出失败"); } } }