| | |
| | | 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)表控制层 |
| | |
| | | */ |
| | | @Resource |
| | | private EquipmentInfoService equipmentInfoService; |
| | | |
| | | @Autowired |
| | | public HttpServletRequest request; |
| | | |
| | | @Autowired |
| | | public HttpServletResponse response; |
| | | |
| | | /** |
| | | * 分页查询所有数据 |
| | |
| | | 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(); |