From 2b4afe24e1136e4eb25e37b7a76565603ddc1a85 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: Thu, 18 Aug 2022 15:37:44 +0800
Subject: [PATCH] 统计fix
---
equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/EquipmentInfoController.java | 210 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 199 insertions(+), 11 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 fe40613..a7f0856 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)表控制层
@@ -37,6 +49,12 @@
@Resource
private EquipmentInfoService equipmentInfoService;
+ @Autowired
+ public HttpServletRequest request;
+
+ @Autowired
+ public HttpServletResponse response;
+
/**
* 分页查询所有数据
*
@@ -49,10 +67,10 @@
return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少infoType");
}
- PageUtils.checkCheck(pageQuery.getPageIndex(), pageQuery.getPageSize());
+ PageUtils.checkCheck(pageQuery);
return this.equipmentInfoService.queryAll(pageQuery);
}
-
+
/**
* 通过主键查询单条数据
@@ -90,10 +108,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.equipmentInfoService.removeByIds(idList);
return new ResultVO<>(ResultCodes.OK);
}
@@ -108,6 +128,174 @@
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)");
+ map.put("48", "保养周期");
+ 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)");
+ map.put("48", "保养周期");
+
+ 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();
@@ -217,8 +405,8 @@
infoDto.setDestoryReason("");
infoDto.setDestorySubmitDate(new Timestamp(new java.util.Date().getTime()));
infoDto.setActualDestoryDate(new Timestamp(new java.util.Date().getTime()));
+
System.out.println(JSONObject.toJSONString(infoDto));
-
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.2