From f4b7ba5ab9850b45e969ff5967b1214f708f1f70 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期五, 29 七月 2022 16:36:23 +0800 Subject: [PATCH] 导入/导出模块 --- equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java | 139 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 128 insertions(+), 11 deletions(-) diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java index b3b561c..5a967a1 100644 --- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java +++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/KeypointEquipmentInfoController.java @@ -2,24 +2,35 @@ import com.alibaba.fastjson.JSONObject; -import com.gkhy.safePlatform.equipment.entity.*; -import com.gkhy.safePlatform.equipment.model.dto.resp.KeypointEquipmentInfoDto; -import com.gkhy.safePlatform.equipment.service.KeypointEquipmentInfoService; -import com.google.common.collect.Lists; -import org.springframework.web.bind.annotation.*; +import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; +import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; -import com.gkhy.safePlatform.commons.enums.ResultCodes; +import com.gkhy.safePlatform.equipment.entity.*; +import com.gkhy.safePlatform.equipment.model.dto.req.KeypointEquipmentInfoImportExcel; import com.gkhy.safePlatform.equipment.model.dto.req.KeypointEquipmentInfoQueryCriteria; +import com.gkhy.safePlatform.equipment.model.dto.resp.KeypointEquipmentInfoDto; +import com.gkhy.safePlatform.equipment.model.dto.resp.KeypointEquipmentInfoExcel; +import com.gkhy.safePlatform.equipment.service.KeypointEquipmentInfoService; +import com.gkhy.safePlatform.equipment.utils.DateUtils; +import com.gkhy.safePlatform.equipment.utils.poihelper.ExcelLogs; +import com.gkhy.safePlatform.equipment.utils.poihelper.ExcelUtil; +import com.google.common.collect.Lists; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.Serializable; -import java.util.List; +import java.net.URLEncoder; +import java.sql.Timestamp; +import java.util.*; +import java.util.stream.Collectors; /** * 重点监管装置/设备 详细信息(KeypointEquipmentInfo)表控制层 @@ -35,6 +46,13 @@ */ @Resource private KeypointEquipmentInfoService keypointEquipmentInfoService; + + + @Autowired + public HttpServletRequest request; + + @Autowired + public HttpServletResponse response; /** * 分页查询所有数据 @@ -91,6 +109,105 @@ } + /** + * 下载模板 + * + */ + @GetMapping(value = "/exportTemplate") + public void exportTemplate() throws IOException { + Map<String,String> map = new LinkedHashMap<>(); + map.put("1","类型/类别外键 "); + map.put("2","装置/部位名称"); + map.put("3","所属单位部门/外键"); + map.put("4","具体位置"); + map.put("5","负责人姓名"); + map.put("6","联系人/外键"); + map.put("7","录入人/外键"); + map.put("8","责任人/外键"); + map.put("9","装置部位分类 1:关键装置 2:重点部位"); + map.put("10","检查周期"); + map.put("11","应急预案/外键"); + map.put("12","主要危险有害因素"); + map.put("13","易导致风险"); + map.put("14","应急处置措施"); + map.put("15","现场图片地址路径"); + + + String fileName = URLEncoder.encode("重点监管装置设备数据导入模板.xls", "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + + ExcelUtil.exportExcel(map,new ArrayList<>() , response.getOutputStream()); + response.getOutputStream().close(); + } + + + /** + * 导入数据 + * + */ + @RequestMapping(value = "/importData") + public ResultVO importData(MultipartFile file) throws IOException { + String contentType = file.getContentType(); + if(!"application/vnd.ms-excel".equals(contentType) + && !"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".equals(contentType)) { + return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL, "上传的excel格式错误"); + } + + Collection<KeypointEquipmentInfoImportExcel> importExcel = ExcelUtil.importExcel(KeypointEquipmentInfoImportExcel.class, file.getInputStream(), "yyyy-MM-dd HH:mm:ss", new ExcelLogs() , 0); + + if (CollectionUtils.isEmpty(importExcel)) { + return new ResultVO<>(ResultCodes.OK); + } + + List<KeypointEquipmentInfo> respList = BeanCopyUtils.copyBeanList((List<KeypointEquipmentInfoImportExcel>)importExcel, KeypointEquipmentInfo.class); + + keypointEquipmentInfoService.saveBatch(respList); + return new ResultVO<>(ResultCodes.OK); + } + + + + + /** + * 导出一览数据 + * + */ + @GetMapping(value = "/exportData") + public void exportData(KeypointEquipmentInfoQueryCriteria queryCriteria) throws IOException { + Map<String,String> map = new LinkedHashMap<>(); + map.put("0","ID"); + map.put("1","类型/类别外键"); + map.put("2","装置/部位名称"); + map.put("3","所属单位部门/外键"); + map.put("4","具体位置"); + map.put("5","负责人姓名"); + map.put("6","联系人/外键"); + map.put("7","录入人/外键"); + map.put("8","责任人/外键"); + map.put("9","装置部位分类 1:关键装置 2:重点部位"); + map.put("10","检查周期"); + map.put("11","应急预案/外键"); + map.put("12","主要危险有害因素"); + map.put("13","易导致风险"); + map.put("14","应急处置措施"); + map.put("15","现场图片地址路径"); + + String key = DateUtils.date2String(new Date(), DateUtils.PATTERN_ALLTIME_NOSIGN) ; + String fileName = URLEncoder.encode("重点监管装置设备"+key+".xls", "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + + + List<KeypointEquipmentInfoExcel> respList = BeanCopyUtils.copyBeanList(keypointEquipmentInfoService.queryAll(queryCriteria), KeypointEquipmentInfoExcel.class); + + ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD); + response.getOutputStream().close(); + } + + public static void main(String[] args) { KeypointEquipmentInfoDto infoDto = new KeypointEquipmentInfoDto(); -- Gitblit v1.9.2