From d7abd9ebd3adf6bd7adac595fd1c070568432acb Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 21 六月 2024 09:01:23 +0800
Subject: [PATCH] 人员考评

---
 performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateCompetentController.java         |   40 +++
 performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateLeaderServiceImpl.java         |   61 +++++
 performance-server/src/main/resources/mapper/EvaluateLeaderMapper.xml                                |   20 +
 performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateGroupServiceImpl.java          |   32 ++
 performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateServiceImpl.java               |   51 ++++
 performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateLeader.java                            |   20 +
 performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateMapper.java                          |    5 
 performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateGroupController.java             |   32 ++
 performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java          |    2 
 performance-server/src/main/java/com/yuanchu/mom/service/EvaluateService.java                        |    7 
 performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateGroupMapper.java                     |    6 
 performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateLeaderMapper.java                    |    4 
 performance-server/src/main/java/com/yuanchu/mom/service/EvaluateLeaderService.java                  |   16 +
 performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateCompetentServiceImpl.java      |   63 +++++
 performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateCompetentMapper.java                 |    4 
 performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml                                 |   49 +++-
 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java    |    4 
 performance-server/src/main/java/com/yuanchu/mom/service/EvaluateGroupService.java                   |   16 +
 performance-server/src/main/java/com/yuanchu/mom/service/EvaluateCompetentService.java               |   10 
 performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateController.java                  |   18 +
 performance-server/src/main/resources/mapper/EvaluateMapper.xml                                      |   36 ++
 performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateCompetent.java                         |   24 ++
 performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateLeaderController.java            |   39 +++
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java |   17 +
 performance-server/src/main/java/com/yuanchu/mom/dto/EvaluateGroupDto.java                           |   17 +
 performance-server/src/main/java/com/yuanchu/mom/pojo/Evaluate.java                                  |   20 +
 performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateGroup.java                             |    4 
 performance-server/src/main/resources/mapper/EvaluateCompetentMapper.xml                             |   21 +
 28 files changed, 593 insertions(+), 45 deletions(-)

diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java
index 8658998..7a3ef74 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java
@@ -39,7 +39,7 @@
     @ValueClassify("宸ユ椂绠$悊")
     @ApiOperation(value = "瀵煎嚭鍘熷宸ユ椂")
     @GetMapping("/exportOriginalHours")
-    public void exportOriginalHours(@RequestBody AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto,HttpServletResponse response) throws IOException {
-        auxiliaryOriginalHoursService.exportWorkingHours(auxiliaryOriginalHoursLookDto,response);
+    public void exportOriginalHours(@RequestParam("month") String month,  @RequestParam("name") String name,  @RequestParam("departLims") String departLims,HttpServletResponse response) throws IOException {
+        auxiliaryOriginalHoursService.exportWorkingHours(month,name,departLims,response);
     }
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateCompetentController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateCompetentController.java
index e1e453f..8651fbd 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateCompetentController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateCompetentController.java
@@ -1,8 +1,20 @@
 package com.yuanchu.mom.controller;
 
+import com.yuanchu.mom.annotation.ValueClassify;
+import com.yuanchu.mom.dto.EvaluateGroupDto;
+import com.yuanchu.mom.mapper.EvaluateCompetentMapper;
+import com.yuanchu.mom.pojo.EvaluateCompetent;
+import com.yuanchu.mom.pojo.EvaluateLeader;
+import com.yuanchu.mom.service.EvaluateCompetentService;
+import com.yuanchu.mom.service.EvaluateLeaderService;
+import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 
 /**
  * <p>
@@ -17,4 +29,28 @@
 @RequestMapping("/evaluateCompetent")
 public class EvaluateCompetentController {
 
+    @Resource
+    private EvaluateCompetentService evaluateCompetentService;
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value="鏌ヨ涓荤鎵撳垎")
+    @PostMapping("/getEvaluateCompetent")
+    public Result getEvaluateCompetent(@RequestBody EvaluateGroupDto evaluateGroupDto)  {
+        return Result.success(evaluateCompetentService.getEvaluateCompetent(evaluateGroupDto));
+    }
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value="濉啓涓荤鎵撳垎")
+    @PostMapping("/writeEvaluateCompetent")
+    public Result writeEvaluateCompetent(@RequestBody EvaluateCompetent evaluateCompetent)  {
+        return Result.success(evaluateCompetentService.writeEvaluateCompetent(evaluateCompetent));
+    }
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value = "瀵煎嚭涓荤鎵撳垎")
+    @GetMapping("/exportEvaluateCompetent")
+    public void exportEvaluateCompetent(@RequestParam("month") String month, @RequestParam("name") String name, @RequestParam("departLims") String departLims, HttpServletResponse response) throws IOException {
+        evaluateCompetentService.export(month, name, departLims, response);
+    }
+
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateController.java
index 49f76bb..b5814d4 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateController.java
@@ -9,12 +9,11 @@
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -35,12 +34,19 @@
     private EvaluateService evaluateService;
 
     @ValueClassify("浜哄憳鑰冭瘎")
-    @ApiOperation(value="鑰冭瘎鍒嗛〉鏌ヨ")
+    @ApiOperation(value = "鏌ヨ鑰冭瘎")
     @PostMapping("/page")
     public Result page(@RequestBody Map<String, Object> data) throws Exception {
         Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
         Evaluate entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Evaluate.class);
-        return Result.success(evaluateService.getPage(page,entity));
+        return Result.success(evaluateService.getPage(page, entity));
+    }
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value = "瀵煎嚭鑰冭瘎")
+    @GetMapping("/exportEvaluate")
+    public void exportEvaluate(@RequestParam("month") String month, @RequestParam("name") String name, @RequestParam("departLims") String departLims, HttpServletResponse response) throws IOException {
+        evaluateService.export(month, name, departLims, response);
     }
 
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateGroupController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateGroupController.java
index 4586c0c..4c095b4 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateGroupController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateGroupController.java
@@ -1,8 +1,22 @@
 package com.yuanchu.mom.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueClassify;
+import com.yuanchu.mom.dto.EvaluateGroupDto;
+import com.yuanchu.mom.pojo.Evaluate;
+import com.yuanchu.mom.pojo.EvaluateGroup;
+import com.yuanchu.mom.service.EvaluateGroupService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
 
 /**
  * <p>
@@ -17,4 +31,22 @@
 @RequestMapping("/evaluateGroup")
 public class EvaluateGroupController {
 
+
+    @Resource
+    private EvaluateGroupService evaluateGroupService;
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value="鏌ヨ鍛樺伐浜掕瘎")
+    @PostMapping("/getEvaluateGroup")
+    public Result getEvaluateGroup(@RequestBody EvaluateGroupDto evaluateGroupDto)  {
+        return Result.success(evaluateGroupService.getEvaluateGroup(evaluateGroupDto));
+    }
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value="濉啓鍛樺伐浜掕瘎")
+    @PostMapping("/writeEvaluateGroup")
+    public Result writeEvaluateGroup(@RequestBody EvaluateGroup evaluateGroup)  {
+        return Result.success(evaluateGroupService.writeEvaluateGroup(evaluateGroup));
+    }
+
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateLeaderController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateLeaderController.java
index 5b8abde..404fd22 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateLeaderController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/EvaluateLeaderController.java
@@ -1,8 +1,19 @@
 package com.yuanchu.mom.controller;
 
+import com.yuanchu.mom.annotation.ValueClassify;
+import com.yuanchu.mom.dto.EvaluateGroupDto;
+import com.yuanchu.mom.pojo.EvaluateGroup;
+import com.yuanchu.mom.pojo.EvaluateLeader;
+import com.yuanchu.mom.service.EvaluateGroupService;
+import com.yuanchu.mom.service.EvaluateLeaderService;
+import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 
 /**
  * <p>
@@ -17,4 +28,28 @@
 @RequestMapping("/evaluateLeader")
 public class EvaluateLeaderController {
 
+    @Resource
+    private EvaluateLeaderService evaluateLeaderService;
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value="鏌ヨ缁勯暱璇勫垎")
+    @PostMapping("/getEvaluateLeader")
+    public Result getEvaluateLeader(@RequestBody EvaluateGroupDto evaluateGroupDto)  {
+        return Result.success(evaluateLeaderService.getEvaluateLeader(evaluateGroupDto));
+    }
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value="濉啓缁勯暱璇勫垎")
+    @PostMapping("/writeEvaluateLeader")
+    public Result writeEvaluateLeader(@RequestBody EvaluateLeader evaluateLeader)  {
+        return Result.success(evaluateLeaderService.writeEvaluateLeader(evaluateLeader));
+    }
+
+    @ValueClassify("浜哄憳鑰冭瘎")
+    @ApiOperation(value = "瀵煎嚭缁勯暱鎵撳垎")
+    @GetMapping("/exportEvaluateLeader")
+    public void exportEvaluateLeader(@RequestParam("month") String month, @RequestParam("name") String name, @RequestParam("departLims") String departLims, HttpServletResponse response) throws IOException {
+        evaluateLeaderService.export(month, name, departLims, response);
+    }
+
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/dto/EvaluateGroupDto.java b/performance-server/src/main/java/com/yuanchu/mom/dto/EvaluateGroupDto.java
new file mode 100644
index 0000000..ff5acfb
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/dto/EvaluateGroupDto.java
@@ -0,0 +1,17 @@
+package com.yuanchu.mom.dto;
+
+import lombok.Data;
+
+@Data
+//鍛樺伐浜掕瘎鏌ヨ鏉′欢
+public class EvaluateGroupDto {
+
+    //鏈堜唤
+    private String month;
+
+    //瀹為獙瀹�
+    private String departLims;
+
+    //浜哄憳鍚嶇О
+    private String name;
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateCompetentMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateCompetentMapper.java
index 244d9a2..a884bf3 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateCompetentMapper.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateCompetentMapper.java
@@ -2,6 +2,9 @@
 
 import com.yuanchu.mom.pojo.EvaluateCompetent;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@
  */
 public interface EvaluateCompetentMapper extends BaseMapper<EvaluateCompetent> {
 
+    List<EvaluateCompetent> getEvaluateCompetent(@Param("month") String month, @Param("departLims") String departLims, @Param("name") String name);
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateGroupMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateGroupMapper.java
index 324a88d..bf132a6 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateGroupMapper.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateGroupMapper.java
@@ -1,7 +1,11 @@
 package com.yuanchu.mom.mapper;
 
+import com.yuanchu.mom.dto.EvaluateGroupDto;
 import com.yuanchu.mom.pojo.EvaluateGroup;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,6 @@
  */
 public interface EvaluateGroupMapper extends BaseMapper<EvaluateGroup> {
 
+
+    List<EvaluateGroup> getEvaluateGroup(@Param("month") String month, @Param("departLims") String departLims, @Param("name") String name);
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateLeaderMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateLeaderMapper.java
index b3c5739..26ba7fe 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateLeaderMapper.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateLeaderMapper.java
@@ -2,6 +2,9 @@
 
 import com.yuanchu.mom.pojo.EvaluateLeader;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@
  */
 public interface EvaluateLeaderMapper extends BaseMapper<EvaluateLeader> {
 
+    List<EvaluateLeader> getEvaluateLeader(@Param("month") String month, @Param("departLims") String departLims, @Param("name") String name);
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateMapper.java
index b9423a0..e5831be 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateMapper.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/EvaluateMapper.java
@@ -1,7 +1,11 @@
 package com.yuanchu.mom.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.pojo.Evaluate;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +17,5 @@
  */
 public interface EvaluateMapper extends BaseMapper<Evaluate> {
 
+    IPage<Evaluate> getPage(@Param("page") Page page, @Param("ew") QueryWrapper<Evaluate> ew);
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/Evaluate.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/Evaluate.java
index 8de043a..27031dd 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/Evaluate.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/Evaluate.java
@@ -1,5 +1,7 @@
 package com.yuanchu.mom.pojo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -28,51 +30,69 @@
 public class Evaluate extends OrderBy implements Serializable {
 
     @TableId(value = "id", type = IdType.AUTO)
+    @ExcelIgnore
     private Integer id;
 
     @ApiModelProperty("澶栭敭 鍏宠仈鐢ㄦ埛id")
+    @ExcelIgnore
     private Integer userId;
 
     @ValueTableShow(value = 1, name = "宸ュ彿")
     @TableField(exist = false,select = false)
+    @ExcelProperty(value = "宸ュ彿")
     private String account;
 
     @ValueTableShow(value = 2, name = "濮撳悕")
     @TableField(exist = false,select = false)
+    @ExcelProperty(value = "濮撳悕")
     private String name;
+
+    @TableField(exist = false,select = false)
+    //瀹為獙瀹�
+    private String departLims;
 
     @ValueTableShow(value = 3, name = "鍛樺伐浜掕瘎")
     @TableField(exist = false,select = false)
+    @ExcelProperty(value = "鍛樺伐浜掕瘎")
     private Double groupTotal;
 
     @ValueTableShow(value = 4, name = "缁勯暱璇勫垎")
     @TableField(exist = false,select = false)
+    @ExcelProperty(value = "鍛樺伐浜掕瘎")
     private Double leaderTotal;
 
     @ValueTableShow(value = 5, name = "涓荤璇勫垎")
     @TableField(exist = false,select = false)
+    @ExcelProperty(value = "涓荤璇勫垎")
     private Double competentTotal;
 
     @ApiModelProperty("鑰冭瘎寰楀垎")
     @ValueTableShow(6)
+    @ExcelProperty(value = "鑰冭瘎寰楀垎")
     private Double score;
 
     @ApiModelProperty("鑰冭瘎绛夌骇")
     @ValueTableShow(7)
+    @ExcelProperty(value = "鑰冭瘎绛夌骇")
     private String grade;
 
     @ApiModelProperty("鏈堜唤")
+    @ExcelIgnore
     private String month;
 
     @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
     private LocalDateTime createTime;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ExcelIgnore
     private LocalDateTime updateTime;
 
     @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
     private Integer createUser;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ExcelIgnore
     private Integer updateUser;
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateCompetent.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateCompetent.java
index 6b681ea..2fff441 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateCompetent.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateCompetent.java
@@ -1,10 +1,13 @@
 package com.yuanchu.mom.pojo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+
 import java.io.Serializable;
 import java.time.LocalDateTime;
 
@@ -31,56 +34,75 @@
 
 
     @TableId(value = "id", type = IdType.AUTO)
+    @ExcelIgnore
     private Integer id;
 
     @ApiModelProperty("澶栭敭 鍏宠仈浜哄憳鑰冭瘎琛╥d")
+    @ExcelIgnore
     private Integer evaluateId;
 
     @ValueTableShow(value = 1, name = "濮撳悕")
-    @TableField(exist = false,select = false)
+    @TableField(exist = false, select = false)
+    @ExcelProperty(value = "濮撳悕")
     private String name;
 
+    @TableField(exist = false,select = false)
+    //瀹為獙瀹�
+    private String departLims;
+
     @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
     private LocalDateTime createTime;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ExcelIgnore
     private LocalDateTime updateTime;
 
     @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
     private Integer createUser;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ExcelIgnore
     private Integer updateUser;
 
     @ApiModelProperty("鎶�鑳芥按骞�")
     @ValueTableShow(2)
+    @ExcelProperty(value = {"鎶�鑳芥按骞�", "20"})
     private Double skill;
 
     @ApiModelProperty("鏈嶄粠鍒嗗伐")
     @ValueTableShow(3)
+    @ExcelProperty(value = {"鏈嶄粠鍒嗗伐", "20"})
     private Double compliance;
 
     @ApiModelProperty("绉瀬鎬�")
     @ValueTableShow(4)
+    @ExcelProperty(value = {"绉瀬鎬�", "20"})
     private Double positive;
 
     @ApiModelProperty("5S-3瀹�")
     @ValueTableShow(5)
+    @ExcelProperty(value = {"5S-3瀹�", "10"})
     private Double tidy;
 
     @ApiModelProperty("瑙勭珷鍒跺害")
     @ValueTableShow(6)
+    @ExcelProperty(value = {"瑙勭珷鍒跺害", "10"})
     private Double discipline;
 
     @ApiModelProperty("鍥㈢粨鍗忎綔")
     @ValueTableShow(7)
+    @ExcelProperty(value = {"鍥㈢粨鍗忎綔", "10"})
     private Double solidarity;
 
     @ApiModelProperty("鎻愭绉垎")
     @ValueTableShow(8)
+    @ExcelProperty(value = {"鎻愭绉垎", "10"})
     private Double proposal;
 
     @ApiModelProperty("寰楀垎")
     @ValueTableShow(9)
+    @ExcelProperty(value = {"寰楀垎", "100"})
     private Double total;
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateGroup.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateGroup.java
index 6c672a8..2a17bc7 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateGroup.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateGroup.java
@@ -40,6 +40,10 @@
     @TableField(exist = false,select = false)
     private String name;
 
+    @TableField(exist = false,select = false)
+    //瀹為獙瀹�
+    private String departLims;
+
     @ApiModelProperty("鍙婃椂鎬�")
     @ValueTableShow(2)
     private Double seasonable;
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateLeader.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateLeader.java
index 7d278cc..8033803 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateLeader.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/EvaluateLeader.java
@@ -1,5 +1,7 @@
 package com.yuanchu.mom.pojo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -30,52 +32,70 @@
 public class EvaluateLeader extends OrderBy implements Serializable {
 
     @TableId(value = "id", type = IdType.AUTO)
+    @ExcelIgnore
     private Integer id;
 
     @ApiModelProperty("澶栭敭 鍏宠仈浜哄憳鑰冭瘎琛╥d")
+    @ExcelIgnore
     private Integer evaluateId;
 
     @ValueTableShow(value = 1, name = "濮撳悕")
     @TableField(exist = false,select = false)
+    @ExcelProperty(value = "濮撳悕")
     private String name;
 
+    @TableField(exist = false,select = false)
+    //瀹為獙瀹�
+    private String departLims;
+
     @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
     private LocalDateTime createTime;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ExcelIgnore
     private LocalDateTime updateTime;
 
     @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
     private Integer createUser;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ExcelIgnore
     private Integer updateUser;
 
     @ApiModelProperty("宸ヤ綔璐d换蹇�")
     @ValueTableShow(2)
+    @ExcelProperty(value = {"宸ヤ綔璐d换蹇�", "25"})
     private Double responsibility;
 
     @ApiModelProperty("鏈嶄粠鍒嗗伐")
     @ValueTableShow(3)
+    @ExcelProperty(value = {"鏈嶄粠鍒嗗伐", "25"})
     private Double compliance;
 
     @ApiModelProperty("绉瀬鎬�")
     @ValueTableShow(4)
+    @ExcelProperty(value = {"绉瀬鎬�", "20"})
     private Double positive;
 
     @ApiModelProperty("鍥㈢粨鍚屼簨")
     @ValueTableShow(5)
+    @ExcelProperty(value = {"鍥㈢粨鍚屼簨", "10"})
     private Double solidarity;
 
     @ApiModelProperty("鍙婃椂鎬�")
     @ValueTableShow(6)
+    @ExcelProperty(value = {"璇曢獙鍙婃椂鎬�", "10"})
     private Double seasonable;
 
     @ApiModelProperty("鍑嗙‘鎬�")
     @ValueTableShow(7)
+    @ExcelProperty(value = {"缁撴灉鍑嗙‘鎬�", "10"})
     private Double exact;
 
     @ApiModelProperty("寰楀垎")
     @ValueTableShow(8)
+    @ExcelProperty(value = {"寰楀垎", "100"})
     private Double total;
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java
index 9a6a477..439a93f 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java
@@ -17,5 +17,5 @@
      *
      * @param response
      */
-    void exportWorkingHours(AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto, HttpServletResponse response) throws IOException;
+    void exportWorkingHours(String month, String name, String departLims,HttpServletResponse response) throws IOException;
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateCompetentService.java b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateCompetentService.java
index 4a20cf4..0987b94 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateCompetentService.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateCompetentService.java
@@ -1,7 +1,12 @@
 package com.yuanchu.mom.service;
 
+import com.yuanchu.mom.dto.EvaluateGroupDto;
 import com.yuanchu.mom.pojo.EvaluateCompetent;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,9 @@
  */
 public interface EvaluateCompetentService extends IService<EvaluateCompetent> {
 
+    List<EvaluateCompetent> getEvaluateCompetent(EvaluateGroupDto evaluateGroupDto);
+
+    Double writeEvaluateCompetent(EvaluateCompetent evaluateCompetent);
+
+    void export(String month, String name, String departLims, HttpServletResponse response)throws IOException;
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateGroupService.java b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateGroupService.java
index f2f2cd1..25c6223 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateGroupService.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateGroupService.java
@@ -1,7 +1,10 @@
 package com.yuanchu.mom.service;
 
+import com.yuanchu.mom.dto.EvaluateGroupDto;
 import com.yuanchu.mom.pojo.EvaluateGroup;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,17 @@
  */
 public interface EvaluateGroupService extends IService<EvaluateGroup> {
 
+    /**
+     * 鏌ヨ鍛樺伐浜掕瘎
+     * @param evaluateGroupDto
+     * @return
+     */
+    List<EvaluateGroup> getEvaluateGroup(EvaluateGroupDto evaluateGroupDto);
+
+    /**
+     * 濉啓鍛樺伐浜掕瘎
+     * @param evaluateGroup
+     * @return
+     */
+    Double writeEvaluateGroup(EvaluateGroup evaluateGroup);
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateLeaderService.java b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateLeaderService.java
index c881cef..ac17bfb 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateLeaderService.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateLeaderService.java
@@ -1,7 +1,12 @@
 package com.yuanchu.mom.service;
 
+import com.yuanchu.mom.dto.EvaluateGroupDto;
 import com.yuanchu.mom.pojo.EvaluateLeader;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,15 @@
  */
 public interface EvaluateLeaderService extends IService<EvaluateLeader> {
 
+    /**
+     * 鏌ヨ缁勯暱璇勫垎
+     * @param evaluateGroupDto
+     * @return
+     */
+    List<EvaluateLeader> getEvaluateLeader(EvaluateGroupDto evaluateGroupDto);
+
+    Double writeEvaluateLeader(EvaluateLeader evaluateLeader);
+
+    void export(String month, String name, String departLims, HttpServletResponse response) throws IOException;
+
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateService.java b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateService.java
index b214969..7f72214 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateService.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/EvaluateService.java
@@ -4,6 +4,8 @@
 import com.yuanchu.mom.pojo.Evaluate;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -16,5 +18,8 @@
  */
 public interface EvaluateService extends IService<Evaluate> {
 
-    Map<String,Object> getPage(Page page, Evaluate entity);
+    Map<String, Object> getPage(Page page, Evaluate entity);
+
+
+    void export(String month, String name, String departLims, HttpServletResponse response) throws IOException;
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
index 89d187b..c09609b 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -57,7 +57,8 @@
     @Override
     public Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) {
         Map<String, Object> map = new HashMap<>();
-        List<Integer> ids = new ArrayList<>();  ;
+        List<Integer> ids = new ArrayList<>();
+        ;
         map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class));
         //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄�
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOriginalHours");
@@ -147,12 +148,22 @@
 
     //瀵煎嚭鍘熷宸ユ椂
     @Override
-    public void exportWorkingHours(AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto, HttpServletResponse response) throws IOException {
+    public void exportWorkingHours(String month, String name, String departLims, HttpServletResponse response) throws IOException {
         List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<AuxiliaryOriginalHoursDto>();
 
         //鏌ヨ鍘熷宸ユ椂(浣跨敤鍒嗛〉鏌ヨ)
+        AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto = new AuxiliaryOriginalHoursLookDto();
+        if (ObjectUtils.isNotEmpty(month)) {
+            auxiliaryOriginalHoursLookDto.setMonth(month);
+        }
+        if (ObjectUtils.isNotEmpty(name)) {
+            auxiliaryOriginalHoursLookDto.setName(name);
+        }
+        if (ObjectUtils.isNotEmpty(departLims)) {
+            auxiliaryOriginalHoursLookDto.setDepartLims(departLims);
+        }
         IPage<AuxiliaryOriginalHoursDto> body = (IPage<AuxiliaryOriginalHoursDto>) selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto).get("body");
-        auxiliaryOriginalHoursDtos=body.getRecords();
+        auxiliaryOriginalHoursDtos = body.getRecords();
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("UTF-8");
         // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateCompetentServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateCompetentServiceImpl.java
index a835915..8f88526 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateCompetentServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateCompetentServiceImpl.java
@@ -1,10 +1,29 @@
 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;
 
 /**
  * <p>
@@ -17,4 +36,48 @@
 @Service
 public class EvaluateCompetentServiceImpl extends ServiceImpl<EvaluateCompetentMapper, EvaluateCompetent> implements EvaluateCompetentService {
 
+    @Resource
+    EvaluateCompetentMapper evaluateCompetentMapper;
+
+    @Resource
+    EvaluateMapper evaluateMapper;
+
+    @Override
+    public List<EvaluateCompetent> 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() + newTotal);
+        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<EvaluateCompetent> evaluateCompetents = new ArrayList<EvaluateCompetent>();
+        evaluateCompetents = evaluateCompetentMapper.getEvaluateCompetent(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(EvaluateCompetent.class).build();
+            excelWriter.write(evaluateCompetents, mainSheet);
+            // 鍏抽棴娴�
+            excelWriter.finish();
+        } catch (IOException e) {
+            throw new RuntimeException("瀵煎嚭澶辫触");
+        }
+    }
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateGroupServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateGroupServiceImpl.java
index d16bc28..50d6ded 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateGroupServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateGroupServiceImpl.java
@@ -1,10 +1,18 @@
 package com.yuanchu.mom.service.impl;
 
+import com.yuanchu.mom.dto.EvaluateGroupDto;
+import com.yuanchu.mom.mapper.EvaluateCompetentMapper;
+import com.yuanchu.mom.mapper.EvaluateLeaderMapper;
+import com.yuanchu.mom.mapper.EvaluateMapper;
+import com.yuanchu.mom.pojo.Evaluate;
 import com.yuanchu.mom.pojo.EvaluateGroup;
 import com.yuanchu.mom.mapper.EvaluateGroupMapper;
 import com.yuanchu.mom.service.EvaluateGroupService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +25,28 @@
 @Service
 public class EvaluateGroupServiceImpl extends ServiceImpl<EvaluateGroupMapper, EvaluateGroup> implements EvaluateGroupService {
 
+    @Resource
+    EvaluateGroupMapper evaluateGroupMapper;
+
+    @Resource
+    EvaluateMapper evaluateMapper;
+
+    //鏌ヨ鍛樺伐浜掕瘎
+    @Override
+    public List<EvaluateGroup> getEvaluateGroup(EvaluateGroupDto evaluateGroupDto) {
+        return evaluateGroupMapper.getEvaluateGroup(evaluateGroupDto.getMonth(), evaluateGroupDto.getDepartLims(), evaluateGroupDto.getName());
+    }
+
+    //濉啓鍛樺伐浜掕瘎
+    @Override
+    public Double writeEvaluateGroup(EvaluateGroup evaluateGroup) {
+        double newTotal = evaluateGroup.getSeasonable() + evaluateGroup.getExact() + evaluateGroup.getSkill() + evaluateGroup.getPreserve() + evaluateGroup.getDiscipline() + evaluateGroup.getSolidarity() + evaluateGroup.getTidy();
+        EvaluateGroup evaluateGroup1 = evaluateGroupMapper.selectById(evaluateGroup.getId());
+        Evaluate evaluate = evaluateMapper.selectById(evaluateGroup.getEvaluateId());
+        evaluate.setScore(evaluate.getScore() - evaluateGroup1.getTotal() + newTotal);
+        evaluateMapper.updateById(evaluate);
+        evaluateGroup.setTotal(newTotal);
+        evaluateGroupMapper.updateById(evaluateGroup);
+        return newTotal;
+    }
 }
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..962d4d0 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() + newTotal);
+        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("瀵煎嚭澶辫触");
+        }
+    }
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateServiceImpl.java
index 6d9ec81..470fb51 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/EvaluateServiceImpl.java
@@ -1,8 +1,16 @@
 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.conditions.query.QueryWrapper;
+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.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto;
 import com.yuanchu.mom.pojo.Evaluate;
 import com.yuanchu.mom.mapper.EvaluateMapper;
 import com.yuanchu.mom.service.EvaluateService;
@@ -11,7 +19,12 @@
 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.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -36,8 +49,42 @@
         Map<String, Object> map = new HashMap<>();
         map.put("head", PrintChina.printChina(Evaluate.class));
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getPage");
-        if(map1.get("look")==1) evaluate.setCreateUser(map1.get("userId"));
-        //map.put("body", evaluateMapper.getPage(page, QueryWrappers.queryWrappers(evaluate)));
+        if (map1.get("look") == 1) evaluate.setCreateUser(map1.get("userId"));
+        map.put("body", evaluateMapper.getPage(page, QueryWrappers.queryWrappers(evaluate)));
         return map;
     }
+
+    //瀵煎嚭鑰冭瘎
+    @Override
+    public void export(String month, String name, String departLims, HttpServletResponse response) throws IOException {
+        List<Evaluate> evaluates = new ArrayList<Evaluate>();
+        //鏌ヨ鍘熷宸ユ椂(浣跨敤鍒嗛〉鏌ヨ)
+        Evaluate evaluate = new Evaluate();
+        if (ObjectUtils.isNotEmpty(month)) {
+            evaluate.setMonth(month);
+        }
+        if (ObjectUtils.isNotEmpty(name)) {
+            evaluate.setName(name);
+        }
+        if (ObjectUtils.isNotEmpty(departLims)) {
+            evaluate.setDepartLims(departLims);
+        }
+        IPage<Evaluate> body = (IPage<Evaluate>) getPage(new Page(-1, -1), evaluate).get("body");
+        evaluates = body.getRecords();
+        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(Evaluate.class).build();
+            excelWriter.write(evaluates, mainSheet);
+            // 鍏抽棴娴�
+            excelWriter.finish();
+        } catch (IOException e) {
+            throw new RuntimeException("瀵煎嚭澶辫触");
+        }
+    }
 }
diff --git a/performance-server/src/main/resources/mapper/EvaluateCompetentMapper.xml b/performance-server/src/main/resources/mapper/EvaluateCompetentMapper.xml
index 7d5b982..f1479a1 100644
--- a/performance-server/src/main/resources/mapper/EvaluateCompetentMapper.xml
+++ b/performance-server/src/main/resources/mapper/EvaluateCompetentMapper.xml
@@ -18,6 +18,25 @@
         <result column="solidarity" property="solidarity" />
         <result column="proposal" property="proposal" />
         <result column="total" property="total" />
+        <result column="name" property="name" />
+        <result column="depart_lims" property="departLims" />
     </resultMap>
-
+    <select id="getEvaluateCompetent" resultType="com.yuanchu.mom.pojo.EvaluateCompetent">
+        select ec.*,u.name,
+        dl.name depart_lims
+        from evaluate_competent ec
+        left join evaluate e on ec.evaluate_id = e.id
+        left join user u on e.user_id = u.id
+        left join department_lims dl on depart_lims_id like  dl.id
+        where 1=1
+        <if test="month!=null and month!=''">
+            and e.month=#{month}
+        </if>
+        <if test="departLims!=null and departLims!=''">
+            and dl.name like concat ('%',#{departLims},'%')
+        </if>
+        <if test="name!=null and name!=''">
+            and u.name like concat ('%',#{name},'%')
+        </if>
+    </select>
 </mapper>
diff --git a/performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml b/performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml
index 3f05f98..ec731cd 100644
--- a/performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml
+++ b/performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml
@@ -1,23 +1,40 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.EvaluateGroupMapper">
-
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.EvaluateGroup">
-        <id column="id" property="id" />
-        <result column="evaluate_id" property="evaluateId" />
-        <result column="seasonable" property="seasonable" />
-        <result column="exact" property="exact" />
-        <result column="skill" property="skill" />
-        <result column="preserve" property="preserve" />
-        <result column="discipline" property="discipline" />
-        <result column="solidarity" property="solidarity" />
-        <result column="tidy" property="tidy" />
-        <result column="total" property="total" />
-        <result column="create_time" property="createTime" />
-        <result column="update_time" property="updateTime" />
-        <result column="create_user" property="createUser" />
-        <result column="update_user" property="updateUser" />
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="depart_lims" property="departLims"/>
+        <result column="evaluate_id" property="evaluateId"/>
+        <result column="seasonable" property="seasonable"/>
+        <result column="exact" property="exact"/>
+        <result column="skill" property="skill"/>
+        <result column="preserve" property="preserve"/>
+        <result column="discipline" property="discipline"/>
+        <result column="solidarity" property="solidarity"/>
+        <result column="tidy" property="tidy"/>
+        <result column="total" property="total"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="create_user" property="createUser"/>
+        <result column="update_user" property="updateUser"/>
     </resultMap>
-
+    <select id="getEvaluateGroup" resultType="com.yuanchu.mom.pojo.EvaluateGroup">
+        select eg.*,u.name,dl.name depart_lims
+        from evaluate_group eg
+        left join evaluate e on eg.evaluate_id = e.id
+        left join user u on e.user_id = u.id
+        left join department_lims dl on depart_lims_id like  dl.id
+        where 1=1
+        <if test="month!=null and month!=''">
+            and e.month=#{month}
+        </if>
+        <if test="departLims!=null and departLims!=''">
+            and dl.name like concat ('%',#{departLims},'%')
+        </if>
+        <if test="name!=null and name!=''">
+            and u.name like concat ('%',#{name},'%')
+        </if>
+    </select>
 </mapper>
diff --git a/performance-server/src/main/resources/mapper/EvaluateLeaderMapper.xml b/performance-server/src/main/resources/mapper/EvaluateLeaderMapper.xml
index a5009fb..1bd8468 100644
--- a/performance-server/src/main/resources/mapper/EvaluateLeaderMapper.xml
+++ b/performance-server/src/main/resources/mapper/EvaluateLeaderMapper.xml
@@ -17,6 +17,24 @@
         <result column="seasonable" property="seasonable" />
         <result column="exact" property="exact" />
         <result column="total" property="total" />
+        <result column="name" property="name" />
+        <result column="depart_lims" property="departLims"/>
     </resultMap>
-
+    <select id="getEvaluateLeader" resultType="com.yuanchu.mom.pojo.EvaluateLeader">
+        select el.*,u.name,dl.name depart_lims
+        from evaluate_leader el
+        left join evaluate e on el.evaluate_id = e.id
+        left join user u on e.user_id = u.id
+        left join department_lims dl on depart_lims_id like  dl.id
+        where 1=1
+        <if test="month!=null and month!=''">
+            and e.month=#{month}
+        </if>
+        <if test="departLims!=null and departLims!=''">
+            and dl.name like concat ('%',#{departLims},'%')
+        </if>
+        <if test="name!=null and name!=''">
+            and u.name like concat ('%',#{name},'%')
+        </if>
+    </select>
 </mapper>
diff --git a/performance-server/src/main/resources/mapper/EvaluateMapper.xml b/performance-server/src/main/resources/mapper/EvaluateMapper.xml
index 126f445..c1914b3 100644
--- a/performance-server/src/main/resources/mapper/EvaluateMapper.xml
+++ b/performance-server/src/main/resources/mapper/EvaluateMapper.xml
@@ -1,14 +1,36 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.EvaluateMapper">
-
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.Evaluate">
-        <id column="id" property="id" />
-        <result column="user_id" property="userId" />
-        <result column="score" property="score" />
-        <result column="grade" property="grade" />
-        <result column="month" property="month" />
+        <id column="id" property="id"/>
+        <result column="user_id" property="userId"/>
+        <result column="account" property="account"/>
+        <result column="name" property="name"/>
+        <result column="depart_lims" property="departLims"/>
+        <result column="score" property="score"/>
+        <result column="grade" property="grade"/>
+        <result column="month" property="month"/>
+        <result column="competentTotal" property="competentTotal"/>
+        <result column="groupTotal" property="groupTotal"/>
+        <result column="leaderTotal" property="leaderTotal"/>
     </resultMap>
-
+    <select id="getPage" resultType="com.yuanchu.mom.pojo.Evaluate">
+        select  * from(select e.*,
+        account,
+        u.name name,
+        dl.name depart_lims,
+        ec.total competentTotal,
+        eg.total groupTotal,
+        el.total leaderTotal
+        from evaluate e
+        left join evaluate_competent ec on e.id = ec.evaluate_id
+        left join evaluate_group eg on e.id = eg.evaluate_id
+        left join evaluate_leader el on e.id = el.evaluate_id
+        left join user u on e.user_id = u.id
+        left join department_lims dl on depart_lims_id like dl.id ) A
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
 </mapper>

--
Gitblit v1.9.3