Browse Source

修改导出接口,添加人员与时间筛选

fuyuchuan 2 months ago
parent
commit
0abbf66413

+ 5 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/MhFireDutyController.java

@@ -87,8 +87,11 @@ public class MhFireDutyController {
     @GetMapping("/export")
     @ApiOperation("批量导出值班记录到Excel")
     @Log(title = "导出防火值班记录", businessType = BusinessType.EXPORT)
-    public void export(@RequestParam List<Long> ids, HttpServletResponse response) throws IOException {
-        fireDutyService.exportExcel(ids, response);
+    public void export(HttpServletResponse response,
+                       @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startTime,
+                       @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endTime,
+                       @RequestParam(required = false) String memberName) throws IOException {
+        fireDutyService.exportExcel(response, startTime, endTime, memberName);
     }
 
 }

+ 1 - 3
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/MhFireDutyService.java

@@ -60,9 +60,7 @@ public interface MhFireDutyService extends CrudService<MhFireDuty> {
 
     /**
      * 批量导出防火值班记录到Excel
-     *
-     * @param ids        防火值班记录表主键id
      * @param response   HttpServletResponse
      */
-    void exportExcel(List<Long> ids, HttpServletResponse response) throws IOException;
+    void exportExcel(HttpServletResponse response, LocalDate startTime, LocalDate endTime, String memberName) throws IOException;
 }

+ 8 - 16
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/MhFireDutyServiceImpl.java

@@ -182,7 +182,6 @@ public class MhFireDutyServiceImpl extends AbstractCrudService<MhFireDutyMapper,
                         MhFireDuty::getDutyDate, startTime, endTime)
                 .eq(MhFireDuty::getIsDeleted, 0)
                 .orderByDesc(MhFireDuty::getDutyDate);
-
         page = this.page(page, queryWrapper);
         List<MhFireDuty> dutyList = page.getRecords();
         if (CollectionUtils.isEmpty(dutyList)) {
@@ -222,22 +221,15 @@ public class MhFireDutyServiceImpl extends AbstractCrudService<MhFireDutyMapper,
      * 生成Excel
      */
     @Override
-    public void exportExcel(List<Long> ids, HttpServletResponse response) throws IOException {
-        if (ids.isEmpty()) {
-            throw new BusinessException("请选择需要导出的记录!");
-        }
+    public void exportExcel(HttpServletResponse response, LocalDate startTime, LocalDate endTime, String memberName) throws IOException {
 
-        // 1. 查询所有主表数据
-        List<MhFireDuty> dutyList = new ArrayList<>();
-        for (Long id : ids) {
-            MhFireDuty duty = this.getById(id);
-            if (duty != null) {
-                dutyList.add(duty);
-            }
-        }
-        if (dutyList.isEmpty()) {
-            throw new BusinessException("所选记录不存在!");
-        }
+        LambdaQueryWrapper<MhFireDuty> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank(memberName), MhFireDuty::getMember, memberName)
+                .between(Objects.nonNull(startTime) && Objects.nonNull(endTime),
+                        MhFireDuty::getDutyDate, startTime, endTime)
+                .eq(MhFireDuty::getIsDeleted, 0)
+                .orderByDesc(MhFireDuty::getDutyDate);
+        List<MhFireDuty> dutyList = this.list(queryWrapper);
 
         List<Long> dutyIds = dutyList.stream().map(MhFireDuty::getId).collect(Collectors.toList());
         List<MhFireDutyBusiness> allBusiness = businessMapper.selectList(