| | |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | */ |
| | | @Override |
| | | public Result submitReviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) { |
| | | // User audit = userMapper.selectById(deviceImpowerDto.getAuditId()); |
| | | // this.update(Wrappers.<DeviceImpower>lambdaUpdate() |
| | | // .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId()) |
| | | // .set(DeviceImpower::getAuditId, audit.getId()) |
| | | // .set(DeviceImpower::getAudit, audit.getName()) |
| | | // .set(DeviceImpower::getAuditDate, null) |
| | | // .set(DeviceImpower::getStatus, null) |
| | | // .set(DeviceImpower::getAuditRemark, null)); |
| | | // |
| | | // DeviceImpower deviceImpower = baseMapper.selectById(deviceImpowerDto.getImpowerId()); |
| | | // |
| | | User audit = userMapper.selectById(deviceImpowerDto.getAuditId()); |
| | | this.update(Wrappers.<DeviceImpower>lambdaUpdate() |
| | | .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId()) |
| | | .set(DeviceImpower::getAuditId, audit.getId()) |
| | | .set(DeviceImpower::getAudit, audit.getName()) |
| | | .set(DeviceImpower::getAuditDate, null) |
| | | .set(DeviceImpower::getStatus, null) |
| | | .set(DeviceImpower::getAuditRemark, null)); |
| | | |
| | | DeviceImpower deviceImpower = baseMapper.selectById(deviceImpowerDto.getImpowerId()); |
| | | |
| | | // // 发送消息 |
| | | // Integer userId = SecurityUtils.getUserId().intValue(); |
| | | // User user = userMapper.selectById(userId); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 审核设备使用 |
| | | * |
| | | * @param deviceImpowerDto 设备使用 |
| | | * |
| | | * @param deviceImpowerDto |
| | | */ |
| | | @Override |
| | | public Result reviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) { |
| | |
| | | /** |
| | | * 导出设备使用 |
| | | * |
| | | * @param ImpowerId 设备使用id |
| | | * @param impowerId 设备使用id |
| | | */ |
| | | @Override |
| | | public Result exportDeviceImpowerDto(Integer ImpowerId, HttpServletResponse response) { |
| | | // // 查询设备保养计划 |
| | | // DeviceImpowerDto deviceImpower = baseMapper.selectDeviceImpowerById(ImpowerId); |
| | | // |
| | | // // 查询设备保养计划详情 |
| | | // List<DeviceImpowerDetailsDto> deviceImpowerDetailsDtoList = deviceImpowerDetailsMapper.deviceImpowerDetailsList(ImpowerId); |
| | | // // 设置序号 |
| | | // deviceImpowerDetailsDtoList.forEach(deviceImpowerDetails -> { |
| | | // deviceImpowerDetails.setIndex(deviceImpowerDetailsDtoList.indexOf(deviceImpowerDetails) + 1); |
| | | // }); |
| | | // |
| | | // // 获取路径 |
| | | // InputStream inputStream = this.getClass().getResourceAsStream("/static/word/traceability-management-details.docx"); |
| | | // Configure configure = Configure.builder() |
| | | // .bind("deviceImpowerDetailsDtoList", new HackLoopTableRenderPolicy()) |
| | | // .build(); |
| | | // XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | // new HashMap<String, Object>() {{ |
| | | // put("deviceImpower", deviceImpower); |
| | | // put("deviceImpowerDetailsDtoList", deviceImpowerDetailsDtoList); |
| | | // // 编制人签名地址 |
| | | // put("compilerUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getCompilerId())); |
| | | // // 审核人签名地址 |
| | | // put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getAuditId())); |
| | | // }}); |
| | | // |
| | | // try { |
| | | // response.setContentType("application/msword"); |
| | | // String finalFileName = deviceImpower.getFileName() == null ? "" : deviceImpower.getFileName() + "_"; |
| | | // String fileName = URLEncoder.encode( |
| | | // finalFileName+ "设备使用", "UTF-8"); |
| | | // response.setHeader("Content-disposition", |
| | | // "attachment;filename=" + fileName + ".docx"); |
| | | // OutputStream os = response.getOutputStream(); |
| | | // template.write(os); |
| | | // os.flush(); |
| | | // os.close(); |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // throw new RuntimeException("导出失败"); |
| | | // } |
| | | public Result exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response) { |
| | | // 查询设备使用授权计划 |
| | | DeviceImpower deviceImpower = baseMapper.selectById(impowerId); |
| | | DeviceImpowerDto deviceImpowerDto = new DeviceImpowerDto(); |
| | | BeanUtils.copyProperties(deviceImpower, deviceImpowerDto); |
| | | // 格式化日期中英文 |
| | | DateTimeFormatter formatterCH = DateTimeFormatter.ofPattern("yyyy 年 MM 月 dd 日"); |
| | | DateTimeFormatter formatterEN = DateTimeFormatter.ofPattern("yyyy 'Year' MM 'Month' dd 'Day'"); |
| | | deviceImpowerDto.setAuditDateCH(deviceImpower.getAuditDate() == null ? null : deviceImpower.getAuditDate().format(formatterCH)); |
| | | deviceImpowerDto.setAuditDateEN(deviceImpower.getAuditDate() == null ? null : deviceImpower.getAuditDate().format(formatterEN)); |
| | | |
| | | // 查询设备保养计划详情 |
| | | List<DeviceImpowerDetailsDto> deviceImpowerDetailsDtoList = deviceImpowerDetailsMapper.deviceImpowerDetailsList(impowerId); |
| | | // 设置序号 |
| | | deviceImpowerDetailsDtoList.forEach(deviceImpowerDetails -> { |
| | | deviceImpowerDetails.setIndex(deviceImpowerDetailsDtoList.indexOf(deviceImpowerDetails) + 1); |
| | | }); |
| | | |
| | | // 获取路径 |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-impower.docx"); |
| | | Configure configure = Configure.builder() |
| | | .bind("deviceImpowerDetailsDtoList", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceImpower", deviceImpowerDto); |
| | | put("deviceImpowerDetailsDtoList", deviceImpowerDetailsDtoList); |
| | | // 授权人地址 |
| | | put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getAuditId())); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "设备使用授权", "UTF-8"); |
| | | response.setHeader("Content-disposition", |
| | | "attachment;filename=" + fileName + ".docx"); |
| | | OutputStream os = response.getOutputStream(); |
| | | template.write(os); |
| | | os.flush(); |
| | | os.close(); |
| | | inputStream.close(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | throw new RuntimeException("导出失败"); |
| | | } |
| | | return Result.success(); |
| | | } |
| | | } |