Эх сурвалжийг харах

作业人员,负责人导出功能提交

zx 3 сар өмнө
parent
commit
992348df1b
15 өөрчлөгдсөн 356 нэмэгдсэн , 79 устгасан
  1. 27 27
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmScoreRankManagerController.java
  2. 0 6
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmScoreRankTeamController.java
  3. 25 30
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmScoreRankWorkerController.java
  4. 3 8
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmScoreRankManager.java
  5. 2 8
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmScoreRankWorker.java
  6. 33 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankManagerOut.java
  7. 37 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankManagerYear.java
  8. 33 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankManagerYearOut.java
  9. 37 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankWorkerOut.java
  10. 44 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankWorkerYear.java
  11. 37 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankWorkerYearOut.java
  12. 9 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmScoreRankManagerService.java
  13. 9 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmScoreRankWorkerService.java
  14. 30 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmScoreRankManagerServiceImpl.java
  15. 30 0
      ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmScoreRankWorkerServiceImpl.java

+ 27 - 27
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmScoreRankManagerController.java

@@ -5,6 +5,9 @@ import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
 import com.github.pagehelper.PageInfo;
+import com.ruoyi.common.utils.bean.BeanListUtils;
+import com.ruoyi.powerdistribution.domain.PdmScoreRankTeam;
+import com.ruoyi.powerdistribution.domain.vo.*;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -47,44 +50,41 @@ public class PdmScoreRankManagerController extends BaseController
     public TableDataInfo list(PdmScoreRankManager pdmScoreRankManager)
     {
         startPage();
-        List<PdmScoreRankManager> list;
-        if(StringUtils.isNotEmpty(pdmScoreRankManager.getReportYear())){
-            list = pdmScoreRankManagerService.getManagerRankYearList(pdmScoreRankManager);
-        }else{
-            list = pdmScoreRankManagerService.selectPdmScoreRankManagerList(pdmScoreRankManager);
-        }
-        PageInfo pageInfo =  new PageInfo(list);
-        int pageNum = pageInfo.getPageNum();
-        int i = 1;
-        int lastRankNum = 0;
-        BigDecimal lastScore = new BigDecimal(0);
-        for(PdmScoreRankManager manager:list){
-            int rankNum;
-            if(manager.getScore().compareTo(lastScore)==0){
-                rankNum = lastRankNum;
-            }else{
-                rankNum = pageNum!=1?(pageNum-1)*pageInfo.getPageSize()+i:i;
-            }
-            manager.setRankNum(rankNum);
-            lastRankNum = rankNum;
-            lastScore = manager.getScore();
-            i++;
-        }
+        List<PdmScoreRankManager> list = pdmScoreRankManagerService.selectScoreRankManagerList(pdmScoreRankManager);
         return getDataTable(list);
     }
 
     /**
      * 导出负责人积分排名列表
      */
+    @ApiOperation(value = "导出负责人积分排名列表")
     @Log(title = "负责人积分排名", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, PdmScoreRankManager pdmScoreRankManager)
     {
-        List<PdmScoreRankManager> list = pdmScoreRankManagerService.selectPdmScoreRankManagerList(pdmScoreRankManager);
-        ExcelUtil<PdmScoreRankManager> util = new ExcelUtil<PdmScoreRankManager>(PdmScoreRankManager.class);
-        util.exportExcel(response, list, "负责人积分排名数据");
-    }
+        List<PdmScoreRankManager> list = pdmScoreRankManagerService.selectScoreRankManagerList(pdmScoreRankManager);
+        if ("2".equals(pdmScoreRankManager.getTeamType()) && StringUtils.isNotEmpty(pdmScoreRankManager.getReportYear())) {
+            //外部-年
+            List<PdmScoreRankManagerYearOut> newList = BeanListUtils.copyListProperties(list,PdmScoreRankManagerYearOut::new);
+            ExcelUtil<PdmScoreRankManagerYearOut> util = new ExcelUtil<>(PdmScoreRankManagerYearOut.class);
+            util.exportExcel(response, newList, "负责人积分排名数据");
+        }else if ("2".equals(pdmScoreRankManager.getTeamType()) && StringUtils.isEmpty(pdmScoreRankManager.getReportYear())) {
+            //外部-月
+            List<PdmScoreRankManagerOut> newList = BeanListUtils.copyListProperties(list,PdmScoreRankManagerOut::new);
+            ExcelUtil<PdmScoreRankManagerOut> util = new ExcelUtil<>(PdmScoreRankManagerOut.class);
+            util.exportExcel(response, newList, "负责人积分排名数据");
+        }else if("1".equals(pdmScoreRankManager.getTeamType()) && StringUtils.isNotEmpty(pdmScoreRankManager.getReportYear())){
+            //内部-年
+            List<PdmScoreRankManagerYear> newList = BeanListUtils.copyListProperties(list,PdmScoreRankManagerYear::new);
+            ExcelUtil<PdmScoreRankManagerYear> util = new ExcelUtil<>(PdmScoreRankManagerYear.class);
+            util.exportExcel(response, newList, "负责人积分排名数据");
+        } else{
+            //内部-月
+            ExcelUtil<PdmScoreRankManager> util = new ExcelUtil<>(PdmScoreRankManager.class);
+            util.exportExcel(response, list, "负责人积分排名数据");
+        }
 
+    }
     /**
      * 获取负责人积分排名详细信息
      */

+ 0 - 6
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmScoreRankTeamController.java

@@ -1,20 +1,14 @@
 package com.ruoyi.powerdistribution.controller;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
-import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.utils.bean.BeanListUtils;
-import com.ruoyi.powerdistribution.domain.PdmScoreRankManager;
 import com.ruoyi.powerdistribution.domain.vo.PdmScoreRankTeamOut;
 import com.ruoyi.powerdistribution.domain.vo.PdmScoreRankTeamYear;
 import com.ruoyi.powerdistribution.domain.vo.PdmScoreRankTeamYearOut;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;

+ 25 - 30
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmScoreRankWorkerController.java

@@ -1,14 +1,12 @@
 package com.ruoyi.powerdistribution.controller;
 
-import java.math.BigDecimal;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
-import com.github.pagehelper.PageInfo;
-import com.ruoyi.powerdistribution.domain.PdmScoreRankTeam;
+import com.ruoyi.common.utils.bean.BeanListUtils;
+import com.ruoyi.powerdistribution.domain.vo.*;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -48,42 +46,39 @@ public class PdmScoreRankWorkerController extends BaseController
     public TableDataInfo list(PdmScoreRankWorker pdmScoreRankWorker)
     {
         startPage();
-        List<PdmScoreRankWorker> list;
-        if(StringUtils.isNotEmpty(pdmScoreRankWorker.getReportYear())){
-            list = pdmScoreRankWorkerService.getWorkerRankYearList(pdmScoreRankWorker);
-        }else{
-            list = pdmScoreRankWorkerService.selectPdmScoreRankWorkerList(pdmScoreRankWorker);
-        }
-        PageInfo pageInfo =  new PageInfo(list);
-        int pageNum = pageInfo.getPageNum();
-        int i = 1;
-        int lastRankNum = 0;
-        BigDecimal lastScore = new BigDecimal(0);
-        for(PdmScoreRankWorker manager:list){
-            int rankNum;
-            if(manager.getScore().compareTo(lastScore)==0){
-                rankNum = lastRankNum;
-            }else{
-                rankNum = pageNum!=1?(pageNum-1)*pageInfo.getPageSize()+i:i;
-            }
-            manager.setRankNum(rankNum);
-            lastRankNum = rankNum;
-            lastScore = manager.getScore();
-            i++;
-        }
+        List<PdmScoreRankWorker> list = pdmScoreRankWorkerService.selectScoreRankWorkerList(pdmScoreRankWorker);
         return getDataTable(list);
     }
 
     /**
      * 导出作业人员积分排名列表
      */
+    @ApiOperation(value = "导出作业人员积分排名列表")
     @Log(title = "作业人员积分排名", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, PdmScoreRankWorker pdmScoreRankWorker)
     {
-        List<PdmScoreRankWorker> list = pdmScoreRankWorkerService.selectPdmScoreRankWorkerList(pdmScoreRankWorker);
-        ExcelUtil<PdmScoreRankWorker> util = new ExcelUtil<PdmScoreRankWorker>(PdmScoreRankWorker.class);
-        util.exportExcel(response, list, "作业人员积分排名数据");
+        List<PdmScoreRankWorker> list = pdmScoreRankWorkerService.selectScoreRankWorkerList(pdmScoreRankWorker);
+        if ("2".equals(pdmScoreRankWorker.getTeamType()) && StringUtils.isNotEmpty(pdmScoreRankWorker.getReportYear())) {
+            //外部-年
+            List<PdmScoreRankWorkerYearOut> newList = BeanListUtils.copyListProperties(list,PdmScoreRankWorkerYearOut::new);
+            ExcelUtil<PdmScoreRankWorkerYearOut> util = new ExcelUtil<>(PdmScoreRankWorkerYearOut.class);
+            util.exportExcel(response, newList, "作业人员积分排名数据");
+        }else if ("2".equals(pdmScoreRankWorker.getTeamType()) && StringUtils.isEmpty(pdmScoreRankWorker.getReportYear())) {
+            //外部-月
+            List<PdmScoreRankWorkerOut> newList = BeanListUtils.copyListProperties(list,PdmScoreRankWorkerOut::new);
+            ExcelUtil<PdmScoreRankWorkerOut> util = new ExcelUtil<>(PdmScoreRankWorkerOut.class);
+            util.exportExcel(response, newList, "作业人员积分排名数据");
+        }else if("1".equals(pdmScoreRankWorker.getTeamType()) && StringUtils.isNotEmpty(pdmScoreRankWorker.getReportYear())){
+            //内部-年
+            List<PdmScoreRankWorkerYear> newList = BeanListUtils.copyListProperties(list,PdmScoreRankWorkerYear::new);
+            ExcelUtil<PdmScoreRankWorkerYear> util = new ExcelUtil<>(PdmScoreRankWorkerYear.class);
+            util.exportExcel(response, newList, "作业人员积分排名数据");
+        } else{
+            //内部-月
+            ExcelUtil<PdmScoreRankWorker> util = new ExcelUtil<>(PdmScoreRankWorker.class);
+            util.exportExcel(response, list, "作业人员积分排名数据");
+        }
     }
 
     /**

+ 3 - 8
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmScoreRankManager.java

@@ -23,7 +23,6 @@ public class PdmScoreRankManager extends BaseEntity
     private Long id;
 
     /** 统计年 */
-    @Excel(name = "统计年")
     private String reportYear;
 
     /** 统计年月 */
@@ -31,15 +30,13 @@ public class PdmScoreRankManager extends BaseEntity
     private String reportDate;
 
     /** 作业单位编码 */
-    @Excel(name = "作业单位编码")
     private String companyNo;
 
     /** 作业单位名称 */
-    @Excel(name = "作业单位名称")
+    @Excel(name = "单位名称")
     private String companyName;
 
     /** 队伍ID */
-    @Excel(name = "队伍ID")
     private String teamId;
 
     /** 队伍名称 */
@@ -47,7 +44,6 @@ public class PdmScoreRankManager extends BaseEntity
     private String teamName;
 
     /** 负责人ID */
-    @Excel(name = "负责人ID")
     private String managerId;
 
     /** 负责人名称 */
@@ -64,11 +60,10 @@ public class PdmScoreRankManager extends BaseEntity
     private String teamType;
 
     /** 排序 */
-    @Excel(name = "排")
+    @Excel(name = "排")
     private int rankNum;
 
-        /** 是否黑榜 1是0否 */
-    @Excel(name = "是否黑榜")
+    /** 是否黑榜 1是0否 */
     private String isBlack;
 
     /**

+ 2 - 8
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmScoreRankWorker.java

@@ -23,7 +23,6 @@ public class PdmScoreRankWorker extends BaseEntity
     private Long id;
 
     /** 统计年 */
-    @Excel(name = "统计年")
     private String reportYear;
 
     /** 统计年月 */
@@ -31,19 +30,16 @@ public class PdmScoreRankWorker extends BaseEntity
     private String reportDate;
 
     /** 作业单位编码 */
-    @Excel(name = "作业单位编码")
     private String companyNo;
 
     /** 作业单位名称 */
-    @Excel(name = "作业单位名称")
+    @Excel(name = "单位名称")
     private String companyName;
 
     /** 队伍类型 */
-    @Excel(name = "队伍类型")
     private String teamType;
 
     /** 队伍ID */
-    @Excel(name = "队伍ID")
     private String teamId;
 
     /** 队伍名称 */
@@ -51,7 +47,6 @@ public class PdmScoreRankWorker extends BaseEntity
     private String teamName;
 
     /** 作业人员ID */
-    @Excel(name = "作业人员ID")
     private String workUserId;
 
     /** 作业人员名称 */
@@ -63,11 +58,10 @@ public class PdmScoreRankWorker extends BaseEntity
     private BigDecimal score;
 
     /** 排序 */
-    @Excel(name = "排")
+    @Excel(name = "排")
     private int rankNum;
 
     /** 是否黑榜 1是0否 */
-    @Excel(name = "是否黑榜")
     private String isBlack;
 
     /**

+ 33 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankManagerOut.java

@@ -0,0 +1,33 @@
+package com.ruoyi.powerdistribution.domain.vo;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 负责人积分排名对象 pdm_score_rank_manager
+ *
+ * @author ruoyi
+ * @date 2024-12-05
+ */
+@Data
+public class PdmScoreRankManagerOut
+{
+    /** 统计年月 */
+    @Excel(name = "统计年月")
+    private String reportDate;
+
+    /** 作业单位名称 */
+    @Excel(name = "单位名称")
+    private String companyName;
+
+    /** 负责人名称 */
+    @Excel(name = "负责人名称")
+    private String managerName;
+
+    /** 得分 */
+    @Excel(name = "得分")
+    private BigDecimal score;
+
+}

+ 37 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankManagerYear.java

@@ -0,0 +1,37 @@
+package com.ruoyi.powerdistribution.domain.vo;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 负责人积分排名对象 pdm_score_rank_manager
+ *
+ * @author ruoyi
+ * @date 2024-12-05
+ */
+@Data
+public class PdmScoreRankManagerYear
+{
+    /** 统计年 */
+    @Excel(name = "统计年")
+    private String reportYear;
+
+    /** 作业单位名称 */
+    @Excel(name = "单位名称")
+    private String companyName;
+
+    /** 队伍名称 */
+    @Excel(name = "队伍名称")
+    private String teamName;
+
+    /** 负责人名称 */
+    @Excel(name = "负责人名称")
+    private String managerName;
+
+    /** 得分 */
+    @Excel(name = "得分")
+    private BigDecimal score;
+
+}

+ 33 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankManagerYearOut.java

@@ -0,0 +1,33 @@
+package com.ruoyi.powerdistribution.domain.vo;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 负责人积分排名对象 pdm_score_rank_manager
+ *
+ * @author ruoyi
+ * @date 2024-12-05
+ */
+@Data
+public class PdmScoreRankManagerYearOut
+{
+    /** 统计年 */
+    @Excel(name = "统计年")
+    private String reportYear;
+
+    /** 作业单位名称 */
+    @Excel(name = "单位名称")
+    private String companyName;
+
+    /** 负责人名称 */
+    @Excel(name = "负责人名称")
+    private String managerName;
+
+    /** 得分 */
+    @Excel(name = "得分")
+    private BigDecimal score;
+
+}

+ 37 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankWorkerOut.java

@@ -0,0 +1,37 @@
+package com.ruoyi.powerdistribution.domain.vo;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 作业人员积分排名对象 pdm_score_rank_worker
+ *
+ * @author ruoyi
+ * @date 2024-12-05
+ */
+@Data
+public class PdmScoreRankWorkerOut
+{
+    /** 统计年月 */
+    @Excel(name = "统计年月")
+    private String reportDate;
+
+    /** 作业单位名称 */
+    @Excel(name = "单位名称")
+    private String companyName;
+
+    /** 作业人员名称 */
+    @Excel(name = "作业人员名称")
+    private String workUserName;
+
+    /** 得分 */
+    @Excel(name = "得分")
+    private BigDecimal score;
+
+    /** 排序 */
+    @Excel(name = "排名")
+    private int rankNum;
+
+}

+ 44 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankWorkerYear.java

@@ -0,0 +1,44 @@
+package com.ruoyi.powerdistribution.domain.vo;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.math.BigDecimal;
+
+/**
+ * 作业人员积分排名对象 pdm_score_rank_worker
+ *
+ * @author ruoyi
+ * @date 2024-12-05
+ */
+@Data
+public class PdmScoreRankWorkerYear
+{
+    /** 统计年 */
+    @Excel(name = "统计年")
+    private String reportYear;
+
+    /** 作业单位名称 */
+    @Excel(name = "单位名称")
+    private String companyName;
+
+    /** 队伍名称 */
+    @Excel(name = "队伍名称")
+    private String teamName;
+
+    /** 作业人员名称 */
+    @Excel(name = "作业人员名称")
+    private String workUserName;
+
+    /** 得分 */
+    @Excel(name = "得分")
+    private BigDecimal score;
+
+    /** 排序 */
+    @Excel(name = "排名")
+    private int rankNum;
+
+}

+ 37 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/vo/PdmScoreRankWorkerYearOut.java

@@ -0,0 +1,37 @@
+package com.ruoyi.powerdistribution.domain.vo;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 作业人员积分排名对象 pdm_score_rank_worker
+ *
+ * @author ruoyi
+ * @date 2024-12-05
+ */
+@Data
+public class PdmScoreRankWorkerYearOut
+{
+    /** 统计年 */
+    @Excel(name = "统计年")
+    private String reportYear;
+
+    /** 作业单位名称 */
+    @Excel(name = "单位名称")
+    private String companyName;
+
+    /** 作业人员名称 */
+    @Excel(name = "作业人员名称")
+    private String workUserName;
+
+    /** 得分 */
+    @Excel(name = "得分")
+    private BigDecimal score;
+
+    /** 排序 */
+    @Excel(name = "排名")
+    private int rankNum;
+
+}

+ 9 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmScoreRankManagerService.java

@@ -72,4 +72,13 @@ public interface IPdmScoreRankManagerService
      * @return
      */
     List<PdmScoreRankManager> getManagerRankYearList(PdmScoreRankManager pdmScoreRankManager);
+
+    /**
+     * 查询负责人积分排名列表 主方法
+     *
+     * @param pdmScoreRankManager 负责人积分排名
+     * @return 负责人积分排名集合
+     */
+     List<PdmScoreRankManager> selectScoreRankManagerList(PdmScoreRankManager pdmScoreRankManager);
+
 }

+ 9 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/IPdmScoreRankWorkerService.java

@@ -73,4 +73,13 @@ public interface IPdmScoreRankWorkerService
      * @return
      */
     int saveWorker(String startDate,String endDate);
+
+    /**
+     * 查询作业人员积分排名列表 总方法
+     *
+     * @param pdmScoreRankWorker 作业人员积分排名
+     * @return 作业人员积分排名集合
+     */
+    List<PdmScoreRankWorker> selectScoreRankWorkerList(PdmScoreRankWorker pdmScoreRankWorker);
+
 }

+ 30 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmScoreRankManagerServiceImpl.java

@@ -1,9 +1,11 @@
 package com.ruoyi.powerdistribution.service.impl;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.powerdistribution.domain.PdmStopTarge;
 import com.ruoyi.powerdistribution.mapper.PdmStopTargeMapper;
@@ -120,4 +122,32 @@ public class PdmScoreRankManagerServiceImpl extends ServiceImpl<PdmScoreRankMana
     public List<PdmScoreRankManager> getManagerRankYearList(PdmScoreRankManager pdmScoreRankManager) {
         return pdmScoreRankManagerMapper.getManagerRankYearList(pdmScoreRankManager);
     }
+
+    @Override
+    public List<PdmScoreRankManager> selectScoreRankManagerList(PdmScoreRankManager pdmScoreRankManager) {
+        List<PdmScoreRankManager> list;
+        if(StringUtils.isNotEmpty(pdmScoreRankManager.getReportYear())){
+            list = this.getManagerRankYearList(pdmScoreRankManager);
+        }else{
+            list = this.selectPdmScoreRankManagerList(pdmScoreRankManager);
+        }
+        PageInfo pageInfo =  new PageInfo(list);
+        int pageNum = pageInfo.getPageNum();
+        int i = 1;
+        int lastRankNum = 0;
+        BigDecimal lastScore = new BigDecimal(0);
+        for(PdmScoreRankManager manager:list){
+            int rankNum;
+            if(manager.getScore().compareTo(lastScore)==0){
+                rankNum = lastRankNum;
+            }else{
+                rankNum = pageNum!=1?(pageNum-1)*pageInfo.getPageSize()+i:i;
+            }
+            manager.setRankNum(rankNum);
+            lastRankNum = rankNum;
+            lastScore = manager.getScore();
+            i++;
+        }
+        return list;
+    }
 }

+ 30 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmScoreRankWorkerServiceImpl.java

@@ -1,9 +1,11 @@
 package com.ruoyi.powerdistribution.service.impl;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.powerdistribution.domain.PdmScoreRankTeam;
 import com.ruoyi.powerdistribution.mapper.PdmScoreRankTeamMapper;
@@ -118,4 +120,32 @@ public class PdmScoreRankWorkerServiceImpl extends ServiceImpl<PdmScoreRankWorke
         worker.setEndDate(endDate);
         return pdmScoreRankWorkerMapper.saveWorker(worker);
     }
+
+    @Override
+    public List<PdmScoreRankWorker> selectScoreRankWorkerList(PdmScoreRankWorker pdmScoreRankWorker) {
+        List<PdmScoreRankWorker> list;
+        if(StringUtils.isNotEmpty(pdmScoreRankWorker.getReportYear())){
+            list = this.getWorkerRankYearList(pdmScoreRankWorker);
+        }else{
+            list = this.selectPdmScoreRankWorkerList(pdmScoreRankWorker);
+        }
+        PageInfo pageInfo =  new PageInfo(list);
+        int pageNum = pageInfo.getPageNum();
+        int i = 1;
+        int lastRankNum = 0;
+        BigDecimal lastScore = new BigDecimal(0);
+        for(PdmScoreRankWorker manager:list){
+            int rankNum;
+            if(manager.getScore().compareTo(lastScore)==0){
+                rankNum = lastRankNum;
+            }else{
+                rankNum = pageNum!=1?(pageNum-1)*pageInfo.getPageSize()+i:i;
+            }
+            manager.setRankNum(rankNum);
+            lastRankNum = rankNum;
+            lastScore = manager.getScore();
+            i++;
+        }
+        return list;
+    }
 }