From 9112f70f645d3521fa490e648cdce70b9a7254f0 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期三, 27 七月 2022 17:12:36 +0800
Subject: [PATCH] fix

---
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetMngController.java |  142 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 107 insertions(+), 35 deletions(-)

diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetMngController.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetMngController.java
index d181cc7..ecc9ac0 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetMngController.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetMngController.java
@@ -1,30 +1,38 @@
 package com.gkhy.safePlatform.targetDuty.controller;
-import java.util.Date;
-import java.sql.Timestamp;
-
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.gkhy.safePlatform.targetDuty.entity.TargetDivideDetail;
-import com.gkhy.safePlatform.targetDuty.entity.TargetMng;
-import com.gkhy.safePlatform.targetDuty.service.TargetDivideDetailService;
-import com.gkhy.safePlatform.targetDuty.service.TargetMngService;
-import org.springframework.util.StringUtils;
-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.targetDuty.entity.TargetDivideDetail;
+import com.gkhy.safePlatform.targetDuty.entity.TargetMng;
+import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetMngImportExcel;
 import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetMngQueryCriteria;
+import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetMngExcel;
+import com.gkhy.safePlatform.targetDuty.service.TargetDivideDetailService;
+import com.gkhy.safePlatform.targetDuty.service.TargetMngService;
+import com.gkhy.safePlatform.targetDuty.utils.DateUtils;
+import com.gkhy.safePlatform.targetDuty.utils.poihelper.ExcelLogs;
+import com.gkhy.safePlatform.targetDuty.utils.poihelper.ExcelUtil;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.io.Serializable;
+import java.net.URLEncoder;
+import java.sql.Timestamp;
 import java.util.*;
 import java.util.stream.Collectors;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.Serializable;
 
 /**
  * 目标指标(TargetMng)表控制层
@@ -42,6 +50,11 @@
     private TargetMngService targetMngService;
     @Resource
     private TargetDivideDetailService targetDivideDetailService;
+    @Autowired
+    public HttpServletRequest request;
+
+    @Autowired
+    public HttpServletResponse response;
 
 
     /**
@@ -58,7 +71,7 @@
 		PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
 		return this.targetMngService.queryAll(pageQuery);
     }
-
+	
 
     /**
      * 通过主键查询单条数据
@@ -110,26 +123,85 @@
         return new ResultVO<>(ResultCodes.OK);
     }
 
+    /**
+     * 下载模板
+     *
+     */
+    @GetMapping(value = "/exportTemplate")
+    public void exportTemplate() throws IOException {
+        Map<String,String> map = new LinkedHashMap<>();
+        map.put("1","安全目标指标");
+        map.put("2","目标指标编号");
+        map.put("3","指标类型 1:年指标 2:月指标");
+        map.put("4","年度");
+        map.put("5","指标值");
+        map.put("6","指标级别 1:公司级 2:部门分厂级 3:工段班组级");
+        map.put("7","完成期限(yyyy-MM-dd HH:mm:ss)");
+        map.put("8","备注信息");
 
-//    /**
-//     * 导出
-//     * @param response /
-//     * @throws IOException /
-//     */
-//    public void download(HttpServletResponse response) throws IOException {
-//        List<Map<String, Object>> list = new ArrayList<>();
-//        for (OnlineUser user : all) {
-//            Map<String, Object> map = new LinkedHashMap<>();
-//            map.put("用户名", user.getUserName());
-//            map.put("用户昵称", user.getNickName());
-//            map.put("登录IP", user.getIp());
-//            map.put("登录地点", user.getAddress());
-//            map.put("浏览器", user.getBrowser());
-//            map.put("登录日期", user.getLoginTime());
-//            list.add(map);
-//        }
-//        FileUtil.downloadExcel(list, response);
-//    }
+        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();
+    }
+
+    /**
+     * 导出一览数据
+     *
+     */
+    @GetMapping(value = "/exportData")
+    public void exportData(TargetMngQueryCriteria queryCriteria) 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","备注信息");
+
+        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<TargetMngExcel> respList = BeanCopyUtils.copyBeanList(targetMngService.queryAll(queryCriteria), TargetMngExcel.class);
+
+        ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD);
+        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<TargetMngImportExcel> importExcel = ExcelUtil.importExcel(TargetMngImportExcel.class, file.getInputStream(), "yyyy-MM-dd HH:mm:ss", new ExcelLogs() , 0);
+
+        if (CollectionUtils.isEmpty(importExcel)) {
+            return new ResultVO<>(ResultCodes.OK);
+        }
+
+        List<TargetMng> respList = BeanCopyUtils.copyBeanList((List<TargetMngImportExcel>)importExcel, TargetMng.class);
+
+        targetMngService.saveBatch(respList);
+        return new ResultVO<>(ResultCodes.OK);
+    }
+
 
     public static void main(String[] args) {
         TargetMng mng = new TargetMng();
@@ -145,4 +217,4 @@
         System.out.println(JSONObject.toJSONString(mng));
 
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.2