From e2380fc99bb36cadfa8e2b5c22fcf17310a8dbfd Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期四, 28 七月 2022 16:18:27 +0800 Subject: [PATCH] 覆盖fix --- equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java | 190 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 187 insertions(+), 3 deletions(-) diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java index 8b9a9e1..23f46ee 100644 --- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java +++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java @@ -1,26 +1,38 @@ package com.gkhy.safePlatform.equipment.controller; import com.alibaba.fastjson.JSONObject; +import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.equipment.entity.*; +import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentInfoImportExcel; import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentInfoSaveOrUpdate; +import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoExcel; +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 java.io.IOException; +import java.net.URLEncoder; import java.sql.Timestamp; import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoDto; import com.gkhy.safePlatform.equipment.service.EquipmentInfoService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.gkhy.safePlatform.commons.query.PageQuery; 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.model.dto.req.EquipmentInfoQueryCriteria; +import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.Arrays; +import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.Serializable; -import java.util.List; /** * 设备设施详细信息(EquipmentInfo)表控制层 @@ -36,6 +48,12 @@ */ @Resource private EquipmentInfoService equipmentInfoService; + + @Autowired + public HttpServletRequest request; + + @Autowired + public HttpServletResponse response; /** * 分页查询所有数据 @@ -109,6 +127,172 @@ return new ResultVO<>(ResultCodes.OK,this.equipmentInfoService.statistics()); } + + + + /** + * 下载模板 + * + */ + @GetMapping(value = "/exportTemplate") + public void exportTemplate() throws IOException { + Map<String,String> map = new LinkedHashMap<>(); + map.put("1", "类型/类别外键"); + map.put("2", "具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 "); + map.put("3", "名称"); + map.put("4", "位号"); + map.put("5", "用途"); + map.put("6", "型号"); + map.put("7", "单位部门外键"); + map.put("8", "设置部位"); + map.put("9", "生产日期(yyyy-MM-dd HH:mm:ss)"); + map.put("10", "使用期限(天)"); + map.put("11", "生命周期 1:已使用 2:库存中 3:报废"); + map.put("12", "投用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("13", "维修状态 1:维修中 2:已修好"); + map.put("14", "停用状态 1:停用 2.在用 3.维修 4.报废"); + map.put("15", "上次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("16", "上次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("17", "上次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("18", "下次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("19", "下次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("20", "下次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("21", "负责人ID外键"); + map.put("22", "负责人部门外键"); + map.put("23", "供应商"); + map.put("24", "使用说明"); + map.put("25", "是否检查 1:是 2:否"); + map.put("26", "检查周期"); + map.put("27", "检查提前提醒"); + map.put("28", "是否检测 1:是 2:否"); + map.put("29", "检测周期"); + map.put("30", "检测提前提醒"); + map.put("31", "是否保养 1:是 2:否"); + map.put("32", "检查内容"); + map.put("33", "负责部门/外键"); + map.put("34", "检查指标"); + map.put("35", "预警值"); + map.put("36", "联锁值"); + map.put("37", "停用理由"); + map.put("38", "停用后措施"); + map.put("39", "实际停用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("40", "停用提交人/外键"); + map.put("41", "停用提交日期(yyyy-MM-dd HH:mm:ss)"); + map.put("42", "恢复理由"); + map.put("43", "恢复填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("44", "实际恢复日期(yyyy-MM-dd HH:mm:ss)"); + map.put("45", "报废理由"); + map.put("46", "报废填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("47", "实际报废日期(yyyy-MM-dd HH:mm:ss)"); + 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<EquipmentInfoImportExcel> importExcel = ExcelUtil.importExcel(EquipmentInfoImportExcel.class, file.getInputStream(), "yyyy-MM-dd HH:mm:ss", new ExcelLogs() , 0); + + if (CollectionUtils.isEmpty(importExcel)) { + return new ResultVO<>(ResultCodes.OK); + } + + List<EquipmentInfo> respList = BeanCopyUtils.copyBeanList((List<EquipmentInfoImportExcel>)importExcel, EquipmentInfo.class); + + equipmentInfoService.saveBatch(respList); + return new ResultVO<>(ResultCodes.OK); + } + + + + + /** + * 导出一览数据 + * + */ + @GetMapping(value = "/exportData") + public void exportData(EquipmentInfoQueryCriteria queryCriteria) throws IOException { + Map<String,String> map = new LinkedHashMap<>(); + map.put("0", "ID"); + map.put("1", "类型/类别外键"); + map.put("2", "具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 "); + map.put("3", "名称"); + map.put("4", "位号"); + map.put("5", "用途"); + map.put("6", "型号"); + map.put("7", "单位部门外键"); + map.put("8", "设置部位"); + map.put("9", "生产日期(yyyy-MM-dd HH:mm:ss)"); + map.put("10", "使用期限(天)"); + map.put("11", "生命周期 1:已使用 2:库存中 3:报废"); + map.put("12", "投用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("13", "维修状态 1:维修中 2:已修好"); + map.put("14", "停用状态 1:停用 2.在用 3.维修 4.报废"); + map.put("15", "上次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("16", "上次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("17", "上次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("18", "下次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("19", "下次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("20", "下次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("21", "负责人ID外键"); + map.put("22", "负责人部门外键"); + map.put("23", "供应商"); + map.put("24", "使用说明"); + map.put("25", "是否检查 1:是 2:否"); + map.put("26", "检查周期"); + map.put("27", "检查提前提醒"); + map.put("28", "是否检测 1:是 2:否"); + map.put("29", "检测周期"); + map.put("30", "检测提前提醒"); + map.put("31", "是否保养 1:是 2:否"); + map.put("32", "检查内容"); + map.put("33", "负责部门/外键"); + map.put("34", "检查指标"); + map.put("35", "预警值"); + map.put("36", "联锁值"); + map.put("37", "停用理由"); + map.put("38", "停用后措施"); + map.put("39", "实际停用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("40", "停用提交人/外键"); + map.put("41", "停用提交日期(yyyy-MM-dd HH:mm:ss)"); + map.put("42", "恢复理由"); + map.put("43", "恢复填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("44", "实际恢复日期(yyyy-MM-dd HH:mm:ss)"); + map.put("45", "报废理由"); + map.put("46", "报废填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("47", "实际报废日期(yyyy-MM-dd HH:mm:ss)"); + + 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<EquipmentInfoExcel> respList = BeanCopyUtils.copyBeanList(equipmentInfoService.queryAll(queryCriteria), EquipmentInfoExcel.class); + + ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD); + response.getOutputStream().close(); + } + + + + public static void main(String[] args) { EquipmentInfoDto infoDto = new EquipmentInfoDto(); List<EquipmentRepairDetail> repairDetails = Lists.newArrayList(); -- Gitblit v1.9.2