From 196eed1a17e2d0d7ccdafb502ac597247ecb00a1 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 16 三月 2026 17:06:31 +0800
Subject: [PATCH] 质量管理:删除原料时,删除相关联数据
---
src/main/java/com/ruoyi/quality/controller/RawMaterialController.java | 35 +++++++++++++++++++++++++++++++----
src/main/resources/mapper/quality/RawMaterialMapper.xml | 6 ++++++
2 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
index 5937ffb..ffcbba4 100644
--- a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
+++ b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
@@ -1,13 +1,16 @@
package com.ruoyi.quality.controller;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.enums.RawMaterialInspectState;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.quality.dto.RawMaterialDto;
-import com.ruoyi.quality.pojo.QualityInspect;
-import com.ruoyi.quality.pojo.RawMaterial;
+import com.ruoyi.quality.pojo.*;
+import com.ruoyi.quality.service.IQualityInspectFileService;
+import com.ruoyi.quality.service.RawMaterialQualityInspectItemService;
import com.ruoyi.quality.service.RawMaterialService;
-import com.ruoyi.staff.pojo.StaffOnJob;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -27,6 +30,12 @@
public class RawMaterialController {
@Resource
private RawMaterialService rawMaterialService;
+
+ @Resource
+ private RawMaterialQualityInspectItemService rawMaterialQualityInspectItemService;
+
+ @Resource
+ private IQualityInspectFileService qualityInspectFileService;
/**
* 鍘熸枡鍒嗛〉鏌ヨ
@@ -87,8 +96,26 @@
* 鍘熸枡鍒犻櫎
*/
@DeleteMapping("")
+ @Transactional(rollbackFor = Exception.class)
public AjaxResult delete(@RequestBody List<Integer> ids) {
- return AjaxResult.success(rawMaterialService.removeByIds(ids));
+ if(CollectionUtils.isEmpty(ids)){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ //濡傛灉宸茬粡鎻愪氦灏变笉鍏佽鍒犻櫎
+ List<RawMaterial> rawMaterials = rawMaterialService.list(Wrappers.<RawMaterial>lambdaQuery()
+ .in(RawMaterial::getId,ids)
+ .eq(RawMaterial::getInspectState, RawMaterialInspectState.RawMaterialInspectStateSubmitted.getCode()));
+ if(!CollectionUtils.isEmpty(rawMaterials)){
+ throw new RuntimeException("宸叉彁浜ょ殑鏁版嵁涓嶅厑璁稿垹闄�");
+ }
+ //鍒犻櫎妫�楠屽弬鏁�
+ rawMaterialQualityInspectItemService.remove(Wrappers.<RawMaterialQualityInspectItem>lambdaQuery()
+ .in(RawMaterialQualityInspectItem::getRawMaterialId,ids));
+ //鍒犻櫎妫�楠岄檮浠�
+ qualityInspectFileService.remove(Wrappers.<QualityInspectFile>lambdaQuery()
+ .in(QualityInspectFile::getInspectId,ids));
+ //鍒犻櫎妫�楠屽崟
+ return AjaxResult.success(rawMaterialService.removeBatchByIds(ids));
}
/**
diff --git a/src/main/resources/mapper/quality/RawMaterialMapper.xml b/src/main/resources/mapper/quality/RawMaterialMapper.xml
index 88b7603..cddecc6 100644
--- a/src/main/resources/mapper/quality/RawMaterialMapper.xml
+++ b/src/main/resources/mapper/quality/RawMaterialMapper.xml
@@ -27,6 +27,12 @@
<if test="params.checkType != null ">
AND rm.check_type = #{params.checkType}
</if>
+ <if test="params.batchNo != null and params.batchNo != ''">
+ and rm.batch_no like concat('%', #{params.batchNo}, '%')
+ </if>
+ <if test="params.inspectState != null ">
+ AND rm.inspect_state = #{params.inspectState}
+ </if>
<if test="params.entryDateStart != null and params.entryDateStart != '' ">
AND rm.check_time >= #{params.entryDateStart}
</if>
--
Gitblit v1.9.3