From 233fb69fa9d1694e97337d74fa3da72cacda04c1 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期四, 18 八月 2022 17:25:33 +0800
Subject: [PATCH] 目标统计

---
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/RewardPunishmentStandardController.java |  129 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 109 insertions(+), 20 deletions(-)

diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/RewardPunishmentStandardController.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/RewardPunishmentStandardController.java
index 48b7899..6f16bc4 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/RewardPunishmentStandardController.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/RewardPunishmentStandardController.java
@@ -1,29 +1,34 @@
 package com.gkhy.safePlatform.targetDuty.controller;
-import java.util.Date;
-
-
 
 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.RewardPunishmentStandard;
-import com.gkhy.safePlatform.targetDuty.entity.TargetMng;
-import com.gkhy.safePlatform.targetDuty.service.RewardPunishmentStandardService;
-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.RewardPunishmentStandard;
+import com.gkhy.safePlatform.targetDuty.model.dto.req.RewardPunishmentStandardImportExcel;
 import com.gkhy.safePlatform.targetDuty.model.dto.req.RewardPunishmentStandardQueryCriteria;
+import com.gkhy.safePlatform.targetDuty.model.dto.resp.RewardPunishmentStandardExcel;
+import com.gkhy.safePlatform.targetDuty.service.RewardPunishmentStandardService;
+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 java.sql.Timestamp;
-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.util.*;
+import java.util.stream.Collectors;
 
 /**
  * (RewardPunishmentStandard)表控制层
@@ -40,6 +45,12 @@
     @Resource
     private RewardPunishmentStandardService rewardPunishmentStandardService;
 
+    @Autowired
+    public HttpServletRequest request;
+
+    @Autowired
+    public HttpServletResponse response;
+
     /**
      * 分页查询所有数据
      *
@@ -48,7 +59,7 @@
      */
     @PostMapping(value = "/page/list")
     public ResultVO selectAll(@RequestBody PageQuery<RewardPunishmentStandardQueryCriteria> pageQuery){
-		PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
+		PageUtils.checkCheck(pageQuery);
 		return this.rewardPunishmentStandardService.queryAll(pageQuery);
     }
 	
@@ -92,15 +103,93 @@
      * @param ids 主键结合
      * @return 删除结果
      */
-    @GetMapping(value = "/delete")
-    public ResultVO delete(String ids) {
-	List<String> idList = Arrays.stream(ids.split(","))
-                .collect(Collectors.toList());
+    @RequestMapping(value = "/delete",method = RequestMethod.POST)
+    public ResultVO delete(@RequestBody Long[] ids) {
+        if(ids == null){
+            return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL);
+        }
+        List<Long> idList = Arrays.asList(ids);
         this.rewardPunishmentStandardService.removeByIds(idList);
         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","奖惩类型 1:奖励 2:惩罚");
+        map.put("3","奖惩内容");
+        map.put("4","依据");
+        map.put("5","备注");
+
+        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(RewardPunishmentStandardQueryCriteria queryCriteria) throws IOException {
+        Map<String,String> map = new LinkedHashMap<>();
+        map.put("1","奖惩名称");
+        map.put("2","奖惩类型");
+        map.put("3","奖惩内容");
+        map.put("4","依据");
+        map.put("5","备注");
+
+        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<RewardPunishmentStandardExcel> respList = BeanCopyUtils.copyBeanList(rewardPunishmentStandardService.queryAll(queryCriteria), RewardPunishmentStandardExcel.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<RewardPunishmentStandardImportExcel> importExcel = ExcelUtil.importExcel(RewardPunishmentStandardImportExcel.class, file.getInputStream(), "yyyy-MM-dd HH:mm:ss", new ExcelLogs() , 0);
+
+        if (CollectionUtils.isEmpty(importExcel)) {
+            return new ResultVO<>(ResultCodes.OK);
+        }
+
+        List<RewardPunishmentStandard> respList = BeanCopyUtils.copyBeanList((List<RewardPunishmentStandardImportExcel>)importExcel, RewardPunishmentStandard.class);
+
+        rewardPunishmentStandardService.saveBatch(respList);
+        return new ResultVO<>(ResultCodes.OK);
+    }
+
+
+
     public static void main(String[] args) {
         RewardPunishmentStandard mng = new RewardPunishmentStandard();
         mng.setStandardType(1);

--
Gitblit v1.9.2