From 2595c1008bfe2d0d5e01f3b6b035faa7ccb8a2b8 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: Fri, 19 Aug 2022 17:46:03 +0800
Subject: [PATCH] 目标考核
---
goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetMngController.java | 183 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 144 insertions(+), 39 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..d7bfeff 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,41 @@
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.co.ContextCacheUser;
+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.TargetCheckAndSubmitQueryCriteria;
+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.security.core.Authentication;
+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 +53,11 @@
private TargetMngService targetMngService;
@Resource
private TargetDivideDetailService targetDivideDetailService;
+ @Autowired
+ public HttpServletRequest request;
+
+ @Autowired
+ public HttpServletResponse response;
/**
@@ -55,8 +71,8 @@
if(pageQuery.getSearchParams().getTargetType() == null){
return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少targetType");
}
- PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
- return this.targetMngService.queryAll(pageQuery);
+ PageUtils.checkCheck(pageQuery);
+ return this.targetMngService.queryAll(pageQuery);
}
@@ -99,10 +115,12 @@
* @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.targetDivideDetailService.remove(new QueryWrapper<TargetDivideDetail>().in("target_id",idList));
@@ -110,26 +128,113 @@
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:月指标 3:半年 4:季度");
+ 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);
+ }
+
+
+
+ /**
+ * 分页查询所有数据 -- 【目标检查上报页面】使用
+ *
+ * @param pageQuery 查询实体
+ * @return 所有数据
+ */
+ @PostMapping(value = "/checkAndSubimt/list")
+ public ResultVO list(Authentication authentication, @RequestBody PageQuery<TargetCheckAndSubmitQueryCriteria> pageQuery){
+ if(pageQuery.getSearchParams().getRelateType() == null){
+ return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少targetType");
+ }
+ PageUtils.checkCheck(pageQuery);
+ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
+ return this.targetMngService.queryAll(currentUser.getUid(),pageQuery);
+ }
+
+ /**
+ * 统计
+ *
+ * @return 删除结果
+ */
+ @GetMapping(value = "/statistics")
+ public ResultVO statistics(TargetMngQueryCriteria criteria) {
+ return new ResultVO<>(ResultCodes.OK,this.targetMngService.statistics(criteria));
+ }
+
public static void main(String[] args) {
TargetMng mng = new TargetMng();
--
Gitblit v1.9.2