From ce3d6c415b1bc785635cd552203a99e22207d86d Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期一, 10 三月 2025 14:46:37 +0800
Subject: [PATCH] 绩效管理代码搬迁

---
 performance-server/src/main/java/com/ruoyi/performance/controller/EvaluateController.java            |   40 +
 cnas-process/src/main/java/com/ruoyi/process/service/EvaluateCompetentService.java                   |   18 
 cnas_server/pom.xml                                                                                  |   21 
 pom.xml                                                                                              |    1 
 cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateCompetentServiceImpl.java          |   78 +++
 performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java            |   14 
 cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateCompetentController.java             |   51 ++
 performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml                              |   34 +
 cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateLeaderController.java                |   51 ++
 performance-server/src/main/java/com/ruoyi/performance/mapper/EvaluateMapper.java                    |   13 
 performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java    |   14 
 performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateGroupServiceImpl.java    |   50 ++
 performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateServiceImpl.java         |   72 +++
 performance-server/src/main/java/com/ruoyi/performance/controller/ShiftTimeController.java           |    9 
 cnas-process/src/main/java/com/ruoyi/process/service/EvaluateLeaderService.java                      |   24 +
 performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml                                 |   40 +
 cnas-process/src/main/java/com/ruoyi/process/dto/EvaluateGroupDto.java                               |   17 
 cnas-process/src/main/resources/mapper/EvaluateCompetentMapper.xml                                   |   42 +
 performance-server/src/main/java/com/ruoyi/performance/pojo/EvaluateGroup.java                       |   75 +++
 cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateLeaderMapper.java                        |   20 
 cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateCompetent.java                             |   92 ++++
 performance-server/src/main/java/com/ruoyi/performance/service/EvaluateService.java                  |   18 
 cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateLeader.java                                |   87 +++
 cnas-process/src/main/resources/mapper/EvaluateLeaderMapper.xml                                      |   40 +
 performance-server/pom.xml                                                                           |    4 
 performance-server/src/main/resources/mapper/EvaluateMapper.xml                                      |   36 +
 performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java          |    4 
 cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateLeaderServiceImpl.java             |   78 +++
 performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java |   18 
 performance-server/src/main/java/com/ruoyi/performance/dto/EvaluateGroupDto.java                     |   17 
 performance-server/src/main/java/com/ruoyi/performance/service/EvaluateGroupService.java             |   24 +
 cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateCompetentMapper.java                     |   20 
 performance-server/src/main/java/com/ruoyi/performance/controller/EvaluateGroupController.java       |   44 ++
 performance-server/src/main/java/com/ruoyi/performance/mapper/EvaluateGroupMapper.java               |   21 
 performance-server/src/main/java/com/ruoyi/performance/pojo/Evaluate.java                            |   78 +++
 35 files changed, 1,241 insertions(+), 24 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateCompetentController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateCompetentController.java
new file mode 100644
index 0000000..6e66ecd
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateCompetentController.java
@@ -0,0 +1,51 @@
+package com.ruoyi.process.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.process.dto.EvaluateGroupDto;
+import com.ruoyi.process.pojo.EvaluateCompetent;
+import com.ruoyi.process.service.EvaluateCompetentService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * <p>
+ * 涓荤鎵撳垎 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:36
+ */
+@Api(tags = "缁╂晥绠$悊-浜哄憳鑰冭瘎")
+@RestController
+@RequestMapping("/evaluateCompetent")
+public class EvaluateCompetentController {
+
+    @Resource
+    private EvaluateCompetentService evaluateCompetentService;
+
+    @ApiOperation(value="鏌ヨ涓荤鎵撳垎")
+    @GetMapping("/getEvaluateCompetent")
+    @PreAuthorize("@ss.hasPermi('staffEvaluate:supervisorRate:list')")
+    public Result getEvaluateCompetent(EvaluateGroupDto evaluateGroupDto)  {
+        return Result.success(evaluateCompetentService.getEvaluateCompetent(evaluateGroupDto));
+    }
+
+    @ApiOperation(value="濉啓涓荤鎵撳垎")
+    @PostMapping("/writeEvaluateCompetent")
+    public Result writeEvaluateCompetent(@RequestBody EvaluateCompetent evaluateCompetent)  {
+        return Result.success(evaluateCompetentService.writeEvaluateCompetent(evaluateCompetent));
+    }
+
+    @ApiOperation(value = "瀵煎嚭涓荤鎵撳垎")
+    @PostMapping("/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/cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateLeaderController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateLeaderController.java
new file mode 100644
index 0000000..aa0e26c
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/controller/EvaluateLeaderController.java
@@ -0,0 +1,51 @@
+package com.ruoyi.process.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.process.dto.EvaluateGroupDto;
+import com.ruoyi.process.pojo.EvaluateLeader;
+import com.ruoyi.process.service.EvaluateLeaderService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * <p>
+ * 缁勯暱鎵撳垎 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:56
+ */
+@Api(tags = "缁╂晥绠$悊-浜哄憳鑰冭瘎")
+@RestController
+@RequestMapping("/evaluateLeader")
+public class EvaluateLeaderController {
+
+    @Resource
+    private EvaluateLeaderService evaluateLeaderService;
+
+    @ApiOperation(value="鏌ヨ缁勯暱璇勫垎")
+    @GetMapping("/getEvaluateLeader")
+    @PreAuthorize("@ss.hasPermi('staffEvaluate:leaderRate:list')")
+    public Result getEvaluateLeader( EvaluateGroupDto evaluateGroupDto)  {
+        return Result.success(evaluateLeaderService.getEvaluateLeader(evaluateGroupDto));
+    }
+
+    @ApiOperation(value="濉啓缁勯暱璇勫垎")
+    @PostMapping("/writeEvaluateLeader")
+    public Result writeEvaluateLeader(@RequestBody EvaluateLeader evaluateLeader)  {
+        return Result.success(evaluateLeaderService.writeEvaluateLeader(evaluateLeader));
+    }
+
+    @ApiOperation(value = "瀵煎嚭缁勯暱鎵撳垎")
+    @PostMapping("/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/cnas-process/src/main/java/com/ruoyi/process/dto/EvaluateGroupDto.java b/cnas-process/src/main/java/com/ruoyi/process/dto/EvaluateGroupDto.java
new file mode 100644
index 0000000..bd14c34
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/dto/EvaluateGroupDto.java
@@ -0,0 +1,17 @@
+package com.ruoyi.process.dto;
+
+import lombok.Data;
+
+@Data
+//鍛樺伐浜掕瘎鏌ヨ鏉′欢
+public class EvaluateGroupDto {
+
+    //鏈堜唤
+    private String month;
+
+    //瀹為獙瀹�
+    private String departLims;
+
+    //浜哄憳鍚嶇О
+    private String name;
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateCompetentMapper.java b/cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateCompetentMapper.java
new file mode 100644
index 0000000..0ec5590
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateCompetentMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.process.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.process.pojo.EvaluateCompetent;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 涓荤鎵撳垎 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:36
+ */
+public interface EvaluateCompetentMapper extends BaseMapper<EvaluateCompetent> {
+
+    List<EvaluateCompetent> getEvaluateCompetent(@Param("month") String month, @Param("departLims") String departLims, @Param("name") String name);
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateLeaderMapper.java b/cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateLeaderMapper.java
new file mode 100644
index 0000000..346780e
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/mapper/EvaluateLeaderMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.process.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.process.pojo.EvaluateLeader;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 缁勯暱鎵撳垎 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:56
+ */
+public interface EvaluateLeaderMapper extends BaseMapper<EvaluateLeader> {
+
+    List<EvaluateLeader> getEvaluateLeader(@Param("month") String month, @Param("departLims") String departLims, @Param("name") String name);
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateCompetent.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateCompetent.java
new file mode 100644
index 0000000..c3f4fa7
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateCompetent.java
@@ -0,0 +1,92 @@
+package com.ruoyi.process.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 涓荤鎵撳垎
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:36
+ */
+@Getter
+@Setter
+@TableName("evaluate_competent")
+@ApiModel(value = "EvaluateCompetent瀵硅薄", description = "涓荤鎵撳垎")
+public class EvaluateCompetent  {
+
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ExcelIgnore
+    private Integer id;
+
+    @ApiModelProperty("澶栭敭 鍏宠仈浜哄憳鑰冭瘎琛╥d")
+    @ExcelIgnore
+    private Integer evaluateId;
+
+    @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("鎶�鑳芥按骞�")
+    @ExcelProperty(value = {"鎶�鑳芥按骞�", "20"})
+    private Double skill;
+
+    @ApiModelProperty("鏈嶄粠鍒嗗伐")
+    @ExcelProperty(value = {"鏈嶄粠鍒嗗伐", "20"})
+    private Double compliance;
+
+    @ApiModelProperty("绉瀬鎬�")
+    @ExcelProperty(value = {"绉瀬鎬�", "20"})
+    private Double positive;
+
+    @ApiModelProperty("5S-3瀹�")
+    @ExcelProperty(value = {"5S-3瀹�", "10"})
+    private Double tidy;
+
+    @ApiModelProperty("瑙勭珷鍒跺害")
+    @ExcelProperty(value = {"瑙勭珷鍒跺害", "10"})
+    private Double discipline;
+
+    @ApiModelProperty("鍥㈢粨鍗忎綔")
+    @ExcelProperty(value = {"鍥㈢粨鍗忎綔", "10"})
+    private Double solidarity;
+
+    @ApiModelProperty("鎻愭绉垎")
+    @ExcelProperty(value = {"鎻愭绉垎", "10"})
+    private Double proposal;
+
+    @ApiModelProperty("寰楀垎")
+    @ExcelProperty(value = {"寰楀垎", "100"})
+    private Double total;
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateLeader.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateLeader.java
new file mode 100644
index 0000000..b9ea1c3
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/pojo/EvaluateLeader.java
@@ -0,0 +1,87 @@
+package com.ruoyi.process.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 缁勯暱鎵撳垎
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:56
+ */
+@Getter
+@Setter
+@TableName("evaluate_leader")
+@ApiModel(value = "EvaluateLeader瀵硅薄", description = "缁勯暱鎵撳垎")
+public class EvaluateLeader {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ExcelIgnore
+    private Integer id;
+
+    @ApiModelProperty("澶栭敭 鍏宠仈浜哄憳鑰冭瘎琛╥d")
+    @ExcelIgnore
+    private Integer evaluateId;
+
+    @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换蹇�")
+    @ExcelProperty(value = {"宸ヤ綔璐d换蹇�", "25"})
+    private Double responsibility;
+
+    @ApiModelProperty("鏈嶄粠鍒嗗伐")
+    @ExcelProperty(value = {"鏈嶄粠鍒嗗伐", "25"})
+    private Double compliance;
+
+    @ApiModelProperty("绉瀬鎬�")
+    @ExcelProperty(value = {"绉瀬鎬�", "20"})
+    private Double positive;
+
+    @ApiModelProperty("鍥㈢粨鍚屼簨")
+    @ExcelProperty(value = {"鍥㈢粨鍚屼簨", "10"})
+    private Double solidarity;
+
+    @ApiModelProperty("鍙婃椂鎬�")
+    @ExcelProperty(value = {"璇曢獙鍙婃椂鎬�", "10"})
+    private Double seasonable;
+
+    @ApiModelProperty("鍑嗙‘鎬�")
+    @ExcelProperty(value = {"缁撴灉鍑嗙‘鎬�", "10"})
+    private Double exact;
+
+    @ApiModelProperty("寰楀垎")
+    @ExcelProperty(value = {"寰楀垎", "100"})
+    private Double total;
+}
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/EvaluateCompetentService.java b/cnas-process/src/main/java/com/ruoyi/process/service/EvaluateCompetentService.java
new file mode 100644
index 0000000..6d6eff0
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/EvaluateCompetentService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.process.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.process.dto.EvaluateGroupDto;
+import com.ruoyi.process.pojo.EvaluateCompetent;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+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/cnas-process/src/main/java/com/ruoyi/process/service/EvaluateLeaderService.java b/cnas-process/src/main/java/com/ruoyi/process/service/EvaluateLeaderService.java
new file mode 100644
index 0000000..eaf1897
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/EvaluateLeaderService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.process.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.process.dto.EvaluateGroupDto;
+import com.ruoyi.process.pojo.EvaluateLeader;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+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/cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateCompetentServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateCompetentServiceImpl.java
new file mode 100644
index 0000000..a49eef0
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateCompetentServiceImpl.java
@@ -0,0 +1,78 @@
+package com.ruoyi.process.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.extension.service.impl.ServiceImpl;
+import com.ruoyi.performance.mapper.EvaluateMapper;
+import com.ruoyi.performance.pojo.Evaluate;
+import com.ruoyi.process.dto.EvaluateGroupDto;
+import com.ruoyi.process.mapper.EvaluateCompetentMapper;
+import com.ruoyi.process.pojo.EvaluateCompetent;
+import com.ruoyi.process.service.EvaluateCompetentService;
+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>
+ * 涓荤鎵撳垎 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:36
+ */
+@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() * 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<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/cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateLeaderServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateLeaderServiceImpl.java
new file mode 100644
index 0000000..0530c49
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/EvaluateLeaderServiceImpl.java
@@ -0,0 +1,78 @@
+package com.ruoyi.process.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.extension.service.impl.ServiceImpl;
+import com.ruoyi.performance.mapper.EvaluateMapper;
+import com.ruoyi.performance.pojo.Evaluate;
+import com.ruoyi.process.dto.EvaluateGroupDto;
+import com.ruoyi.process.mapper.EvaluateLeaderMapper;
+import com.ruoyi.process.pojo.EvaluateLeader;
+import com.ruoyi.process.service.EvaluateLeaderService;
+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>
+ * 缁勯暱鎵撳垎 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:56
+ */
+@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("瀵煎嚭澶辫触");
+        }
+    }
+}
diff --git a/cnas-process/src/main/resources/mapper/EvaluateCompetentMapper.xml b/cnas-process/src/main/resources/mapper/EvaluateCompetentMapper.xml
new file mode 100644
index 0000000..49b70f2
--- /dev/null
+++ b/cnas-process/src/main/resources/mapper/EvaluateCompetentMapper.xml
@@ -0,0 +1,42 @@
+<?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.ruoyi.process.mapper.EvaluateCompetentMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.process.pojo.EvaluateCompetent">
+        <id column="id" property="id" />
+        <result column="evaluate_id" property="evaluateId" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_user" property="updateUser" />
+        <result column="skill" property="skill" />
+        <result column="compliance" property="compliance" />
+        <result column="positive" property="positive" />
+        <result column="tidy" property="tidy" />
+        <result column="discipline" property="discipline" />
+        <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.ruoyi.process.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 FIND_IN_SET(dl.id, depart_lims_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/cnas-process/src/main/resources/mapper/EvaluateLeaderMapper.xml b/cnas-process/src/main/resources/mapper/EvaluateLeaderMapper.xml
new file mode 100644
index 0000000..e9f40cf
--- /dev/null
+++ b/cnas-process/src/main/resources/mapper/EvaluateLeaderMapper.xml
@@ -0,0 +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.ruoyi.process.mapper.EvaluateLeaderMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.process.pojo.EvaluateLeader">
+        <id column="id" property="id" />
+        <result column="evaluate_id" property="evaluateId" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_user" property="updateUser" />
+        <result column="responsibility" property="responsibility" />
+        <result column="compliance" property="compliance" />
+        <result column="positive" property="positive" />
+        <result column="solidarity" property="solidarity" />
+        <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.ruoyi.process.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 FIND_IN_SET(dl.id, depart_lims_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/cnas_server/pom.xml b/cnas_server/pom.xml
new file mode 100644
index 0000000..8f03484
--- /dev/null
+++ b/cnas_server/pom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.ruoyi</groupId>
+        <artifactId>ruoyi</artifactId>
+        <version>3.8.9</version>
+    </parent>
+
+    <groupId>com.ruoui</groupId>
+    <artifactId>cnas_server</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>
diff --git a/performance-server/pom.xml b/performance-server/pom.xml
index 12db53e..5952619 100644
--- a/performance-server/pom.xml
+++ b/performance-server/pom.xml
@@ -24,6 +24,10 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-system</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>basic-server</artifactId>
+        </dependency>
     </dependencies>
 
     <properties>
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/EvaluateController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/EvaluateController.java
new file mode 100644
index 0000000..3155ad6
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/EvaluateController.java
@@ -0,0 +1,40 @@
+package com.ruoyi.performance.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.JackSonUtil;
+import com.ruoyi.performance.pojo.Evaluate;
+import com.ruoyi.performance.service.EvaluateService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Map;
+
+@Api(tags = "缁╂晥绠$悊-浜哄憳鑰冭瘎")
+@RestController
+@RequestMapping("/evaluate")
+public class EvaluateController {
+
+
+    @Resource
+    private EvaluateService evaluateService;
+
+    @ApiOperation(value = "鏌ヨ鑰冭瘎")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPermi('staffEvaluate:evaluation:list')")
+    public Result page(Page page , Evaluate evaluate) throws Exception {
+        return Result.success(evaluateService.getPage(page, evaluate));
+    }
+
+    @ApiOperation(value = "瀵煎嚭鑰冭瘎")
+    @PostMapping("/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/ruoyi/performance/controller/EvaluateGroupController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/EvaluateGroupController.java
new file mode 100644
index 0000000..38514b6
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/EvaluateGroupController.java
@@ -0,0 +1,44 @@
+package com.ruoyi.performance.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.performance.dto.EvaluateGroupDto;
+import com.ruoyi.performance.pojo.EvaluateGroup;
+import com.ruoyi.performance.service.EvaluateGroupService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 鍛樺伐浜掕瘎琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:45
+ */
+@Api(tags = "缁╂晥绠$悊-浜哄憳鑰冭瘎")
+@RestController
+@RequestMapping("/evaluateGroup")
+public class EvaluateGroupController {
+
+
+    @Resource
+    private EvaluateGroupService evaluateGroupService;
+
+    @ApiOperation(value="鏌ヨ鍛樺伐浜掕瘎")
+    @GetMapping("/getEvaluateGroup")
+    @PreAuthorize("@ss.hasPermi('staffEvaluate:employeeMutualEvaluation:list')")
+    public Result getEvaluateGroup(EvaluateGroupDto evaluateGroupDto)  {
+        return Result.success(evaluateGroupService.getEvaluateGroup(evaluateGroupDto));
+    }
+
+    @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/ruoyi/performance/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
index ecdabdb..e7b2064 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -15,6 +15,7 @@
 import com.ruoyi.system.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -63,13 +64,13 @@
     }
 
     @ApiOperation(value = "鏈堜唤鍒嗛〉鏌ヨ")
-    @PostMapping("page")
-    public Result<?> performanceShiftPage(Integer size, Integer current, String time, String userName, String laboratory) {
+    @GetMapping("page")
+    public Result<?> performanceShiftPage(@Param("size") Integer size,@Param("current") Integer current,@Param("time") String time,@Param("userName") String userName,@Param("laboratory") String laboratory) {
         return Result.success(performanceShiftService.performanceShiftPage(new Page<>(current, size), time, userName, laboratory));
     }
 
     @ApiOperation(value = "骞翠唤鍒嗛〉鏌ヨ")
-    @PostMapping("pageYear")
+    @GetMapping("pageYear")
     public Result<?> performanceShiftPageYear(Integer size, Integer current, String time, String userName, String laboratory) {
         return Result.success(performanceShiftService.performanceShiftPageYear(new Page<>(current, size), time, userName, laboratory));
     }
@@ -111,6 +112,13 @@
         }
     }
 
+    @ApiOperation("鐝:鏌ヨ浜哄憳鍒楄〃")
+    @GetMapping("/getUserList")
+    public Result<?> getUserList(){
+        return Result.success(performanceShiftService.getUserList());
+    }
+
+
     @ApiOperation(value = "涓存椂鎺ュ彛-娣诲姞7鏈堜唤8鏈堜唤鐨勬暟鎹�")
     @GetMapping("temporaryInterface")
     public void temporaryInterface() {
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/ShiftTimeController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/ShiftTimeController.java
index 96364e1..6286cd5 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/ShiftTimeController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/ShiftTimeController.java
@@ -6,10 +6,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-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.*;
 
 /**
  * <p>
@@ -35,13 +32,13 @@
     }
 
     @ApiOperation(value = "鎺掔彮鏃堕棿閰嶇疆鏌ヨ")
-    @PostMapping("list")
+    @GetMapping("list")
     public Result<?> shiftTimeList() {
         return Result.success(shiftTimeService.shiftTimeList());
     }
 
     @ApiOperation(value = "鎺掔彮鏃堕棿閰嶇疆鍒犻櫎")
-    @PostMapping("remove")
+    @DeleteMapping("remove")
     public Result<?> shiftTimeRemove(Long id) {
         return Result.success(shiftTimeService.removeById(id));
     }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/dto/EvaluateGroupDto.java b/performance-server/src/main/java/com/ruoyi/performance/dto/EvaluateGroupDto.java
new file mode 100644
index 0000000..75a48b4
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/dto/EvaluateGroupDto.java
@@ -0,0 +1,17 @@
+package com.ruoyi.performance.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/ruoyi/performance/mapper/EvaluateGroupMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/EvaluateGroupMapper.java
new file mode 100644
index 0000000..b6eebaa
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/EvaluateGroupMapper.java
@@ -0,0 +1,21 @@
+package com.ruoyi.performance.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.performance.pojo.EvaluateGroup;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鍛樺伐浜掕瘎琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:45
+ */
+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/ruoyi/performance/mapper/EvaluateMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/EvaluateMapper.java
new file mode 100644
index 0000000..ec80a4f
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/EvaluateMapper.java
@@ -0,0 +1,13 @@
+package com.ruoyi.performance.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.performance.pojo.Evaluate;
+import org.apache.ibatis.annotations.Param;
+
+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/ruoyi/performance/mapper/PerformanceShiftMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java
index 091ad29..0ce3fd7 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java
@@ -5,7 +5,7 @@
 import com.ruoyi.framework.mybatis_config.MyBaseMapper;
 import com.ruoyi.performance.dto.PerformanceShiftMapDto;
 import com.ruoyi.performance.pojo.PerformanceShift;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -21,7 +21,7 @@
 public interface PerformanceShiftMapper extends MyBaseMapper<PerformanceShift> {
 
     IPage<PerformanceShiftMapDto> performanceShiftPage(
-            Page<Object> page,
+            @Param("page") Page<Object> page,
             @Param("time") String time,
             @Param("userName") String userName,
             @Param("laboratory") String laboratory
@@ -31,11 +31,15 @@
                                                        @Param("userName") String userName,
                                                        @Param("laboratory") String laboratory);
 
-    IPage<Map<String, Object>> performanceShiftYear(Page<Object> page, String time, String userName, String laboratory);
+    IPage<Map<String, Object>> performanceShiftYear(Page<Object> page,@Param("time") String time,@Param("userName") String userName,@Param("laboratory") String laboratory);
 
-    List<Map<String, Object>> performanceShiftYearList(String time, String userName, String laboratory);
+    List<Map<String, Object>> performanceShiftYearList(@Param("time") String time,@Param("userName") String userName,@Param("laboratory") String laboratory);
 
-    List<PerformanceShiftMapDto> performanceShiftList(String time, String userName, String laboratory);
+    List<PerformanceShiftMapDto> performanceShiftList(@Param("time") String time, @Param("userName") String userName,@Param("laboratory") String laboratory);
 
     String seldepLimsId(int depLimsId);
+
+    String selectLaboratory(Integer laboratoryId);
+
+    List<Map<String,Object>> findUserList();
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/pojo/Evaluate.java b/performance-server/src/main/java/com/ruoyi/performance/pojo/Evaluate.java
new file mode 100644
index 0000000..235615f
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/pojo/Evaluate.java
@@ -0,0 +1,78 @@
+package com.ruoyi.performance.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ApiModel(value = "Evaluate瀵硅薄", description = "浜哄憳鑰冭瘎")
+public class Evaluate {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ExcelIgnore
+    private Integer id;
+
+    @ApiModelProperty("澶栭敭 鍏宠仈鐢ㄦ埛id")
+    @ExcelIgnore
+    private Integer userId;
+
+    @TableField(exist = false,select = false)
+    @ExcelProperty(value = "宸ュ彿")
+    private String account;
+
+    @TableField(exist = false,select = false)
+    @ExcelProperty(value = "濮撳悕")
+    private String name;
+
+    @TableField(exist = false,select = false)
+    //瀹為獙瀹�
+    private String departLims;
+
+    @TableField(exist = false,select = false)
+    @ExcelProperty(value = "鍛樺伐浜掕瘎")
+    private Double groupTotal;
+
+    @TableField(exist = false,select = false)
+    @ExcelProperty(value = "鍛樺伐浜掕瘎")
+    private Double leaderTotal;
+
+    @TableField(exist = false,select = false)
+    @ExcelProperty(value = "涓荤璇勫垎")
+    private Double competentTotal;
+
+    @ApiModelProperty("鑰冭瘎寰楀垎")
+    @ExcelProperty(value = "鑰冭瘎寰楀垎")
+    private Double score;
+
+    @ApiModelProperty("鑰冭瘎绛夌骇")
+    @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/ruoyi/performance/pojo/EvaluateGroup.java b/performance-server/src/main/java/com/ruoyi/performance/pojo/EvaluateGroup.java
new file mode 100644
index 0000000..84b1d6c
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/pojo/EvaluateGroup.java
@@ -0,0 +1,75 @@
+package com.ruoyi.performance.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鍛樺伐浜掕瘎琛�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:45
+ */
+@Getter
+@Setter
+@TableName("evaluate_group")
+@ApiModel(value = "EvaluateGroup瀵硅薄", description = "鍛樺伐浜掕瘎琛�")
+public class EvaluateGroup {
+
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("澶栭敭 鍏宠仈浜哄憳鑰冭瘎琛╥d")
+    private Integer evaluateId;
+
+    @TableField(exist = false,select = false)
+    private String name;
+
+    @TableField(exist = false,select = false)
+    //瀹為獙瀹�
+    private String departLims;
+
+    @ApiModelProperty("鍙婃椂鎬�")
+    private Double seasonable;
+
+    @ApiModelProperty("鍑嗙‘鎬�")
+    private Double exact;
+
+    @ApiModelProperty("鎿嶄綔鎶�鑳�")
+    private Double skill;
+
+    @ApiModelProperty("璁惧缁存姢")
+    private Double preserve;
+
+    @ApiModelProperty("閬电珷瀹堢邯")
+    private Double discipline;
+
+    @ApiModelProperty("鍥㈢粨鍗忎綔")
+    private Double solidarity;
+
+    @ApiModelProperty("5S-3瀹�")
+    private Double tidy;
+
+    @ApiModelProperty("寰楀垎")
+    private Double total;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/EvaluateGroupService.java b/performance-server/src/main/java/com/ruoyi/performance/service/EvaluateGroupService.java
new file mode 100644
index 0000000..db1a94c
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/EvaluateGroupService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.performance.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.performance.dto.EvaluateGroupDto;
+import com.ruoyi.performance.pojo.EvaluateGroup;
+
+import java.util.List;
+
+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/ruoyi/performance/service/EvaluateService.java b/performance-server/src/main/java/com/ruoyi/performance/service/EvaluateService.java
new file mode 100644
index 0000000..77189fd
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/EvaluateService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.performance.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.performance.pojo.Evaluate;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Map;
+
+public interface EvaluateService extends IService<Evaluate> {
+
+    IPage<Evaluate> 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/ruoyi/performance/service/PerformanceShiftService.java b/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
index dce8d3a..ae925b9 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
@@ -6,6 +6,7 @@
 import com.ruoyi.performance.dto.PerformanceShiftAddDto;
 import com.ruoyi.performance.pojo.PerformanceShift;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -29,4 +30,7 @@
     Map<Object, Object> exportToYearExcel(String time, String userName, String laboratory) throws Exception;
 
     Map<Object, Object> exportToMonthExcel(String time, String userName, String laboratory);
+
+    Map<String, List<Map<String,Object>>> getUserList();
+
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateGroupServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateGroupServiceImpl.java
new file mode 100644
index 0000000..da5fb02
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateGroupServiceImpl.java
@@ -0,0 +1,50 @@
+package com.ruoyi.performance.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.performance.dto.EvaluateGroupDto;
+import com.ruoyi.performance.mapper.EvaluateGroupMapper;
+import com.ruoyi.performance.mapper.EvaluateMapper;
+import com.ruoyi.performance.pojo.Evaluate;
+import com.ruoyi.performance.pojo.EvaluateGroup;
+import com.ruoyi.performance.service.EvaluateGroupService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 鍛樺伐浜掕瘎琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-06-17 01:39:45
+ */
+@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()*0.2 + newTotal*0.2);
+        evaluateMapper.updateById(evaluate);
+        evaluateGroup.setTotal(newTotal);
+        evaluateGroupMapper.updateById(evaluateGroup);
+        return newTotal;
+    }
+}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateServiceImpl.java
new file mode 100644
index 0000000..636b574
--- /dev/null
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/EvaluateServiceImpl.java
@@ -0,0 +1,72 @@
+package com.ruoyi.performance.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.performance.mapper.EvaluateMapper;
+import com.ruoyi.performance.pojo.Evaluate;
+import com.ruoyi.performance.service.EvaluateService;
+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;
+
+@Service
+public class EvaluateServiceImpl extends ServiceImpl<EvaluateMapper, Evaluate> implements EvaluateService {
+
+    @Resource
+    EvaluateMapper evaluateMapper;
+
+
+
+    @Override
+    public IPage<Evaluate> getPage(Page page, Evaluate evaluate) {
+        return evaluateMapper.getPage(page, QueryWrappers.queryWrappers(evaluate));
+    }
+
+    //瀵煎嚭鑰冭瘎
+    @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);
+        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/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
index 966317f..5e889d8 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.core.domain.entity.User;
 import com.ruoyi.common.utils.JackSonUtil;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.performance.dto.PerformanceShiftAddDto;
 import com.ruoyi.performance.dto.PerformanceShiftMapDto;
 import com.ruoyi.performance.mapper.PerformanceShiftMapper;
@@ -30,6 +31,7 @@
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -47,6 +49,7 @@
 
     @Autowired
     UserMapper userMapper;
+
 
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -133,6 +136,10 @@
 
     @Override
     public Map<String, Object> performanceShiftPage(Page<Object> page, String time, String userName, String laboratory) {
+        String laboratoryName = "";
+        if(StringUtils.isNotEmpty(laboratory)) {
+            laboratoryName = baseMapper.selectLaboratory(Integer.parseInt(laboratory));
+        }
         //鏌ヨ褰撳墠鐧诲綍浜哄憳鐨勬灦鏋�
         Integer userId = SecurityUtils.getUserId().intValue();
         //鍒ゆ柇鍏ㄩ儴,涓汉,缁勭粐鐨勬潈闄�
@@ -141,10 +148,10 @@
         String departLimsId = user.getDepartLimsId();
         if (com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
             String[] split = departLimsId.split(",");
-            //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
+            //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)  妫�娴嬪姙鐨勫彲浠ュ叏閮ㄦ煡鐪�
             String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
-            if (departLims.contains("瀹為獙瀹�")) {
-                laboratory = departLims;
+            if(departLims.contains("妫�娴嬪姙") || departLims.equals(laboratoryName)) {
+                    laboratory = laboratoryName;
             }
         }
         IPage<PerformanceShiftMapDto> mapIPage = baseMapper.performanceShiftPage(page, time, userName, laboratory);
@@ -427,6 +434,11 @@
         return map;
     }
 
+    @Override
+    public Map<String, List<Map<String, Object>>> getUserList() {
+        return baseMapper.findUserList().stream().collect(Collectors.groupingBy(m->m.get("depName").toString()));
+    }
+
     // 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�
     public static List<LocalDateTime> getLocalDateTimesBetween(LocalDateTime start, LocalDateTime end) {
         List<LocalDateTime> localDateTimes = new ArrayList<>();
diff --git a/performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml b/performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml
new file mode 100644
index 0000000..caa410d
--- /dev/null
+++ b/performance-server/src/main/resources/mapper/EvaluateGroupMapper.xml
@@ -0,0 +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.ruoyi.performance.mapper.EvaluateGroupMapper">
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.performance.pojo.EvaluateGroup">
+        <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.ruoyi.performance.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 FIND_IN_SET(dl.id, depart_lims_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
new file mode 100644
index 0000000..a124d42
--- /dev/null
+++ b/performance-server/src/main/resources/mapper/EvaluateMapper.xml
@@ -0,0 +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.ruoyi.performance.mapper.EvaluateMapper">
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.performance.pojo.Evaluate">
+        <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.ruoyi.performance.pojo.Evaluate">
+        select * from(select e.*,
+        account,
+        u.name name,
+        dl.name depart_lims,
+        ec.total*0.5 competentTotal,
+        eg.total*0.2 groupTotal,
+        el.total*0.3 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  FIND_IN_SET(dl.id, depart_lims_id) ) A
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
+</mapper>
diff --git a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
index 751ca1a..c8ff49e 100644
--- a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
+++ b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
@@ -6,18 +6,19 @@
         <result column="name" property="name"/>
         <result column="shift_time" property="shiftTime"/>
         <result column="user_id" property="userId" />
-        <result column="department" property="department" />
+        <result column="dept_id" property="department" />
     </resultMap>
 
     <select id="performanceShiftPage" resultMap="performanceShiftPageMap">
         SELECT
-        if(u2.department is not null and u2.department != '', CONCAT(u2.name, '锛�', u2.department, '锛�'), u2.name) name,
+        <!--if(u2.dept_id is not null and u2.dept_id != '', CONCAT(u2.name, '锛�', u2.dept_id, '锛�'), u2.name) name,-->
+        u2.name name,
         GROUP_CONCAT(s.work_time, '锛�', s.shift, '锛�', s.id order by s.work_time SEPARATOR ';') AS shift_time, u2.id user_id
         FROM performance_shift s
         LEFT JOIN (SELECT distinct u.* from
         user u
         left join department_lims dl on FIND_IN_SET(dl.id,u.depart_lims_id)
-        where state=1
+        where status=0
         <if test="laboratory != null and laboratory != ''">
           and   dl.name=#{laboratory}
         </if>
@@ -31,8 +32,8 @@
                 and u2.name like concat('%', #{userName}, '%')
             </if>
         </where>
-        order by s.create_time
         GROUP BY u2.id
+        order by s.create_time
     </select>
 
     <select id="performanceShiftYearPage" resultType="map">
@@ -42,7 +43,7 @@
         LEFT JOIN (SELECT u.* from
         user u
         left join department_lims dl on FIND_IN_SET(dl.id,u.depart_lims_id)
-        where state=1
+        where status=0
         <if test="laboratory != null and laboratory != ''">
             and   dl.name=#{laboratory}
         </if>
@@ -60,7 +61,7 @@
     </select>
 
     <select id="performanceShiftYear" resultType="java.util.Map">
-        SELECT if(u2.department is not null and u2.department != '', CONCAT(u2.name, '锛�', u2.department, '锛�'), u2.name) name,
+        SELECT if(u2.dept_id is not null and u2.dept_id != '', CONCAT(u2.name, '锛�', u2.dept_id, '锛�'), u2.name) name,
         s.user_id, u2.account,
         DATE_FORMAT(s.work_time, '%c') work_time,
         GROUP_CONCAT(DATE_FORMAT(s.work_time, '%c'), '锛�', s.shift order by s.work_time SEPARATOR ';') month_str
@@ -68,7 +69,7 @@
         LEFT JOIN (SELECT u.* from
         user u
         left join department_lims dl on FIND_IN_SET(dl.id,u.depart_lims_id)
-        where state=1
+        where status=0
         <if test="laboratory != null and laboratory != ''">
             and   dl.name=#{laboratory}
         </if>
@@ -132,4 +133,23 @@
         from department_lims
         where id = #{depLimsId}
     </select>
+
+    <select id="selectLaboratory" resultType="java.lang.String">
+        select laboratory_name
+        from laboratory
+        where id = #{laboratoryId}
+    </select>
+
+    <select id="findUserList" resultType="map">
+        select
+            u.id,
+            u.name,
+            dl.name as depName
+        from user u
+                 left join department_lims dl
+                           on FIND_IN_SET(dl.id,u.depart_lims_id)
+        where dl.name in('閫氫俊浜у搧瀹為獙瀹�','鐢靛姏浜у搧瀹為獙瀹�')
+          and u.status = 0
+          and u.is_custom = 0
+    </select>
 </mapper>
diff --git a/pom.xml b/pom.xml
index 4bc4e9e..614477f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -398,6 +398,7 @@
         <module>cnas-manage</module>
         <module>cnas-process</module>
         <module>cnas-require</module>
+        <module>cnas_server</module>
     </modules>
     <packaging>pom</packaging>
 

--
Gitblit v1.9.3