|
@@ -1,5 +1,8 @@
|
|
|
package com.chuanghai.h3c_reporting.service.impl;
|
|
package com.chuanghai.h3c_reporting.service.impl;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
|
|
+import com.alibaba.excel.write.metadata.style.WriteCellStyle;
|
|
|
|
|
+import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -7,13 +10,22 @@ import com.chuanghai.h3c_reporting.common.utils.MyQuery;
|
|
|
import com.chuanghai.h3c_reporting.common.utils.PageParam;
|
|
import com.chuanghai.h3c_reporting.common.utils.PageParam;
|
|
|
import com.chuanghai.h3c_reporting.common.utils.PageUtils;
|
|
import com.chuanghai.h3c_reporting.common.utils.PageUtils;
|
|
|
import com.chuanghai.h3c_reporting.controller.request.ReportQueryRequest;
|
|
import com.chuanghai.h3c_reporting.controller.request.ReportQueryRequest;
|
|
|
|
|
+import com.chuanghai.h3c_reporting.dto.ReportingDownloadDTO;
|
|
|
import com.chuanghai.h3c_reporting.entity.InformationReporting;
|
|
import com.chuanghai.h3c_reporting.entity.InformationReporting;
|
|
|
import com.chuanghai.h3c_reporting.mapper.InformationReportingMapper;
|
|
import com.chuanghai.h3c_reporting.mapper.InformationReportingMapper;
|
|
|
import com.chuanghai.h3c_reporting.service.InformationReportingService;
|
|
import com.chuanghai.h3c_reporting.service.InformationReportingService;
|
|
|
|
|
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
+import java.io.IOException;
|
|
|
|
|
+import java.net.URLEncoder;
|
|
|
|
|
+import java.util.Arrays;
|
|
|
|
|
+import java.util.Date;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @author 27951
|
|
* @author 27951
|
|
|
* @version 1.0
|
|
* @version 1.0
|
|
@@ -31,8 +43,8 @@ public class InformationReportingServiceImpl extends ServiceImpl<InformationRepo
|
|
|
e -> e.like(StringUtils.hasText(request.getName()), "name", request.getName())
|
|
e -> e.like(StringUtils.hasText(request.getName()), "name", request.getName())
|
|
|
.like(StringUtils.hasText(request.getPhone()), "phone", request.getPhone())
|
|
.like(StringUtils.hasText(request.getPhone()), "phone", request.getPhone())
|
|
|
.like(StringUtils.hasText(request.getCompany()), "company", request.getCompany())
|
|
.like(StringUtils.hasText(request.getCompany()), "company", request.getCompany())
|
|
|
- .eq(StringUtils.hasText(request.getTime()), "reporting_time", request.getTime())
|
|
|
|
|
- .eq("status", "1")
|
|
|
|
|
|
|
+ .like(StringUtils.hasText(request.getReportingTime()), "reporting_time", request.getReportingTime())
|
|
|
|
|
+ .eq("status", 1)
|
|
|
);
|
|
);
|
|
|
queryWrapper.orderByDesc("reporting_time");
|
|
queryWrapper.orderByDesc("reporting_time");
|
|
|
IPage<InformationReporting> page = this.page(
|
|
IPage<InformationReporting> page = this.page(
|
|
@@ -41,4 +53,53 @@ public class InformationReportingServiceImpl extends ServiceImpl<InformationRepo
|
|
|
);
|
|
);
|
|
|
return new PageUtils(page);
|
|
return new PageUtils(page);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private Integer queryNumber(){
|
|
|
|
|
+ List<InformationReporting> list = this.list();
|
|
|
|
|
+ return list.size();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void download(HttpServletResponse response, ReportingDownloadDTO request) {
|
|
|
|
|
+ try {
|
|
|
|
|
+// PageParam pageParam = new PageParam();
|
|
|
|
|
+// pageParam.setCurrPage(1);
|
|
|
|
|
+// pageParam.setPageSize(this.queryNumber());
|
|
|
|
|
+// List list = this.queryPage(request).getList();
|
|
|
|
|
+ QueryWrapper<InformationReporting> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ queryWrapper
|
|
|
|
|
+ .like(StringUtils.hasText(request.getName()), "name", request.getName())
|
|
|
|
|
+ .like(StringUtils.hasText(request.getPhone()), "phone", request.getPhone())
|
|
|
|
|
+ .like(StringUtils.hasText(request.getCompany()), "company", request.getCompany())
|
|
|
|
|
+ .like(StringUtils.hasText(request.getReportingTime()), "reporting_time", request.getReportingTime())
|
|
|
|
|
+ .eq("status", 1);
|
|
|
|
|
+ List<InformationReporting> list = this.list(queryWrapper);
|
|
|
|
|
+ if (request.getIds() != null && request.getIds().equals("")){
|
|
|
|
|
+ request.setIds(null);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (request.getIds() != null){
|
|
|
|
|
+ list = this.getBaseMapper().selectBatchIds(Arrays.asList(request.getIds()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ WriteCellStyle headWriteCellStyle = new WriteCellStyle();
|
|
|
|
|
+ WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
|
|
|
|
|
+ //设置 水平居中
|
|
|
|
|
+ contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
|
|
|
|
|
+
|
|
|
|
|
+ HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
|
|
|
|
|
+ response.setContentType("application/vnd.ms-excel");
|
|
|
|
|
+ response.setCharacterEncoding("utf-8");
|
|
|
|
|
+ // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
|
|
|
|
+ String fileName = URLEncoder.encode("项目信息" + new Date().getTime(), "UTF-8");
|
|
|
|
|
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
|
|
|
|
+
|
|
|
|
|
+ // 这里需要设置不关闭流
|
|
|
|
|
+ EasyExcel.write(response.getOutputStream(), InformationReporting.class)
|
|
|
|
|
+ .registerWriteHandler(horizontalCellStyleStrategy).sheet("项目信息")
|
|
|
|
|
+ .doWrite(list);
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|