Browse Source

Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev

魏超 5 years ago
parent
commit
63b83c7958

+ 2
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java View File

@@ -33,4 +33,6 @@ public interface TaUserMapper extends BaseMapper<TaUser> {
33 33
     Integer validateWeight(@Param("buildingIds") List<String> buildingIds, @Param("buildingId") String buildingId, @Param("weight") String weight, @Param("userId")Integer userId);
34 34
 
35 35
     TaUser getAdminByAppID(@Param("appid") String appID);
36
+
37
+    List<String> getBuildingIdsOf(@Param("userId") Integer userId,@Param("buildingId") String buildingId);
36 38
 }

+ 3
- 10
src/main/java/com/huiju/estateagents/controller/TaBuildingReportController.java View File

@@ -1,25 +1,18 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3
-import com.alibaba.fastjson.JSON;
4 3
 import com.alibaba.fastjson.JSONArray;
5 4
 import com.alibaba.fastjson.JSONObject;
6 5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
8 7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8
+import com.huiju.estateagents.base.BaseController;
9 9
 import com.huiju.estateagents.base.ResponseBean;
10 10
 import com.huiju.estateagents.entity.TaBuildingReport;
11 11
 import com.huiju.estateagents.service.ITaBuildingReportService;
12 12
 import org.slf4j.Logger;
13 13
 import org.slf4j.LoggerFactory;
14 14
 import org.springframework.beans.factory.annotation.Autowired;
15
-import org.springframework.web.bind.annotation.PathVariable;
16
-import org.springframework.web.bind.annotation.RequestBody;
17
-import org.springframework.web.bind.annotation.RequestMapping;
18
-import org.springframework.web.bind.annotation.RequestMethod;
19
-import org.springframework.web.bind.annotation.RequestParam;
20
-import org.springframework.web.bind.annotation.ResponseBody;
21
-import org.springframework.web.bind.annotation.RestController;
22
-import com.huiju.estateagents.base.BaseController;
15
+import org.springframework.web.bind.annotation.*;
23 16
 
24 17
 import javax.servlet.http.HttpServletRequest;
25 18
 import java.time.LocalDateTime;
@@ -52,7 +45,7 @@ public class TaBuildingReportController extends BaseController {
52 45
      */
53 46
     @RequestMapping(value="/admin/taBuildingReports",method= RequestMethod.GET)
54 47
     public ResponseBean taBuildingReportList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
55
-                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
48
+                                             @RequestParam(value ="pageSize",defaultValue = "20") Integer pageSize,
56 49
                                              HttpServletRequest request){
57 50
         ResponseBean responseBean = new ResponseBean();
58 51
         try {

+ 8
- 4
src/main/java/com/huiju/estateagents/controller/TsConsultantKpiController.java View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
8 8
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9 9
 import com.huiju.estateagents.base.BaseController;
10 10
 import com.huiju.estateagents.base.ResponseBean;
11
+import com.huiju.estateagents.center.taUser.entity.TaUser;
11 12
 import com.huiju.estateagents.common.DateUtils;
12 13
 import com.huiju.estateagents.common.ExcelUtils;
13 14
 import com.huiju.estateagents.common.StringUtils;
@@ -15,6 +16,7 @@ import com.huiju.estateagents.entity.*;
15 16
 import com.huiju.estateagents.excel.ConsultantKPIExport;
16 17
 import com.huiju.estateagents.excel.TaActivityDynamicEnlistExport;
17 18
 import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
19
+import io.swagger.models.auth.In;
18 20
 import org.slf4j.Logger;
19 21
 import org.slf4j.LoggerFactory;
20 22
 import org.springframework.beans.factory.annotation.Autowired;
@@ -76,11 +78,12 @@ public class TsConsultantKpiController extends BaseController {
76 78
         }
77 79
 
78 80
         Integer orgId = getOrgId(request);
81
+        Integer userId = getUserId(request);
79 82
         try {
80 83
             // 汇总明细
81
-            IPage<TsConsultantKpi> result = iTsConsultantKpiService.stsKPIDaily(pageNum, pageSize, orgId, buildingId, startDate, endDate, StringUtils.humpToLine(asc), StringUtils.humpToLine(desc));
84
+            IPage<TsConsultantKpi> result = iTsConsultantKpiService.stsKPIDaily(pageNum, pageSize, orgId, userId, buildingId, startDate, endDate, StringUtils.humpToLine(asc), StringUtils.humpToLine(desc));
82 85
             // 汇总
83
-            TsConsultantKpi total = iTsConsultantKpiService.stsKPITotalByOrg(orgId, buildingId, startDate, endDate);
86
+            TsConsultantKpi total = iTsConsultantKpiService.stsKPITotalByOrg(orgId, userId, buildingId, startDate, endDate);
84 87
             return ResponseBean.success(new HashMap<String, Object>(){{
85 88
                 put("paged", result);
86 89
                 put("total", total);
@@ -116,10 +119,11 @@ public class TsConsultantKpiController extends BaseController {
116 119
         }
117 120
 
118 121
         Integer orgId = getOrgId(request);
122
+        Integer userId = getUserId(request);
119 123
         try {
120 124
 
121 125
             // 汇总明细
122
-            List<ConsultantKPIExport> result = iTsConsultantKpiService.stsKPIDailyExport(orgId, buildingId, startDate, endDate);
126
+            List<ConsultantKPIExport> result = iTsConsultantKpiService.stsKPIDailyExport(orgId, userId, buildingId, startDate, endDate);
123 127
             ExcelUtils.flush(response, ConsultantKPIExport.class, result, "置业顾问KPI统计" + DateUtils.today());
124 128
         } catch (Exception e){
125 129
 //            e.printStackTrace();
@@ -139,7 +143,7 @@ public class TsConsultantKpiController extends BaseController {
139 143
             }
140 144
 
141 145
             startTime = DateUtils.day2LocalDateime(startDate.substring(0,4) + "-" + startDate.substring(4, 6) + "-" + startDate.substring(6, 8));
142
-            endTime = DateUtils.day2LocalDateime(endDate.substring(0,4) + "-" + endDate.substring(4, 6) + "-" + endDate.substring(6, 8));
146
+            endTime = DateUtils.dayToLocalDateime(endDate.substring(0,4) + "-" + endDate.substring(4, 6) + "-" + endDate.substring(6, 8) + " 23:59:59");
143 147
         }
144 148
 
145 149
         return new LocalDateTime[]{startTime, endTime};

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonVisitRecordMapper.java View File

@@ -86,4 +86,6 @@ public interface TaPersonVisitRecordMapper extends BaseMapper<TaPersonVisitRecor
86 86
     List<TaPersonVisitRecord> selectData();
87 87
 
88 88
     List<TaPersonVisitRecord> selectTapersonFromShare();
89
+
90
+    Integer selectTodayVisitCount(@Param("orgId") Integer orgId,@Param("nowDate") LocalDateTime now);
89 91
 }

+ 25
- 6
src/main/java/com/huiju/estateagents/mapper/TsConsultantKpiMapper.java View File

@@ -2,7 +2,6 @@ package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.huiju.estateagents.entity.TaPerson;
5
-import com.huiju.estateagents.entity.TaShareCount;
6 5
 import com.huiju.estateagents.entity.TsConsultantKpi;
7 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
8 7
 import com.huiju.estateagents.excel.ConsultantKPIExport;
@@ -23,27 +22,47 @@ import java.util.List;
23 22
 @Mapper
24 23
 public interface TsConsultantKpiMapper extends BaseMapper<TsConsultantKpi> {
25 24
 
25
+    /**
26
+     * 置业KPI 汇总
27
+     * @param page
28
+     * @param orgId
29
+     * @param buildingIds
30
+     * @param startDate
31
+     * @param endDate
32
+     * @param asc
33
+     * @param desc
34
+     * @return
35
+     */
26 36
     IPage<TsConsultantKpi> stsKPIDaily(IPage<TsConsultantKpi> page,
27 37
                                        @Param("orgId") Integer orgId,
28
-                                       @Param("buildingId") String buildingId,
38
+                                       @Param("buildingIds") List<String> buildingIds,
29 39
                                        @Param("startDate") String startDate,
30 40
                                        @Param("endDate") String endDate,
31 41
                                        @Param("asc") String asc,
32 42
                                        @Param("desc") String desc);
33 43
 
34
-    TsConsultantKpi stsKPITotalByOrg(@Param("orgId") Integer orgId, @Param("buildingId") String buildingId, @Param("startDate") String startDate, @Param("endDate") String endDate);
44
+    TsConsultantKpi stsKPITotalByOrg(@Param("orgId") Integer orgId,
45
+                                     @Param("buildingIds") List<String> buildingIds,
46
+                                     @Param("startDate") String startDate,
47
+                                     @Param("endDate") String endDate);
35 48
 
36
-    List<ConsultantKPIExport> stsKPIDailyExport(@Param("orgId") Integer orgId, @Param("buildingId") String buildingId, @Param("startDate") String startDate, @Param("endDate") String endDate);
49
+    List<ConsultantKPIExport> stsKPIDailyExport(@Param("orgId") Integer orgId,
50
+                                                @Param("buildingIds") List<String> buildingIds,
51
+                                                @Param("startDate") String startDate,
52
+                                                @Param("endDate") String endDate);
37 53
 
38 54
     /**
39 55
      * 统计当前时间段内的, 已经固化的置业数据的所有客户
40 56
      * @param orgId
41
-     * @param buildingId
57
+     * @param buildingIds
42 58
      * @param startDate
43 59
      * @param endDate
44 60
      * @return
45 61
      */
46
-    Integer stsAllCustomersByOrg(@Param("orgId") Integer orgId, @Param("buildingId") String buildingId, @Param("startDate") String startDate, @Param("endDate") String endDate);
62
+    Integer stsAllCustomersByOrg(@Param("orgId") Integer orgId,
63
+                                 @Param("buildingIds") List<String> buildingIds,
64
+                                 @Param("startDate") String startDate,
65
+                                 @Param("endDate") String endDate);
47 66
 
48 67
 
49 68
     /**

+ 3
- 3
src/main/java/com/huiju/estateagents/service/ITsConsultantKpiService.java View File

@@ -18,11 +18,11 @@ import java.util.List;
18 18
  */
19 19
 public interface ITsConsultantKpiService extends IService<TsConsultantKpi> {
20 20
 
21
-    IPage<TsConsultantKpi> stsKPIDaily(Integer pageNum, Integer pageSize, Integer orgId, String buildingId, String startDate, String endDate, String asc, String desc);
21
+    IPage<TsConsultantKpi> stsKPIDaily(Integer pageNum, Integer pageSize, Integer orgId, Integer userId, String buildingId, String startDate, String endDate, String asc, String desc);
22 22
 
23
-    TsConsultantKpi stsKPITotalByOrg(Integer orgId, String buildingId, String startDate, String endDate);
23
+    TsConsultantKpi stsKPITotalByOrg(Integer orgId, Integer userId, String buildingId, String startDate, String endDate);
24 24
 
25
-    List<ConsultantKPIExport> stsKPIDailyExport(Integer orgId, String buildingId, String startDate, String endDate);
25
+    List<ConsultantKPIExport> stsKPIDailyExport(Integer orgId, Integer userId, String buildingId, String startDate, String endDate);
26 26
 
27 27
     IPage<TaRecommendCustomer> getCustomerListOfConsultant(IPage<TaRecommendCustomer> page, Integer orgId, String userId, String buildingId, LocalDateTime startDate, LocalDateTime endDate);
28 28
 

+ 3
- 0
src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java View File

@@ -80,10 +80,13 @@ public class StatisticalServiceImpl implements IStatisticalService {
80 80
         Integer selectRecentlyCount = taPersonMapper.selectTodayRecentlyCount(orgId, LocalDateTime.now());
81 81
 
82 82
         // -------  用户来源 end ------------
83
+        //今日访问次数
84
+        Integer selectVisitCount = taPersonVisitRecordMapper.selectTodayVisitCount(orgId, LocalDateTime.now());
83 85
 
84 86
         map.put("selectUserCount", selectUserCount);
85 87
         map.put("selectRegisteredCount", selectRegisteredCount);
86 88
         map.put("selectRecentlyCount", selectRecentlyCount);
89
+        map.put("selectVisitCount", selectVisitCount);
87 90
 
88 91
         responseBean.addSuccess(map);
89 92
 

+ 48
- 7
src/main/java/com/huiju/estateagents/service/impl/TsConsultantKpiServiceImpl.java View File

@@ -2,6 +2,8 @@ package com.huiju.estateagents.service.impl;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.huiju.estateagents.center.taUser.entity.TaUser;
6
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
5 7
 import com.huiju.estateagents.common.StringUtils;
6 8
 import com.huiju.estateagents.entity.*;
7 9
 import com.huiju.estateagents.excel.ConsultantKPIExport;
@@ -13,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
13 15
 import org.springframework.stereotype.Service;
14 16
 
15 17
 import java.time.LocalDateTime;
18
+import java.util.ArrayList;
16 19
 import java.util.List;
17 20
 
18 21
 /**
@@ -28,34 +31,72 @@ public class TsConsultantKpiServiceImpl extends ServiceImpl<TsConsultantKpiMappe
28 31
     @Autowired
29 32
     TsConsultantKpiMapper tsConsultantKpiMapper;
30 33
 
34
+    @Autowired
35
+    TaUserMapper taUserMapper;
36
+
31 37
     @Autowired
32 38
     TaRecommendCustomerMapper taRecommendCustomerMapper;
33 39
 
40
+    /**
41
+     * 获取用户授权楼盘
42
+     * 如果 buildingId 参数存在, 则校验参数是否在授权范围内
43
+     *
44
+     * @param userId
45
+     * @param buildingId
46
+     * @return List 长度 0 代表未授权楼盘, null 代表管理员, 不校验楼盘授权
47
+     */
48
+    public List<String> getBuildingListOf(Integer userId, String buildingId) {
49
+        List<String> unAuthrized = new ArrayList<String>(){{
50
+            add("*");   // 构造SQL  building_id in ('*') , 目的是为了阻止检索到数据
51
+        }};
52
+
53
+        TaUser taUser = taUserMapper.selectById(userId);
54
+        if (taUser == null) {
55
+            return unAuthrized;
56
+        }
57
+
58
+        if (taUser.getIsAdmin()) {
59
+            if (!StringUtils.isEmpty(buildingId)) {
60
+                return new ArrayList<String>(){{
61
+                    add(buildingId);
62
+                }};
63
+            }
64
+            return null;
65
+        }
66
+
67
+        List<String> buildings = taUserMapper.getBuildingIdsOf(userId, buildingId);
68
+        return null == buildings || buildings.size() == 0 ? unAuthrized : buildings;
69
+    }
70
+
34 71
     @Override
35
-    public IPage<TsConsultantKpi> stsKPIDaily(Integer pageNum, Integer pageSize, Integer orgId, String buildingId, String startDate, String endDate, String asc, String desc) {
72
+    public IPage<TsConsultantKpi> stsKPIDaily(Integer pageNum, Integer pageSize, Integer orgId, Integer userId, String buildingId, String startDate, String endDate, String asc, String desc) {
36 73
         if (StringUtils.isEmpty(asc) && StringUtils.isEmpty(desc)) {
37 74
             desc = "new_persons";
38 75
         }
39 76
 
77
+        List<String> buildingIds =  getBuildingListOf(userId, buildingId);
40 78
         IPage<TsConsultantKpi> page = new Page<>(pageNum, pageSize);
41
-        return tsConsultantKpiMapper.stsKPIDaily(page, orgId, buildingId, startDate, endDate, asc, desc);
79
+        return tsConsultantKpiMapper.stsKPIDaily(page, orgId, buildingIds, startDate, endDate, asc, desc);
42 80
     }
43 81
 
44 82
     @Override
45
-    public TsConsultantKpi stsKPITotalByOrg(Integer orgId, String buildingId, String startDate, String endDate) {
83
+    public TsConsultantKpi stsKPITotalByOrg(Integer orgId, Integer userId, String buildingId, String startDate, String endDate) {
84
+        List<String> buildingIds =  getBuildingListOf(userId, buildingId);
85
+
46 86
         // 合计数据, 但是不包含 客户总计 列
47
-        TsConsultantKpi result = tsConsultantKpiMapper.stsKPITotalByOrg(orgId, buildingId, startDate, endDate);
87
+        TsConsultantKpi result = tsConsultantKpiMapper.stsKPITotalByOrg(orgId, buildingIds, startDate, endDate);
48 88
 
49 89
         // 统计当前时间段内的已经固化的置业的客户
50
-        Integer totalPersons = tsConsultantKpiMapper.stsAllCustomersByOrg(orgId, buildingId, startDate, endDate);
90
+        Integer totalPersons = tsConsultantKpiMapper.stsAllCustomersByOrg(orgId, buildingIds, startDate, endDate);
51 91
         result.setTotalPersons(totalPersons);
52 92
 
53 93
         return result;
54 94
     }
55 95
 
56 96
     @Override
57
-    public List<ConsultantKPIExport> stsKPIDailyExport(Integer orgId, String buildingId, String startDate, String endDate) {
58
-        return tsConsultantKpiMapper.stsKPIDailyExport(orgId, buildingId, startDate, endDate);
97
+    public List<ConsultantKPIExport> stsKPIDailyExport(Integer orgId, Integer userId, String buildingId, String startDate, String endDate) {
98
+        List<String> buildingIds =  getBuildingListOf(userId, buildingId);
99
+        return tsConsultantKpiMapper.stsKPIDailyExport(orgId, buildingIds, startDate, endDate);
59 100
     }
60 101
 
61 102
     @Override

+ 1
- 1
src/main/resources/application-blue.yml View File

@@ -6,7 +6,7 @@ spring:
6 6
   datasource:
7 7
     username: root
8 8
     password: LUfZGvh7j1^qA*2c
9
-    url: jdbc:mysql://123.57.65.31:3306/estateagents_20200417?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
9
+    url: jdbc:mysql://123.57.65.31:3306/estateagents_test?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10 10
     driver-class-name: com.mysql.cj.jdbc.Driver
11 11
     initial-size: 10 # 初始化连接数
12 12
     max-active: 20 # 最大连接数

+ 3
- 1
src/main/resources/mapper/TaBuildingMapper.xml View File

@@ -237,6 +237,7 @@
237 237
 
238 238
     <select id="selectMainBuildings" resultType="com.huiju.estateagents.entity.TaBuilding">
239 239
         SELECT
240
+            CONCAT( c.`name`, t.building_area  ) AS building_area,
240 241
             t.*,
241 242
             s.url AS list_poster,
242 243
             GROUP_CONCAT( m.tag_name ) AS tags
@@ -245,6 +246,7 @@
245 246
         LEFT JOIN ta_building_img s ON t.building_id = s.building_id
246 247
         AND s.img_type = 'list'
247 248
         LEFT JOIN ta_building_tag m ON t.building_id = m.building_id
249
+        LEFT JOIN td_city c ON t.city_id = c.id
248 250
         WHERE
249 251
             t.org_id = #{orgId}
250 252
         <if test="cityId != null and cityId != ''">
@@ -374,7 +376,7 @@
374 376
         WHERE
375 377
             t.org_id = #{orgId}
376 378
         <if test="personBuildingList != null and personBuildingList.size > 0">
377
-            AND a.be_uv in
379
+            AND t.building_id in
378 380
             <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
379 381
                 #{personBuilding.buildingId}
380 382
             </foreach>

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

@@ -628,7 +628,7 @@ FROM
628 628
                 b.lat,
629 629
                 t.person_id
630 630
             FROM
631
-            ( SELECT * FROM ta_person_position ORDER BY create_time DESC ) t
631
+            ( SELECT * FROM ta_person_position ORDER BY create_time asc ) t
632 632
                 LEFT JOIN ta_person a ON t.person_id = a.person_id
633 633
                 INNER JOIN td_city b ON t.citycode = b.citycode
634 634
             WHERE

+ 10
- 0
src/main/resources/mapper/TaPersonVisitRecordMapper.xml View File

@@ -432,5 +432,15 @@
432 432
             t.target_id, t.event_type;
433 433
     </select>
434 434
 
435
+    <select id="selectTodayVisitCount" resultType="java.lang.Integer">
436
+        SELECT
437
+        COUNT(1) as visit_count
438
+        FROM
439
+        ta_person_visit_record tp
440
+        where tp.org_id = #{orgId} AND
441
+        tp.event  = 'start'
442
+        AND DATE_FORMAT(tp.visit_time,'%Y-%m-%d') = DATE_FORMAT(#{nowDate},'%Y-%m-%d')
443
+    </select>
444
+
435 445
 
436 446
 </mapper>

+ 8
- 0
src/main/resources/mapper/TaUserMapper.xml View File

@@ -125,4 +125,12 @@
125 125
         AND m.is_admin = 1
126 126
     </select>
127 127
 
128
+    <select id="getBuildingIdsOf" resultType="java.lang.String">
129
+        select building_id from ta_person_building
130
+        where user_id = #{userId}
131
+        <if test="buildingId != null and buildingId != ''">
132
+            and building_id != #{buildingId}
133
+        </if>
134
+    </select>
135
+
128 136
 </mapper>

+ 25
- 9
src/main/resources/mapper/TsConsultantKpiMapper.xml View File

@@ -31,8 +31,12 @@
31 31
             WHERE
32 32
                 t.org_id = #{orgId}
33 33
                 AND t.statis_date BETWEEN #{startDate} AND #{endDate}
34
-            <if test="buildingId != null and buildingId != ''">
35
-                AND t.building_id = #{buildingId}
34
+            <if test="buildingIds != null">
35
+                AND t.building_id in
36
+                <foreach item="buildingId" index="index" collection="buildingIds"
37
+                         open="(" separator="," close=")">
38
+                    #{buildingId}
39
+                </foreach>
36 40
             </if>
37 41
             GROUP BY
38 42
                 t.user_id,
@@ -74,8 +78,12 @@
74 78
         WHERE
75 79
             t.org_id = #{orgId}
76 80
             AND t.statis_date BETWEEN #{startDate} AND #{endDate}
77
-        <if test="buildingId != null and buildingId != ''">
78
-            AND t.building_id = #{buildingId}
81
+        <if test="buildingIds != null">
82
+            AND t.building_id in
83
+            <foreach item="buildingId" index="index" collection="buildingIds"
84
+                     open="(" separator="," close=")">
85
+                #{buildingId}
86
+            </foreach>
79 87
         </if>
80 88
     </select>
81 89
 
@@ -107,9 +115,13 @@
107 115
         WHERE
108 116
             t.org_id = #{orgId}
109 117
         AND t.statis_date BETWEEN #{startDate} AND #{endDate}
110
-        <if test="buildingId != null and buildingId != ''">
111
-            AND t.building_id = #{buildingId}
112
-        </if>
118
+    <if test="buildingIds != null">
119
+        AND t.building_id in
120
+        <foreach item="buildingId" index="index" collection="buildingIds"
121
+                 open="(" separator="," close=")">
122
+            #{buildingId}
123
+        </foreach>
124
+    </if>
113 125
         GROUP BY
114 126
             t.user_id,
115 127
             t.building_id
@@ -130,8 +142,12 @@
130 142
             p.org_id = #{orgId}
131 143
             AND p.`status` > 0
132 144
             AND t.statis_date BETWEEN #{startDate} AND #{endDate}
133
-        <if test="buildingId != null and buildingId != ''">
134
-            AND t.building_id = #{buildingId}
145
+        <if test="buildingIds != null">
146
+            AND t.building_id in
147
+            <foreach item="buildingId" index="index" collection="buildingIds"
148
+                     open="(" separator="," close=")">
149
+                #{buildingId}
150
+            </foreach>
135 151
         </if>
136 152
     </select>
137 153