魏超 5 лет назад
Родитель
Сommit
b586acb88c

+ 31
- 9
src/main/java/com/huiju/estateagents/statistic/controller/ActivityStatisticController.java Просмотреть файл

158
      * @return
158
      * @return
159
      */
159
      */
160
     @GetMapping(value = "/admin/activityStatistical/activitySharePersonNumExport")
160
     @GetMapping(value = "/admin/activityStatistical/activitySharePersonNumExport")
161
-    public void selectActivitySharePersonNum(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
161
+    public void selectActivitySharePersonNum(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
162
+                                             @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
162
                                              @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
163
                                              @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
163
                                              @RequestParam(value = "sharePersonType", required = false)String sharePersonType,
164
                                              @RequestParam(value = "sharePersonType", required = false)String sharePersonType,
164
                                              @RequestParam(value = "sharePersonName", required = false)  String sharePersonName,
165
                                              @RequestParam(value = "sharePersonName", required = false)  String sharePersonName,
165
                                              @RequestParam(value = "sharePhone", required = false)String sharePhone,
166
                                              @RequestParam(value = "sharePhone", required = false)String sharePhone,
167
+                                             @RequestParam(value = "activityId", required = false)String activityId,
168
+                                             @RequestParam(value = "activityType", required = false)String activityType,
166
                                              @RequestParam(value = "sort", required = false)String sort,
169
                                              @RequestParam(value = "sort", required = false)String sort,
167
                                              @RequestParam(value = "colKey", required = false)String colKey,
170
                                              @RequestParam(value = "colKey", required = false)String colKey,
171
+                                             @RequestParam(value = "buildingId", required = false)String buildingId,
168
                                              HttpServletRequest request, HttpServletResponse response) throws IOException {
172
                                              HttpServletRequest request, HttpServletResponse response) throws IOException {
169
         response.setContentType("application/octet-stream");
173
         response.setContentType("application/octet-stream");
170
         response.setCharacterEncoding("utf-8");
174
         response.setCharacterEncoding("utf-8");
172
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), SharePersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
176
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), SharePersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
173
         // 设置 sheet, 同一个sheet只需要设置一次
177
         // 设置 sheet, 同一个sheet只需要设置一次
174
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
178
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
175
-        List<SharePersonNum> data = taActivityStaticService.selectActivitySharePersonNumExport(getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, sort, colKey);
179
+        List<SharePersonNum> data = taActivityStaticService.selectActivitySharePersonNumExport(getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, activityId, activityType, buildingId, sort, colKey);
176
         excelWriter.write(data, writeSheet);
180
         excelWriter.write(data, writeSheet);
177
         // finish 会帮忙关闭流
181
         // finish 会帮忙关闭流
178
         excelWriter.finish();
182
         excelWriter.finish();
209
                                              @RequestParam(value = "sharePersonType", required = false)String sharePersonType,
213
                                              @RequestParam(value = "sharePersonType", required = false)String sharePersonType,
210
                                              @RequestParam(value = "sharePersonName", required = false)  String sharePersonName,
214
                                              @RequestParam(value = "sharePersonName", required = false)  String sharePersonName,
211
                                              @RequestParam(value = "sharePhone", required = false)String sharePhone,
215
                                              @RequestParam(value = "sharePhone", required = false)String sharePhone,
216
+                                             @RequestParam(value = "activityId", required = false)String activityId,
217
+                                             @RequestParam(value = "activityType", required = false)String activityType,
218
+                                             @RequestParam(value = "personId", required = false)String personId,
219
+                                             @RequestParam(value = "buildingId", required = false)String buildingId,
212
                                              @RequestParam(value = "sort", required = false)String sort,
220
                                              @RequestParam(value = "sort", required = false)String sort,
213
                                              @RequestParam(value = "colKey", required = false)String colKey,
221
                                              @RequestParam(value = "colKey", required = false)String colKey,
214
                                              HttpServletRequest request, HttpServletResponse response) throws IOException {
222
                                              HttpServletRequest request, HttpServletResponse response) throws IOException {
218
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ShareNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
226
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ShareNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
219
         // 设置 sheet, 同一个sheet只需要设置一次
227
         // 设置 sheet, 同一个sheet只需要设置一次
220
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
228
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
221
-        List<ShareNum> data = taActivityStaticService.selectActivityShareNumExport(getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, sort, colKey);
229
+        List<ShareNum> data = taActivityStaticService.selectActivityShareNumExport(getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, activityId, activityType, personId, buildingId, sort, colKey);
222
         excelWriter.write(data, writeSheet);
230
         excelWriter.write(data, writeSheet);
223
         // finish 会帮忙关闭流
231
         // finish 会帮忙关闭流
224
         excelWriter.finish();
232
         excelWriter.finish();
235
                                                @RequestParam(value = "personFrom", required = false)String personFrom,
243
                                                @RequestParam(value = "personFrom", required = false)String personFrom,
236
                                                @RequestParam(value = "activityId", required = false)String activityId,
244
                                                @RequestParam(value = "activityId", required = false)String activityId,
237
                                                @RequestParam(value = "activityType", required = false)String activityType,
245
                                                @RequestParam(value = "activityType", required = false)String activityType,
246
+                                               @RequestParam(value = "buildingId", required = false)String buildingId,
238
                                                HttpServletRequest request) {
247
                                                HttpServletRequest request) {
239
-        return taActivityStaticService.selectActivityAddRegistNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, activityId, activityType);
248
+        return taActivityStaticService.selectActivityAddRegistNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, activityId, activityType, buildingId);
240
     }
249
     }
241
 
250
 
242
     /**
251
     /**
247
     public void selectActivityAddRegistNumExport(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
256
     public void selectActivityAddRegistNumExport(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
248
                                                                @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
257
                                                                @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
249
                                                                @RequestParam(value = "personFrom", required = false)String personFrom,
258
                                                                @RequestParam(value = "personFrom", required = false)String personFrom,
259
+                                                               @RequestParam(value = "activityId", required = false)String activityId,
260
+                                                               @RequestParam(value = "activityType", required = false)String activityType,
261
+                                                               @RequestParam(value = "buildingId", required = false)String buildingId,
250
                                                                HttpServletRequest request, HttpServletResponse response) throws IOException {
262
                                                                HttpServletRequest request, HttpServletResponse response) throws IOException {
251
         response.setContentType("application/octet-stream");
263
         response.setContentType("application/octet-stream");
252
         response.setCharacterEncoding("utf-8");
264
         response.setCharacterEncoding("utf-8");
254
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), AddRegistNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
266
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), AddRegistNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
255
         // 设置 sheet, 同一个sheet只需要设置一次
267
         // 设置 sheet, 同一个sheet只需要设置一次
256
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
268
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
257
-        List<AddRegistNum> data = taActivityStaticService.selectActivityAddRegistNumExport(getOrgId(request), startDate, endDate, personFrom);
269
+        List<AddRegistNum> data = taActivityStaticService.selectActivityAddRegistNumExport(getOrgId(request), startDate, endDate, personFrom, activityId, activityType, buildingId);
258
         excelWriter.write(data, writeSheet);
270
         excelWriter.write(data, writeSheet);
259
         // finish 会帮忙关闭流
271
         // finish 会帮忙关闭流
260
         excelWriter.finish();
272
         excelWriter.finish();
275
                                                    @RequestParam(value = "activityId", required = false)String activityId,
287
                                                    @RequestParam(value = "activityId", required = false)String activityId,
276
                                                    @RequestParam(value = "activityType", required = false)String activityType,
288
                                                    @RequestParam(value = "activityType", required = false)String activityType,
277
                                                    @RequestParam(value = "personId", required = false)String personId,
289
                                                    @RequestParam(value = "personId", required = false)String personId,
290
+                                                   @RequestParam(value = "buildingId", required = false)String buildingId,
278
                                                    HttpServletRequest request) {
291
                                                    HttpServletRequest request) {
279
-        return taActivityStaticService.selectActivityVisitNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId);
292
+        return taActivityStaticService.selectActivityVisitNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId, buildingId);
280
     }
293
     }
281
 
294
 
282
     /**
295
     /**
290
                                                @RequestParam(value = "province", required = false)String province,
303
                                                @RequestParam(value = "province", required = false)String province,
291
                                                @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
304
                                                @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
292
                                                @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
305
                                                @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
306
+                                               @RequestParam(value = "activityId", required = false)String activityId,
307
+                                               @RequestParam(value = "activityType", required = false)String activityType,
308
+                                               @RequestParam(value = "personId", required = false)String personId,
309
+                                               @RequestParam(value = "buildingId", required = false)String buildingId,
293
                                                HttpServletRequest request, HttpServletResponse response) throws IOException {
310
                                                HttpServletRequest request, HttpServletResponse response) throws IOException {
294
         response.setContentType("application/octet-stream");
311
         response.setContentType("application/octet-stream");
295
         response.setCharacterEncoding("utf-8");
312
         response.setCharacterEncoding("utf-8");
297
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
314
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
298
         // 设置 sheet, 同一个sheet只需要设置一次
315
         // 设置 sheet, 同一个sheet只需要设置一次
299
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
316
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
300
-        List<VisitNum> data = taActivityStaticService.selectActivityVisitNumExport(getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone);
317
+        List<VisitNum> data = taActivityStaticService.selectActivityVisitNumExport(getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId, buildingId);
301
         excelWriter.write(data, writeSheet);
318
         excelWriter.write(data, writeSheet);
302
         // finish 会帮忙关闭流
319
         // finish 会帮忙关闭流
303
         excelWriter.finish();
320
         excelWriter.finish();
318
                                                @RequestParam(value = "personId", required = false)String personId,
335
                                                @RequestParam(value = "personId", required = false)String personId,
319
                                                @RequestParam(value = "activityId", required = false)String activityId,
336
                                                @RequestParam(value = "activityId", required = false)String activityId,
320
                                                @RequestParam(value = "activityType", required = false)String activityType,
337
                                                @RequestParam(value = "activityType", required = false)String activityType,
338
+                                               @RequestParam(value = "buildingId", required = false)String buildingId,
321
                                                HttpServletRequest request) {
339
                                                HttpServletRequest request) {
322
-        return taActivityStaticService.selectActivityVisitPersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId);
340
+        return taActivityStaticService.selectActivityVisitPersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId,  personId);
323
     }
341
     }
324
 
342
 
325
     /**
343
     /**
333
                                        @RequestParam(value = "province", required = false)String province,
351
                                        @RequestParam(value = "province", required = false)String province,
334
                                        @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
352
                                        @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
335
                                        @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
353
                                        @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
354
+                                       @RequestParam(value = "personId", required = false)String personId,
355
+                                       @RequestParam(value = "activityId", required = false)String activityId,
356
+                                       @RequestParam(value = "activityType", required = false)String activityType,
357
+                                       @RequestParam(value = "buildingId", required = false)String buildingId,
336
                                        HttpServletRequest request, HttpServletResponse response) throws IOException {
358
                                        HttpServletRequest request, HttpServletResponse response) throws IOException {
337
         response.setContentType("application/octet-stream");
359
         response.setContentType("application/octet-stream");
338
         response.setCharacterEncoding("utf-8");
360
         response.setCharacterEncoding("utf-8");
340
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitPersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
362
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitPersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
341
         // 设置 sheet, 同一个sheet只需要设置一次
363
         // 设置 sheet, 同一个sheet只需要设置一次
342
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
364
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
343
-        List<VisitPersonNum> data = taActivityStaticService.selectActivityVisitPersonNumExport(getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone);
365
+        List<VisitPersonNum> data = taActivityStaticService.selectActivityVisitPersonNumExport(getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId,  personId);
344
         excelWriter.write(data, writeSheet);
366
         excelWriter.write(data, writeSheet);
345
         // finish 会帮忙关闭流
367
         // finish 会帮忙关闭流
346
         excelWriter.finish();
368
         excelWriter.finish();

+ 63
- 8
src/main/java/com/huiju/estateagents/statistic/mapper/TaActicityStaticMapper.java Просмотреть файл

94
             @Param("sharePersonType") String sharePersonType,
94
             @Param("sharePersonType") String sharePersonType,
95
             @Param("sharePersonName") String sharePersonName,
95
             @Param("sharePersonName") String sharePersonName,
96
             @Param("sharePhone") String sharePhone,
96
             @Param("sharePhone") String sharePhone,
97
+            @Param("activityId") String activityId,
98
+            @Param("activityType") String activityType,
99
+            @Param("buildingId") String buildingId,
97
             @Param("sort") String sort,
100
             @Param("sort") String sort,
98
             @Param("colKey") String colKey
101
             @Param("colKey") String colKey
99
     );
102
     );
121
             @Param("sharePersonType") String sharePersonType,
124
             @Param("sharePersonType") String sharePersonType,
122
             @Param("sharePersonName") String sharePersonName,
125
             @Param("sharePersonName") String sharePersonName,
123
             @Param("sharePhone") String sharePhone,
126
             @Param("sharePhone") String sharePhone,
127
+            @Param("activityId") String activityId,
128
+            @Param("activityType") String activityType,
129
+            @Param("personId") String personId,
130
+            @Param("buildingId") String buildingId,
124
             @Param("sort") String sort,
131
             @Param("sort") String sort,
125
             @Param("colKey") String colKey
132
             @Param("colKey") String colKey
126
     );
133
     );
132
             @Param("endDate") LocalDateTime endDate,
139
             @Param("endDate") LocalDateTime endDate,
133
             @Param("personFrom") String personFrom,
140
             @Param("personFrom") String personFrom,
134
             @Param("activityId") String activityId,
141
             @Param("activityId") String activityId,
135
-            @Param("activityType") String activityType
142
+            @Param("activityType") String activityType,
143
+            @Param("buildingId") String buildingId
136
     );
144
     );
137
 
145
 
138
     List<AddRegistNum> selectActivityAddRegistNumExport(
146
     List<AddRegistNum> selectActivityAddRegistNumExport(
139
             @Param("orgId") Integer orgId,
147
             @Param("orgId") Integer orgId,
140
             @Param("startDate") LocalDateTime startDate,
148
             @Param("startDate") LocalDateTime startDate,
141
             @Param("endDate") LocalDateTime endDate,
149
             @Param("endDate") LocalDateTime endDate,
142
-            @Param("personFrom") String personFrom
150
+            @Param("personFrom") String personFrom,
151
+            @Param("activityId") String activityId,
152
+            @Param("activityType") String activityType,
153
+            @Param("buildingId") String buildingId
143
     );
154
     );
144
 
155
 
145
     IPage<VisitNum> selectActivityVisitNum(
156
     IPage<VisitNum> selectActivityVisitNum(
152
             @Param("realtyConsultant") String realtyConsultant,
163
             @Param("realtyConsultant") String realtyConsultant,
153
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
164
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
154
             @Param("activityId") String activityId,
165
             @Param("activityId") String activityId,
155
-            @Param("activityType") String activityType
166
+            @Param("activityType") String activityType,
167
+            @Param("buildingId") String buildingId
156
     );
168
     );
157
 
169
 
158
     List<VisitNum> selectActivityVisitNumExport(
170
     List<VisitNum> selectActivityVisitNumExport(
162
             @Param("personFrom") String personFrom,
174
             @Param("personFrom") String personFrom,
163
             @Param("province") String province,
175
             @Param("province") String province,
164
             @Param("realtyConsultant") String realtyConsultant,
176
             @Param("realtyConsultant") String realtyConsultant,
165
-            @Param("realtyConsultantPhone") String realtyConsultantPhone
177
+            @Param("realtyConsultantPhone") String realtyConsultantPhone,
178
+            @Param("activityId") String activityId,
179
+            @Param("activityType") String activityType,
180
+            @Param("buildingId") String buildingId
166
     );
181
     );
167
 
182
 
168
     IPage<VisitPersonNum> selectActivityVisitPersonNum(
183
     IPage<VisitPersonNum> selectActivityVisitPersonNum(
175
             @Param("realtyConsultant") String realtyConsultant,
190
             @Param("realtyConsultant") String realtyConsultant,
176
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
191
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
177
             @Param("activityId") String activityId,
192
             @Param("activityId") String activityId,
178
-            @Param("activityType") String activityType
193
+            @Param("activityType") String activityType,
194
+            @Param("buildingId") String buildingId
179
     );
195
     );
180
 
196
 
181
     List<VisitPersonNum> selectActivityVisitPersonNumExport(
197
     List<VisitPersonNum> selectActivityVisitPersonNumExport(
185
             @Param("personFrom") String personFrom,
201
             @Param("personFrom") String personFrom,
186
             @Param("province") String province,
202
             @Param("province") String province,
187
             @Param("realtyConsultant") String realtyConsultant,
203
             @Param("realtyConsultant") String realtyConsultant,
188
-            @Param("realtyConsultantPhone") String realtyConsultantPhone
204
+            @Param("realtyConsultantPhone") String realtyConsultantPhone,
205
+            @Param("activityId") String activityId,
206
+            @Param("activityType") String activityType,
207
+            @Param("buildingId") String buildingId
208
+    );
209
+
210
+    List<VisitPersonNum> selectActivityVisitPersonNumByPersonIdExport(
211
+            @Param("orgId") Integer orgId,
212
+            @Param("startDate") LocalDateTime startDate,
213
+            @Param("endDate") LocalDateTime endDate,
214
+            @Param("personFrom") String personFrom,
215
+            @Param("province") String province,
216
+            @Param("realtyConsultant") String realtyConsultant,
217
+            @Param("realtyConsultantPhone") String realtyConsultantPhone,
218
+            @Param("activityId") String activityId,
219
+            @Param("activityType") String activityType,
220
+            @Param("buildingId") String buildingId,
221
+            @Param("personId") String personId
189
     );
222
     );
190
 
223
 
191
     IPage<VisitPersonNum> selectActivityVisitPersonNumByPersonId(
224
     IPage<VisitPersonNum> selectActivityVisitPersonNumByPersonId(
195
             @Param("endDate") LocalDateTime endDate,
228
             @Param("endDate") LocalDateTime endDate,
196
             @Param("personId") String personId,
229
             @Param("personId") String personId,
197
             @Param("activityId") String activityId,
230
             @Param("activityId") String activityId,
198
-            @Param("activityType") String activityType
231
+            @Param("activityType") String activityType,
232
+            @Param("buildingId") String buildingId
233
+    );
234
+
235
+    List<VisitPersonNum> selectActivityVisitPersonNumExportByPersonId(
236
+            @Param("orgId") Integer orgId,
237
+            @Param("startDate") LocalDateTime startDate,
238
+            @Param("endDate") LocalDateTime endDate,
239
+            @Param("personId") String personId,
240
+            @Param("activityId") String activityId,
241
+            @Param("activityType") String activityType,
242
+            @Param("buildingId") String buildingId
199
     );
243
     );
200
 
244
 
201
     IPage<VisitNum> selectActivityVisitNumByPersonId(
245
     IPage<VisitNum> selectActivityVisitNumByPersonId(
205
             @Param("endDate") LocalDateTime endDate,
249
             @Param("endDate") LocalDateTime endDate,
206
             @Param("personId") String personId,
250
             @Param("personId") String personId,
207
             @Param("activityId") String activityId,
251
             @Param("activityId") String activityId,
208
-            @Param("activityType") String activityType
252
+            @Param("activityType") String activityType,
253
+            @Param("buildingId") String buildingId
254
+    );
255
+
256
+    List<VisitNum> selectActivityVisitNumExportByPersonId(
257
+            @Param("orgId") Integer orgId,
258
+            @Param("startDate") LocalDateTime startDate,
259
+            @Param("endDate") LocalDateTime endDate,
260
+            @Param("personId") String personId,
261
+            @Param("activityId") String activityId,
262
+            @Param("activityType") String activityType,
263
+            @Param("buildingId") String buildingId
209
     );
264
     );
210
 
265
 
211
 }
266
 }

+ 31
- 18
src/main/java/com/huiju/estateagents/statistic/service/impl/TaActivityStaticServiceImpl.java Просмотреть файл

12
 import java.time.LocalDate;
12
 import java.time.LocalDate;
13
 import java.time.LocalDateTime;
13
 import java.time.LocalDateTime;
14
 import java.time.LocalTime;
14
 import java.time.LocalTime;
15
+import java.util.ArrayList;
15
 import java.util.HashMap;
16
 import java.util.HashMap;
16
 import java.util.List;
17
 import java.util.List;
17
 import java.util.Map;
18
 import java.util.Map;
121
         return ResponseBean.success(data);
122
         return ResponseBean.success(data);
122
     }
123
     }
123
 
124
 
124
-    public List<SharePersonNum> selectActivitySharePersonNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String sort, String colKey){
125
+    public List<SharePersonNum> selectActivitySharePersonNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String buildingId, String sort, String colKey){
125
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
126
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
126
-        return taActicityStaticMapper.selectActivitySharePersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, sortType, colKey);
127
+        return taActicityStaticMapper.selectActivitySharePersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, activityId, activityType, buildingId, sortType, colKey);
127
     }
128
     }
128
 
129
 
129
     public ResponseBean selectActivityShareNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String personId, String buildingId, String sort, String colKey){
130
     public ResponseBean selectActivityShareNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String personId, String buildingId, String sort, String colKey){
134
         return ResponseBean.success(data);
135
         return ResponseBean.success(data);
135
     }
136
     }
136
 
137
 
137
-    public List<ShareNum> selectActivityShareNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String sort, String colKey){
138
+    public List<ShareNum> selectActivityShareNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String personId, String buildingId, String sort, String colKey){
138
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
139
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
139
-        return taActicityStaticMapper.selectActivityShareNumExport( orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, sortType, colKey);
140
+        return taActicityStaticMapper.selectActivityShareNumExport( orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, activityId, activityType, personId, buildingId, sortType, colKey);
140
     }
141
     }
141
 
142
 
142
-    public ResponseBean selectActivityAddRegistNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String activityId, String activityType){
143
+    public ResponseBean selectActivityAddRegistNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String activityId, String activityType, String buildingId){
143
         IPage<AddRegistNum> iPage = new Page<>(pageNum, pageSize);
144
         IPage<AddRegistNum> iPage = new Page<>(pageNum, pageSize);
144
-        IPage<AddRegistNum> data = taActicityStaticMapper.selectActivityAddRegistNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, activityId, activityType);
145
+        IPage<AddRegistNum> data = taActicityStaticMapper.selectActivityAddRegistNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, activityId, activityType, buildingId);
145
         return ResponseBean.success(data);
146
         return ResponseBean.success(data);
146
     }
147
     }
147
 
148
 
148
-    public List<AddRegistNum> selectActivityAddRegistNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom){
149
-        return taActicityStaticMapper.selectActivityAddRegistNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom);
149
+    public List<AddRegistNum> selectActivityAddRegistNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String activityId, String activityType, String buildingId){
150
+        return taActicityStaticMapper.selectActivityAddRegistNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, activityId, activityType, buildingId);
150
     }
151
     }
151
 
152
 
152
-    public ResponseBean selectActivityVisitNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String personId){
153
+    public ResponseBean selectActivityVisitNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String personId, String buildingId){
153
         IPage<VisitNum> iPage = new Page<>(pageNum, pageSize);
154
         IPage<VisitNum> iPage = new Page<>(pageNum, pageSize);
154
         IPage<VisitNum> data;
155
         IPage<VisitNum> data;
155
         if (StringUtils.isEmpty(personId)){
156
         if (StringUtils.isEmpty(personId)){
156
-            data = taActicityStaticMapper.selectActivityVisitNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType);
157
+            data = taActicityStaticMapper.selectActivityVisitNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId);
157
         }else{
158
         }else{
158
-            data = taActicityStaticMapper.selectActivityVisitNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType);
159
+            data = taActicityStaticMapper.selectActivityVisitNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId);
159
         }
160
         }
160
 
161
 
161
         return ResponseBean.success(data);
162
         return ResponseBean.success(data);
162
     }
163
     }
163
 
164
 
164
-    public List<VisitNum> selectActivityVisitNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone){
165
-        return taActicityStaticMapper.selectActivityVisitNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone);
165
+    public List<VisitNum> selectActivityVisitNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String personId, String buildingId){
166
+        List<VisitNum> list = new ArrayList<>();
167
+        if (StringUtils.isEmpty(personId)){
168
+            list = taActicityStaticMapper.selectActivityVisitNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId);
169
+        }else{
170
+            list = taActicityStaticMapper.selectActivityVisitNumExportByPersonId(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId);
171
+        }
172
+        return list;
166
     }
173
     }
167
 
174
 
168
-    public ResponseBean selectActivityVisitPersonNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String personId){
175
+    public ResponseBean selectActivityVisitPersonNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String buildingId, String personId){
169
         IPage<VisitPersonNum> iPage = new Page<>(pageNum, pageSize);
176
         IPage<VisitPersonNum> iPage = new Page<>(pageNum, pageSize);
170
         IPage<VisitPersonNum> data;
177
         IPage<VisitPersonNum> data;
171
         if (StringUtils.isEmpty(personId)){
178
         if (StringUtils.isEmpty(personId)){
172
-            data = taActicityStaticMapper.selectActivityVisitPersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType);
179
+            data = taActicityStaticMapper.selectActivityVisitPersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId);
173
         }else{
180
         }else{
174
-            data = taActicityStaticMapper.selectActivityVisitPersonNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType);
181
+            data = taActicityStaticMapper.selectActivityVisitPersonNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId);
175
         }
182
         }
176
 
183
 
177
         return ResponseBean.success(data);
184
         return ResponseBean.success(data);
178
     }
185
     }
179
 
186
 
180
-    public List<VisitPersonNum> selectActivityVisitPersonNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone){
181
-        return taActicityStaticMapper.selectActivityVisitPersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone);
187
+    public List<VisitPersonNum> selectActivityVisitPersonNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String buildingId, String personId){
188
+        List<VisitPersonNum> list = new ArrayList<>();
189
+        if (StringUtils.isEmpty(personId)){
190
+            list = taActicityStaticMapper.selectActivityVisitPersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId);
191
+        }else{
192
+            list = taActicityStaticMapper.selectActivityVisitPersonNumExportByPersonId(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId);
193
+        }
194
+        return list;
182
     }
195
     }
183
 
196
 
184
 }
197
 }

+ 154
- 42
src/main/resources/mapper/statistic/TaActivityStaticMapper.xml Просмотреть файл

491
             and t.building_id =  #{buildingId}
491
             and t.building_id =  #{buildingId}
492
         </if>
492
         </if>
493
         <if test="targetType != null and targetType != ''">
493
         <if test="targetType != null and targetType != ''">
494
-            and (case when #{targetType} = 'activity' then t.target_type = 'dynamic' else t.target_type = #{targetType} end)
494
+            and t.event_type = 'activity'
495
         </if>
495
         </if>
496
         <if test="startDate != null">
496
         <if test="startDate != null">
497
             and t.visit_time &gt;= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%i:%S' )
497
             and t.visit_time &gt;= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%i:%S' )
881
             select count(*) as addRegistNum ,addRegistNum.target_id, addRegistNum.target_type From (
881
             select count(*) as addRegistNum ,addRegistNum.target_id, addRegistNum.target_type From (
882
                 select  count(*), a.* From ta_share_person_from a where a.target_type IN ( 'dynamic_share', 'h5_share', 'help_share', 'live_share', 'group_share' )  and a.org_id = #{orgId}
882
                 select  count(*), a.* From ta_share_person_from a where a.target_type IN ( 'dynamic_share', 'h5_share', 'help_share', 'live_share', 'group_share' )  and a.org_id = #{orgId}
883
                 and a.status = 1
883
                 and a.status = 1
884
-                and t.is_first_time = 1
884
+                and a.is_first_time = 1
885
                 <if test="targetType != null and targetType != ''">
885
                 <if test="targetType != null and targetType != ''">
886
                     and a.target_type =  #{targetType}
886
                     and a.target_type =  #{targetType}
887
                 </if>
887
                 </if>
1139
         ) as shareNum on person.person_id = shareNum.person_id
1139
         ) as shareNum on person.person_id = shareNum.person_id
1140
 
1140
 
1141
         left join (
1141
         left join (
1142
-            select count(1) as visitNum, t.share_person as person_id From ta_share_person_from t
1143
-            left join
1144
-            (
1145
-            select a.person_id, b.user_id From ta_person a left join ta_user b on a.user_id = b.user_id where a.org_id = #{orgId}
1146
-            ) as a on t.share_person = a.person_id or t.share_person = a.user_id
1147
-            where t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1148
-            and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share') group by  t.share_person
1142
+            SELECT t.visitNum, ifnull(a.person_id,b.person_id) AS person_id
1143
+            FROM (
1144
+            SELECT t.share_person, count(1) as visitNum
1145
+            FROM ta_share_person_from t
1146
+            WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S') AND t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S') AND t.target_type IN ('dynamic_share', 'h5_share', 'help_share', 'live_share', 'group_share')
1147
+            and t.org_id = #{orgId} group by t.share_person ) t
1148
+            left join ta_person a on t.share_person = a.person_id
1149
+            left join ta_person b on t.share_person = b.person_id
1149
         ) as visitNum on visitNum.person_id = person.person_id
1150
         ) as visitNum on visitNum.person_id = person.person_id
1150
 
1151
 
1151
         left join (
1152
         left join (
1152
-            select count(1) as visitPersonNum, visitNum.share_person as person_id From (
1153
-                select count(1), t.share_person From ta_share_person_from t
1154
-                left join
1155
-                (
1156
-                select a.person_id, b.user_id From ta_person a left join ta_user b on a.user_id = b.user_id where a.org_id = #{orgId}
1157
-                ) as a on t.share_person = a.person_id or t.share_person = a.user_id
1158
-                where t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1159
-                and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1160
-                group by  t.person_id, t.share_person
1161
-            ) as visitNum group by visitNum.share_person
1153
+
1154
+        SELECT t.visitPersonNum, ifnull(a.person_id,b.person_id) AS person_id
1155
+        FROM (
1156
+        SELECT count(DISTINCT t.person_id ) as visitPersonNum, t.share_person
1157
+        FROM ta_share_person_from t
1158
+        WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1159
+        and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1160
+        and t.org_id = #{orgId} ) t
1161
+        left join ta_person a on t.share_person = a.person_id
1162
+        left join ta_person b on t.share_person = b.person_id
1162
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1163
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1163
         <if test="colKey == null or colKey == ''">
1164
         <if test="colKey == null or colKey == ''">
1164
             order by person.create_date desc
1165
             order by person.create_date desc
1174
         ifnull(shareNum, 0) as shareNum,
1175
         ifnull(shareNum, 0) as shareNum,
1175
         ifnull(visitNum, 0) as visitNum,
1176
         ifnull(visitNum, 0) as visitNum,
1176
         ifnull(visitPersonNum, 0) as visitPersonNum,
1177
         ifnull(visitPersonNum, 0) as visitPersonNum,
1177
-        case
1178
-        when person.person_type = 'customer' then '客户'
1179
-        when person.person_type = 'drift' then '游客'
1180
-        when person.person_type = 'Realty Consultant' then '置业顾问'
1181
-        end as sharePersonType,
1178
+        person.person_type as sharePersonType,
1182
         person.person_id
1179
         person.person_id
1183
         from (
1180
         from (
1184
         SELECT t.*, f.nickname, f.phone, f.person_type
1181
         SELECT t.*, f.nickname, f.phone, f.person_type
1247
         ) as shareNum on person.person_id = shareNum.person_id
1244
         ) as shareNum on person.person_id = shareNum.person_id
1248
 
1245
 
1249
         left join (
1246
         left join (
1250
-        select count(1) as visitNum, t.share_person as person_id From ta_share_person_from t
1251
-        left join
1252
-        (
1253
-        select a.person_id, b.user_id From ta_person a left join ta_user b on a.user_id = b.user_id where a.org_id = #{orgId}
1254
-        ) as a on t.share_person = a.person_id or t.share_person = a.user_id
1255
-        where t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1256
-        and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share') group by  t.share_person
1247
+
1248
+        select t.visitNum, a.person_id AS person_id From (
1249
+        select t.share_person, count(1) as visitNum from ta_share_person_from t WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S') AND t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S') AND t.target_type IN ('dynamic_share', 'h5_share', 'help_share', 'live_share', 'group_share')
1250
+        and t.org_id = #{orgId} group by t.share_person
1251
+        ) t
1252
+        LEFT JOIN (SELECT a.person_id, b.user_id
1253
+        FROM ta_person a
1254
+        LEFT JOIN ta_user b
1255
+        ON a.user_id = b.user_id
1256
+        WHERE a.org_id = #{orgId}) AS a
1257
+        ON t.share_person = a.person_id OR t.share_person = a.user_id
1258
+
1257
         ) as visitNum on visitNum.person_id = person.person_id
1259
         ) as visitNum on visitNum.person_id = person.person_id
1258
 
1260
 
1259
         left join (
1261
         left join (
1260
-        select count(1) as visitPersonNum, visitNum.share_person as person_id From (
1261
-        select count(1), t.share_person From ta_share_person_from t
1262
-        left join
1263
-        (
1264
-        select a.person_id, b.user_id From ta_person a left join ta_user b on a.user_id = b.user_id where a.org_id = #{orgId}
1265
-        ) as a on t.share_person = a.person_id or t.share_person = a.user_id
1266
-        where t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1262
+
1263
+        SELECT count(1) as visitPersonNum, visitPersonNum.share_person as person_id
1264
+        FROM (
1265
+        select t.*, a.person_id From (
1266
+        SELECT count(1) as visitPersonNum , t.share_person
1267
+        FROM ta_share_person_from t
1268
+        WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' )
1267
         and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1269
         and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1268
-        group by  t.person_id, t.share_person
1269
-        ) as visitNum group by visitNum.share_person
1270
+        and t.org_id = #{orgId} group by t.person_id
1271
+        ) as t
1272
+        LEFT JOIN (
1273
+        SELECT a.person_id, b.user_id
1274
+        FROM ta_person a
1275
+        LEFT JOIN ta_user b
1276
+        ON a.user_id = b.user_id
1277
+        WHERE a.org_id = 84 ) as a
1278
+        ON t.share_person = a.person_id or t.share_person = a.user_id
1279
+        ) as visitPersonNum group by visitPersonNum.person_id
1280
+
1270
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1281
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1271
         <if test="colKey == null or colKey == ''">
1282
         <if test="colKey == null or colKey == ''">
1272
             order by person.create_date desc
1283
             order by person.create_date desc
1435
         <if test="personFrom != null and personFrom != ''">
1446
         <if test="personFrom != null and personFrom != ''">
1436
             and b.scene_id = #{personFrom}
1447
             and b.scene_id = #{personFrom}
1437
         </if>
1448
         </if>
1449
+        <if test="buildingId != null and buildingId != ''">
1450
+            and c.building_id = #{buildingId}
1451
+        </if>
1438
         group by t.person_id
1452
         group by t.person_id
1439
     </select>
1453
     </select>
1440
 
1454
 
1460
         and t.status = 1
1474
         and t.status = 1
1461
         and t.is_first_time = 1
1475
         and t.is_first_time = 1
1462
         and t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d' )
1476
         and t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d' )
1477
+        <if test="activityId != null and activityId != ''">
1478
+            and t.target_id = #{activityId}
1479
+        </if>
1480
+        <if test="activityType != null and activityType != ''">
1481
+            and t.target_type = concat(#{activityType}, '_share')
1482
+        </if>
1463
         <if test="personFrom != null and personFrom != ''">
1483
         <if test="personFrom != null and personFrom != ''">
1464
             and b.scene_id = #{personFrom}
1484
             and b.scene_id = #{personFrom}
1465
         </if>
1485
         </if>
1486
+        <if test="buildingId != null and buildingId != ''">
1487
+            and c.building_id = #{buildingId}
1488
+        </if>
1466
     </select>
1489
     </select>
1467
 
1490
 
1468
     <select id="selectActivityVisitNum" resultType="com.huiju.estateagents.excel.ActivityStatistics.VisitNum">
1491
     <select id="selectActivityVisitNum" resultType="com.huiju.estateagents.excel.ActivityStatistics.VisitNum">
1493
             <if test="activityType != null and activityType != ''">
1516
             <if test="activityType != null and activityType != ''">
1494
                 and t.event_type = #{activityType}
1517
                 and t.event_type = #{activityType}
1495
             </if>
1518
             </if>
1519
+            <if test="buildingId != null and buildingId != ''">
1520
+                and t.building_id = #{buildingId}
1521
+            </if>
1496
             AND t.org_id = #{orgId}
1522
             AND t.org_id = #{orgId}
1497
             AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1523
             AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1498
             AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
1524
             AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
1543
         'group',
1569
         'group',
1544
         'h5'
1570
         'h5'
1545
         )
1571
         )
1572
+        <if test="activityId != null and activityId != ''">
1573
+            and t.target_id = #{activityId}
1574
+        </if>
1575
+        <if test="activityType != null and activityType != ''">
1576
+            and t.event_type = #{activityType}
1577
+        </if>
1578
+        <if test="buildingId != null and buildingId != ''">
1579
+            and t.building_id = #{buildingId}
1580
+        </if>
1546
         AND t.org_id = #{orgId}
1581
         AND t.org_id = #{orgId}
1547
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1582
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1548
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
1583
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
1551
         left join ta_person_from_record b on a.person_id = b.person_id and b.org_id = #{orgId}
1586
         left join ta_person_from_record b on a.person_id = b.person_id and b.org_id = #{orgId}
1552
         left join td_wx_dict b1 on b.scene_id = b1.scene_id
1587
         left join td_wx_dict b1 on b.scene_id = b1.scene_id
1553
         left join (
1588
         left join (
1554
-            select d.person_id, d.`name`, d.phone From  ta_recommend_customer c
1555
-            left join ta_person d on c.recommend_person = d.person_id where c.org_id = #{orgId} group by d.person_id
1589
+        select d.person_id, d.`name`, d.phone From  ta_recommend_customer c
1590
+        left join ta_person d on c.recommend_person = d.person_id where c.org_id = #{orgId} group by d.person_id
1556
         ) as d on t.person_id = d.person_id
1591
         ) as d on t.person_id = d.person_id
1557
         <where>
1592
         <where>
1558
             <if test="personFrom != null and personFrom != ''">
1593
             <if test="personFrom != null and personFrom != ''">
1605
         <if test="activityType != null and activityType != ''">
1640
         <if test="activityType != null and activityType != ''">
1606
             and t.event_type = #{activityType}
1641
             and t.event_type = #{activityType}
1607
         </if>
1642
         </if>
1643
+        <if test="buildingId != null and buildingId != ''">
1644
+            and t.building_id = #{buildingId}
1645
+        </if>
1608
         GROUP BY
1646
         GROUP BY
1609
         t.person_id ) as t
1647
         t.person_id ) as t
1610
         left join ta_person a on  t.person_id = a.person_id
1648
         left join ta_person a on  t.person_id = a.person_id
1660
         AND t.org_id = #{orgId}
1698
         AND t.org_id = #{orgId}
1661
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1699
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1662
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
1700
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
1701
+        <if test="activityId != null and activityId != ''">
1702
+            and t.target_id = #{activityId}
1703
+        </if>
1704
+        <if test="activityType != null and activityType != ''">
1705
+            and t.event_type = #{activityType}
1706
+        </if>
1707
+        <if test="buildingId != null and buildingId != ''">
1708
+            and t.building_id = #{buildingId}
1709
+        </if>
1663
         GROUP BY
1710
         GROUP BY
1664
         t.person_id ) as t
1711
         t.person_id ) as t
1665
         left join ta_person a on  t.person_id = a.person_id
1712
         left join ta_person a on  t.person_id = a.person_id
1747
         left join ta_person d on c.recommend_person = d.person_id where c.org_id = #{orgId} group by d.person_id
1794
         left join ta_person d on c.recommend_person = d.person_id where c.org_id = #{orgId} group by d.person_id
1748
         ) as d on t.person_id = d.person_id
1795
         ) as d on t.person_id = d.person_id
1749
     </select>
1796
     </select>
1797
+
1798
+    <select id="selectActivityVisitPersonNumExportByPersonId"
1799
+            resultType="com.huiju.estateagents.excel.ActivityStatistics.VisitPersonNum">
1800
+        select
1801
+        a.nickname, a.phone,
1802
+        if(a.gender = '1', '男', if(a.gender = '2', '女','未知') ) as gender,
1803
+        a.province,
1804
+        b1.scene_name as personFrom,
1805
+        d.name as realtyConsultant,
1806
+        d.phone as realtyConsultantPhone,
1807
+        t.create_date as visitDate,
1808
+        t.visitNum
1809
+        From (
1810
+        SELECT count(1) as visitNum, t.person_id, t.create_date
1811
+        FROM ta_share_person_from t
1812
+        LEFT JOIN (
1813
+        SELECT a.person_id, b.user_id
1814
+        FROM ta_person a
1815
+        LEFT JOIN ta_user b
1816
+        ON a.user_id = b.user_id
1817
+        WHERE a.org_id = #{orgId} ) as a ON t.share_person = a.person_id or t.share_person = a.user_id
1818
+        WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' ) and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1819
+        and t.share_person = #{personId} group by t.person_id
1820
+        ) as t
1821
+
1822
+        left join ta_person a on  t.person_id = a.person_id
1823
+        left join ta_person_from_record b on a.person_id = b.person_id and b.org_id = #{orgId}
1824
+        left join td_wx_dict b1 on b.scene_id = b1.scene_id
1825
+        left join (
1826
+        select d.person_id, d.`name`, d.phone From  ta_recommend_customer c
1827
+        left join ta_person d on c.recommend_person = d.person_id where c.org_id = #{orgId} group by d.person_id
1828
+        ) as d on t.person_id = d.person_id
1829
+    </select>
1830
+
1831
+    <select id="selectActivityVisitNumExportByPersonId"
1832
+            resultType="com.huiju.estateagents.excel.ActivityStatistics.VisitNum">
1833
+        select
1834
+        a.nickname, a.phone,
1835
+        if(a.gender = '1', '男', if(a.gender = '2', '女','未知') ) as gender,
1836
+        a.province,
1837
+        b1.scene_name as personFrom,
1838
+        d.name as realtyConsultant,
1839
+        d.phone as realtyConsultantPhone,
1840
+        t.create_date as visitDate
1841
+        From (
1842
+        SELECT t.person_id, t.create_date
1843
+        FROM ta_share_person_from t
1844
+        LEFT JOIN (
1845
+        SELECT a.person_id, b.user_id
1846
+        FROM ta_person a
1847
+        LEFT JOIN ta_user b
1848
+        ON a.user_id = b.user_id
1849
+        WHERE a.org_id = #{orgId} ) as a ON t.share_person = a.person_id or t.share_person = a.user_id
1850
+        WHERE t.create_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%I:%S' ) and t.create_date &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d %H:%I:%S' ) and t.target_type in ('dynamic_share','h5_share','help_share','live_share', 'group_share')
1851
+        and t.share_person = #{personId}
1852
+        ) as t
1853
+
1854
+        left join ta_person a on  t.person_id = a.person_id
1855
+        left join ta_person_from_record b on a.person_id = b.person_id and b.org_id = #{orgId}
1856
+        left join td_wx_dict b1 on b.scene_id = b1.scene_id
1857
+        left join (
1858
+        select d.person_id, d.`name`, d.phone From  ta_recommend_customer c
1859
+        left join ta_person d on c.recommend_person = d.person_id where c.org_id = #{orgId} group by d.person_id
1860
+        ) as d on t.person_id = d.person_id
1861
+    </select>
1750
 </mapper>
1862
 </mapper>