Browse Source

添加导出报表接口,修改管理端的报表接口,门锁展示接口,流程管理接口,订单详情接口,水电表管理接口。移动端的流程管理接口

liu 1 year ago
parent
commit
05e7255624
34 changed files with 713 additions and 159 deletions
  1. 3 0
      src/main/java/com/template/api/ApplicationProcedureControllerAPI.java
  2. 5 3
      src/main/java/com/template/api/ApplicationProcedureSettingControllerApi.java
  3. 1 2
      src/main/java/com/template/api/HouseLockControllerAPI.java
  4. 5 0
      src/main/java/com/template/api/HouseOrderAPI.java
  5. 15 0
      src/main/java/com/template/controller/ApplicationProcedureController.java
  6. 19 2
      src/main/java/com/template/controller/ApplicationProcedureSettingController.java
  7. 18 16
      src/main/java/com/template/controller/HouseLockController.java
  8. 114 19
      src/main/java/com/template/controller/HouseOrderController.java
  9. 6 6
      src/main/java/com/template/controller/PasswordIssController.java
  10. 2 0
      src/main/java/com/template/mapper/ApplicationProcedureMapper.java
  11. 2 0
      src/main/java/com/template/mapper/ApplicationProcedureTemporaryMapper.java
  12. 1 1
      src/main/java/com/template/mapper/HouseNumberMapper.java
  13. 6 3
      src/main/java/com/template/mapper/HouseOrderMapper.java
  14. 4 9
      src/main/java/com/template/model/pojo/Unlocking.java
  15. 4 9
      src/main/java/com/template/model/pojo/UnlockingAdmin.java
  16. 0 1
      src/main/java/com/template/model/vo/ApplicationProcedureRecordVo.java
  17. 20 1
      src/main/java/com/template/model/vo/ApplicationProcedureTemporaryVo.java
  18. 24 2
      src/main/java/com/template/model/vo/ApplicationProcedureVo.java
  19. 16 0
      src/main/java/com/template/model/vo/HouseLockVo.java
  20. 16 0
      src/main/java/com/template/model/vo/HouseOrderParticularsVo.java
  21. 36 0
      src/main/java/com/template/model/vo/ReportStatisticsExportVo.java
  22. 106 0
      src/main/java/com/template/model/vo/ReportStatisticsVo.java
  23. 1 0
      src/main/java/com/template/services/ApplicationProcedureService.java
  24. 2 0
      src/main/java/com/template/services/ApplicationProcedureTemporaryService.java
  25. 1 1
      src/main/java/com/template/services/HouseNumberService.java
  26. 4 4
      src/main/java/com/template/services/HouseOrderService.java
  27. 5 0
      src/main/java/com/template/services/impl/ApplicationProcedureServiceImpl.java
  28. 5 0
      src/main/java/com/template/services/impl/ApplicationProcedureTemporaryServiceImpl.java
  29. 6 4
      src/main/java/com/template/services/impl/HouseNumberServiceImpl.java
  30. 13 4
      src/main/java/com/template/services/impl/HouseOrderServiceImpl.java
  31. 84 30
      src/main/resources/mapper/template/ApplicationProcedureMapper.xml
  32. 77 30
      src/main/resources/mapper/template/ApplicationProcedureTemporaryMapper.xml
  33. 1 1
      src/main/resources/mapper/template/HouseMapper.xml
  34. 91 11
      src/main/resources/mapper/template/HouseOrderMapper.xml

+ 3 - 0
src/main/java/com/template/api/ApplicationProcedureControllerAPI.java

@@ -46,6 +46,9 @@ public interface ApplicationProcedureControllerAPI {
     @ApiOperation(value = "换课老师下拉框", notes = "换课老师下拉框", httpMethod = "GET")
     @ApiOperation(value = "换课老师下拉框", notes = "换课老师下拉框", httpMethod = "GET")
     CommonResult changeDropDown();
     CommonResult changeDropDown();
 
 
+    @GetMapping("/appletDetail")
+    @ApiOperation(value = "小程序-流程记录详情", notes = "小程序-流程记录详情", httpMethod = "GET")
+    CommonResult appletDetail(@RequestParam Integer department,Integer id);
 
 
 
 
 }
 }

+ 5 - 3
src/main/java/com/template/api/ApplicationProcedureSettingControllerApi.java

@@ -3,6 +3,7 @@ package com.template.api;
 import com.template.model.dto.ApplicationProcedurSettingDto;
 import com.template.model.dto.ApplicationProcedurSettingDto;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,11 +12,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
 public interface ApplicationProcedureSettingControllerApi {
 public interface ApplicationProcedureSettingControllerApi {
 
 
     @PostMapping("/update")
     @PostMapping("/update")
-    @ApiOperation(value = "规则设置", notes = "规则设置", httpMethod = "POST")
+    @ApiOperation(value = "修改规则设置", notes = "修改规则设置", httpMethod = "POST")
     CommonResult update(@RequestBody ApplicationProcedurSettingDto applicationProcedurSettingDto);
     CommonResult update(@RequestBody ApplicationProcedurSettingDto applicationProcedurSettingDto);
 
 
-
-
+    @GetMapping("/list")
+    @ApiOperation(value = "规则设置", notes = "规则设置", httpMethod = "GET")
+    CommonResult list(Integer permissionSettingId);
 
 
 
 
 }
 }

+ 1 - 2
src/main/java/com/template/api/HouseLockControllerAPI.java

@@ -1,7 +1,6 @@
 package com.template.api;
 package com.template.api;
 
 
 import com.template.model.dto.BingingDto;
 import com.template.model.dto.BingingDto;
-import com.template.model.dto.KeyFingerprintDto;
 import com.template.model.dto.RemoteUnlocking;
 import com.template.model.dto.RemoteUnlocking;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -15,7 +14,7 @@ public interface HouseLockControllerAPI {
 
 
     @GetMapping("/list")
     @GetMapping("/list")
     @ApiOperation(value = "门锁管理页面展示", notes = "门锁管理页面展示", httpMethod = "GET")
     @ApiOperation(value = "门锁管理页面展示", notes = "门锁管理页面展示", httpMethod = "GET")
-    CommonResult list(String permissionSettingId,String roomNumber,String roomName,int page, int size);
+    CommonResult list(String permissionSettingId,String roomNumber,String roomName);
 
 
     @GetMapping("/particular")
     @GetMapping("/particular")
     @ApiOperation(value = "门锁详情展示", notes = "门锁详情展示", httpMethod = "GET")
     @ApiOperation(value = "门锁详情展示", notes = "门锁详情展示", httpMethod = "GET")

+ 5 - 0
src/main/java/com/template/api/HouseOrderAPI.java

@@ -68,6 +68,11 @@ public interface HouseOrderAPI {
     @ApiOperation(value = "统计报表", notes = "统计报表", httpMethod = "GET")
     @ApiOperation(value = "统计报表", notes = "统计报表", httpMethod = "GET")
     CommonResult reportStatistics(String permissionSettingId, String state, String keyWord, String startTime, String endTime, int page, int size);
     CommonResult reportStatistics(String permissionSettingId, String state, String keyWord, String startTime, String endTime, int page, int size);
 
 
+    @GetMapping("/reportStatisticsExport")
+    @ApiOperation(value = "统计报表导出", notes = "统计报表导出", httpMethod = "GET")
+    CommonResult reportStatisticsExport(HttpServletResponse response,String permissionSettingId, String state, String keyWord, String startTime, String endTime);
+
+
     @GetMapping("/orderPage")
     @GetMapping("/orderPage")
     @ApiOperation(value = "小程序——订单页面展示", notes = "小程序——订单页面展示", httpMethod = "GET")
     @ApiOperation(value = "小程序——订单页面展示", notes = "小程序——订单页面展示", httpMethod = "GET")
     CommonResult orderPage(String userId, int page, int size, String status);
     CommonResult orderPage(String userId, int page, int size, String status);

+ 15 - 0
src/main/java/com/template/controller/ApplicationProcedureController.java

@@ -14,6 +14,7 @@ import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.ApplicationProcedureRecordVo;
 import com.template.model.vo.ApplicationProcedureRecordVo;
 import com.template.model.vo.ApplicationProcedureTemporaryRecordVo;
 import com.template.model.vo.ApplicationProcedureTemporaryRecordVo;
+import com.template.model.vo.ApplicationProcedureTemporaryVo;
 import com.template.model.vo.ApplicationProcedureVo;
 import com.template.model.vo.ApplicationProcedureVo;
 import com.template.services.*;
 import com.template.services.*;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
@@ -449,5 +450,19 @@ public class ApplicationProcedureController implements ApplicationProcedureContr
         return CommonResult.ok(list);
         return CommonResult.ok(list);
     }
     }
 
 
+    @Override
+    public CommonResult appletDetail(Integer department, Integer id) {
+        if (department==4) {
+            ApplicationProcedureVo byId = applicationProcedureService.appletDetail(id);
+            return CommonResult.ok(byId);
+
+        }else if (department==7){
+//          临时人员
+            ApplicationProcedureTemporaryVo byId = applicationProcedureTemporaryService.appletDetail(id);
+            return CommonResult.ok(byId);
+        }
+        return CommonResult.fail();
+    }
+
 }
 }
 
 

+ 19 - 2
src/main/java/com/template/controller/ApplicationProcedureSettingController.java

@@ -1,6 +1,7 @@
 package com.template.controller;
 package com.template.controller;
 
 
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.ApplicationProcedureSettingControllerApi;
 import com.template.api.ApplicationProcedureSettingControllerApi;
 import com.template.model.dto.ApplicationProcedurSettingDto;
 import com.template.model.dto.ApplicationProcedurSettingDto;
@@ -10,10 +11,10 @@ import com.template.model.result.CommonResult;
 import com.template.services.ApplicationProcedureSettingService;
 import com.template.services.ApplicationProcedureSettingService;
 import com.template.services.PermissionSettingService;
 import com.template.services.PermissionSettingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  前端控制器
  *  前端控制器
@@ -61,5 +62,21 @@ public class ApplicationProcedureSettingController implements ApplicationProcedu
 
 
         return CommonResult.ok();
         return CommonResult.ok();
     }
     }
+
+    @Override
+    public CommonResult list(Integer permissionSettingId) {
+        PermissionSetting permissionSetting1 = permissionSettingService.getById(permissionSettingId);
+        if (ObjectUtils.isEmpty(permissionSetting1)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String processManagement = permissionSetting1.getProcessManagement();
+        if (!"0".equals(processManagement) && !processManagement.contains("6")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+        List<ApplicationProcedureSetting> list = applicationProcedureSettingService.list(new LambdaQueryWrapper<>());
+        ApplicationProcedureSetting applicationProcedureSetting = list.get(0);
+        return CommonResult.ok(applicationProcedureSetting);
+    }
 }
 }
 
 

+ 18 - 16
src/main/java/com/template/controller/HouseLockController.java

@@ -2,24 +2,19 @@ package com.template.controller;
 
 
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.HouseLockControllerAPI;
 import com.template.api.HouseLockControllerAPI;
 import com.template.model.dto.BingingDto;
 import com.template.model.dto.BingingDto;
-import com.template.model.dto.KeyFingerprintDto;
 import com.template.model.dto.RemoteUnlocking;
 import com.template.model.dto.RemoteUnlocking;
 import com.template.model.pojo.*;
 import com.template.model.pojo.*;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
-import com.template.model.result.PageUtils;
-import com.template.model.vo.CalendarPageVo;
+import com.template.model.vo.HouseLockVo;
 import com.template.model.vo.UnlockingKeyVo;
 import com.template.model.vo.UnlockingKeyVo;
 import com.template.model.vo.houseLockListVo;
 import com.template.model.vo.houseLockListVo;
 import com.template.services.*;
 import com.template.services.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
@@ -28,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -71,7 +67,7 @@ public class HouseLockController implements HouseLockControllerAPI {
     OperatingRecordService operatingRecordService;
     OperatingRecordService operatingRecordService;
 
 
     @Override
     @Override
-    public CommonResult list(String permissionSettingId, String roomNumber, String roomName, int page, int size) {
+    public CommonResult list(String permissionSettingId, String roomNumber, String roomName) {
         PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
         PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
         if (ObjectUtils.isEmpty(permissionSetting)) {
         if (ObjectUtils.isEmpty(permissionSetting)) {
             return CommonResult.fail("非法进入");
             return CommonResult.fail("非法进入");
@@ -82,12 +78,6 @@ public class HouseLockController implements HouseLockControllerAPI {
             return CommonResult.fail("此账号暂无该权限");
             return CommonResult.fail("此账号暂无该权限");
         }
         }
 
 
-        if (ObjectUtils.isEmpty(page) && page <= 0) {
-            page = 1;
-        }
-        if (ObjectUtils.isEmpty(size) && size <= 0) {
-            size = 10;
-        }
 
 
         LambdaQueryWrapper<House> hWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<House> hWrapper = new LambdaQueryWrapper<>();
         hWrapper.eq(ObjectUtils.isNotEmpty(roomName), House::getRoomName, roomName);
         hWrapper.eq(ObjectUtils.isNotEmpty(roomName), House::getRoomName, roomName);
@@ -105,11 +95,23 @@ public class HouseLockController implements HouseLockControllerAPI {
             }
             }
         }
         }
 
 
+        List<houseLockListVo> voList = houseNumberService.houseLockPage(roomNumber, houseIds);
+
+        ArrayList<HouseLockVo> vos = new ArrayList<>();
+        for (House house : list) {
+            HouseLockVo vo = new HouseLockVo();
+            vo.setId(house.getId());
+            vo.setName(house.getRoomName());
+            vo.setRoomType(house.getRoomType());
+            List<houseLockListVo> ownerClasses = voList.stream().filter(e -> e.getHouseId().equals(house.getId() + "")).collect(Collectors.toList());
+            if (ownerClasses != null && ownerClasses.size() > 0) {
+                vo.setVos(ownerClasses);
+            }
+            vos.add(vo);
+        }
 
 
-        PageUtils<houseLockListVo> houseLockPage = houseNumberService.houseLockPage(roomNumber, houseIds, page, size);
-
+        return CommonResult.ok(vos);
 
 
-        return CommonResult.ok(houseLockPage);
     }
     }
 
 
     @Override
     @Override

+ 114 - 19
src/main/java/com/template/controller/HouseOrderController.java

@@ -136,6 +136,9 @@ public class HouseOrderController implements HouseOrderAPI {
     @Autowired
     @Autowired
     RefundRecordService refundRecordService;
     RefundRecordService refundRecordService;
 
 
+    @Autowired
+    SubsidySetupService subsidySetupService;
+
     @Override
     @Override
     public CommonResult getHouseOrderPrice(int houseOrderNumber, String userId, String houseId, String liveTime, String leaveTime) {
     public CommonResult getHouseOrderPrice(int houseOrderNumber, String userId, String houseId, String liveTime, String leaveTime) {
         if (ObjectUtils.isEmpty(userId) && ObjectUtils.isEmpty(houseId) && ObjectUtils.isEmpty(leaveTime) && ObjectUtils.isEmpty(leaveTime) && ObjectUtils.isEmpty(houseOrderNumber) && houseOrderNumber <= 0) {
         if (ObjectUtils.isEmpty(userId) && ObjectUtils.isEmpty(houseId) && ObjectUtils.isEmpty(leaveTime) && ObjectUtils.isEmpty(leaveTime) && ObjectUtils.isEmpty(houseOrderNumber) && houseOrderNumber <= 0) {
@@ -676,8 +679,18 @@ public class HouseOrderController implements HouseOrderAPI {
             vo.setStartTime(unlocking.getStartTime());
             vo.setStartTime(unlocking.getStartTime());
             vo.setEndTime(unlocking.getEndTime());
             vo.setEndTime(unlocking.getEndTime());
         }
         }
+        String houseNumberId = houseOrder.getHouseNumberId();
+        HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
+        if (ObjectUtils.isNotEmpty(houseNumber)) {
+            vo.setElectricEquipmentMeterName(houseNumber.getElectricEquipmentMeterName());
+            vo.setWaterEquipmentMeterName(houseNumber.getWaterEquipmentMeterName());
+        }
+        SubsidySetup subsidySetup = subsidySetupService.list(new LambdaQueryWrapper<>()).get(0);
+        if (ObjectUtils.isNotEmpty(subsidySetup)) {
+            vo.setFreeQuotaOfWater(subsidySetup.getFreeQuotaOfWater());
+            vo.setFreeQuotaOfElectric(subsidySetup.getFreeQuotaOfElectric());
+        }
 
 
-//      todo 水电明细
 
 
         return CommonResult.ok(vo);
         return CommonResult.ok(vo);
     }
     }
@@ -1401,32 +1414,114 @@ public class HouseOrderController implements HouseOrderAPI {
             return CommonResult.fail("参数异常");
             return CommonResult.fail("参数异常");
         }
         }
 
 
-        ArrayList<String> strings = new ArrayList<>();
+        String s="";
         if ("1".equals(state)) {
         if ("1".equals(state)) {
-            strings.add("2");
-            strings.add("3");
-            strings.add("4");
-            strings.add("8");
+            s="2,3,4,8";
         } else {
         } else {
-            strings.add("1");
-            strings.add("5");
+            s="1,5";
         }
         }
 
 
+        PageUtils<ReportStatisticsVo> pageUtils=houseOrderService.reportStatisticsPage(s,keyWord,startTime,endTime,page,size);
 
 
-        LambdaQueryWrapper<HouseOrder> wrapper = new LambdaQueryWrapper<>();
-        wrapper.between(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime), HouseOrder::getCreateTime, startTime, endTime)
-                .like(ObjectUtils.isNotEmpty(keyWord), HouseOrder::getOrderNumber, keyWord)
-                .in(HouseOrder::getOrderStatus, strings)
-                .or()
-                .between(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime), HouseOrder::getCreateTime, startTime, endTime)
-                .like(ObjectUtils.isNotEmpty(keyWord), HouseOrder::getLiveName, keyWord)
-                .in(HouseOrder::getOrderStatus, strings)
-        ;
-        IPage<HouseOrder> page1 = houseOrderService.page(new Page<>(page, size), wrapper);
+        return CommonResult.ok(pageUtils);
+
+
+    }
+
+    @Override
+    public CommonResult reportStatisticsExport(HttpServletResponse response, String permissionSettingId, String state, String keyWord, String startTime, String endTime) {
+        PermissionSetting permissionSetting = permissionSettingService.getById(permissionSettingId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+
+//      判断该用户是否拥有权限
+        String houseTypeManagement = permissionSetting.getDoorLockManagement();
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("14")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+        if (ObjectUtils.isEmpty(state)) {
+            return CommonResult.fail("参数异常");
+        }
 
 
-        return CommonResult.ok(page1);
+        String s="";
+        if ("1".equals(state)) {
+            s="2,3,4,8";
+        } else {
+            s="1,5";
+        }
+
+        List<ReportStatisticsExportVo> vos=houseOrderService.reportStatisticsExport(s,keyWord,startTime,endTime);
+
+        //        导出
+        Workbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("报表统计");
+        Row headerRow = sheet.createRow(0);
+        headerRow.createCell(0).setCellValue("序号");
+        headerRow.createCell(1).setCellValue("订单编号");
+        headerRow.createCell(2).setCellValue("入住人");
+        headerRow.createCell(3).setCellValue("房型");
+        headerRow.createCell(4).setCellValue("房号");
+        headerRow.createCell(5).setCellValue("订单金额/元");
+        headerRow.createCell(6).setCellValue("支付时间");
+        headerRow.createCell(7).setCellValue("订单状态");
+        headerRow.createCell(8).setCellValue("创建时间");
+
+        if (ObjectUtils.isNotEmpty(vos) && vos.size() > 0) {
+            for (int i = 0; i < vos.size(); i++) {
+                ReportStatisticsExportVo vo = vos.get(i);
+                Row dataRow1 = sheet.createRow(i + 1);
+
+                dataRow1.createCell(0).setCellValue(i+1);
+                dataRow1.createCell(1).setCellValue(vo.getOrderStatus());
+                dataRow1.createCell(2).setCellValue(vo.getLiveName());
+//                房型是房间名称加房间类型
+                String roomName = vo.getRoomName();
+                String roomType = vo.getRoomType();
+                String type="";
+                if ("1".equals(roomType)) {
+                    type="全";
+                }else {
+                    type="钟";
+                }
+                dataRow1.createCell(3).setCellValue(roomName+"("+type+")");
+                dataRow1.createCell(4).setCellValue(vo.getRoomNumber());
+                dataRow1.createCell(5).setCellValue(vo.getPayPrice().doubleValue());
+                dataRow1.createCell(6).setCellValue(vo.getPayTime());
+//                订单状态
+                String orderStatus = vo.getOrderStatus();
+                String orderName = "";
+                if ("1".equals(orderStatus)) {
+                    orderName = "待支付";
+                } else if ("2".equals(orderStatus)) {
+                    orderName = "已支付";
+                } else if ("3".equals(orderStatus)) {
+                    orderName = "待入住";
+                } else if ("4".equals(orderStatus)) {
+                    orderName = "已入住";
+                } else if ("5".equals(orderStatus)) {
+                    orderName = "待结账";
+                } else if ("6".equals(orderStatus)) {
+                    orderName = "退款中";
+                } else if ("7".equals(orderStatus)) {
+                    orderName = "已退款";
+                } else if ("8".equals(orderStatus)) {
+                    orderName = "已退房";
+                } else if ("9".equals(orderStatus)) {
+                    orderName = "已取消";
+                }
+
+                dataRow1.createCell(7).setCellValue(orderName);
+                dataRow1.createCell(8).setCellValue(vo.getCreateTime());
+
+            }
+        }
 
 
+        // 将工作簿写入文件
+        ExcelUtils.excelDownload(workbook, "订单报表.xlsx", response);
 
 
+        return CommonResult.ok();
     }
     }
 
 
 
 

+ 6 - 6
src/main/java/com/template/controller/PasswordIssController.java

@@ -174,7 +174,7 @@ public class PasswordIssController {
             String end = sdf.format(Long.valueOf(ciq.getEndTime()));
             String end = sdf.format(Long.valueOf(ciq.getEndTime()));
             unlocking.setStartTime(start);
             unlocking.setStartTime(start);
             unlocking.setEndTime(end);
             unlocking.setEndTime(end);
-            unlocking.setTyep("4");
+            unlocking.setType("4");
 
 
 
 
             return unlocking;
             return unlocking;
@@ -216,7 +216,7 @@ public class PasswordIssController {
             String end = sdf.format(Long.valueOf(fd.getEndTime()));
             String end = sdf.format(Long.valueOf(fd.getEndTime()));
             unlocking.setStartTime(start);
             unlocking.setStartTime(start);
             unlocking.setEndTime(end);
             unlocking.setEndTime(end);
-            unlocking.setTyep("4");
+            unlocking.setType("4");
 
 
 
 
             return unlocking;
             return unlocking;
@@ -262,7 +262,7 @@ public class PasswordIssController {
             String end = sdf.format(Long.valueOf(pr.getEndTime()));
             String end = sdf.format(Long.valueOf(pr.getEndTime()));
             unlocking.setStartTime(start);
             unlocking.setStartTime(start);
             unlocking.setEndTime(end);
             unlocking.setEndTime(end);
-            unlocking.setTyep("4");
+            unlocking.setType("4");
 
 
             return unlocking;
             return unlocking;
         } catch (Exception e) {
         } catch (Exception e) {
@@ -314,7 +314,7 @@ public class PasswordIssController {
             unlocking.setHouseNumberId(keyPassWordDto.getHouseNumberId());
             unlocking.setHouseNumberId(keyPassWordDto.getHouseNumberId());
             unlocking.setStartTime(startTime);
             unlocking.setStartTime(startTime);
             unlocking.setStartTime(endTime);
             unlocking.setStartTime(endTime);
-            unlocking.setTyep(keyPassWordDto.getType());
+            unlocking.setType(keyPassWordDto.getType());
 
 
             return unlocking;
             return unlocking;
         } catch (Exception e) {
         } catch (Exception e) {
@@ -360,7 +360,7 @@ public class PasswordIssController {
             unlocking.setHouseNumberId(keyCardDto.getHouseNumberId());
             unlocking.setHouseNumberId(keyCardDto.getHouseNumberId());
             unlocking.setStartTime(startTime);
             unlocking.setStartTime(startTime);
             unlocking.setStartTime(endTime);
             unlocking.setStartTime(endTime);
-            unlocking.setTyep(keyCardDto.getType());
+            unlocking.setType(keyCardDto.getType());
 
 
             return unlocking;
             return unlocking;
         } catch (Exception e) {
         } catch (Exception e) {
@@ -403,7 +403,7 @@ public class PasswordIssController {
             unlocking.setHouseNumberId(keyFingerprintDto.getHouseNumberId());
             unlocking.setHouseNumberId(keyFingerprintDto.getHouseNumberId());
             unlocking.setStartTime(startTime);
             unlocking.setStartTime(startTime);
             unlocking.setStartTime(endTime);
             unlocking.setStartTime(endTime);
-            unlocking.setTyep(keyFingerprintDto.getType());
+            unlocking.setType(keyFingerprintDto.getType());
 
 
             return unlocking;
             return unlocking;
         } catch (Exception e) {
         } catch (Exception e) {

+ 2 - 0
src/main/java/com/template/mapper/ApplicationProcedureMapper.java

@@ -26,4 +26,6 @@ public interface ApplicationProcedureMapper extends BaseMapper<ApplicationProced
     IPage<ApplicationProcedureVo> parentPageList(Page<ApplicationProcedureVo> pageVo, @Param("submissionStartTime") String submissionStartTime,@Param("submissionEndTime") String submissionEndTime,@Param("examineAndApproveStartTime") String examineAndApproveStartTime,@Param("examineAndApproveEndTime") String examineAndApproveEndTime,@Param("type") String type,@Param("department") String department,@Param("key") String key);
     IPage<ApplicationProcedureVo> parentPageList(Page<ApplicationProcedureVo> pageVo, @Param("submissionStartTime") String submissionStartTime,@Param("submissionEndTime") String submissionEndTime,@Param("examineAndApproveStartTime") String examineAndApproveStartTime,@Param("examineAndApproveEndTime") String examineAndApproveEndTime,@Param("type") String type,@Param("department") String department,@Param("key") String key);
 
 
     Page<ApplicationProcedureRecordVo> appletRecordPage(Page<ApplicationProcedureRecordVo> recordVoPage,@Param("userId") Integer userId,@Param("startTime")  String startTime,@Param("endTime")  String endTime,@Param("status")  String status);
     Page<ApplicationProcedureRecordVo> appletRecordPage(Page<ApplicationProcedureRecordVo> recordVoPage,@Param("userId") Integer userId,@Param("startTime")  String startTime,@Param("endTime")  String endTime,@Param("status")  String status);
+
+    ApplicationProcedureVo appletDetail(@Param("id") Integer id);
 }
 }

+ 2 - 0
src/main/java/com/template/mapper/ApplicationProcedureTemporaryMapper.java

@@ -27,4 +27,6 @@ public interface ApplicationProcedureTemporaryMapper extends BaseMapper<Applicat
 
 
 
 
     IPage<ApplicationProcedureTemporaryRecordVo> appletRecordPage(Page<ApplicationProcedureTemporaryRecordVo> pageVo, @Param("userId") Integer userId,@Param("startTime")  String startTime,@Param("endTime")  String endTime,@Param("status")  String status);
     IPage<ApplicationProcedureTemporaryRecordVo> appletRecordPage(Page<ApplicationProcedureTemporaryRecordVo> pageVo, @Param("userId") Integer userId,@Param("startTime")  String startTime,@Param("endTime")  String endTime,@Param("status")  String status);
+
+    ApplicationProcedureTemporaryVo appletDetail(@Param("id") Integer id);
 }
 }

+ 1 - 1
src/main/java/com/template/mapper/HouseNumberMapper.java

@@ -28,7 +28,7 @@ public interface HouseNumberMapper extends BaseMapper<HouseNumber> {
     IPage<CalendarPageVo> houseStateCalendarPage(Page<CalendarPageVo> pageVo, @Param("keyWord") String keyWord, @Param("houseType") String houseType);
     IPage<CalendarPageVo> houseStateCalendarPage(Page<CalendarPageVo> pageVo, @Param("keyWord") String keyWord, @Param("houseType") String houseType);
 
 
 
 
-    IPage<houseLockListVo> houseLockListDto(Page<houseLockListVo> pageVo,@Param("roomNumber") String roomNumber,@Param("houseIds") String houseIds);
+    List<houseLockListVo> houseLockListDto(@Param("roomNumber") String roomNumber,@Param("houseIds") String houseIds);
 
 
     List<Integer> getNumberState(@Param("date") Date date);
     List<Integer> getNumberState(@Param("date") Date date);
 
 

File diff suppressed because it is too large
+ 6 - 3
src/main/java/com/template/mapper/HouseOrderMapper.java


+ 4 - 9
src/main/java/com/template/model/pojo/Unlocking.java

@@ -1,19 +1,14 @@
 package com.template.model.pojo;
 package com.template.model.pojo;
 
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 
 
+import java.io.Serializable;
+
 /**
 /**
  * <p>
  * <p>
  * 
  * 
@@ -40,7 +35,7 @@ public class Unlocking implements Serializable {
     private String houseNumberId;
     private String houseNumberId;
 
 
     @ApiModelProperty(value = "类型(1:管理员用户,2:普通用户(永久),4:时效性用户,5:一次性时效密码用户,100:时效性无网络密码用户)")
     @ApiModelProperty(value = "类型(1:管理员用户,2:普通用户(永久),4:时效性用户,5:一次性时效密码用户,100:时效性无网络密码用户)")
-    private String tyep;
+    private String type;
 
 
     @ApiModelProperty(value = "锁用户id(每次生成密码/卡片/指纹时都会产生)")
     @ApiModelProperty(value = "锁用户id(每次生成密码/卡片/指纹时都会产生)")
     private String lockUserId;
     private String lockUserId;

+ 4 - 9
src/main/java/com/template/model/pojo/UnlockingAdmin.java

@@ -1,19 +1,14 @@
 package com.template.model.pojo;
 package com.template.model.pojo;
 
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 
 
+import java.io.Serializable;
+
 /**
 /**
  * <p>
  * <p>
  * 
  * 
@@ -44,7 +39,7 @@ public class UnlockingAdmin implements Serializable {
     private String houseNumberId;
     private String houseNumberId;
 
 
     @ApiModelProperty(value = "类型(1:管理员用户,2:普通用户(永久),4:时效性用户,5:一次性时效密码用户,100:时效性无网络密码用户)")
     @ApiModelProperty(value = "类型(1:管理员用户,2:普通用户(永久),4:时效性用户,5:一次性时效密码用户,100:时效性无网络密码用户)")
-    private String tyep;
+    private String type;
 
 
     @ApiModelProperty(value = "锁用户id(每次生成密码/卡片/指纹时都会产生)")
     @ApiModelProperty(value = "锁用户id(每次生成密码/卡片/指纹时都会产生)")
     private String lockUserId;
     private String lockUserId;

+ 0 - 1
src/main/java/com/template/model/vo/ApplicationProcedureRecordVo.java

@@ -10,7 +10,6 @@ public class ApplicationProcedureRecordVo {
     @ApiModelProperty(value = "申请人id")
     @ApiModelProperty(value = "申请人id")
     private Integer usersId;
     private Integer usersId;
 
 
-
     @ApiModelProperty(value = "开始时间")
     @ApiModelProperty(value = "开始时间")
     private String startTime;
     private String startTime;
 
 

+ 20 - 1
src/main/java/com/template/model/vo/ApplicationProcedureTemporaryVo.java

@@ -7,6 +7,9 @@ import lombok.Data;
 public class ApplicationProcedureTemporaryVo {
 public class ApplicationProcedureTemporaryVo {
     private Integer id;
     private Integer id;
 
 
+    @ApiModelProperty(value = "申请人id")
+    private Integer usersId;
+
     @ApiModelProperty(value = "申请人")
     @ApiModelProperty(value = "申请人")
     private String usersName;
     private String usersName;
 
 
@@ -28,12 +31,28 @@ public class ApplicationProcedureTemporaryVo {
     @ApiModelProperty(value = "状态,0:已拒绝,1:待审批,2:处理中,3:已同意")
     @ApiModelProperty(value = "状态,0:已拒绝,1:待审批,2:处理中,3:已同意")
     private String status;
     private String status;
 
 
+    @ApiModelProperty(value = "审批人id")
+    private String approverId;
+
     @ApiModelProperty(value = "审批人")
     @ApiModelProperty(value = "审批人")
-    private String approverUserName;
+    private String approverName;
 
 
     @ApiModelProperty(value = "审批时间")
     @ApiModelProperty(value = "审批时间")
     private String examineAndApproveTime;
     private String examineAndApproveTime;
 
 
     @ApiModelProperty(value = "审批备注")
     @ApiModelProperty(value = "审批备注")
     private String examineAndApproveRemark;
     private String examineAndApproveRemark;
+
+
+    @ApiModelProperty(value = "次级审批人id")
+    private String secondaryApproverId;
+
+    private String secondaryApproverName;
+
+    @ApiModelProperty(value = "次级审批时间")
+    private String secondaryExamineAndApproveTime;
+
+    @ApiModelProperty(value = "次级审批备注")
+    private String secondaryExamineAndApproveRemark;
+
 }
 }

+ 24 - 2
src/main/java/com/template/model/vo/ApplicationProcedureVo.java

@@ -11,6 +11,9 @@ public class ApplicationProcedureVo {
     @ApiModelProperty(value = "申请人")
     @ApiModelProperty(value = "申请人")
     private String usersName;
     private String usersName;
 
 
+    @ApiModelProperty(value = "申请人id")
+    private Integer usersId;
+
     @ApiModelProperty(value = "开始时间")
     @ApiModelProperty(value = "开始时间")
     private String startTime;
     private String startTime;
 
 
@@ -20,6 +23,10 @@ public class ApplicationProcedureVo {
     @ApiModelProperty(value = "部门")
     @ApiModelProperty(value = "部门")
     private String department;
     private String department;
 
 
+
+    @ApiModelProperty(value = "换课人id")
+    private String changeUsersId;
+
     @ApiModelProperty(value = "换课人")
     @ApiModelProperty(value = "换课人")
     private String changeUsersName;
     private String changeUsersName;
 
 
@@ -32,12 +39,27 @@ public class ApplicationProcedureVo {
     @ApiModelProperty(value = "状态,0:已拒绝,1:待审批,2:处理中,3:已同意")
     @ApiModelProperty(value = "状态,0:已拒绝,1:待审批,2:处理中,3:已同意")
     private String status;
     private String status;
 
 
-    @ApiModelProperty(value = "审批人")
-    private String approverUserName;
+    @ApiModelProperty(value = "审批人id")
+    private String approverId;
+
+    private String approverName;
 
 
     @ApiModelProperty(value = "审批时间")
     @ApiModelProperty(value = "审批时间")
     private String examineAndApproveTime;
     private String examineAndApproveTime;
 
 
     @ApiModelProperty(value = "审批备注")
     @ApiModelProperty(value = "审批备注")
     private String examineAndApproveRemark;
     private String examineAndApproveRemark;
+
+
+    @ApiModelProperty(value = "次级审批人id")
+    private String secondaryApproverId;
+
+    private String secondaryApproverName;
+
+    @ApiModelProperty(value = "次级审批时间")
+    private String secondaryExamineAndApproveTime;
+
+    @ApiModelProperty(value = "次级审批备注")
+    private String secondaryExamineAndApproveRemark;
+
 }
 }

+ 16 - 0
src/main/java/com/template/model/vo/HouseLockVo.java

@@ -0,0 +1,16 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class HouseLockVo {
+    private int id;
+    @ApiModelProperty(value = "房间名称")
+    private String name;
+    @ApiModelProperty(value = "房间类型(1:全日房,2:钟点房)")
+    private Integer roomType;
+
+    private List<houseLockListVo> vos;
+}

+ 16 - 0
src/main/java/com/template/model/vo/HouseOrderParticularsVo.java

@@ -1,8 +1,11 @@
 package com.template.model.vo;
 package com.template.model.vo;
 
 
 import com.template.model.pojo.HouseOrder;
 import com.template.model.pojo.HouseOrder;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
+import java.math.BigDecimal;
+
 @Data
 @Data
 public class HouseOrderParticularsVo {
 public class HouseOrderParticularsVo {
     private HouseOrder houseOrder;
     private HouseOrder houseOrder;
@@ -10,4 +13,17 @@ public class HouseOrderParticularsVo {
     private String idCardInformation;
     private String idCardInformation;
     private String startTime;
     private String startTime;
     private String endTime;
     private String endTime;
+
+    @ApiModelProperty(value = "电表设备编码")
+    private String electricEquipmentMeterName;
+
+    @ApiModelProperty(value = "水表设备编码")
+    private String waterEquipmentMeterName;
+
+    @ApiModelProperty(value = "水免费额度 单位:吨")
+    private BigDecimal freeQuotaOfWater;
+
+    @ApiModelProperty(value = "电免费额度 单位:度")
+    private BigDecimal freeQuotaOfElectric;
+
 }
 }

+ 36 - 0
src/main/java/com/template/model/vo/ReportStatisticsExportVo.java

@@ -0,0 +1,36 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ReportStatisticsExportVo {
+    @ApiModelProperty(value = "订单号")
+    private String orderNumber;
+
+    @ApiModelProperty(value = "入住人姓名")
+    private String liveName;
+
+    @ApiModelProperty(value = "房间名称")
+    private String roomName;
+
+    @ApiModelProperty(value = "房间类型(1:全日房,2:钟点房)")
+    private String roomType;
+
+    @ApiModelProperty(value = "房间号")
+    private String roomNumber;
+
+    @ApiModelProperty(value = "付款金额")
+    private BigDecimal payPrice;
+
+    @ApiModelProperty(value = "支付时间")
+    private String payTime;
+
+    @ApiModelProperty(value = "订单状态 1.待支付,2.已支付,3.待入住,4.已入住,5.待结账,6.退款中,7.已退款,8.已退房,9.已取消,超时")
+    private String orderStatus;
+
+    @ApiModelProperty(value = "创建时间")
+    private String createTime;
+}

+ 106 - 0
src/main/java/com/template/model/vo/ReportStatisticsVo.java

@@ -0,0 +1,106 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class ReportStatisticsVo {
+    private Integer id;
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNumber;
+
+    @ApiModelProperty(value = "订单状态 1.待支付,2.已支付,3.待入住,4.已入住,5.待结账,6.退款中,7.已退款,8.已退房,9.已取消,超时")
+    private String orderStatus;
+
+    @ApiModelProperty(value = "房型id")
+    private String houseId;
+
+    @ApiModelProperty(value = "房间号id")
+    private String houseNumberId;
+
+    @ApiModelProperty(value = "入住人姓名")
+    private String liveName;
+
+    @ApiModelProperty(value = "预定人姓名")
+    private String reserveName;
+
+    @ApiModelProperty(value = "预定人电话")
+    private String reservePhone;
+
+    @ApiModelProperty(value = "预定人id")
+    private String reserveUserId;
+
+    @ApiModelProperty(value = "入住人id")
+    private String liveUsersId;
+
+    @ApiModelProperty(value = "预定入住时间")
+    private String reserveLiveTime;
+
+    @ApiModelProperty(value = "预定离开时间")
+    private String reserveLeaveTime;
+
+    @ApiModelProperty(value = "房间单价")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "订房数量")
+    private Integer houseOrderNumber;
+
+    @ApiModelProperty(value = "入住天数")
+    private String liveDay;
+
+    @ApiModelProperty(value = "入住人类型")
+    private String liveNameType;
+
+    @ApiModelProperty(value = "入住时间")
+    private Date liveTime;
+
+    @ApiModelProperty(value = "离店时间")
+    private Date leaveTime;
+
+    @ApiModelProperty(value = "支付时间")
+    private String payTime;
+
+    @ApiModelProperty(value = "退款时间")
+    private Date refundTime;
+
+    @ApiModelProperty(value = "支付人")
+    private String payUserId;
+
+    @ApiModelProperty(value = "订单渠道(1线上,2线下)")
+    private String orderChannel;
+
+    @ApiModelProperty(value = "支付方式(微信支付,现金)")
+    private String payType;
+
+    @ApiModelProperty(value = "付款金额")
+    private BigDecimal payPrice;
+
+    @ApiModelProperty(value = "取消时间")
+    private Date cancelTime;
+
+    @ApiModelProperty(value = "电表消费总金额")
+    private BigDecimal electricCost;
+
+    @ApiModelProperty(value = "电表消费总能耗")
+    private BigDecimal electricConsume;
+
+    @ApiModelProperty(value = "水表消费总金额")
+    private BigDecimal waterCost;
+
+    @ApiModelProperty(value = "水表消费总能耗")
+    private BigDecimal waterConsume;
+
+    @ApiModelProperty(value = "创建时间")
+    private String createTime;
+
+    private String roomNumber;
+
+    private String roomType;
+
+    private String roomName;
+
+}

+ 1 - 0
src/main/java/com/template/services/ApplicationProcedureService.java

@@ -23,4 +23,5 @@ public interface ApplicationProcedureService extends IService<ApplicationProcedu
 
 
     PageUtils<ApplicationProcedureRecordVo> appletRecordPage( Integer userId, String startTime, String endTime, String status, int page, int size);
     PageUtils<ApplicationProcedureRecordVo> appletRecordPage( Integer userId, String startTime, String endTime, String status, int page, int size);
 
 
+    ApplicationProcedureVo appletDetail(Integer id);
 }
 }

+ 2 - 0
src/main/java/com/template/services/ApplicationProcedureTemporaryService.java

@@ -22,4 +22,6 @@ public interface ApplicationProcedureTemporaryService extends IService<Applicati
 
 
 
 
     PageUtils<ApplicationProcedureTemporaryRecordVo> appletRecordPage(Integer userId, String startTime, String endTime, String status, int page, int size);
     PageUtils<ApplicationProcedureTemporaryRecordVo> appletRecordPage(Integer userId, String startTime, String endTime, String status, int page, int size);
+
+    ApplicationProcedureTemporaryVo appletDetail(Integer id);
 }
 }

+ 1 - 1
src/main/java/com/template/services/HouseNumberService.java

@@ -23,7 +23,7 @@ public interface HouseNumberService extends IService<HouseNumber> {
 
 
     PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size);
     PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size);
 
 
-    PageUtils<houseLockListVo>  houseLockPage(String roomNumber, String houseIds,int page, int size);
+    List<houseLockListVo>  houseLockPage(String roomNumber, String houseIds);
 
 
     List<Integer> getNumberState(Date date);
     List<Integer> getNumberState(Date date);
 
 

+ 4 - 4
src/main/java/com/template/services/HouseOrderService.java

@@ -1,12 +1,9 @@
 package com.template.services;
 package com.template.services;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.template.model.vo.HouseOrderCheckInShowVo;
-import com.template.model.vo.HouseOrderPageListVo;
+import com.template.model.vo.*;
 import com.template.model.pojo.HouseOrder;
 import com.template.model.pojo.HouseOrder;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
-import com.template.model.vo.PriceVo;
-import com.template.model.vo.QueryExportVo;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
@@ -48,4 +45,7 @@ public interface HouseOrderService extends IService<HouseOrder> {
 
 
     HouseOrderCheckInShowVo getOrderNumbre(String orderNumber);
     HouseOrderCheckInShowVo getOrderNumbre(String orderNumber);
 
 
+    PageUtils<ReportStatisticsVo> reportStatisticsPage(String s, String keyWord, String startTime, String endTime, int page, int size);
+
+    List<ReportStatisticsExportVo> reportStatisticsExport(String s, String keyWord, String startTime, String endTime);
 }
 }

+ 5 - 0
src/main/java/com/template/services/impl/ApplicationProcedureServiceImpl.java

@@ -48,5 +48,10 @@ public class ApplicationProcedureServiceImpl extends ServiceImpl<ApplicationProc
         return new PageUtils(result);
         return new PageUtils(result);
     }
     }
 
 
+    @Override
+    public ApplicationProcedureVo appletDetail(Integer id) {
+        return applicationProcedureMapper.appletDetail(id);
+    }
+
 
 
 }
 }

+ 5 - 0
src/main/java/com/template/services/impl/ApplicationProcedureTemporaryServiceImpl.java

@@ -48,5 +48,10 @@ public class ApplicationProcedureTemporaryServiceImpl extends ServiceImpl<Applic
         return new PageUtils(result);
         return new PageUtils(result);
     }
     }
 
 
+    @Override
+    public ApplicationProcedureTemporaryVo appletDetail(Integer id) {
+        return applicationProcedureTemporaryMapper.appletDetail(id);
+    }
+
 
 
 }
 }

+ 6 - 4
src/main/java/com/template/services/impl/HouseNumberServiceImpl.java

@@ -44,10 +44,12 @@ public class HouseNumberServiceImpl extends ServiceImpl<HouseNumberMapper, House
     }
     }
 
 
     @Override
     @Override
-    public  PageUtils<houseLockListVo> houseLockPage(String roomNumber, String houseIds,int page, int size) {
-        Page<houseLockListVo> pageVo = new Page<>(page,size);
-        IPage<houseLockListVo> result=houseNumberMapper.houseLockListDto(pageVo,roomNumber,houseIds);
-        return new  PageUtils(result);
+    public  List<houseLockListVo> houseLockPage(String roomNumber, String houseIds) {
+//        Page<houseLockListVo> pageVo = new Page<>(page,size);
+//        IPage<houseLockListVo> result=houseNumberMapper.houseLockListDto(pageVo,roomNumber,houseIds);
+//        return new  PageUtils(result);
+        List<houseLockListVo> result=houseNumberMapper.houseLockListDto(roomNumber,houseIds);
+        return result;
     }
     }
 
 
     @Override
     @Override

+ 13 - 4
src/main/java/com/template/services/impl/HouseOrderServiceImpl.java

@@ -6,12 +6,9 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.common.utils.DateUtil;
 import com.template.common.utils.DateUtil;
 import com.template.mapper.HouseOrderMapper;
 import com.template.mapper.HouseOrderMapper;
-import com.template.model.vo.HouseOrderCheckInShowVo;
-import com.template.model.vo.HouseOrderPageListVo;
+import com.template.model.vo.*;
 import com.template.model.pojo.*;
 import com.template.model.pojo.*;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
-import com.template.model.vo.PriceVo;
-import com.template.model.vo.QueryExportVo;
 import com.template.services.*;
 import com.template.services.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -313,4 +310,16 @@ public class HouseOrderServiceImpl extends ServiceImpl<HouseOrderMapper, HouseOr
     public HouseOrderCheckInShowVo getOrderNumbre(String orderNumber) {
     public HouseOrderCheckInShowVo getOrderNumbre(String orderNumber) {
         return houseOrderMapper.getOrderNumber(orderNumber);
         return houseOrderMapper.getOrderNumber(orderNumber);
     }
     }
+
+    @Override
+    public PageUtils<ReportStatisticsVo> reportStatisticsPage(String s, String keyWord, String startTime, String endTime, int page, int size) {
+        Page<ReportStatisticsVo> pageVo = new Page<>(page, size);
+        IPage<ReportStatisticsVo> result=houseOrderMapper.reportStatisticsPage(pageVo,s,keyWord,startTime,endTime);
+        return new PageUtils(result);
+    }
+
+    @Override
+    public List<ReportStatisticsExportVo> reportStatisticsExport(String s, String keyWord, String startTime, String endTime) {
+        return houseOrderMapper.reportStatisticsExport(s,keyWord,startTime,endTime);
+    }
 }
 }

+ 84 - 30
src/main/resources/mapper/template/ApplicationProcedureMapper.xml

@@ -4,38 +4,50 @@
 
 
     <select id="pageList" resultType="com.template.model.vo.ApplicationProcedureVo">
     <select id="pageList" resultType="com.template.model.vo.ApplicationProcedureVo">
         SELECT
         SELECT
-        apu.id as id,
-        apu.user_name as usersName,
+        apu.id,
+        apu.users_id as usersId,
         apu.start_time as startTime,
         apu.start_time as startTime,
         apu.end_time as endTime,
         apu.end_time as endTime,
-        apu.department as department,
-        apu.change_user_name as changeUsersName,
+        apu.department,
+        apu.change_users_id as changeUsersId,
         apu.reason_application as reasonApplication,
         apu.reason_application as reasonApplication,
         apu.submission_time as submissionTime,
         apu.submission_time as submissionTime,
-        apu.`status` as status,
-        apu.approver_user_name as approverUserName,
+        apu.status,
+        apu.approver_id as approverId,
         apu.examine_and_approve_time as examineAndApproveTime,
         apu.examine_and_approve_time as examineAndApproveTime,
-        apu.examine_and_approve_remark as examineAndApproveRemark
+        apu.examine_and_approve_remark as examineAndApproveRemark,
+        apu.secondary_approver_id as secondaryApproverId,
+        apu.secondary_examine_and_approve_time as secondaryExamineAndApproveTime,
+        apu.secondary_examine_and_approve_remark as secondaryExamineAndApproveRemark,
+        apu.user_name as changeUsersName,
+        apu.approverName,
+        apu.secondaryApproverName
         FROM
         FROM
         (
         (
         SELECT
         SELECT
         ap.id,
         ap.id,
-        u.user_name AS user_name ,
+        ap.users_id,
         ap.start_time,
         ap.start_time,
         ap.end_time,
         ap.end_time,
         ap.department,
         ap.department,
-        u2.user_name as change_user_name,
+        ap.change_users_id,
         ap.reason_application,
         ap.reason_application,
         ap.submission_time,
         ap.submission_time,
-        ap.`status`,
-        u3.user_name as approver_user_name,
+        ap.status,
+        ap.approver_id,
         ap.examine_and_approve_time,
         ap.examine_and_approve_time,
-        ap.examine_and_approve_remark
+        ap.examine_and_approve_remark,
+        ap.secondary_approver_id,
+        ap.secondary_examine_and_approve_time,
+        ap.secondary_examine_and_approve_remark,
+        u.user_name,
+        a.name as approverName,
+        a2.name as secondaryApproverName
         FROM
         FROM
         `application_procedure` ap
         `application_procedure` ap
-        LEFT JOIN users u ON ap.users_id = u.id
-        LEFT JOIN users u2 ON ap.change_users_id = u2.id
-        LEFT JOIN users u3 ON ap.approver_id = u3.id
+        LEFT JOIN users u on u.id=ap.change_users_id
+        LEFT JOIN admin a on a.id=ap.approver_id
+        LEFT JOIN admin a2 on a2.id=ap.secondary_approver_id
         WHERE ap.deleted=0
         WHERE ap.deleted=0
         ) apu
         ) apu
         <where>
         <where>
@@ -65,38 +77,50 @@
     </select>
     </select>
     <select id="parentPageList" resultType="com.template.model.vo.ApplicationProcedureVo">
     <select id="parentPageList" resultType="com.template.model.vo.ApplicationProcedureVo">
         SELECT
         SELECT
-        apu.id as id,
-        apu.user_name as usersName,
+        apu.id,
+        apu.users_id as usersId,
         apu.start_time as startTime,
         apu.start_time as startTime,
         apu.end_time as endTime,
         apu.end_time as endTime,
-        apu.department as department,
-        apu.change_user_name as changeUsersName,
+        apu.department,
+        apu.change_users_id as changeUsersId,
         apu.reason_application as reasonApplication,
         apu.reason_application as reasonApplication,
         apu.submission_time as submissionTime,
         apu.submission_time as submissionTime,
-        apu.`status` as status,
-        apu.approver_user_name as approverUserName,
+        apu.status,
+        apu.approver_id as approverId,
         apu.examine_and_approve_time as examineAndApproveTime,
         apu.examine_and_approve_time as examineAndApproveTime,
-        apu.examine_and_approve_remark as examineAndApproveRemark
+        apu.examine_and_approve_remark as examineAndApproveRemark,
+        apu.secondary_approver_id as secondaryApproverId,
+        apu.secondary_examine_and_approve_time as secondaryExamineAndApproveTime,
+        apu.secondary_examine_and_approve_remark as secondaryExamineAndApproveRemark,
+        apu.user_name as changeUsersName,
+        apu.approverName,
+        apu.secondaryApproverName
         FROM
         FROM
         (
         (
         SELECT
         SELECT
         ap.id,
         ap.id,
-        u.user_name AS user_name ,
+        ap.users_id,
         ap.start_time,
         ap.start_time,
         ap.end_time,
         ap.end_time,
         ap.department,
         ap.department,
-        u2.user_name as change_user_name,
+        ap.change_users_id,
         ap.reason_application,
         ap.reason_application,
         ap.submission_time,
         ap.submission_time,
-        ap.`status`,
-        u3.user_name as approver_user_name,
+        ap.status,
+        ap.approver_id,
         ap.examine_and_approve_time,
         ap.examine_and_approve_time,
-        ap.examine_and_approve_remark
+        ap.examine_and_approve_remark,
+        ap.secondary_approver_id,
+        ap.secondary_examine_and_approve_time,
+        ap.secondary_examine_and_approve_remark,
+        u.user_name,
+        a.name as approverName,
+        a2.name as secondaryApproverName
         FROM
         FROM
         `application_procedure` ap
         `application_procedure` ap
-        LEFT JOIN users u ON ap.users_id = u.id
-        LEFT JOIN users u2 ON ap.change_users_id = u2.id
-        LEFT JOIN users u3 ON ap.approver_id = u3.id
+        LEFT JOIN users u on u.id=ap.change_users_id
+        LEFT JOIN admin a on a.id=ap.approver_id
+        LEFT JOIN admin a2 on a2.id=ap.secondary_approver_id
         WHERE ap.deleted=0 AND FIND_IN_SET(ap.status,#{type})
         WHERE ap.deleted=0 AND FIND_IN_SET(ap.status,#{type})
         ) apu
         ) apu
         <where>
         <where>
@@ -161,4 +185,34 @@
         ORDER BY ap.submission_time DESC
         ORDER BY ap.submission_time DESC
 
 
     </select>
     </select>
+
+    <select id="appletDetail" resultType="com.template.model.vo.ApplicationProcedureVo">
+        SELECT
+            ap.id,
+            ap.users_id as usersId,
+            ap.start_time as startTime,
+            ap.end_time as endTime,
+            ap.department,
+            ap.change_users_id as changeUsersId,
+            ap.reason_application as reasonApplication,
+            ap.submission_time as submissionTime,
+            ap.status,
+            ap.approver_id as approverId,
+            ap.examine_and_approve_time as examineAndApproveTime,
+            ap.examine_and_approve_remark as examineAndApproveRemark,
+            ap.secondary_approver_id as secondaryApproverId,
+            ap.secondary_examine_and_approve_time as secondaryExamineAndApproveTime,
+            ap.secondary_examine_and_approve_remark as secondaryExamineAndApproveRemark,
+            u.user_name as changeUsersName,
+            a.name as approverName,
+            a2.name as secondaryApproverName
+        FROM
+            `application_procedure` ap
+                LEFT JOIN users u on u.id=ap.change_users_id
+                LEFT JOIN admin a on a.id=ap.approver_id
+                LEFT JOIN admin a2 on a2.id=ap.secondary_approver_id
+        where
+            ap.deleted=0
+            and ap.id=#{id}
+    </select>
 </mapper>
 </mapper>

+ 77 - 30
src/main/resources/mapper/template/ApplicationProcedureTemporaryMapper.xml

@@ -4,35 +4,45 @@
 
 
     <select id="pageList" resultType="com.template.model.vo.ApplicationProcedureTemporaryVo">
     <select id="pageList" resultType="com.template.model.vo.ApplicationProcedureTemporaryVo">
         SELECT
         SELECT
-        apu.id as id,
-        apu.user_name as usersName,
+        apu.id,
+        apu.users_id as usersId,
         apu.start_time as startTime,
         apu.start_time as startTime,
         apu.end_time as endTime,
         apu.end_time as endTime,
-        apu.department as department,
+        apu.department,
         apu.reason_application as reasonApplication,
         apu.reason_application as reasonApplication,
         apu.submission_time as submissionTime,
         apu.submission_time as submissionTime,
-        apu.`status` as status,
-        apu.approver_user_name as approverUserName,
+        apu.status,
+        apu.approver_id as approverId,
         apu.examine_and_approve_time as examineAndApproveTime,
         apu.examine_and_approve_time as examineAndApproveTime,
-        apu.examine_and_approve_remark as examineAndApproveRemark
+        apu.examine_and_approve_remark as examineAndApproveRemark,
+        apu.secondary_approver_id as secondaryApproverId,
+        apu.secondary_examine_and_approve_time as secondaryExamineAndApproveTime,
+        apu.secondary_examine_and_approve_remark as secondaryExamineAndApproveRemark,
+        apu.approverName,
+        apu.secondaryApproverName
         FROM
         FROM
         (
         (
         SELECT
         SELECT
         ap.id,
         ap.id,
-        u.user_name AS user_name ,
+        ap.users_id ,
         ap.start_time,
         ap.start_time,
-        ap.end_time,
+        ap.end_time ,
         ap.department,
         ap.department,
-        ap.reason_application,
+        ap.reason_application ,
         ap.submission_time,
         ap.submission_time,
-        ap.`status`,
-        u3.user_name as approver_user_name,
-        ap.examine_and_approve_time,
-        ap.examine_and_approve_remark
+        ap.status,
+        ap.approver_id ,
+        ap.examine_and_approve_time ,
+        ap.examine_and_approve_remark ,
+        ap.secondary_approver_id,
+        ap.secondary_examine_and_approve_time ,
+        ap.secondary_examine_and_approve_remark,
+        a.name as approverName,
+        a2.name as secondaryApproverName
         FROM
         FROM
         `application_procedure_temporary` ap
         `application_procedure_temporary` ap
-        LEFT JOIN users u ON ap.users_id = u.id
-        LEFT JOIN users u3 ON ap.approver_id = u3.id
+        LEFT JOIN admin a on a.id=ap.approver_id
+        LEFT JOIN admin a2 on a2.id=ap.secondary_approver_id
         WHERE ap.deleted=0
         WHERE ap.deleted=0
         ) apu
         ) apu
         <where>
         <where>
@@ -62,35 +72,45 @@
     </select>
     </select>
     <select id="parentPageList" resultType="com.template.model.vo.ApplicationProcedureTemporaryVo">
     <select id="parentPageList" resultType="com.template.model.vo.ApplicationProcedureTemporaryVo">
         SELECT
         SELECT
-        apu.id as id,
-        apu.user_name as usersName,
+        apu.id,
+        apu.users_id as usersId,
         apu.start_time as startTime,
         apu.start_time as startTime,
         apu.end_time as endTime,
         apu.end_time as endTime,
-        apu.department as department,
+        apu.department,
         apu.reason_application as reasonApplication,
         apu.reason_application as reasonApplication,
         apu.submission_time as submissionTime,
         apu.submission_time as submissionTime,
-        apu.`status` as status,
-        apu.approver_user_name as approverUserName,
+        apu.status,
+        apu.approver_id as approverId,
         apu.examine_and_approve_time as examineAndApproveTime,
         apu.examine_and_approve_time as examineAndApproveTime,
-        apu.examine_and_approve_remark as examineAndApproveRemark
+        apu.examine_and_approve_remark as examineAndApproveRemark,
+        apu.secondary_approver_id as secondaryApproverId,
+        apu.secondary_examine_and_approve_time as secondaryExamineAndApproveTime,
+        apu.secondary_examine_and_approve_remark as secondaryExamineAndApproveRemark,
+        apu.approverName,
+        apu.secondaryApproverName
         FROM
         FROM
         (
         (
         SELECT
         SELECT
         ap.id,
         ap.id,
-        u.user_name AS user_name ,
+        ap.users_id ,
         ap.start_time,
         ap.start_time,
-        ap.end_time,
+        ap.end_time ,
         ap.department,
         ap.department,
-        ap.reason_application,
+        ap.reason_application ,
         ap.submission_time,
         ap.submission_time,
-        ap.`status`,
-        u3.user_name as approver_user_name,
-        ap.examine_and_approve_time,
-        ap.examine_and_approve_remark
+        ap.status,
+        ap.approver_id ,
+        ap.examine_and_approve_time ,
+        ap.examine_and_approve_remark ,
+        ap.secondary_approver_id,
+        ap.secondary_examine_and_approve_time ,
+        ap.secondary_examine_and_approve_remark,
+        a.name as approverName,
+        a2.name as secondaryApproverName
         FROM
         FROM
         `application_procedure_temporary` ap
         `application_procedure_temporary` ap
-        LEFT JOIN users u ON ap.users_id = u.id
-        LEFT JOIN users u3 ON ap.approver_id = u3.id
+        LEFT JOIN admin a on a.id=ap.approver_id
+        LEFT JOIN admin a2 on a2.id=ap.secondary_approver_id
         WHERE ap.deleted=0 and FIND_IN_SET(ap.status,#{type})
         WHERE ap.deleted=0 and FIND_IN_SET(ap.status,#{type})
         ) apu
         ) apu
         <where>
         <where>
@@ -153,4 +173,31 @@
 
 
 
 
     </select>
     </select>
+
+    <select id="appletDetail" resultType="com.template.model.vo.ApplicationProcedureTemporaryVo">
+        SELECT
+            ap.id,
+            ap.users_id as usersId,
+            ap.start_time as startTime,
+            ap.end_time as endTime,
+            ap.department,
+            ap.reason_application as reasonApplication,
+            ap.submission_time as submissionTime,
+            ap.status,
+            ap.approver_id as approverId,
+            ap.examine_and_approve_time as examineAndApproveTime,
+            ap.examine_and_approve_remark as examineAndApproveRemark,
+            ap.secondary_approver_id as secondaryApproverId,
+            ap.secondary_examine_and_approve_time as secondaryExamineAndApproveTime,
+            ap.secondary_examine_and_approve_remark as secondaryExamineAndApproveRemark,
+            a.name as approverName,
+            a2.name as secondaryApproverName
+        FROM
+            `application_procedure_temporary` ap
+                LEFT JOIN admin a on a.id=ap.approver_id
+                LEFT JOIN admin a2 on a2.id=ap.secondary_approver_id
+        where
+            ap.deleted=0
+          AND ap.id=#{id}
+    </select>
 </mapper>
 </mapper>

+ 1 - 1
src/main/resources/mapper/template/HouseMapper.xml

@@ -68,7 +68,7 @@
         GROUP BY room_name, room_type, room_price, id
         GROUP BY room_name, room_type, room_price, id
     </select>
     </select>
     <select id="group" resultType="java.lang.String">
     <select id="group" resultType="java.lang.String">
-        select  room_name from house group by room_name
+        select  room_name from house where deleted = 0 group by room_name
     </select>
     </select>
 
 
 
 

+ 91 - 11
src/main/resources/mapper/template/HouseOrderMapper.xml

@@ -142,22 +142,102 @@
         ho.create_time DESC
         ho.create_time DESC
     </select>
     </select>
     <select id="getOrderNumber" resultType="com.template.model.vo.HouseOrderCheckInShowVo">
     <select id="getOrderNumber" resultType="com.template.model.vo.HouseOrderCheckInShowVo">
-        SELECT ho.reserve_name as liveName,
+        SELECT ho.reserve_name       as liveName,
                u.phone,
                u.phone,
-               ho.reserve_live_time as reserveLiveTime,
+               ho.reserve_live_time  as reserveLiveTime,
                ho.reserve_leave_time as reserveLeaveTime,
                ho.reserve_leave_time as reserveLeaveTime,
-               h.room_type as roomType,
-               ho.house_id as houseId,
-               ho.house_number_id as houseNumberId,
-               u.id_card as idCard,
-               u.card_number as cardNumber,
-               ho.pay_price as payPrice,
-               ho.live_day as liveDay,
-               ho.order_number as orderNumber
+               h.room_type           as roomType,
+               ho.house_id           as houseId,
+               ho.house_number_id    as houseNumberId,
+               u.id_card             as idCard,
+               u.card_number         as cardNumber,
+               ho.pay_price          as payPrice,
+               ho.live_day           as liveDay,
+               ho.order_number       as orderNumber
         FROM `house_order` ho
         FROM `house_order` ho
                  LEFT JOIN house h on ho.house_id = h.id
                  LEFT JOIN house h on ho.house_id = h.id
                  LEFT JOIN users u on ho.reserve_user_id = u.id
                  LEFT JOIN users u on ho.reserve_user_id = u.id
-        WHERE ho.order_number = #{orderNumber} and ho.deleted=0
+        WHERE ho.order_number = #{orderNumber}
+          and ho.deleted = 0
+
+    </select>
+
+    <select id="reportStatisticsPage" resultType="com.template.model.vo.ReportStatisticsVo">
+        SELECT
+        ho.id,
+        ho.order_number as orderNumber,
+        ho.order_status as orderStatus,
+        ho.house_id as houseId,
+        ho.house_number_id as houseNumberId,
+        ho.live_name as liveName,
+        ho.reserve_name as reserveName,
+        ho.reserve_phone as reservePhone,
+        ho.reserve_user_id as reserveUserId,
+        ho.live_users_id as liveUsersId,
+        ho.reserve_live_time as reserveLiveTime,
+        ho.reserve_leave_time as reserveLeaveTime,
+        ho.price as price,
+        ho.house_order_number as houseOrderNumber ,
+        ho.live_day as liveDay,
+        ho.live_name_type as liveNameType,
+        ho.live_time as liveTime,
+        ho.leave_time as leaveTime,
+        ho.pay_time as payTime,
+        ho.refund_time as refundTime,
+        ho.pay_user_id as payUserId,
+        ho.order_channel as orderChannel,
+        ho.pay_type as payType,
+        ho.pay_price as payPrice,
+        ho.cancel_time as cancelTime,
+        ho.electric_cost as electricCost,
+        ho.electric_consume as electricConsume,
+        ho.water_cost as waterCost,
+        ho.water_consume as waterConsume,
+        ho.create_time as createTime,
+        hn.room_number AS roomNumber,
+        h.room_type AS roomType,
+        h.room_name as roomName
+        FROM
+        `house_order` ho
+        LEFT JOIN house_number hn on ho.house_number_id=hn.id
+        LEFT JOIN house h on ho.house_id=h.id
+        WHERE ho.deleted=0
+        and FIND_IN_SET(ho.order_status,#{s})
+        <if test="startTime != null and startTime != '' and endTime != null and endTime != ''  ">
+            AND #{endTime} >= ho.create_time
+            AND ho.create_time >= #{startTime}
+        </if>
+        <if test="keyWord != null and keyWord != ''">
+            AND ( ho.order_number LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' )
+        </if>
+        ORDER BY ho.create_time DESC
+    </select>
+
+    <select id="reportStatisticsExport" resultType="com.template.model.vo.ReportStatisticsExportVo">
+        SELECT
+        ho.order_number as orderNumber,
+        ho.live_name as liveName,
+        h.room_name as roomName,
+        h.room_type AS roomType,
+        hn.room_number AS roomNumber,
+        ho.pay_price as payPrice,
+        ho.pay_time as payTime,
+        ho.order_status as orderStatus,
+        ho.create_time as createTime
+        FROM
+        `house_order` ho
+        LEFT JOIN house_number hn on ho.house_number_id=hn.id
+        LEFT JOIN house h on ho.house_id=h.id
+        WHERE ho.deleted=0
+        and FIND_IN_SET(ho.order_status,#{s})
+        <if test="startTime != null and startTime != '' and endTime != null and endTime != ''  ">
+            AND #{endTime} >= ho.create_time
+            AND ho.create_time >= #{startTime}
+        </if>
+        <if test="keyWord != null and keyWord != ''">
+            AND ( ho.order_number LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' )
+        </if>
+        ORDER BY ho.create_time DESC
 
 
     </select>
     </select>