Browse Source

录单时搜索业务员,增加业务员搜索结果的展示字段,用于区分具体的业务员

huihui 1 year ago
parent
commit
871c0f600c

+ 0 - 17
src/main/java/com/ydtech/config/scheduledConfig/ScheduledConfig.java

@@ -1,17 +0,0 @@
-package com.ydtech.config.scheduledConfig;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-
-@Configuration
-public class ScheduledConfig {
-    @Bean
-    public ThreadPoolTaskScheduler threadPoolTaskScheduler() {
-        ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
-        threadPoolTaskScheduler.setPoolSize(5);
-        threadPoolTaskScheduler.setRemoveOnCancelPolicy(true);
-        return threadPoolTaskScheduler;
-    }
-}
-

+ 2 - 2
src/main/java/com/ydtech/modules/admin/model/vo/SysUserBaseVO.java

@@ -120,10 +120,10 @@ public class SysUserBaseVO {
     @ApiModelProperty(value = "银行卡号信息")
     private String bankCardNumbers;
 
-
     @ApiModelProperty(value = "身份证号")
     private String identity;
 
     @ApiModelProperty(value = "居住地址")
-    private String liveAddress = "";
+    private String liveAddress;
+
 }

+ 56 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1533,7 +1533,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             treeShowLevel.setShowLevel("subordinate");
         }
         //获取领导字段不为空的人的ID
-        List<SysUser> users = lambdaQuery().isNotNull(SysUser::getLeaderId).list();
+        List<SysUser> users = lambdaQuery()
+                .isNotNull(SysUser::getLeaderId)
+                .ne(SysUser::getStatus, 0)
+                .list();
+        System.out.println(JSONObject.toJSONString(users));
 
         if (users == null || users.size() == 0) {
             return new ArrayList<>();
@@ -1866,11 +1870,61 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public List<SysUserBaseVO> getAllUsersByHospitality(SysUserVOExt sysUserVOExt) {
         if (StringUtils.isNotEmpty(sysUserVOExt.getUserId()) || StringUtils.isNotEmpty(sysUserVOExt.getIdentity()) ||
                 StringUtils.isNotEmpty(sysUserVOExt.getMobile()) || StringUtils.isNotEmpty(sysUserVOExt.getName())) {
-            return super.baseMapper.getAllUsersByHospitality(sysUserVOExt);
+            List<SysUserBaseVO> allUsersByHospitality = super.baseMapper.getAllUsersByHospitality(sysUserVOExt);
+            //数据隔离操作
+            List<SysUserBaseVO> divideUserInfo = this.dataDivide(allUsersByHospitality);
+            return divideUserInfo;
         }
         return new ArrayList<SysUserBaseVO>();
     }
 
+    private List<SysUserBaseVO> dataDivide(List<SysUserBaseVO> allUsersByHospitality) {
+        List<SysUserBaseVO> divideUserInfo = new ArrayList<>();
+        List<SysUser> userList = new ArrayList<>();
+//        String userId = BaseController.getUserId();
+        String userId = "99D1502";
+        if ("admin".equals(userId) || "99D1501".equals(userId)) {
+            return allUsersByHospitality;
+        }
+        SysUser sysUser = sysUserMapper.selectById(userId);
+        if ("99D1502".equals(userId)) {
+            List<SysUser> leaderUsers = sysUserMapper.selectByLeadId(userId);
+            List<String> leaderInfoList = leaderUsers.stream()
+                    .filter(userInfo -> !StringUtils.isNullOrEmpty(userInfo) && StringUtils.isNotEmpty(userInfo.getId())
+                            && !userInfo.getId().contains("M"))
+                    .map(userInfo -> userInfo.getId()).collect(Collectors.toList());
+            if (!StringUtils.isNullOrEmpty(leaderInfoList)) {
+                QueryWrapper<SysUser> leaderIds = new QueryWrapper<SysUser>().in("leader_id", leaderInfoList);
+                List<SysUser> sysUsers = sysUserMapper.selectList(leaderIds);
+                userList.addAll(sysUsers);
+            }
+            userList.addAll(leaderUsers);
+        } else if ("99D1502".equals(sysUser.getLeaderId())) {
+            userList.add(sysUser);
+            List<SysUser> leaderUsers = sysUserMapper.selectByLeadId(userId);
+            userList.addAll(leaderUsers);
+        } else {
+            List<SysUser> sysUsers = sysUserMapper.selectByLeadId(sysUser.getLeaderId());
+            SysUser loginUserLeader = sysUserMapper.selectById(sysUser.getLeaderId());
+            userList.add(loginUserLeader);
+            userList.addAll(sysUsers);
+        }
+
+        userList.stream()
+                .filter(user -> !StringUtils.isNullOrEmpty(user) && StringUtils.isNotEmpty(user.getIdentity()))
+                .forEach(user -> {
+                    allUsersByHospitality.stream()
+                            .filter(selectUser -> !StringUtils.isNullOrEmpty(selectUser) && StringUtils.isNotEmpty(selectUser.getIdentity())
+                                    && user.getIdentity().equals(selectUser.getIdentity()))
+                            .forEach(selectUser -> {
+                                selectUser.setLeaderId(user.getLeaderId());
+                                selectUser.setLeaderName(user.getLeaderName());
+                                divideUserInfo.add(selectUser);
+                            });
+                });
+        return divideUserInfo;
+    }
+
     /**
      * @version
      * @author: hxl

+ 0 - 48
src/main/java/com/ydtech/utils/scheduledFutureUtil/ScheduledFutureHolder.java

@@ -1,48 +0,0 @@
-package com.ydtech.utils.scheduledFutureUtil;
-
-import java.util.concurrent.ScheduledFuture;
-
-/**
- * 任务执行的包装类
- */
-public class ScheduledFutureHolder {
-    private ScheduledFuture<?> scheduledFuture;
-
-    private Class<? extends Runnable> runnableClass;
-
-    private String corn;
-
-    public ScheduledFuture<?> getScheduledFuture() {
-        return scheduledFuture;
-    }
-
-    public void setScheduledFuture(ScheduledFuture<?> scheduledFuture) {
-        this.scheduledFuture = scheduledFuture;
-    }
-
-    public Class<? extends Runnable> getRunnableClass() {
-        return runnableClass;
-    }
-
-    public void setRunnableClass(Class<? extends Runnable> runnableClass) {
-        this.runnableClass = runnableClass;
-    }
-
-    public String getCorn() {
-        return corn;
-    }
-
-    public void setCorn(String corn) {
-        this.corn = corn;
-    }
-
-    @Override
-    public String toString() {
-        return "ScheduledFutureHolder{" +
-                "scheduledFuture=" + scheduledFuture +
-                ", runnableClass=" + runnableClass +
-                ", corn='" + corn + '\'' +
-                '}';
-    }
-}
-

+ 0 - 40
src/main/java/com/ydtech/utils/scheduledFutureUtil/ScheduledFutureUtil.java

@@ -1,40 +0,0 @@
-package com.ydtech.utils.scheduledFutureUtil;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-import org.springframework.scheduling.support.CronTrigger;
-import org.springframework.stereotype.Component;
-
-import java.util.HashMap;
-import java.util.concurrent.ScheduledFuture;
-
-@Slf4j
-@Component
-public class ScheduledFutureUtil {
-    //存储任务执行的包装类
-    public static HashMap<String, ScheduledFutureHolder> scheduleMap = new HashMap<>();
-    @Autowired
-    private ThreadPoolTaskScheduler threadPoolTaskScheduler;
-
-    public  void startJob(Runnable runnable, String cron) {
-        //将任务交给任务调度器执行
-        ScheduledFuture<?> schedule = threadPoolTaskScheduler.schedule(runnable, new CronTrigger(cron));
-        //将任务包装成ScheduledFutureHolder
-        ScheduledFutureHolder scheduledFutureHolder = new ScheduledFutureHolder();
-        scheduledFutureHolder.setScheduledFuture(schedule);
-        scheduledFutureHolder.setRunnableClass(runnable.getClass());
-        scheduledFutureHolder.setCorn(cron);
-        scheduleMap.put(scheduledFutureHolder.getRunnableClass().getName(), scheduledFutureHolder);
-    }
-
-    public void endJob(String className){
-        if(ScheduledFutureUtil.scheduleMap.containsKey(className)){//如果包含这个任务
-            ScheduledFuture<?> scheduledFuture = ScheduledFutureUtil.scheduleMap.get(className).getScheduledFuture();
-            if(scheduledFuture!=null){
-                scheduledFuture.cancel(true);
-                log.info("{}任务已停止",className);
-            }
-        }
-    }
-}

+ 6 - 4
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -868,8 +868,10 @@
         su.id as userId,
         su.name,
         info.sex,
+        info.live_address,
         su.mobile,
         su.status,
+        su.identity,
         sd.id as deptId,
         sd.name as deptName,
         t4.id as roleId,
@@ -901,16 +903,16 @@
         su.status != 0 AND su.id LIKE '%M%' and su.id!='admin'
         <if test='user !=null  '>
             <if test='user.name !=null and user.name!="" '>
-                and su.name = #{user.name}
+                and su.name like concat('%', #{user.name}, '%')
             </if>
             <if test='user.userId !=null and user.userId!="" '>
-                and su.id = #{user.userId}
+                and su.id like concat('%', #{user.userId}, '%')
             </if>
             <if test='user.mobile !=null and user.mobile!=""  '>
-                and su.mobile = #{user.mobile}
+                and su.mobile like concat('%', #{user.mobile}, '%')
             </if>
             <if test='user.identity !=null and user.identity!=""  '>
-                and su.identity = #{user.identity}
+                and su.identity like concat('%', #{user.identity}, '%')
             </if>
         </if>
     </select>