From 61f34419e094f2363276d614a960b379cc456482 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期二, 20 五月 2025 10:37:15 +0800 Subject: [PATCH] 业务代码合并 --- cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 41 insertions(+), 19 deletions(-) diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java index 2c86286..e8da9e5 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java @@ -21,10 +21,12 @@ import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.WxCpUtils; +import com.ruoyi.device.pojo.DeviceExamineRecord; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.inspect.util.UserUtils; import com.ruoyi.inspect.util.XWPFDocumentUtils; +import com.ruoyi.process.dto.QualityMonitorDetailsDto; import com.ruoyi.process.dto.QualityMonitorDetailsEvaluateDto; import com.ruoyi.process.dto.QualityMonitorDto; import com.ruoyi.process.excel.QualityMonitorDetailsUpload; @@ -273,7 +275,7 @@ * @return */ @Override - public IPage<QualityMonitorDetails> pageQualityMonitorDetail(Page page, QualityMonitorDetails qualityMonitorDetails) { + public IPage<QualityMonitorDetailsDto> pageQualityMonitorDetail(Page page, QualityMonitorDetails qualityMonitorDetails) { if (qualityMonitorDetails.getQualityMonitorId() == null) { return new Page(); } @@ -371,6 +373,7 @@ template.write(os); os.flush(); os.close(); + inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("瀵煎嚭澶辫触"); @@ -459,7 +462,10 @@ } }); } - + // 娓呯┖鐘舵�� + qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate() + .eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId()) + .set(QualityMonitorDetailsRatify::getIsFinish, null)); return true; } @@ -470,10 +476,16 @@ */ @Override public boolean addQualityMonitorRatifyOpinion(QualityMonitorDetailsRatify qualityMonitorDetailsRatify) { - qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate() + LambdaUpdateWrapper<QualityMonitorDetailsRatify> wrapper = Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate() .eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId()) .set(QualityMonitorDetailsRatify::getRatifyOpinion, qualityMonitorDetailsRatify.getRatifyOpinion()) - .set(QualityMonitorDetailsRatify::getIsFinish, 1)); + .set(QualityMonitorDetailsRatify::getIsFinish, qualityMonitorDetailsRatify.getIsFinish()); + // 涓�0娓呴櫎瀹℃牳浜� + if (qualityMonitorDetailsRatify.getIsFinish().equals(0)) { + wrapper.set(QualityMonitorDetailsRatify::getRatifyUserId, null); + } + + qualityMonitorDetailsRatifyService.update(wrapper); return true; } @@ -508,6 +520,7 @@ template.write(os); os.flush(); os.close(); + inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("瀵煎嚭澶辫触"); @@ -630,13 +643,13 @@ /** * 鏂板鐩戞帶璇勪环闄勪欢琛� - * @param detailsEvaluateId + * @param qualityMonitorDetailsId * @param file * @return */ @Override - public boolean uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file) { - if (detailsEvaluateId == null) { + public boolean uploadEvaluateFile(Integer qualityMonitorDetailsId, MultipartFile file) { + if (qualityMonitorDetailsId == null) { throw new ErrorException("缂哄皯鐩戞帶璇︽儏id"); } @@ -646,7 +659,7 @@ String filename = file.getOriginalFilename(); String contentType = file.getContentType(); QualityMonitorDetailsEvaluateFile evaluateFile = new QualityMonitorDetailsEvaluateFile(); - evaluateFile.setDetailsEvaluateId(detailsEvaluateId); + evaluateFile.setDetailsEvaluateId(qualityMonitorDetailsId); evaluateFile.setFileName(filename); if (contentType != null && contentType.startsWith("image/")) { // 鏄浘鐗� @@ -680,9 +693,9 @@ * @return */ @Override - public List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer detailsEvaluateId) { + public List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer qualityMonitorDetailsId) { return qualityMonitorDetailsEvaluateFileMapper.selectList(Wrappers.<QualityMonitorDetailsEvaluateFile>lambdaQuery() - .eq(QualityMonitorDetailsEvaluateFile::getDetailsEvaluateId, detailsEvaluateId)); + .eq(QualityMonitorDetailsEvaluateFile::getDetailsEvaluateId, qualityMonitorDetailsId)); } @@ -699,7 +712,7 @@ 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() @@ -721,6 +734,7 @@ template.write(os); os.flush(); os.close(); + inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("瀵煎嚭澶辫触"); @@ -740,9 +754,9 @@ if (qualityMonitorDetailsId == null) { throw new ErrorException("缂哄皯鐩戞帶璇︽儏id"); } - + LocalDateTime now = LocalDateTime.now(); Integer userId =SecurityUtils.getUserId().intValue(); - + String contentType = file.getContentType(); String urlString; String pathName; try { @@ -755,12 +769,18 @@ urlString = realpath + "/" + pathName; file.transferTo(new File(urlString)); - wordInsertUrl(new HashMap<String, Object>() {{ - put("writeUrl", UserUtils.getFinalUserSignatureUrl(userId)); - }}, wordUrl + "/" + pathName.replace("/word", wordUrl)); + // 鍒ゆ柇鏄惁鏄痯df + if (!contentType.contains("pdf")) { + 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) { @@ -776,13 +796,14 @@ */ @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); } @@ -790,9 +811,10 @@ // 娣诲姞鎵瑰噯浜� QualityMonitorDetails details = qualityMonitorDetailsMapper.selectById(qualityMonitorDetails.getQualityMonitorDetailsId()); - if (StringUtils.isNotBlank(details.getFinishReportUrl())) { + if (StringUtils.isNotBlank(details.getFinishReportUrl()) && !details.getFinishReportUrl().contains(".pdf")) { 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; -- Gitblit v1.9.3