zhuo
2025-03-29 e19c5c816f8abfbbdb197e698cae285ab434fddb
cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
@@ -14,16 +14,19 @@
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.data.Pictures;
import com.ruoyi.common.constant.MenuJumpPathConstants;
import com.ruoyi.common.core.domain.entity.InformationNotification;
import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.common.utils.DateImageUtil;
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;
@@ -128,7 +131,7 @@
        info.setSenderId(userId);
        // 接收人
        info.setConsigneeId(monitor.getExamineUserId());
        info.setJumpPath("a7-Ensure-results-validity");
        info.setJumpPath(MenuJumpPathConstants.QUALITY_MONITOR);
        informationNotificationService.addInformationNotification(info);
        // 发送企业微信通知
@@ -215,7 +218,7 @@
        info.setSenderId(userId);
        // 接收人
        info.setConsigneeId(qualityMonitor.getRatifyUserId());
        info.setJumpPath("a7-Ensure-results-validity");
        info.setJumpPath(MenuJumpPathConstants.QUALITY_MONITOR);
        informationNotificationService.addInformationNotification(info);
        // 发送企业微信通知
@@ -272,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();
        }
@@ -439,7 +442,7 @@
            info.setSenderId(userId);
            // 接收人
            info.setConsigneeId(qualityMonitorDetailsRatify.getRatifyUserId());
            info.setJumpPath("a7-Ensure-results-validity");
            info.setJumpPath(MenuJumpPathConstants.QUALITY_MONITOR);
            informationNotificationService.addInformationNotification(info);
            // 发送企业微信通知
@@ -458,7 +461,10 @@
                }
            });
        }
        // 清空状态
        qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate()
                .eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId())
                .set(QualityMonitorDetailsRatify::getIsFinish, null));
        return true;
    }
@@ -469,10 +475,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;
    }
@@ -553,7 +565,7 @@
            info.setSenderId(userId);
            // 接收人
            info.setConsigneeId(qualityMonitorDetailsEvaluate.getRatifyUserId());
            info.setJumpPath("a7-Ensure-results-validity");
            info.setJumpPath(MenuJumpPathConstants.QUALITY_MONITOR);
            informationNotificationService.addInformationNotification(info);
            // 发送企业微信通知
@@ -587,7 +599,7 @@
                info.setSenderId(userId);
                // 接收人
                info.setConsigneeId(qualityMonitorDetailsEvaluate.getImplementUserId());
                info.setJumpPath("a7-Ensure-results-validity");
                info.setJumpPath(MenuJumpPathConstants.QUALITY_MONITOR);
                informationNotificationService.addInformationNotification(info);
                // 发送企业微信通知
@@ -629,13 +641,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");
        }
@@ -645,7 +657,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/")) {
            // 是图片
@@ -679,9 +691,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));
    }