wangliang 1 vuosi sitten
vanhempi
commit
03d5b1b7e6

+ 8 - 18
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysUserRoleServiceImpl.java

@@ -3,6 +3,7 @@ package com.qmth.sop.business.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.sop.business.bean.dto.UserDto;
+import com.qmth.sop.business.bean.result.CrmProjectResult;
 import com.qmth.sop.business.bean.result.MenuResult;
 import com.qmth.sop.business.cache.CommonCacheService;
 import com.qmth.sop.business.entity.*;
@@ -193,6 +194,7 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
             List<Long> sysRoleOtherList = new ArrayList<>();
             for (SysRole s : sysRoleList) {
                 if (s.getType() == RoleTypeEnum.BUSSINESS) {
+                    CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(sopNo, null);
                     List<TBService> tbServiceList = tbServiceService.listByIds(Arrays.asList(serviceId));
                     if (!CollectionUtils.isEmpty(tbServiceList)) {
                         List<String> serviceLeadIdList = new ArrayList<>();
@@ -204,26 +206,14 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
                         userIdList.addAll(serviceLeadIdList);
                     }
                 } else if (s.getType() == RoleTypeEnum.REGION_MANAGER) {
-                    List<TBCrm> tbCrmList = tbCrmService.list(new QueryWrapper<TBCrm>().lambda().eq(TBCrm::getServiceId, serviceId));
-                    if (!CollectionUtils.isEmpty(tbCrmList)) {
-                        List<String> leadIdList = new ArrayList<>();
-                        for (TBCrm t : tbCrmList) {
-                            if (Objects.nonNull(t.getLeadId())) {
-                                leadIdList.add(String.valueOf(t.getLeadId()));
-                            }
-                        }
-                        userIdList.addAll(leadIdList);
+                    CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(sopNo, null);
+                    if (Objects.nonNull(crmProjectResult) && Objects.nonNull(crmProjectResult.getRegionManagerId())) {
+                        userIdList.addAll(Arrays.asList(String.valueOf(crmProjectResult.getRegionManagerId())));
                     }
                 } else if (s.getType() == RoleTypeEnum.REGION_COORDINATOR) {
-                    List<TBCrm> tbCrmList = tbCrmService.list(new QueryWrapper<TBCrm>().lambda().eq(TBCrm::getServiceId, serviceId));
-                    if (!CollectionUtils.isEmpty(tbCrmList)) {
-                        List<String> regionCoordinatorIdList = new ArrayList<>();
-                        for (TBCrm t : tbCrmList) {
-                            if (Objects.nonNull(t.getRegionCoordinatorId())) {
-                                regionCoordinatorIdList.add(String.valueOf(t.getRegionCoordinatorId()));
-                            }
-                        }
-                        userIdList.addAll(regionCoordinatorIdList);
+                    CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(sopNo, null);
+                    if (Objects.nonNull(crmProjectResult) && Objects.nonNull(crmProjectResult.getRegionCoordinatorId())) {
+                        userIdList.addAll(Arrays.asList(String.valueOf(crmProjectResult.getRegionCoordinatorId())));
                     }
                 } else {
                     sysRoleOtherList.add(s.getId());