From 6755992e9dc8bfab02738495e855ef6edd92fcfb Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 17 四月 2026 15:06:26 +0800
Subject: [PATCH] 不合格附件上传
---
src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java | 27 +++++++++++--
src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java | 22 ++++++++++-
src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java | 15 +++++++
src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml | 4 ++
src/main/java/com/ruoyi/common/enums/FileNameType.java | 3 +
5 files changed, 64 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/enums/FileNameType.java b/src/main/java/com/ruoyi/common/enums/FileNameType.java
index 2deb5d6..09dd066 100644
--- a/src/main/java/com/ruoyi/common/enums/FileNameType.java
+++ b/src/main/java/com/ruoyi/common/enums/FileNameType.java
@@ -17,7 +17,8 @@
INSPECTION_PRODUCTION_BEFORE(10),
INSPECTION_PRODUCTION_AFTER(11),
INSPECTION(12),//宸℃ 鐢熶骇鍓�
- APP(13);
+ APP(13),
+ QUALITY_UQUALIFIED(14);//璐ㄩ噺 涓嶅悎鏍�
private final int value;
diff --git a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
index e558c30..fea6b88 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
@@ -1,9 +1,14 @@
package com.ruoyi.quality.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.other.service.impl.TempFileServiceImpl;
import com.ruoyi.quality.pojo.QualityUnqualified;
import com.ruoyi.quality.service.IQualityUnqualifiedService;
+import com.ruoyi.sales.service.ICommonFileService;
+import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -21,6 +26,12 @@
@Resource
private IQualityUnqualifiedService qualityUnqualifiedService;
+ @Autowired
+ private TempFileServiceImpl tempFileService;
+
+ @Autowired
+ private CommonFileServiceImpl commonFileService;
+
/**
* 鏂板涓嶅悎鏍肩鐞�
@@ -28,9 +39,12 @@
* @return
*/
@PostMapping("/add")
- public AjaxResult add(@RequestBody QualityUnqualified qualityUnqualified) {
+ public AjaxResult add(@RequestBody QualityUnqualified qualityUnqualified) throws Exception {
qualityUnqualified.setInspectState(0);
- return AjaxResult.success(qualityUnqualifiedService.save(qualityUnqualified));
+ qualityUnqualifiedService.save(qualityUnqualified);
+ // 闄勪欢缁戝畾
+ tempFileService.migrateTempFilesToFormal(qualityUnqualified.getId(), qualityUnqualified.getTempFileIds(), FileNameType.QUALITY_UQUALIFIED.getValue());
+ return AjaxResult.success();
}
/**
@@ -44,6 +58,8 @@
if (qualityUnqualified.getInspectState()==1){
throw new RuntimeException("璇ヤ笉鍚堟牸鏁版嵁宸茬粡澶勭悊鏃犳硶鍒犻櫎!");
}
+ // 鍒犻櫎瀵瑰簲鐨勯檮浠�
+ commonFileService.deleteByBusinessId(qualityUnqualified.getId(), FileNameType.QUALITY_UQUALIFIED.getValue());
});
return AjaxResult.success(qualityUnqualifiedService.removeBatchByIds(ids));
}
@@ -64,8 +80,11 @@
* @return
*/
@PostMapping("/update")
- public AjaxResult update(@RequestBody QualityUnqualified qualityUnqualified) {
- return AjaxResult.success(qualityUnqualifiedService.updateById(qualityUnqualified));
+ public AjaxResult update(@RequestBody QualityUnqualified qualityUnqualified) throws Exception {
+ qualityUnqualifiedService.updateById(qualityUnqualified);
+ // 闄勪欢缁戝畾
+ tempFileService.migrateTempFilesToFormal(qualityUnqualified.getId(), qualityUnqualified.getTempFileIds(), FileNameType.QUALITY_UQUALIFIED.getValue());
+ return AjaxResult.success();
}
/**
diff --git a/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java b/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java
index ecfca49..313b66c 100644
--- a/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java
+++ b/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java
@@ -4,6 +4,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.dto.DateQueryDto;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.sales.pojo.CommonFile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -12,6 +13,7 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
+import java.util.List;
/**
* 璐ㄩ噺绠$悊--涓嶅悎鏍煎搧绠$悊
@@ -167,4 +169,17 @@
*/
@Excel(name = "鏉愭枡璐规崯澶�")
private String lossMaterial;
+
+
+ /**
+ * 涓存椂鏂囦欢id鍒楄〃
+ */
+ @TableField(exist = false)
+ private List<String> tempFileIds;
+
+ /**
+ * 姝e紡鏂囦欢id鍒楄〃
+ */
+ @TableField(exist = false)
+ private List<CommonFile> commonFileList;
}
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
index 1650690..c5a3007 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -1,12 +1,14 @@
package com.ruoyi.quality.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
@@ -24,8 +26,11 @@
import com.ruoyi.quality.pojo.QualityUnqualified;
import com.ruoyi.quality.service.IQualityInspectService;
import com.ruoyi.quality.service.IQualityUnqualifiedService;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.stock.service.StockUninventoryService;
import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
@@ -47,10 +52,18 @@
private ProductProcessRouteItemMapper productProcessRouteItemMapper;
private ProductWorkOrderMapper productWorkOrderMapper;
private StockUninventoryService stockUninventoryService;
+ private CommonFileMapper commonFileMapper;
@Override
public IPage<QualityUnqualified> qualityUnqualifiedListPage(Page page, QualityUnqualified qualityUnqualified) {
- return qualityUnqualifiedMapper.qualityUnqualifiedListPage(page, qualityUnqualified);
+ IPage<QualityUnqualified> qualityUnqualifiedIPage = qualityUnqualifiedMapper.qualityUnqualifiedListPage(page, qualityUnqualified);
+ for (QualityUnqualified record : qualityUnqualifiedIPage.getRecords()) {
+ List<CommonFile> allFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getCommonId, record.getId())
+ .eq(CommonFile::getType, FileNameType.QUALITY_UQUALIFIED.getValue()));
+ record.setCommonFileList(allFiles);
+ }
+ return qualityUnqualifiedIPage;
}
@Override
@@ -159,6 +172,11 @@
@Override
public QualityUnqualified getUnqualified(Integer id) {
- return qualityUnqualifiedMapper.getUnqualified(id);
+ QualityUnqualified unqualified = qualityUnqualifiedMapper.getUnqualified(id);
+ List<CommonFile> allFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getCommonId, unqualified.getId())
+ .eq(CommonFile::getType, FileNameType.QUALITY_UQUALIFIED.getValue()));
+ unqualified.setCommonFileList(allFiles);
+ return unqualified;
}
}
diff --git a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
index 99f402d..47a17d3 100644
--- a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
+++ b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
@@ -79,6 +79,10 @@
qu.deal_result,
qu.deal_name,
qu.deal_time,
+ qu.reason_analysis,
+ qu.preventive_corrective,
+ qu.loss_working,
+ qu.loss_material,
CASE
WHEN qu.model = pm.id THEN pm.model
ELSE qu.model
--
Gitblit v1.9.3