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; 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(); } /** 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; /** * 正式文件id列表 */ @TableField(exist = false) private List<CommonFile> commonFileList; } 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; } } 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