|  |  | 
 |  |  |         BeanUtils.copyProperties(qualityMonitorDetailsEvaluate, qualityMonitorDetailsEvaluateDto); | 
 |  |  |         // 格式化时间 | 
 |  |  |         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); | 
 |  |  |         qualityMonitorDetailsEvaluateDto.setRatifyTimeStr(qualityMonitorDetailsEvaluate.getRatifyTime().format(dateTimeFormatter)); | 
 |  |  |         qualityMonitorDetailsEvaluateDto.setRatifyTimeStr(qualityMonitorDetailsEvaluate.getRatifyTime() == null ? null : qualityMonitorDetailsEvaluate.getRatifyTime().format(dateTimeFormatter)); | 
 |  |  |         // 获取路径 | 
 |  |  |         InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-monitor-evaluate.docx"); | 
 |  |  |         Configure configure = Configure.builder() | 
 |  |  | 
 |  |  |         if (qualityMonitorDetailsId == null) { | 
 |  |  |             throw new ErrorException("缺少监控详情id"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         QualityMonitorDetails qualityMonitorDetails = qualityMonitorDetailsService.getOne(Wrappers.<QualityMonitorDetails>lambdaUpdate() | 
 |  |  |                 .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetailsId)); | 
 |  |  |         LocalDateTime now = LocalDateTime.now(); | 
 |  |  |         Integer userId =SecurityUtils.getUserId().intValue(); | 
 |  |  |  | 
 |  |  |         String urlString; | 
 |  |  | 
 |  |  |  | 
 |  |  |             wordInsertUrl(new HashMap<String, Object>() {{ | 
 |  |  |                 put("writeUrl", UserUtils.getFinalUserSignatureUrl(userId)); | 
 |  |  |                 put("writeDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(now)).create()); | 
 |  |  |             }}, wordUrl + "/" + pathName.replace("/word", wordUrl)); | 
 |  |  |  | 
 |  |  |             qualityMonitorDetailsService.update(Wrappers.<QualityMonitorDetails>lambdaUpdate() | 
 |  |  |                     .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetailsId) | 
 |  |  |                     .set(QualityMonitorDetails::getFinishReportUrl, pathName)); | 
 |  |  |                     .set(QualityMonitorDetails::getFinishReportUrl, pathName) | 
 |  |  |                     .set(QualityMonitorDetails::getWriteTime, now)); | 
 |  |  |  | 
 |  |  |             return true; | 
 |  |  |         } catch (Exception e) { | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public boolean ratifyFinishReport(QualityMonitorDetails qualityMonitorDetails) { | 
 |  |  |         LocalDateTime now = LocalDateTime.now(); | 
 |  |  |         Integer userId =SecurityUtils.getUserId().intValue(); | 
 |  |  |         LambdaUpdateWrapper<QualityMonitorDetails> wrapper = Wrappers.<QualityMonitorDetails>lambdaUpdate() | 
 |  |  |                 .eq(QualityMonitorDetails::getQualityMonitorDetailsId, qualityMonitorDetails.getQualityMonitorDetailsId()) | 
 |  |  |                 .set(QualityMonitorDetails::getRatifyUserId, userId) | 
 |  |  |                 .set(QualityMonitorDetails::getRatifyRemark, qualityMonitorDetails.getRatifyRemark()) | 
 |  |  |                 .set(QualityMonitorDetails::getRatifyStatus, qualityMonitorDetails.getRatifyStatus()) | 
 |  |  |                 .set(QualityMonitorDetails::getRatifyTime, LocalDateTime.now()); | 
 |  |  |                 .set(QualityMonitorDetails::getRatifyTime, now); | 
 |  |  |         if (qualityMonitorDetails.getRatifyStatus().equals(0)) { | 
 |  |  |             wrapper.set(QualityMonitorDetails::getFinishReportUrl, null); | 
 |  |  |         } | 
 |  |  | 
 |  |  |         if (StringUtils.isNotBlank(details.getFinishReportUrl())) { | 
 |  |  |             wordInsertUrl(new HashMap<String, Object>() {{ | 
 |  |  |                 put("ratifyUrl", UserUtils.getFinalUserSignatureUrl(userId)); | 
 |  |  |                 put("ratifyDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(now)).create()); | 
 |  |  |             }}, wordUrl + "/" + details.getFinishReportUrl().replace("/word", wordUrl)); | 
 |  |  |         } | 
 |  |  |         return true; |