Selaa lähdekoodia

项目详情导出

傅行帆 5 vuotta sitten
vanhempi
commit
fae50fbf13

+ 22
- 0
src/main/java/com/huiju/estateagents/controller/StatisticalController.java Näytä tiedosto

@@ -6,6 +6,7 @@ import com.alibaba.excel.write.metadata.WriteSheet;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.excel.StatsBuilding;
9
+import com.huiju.estateagents.excel.StatsTimeBuilding;
9 10
 import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
10 11
 import com.huiju.estateagents.service.IStatisticalService;
11 12
 import org.springframework.beans.factory.annotation.Autowired;
@@ -273,4 +274,25 @@ public class StatisticalController extends BaseController {
273 274
         return iStatisticalService.getStatsTimeTableList(pageNum,pageSize,getOrgId(request), startDate, endDate,buildingId, getTaPersonBuildingListByUserId(request),sortField,sortOrder);
274 275
     }
275 276
 
277
+    /**
278
+     * 项目排行统计图
279
+     * @return
280
+     */
281
+    @GetMapping(value = "/admin/stats/buildingTimeExport")
282
+    public void getBuildingTimeTableList(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
283
+                                     @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate,
284
+                                     @RequestParam(value = "buildingId", required = false) String buildingId,
285
+                                     HttpServletRequest request, HttpServletResponse response) throws IOException {
286
+        response.setContentType("application/octet-stream");
287
+        response.setCharacterEncoding("utf-8");
288
+        response.setHeader("Content-disposition", "attachment;filename=项目详情统计.xlsx");
289
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), StatsTimeBuilding.class).registerWriteHandler(new CustomCellWriteHandler()).build();
290
+        // 设置 sheet, 同一个sheet只需要设置一次
291
+        WriteSheet writeSheet = EasyExcel.writerSheet("项目详情统计").build();
292
+        List<StatsTimeBuilding> list = iStatisticalService.getExportTimeTableList(getOrgId(request), startDate, endDate,buildingId, getTaPersonBuildingListByUserId(request));
293
+        excelWriter.write(list, writeSheet);
294
+        // finish 会帮忙关闭流
295
+        excelWriter.finish();
296
+    }
297
+
276 298
 }

+ 12
- 0
src/main/java/com/huiju/estateagents/service/IStatisticalService.java Näytä tiedosto

@@ -3,6 +3,7 @@ package com.huiju.estateagents.service;
3 3
 import com.huiju.estateagents.base.ResponseBean;
4 4
 import com.huiju.estateagents.entity.TaPersonBuilding;
5 5
 import com.huiju.estateagents.excel.StatsBuilding;
6
+import com.huiju.estateagents.excel.StatsTimeBuilding;
6 7
 
7 8
 import java.time.LocalDate;
8 9
 import java.util.List;
@@ -184,4 +185,15 @@ public interface IStatisticalService {
184 185
      * @return
185 186
      */
186 187
     ResponseBean getStatsTimeTableList(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, List<TaPersonBuilding> taPersonBuildingListByUserId, String sortField, String sortOrder);
188
+
189
+    /**
190
+     * 项目详情统计
191
+     * @param orgId
192
+     * @param startDate
193
+     * @param endDate
194
+     * @param buildingId
195
+     * @param taPersonBuildingListByUserId
196
+     * @return
197
+     */
198
+    List<StatsTimeBuilding> getExportTimeTableList(Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, List<TaPersonBuilding> taPersonBuildingListByUserId);
187 199
 }

+ 15
- 0
src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java Näytä tiedosto

@@ -535,6 +535,21 @@ public class StatisticalServiceImpl implements IStatisticalService {
535 535
         return ResponseBean.success(page);
536 536
     }
537 537
 
538
+    /**
539
+     * 项目详情统计
540
+     *
541
+     * @param orgId
542
+     * @param startDate
543
+     * @param endDate
544
+     * @param buildingId
545
+     * @param taPersonBuildingListByUserId
546
+     * @return
547
+     */
548
+    @Override
549
+    public List<StatsTimeBuilding> getExportTimeTableList(Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, List<TaPersonBuilding> taPersonBuildingListByUserId) {
550
+        return taBuildingMapper.getStatsTimeBarList(orgId,startDate,endDate,buildingId);
551
+    }
552
+
538 553
     /**
539 554
      * 项目公客排行折线图获取
540 555
      * @param orgId