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