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