Browse Source

组织架构

傅行帆 3 years ago
parent
commit
a98e6162f2

+ 13
- 1
src/main/java/com/yunzhi/marketing/center/taUser/controller/TaUserController.java View File

1
 package com.yunzhi.marketing.center.taUser.controller;
1
 package com.yunzhi.marketing.center.taUser.controller;
2
 
2
 
3
 import com.alibaba.fastjson.JSONObject;
3
 import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
21
 import com.yunzhi.marketing.entity.*;
22
 import com.yunzhi.marketing.entity.*;
22
 import com.yunzhi.marketing.service.*;
23
 import com.yunzhi.marketing.service.*;
23
 import com.yunzhi.marketing.xlk.entity.Institution;
24
 import com.yunzhi.marketing.xlk.entity.Institution;
25
+import com.yunzhi.marketing.xlk.entity.UserInstitution;
24
 import com.yunzhi.marketing.xlk.service.IInstitutionService;
26
 import com.yunzhi.marketing.xlk.service.IInstitutionService;
27
+import com.yunzhi.marketing.xlk.service.IUserInstitutionService;
25
 import io.jsonwebtoken.lang.Collections;
28
 import io.jsonwebtoken.lang.Collections;
26
 import io.swagger.annotations.Api;
29
 import io.swagger.annotations.Api;
27
 import io.swagger.annotations.ApiOperation;
30
 import io.swagger.annotations.ApiOperation;
37
 import java.util.HashMap;
40
 import java.util.HashMap;
38
 import java.util.List;
41
 import java.util.List;
39
 import java.util.Map;
42
 import java.util.Map;
43
+import java.util.stream.Collectors;
40
 
44
 
41
 /**
45
 /**
42
  * <p>
46
  * <p>
92
     @Autowired
96
     @Autowired
93
     private IInstitutionService iInstitutionService;
97
     private IInstitutionService iInstitutionService;
94
 
98
 
99
+    @Autowired
100
+    private IUserInstitutionService userInstitutionService;
101
+
95
     /**
102
     /**
96
      * 分页查询列表
103
      * 分页查询列表
97
      * @param pageNum
104
      * @param pageNum
442
             taUser.setMiniStatus(miniStatus);
449
             taUser.setMiniStatus(miniStatus);
443
             taUser.setJobNumber(jobNumber);
450
             taUser.setJobNumber(jobNumber);
444
 
451
 
445
-            IPage<TaUser> result = iTaUserService.seleUserList(pg,taUser,getTaPersonBuildingListByUserId(request));
452
+            IPage<TaUser> result = iTaUserService.seleUserList(pg,taUser,getTaPersonBuildingListByUserId(request),getInstitutionIds(request));
446
             List<TaUser> taUserList = result.getRecords();
453
             List<TaUser> taUserList = result.getRecords();
447
             taUserList.forEach(e -> {
454
             taUserList.forEach(e -> {
448
                 List<TaTags> taTagsList = iTaUserService.getTagsList(e);
455
                 List<TaTags> taTagsList = iTaUserService.getTagsList(e);
510
                     taUser.setBuildingIds(buildings);
517
                     taUser.setBuildingIds(buildings);
511
                 }
518
                 }
512
             }
519
             }
520
+            // 绑定的组织机构返回
521
+            LambdaQueryWrapper<UserInstitution> institutionLambdaQueryWrapper = new LambdaQueryWrapper<>();
522
+            institutionLambdaQueryWrapper.eq(UserInstitution::getUserId,id);
523
+            List<UserInstitution> list = userInstitutionService.list(institutionLambdaQueryWrapper);
524
+            taUser.setInstitutionIdLis(list.stream().map(UserInstitution::getInstitutionId).collect(Collectors.toList()));
513
             responseBean.addSuccess(taUser);
525
             responseBean.addSuccess(taUser);
514
         }catch (Exception e){
526
         }catch (Exception e){
515
             e.printStackTrace();
527
             e.printStackTrace();

+ 1
- 1
src/main/java/com/yunzhi/marketing/center/taUser/mapper/TaUserMapper.java View File

29
 	
29
 	
30
 	List<TaUser> getUserList(@Param("phone") String phone,@Param("orgId") Integer orgId);
30
 	List<TaUser> getUserList(@Param("phone") String phone,@Param("orgId") Integer orgId);
31
 
31
 
32
-    IPage<TaUser> seleUserList(IPage pg,@Param("taUser") TaUser taUser,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
32
+    IPage<TaUser> seleUserList(IPage pg,@Param("taUser") TaUser taUser,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList,@Param("institutionIds") List<String> institutionIds);
33
 
33
 
34
     Integer validateWeight(@Param("buildingIds") List<String> buildingIds, @Param("buildingId") String buildingId, @Param("weight") String weight, @Param("userId")Integer userId);
34
     Integer validateWeight(@Param("buildingIds") List<String> buildingIds, @Param("buildingId") String buildingId, @Param("weight") String weight, @Param("userId")Integer userId);
35
 
35
 

+ 1
- 1
src/main/java/com/yunzhi/marketing/center/taUser/service/ITaUserService.java View File

65
      * @param taPersonBuildingListByUserId
65
      * @param taPersonBuildingListByUserId
66
      * @return
66
      * @return
67
      */
67
      */
68
-    IPage<TaUser> seleUserList(IPage pg, TaUser taUser, List<TaPersonBuilding> taPersonBuildingListByUserId);
68
+    IPage<TaUser> seleUserList(IPage pg, TaUser taUser, List<TaPersonBuilding> taPersonBuildingListByUserId,List<String> institutionIds);
69
 
69
 
70
     /**
70
     /**
71
      * 获取用户信息
71
      * 获取用户信息

+ 35
- 15
src/main/java/com/yunzhi/marketing/center/taUser/service/impl/TaUserServiceImpl.java View File

1
 package com.yunzhi.marketing.center.taUser.service.impl;
1
 package com.yunzhi.marketing.center.taUser.service.impl;
2
 
2
 
3
 import cn.binarywang.wx.miniapp.api.WxMaService;
3
 import cn.binarywang.wx.miniapp.api.WxMaService;
4
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
7
 import com.baomidou.mybatisplus.core.metadata.IPage;
25
 import com.yunzhi.marketing.service.*;
26
 import com.yunzhi.marketing.service.*;
26
 import com.yunzhi.marketing.xlk.entity.UserInstitution;
27
 import com.yunzhi.marketing.xlk.entity.UserInstitution;
27
 import com.yunzhi.marketing.xlk.mapper.UserInstitutionMapper;
28
 import com.yunzhi.marketing.xlk.mapper.UserInstitutionMapper;
29
+import me.chanjar.weixin.cp.bean.WxCpAgent;
28
 import org.apache.commons.collections.CollectionUtils;
30
 import org.apache.commons.collections.CollectionUtils;
29
 import org.springframework.beans.factory.annotation.Autowired;
31
 import org.springframework.beans.factory.annotation.Autowired;
30
 import org.springframework.stereotype.Service;
32
 import org.springframework.stereotype.Service;
499
             taPersonBuilding.setUserId(taUser.getUserId());
501
             taPersonBuilding.setUserId(taUser.getUserId());
500
             taPersonBuilding.setCreateDate(LocalDateTime.now());
502
             taPersonBuilding.setCreateDate(LocalDateTime.now());
501
             taPersonBuildingMapper.insert(taPersonBuilding);
503
             taPersonBuildingMapper.insert(taPersonBuilding);
504
+        } else {
505
+            //非置业顾问可授权多个项目
506
+            List<String> buildingIdList = taUser.getBuildingIds();
507
+            LocalDateTime nowTime = LocalDateTime.now();
508
+            buildingIdList.forEach(e -> {
509
+                TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
510
+                taPersonBuilding.setBuildingId(e);
511
+                taPersonBuilding.setUserId(taUser.getUserId());
512
+                taPersonBuilding.setCreateDate(nowTime);
513
+                taPersonBuildingMapper.insert(taPersonBuilding);
514
+            });
502
         }
515
         }
503
-//        // 这个版本取消非置业顾问授权
504
-//        else {
505
-//            //非置业顾问可授权多个项目
506
-//            List<String> buildingIdList = taUser.getBuildingIds();
507
-//            LocalDateTime nowTime = LocalDateTime.now();
508
-//            buildingIdList.forEach(e -> {
509
-//                TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
510
-//                taPersonBuilding.setBuildingId(e);
511
-//                taPersonBuilding.setUserId(taUser.getUserId());
512
-//                taPersonBuilding.setCreateDate(nowTime);
513
-//                taPersonBuildingMapper.insert(taPersonBuilding);
514
-//            });
515
-//        }
516
 
516
 
517
         return taUser;
517
         return taUser;
518
     }
518
     }
607
             });
607
             });
608
         }
608
         }
609
 
609
 
610
+        // 更新这个用户的组织机构
611
+        List<String> institutionIdLis = taUser.getInstitutionIdLis();
612
+        if (institutionIdLis.size() > 0) {
613
+            // 先删除后新增
614
+            LambdaQueryWrapper<UserInstitution> userInstitutionLambdaQueryWrapper = new LambdaQueryWrapper<>();
615
+            userInstitutionLambdaQueryWrapper.eq(UserInstitution::getUserId,taUser.getUserId());
616
+            userInstitutionMapper.delete(userInstitutionLambdaQueryWrapper);
617
+            // 新增
618
+            institutionIdLis.forEach(e -> {
619
+                UserInstitution userInstitution = new UserInstitution();
620
+                userInstitution.setInstitutionId(e);
621
+                userInstitution.setOrgId(taUser.getOrgId());
622
+                userInstitution.setUserId(taUser.getUserId());
623
+                userInstitution.setCreateDate(LocalDateTime.now());
624
+                userInstitutionMapper.insert(userInstitution);
625
+
626
+            });
627
+        }
628
+
629
+
610
         //更新person
630
         //更新person
611
         TaPerson taPerson = new TaPerson();
631
         TaPerson taPerson = new TaPerson();
612
         taPerson.setAvatarurl(taUser.getAvatar());
632
         taPerson.setAvatarurl(taUser.getAvatar());
703
      * @return
723
      * @return
704
      */
724
      */
705
     @Override
725
     @Override
706
-    public IPage<TaUser> seleUserList(IPage pg, TaUser taUser, List<TaPersonBuilding> personBuildingList) {
707
-        return taUserMapper.seleUserList(pg, taUser, personBuildingList);
726
+    public IPage<TaUser> seleUserList(IPage pg, TaUser taUser, List<TaPersonBuilding> personBuildingList,List<String> institutionIds) {
727
+        return taUserMapper.seleUserList(pg, taUser, personBuildingList,institutionIds);
708
     }
728
     }
709
 
729
 
710
     @Override
730
     @Override

+ 5
- 1
src/main/java/com/yunzhi/marketing/controller/ExtendContentController.java View File

97
             queryWrapper.ne("status",9);
97
             queryWrapper.ne("status",9);
98
             queryWrapper.eq(status != null, "status", status);
98
             queryWrapper.eq(status != null, "status", status);
99
             queryWrapper.eq( "org_id", getOrgId(request));
99
             queryWrapper.eq( "org_id", getOrgId(request));
100
+            queryWrapper.in("institution_id",getInstitutionIds(request));
100
             queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id",taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().eq("create_user",getUserId(request)));
101
             queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id",taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().eq("create_user",getUserId(request)));
101
             queryWrapper.orderByDesc("order_no");
102
             queryWrapper.orderByDesc("order_no");
102
             queryWrapper.orderByDesc("create_date");
103
             queryWrapper.orderByDesc("create_date");
186
             extendContent.setContentType("nothing");
187
             extendContent.setContentType("nothing");
187
         }
188
         }
188
         extendContent.setCreateUser(getUserId(request));
189
         extendContent.setCreateUser(getUserId(request));
189
-        extendContent.setInstitutionId(getInstitutionId(extendContent.getBuildingId()));
190
+        if (StringUtils.isNotEmpty(extendContent.getBuildingId())) {
191
+            extendContent.setInstitutionId(getInstitutionId(extendContent.getBuildingId()));
192
+        }
193
+
190
         responseBean = iExtendContentService.extendContentAdd(extendContent);
194
         responseBean = iExtendContentService.extendContentAdd(extendContent);
191
         responseBean.addSuccess(extendContent);
195
         responseBean.addSuccess(extendContent);
192
         return responseBean;
196
         return responseBean;

+ 0
- 1
src/main/java/com/yunzhi/marketing/controller/TaChannelController.java View File

140
             int channelCode= taChannelMapper.channelCode();
140
             int channelCode= taChannelMapper.channelCode();
141
             channel.setChannelCode(String.valueOf(channelCode));
141
             channel.setChannelCode(String.valueOf(channelCode));
142
             channel.setOrgId(orgId);
142
             channel.setOrgId(orgId);
143
-            channel.setInstitutionId(getInstitutionId(channel.getBuildingId()));
144
             if (taChannelService.save(channel)){
143
             if (taChannelService.save(channel)){
145
                 responseBean.addSuccess(channel);
144
                 responseBean.addSuccess(channel);
146
             }else {
145
             }else {

+ 2
- 1
src/main/java/com/yunzhi/marketing/controller/TaNewsController.java View File

81
                                    @RequestParam(value = "newsStatus", required = false) Integer newsStatus,
81
                                    @RequestParam(value = "newsStatus", required = false) Integer newsStatus,
82
                                    @RequestParam(value = "title", required = false) String title,
82
                                    @RequestParam(value = "title", required = false) String title,
83
                                    @RequestParam(value = "cityId", required = false) Integer cityId){
83
                                    @RequestParam(value = "cityId", required = false) Integer cityId){
84
-        ResponseBean responseBean = iTaNewsService.getList(pageNum, pageSize, buildingId, getOrgId(request), newsTypeId, newsStatus, title, cityId,getTaPersonBuildingListByUserId(request));
84
+        ResponseBean responseBean = iTaNewsService.getList(pageNum, pageSize, buildingId, getOrgId(request), newsTypeId, newsStatus, title, cityId,getTaPersonBuildingListByUserId(request),getInstitutionIds(request));
85
         return responseBean;
85
         return responseBean;
86
     }
86
     }
87
 
87
 
129
         Integer cityId = iTaBuildingService.getCityById(taNews.getBuildingId());
129
         Integer cityId = iTaBuildingService.getCityById(taNews.getBuildingId());
130
         taNews.setCityId(cityId);
130
         taNews.setCityId(cityId);
131
         taNews.setOrgId(getOrgId(request));
131
         taNews.setOrgId(getOrgId(request));
132
+        taNews.setInstitutionId(getInstitutionId(taNews.getBuildingId()));
132
         ResponseBean responseBean = iTaNewsService.addTaNews(taNews);
133
         ResponseBean responseBean = iTaNewsService.addTaNews(taNews);
133
         return responseBean;
134
         return responseBean;
134
     }
135
     }

+ 1
- 1
src/main/java/com/yunzhi/marketing/controller/TaNewsTypeController.java View File

57
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
57
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58
                                        @RequestParam(value = "buildingId", required = false) String buildingId,
58
                                        @RequestParam(value = "buildingId", required = false) String buildingId,
59
                                        HttpServletRequest request){
59
                                        HttpServletRequest request){
60
-        ResponseBean responseBean = iTaNewsTypeService.getList(pageNum, pageSize, buildingId, getOrgId(request),getTaPersonBuildingListByUserId(request));
60
+        ResponseBean responseBean = iTaNewsTypeService.getList(pageNum, pageSize, buildingId, getOrgId(request),getTaPersonBuildingListByUserId(request),getInstitutionIds(request));
61
         return responseBean;
61
         return responseBean;
62
     }
62
     }
63
 
63
 

+ 1
- 1
src/main/java/com/yunzhi/marketing/controller/TdBuildingTypeController.java View File

113
 
113
 
114
     /**
114
     /**
115
      * 分页查询列表
115
      * 分页查询列表
116
-     * @param pageNum
116
+     * @param
117
      * @param pageSize
117
      * @param pageSize
118
      * @return
118
      * @return
119
      */
119
      */

+ 5
- 0
src/main/java/com/yunzhi/marketing/entity/TaNewsType.java View File

59
      * 状态
59
      * 状态
60
      */
60
      */
61
     private Integer status;
61
     private Integer status;
62
+
63
+    /**
64
+     * 组织机构id
65
+     */
66
+    private String institutionId;
62
 }
67
 }

+ 1
- 1
src/main/java/com/yunzhi/marketing/service/ITaNewsService.java View File

27
      * @param newsTypeId
27
      * @param newsTypeId
28
      * @return
28
      * @return
29
      */
29
      */
30
-    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus, String title, Integer cityId, List<TaPersonBuilding> personBuildingList);
30
+    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus, String title, Integer cityId, List<TaPersonBuilding> personBuildingList,List<String> institutionIds);
31
 
31
 
32
     /**
32
     /**
33
      * 根据Id查询资讯数据
33
      * 根据Id查询资讯数据

+ 1
- 1
src/main/java/com/yunzhi/marketing/service/ITaNewsTypeService.java View File

25
      * @param orgId
25
      * @param orgId
26
      * @return
26
      * @return
27
      */
27
      */
28
-    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList);
28
+    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList,List<String> institutionIds);
29
 
29
 
30
     /**
30
     /**
31
      * 根据Id查询资讯类型数据
31
      * 根据Id查询资讯类型数据

+ 2
- 1
src/main/java/com/yunzhi/marketing/service/impl/TaNewsServiceImpl.java View File

55
 
55
 
56
 
56
 
57
     @Override
57
     @Override
58
-    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus, String title, Integer cityId, List<TaPersonBuilding> personBuildingList) {
58
+    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, Integer newsTypeId, Integer newsStatus, String title, Integer cityId, List<TaPersonBuilding> personBuildingList,List<String> institutionIds) {
59
         ResponseBean responseBean = new ResponseBean();
59
         ResponseBean responseBean = new ResponseBean();
60
 
60
 
61
         IPage<TaNews> page = new Page<>();
61
         IPage<TaNews> page = new Page<>();
70
         taNewsQueryWrapper.eq("status", 1);
70
         taNewsQueryWrapper.eq("status", 1);
71
         taNewsQueryWrapper.eq(cityId != null, "city_id", cityId);
71
         taNewsQueryWrapper.eq(cityId != null, "city_id", cityId);
72
         taNewsQueryWrapper.like(title!=null,"news_name", title);
72
         taNewsQueryWrapper.like(title!=null,"news_name", title);
73
+        taNewsQueryWrapper.in("institution_id",institutionIds);
73
         taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id",personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
74
         taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id",personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
74
         taNewsQueryWrapper.orderByAsc("news_status");
75
         taNewsQueryWrapper.orderByAsc("news_status");
75
         taNewsQueryWrapper.orderByDesc("weight","create_date");
76
         taNewsQueryWrapper.orderByDesc("weight","create_date");

+ 5
- 1
src/main/java/com/yunzhi/marketing/service/impl/TaNewsTypeServiceImpl.java View File

42
 
42
 
43
 
43
 
44
     @Override
44
     @Override
45
-    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList) {
45
+    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList,List<String> institutionIds) {
46
         ResponseBean responseBean = new ResponseBean();
46
         ResponseBean responseBean = new ResponseBean();
47
         IPage<TaNewsType> page = new Page<>();
47
         IPage<TaNewsType> page = new Page<>();
48
         page.setCurrent(pageNum);
48
         page.setCurrent(pageNum);
52
         taNewsQueryWrapper.eq(StringUtils.isNotBlank(buildingId),"building_id", buildingId);
52
         taNewsQueryWrapper.eq(StringUtils.isNotBlank(buildingId),"building_id", buildingId);
53
         taNewsQueryWrapper.eq(orgId != null,"org_id", orgId);
53
         taNewsQueryWrapper.eq(orgId != null,"org_id", orgId);
54
         taNewsQueryWrapper.eq("status", 1);
54
         taNewsQueryWrapper.eq("status", 1);
55
+        taNewsQueryWrapper.in("institution_id",institutionIds);
55
         taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id", personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
56
         taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id", personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
56
         taNewsQueryWrapper.orderByDesc("create_date");
57
         taNewsQueryWrapper.orderByDesc("create_date");
57
         IPage<TaNewsType> typeIPage = this.page(page, taNewsQueryWrapper);
58
         IPage<TaNewsType> typeIPage = this.page(page, taNewsQueryWrapper);
99
         taNewsType.setCreateDate(LocalDateTime.now());
100
         taNewsType.setCreateDate(LocalDateTime.now());
100
         taNewsType.setStatus(1);
101
         taNewsType.setStatus(1);
101
         taNewsType.setOrgId(orgId);
102
         taNewsType.setOrgId(orgId);
103
+        String buildingId = taNewsType.getBuildingId();
104
+        TaBuilding building = iTaBuildingService.getById(buildingId);
105
+        taNewsType.setInstitutionId(building.getInstitutionId());
102
         this.save(taNewsType);
106
         this.save(taNewsType);
103
         responseBean.addSuccess(taNewsType);
107
         responseBean.addSuccess(taNewsType);
104
         return responseBean;
108
         return responseBean;

+ 15
- 1
src/main/resources/mapper/TaUserMapper.xml View File

66
             d.person_id as consultant_person_id,
66
             d.person_id as consultant_person_id,
67
             if(d.person_id is not null,1,0) as mini_status
67
             if(d.person_id is not null,1,0) as mini_status
68
         FROM
68
         FROM
69
-            ta_user t
69
+            (SELECT
70
+                u.*
71
+                FROM
72
+                ta_user u
73
+                LEFT JOIN xlk_user_institution i ON u.user_id = i.user_id
74
+                WHERE
75
+                u.org_id = #{taUser.orgId}
76
+                <if test="institutionIds != null and institutionIds.size > 0">
77
+                    AND i.institution_id in
78
+                    <foreach collection="institutionIds" item="item" open="(" close=")" separator=",">
79
+                        #{item}
80
+                    </foreach>
81
+                </if>
82
+                GROUP BY
83
+                u.user_id) t
70
             LEFT JOIN ta_person_building b ON t.user_id = b.user_id
84
             LEFT JOIN ta_person_building b ON t.user_id = b.user_id
71
             LEFT JOIN ta_person d on t.user_id = d.user_id
85
             LEFT JOIN ta_person d on t.user_id = d.user_id
72
         WHERE
86
         WHERE