魏超 5 anni fa
parent
commit
b012583c6c

+ 1
- 1
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Vedi File

258
         }
258
         }
259
 
259
 
260
         // 小程序公客
260
         // 小程序公客
261
-        if (!hasOrgCust && !inserted) {
261
+        if (!hasOrgCust && !inserted && !personTypeFlag) {
262
             TaRecommendCustomer customer = copyFromPerosn(person, new TaRecommendCustomer());
262
             TaRecommendCustomer customer = copyFromPerosn(person, new TaRecommendCustomer());
263
             fillSomeFieldsOfCustomer(customer, recommender, now);
263
             fillSomeFieldsOfCustomer(customer, recommender, now);
264
             taRecommendCustomerMapper.insert(customer);
264
             taRecommendCustomerMapper.insert(customer);

+ 3
- 3
src/main/java/com/huiju/estateagents/statistic/controller/ActivityStatisticController.java Vedi File

291
                                                    @RequestParam(value = "personId", required = false)String personId,
291
                                                    @RequestParam(value = "personId", required = false)String personId,
292
                                                    @RequestParam(value = "buildingId", required = false)String buildingId,
292
                                                    @RequestParam(value = "buildingId", required = false)String buildingId,
293
                                                    HttpServletRequest request) {
293
                                                    HttpServletRequest request) {
294
-        return taActivityStaticService.selectActivityVisitNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId, buildingId);
294
+        return taActivityStaticService.selectActivityVisitNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId, buildingId, getTaPersonBuildingListByUserId(request));
295
     }
295
     }
296
 
296
 
297
     /**
297
     /**
339
                                                @RequestParam(value = "activityType", required = false)String activityType,
339
                                                @RequestParam(value = "activityType", required = false)String activityType,
340
                                                @RequestParam(value = "buildingId", required = false)String buildingId,
340
                                                @RequestParam(value = "buildingId", required = false)String buildingId,
341
                                                HttpServletRequest request) {
341
                                                HttpServletRequest request) {
342
-        return taActivityStaticService.selectActivityVisitPersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId,  personId);
342
+        return taActivityStaticService.selectActivityVisitPersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId,  personId, getTaPersonBuildingListByUserId(request));
343
     }
343
     }
344
 
344
 
345
     /**
345
     /**
364
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitPersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
364
         ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), VisitPersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
365
         // 设置 sheet, 同一个sheet只需要设置一次
365
         // 设置 sheet, 同一个sheet只需要设置一次
366
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
366
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
367
-        List<VisitPersonNum> data = taActivityStaticService.selectActivityVisitPersonNumExport(getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId,  personId);
367
+        List<VisitPersonNum> data = taActivityStaticService.selectActivityVisitPersonNumExport(getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId,  personId, getTaPersonBuildingListByUserId(request));
368
         excelWriter.write(data, writeSheet);
368
         excelWriter.write(data, writeSheet);
369
         // finish 会帮忙关闭流
369
         // finish 会帮忙关闭流
370
         excelWriter.finish();
370
         excelWriter.finish();

+ 13
- 6
src/main/java/com/huiju/estateagents/statistic/mapper/TaActicityStaticMapper.java Vedi File

1
 package com.huiju.estateagents.statistic.mapper;
1
 package com.huiju.estateagents.statistic.mapper;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.entity.TaBuilding;
4
 import com.huiju.estateagents.entity.TaPersonBuilding;
5
 import com.huiju.estateagents.entity.TaPersonBuilding;
5
 import com.huiju.estateagents.excel.ActivityStatistics.*;
6
 import com.huiju.estateagents.excel.ActivityStatistics.*;
6
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
240
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
241
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
241
             @Param("activityId") String activityId,
242
             @Param("activityId") String activityId,
242
             @Param("activityType") String activityType,
243
             @Param("activityType") String activityType,
243
-            @Param("buildingId") String buildingId
244
+            @Param("buildingId") String buildingId,
245
+            @Param("taPersonBuildings")List<TaPersonBuilding> taPersonBuildings
244
     );
246
     );
245
 
247
 
246
     List<VisitNum> selectActivityVisitNumExport(
248
     List<VisitNum> selectActivityVisitNumExport(
267
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
269
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
268
             @Param("activityId") String activityId,
270
             @Param("activityId") String activityId,
269
             @Param("activityType") String activityType,
271
             @Param("activityType") String activityType,
270
-            @Param("buildingId") String buildingId
272
+            @Param("buildingId") String buildingId,
273
+            @Param("taPersonBuildings") List<TaPersonBuilding> taPersonBuildings
271
     );
274
     );
272
 
275
 
273
     List<VisitPersonNum> selectActivityVisitPersonNumExport(
276
     List<VisitPersonNum> selectActivityVisitPersonNumExport(
280
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
283
             @Param("realtyConsultantPhone") String realtyConsultantPhone,
281
             @Param("activityId") String activityId,
284
             @Param("activityId") String activityId,
282
             @Param("activityType") String activityType,
285
             @Param("activityType") String activityType,
283
-            @Param("buildingId") String buildingId
286
+            @Param("buildingId") String buildingId,
287
+            @Param("taPersonBuildings") List<TaPersonBuilding> taPersonBuildings
284
     );
288
     );
285
 
289
 
286
     IPage<VisitPersonNum> selectActivityVisitPersonNumByPersonId(
290
     IPage<VisitPersonNum> selectActivityVisitPersonNumByPersonId(
291
             @Param("personId") String personId,
295
             @Param("personId") String personId,
292
             @Param("activityId") String activityId,
296
             @Param("activityId") String activityId,
293
             @Param("activityType") String activityType,
297
             @Param("activityType") String activityType,
294
-            @Param("buildingId") String buildingId
298
+            @Param("buildingId") String buildingId,
299
+            @Param("taPersonBuildings") List<TaPersonBuilding> taPersonBuildings
295
     );
300
     );
296
 
301
 
297
     List<VisitPersonNum> selectActivityVisitPersonNumExportByPersonId(
302
     List<VisitPersonNum> selectActivityVisitPersonNumExportByPersonId(
301
             @Param("personId") String personId,
306
             @Param("personId") String personId,
302
             @Param("activityId") String activityId,
307
             @Param("activityId") String activityId,
303
             @Param("activityType") String activityType,
308
             @Param("activityType") String activityType,
304
-            @Param("buildingId") String buildingId
309
+            @Param("buildingId") String buildingId,
310
+            @Param("taPersonBuildings") List<TaPersonBuilding> taPersonBuildings
305
     );
311
     );
306
 
312
 
307
     IPage<VisitNum> selectActivityVisitNumByPersonId(
313
     IPage<VisitNum> selectActivityVisitNumByPersonId(
312
             @Param("personId") String personId,
318
             @Param("personId") String personId,
313
             @Param("activityId") String activityId,
319
             @Param("activityId") String activityId,
314
             @Param("activityType") String activityType,
320
             @Param("activityType") String activityType,
315
-            @Param("buildingId") String buildingId
321
+            @Param("buildingId") String buildingId,
322
+            @Param("taPersonBuildings")List<TaPersonBuilding> taPersonBuildings
316
     );
323
     );
317
 
324
 
318
     List<VisitNum> selectActivityVisitNumExportByPersonId(
325
     List<VisitNum> selectActivityVisitNumExportByPersonId(

+ 34
- 9
src/main/java/com/huiju/estateagents/statistic/service/impl/TaActivityStaticServiceImpl.java Vedi File

4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.common.StringUtils;
6
 import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.entity.TaBuilding;
7
 import com.huiju.estateagents.entity.TaPersonBuilding;
8
 import com.huiju.estateagents.entity.TaPersonBuilding;
8
 import com.huiju.estateagents.excel.ActivityStatistics.*;
9
 import com.huiju.estateagents.excel.ActivityStatistics.*;
9
 import com.huiju.estateagents.statistic.mapper.TaActicityStaticMapper;
10
 import com.huiju.estateagents.statistic.mapper.TaActicityStaticMapper;
151
         return taActicityStaticMapper.selectActivityAddRegistNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, activityId, activityType, buildingId, province, taPersonBuildings, userId);
152
         return taActicityStaticMapper.selectActivityAddRegistNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, activityId, activityType, buildingId, province, taPersonBuildings, userId);
152
     }
153
     }
153
 
154
 
154
-    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){
155
+    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, List<TaPersonBuilding> taPersonBuildings){
155
         IPage<VisitNum> iPage = new Page<>(pageNum, pageSize);
156
         IPage<VisitNum> iPage = new Page<>(pageNum, pageSize);
156
         IPage<VisitNum> data;
157
         IPage<VisitNum> data;
157
         if (StringUtils.isEmpty(personId)){
158
         if (StringUtils.isEmpty(personId)){
158
-            data = taActicityStaticMapper.selectActivityVisitNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId);
159
+            data = taActicityStaticMapper.selectActivityVisitNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId, taPersonBuildings);
159
         }else{
160
         }else{
160
-            data = taActicityStaticMapper.selectActivityVisitNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId);
161
+            data = taActicityStaticMapper.selectActivityVisitNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId, taPersonBuildings);
161
         }
162
         }
162
 
163
 
163
         return ResponseBean.success(data);
164
         return ResponseBean.success(data);
173
         return list;
174
         return list;
174
     }
175
     }
175
 
176
 
176
-    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){
177
+    public ResponseBean selectActivityVisitPersonNum(Integer pageNum,
178
+                                                     Integer pageSize,
179
+                                                     Integer orgId,
180
+                                                     LocalDate startDate,
181
+                                                     LocalDate endDate,
182
+                                                     String personFrom,
183
+                                                     String provice,
184
+                                                     String realtyConsultant,
185
+                                                     String realtyConsultantPhone,
186
+                                                     String activityId,
187
+                                                     String activityType,
188
+                                                     String buildingId,
189
+                                                     String personId,
190
+                                                     List<TaPersonBuilding> taBuildings){
177
         IPage<VisitPersonNum> iPage = new Page<>(pageNum, pageSize);
191
         IPage<VisitPersonNum> iPage = new Page<>(pageNum, pageSize);
178
         IPage<VisitPersonNum> data;
192
         IPage<VisitPersonNum> data;
179
         if (StringUtils.isEmpty(personId)){
193
         if (StringUtils.isEmpty(personId)){
180
-            data = taActicityStaticMapper.selectActivityVisitPersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId);
194
+            data = taActicityStaticMapper.selectActivityVisitPersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId, taBuildings);
181
         }else{
195
         }else{
182
-            data = taActicityStaticMapper.selectActivityVisitPersonNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId);
196
+            data = taActicityStaticMapper.selectActivityVisitPersonNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId, taBuildings);
183
         }
197
         }
184
 
198
 
185
         return ResponseBean.success(data);
199
         return ResponseBean.success(data);
186
     }
200
     }
187
 
201
 
188
-    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){
202
+    public List<VisitPersonNum> selectActivityVisitPersonNumExport(Integer orgId,
203
+                                                                   LocalDate startDate,
204
+                                                                   LocalDate endDate,
205
+                                                                   String personFrom,
206
+                                                                   String provice,
207
+                                                                   String realtyConsultant,
208
+                                                                   String realtyConsultantPhone,
209
+                                                                   String activityId,
210
+                                                                   String activityType,
211
+                                                                   String buildingId,
212
+                                                                   String personId,
213
+                                                                   List<TaPersonBuilding> taBuildings){
189
         List<VisitPersonNum> list = new ArrayList<>();
214
         List<VisitPersonNum> list = new ArrayList<>();
190
         if (StringUtils.isEmpty(personId)){
215
         if (StringUtils.isEmpty(personId)){
191
-            list = taActicityStaticMapper.selectActivityVisitPersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId);
216
+            list = taActicityStaticMapper.selectActivityVisitPersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType, buildingId, taBuildings);
192
         }else{
217
         }else{
193
-            list = taActicityStaticMapper.selectActivityVisitPersonNumExportByPersonId(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId);
218
+            list = taActicityStaticMapper.selectActivityVisitPersonNumExportByPersonId(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType, buildingId, taBuildings);
194
         }
219
         }
195
         return list;
220
         return list;
196
     }
221
     }

+ 18
- 0
src/main/resources/mapper/statistic/TaActivityStaticMapper.xml Vedi File

2081
         <if test="buildingId != null and buildingId != ''">
2081
         <if test="buildingId != null and buildingId != ''">
2082
             and t.building_id = #{buildingId}
2082
             and t.building_id = #{buildingId}
2083
         </if>
2083
         </if>
2084
+        <if test="taPersonBuildings != null and taPersonBuildings.size > 0">
2085
+            and t.building_id in
2086
+            <foreach collection="taPersonBuildings" item="taPersonBuilding" open="(" close=")" separator=",">
2087
+                #{taPersonBuilding.buildingId}
2088
+            </foreach>
2089
+        </if>
2084
         AND t.org_id = #{orgId}
2090
         AND t.org_id = #{orgId}
2085
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
2091
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
2086
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
2092
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
2143
         <if test="buildingId != null and buildingId != ''">
2149
         <if test="buildingId != null and buildingId != ''">
2144
             and t.building_id = #{buildingId}
2150
             and t.building_id = #{buildingId}
2145
         </if>
2151
         </if>
2152
+        <if test="taPersonBuildings != null and taPersonBuildings.size > 0">
2153
+            and t.building_id in
2154
+            <foreach collection="taPersonBuildings" item="taPersonBuilding" open="(" close=")" separator=",">
2155
+                #{taPersonBuilding.buildingId}
2156
+            </foreach>
2157
+        </if>
2146
         AND t.org_id = #{orgId}
2158
         AND t.org_id = #{orgId}
2147
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
2159
         AND t.visit_time >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
2148
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
2160
         AND t.visit_time &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
2211
         <if test="buildingId != null and buildingId != ''">
2223
         <if test="buildingId != null and buildingId != ''">
2212
             and t.building_id = #{buildingId}
2224
             and t.building_id = #{buildingId}
2213
         </if>
2225
         </if>
2226
+        <if test="taPersonBuildings != null and taPersonBuildings.size > 0">
2227
+            and t.building_id in
2228
+            <foreach collection="taPersonBuildings" item="taPersonBuilding" open="(" close=")" separator=",">
2229
+                #{taPersonBuilding.buildingId}
2230
+            </foreach>
2231
+        </if>
2214
         GROUP BY
2232
         GROUP BY
2215
         t.person_id ) as t
2233
         t.person_id ) as t
2216
         left join ta_person a on t.person_id = a.person_id
2234
         left join ta_person a on t.person_id = a.person_id