浏览代码

导出登记信息

guoshuai 1 周之前
父节点
当前提交
a18f201caa

+ 19 - 0
src/main/java/com/qmrb/system/controller/MonthlyParkingRegistrationController.java

@@ -1,9 +1,16 @@
 package com.qmrb.system.controller;
 
+import java.io.IOException;
+import java.net.URLEncoder;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import com.alibaba.excel.EasyExcel;
+import com.qmrb.system.pojo.query.UserPageQuery;
+import com.qmrb.system.pojo.vo.MonthlyParkingRegistrationExcelVO;
+import com.qmrb.system.pojo.vo.UserExportVO;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springdoc.core.annotations.ParameterObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -60,6 +67,18 @@ public class MonthlyParkingRegistrationController{
         Page<MonthlyParkingRegistrationVO> result = monthlyParkingRegistrationService.getPage(queryParams);
         return PageResult.success(result);
     }
+
+    @Operation(summary = "导出登记信息列表", security = {@SecurityRequirement(name = "Authorization")})
+    @GetMapping("/_export")
+    public void exportUsers(MonthlyParkingRegistrationQuery queryParams, HttpServletResponse response) throws IOException {
+        String fileName = "月租车登记信息列表.xlsx";
+        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+        response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
+
+        List<MonthlyParkingRegistrationExcelVO> registrationExcelVOS = monthlyParkingRegistrationService.exportList(queryParams);
+        EasyExcel.write(response.getOutputStream(), MonthlyParkingRegistrationExcelVO.class).sheet("月租车登记信息列表")
+                .doWrite(registrationExcelVOS);
+    }
     
     @Operation(summary = "新增月租车登记信息表", security = {@SecurityRequirement(name = "Authorization")})
     @PostMapping

+ 6 - 0
src/main/java/com/qmrb/system/mapper/MonthlyParkingRegistrationMapper.java

@@ -2,7 +2,12 @@ package com.qmrb.system.mapper;
 
 import com.qmrb.system.pojo.entity.MonthlyParkingRegistration;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmrb.system.pojo.query.MonthlyParkingRegistrationQuery;
+import com.qmrb.system.pojo.vo.MonthlyParkingRegistrationExcelVO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,4 +20,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface MonthlyParkingRegistrationMapper extends BaseMapper<MonthlyParkingRegistration> {
 
+    List<MonthlyParkingRegistrationExcelVO> exportList(@Param("queryParams") MonthlyParkingRegistrationQuery queryParams);
 }

+ 45 - 0
src/main/java/com/qmrb/system/pojo/vo/MonthlyParkingRegistrationExcelVO.java

@@ -0,0 +1,45 @@
+package com.qmrb.system.pojo.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class MonthlyParkingRegistrationExcelVO {
+    /**
+     * 用户姓名
+     */
+    @ExcelProperty(value = "姓名")
+    @ColumnWidth(20) // 指定列宽度
+    private String name;
+    /**
+     * 联系电话
+     */
+    @ExcelProperty(value = "联系电话")
+    @ColumnWidth(30) // 指定列宽度
+    private String phone;
+    /**
+     * 车型 1大型 2小型
+     */
+    @ExcelProperty(value = "品牌及型号")
+    @ColumnWidth(30) // 指定列宽度
+    private String carType;
+    /**
+     * 车牌号
+     */
+    @ExcelProperty(value = "车牌号")
+    @ColumnWidth(30) // 指定列宽度
+    private String plateNumber;
+
+
+
+    @ExcelProperty(value = "登记时间")
+    @ColumnWidth(40) // 指定列宽度
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+    
+}

+ 6 - 0
src/main/java/com/qmrb/system/pojo/vo/MonthlyParkingRegistrationVO.java

@@ -1,6 +1,9 @@
 package com.qmrb.system.pojo.vo;
 
+import java.time.LocalDateTime;
 import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -61,6 +64,9 @@ public class MonthlyParkingRegistrationVO {
 	@Schema(description = "备注信息",type="String")
     private String remark;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
 	@Schema(description = "子分类")
     private List<MonthlyParkingRegistrationVO> children;
 

+ 4 - 2
src/main/java/com/qmrb/system/service/IMonthlyParkingRegistrationService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmrb.system.pojo.entity.MonthlyParkingRegistration;
 import com.qmrb.system.pojo.form.MonthlyParkingRegistrationForm;
+import com.qmrb.system.pojo.vo.MonthlyParkingRegistrationExcelVO;
 import com.qmrb.system.pojo.vo.MonthlyParkingRegistrationVO;
 import com.qmrb.system.pojo.query.MonthlyParkingRegistrationQuery;
 import com.qmrb.system.pojo.vo.Option;
@@ -37,6 +38,7 @@ public interface IMonthlyParkingRegistrationService extends IService<MonthlyPark
 	/**获取表单数据
 	 * */
 	public MonthlyParkingRegistrationForm getFormData(Long id);
-	
-	
+
+
+	List<MonthlyParkingRegistrationExcelVO> exportList(MonthlyParkingRegistrationQuery queryParams);
 }

+ 11 - 2
src/main/java/com/qmrb/system/service/impl/MonthlyParkingRegistrationServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmrb.system.service.impl;
 
+import com.qmrb.system.pojo.vo.MonthlyParkingRegistrationExcelVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -16,6 +17,8 @@ import org.springframework.stereotype.Service;
 import cn.hutool.core.lang.Assert;
 import jakarta.validation.Valid;
 
+import java.util.List;
+
 /**
  * <p>
  * 月租车登记信息表 服务实现类
@@ -87,6 +90,12 @@ public class MonthlyParkingRegistrationServiceImpl extends ServiceImpl<MonthlyPa
         MonthlyParkingRegistrationForm form = converter.entity2Form(entity);
         return form;
 	}
-	
-	
+
+	@Override
+	public List<MonthlyParkingRegistrationExcelVO> exportList(MonthlyParkingRegistrationQuery queryParams) {
+		List<MonthlyParkingRegistrationExcelVO> monthlyParkingRegistrationExcelVOS =  baseMapper.exportList(queryParams);
+		return monthlyParkingRegistrationExcelVOS;
+	}
+
+
 }

+ 4 - 0
src/main/resources/mapper/MonthlyParkingRegistrationMapper.xml

@@ -2,4 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmrb.system.mapper.MonthlyParkingRegistrationMapper">
 
+    <select id="exportList" resultType="com.qmrb.system.pojo.vo.MonthlyParkingRegistrationExcelVO"
+            parameterType="com.qmrb.system.pojo.query.MonthlyParkingRegistrationQuery">
+        select * from monthly_parking_registration
+    </select>
 </mapper>