Browse Source

修复绩效bug

lihui007 3 years ago
parent
commit
c996a77325

+ 5 - 0
operation_manager/src/main/java/com/huaxu/client/UserCenterClient.java

@@ -63,4 +63,9 @@ public interface UserCenterClient {
      */
     @RequestMapping(value = "/user/findMaintainerCount", method = RequestMethod.GET)
     Integer findMaintainerCount(@RequestParam("endDate") String endDate);
+
+    @GetMapping(value = "/user/findAllUserList")
+    List<UserEntity> findAllUserList(@RequestParam(value = "companyOrgId", required = false) Integer companyOrgId,
+                                                  @RequestParam(value = "tenantId", required = false)String tenantId,
+                                                  @RequestParam(value = "type", required = false)Integer type);
 }

+ 11 - 16
operation_manager/src/main/java/com/huaxu/evaluation/job/EvaluationResultJob.java

@@ -12,6 +12,7 @@ import com.huaxu.evaluation.vo.EvaluationItemValueVo;
 import com.huaxu.evaluation.vo.EvaluationItemVo;
 import com.huaxu.evaluation.vo.EvaluationResultTaskDetailsVo;
 import com.huaxu.exception.ServiceException;
+import com.huaxu.model.AjaxMessage;
 import com.huaxu.order.dao.WorkOrderManageMapper;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.task.entity.UserEntity;
@@ -71,7 +72,7 @@ public class EvaluationResultJob {
     /**
      * 运维类型
      */
-    private static final String OPERATION_TYPE = "3";
+    private static final int OPERATION_TYPE = 3;
 
     /**
      * 保存考评项目设置
@@ -81,11 +82,11 @@ public class EvaluationResultJob {
     /**
      * 保存用户ID
      */
-    static Map<String,  List<Integer>> userIdsMap = new HashMap<>();
+    static Map<String,  List<UserEntity>> userInfoMap = new HashMap<>();
 
 
     /***
-     *  @Scheduled(cron = "0/5 * * * * ?")
+     * @Scheduled(cron = "0/5 * * * * ?")
      *  异步启动定时任务
      * @Author lihui
      * @Date 18:26 2021/5/17
@@ -142,17 +143,11 @@ public class EvaluationResultJob {
         List<EvaluationItemVo> itemEntityList = null;
         Integer cycle = evaluationCycleEntity.getType();
         // 查询该租户公司下的所有用户
-        List<Integer> userIds = getUserIds(evaluationCycleEntity.getTenantId(), evaluationCycleEntity.getCompanyOrgId());
-        Map<Long, UserEntity> userEntityMap = toMap(userIds);
-        if (userEntityMap == null) {
+        List<UserEntity> userEntityList = getUserInfo(evaluationCycleEntity.getTenantId(), evaluationCycleEntity.getCompanyOrgId());
+        if (userEntityList == null) {
             return;
         }
-        for (Integer userId : userIds) {
-            UserEntity userEntity = userEntityMap.get(Long.parseLong(userId.toString()));
-            // 过滤掉不是运维的用户
-            if (userEntity == null || !OPERATION_TYPE.equals(userEntity.getUserType())) {
-                continue;
-            }
+        for (UserEntity userEntity : userEntityList) {
             itemEntityList = findItem(userEntity);
             // 1.获取部门考评项设置,如果未设置直接过滤
             // 2.判断部门考评项目设置里面有没有设置对应的考评周期,没有就直接过滤
@@ -176,12 +171,12 @@ public class EvaluationResultJob {
      * @param companyOrgId :  公司id
      * @return java.util.List<java.lang.Integer>
      **/
-    private List<Integer> getUserIds(String tenantId, Integer companyOrgId){
+    private List<UserEntity> getUserInfo(String tenantId, Integer companyOrgId){
         String key = tenantId + "_" + companyOrgId;
-        List<Integer> result = userIdsMap.get(key);
+        List<UserEntity> result = userInfoMap.get(key);
         if (result == null){
-            result = userCenterClient.findUserIdsByPermissonOrg(tenantId, companyOrgId, null);
-            userIdsMap.put(key, result);
+            result = userCenterClient.findAllUserList(companyOrgId, tenantId, OPERATION_TYPE);
+            userInfoMap.put(key, result);
         }
         return result;
     }

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

@@ -97,7 +97,7 @@ public class EvaluationResultServiceImpl implements EvaluationResultService {
         }
         for (EvaluationGradePercentageVo vo: list) {
             vo.setEvaluationGrade(gradMap.get(vo.getEvaluationGrade()));
-            vo.setPercentage(new BigDecimal(vo.getPercentage()).divide(total,4, BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_DOWN).toString());
+            vo.setPercentageRate(new BigDecimal(vo.getPercentage()).divide(total,4, BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_DOWN).toString());
         }
         return list;
     }
@@ -184,7 +184,7 @@ public class EvaluationResultServiceImpl implements EvaluationResultService {
         BeanUtils.copyProperties(dto, queryDto);
         // 季度需要格式化月份
         if (dto.getCycle() == EvaluationCycleEnums.QUARTER.getType()){
-            dto.setMonth(format(dto.getCycle(), dto.getMonth()));
+            queryDto.setMonth(format(dto.getCycle(), dto.getMonth()));
         }
         // 获取用户权限
         LoginUser currentUser = UserUtil.getCurrentUser();

+ 4 - 1
operation_manager/src/main/java/com/huaxu/evaluation/vo/EvaluationGradePercentageVo.java

@@ -20,7 +20,10 @@ public class EvaluationGradePercentageVo {
     @ApiModelProperty(value = "绩效等级")
     private String evaluationGrade;
 
-    @ApiModelProperty(value = "占比")
+    @ApiModelProperty(value = "占比")
     private String percentage;
 
+    @ApiModelProperty(value = "占比率")
+    private String percentageRate;
+
 }

+ 1 - 0
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -1068,6 +1068,7 @@ public class WorkOrderManageController {
                         "yyyy-MM-dd HH:mm:ss");
             }
             workOrderManageDto.setPlanFinishDate(planFinishDate);
+            workOrderManageDto.setOrderStatusName(EvaluationUtil.getOrderStatusName(workOrderManageDto.getOrderStatus()));
         }
         return new AjaxMessage<>(ResultStatus.OK, pages);
     }

+ 14 - 0
operation_manager/src/main/java/com/huaxu/utils/EvaluationUtil.java

@@ -401,6 +401,20 @@ public class EvaluationUtil {
     }
 
 
+    public static String getOrderStatusName(int status){
+        switch (status) {
+            case 0 :
+                return "待处理";
+            case 1 :
+                return "处理中";
+            case 2 :
+                return "完成";
+            case 3 :
+                return "终止";
+        }
+        return "";
+    }
+
     public static void main(String[] args) {
         System.out.println(EvaluationUtil.getStartTime(1, 15));
         System.out.println(EvaluationUtil.getEndTime(1, 15));

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

@@ -157,6 +157,7 @@
             </if>
             and a.TENANT_ID = #{tenantId}
             and a.status=1
+            and v.status=1
         </where>
     </select>
 

+ 1 - 1
user_center/src/main/java/com/huaxu/config/ResourceServerConfig.java

@@ -17,7 +17,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                 .and()
                 .authorizeRequests()
                 .antMatchers("/swagger-ui.html","/webjars/**", "/webjars/**", "/swagger-resources/**",
-                       "/user/findUserIdsByPermissonOrg","/user/findUserIdsByUserIds","/verManage/selectVer",
+                       "/user/findUserIdsByPermissonOrg","/user/findAllUserList", "/user/findUserIdsByUserIds","/verManage/selectVer",
                        "/v2/**")
                 .permitAll() //配置不需要身份认证的请求路径
                 .anyRequest().authenticated() //其他所有访问路径都需要身份认证

+ 8 - 7
user_center/src/main/java/com/huaxu/controller/UserController.java

@@ -283,15 +283,16 @@ public class UserController {
         return new AjaxMessage<>(ResultStatus.OK, userList);
     }
 
-    /**
-     * 按公司 租户及用户类型查询所有用户信息
-     * @return
-     */
+
+    @ApiOperation(value = "按公司 租户及用户类型查询所有用户信息")
     @RequestMapping(value = "/findAllUserList", method = RequestMethod.GET)
-    public AjaxMessage<List<UserEntity>> findAllUserList(Integer companyOrgId, String tenantId,int type) {
-        List<UserEntity> userList = userService.findAllUserList(companyOrgId, tenantId, type);
-        return new AjaxMessage<>(ResultStatus.OK, userList);
+    public List<UserEntity> findAllUserList(
+            @RequestParam(value = "companyOrgId", required = false) Integer companyOrgId,
+            @RequestParam(value = "tenantId", required = false)String tenantId,
+            @RequestParam(value = "type", required = false)Integer type){
+        return userService.findAllUserList(companyOrgId, tenantId, type);
     }
+
     @RequestMapping(value = "/findUserIdsByUserIds", method = RequestMethod.POST)
     public List<UserEntity> findUserIdsByUserIds(Long[] ids) {
         List list = Arrays.asList(ids.clone());

+ 1 - 1
user_center/src/main/resources/mapper/UserMapper.xml

@@ -205,7 +205,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     </select>
     <select id="findAllUserListByType" resultType="com.huaxu.entity.UserEntity">
-        select a.id,a.DEPT_ORG_ID,a.COMPANY_ORG_ID,
+        select a.id,a.DEPT_ORG_ID,a.COMPANY_ORG_ID,a.TENANT_ID,
         a.USERNAME,company.ORG_NAME
         companyOrgName,department.ORG_NAME deptOrgName,
         a.phone phone