Browse Source

新需求

魏超 5 years ago
parent
commit
b586acb88c

+ 31
- 9
src/main/java/com/huiju/estateagents/statistic/controller/ActivityStatisticController.java View File

@@ -158,13 +158,17 @@ public class ActivityStatisticController extends BaseController {
158 158
      * @return
159 159
      */
160 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 163
                                              @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
163 164
                                              @RequestParam(value = "sharePersonType", required = false)String sharePersonType,
164 165
                                              @RequestParam(value = "sharePersonName", required = false)  String sharePersonName,
165 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 169
                                              @RequestParam(value = "sort", required = false)String sort,
167 170
                                              @RequestParam(value = "colKey", required = false)String colKey,
171
+                                             @RequestParam(value = "buildingId", required = false)String buildingId,
168 172
                                              HttpServletRequest request, HttpServletResponse response) throws IOException {
169 173
         response.setContentType("application/octet-stream");
170 174
         response.setCharacterEncoding("utf-8");
@@ -172,7 +176,7 @@ public class ActivityStatisticController extends BaseController {
172 176
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), SharePersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
173 177
         // 设置 sheet, 同一个sheet只需要设置一次
174 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 180
         excelWriter.write(data, writeSheet);
177 181
         // finish 会帮忙关闭流
178 182
         excelWriter.finish();
@@ -209,6 +213,10 @@ public class ActivityStatisticController extends BaseController {
209 213
                                              @RequestParam(value = "sharePersonType", required = false)String sharePersonType,
210 214
                                              @RequestParam(value = "sharePersonName", required = false)  String sharePersonName,
211 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 220
                                              @RequestParam(value = "sort", required = false)String sort,
213 221
                                              @RequestParam(value = "colKey", required = false)String colKey,
214 222
                                              HttpServletRequest request, HttpServletResponse response) throws IOException {
@@ -218,7 +226,7 @@ public class ActivityStatisticController extends BaseController {
218 226
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ShareNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
219 227
         // 设置 sheet, 同一个sheet只需要设置一次
220 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 230
         excelWriter.write(data, writeSheet);
223 231
         // finish 会帮忙关闭流
224 232
         excelWriter.finish();
@@ -235,8 +243,9 @@ public class ActivityStatisticController extends BaseController {
235 243
                                                @RequestParam(value = "personFrom", required = false)String personFrom,
236 244
                                                @RequestParam(value = "activityId", required = false)String activityId,
237 245
                                                @RequestParam(value = "activityType", required = false)String activityType,
246
+                                               @RequestParam(value = "buildingId", required = false)String buildingId,
238 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,6 +256,9 @@ public class ActivityStatisticController extends BaseController {
247 256
     public void selectActivityAddRegistNumExport(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
248 257
                                                                @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
249 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 262
                                                                HttpServletRequest request, HttpServletResponse response) throws IOException {
251 263
         response.setContentType("application/octet-stream");
252 264
         response.setCharacterEncoding("utf-8");
@@ -254,7 +266,7 @@ public class ActivityStatisticController extends BaseController {
254 266
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), AddRegistNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
255 267
         // 设置 sheet, 同一个sheet只需要设置一次
256 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 270
         excelWriter.write(data, writeSheet);
259 271
         // finish 会帮忙关闭流
260 272
         excelWriter.finish();
@@ -275,8 +287,9 @@ public class ActivityStatisticController extends BaseController {
275 287
                                                    @RequestParam(value = "activityId", required = false)String activityId,
276 288
                                                    @RequestParam(value = "activityType", required = false)String activityType,
277 289
                                                    @RequestParam(value = "personId", required = false)String personId,
290
+                                                   @RequestParam(value = "buildingId", required = false)String buildingId,
278 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,6 +303,10 @@ public class ActivityStatisticController extends BaseController {
290 303
                                                @RequestParam(value = "province", required = false)String province,
291 304
                                                @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
292 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 310
                                                HttpServletRequest request, HttpServletResponse response) throws IOException {
294 311
         response.setContentType("application/octet-stream");
295 312
         response.setCharacterEncoding("utf-8");
@@ -297,7 +314,7 @@ public class ActivityStatisticController extends BaseController {
297 314
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
298 315
         // 设置 sheet, 同一个sheet只需要设置一次
299 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 318
         excelWriter.write(data, writeSheet);
302 319
         // finish 会帮忙关闭流
303 320
         excelWriter.finish();
@@ -318,8 +335,9 @@ public class ActivityStatisticController extends BaseController {
318 335
                                                @RequestParam(value = "personId", required = false)String personId,
319 336
                                                @RequestParam(value = "activityId", required = false)String activityId,
320 337
                                                @RequestParam(value = "activityType", required = false)String activityType,
338
+                                               @RequestParam(value = "buildingId", required = false)String buildingId,
321 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,6 +351,10 @@ public class ActivityStatisticController extends BaseController {
333 351
                                        @RequestParam(value = "province", required = false)String province,
334 352
                                        @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
335 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 358
                                        HttpServletRequest request, HttpServletResponse response) throws IOException {
337 359
         response.setContentType("application/octet-stream");
338 360
         response.setCharacterEncoding("utf-8");
@@ -340,7 +362,7 @@ public class ActivityStatisticController extends BaseController {
340 362
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitPersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
341 363
         // 设置 sheet, 同一个sheet只需要设置一次
342 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 366
         excelWriter.write(data, writeSheet);
345 367
         // finish 会帮忙关闭流
346 368
         excelWriter.finish();

+ 63
- 8
src/main/java/com/huiju/estateagents/statistic/mapper/TaActicityStaticMapper.java View File

@@ -94,6 +94,9 @@ public interface TaActicityStaticMapper {
94 94
             @Param("sharePersonType") String sharePersonType,
95 95
             @Param("sharePersonName") String sharePersonName,
96 96
             @Param("sharePhone") String sharePhone,
97
+            @Param("activityId") String activityId,
98
+            @Param("activityType") String activityType,
99
+            @Param("buildingId") String buildingId,
97 100
             @Param("sort") String sort,
98 101
             @Param("colKey") String colKey
99 102
     );
@@ -121,6 +124,10 @@ public interface TaActicityStaticMapper {
121 124
             @Param("sharePersonType") String sharePersonType,
122 125
             @Param("sharePersonName") String sharePersonName,
123 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 131
             @Param("sort") String sort,
125 132
             @Param("colKey") String colKey
126 133
     );
@@ -132,14 +139,18 @@ public interface TaActicityStaticMapper {
132 139
             @Param("endDate") LocalDateTime endDate,
133 140
             @Param("personFrom") String personFrom,
134 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 146
     List<AddRegistNum> selectActivityAddRegistNumExport(
139 147
             @Param("orgId") Integer orgId,
140 148
             @Param("startDate") LocalDateTime startDate,
141 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 156
     IPage<VisitNum> selectActivityVisitNum(
@@ -152,7 +163,8 @@ public interface TaActicityStaticMapper {
152 163
             @Param("realtyConsultant") String realtyConsultant,
153 164
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
154 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 170
     List<VisitNum> selectActivityVisitNumExport(
@@ -162,7 +174,10 @@ public interface TaActicityStaticMapper {
162 174
             @Param("personFrom") String personFrom,
163 175
             @Param("province") String province,
164 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 183
     IPage<VisitPersonNum> selectActivityVisitPersonNum(
@@ -175,7 +190,8 @@ public interface TaActicityStaticMapper {
175 190
             @Param("realtyConsultant") String realtyConsultant,
176 191
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
177 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 197
     List<VisitPersonNum> selectActivityVisitPersonNumExport(
@@ -185,7 +201,24 @@ public interface TaActicityStaticMapper {
185 201
             @Param("personFrom") String personFrom,
186 202
             @Param("province") String province,
187 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 224
     IPage<VisitPersonNum> selectActivityVisitPersonNumByPersonId(
@@ -195,7 +228,18 @@ public interface TaActicityStaticMapper {
195 228
             @Param("endDate") LocalDateTime endDate,
196 229
             @Param("personId") String personId,
197 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 245
     IPage<VisitNum> selectActivityVisitNumByPersonId(
@@ -205,7 +249,18 @@ public interface TaActicityStaticMapper {
205 249
             @Param("endDate") LocalDateTime endDate,
206 250
             @Param("personId") String personId,
207 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 View File

@@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
12 12
 import java.time.LocalDate;
13 13
 import java.time.LocalDateTime;
14 14
 import java.time.LocalTime;
15
+import java.util.ArrayList;
15 16
 import java.util.HashMap;
16 17
 import java.util.List;
17 18
 import java.util.Map;
@@ -121,9 +122,9 @@ public class TaActivityStaticServiceImpl {
121 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 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 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,51 +135,63 @@ public class TaActivityStaticServiceImpl {
134 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 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 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 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 154
         IPage<VisitNum> iPage = new Page<>(pageNum, pageSize);
154 155
         IPage<VisitNum> data;
155 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 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 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 176
         IPage<VisitPersonNum> iPage = new Page<>(pageNum, pageSize);
170 177
         IPage<VisitPersonNum> data;
171 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 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 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 View File

@@ -491,7 +491,7 @@
491 491
             and t.building_id =  #{buildingId}
492 492
         </if>
493 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 495
         </if>
496 496
         <if test="startDate != null">
497 497
             and t.visit_time &gt;= DATE_FORMAT(#{startDate}, '%Y-%m-%d %H:%i:%S' )
@@ -881,7 +881,7 @@
881 881
             select count(*) as addRegistNum ,addRegistNum.target_id, addRegistNum.target_type From (
882 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 883
                 and a.status = 1
884
-                and t.is_first_time = 1
884
+                and a.is_first_time = 1
885 885
                 <if test="targetType != null and targetType != ''">
886 886
                     and a.target_type =  #{targetType}
887 887
                 </if>
@@ -1139,26 +1139,27 @@
1139 1139
         ) as shareNum on person.person_id = shareNum.person_id
1140 1140
 
1141 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 1150
         ) as visitNum on visitNum.person_id = person.person_id
1150 1151
 
1151 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 1163
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1163 1164
         <if test="colKey == null or colKey == ''">
1164 1165
             order by person.create_date desc
@@ -1174,11 +1175,7 @@
1174 1175
         ifnull(shareNum, 0) as shareNum,
1175 1176
         ifnull(visitNum, 0) as visitNum,
1176 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 1179
         person.person_id
1183 1180
         from (
1184 1181
         SELECT t.*, f.nickname, f.phone, f.person_type
@@ -1247,26 +1244,40 @@
1247 1244
         ) as shareNum on person.person_id = shareNum.person_id
1248 1245
 
1249 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 1259
         ) as visitNum on visitNum.person_id = person.person_id
1258 1260
 
1259 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 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 1281
         ) as visitPersonNum on visitPersonNum.person_id = person.person_id
1271 1282
         <if test="colKey == null or colKey == ''">
1272 1283
             order by person.create_date desc
@@ -1435,6 +1446,9 @@
1435 1446
         <if test="personFrom != null and personFrom != ''">
1436 1447
             and b.scene_id = #{personFrom}
1437 1448
         </if>
1449
+        <if test="buildingId != null and buildingId != ''">
1450
+            and c.building_id = #{buildingId}
1451
+        </if>
1438 1452
         group by t.person_id
1439 1453
     </select>
1440 1454
 
@@ -1460,9 +1474,18 @@
1460 1474
         and t.status = 1
1461 1475
         and t.is_first_time = 1
1462 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 1483
         <if test="personFrom != null and personFrom != ''">
1464 1484
             and b.scene_id = #{personFrom}
1465 1485
         </if>
1486
+        <if test="buildingId != null and buildingId != ''">
1487
+            and c.building_id = #{buildingId}
1488
+        </if>
1466 1489
     </select>
1467 1490
 
1468 1491
     <select id="selectActivityVisitNum" resultType="com.huiju.estateagents.excel.ActivityStatistics.VisitNum">
@@ -1493,6 +1516,9 @@
1493 1516
             <if test="activityType != null and activityType != ''">
1494 1517
                 and t.event_type = #{activityType}
1495 1518
             </if>
1519
+            <if test="buildingId != null and buildingId != ''">
1520
+                and t.building_id = #{buildingId}
1521
+            </if>
1496 1522
             AND t.org_id = #{orgId}
1497 1523
             AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1498 1524
             AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
@@ -1543,6 +1569,15 @@
1543 1569
         'group',
1544 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 1581
         AND t.org_id = #{orgId}
1547 1582
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1548 1583
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
@@ -1551,8 +1586,8 @@
1551 1586
         left join ta_person_from_record b on a.person_id = b.person_id and b.org_id = #{orgId}
1552 1587
         left join td_wx_dict b1 on b.scene_id = b1.scene_id
1553 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 1591
         ) as d on t.person_id = d.person_id
1557 1592
         <where>
1558 1593
             <if test="personFrom != null and personFrom != ''">
@@ -1605,6 +1640,9 @@
1605 1640
         <if test="activityType != null and activityType != ''">
1606 1641
             and t.event_type = #{activityType}
1607 1642
         </if>
1643
+        <if test="buildingId != null and buildingId != ''">
1644
+            and t.building_id = #{buildingId}
1645
+        </if>
1608 1646
         GROUP BY
1609 1647
         t.person_id ) as t
1610 1648
         left join ta_person a on  t.person_id = a.person_id
@@ -1660,6 +1698,15 @@
1660 1698
         AND t.org_id = #{orgId}
1661 1699
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
1662 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 1710
         GROUP BY
1664 1711
         t.person_id ) as t
1665 1712
         left join ta_person a on  t.person_id = a.person_id
@@ -1747,4 +1794,69 @@
1747 1794
         left join ta_person d on c.recommend_person = d.person_id where c.org_id = #{orgId} group by d.person_id
1748 1795
         ) as d on t.person_id = d.person_id
1749 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 1862
 </mapper>