Browse Source

修复绩效bug

lihui007 3 years ago
parent
commit
408bd8a2d9

+ 23 - 13
operation_manager/src/main/java/com/huaxu/evaluation/job/EvaluationResultJob.java

@@ -25,13 +25,19 @@ import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.util.*;
 
 /**
- * @ClassName EvaluationResultJob
- * @Description: TODO
+ * 生成绩效考评数据,每天启动一次脚本
+ * 1.检查考评日期是否是当天
+ * 2.季度数据需要在1月、4月、7月、10月生成对应的季度数据:
+ *   1月对应10、11、12
+ *   4月对应1、2、3
+ *   7月对应4、5、6
+ *   10月对应7、8、9
+ * 3.年度数据在1月生成去年整年数据
+ * 4.按照上面指定的月、季度、年度得出具体时间并查询运维人员的工单情况,计算出工单/任务的一个完成情况,根据设置的考评项目得出对应的分数
  * @Author lihui
  * @Date 2021/5/7
  * @Version V1.0
@@ -83,6 +89,7 @@ public class EvaluationResultJob {
 
     /***
      *
+     * @Scheduled(cron = "0/5 * * * * ?")
      *  异步启动定时任务,每天凌晨4点
      * @Author lihui
      * @Date 18:26 2021/5/17
@@ -334,13 +341,16 @@ public class EvaluationResultJob {
     }
 
 
-    /**
-    * @Author lihui
-    * @Description 组装考评结果数据
-    * @Date 15:03 2021/5/11
-    * @Param [userEntity, calendar, cycle, startTime, endTime]
-    * @return com.huaxu.evaluation.entity.EvaluationResultEntity
-    **/
+    /***
+     * 组装考评结果数据
+     * @author lihui
+     * @date 11:47 2021/5/11
+     * @param userEntity : 用户信息
+     * @param cycle :      月度、季度、年度
+     * @param startTime :  开始时间
+     * @param endTime :    结束时间
+     * @return com.huaxu.evaluation.entity.EvaluationResultEntity
+     **/
     private EvaluationResultEntity packagesEvaluationResultEntity(UserEntity userEntity, Integer cycle, String startTime, String endTime){
         LocalDate localDate = EvaluationUtil.getLocalDateByCycle(startTime, endTime, cycle);
         EvaluationResultEntity resultEntity = new EvaluationResultEntity();
@@ -362,11 +372,11 @@ public class EvaluationResultJob {
 
     /***
      * 获取对应的分数
-     * @Author lihui
+     * @author lihui
      * @Date 10:32 2021/5/19
      * @param item  : 考评项目设置内容
      * @param evaluationValue  : 统计到的分值
-     * @return java.math.BigDecimal
+     * @return java.math.BigDecimal 分数
      **/
     private BigDecimal getScore (EvaluationItemVo item, BigDecimal evaluationValue){
         // 如果是自定义直接返回默认分数
@@ -407,7 +417,7 @@ public class EvaluationResultJob {
      **/
     private BigDecimal getValueCondition(List<EvaluationItemVo> itemEntityList){
         for (EvaluationItemVo evaluationItemVo: itemEntityList) {
-            if (evaluationItemVo.getType() == 2) {
+            if (evaluationItemVo.getType() == EvaluationItemEnums.COMPLETION_RATE.getType()) {
                 return evaluationItemVo.getValueCondition();
             }
         }

+ 3 - 2
operation_manager/src/main/java/com/huaxu/utils/EvaluationUtil.java

@@ -211,6 +211,7 @@ public class EvaluationUtil {
     }
 
 
+
     private static Integer calendarMonth(Integer calendarMonth){
         switch (calendarMonth){
             case 1 :
@@ -441,8 +442,8 @@ public class EvaluationUtil {
     }
 
     public static void main(String[] args) {
-        System.out.println(EvaluationUtil.getStartTime(1, 15));
-        System.out.println(EvaluationUtil.getEndTime(1, 15));
+        System.out.println(EvaluationUtil.minute("0"));
+        System.out.println(EvaluationUtil.isDelay(DatesUtil.parseDate("2021-05-19 00:04:59", "yyyy-MM-dd HH:mm:ss"), DatesUtil.parseDate("2021-05-18 23:59:59", "yyyy-MM-dd HH:mm:ss"), 5));
     }
 
 }