Jelajahi Sumber

修复绩效bug

lihui007 3 tahun lalu
induk
melakukan
1c2e1e5de7

+ 5 - 0
common/src/main/java/com/huaxu/util/DatesUtil.java

@@ -607,6 +607,11 @@ public class DatesUtil {
 		return  instant.atZone(zoneId).toLocalDate();
 	}
 
+	public static LocalDate parseLocalDate(String date){
+		DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+		return LocalDate.parse(date, fmt);
+	}
+
 	public static long minutesBetween(Date startTime, Date endTime){
 		return ChronoUnit.MINUTES.between(Instant.ofEpochMilli(startTime.getTime()), Instant.ofEpochMilli(endTime.getTime()));
 	}

+ 40 - 0
operation_manager/src/main/java/com/huaxu/evaluation/enums/EvaluationItemEnums.java

@@ -0,0 +1,40 @@
+package com.huaxu.evaluation.enums;
+
+import lombok.Getter;
+
+/**
+ * @Description: 考评项设置
+ * @Author lihui
+ * @Date 2021/5/7
+ * @Version V1.0
+ **/
+@Getter
+public enum EvaluationItemEnums {
+
+    /**
+     * 任务完成数
+     */
+    COMPLETE_COUNT(0,"任务完成数"),
+
+    /**
+     * 任务按时完成率
+     */
+    COMPLETION_RATE(1,"任务按时完成率"),
+
+    /**
+     * 自定义
+     */
+    CUSTOM(2,"自定义")
+
+    ,
+    ;
+
+    private final int type;
+
+    private final String message;
+
+    EvaluationItemEnums(int type, String message) {
+        this.type = type;
+        this.message = message;
+    }
+}

+ 58 - 40
operation_manager/src/main/java/com/huaxu/evaluation/job/EvaluationResultJob.java

@@ -7,6 +7,7 @@ import com.huaxu.client.UserCenterClient;
 import com.huaxu.evaluation.dao.*;
 import com.huaxu.evaluation.entity.*;
 import com.huaxu.evaluation.enums.EvaluationCycleEnums;
+import com.huaxu.evaluation.enums.EvaluationItemEnums;
 import com.huaxu.evaluation.vo.EvaluationItemValueVo;
 import com.huaxu.evaluation.vo.EvaluationItemVo;
 import com.huaxu.evaluation.vo.EvaluationResultTaskDetailsVo;
@@ -27,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -65,6 +67,12 @@ public class EvaluationResultJob {
 
     private static boolean lock = false;
 
+
+    /**
+     * 运维类型
+     */
+    private static final String OPERATION_TYPE = "3";
+
     /**
      * 保存考评项目设置
      */
@@ -78,7 +86,7 @@ public class EvaluationResultJob {
 
 
     /***
-     *  @Scheduled(cron = "0/5 * * * * ?")
+     *@Scheduled(cron = "0/5 * * * * ?")
      *  异步启动定时任务
      * @Author lihui
      * @Date 18:26 2021/5/17
@@ -102,7 +110,7 @@ public class EvaluationResultJob {
                         !EvaluationUtil.sameMonth(1)) {
                     continue;
                 }
-                userTask(evaluationCycleEntity.getTenantId(), evaluationCycleEntity.getCompanyOrgId(), evaluationCycleEntity.getType());
+                userTask(evaluationCycleEntity, queryEntity.getEvaluationDay());
             }
         } catch (Exception e) {
             log.error("绩效考评定时任务出错->", e);
@@ -114,26 +122,33 @@ public class EvaluationResultJob {
         log.info("============绩效考评数据生成end=====================");
     }
 
-    /**
-    * @Author lihui
-    * @Description 用户任务分解
-    * @Date 18:19 2021/5/10
-    * @Param [tenantId:租户ID, companyOrgId : 公司ID, cycle : 类型(0月度 1季度 2年度)]
-    * @return void
-    **/
-    public void userTask(String tenantId, Integer companyOrgId, Integer cycle){
-        // 查询该租户公司下的所有用户
-        String startTime = null;
-        String endTime   = null;
+    /***
+     * 用户任务分解
+     * @author lihui
+     * @date 10:44 2021/5/19
+     * @param evaluationCycleEntity : 考评
+     * @param evaluationDay : 考评周期
+     * @return void
+     **/
+    public void userTask(EvaluationCycleEntity evaluationCycleEntity, Integer evaluationDay){
         List<EvaluationItemVo> itemEntityList = null;
-        List<Integer> userIds = getUserIds(tenantId, companyOrgId);
+        Integer cycle = evaluationCycleEntity.getType();
+        // 根据类型(0月度 1季度 2年度)得到当前的开始时间和结束时间,如果是按季度,当月必须是1,4,7,10
+        String startTime = EvaluationUtil.getStartTime(cycle, evaluationDay);
+        String endTime   = EvaluationUtil.getEndTime(cycle, evaluationDay);
+        if (startTime == null || endTime == null) {
+            return;
+        }
+        // 查询该租户公司下的所有用户
+        List<Integer> userIds = getUserIds(evaluationCycleEntity.getTenantId(), evaluationCycleEntity.getCompanyOrgId());
         Map<Long, UserEntity> userEntityMap = toMap(userIds);
         if (userEntityMap == null) {
             return;
         }
         for (Integer userId : userIds) {
             UserEntity userEntity = userEntityMap.get(Long.parseLong(userId.toString()));
-            if (userEntity == null) {
+            // 过滤掉不是运维的用户
+            if (userEntity == null || !OPERATION_TYPE.equals(userEntity.getUserType())) {
                 continue;
             }
             itemEntityList = findItem(userEntity);
@@ -143,12 +158,6 @@ public class EvaluationResultJob {
                 continue;
             }
             try {
-                // 根据类型(0月度 1季度 2年度)得到当前的开始时间和结束时间,如果是按季度,当月必须是1,4,7,10
-                startTime = EvaluationUtil.getStartTime(cycle, null, null);
-                endTime   = EvaluationUtil.getEndTime(cycle, null,null);
-                if (startTime == null || endTime == null) {
-                    continue;
-                }
                 // 保存用户考评结果
                 saveEvaluationResultInfo(userEntity, itemEntityList , startTime, endTime ,cycle);
             } catch (Exception e) {
@@ -157,6 +166,14 @@ public class EvaluationResultJob {
         }
     }
 
+    /***
+     * 获取该租户公司下的用户
+     * @author lihui
+     * @date 10:49 2021/5/19
+     * @param tenantId :  租户ID
+     * @param companyOrgId :  公司id
+     * @return java.util.List<java.lang.Integer>
+     **/
     private List<Integer> getUserIds(String tenantId, Integer companyOrgId){
         String key = tenantId + "_" + companyOrgId;
         List<Integer> result = userIdsMap.get(key);
@@ -177,11 +194,10 @@ public class EvaluationResultJob {
     **/
     @Transactional(rollbackFor = Exception.class)
     public void saveEvaluationResultInfo(UserEntity userEntity, List<EvaluationItemVo> itemEntityList, String startTime, String endTime, Integer cycle){
-        Calendar calendar = EvaluationUtil.getCalendar(endTime);
         // 计算用户完成任务情况
         EvaluationResultTaskEntity taskDetailsVo = calculationTaskInfo(userEntity.getId().intValue(), userEntity.getTenantId(), startTime, endTime, getValueCondition(itemEntityList));
         // 组装考评结果数据
-        EvaluationResultEntity resultEntity = packagesEvaluationResultEntity(userEntity, calendar, cycle, startTime, endTime);
+        EvaluationResultEntity resultEntity = packagesEvaluationResultEntity(userEntity, cycle, startTime, endTime);
         // 保存考评结果
         if (evaluationResultMapper.insertEvaluationResult(resultEntity) != 1) {
             throw new ServiceException(500, "保存考评结果出错,退出。");
@@ -198,11 +214,11 @@ public class EvaluationResultJob {
             if (item.getCycle().indexOf(cycle.toString()) == -1 || item.getType() == null) {
                 continue;
             }
-            evaluationValue = item.getType() == 1 ? completeCount : completionRate;
+            evaluationValue = item.getType() == EvaluationItemEnums.COMPLETE_COUNT.getType() ? completeCount : completionRate;
             EvaluationResultDetailsEntity detailsEntity = new EvaluationResultDetailsEntity();
             detailsEntity.setEvaluationResultId(resultId);
             detailsEntity.setEvaluationItemId(item.getItemId());
-            detailsEntity.setValue(getScore(item.getType(), item.getEvaluationItemValueVoList(), evaluationValue));
+            detailsEntity.setValue(getScore(item, evaluationValue));
             detailsEntity.setDateCreate(new Date());
             detailsEntity.setDateUpdate(new Date());
             detailsEntity.setTenantId(userEntity.getTenantId());
@@ -285,10 +301,11 @@ public class EvaluationResultJob {
     * @Param [userEntity, calendar, cycle, startTime, endTime]
     * @return com.huaxu.evaluation.entity.EvaluationResultEntity
     **/
-    private EvaluationResultEntity packagesEvaluationResultEntity(UserEntity userEntity, Calendar calendar, Integer cycle, String startTime, String endTime){
+    private EvaluationResultEntity packagesEvaluationResultEntity(UserEntity userEntity, Integer cycle, String startTime, String endTime){
+        LocalDate localDate = EvaluationUtil.getLocalDateByCycle(startTime, endTime, cycle);
         EvaluationResultEntity resultEntity = new EvaluationResultEntity();
-        resultEntity.setYear(calendar.get(Calendar.YEAR));
-        resultEntity.setMonth(calendar.get(Calendar.MONTH) + 1);
+        resultEntity.setYear(localDate.getYear());
+        resultEntity.setMonth(localDate.getMonthValue());
         resultEntity.setEvaluationBe(userEntity.getUsername());
         resultEntity.setEvaluationBeUserId(userEntity.getId());
         resultEntity.setCycle(cycle);
@@ -311,23 +328,24 @@ public class EvaluationResultJob {
         return userEntities.stream().collect(Collectors.toMap(UserEntity::getId, a -> a,(k1, k2)->k1));
     }
 
-    /**
-    * @Author lihui
-    * @Description 获取对应的分数
-    * @Date 11:25 2021/5/14
-    * @Param [type 0任务完成数 1任务按时完成率 2自定义, list, evaluationValue]
-    * @return java.math.BigDecimal
-    **/
-    private BigDecimal getScore (Integer type, List<EvaluationItemValueVo> list, BigDecimal evaluationValue){
-        int ziDingYi = 2;
-        if (type != 1 && type != ziDingYi) {
-            return null;
+    /***
+     * 获取对应的分数
+     * @Author lihui
+     * @Date 10:32 2021/5/19
+     * @param item  : 考评项目设置内容
+     * @param evaluationValue  : 统计到的分值
+     * @return java.math.BigDecimal
+     **/
+    private BigDecimal getScore (EvaluationItemVo item, BigDecimal evaluationValue){
+        // 如果是自定义直接返回默认分数
+        if (item.getType() == EvaluationItemEnums.CUSTOM.getType()) {
+            return item.getValue();
         }
         Integer itemType     = null;
         BigDecimal itemValue = null;
         BigDecimal valueOne  = null;
         BigDecimal valueTwo  = null;
-        for (EvaluationItemValueVo evaluationItemValueVo: list) {
+        for (EvaluationItemValueVo evaluationItemValueVo: item.getEvaluationItemValueVoList()) {
             itemType  = evaluationItemValueVo.getItemType();
             itemValue = evaluationItemValueVo.getItemValue();
             valueOne  = evaluationItemValueVo.getValueOne();

+ 3 - 3
operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationResultServiceImpl.java

@@ -17,6 +17,7 @@ import com.huaxu.exception.ServiceException;
 import com.huaxu.model.LoginUser;
 import com.huaxu.org.OrgInfoUtil;
 import com.huaxu.util.UserUtil;
+import com.huaxu.utils.EvaluationUtil;
 import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -51,7 +52,6 @@ public class EvaluationResultServiceImpl implements EvaluationResultService {
     @Autowired
     private UserCenterClient userCenterClient;
 
-
     @Override
     public IPage<EvaluationResultVo> findPage(EvaluationResultDto dto) {
         EvaluationResultQueryDto queryDto = new EvaluationResultQueryDto();
@@ -88,7 +88,7 @@ public class EvaluationResultServiceImpl implements EvaluationResultService {
             }
             vo.setState(stateMap.get(vo.getState()));
             vo.setEvaluationGrade(gradMap.get(vo.getEvaluationGrade()));
-            vo.setCycle(vo.getYear() + "年" + vo.getMonth() + "月");
+            vo.setCycle(EvaluationUtil.formatCycle(dto.getCycle(), vo.getYear(), vo.getMonth()));
         }
         return page;
     }
@@ -127,7 +127,7 @@ public class EvaluationResultServiceImpl implements EvaluationResultService {
         }
         for (EvaluationGradePercentageVo vo: list) {
             vo.setEvaluationGrade(gradMap.get(vo.getEvaluationGrade()));
-            vo.setPercentage(new BigDecimal(vo.getPercentage()).divide(total,2, RoundingMode.UNNECESSARY).multiply(new BigDecimal("100")).setScale(0, RoundingMode.UNNECESSARY ).toString());
+            vo.setPercentage(new BigDecimal(vo.getPercentage()).divide(total,4, BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_DOWN).toString());
         }
         return list;
     }

+ 6 - 17
operation_manager/src/main/java/com/huaxu/evaluation/service/impl/EvaluationResultTaskDetailsServiceImpl.java

@@ -1,28 +1,15 @@
 package com.huaxu.evaluation.service.impl;
 
-import cn.hutool.core.collection.CollectionUtil;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.client.UserCenterClient;
-import com.huaxu.evaluation.dao.EvaluationResultMapper;
 import com.huaxu.evaluation.dao.EvaluationResultTaskMapper;
-import com.huaxu.evaluation.dto.EvaluationResultDto;
-import com.huaxu.evaluation.dto.EvaluationResultQueryDto;
-import com.huaxu.evaluation.service.EvaluationResultService;
 import com.huaxu.evaluation.service.EvaluationResultTaskDetailsService;
 import com.huaxu.evaluation.vo.EvaluationResultTaskDetailsVo;
-import com.huaxu.evaluation.vo.EvaluationResultVo;
-import com.huaxu.model.LoginUser;
-import com.huaxu.org.OrgInfoUtil;
-import com.huaxu.util.UserUtil;
+import com.huaxu.utils.EvaluationUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -48,9 +35,11 @@ public class EvaluationResultTaskDetailsServiceImpl implements EvaluationResultT
         if (vo == null) {
             return vo;
         }
-        Map<String,String> gradMap  = userCenterClient.selectListByPCodes("SC_EVALUATION_GRADE");
-        vo.setEvaluationGrade(gradMap.get(vo.getEvaluationGrade()));
-        vo.setCycle(vo.getYear() + "年" + vo.getMonth() + "月");
+        if (StringUtils.isNotEmpty(vo.getEvaluationGrade())) {
+            Map<String,String> gradMap  = userCenterClient.selectListByPCodes("SC_EVALUATION_GRADE");
+            vo.setEvaluationGrade(gradMap.get(vo.getEvaluationGrade()));
+        }
+        vo.setCycle(EvaluationUtil.formatCycle(Integer.parseInt(vo.getCycle()),vo.getYear(), vo.getMonth()));
         return vo;
     }
 }

+ 107 - 55
operation_manager/src/main/java/com/huaxu/utils/EvaluationUtil.java

@@ -7,6 +7,8 @@ import org.apache.commons.lang3.StringUtils;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.time.temporal.TemporalAdjusters;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -21,6 +23,11 @@ import java.util.stream.Collectors;
  **/
 public class EvaluationUtil {
 
+    /**
+     * 考评周期格式化
+     */
+    private static final String DATE_STRING = "%s年%s";
+
     private static Calendar getCalendar(){
         return Calendar.getInstance();
     }
@@ -31,6 +38,32 @@ public class EvaluationUtil {
         return calendar;
     }
 
+    /***
+     * 格式化考评周期时间
+     * @author lihui
+     * @date 11:00 2021/5/19
+     * @param cycle :
+     * @param year :
+     * @param month :
+     * @return java.lang.String
+     **/
+    public static String formatCycle(int cycle, String year, String month){
+        String monthString = "";
+        if (cycle != EvaluationCycleEnums.YEAR.getType()) {
+            monthString = cycle == 0 ?  month + "月" :  month + "季度";
+        }
+        if ("3".equals(month)) {
+            month = "1";
+        } else if ("6".equals(month)){
+            month = "2";
+        } else if ("9".equals(month)){
+            month = "3";
+        } else if ("12".equals(month)){
+            month = "4";
+        }
+        return String.format(DATE_STRING, year, monthString);
+    }
+
     public static Integer toInteger(Long lon) {
         return lon == null ? null : lon.intValue();
     }
@@ -114,6 +147,7 @@ public class EvaluationUtil {
         return Calendar.getInstance().get(Calendar.MONTH) + 1  == month;
     }
 
+
     public static boolean containsType(List<EvaluationItemVo> itemEntityList, Integer type){
         List<String> list = itemEntityList.stream().map(EvaluationItemVo::getCycle).collect(Collectors.toList());
         for (String str: list) {
@@ -124,36 +158,6 @@ public class EvaluationUtil {
         return false;
     }
 
-    public static String getStartTime(int cycle, Integer year, Integer month){
-        int mark = month == null ? 1 : 2;
-        Calendar calendar = getCalendar();
-        year  = year == null ? calendar.get(Calendar.YEAR) : year;
-        Integer calendarMonth =  calendar.get(Calendar.MONTH) + 1;
-        Integer newMonth = month == null ? calendarMonth : month;
-        // 月度
-        if (cycle == EvaluationCycleEnums.MONTH.getType()) {
-            return year + "-" + toString(newMonth) + "-01 00:00:00";
-        }
-        if (cycle == EvaluationCycleEnums.QUARTER.getType()) {
-            Integer quMonth = null;
-            month = month == null ? calendarMonth(calendarMonth) : month;
-            if (month != null) {
-                quMonth = month == 1 ? 1 :
-                          month == 2 ? 4 :
-                          month == 3 ? 7 :
-                          month == 4 ? 10 : null;
-                year = mark == 1 && month == 4  ? year -1 : year;
-            }
-            if (quMonth == null) {
-                return null;
-            }
-            return year + "-"+toString(quMonth)+"-01 00:00:00";
-        }
-        if (cycle == EvaluationCycleEnums.YEAR.getType()) {
-            return year + "-01-01 00:00:00";
-        }
-        return null;
-    }
 
     private static Integer calendarMonth(Integer calendarMonth){
         switch (calendarMonth){
@@ -170,40 +174,88 @@ public class EvaluationUtil {
         return null;
     }
 
-    public static String getEndTime(int cycle, Integer year, Integer month){
-        int mark = month == null ? 1 : 2;
-        Calendar calendar = getCalendar();
-        year  = year == null ? calendar.get(Calendar.YEAR) : year;
-        Integer calendarMonth =  calendar.get(Calendar.MONTH) + 1;
-        Integer newMonth = month == null ? calendarMonth : month;
-        Integer quMonth = null;
-        // 月度
+
+    private static String toString (Integer var){
+        String result = var.toString();
+        return result.length() == 1 ?   "0" + result : result;
+    }
+
+    public static String getStartTime(int cycle, int day) {
+        LocalDate localDate = LocalDate.now();
         if (cycle == EvaluationCycleEnums.MONTH.getType()) {
-            quMonth = newMonth;
+            localDate = localDate.plusMonths(-1);
         }
-        if (cycle == EvaluationCycleEnums.QUARTER.getType()) {
-            month = month == null ? calendarMonth(calendarMonth) : month;
-            if (month != null) {
-                quMonth = month == 1 ? 3 :
-                          month == 2 ? 6 :
-                          month == 3 ? 9 :
-                          month == 4 ? 12 : null;
-                year = mark == 1 && month == 4  ? year -1 : year;
+
+        if (cycle == EvaluationCycleEnums.QUARTER.getType()){
+            Integer type = calendarMonth(localDate.getMonthValue());
+            if (type == null) {
+                return null;
             }
-            if (quMonth == null) {
+            int month = type == 1 ? 1 :
+                        type == 2 ? 4 :
+                        type == 3 ? 7 :
+                        type == 4 ? 10 : null;
+            localDate = type == 4 ? localDate.plusYears(-1) : localDate;
+            localDate = localDate.withMonth(month);
+        }
+
+        if (cycle == EvaluationCycleEnums.YEAR.getType()){
+            localDate = localDate.plusYears(-1);
+            localDate = localDate.withMonth(1);
+        }
+        localDate = localDate.withDayOfMonth(day);
+        return localDate.toString() + " 00:00:00";
+    }
+
+    public static String getEndTime(int cycle, int day) {
+        LocalDate localDate = LocalDate.now();
+
+        if (cycle == EvaluationCycleEnums.MONTH.getType()) {
+            localDate = day == 1 ? localDate.plusMonths(-1) : localDate;
+        }
+
+        if (cycle == EvaluationCycleEnums.QUARTER.getType()){
+            Integer type = calendarMonth(localDate.getMonthValue());
+            if (type == null) {
                 return null;
             }
+            int month = type == 1 ? 4 :
+                        type == 2 ? 7 :
+                        type == 3 ? 10 :
+                        type == 4 ? 1 : null;
+            // 设置月份
+            if (type == 4 && day == 1 ){
+                localDate = localDate.plusMonths(-1);
+            } else {
+                localDate = localDate.withMonth(day == 1 ? month -1 : month);
+            }
         }
-        if (cycle == EvaluationCycleEnums.YEAR.getType()) {
-            quMonth = 12;
+
+        if (cycle == EvaluationCycleEnums.YEAR.getType()){
+            localDate = localDate.withMonth(1);
+            localDate = day == 1 ? localDate.plusMonths(-1) : localDate;
         }
-        String monthStr = toString(quMonth);
-        return year + "-" + monthStr + "-" + DatesUtil.getMouthDays( year + "-" +monthStr) + " 23:59:59";
+
+        localDate = day != 1 ? localDate.withDayOfMonth(day - 1) : localDate.with(TemporalAdjusters.lastDayOfMonth());
+        return localDate.toString() + " 23:59:59";
     }
 
-    private static String toString (Integer var){
-        String result = var.toString();
-        return result.length() == 1 ?   "0" + result : result;
+    public static LocalDate getLocalDateByCycle(String startTime, String endTime, int cycle){
+        // 季度获取后面的时间
+        String quarterString = "4,7,10,1";
+        boolean isQuarter = cycle == EvaluationCycleEnums.QUARTER.getType();
+        String time = isQuarter ? endTime : startTime;
+        LocalDate localDate = DatesUtil.parseLocalDate(time);
+        if (isQuarter && quarterString.indexOf(localDate.getMonthValue() + "") != -1) {
+            localDate = localDate.plusMonths(-1);
+        }
+        return localDate;
+    }
+
+
+    public static void main(String[] args) {
+        LocalDate localDate = EvaluationUtil.getLocalDateByCycle("2020-12-01 00:00:00","2021-01-30 00:00:00",1);
+        System.out.println(localDate.getYear() + "-" + localDate.getMonthValue());
     }
 
 }

+ 3 - 0
operation_manager/src/main/resources/mapper/evaluation/EvaluationItemMapper.xml

@@ -152,6 +152,9 @@
             <if test="deptOrgId == null">
                 and a.DEPT_ORG_ID is null
             </if>
+            <if test="deptOrgId != null">
+                and a.DEPT_ORG_ID = #{deptOrgId}
+            </if>
             and a.TENANT_ID = #{tenantId}
             and a.status=1
         </where>

+ 2 - 2
operation_manager/src/main/resources/mapper/evaluation/EvaluationResultTaskMapper.xml

@@ -17,8 +17,8 @@
         <result property="evaluationGrade" column="EVALUATION_GRADE" jdbcType="INTEGER"/>
         <result property="year" column="YEAR" jdbcType="INTEGER"/>
         <result property="month" column="MONTH" jdbcType="INTEGER"/>
+        <result property="cycle" column="CYCLE" jdbcType="INTEGER"/>
         <result property="delayCompleteCount" column="DELAY_COMPLETE_COUNT" jdbcType="INTEGER"/>
-
         <collection property="detailsVoList"  resultMap="detailsVoMap"></collection>
     </resultMap>
 
@@ -33,7 +33,7 @@
 
     <select id="findResultTaskDetail" resultMap="evaluationResultTaskDetailsVo">
         select
-            r.id as "resultId",r.`YEAR`, r.`MONTH`,r.`VALUE` as "performanceScore",r.EVALUATION_GRADE,r.COMPANY_ORG_ID,r.TENANT_ID,
+            r.id as "resultId",r.`YEAR`, r.`MONTH`,r.`VALUE` as "performanceScore",r.EVALUATION_GRADE,r.COMPANY_ORG_ID,r.TENANT_ID,r.CYCLE,
             t.TOTAL_COUNT,t.COMPLETE_COUNT,t.NO_COMPLETE_COUNT,t.DELAY_COMPLETE_COUNT,t.COMPLETION_RATE,t.DELAY_RATE,
             d.ID as "resultDetailsId", d.`VALUE` as "score",
             i.`NAME` as "itemName",i.`VALUE` as "itemScore",i.REMARKS