From 489906e88e0f0e1ba9d9e7bf8baef4cc491a55a6 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Wed, 29 Jul 2026 15:25:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=A1=B9=E7=9B=AE/=E7=89=A9?= =?UTF-8?q?=E6=96=99=E8=A6=81=E5=88=A0=E9=99=A4=20plm=5Fproofing=5Fprocess?= =?UTF-8?q?=5Fvalue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/SampleTrackingMapper.java | 4 ++++ .../impl/SampleTrackingServiceImpl.java | 4 ++++ .../sampletracking/SampleTrackingMapper.xml | 22 +++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/src/main/java/com/xujie/sys/modules/sampletracking/mapper/SampleTrackingMapper.java b/src/main/java/com/xujie/sys/modules/sampletracking/mapper/SampleTrackingMapper.java index abb1a191..313d5898 100644 --- a/src/main/java/com/xujie/sys/modules/sampletracking/mapper/SampleTrackingMapper.java +++ b/src/main/java/com/xujie/sys/modules/sampletracking/mapper/SampleTrackingMapper.java @@ -28,6 +28,8 @@ public interface SampleTrackingMapper { void deleteProofTrackingLogByProjectId(ProjectInfoTrackingData data); + void deleteProofTrackingProcessValuesByProjectId(ProjectInfoTrackingData data); + void deleteProofTrackingByProjectId(ProjectInfoTrackingData data); IPage searchProjectPartTracking(Page page, @@ -41,6 +43,8 @@ public interface SampleTrackingMapper { void deleteProofTrackingLogByProjectPartId(ProjectPartTrackingData data); + void deleteProofTrackingProcessValuesByProjectPartId(ProjectPartTrackingData data); + void deleteProofTrackingByProjectPartId(ProjectPartTrackingData data); ProjectInfoTrackingData selectProjectInfoTrackingById(@Param("projectId") Integer projectId); diff --git a/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleTrackingServiceImpl.java b/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleTrackingServiceImpl.java index 50b46ac4..add6907e 100644 --- a/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleTrackingServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleTrackingServiceImpl.java @@ -117,6 +117,8 @@ public class SampleTrackingServiceImpl implements SampleTrackingService { } // 删除项目时,先删追踪日志,再删下级打样追踪和项目物料,最后删除项目主档,避免出现孤儿数据 sampleTrackingMapper.deleteProofTrackingLogByProjectId(data); + // 依赖 tracking 表按 project_id 反查并清理工序明细,必须在删除 tracking 主记录之前执行。 + sampleTrackingMapper.deleteProofTrackingProcessValuesByProjectId(data); sampleTrackingMapper.deleteProofTrackingByProjectId(data); sampleTrackingMapper.deleteProjectPartTrackingByProjectId(data); sampleTrackingMapper.deleteProjectInfoTracking(data); @@ -178,6 +180,8 @@ public class SampleTrackingServiceImpl implements SampleTrackingService { } // 删除项目物料时,先删追踪日志,再同步删除下级打样追踪记录 sampleTrackingMapper.deleteProofTrackingLogByProjectPartId(data); + // 依赖 tracking 表按 project_part_id 反查并清理工序明细,必须在删除 tracking 主记录之前执行。 + sampleTrackingMapper.deleteProofTrackingProcessValuesByProjectPartId(data); sampleTrackingMapper.deleteProofTrackingByProjectPartId(data); sampleTrackingMapper.deleteProjectPartTracking(data); } diff --git a/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml b/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml index 980ea2d9..16cac21b 100644 --- a/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml +++ b/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml @@ -152,6 +152,17 @@ ) + + DELETE pv + FROM plm_proofing_process_value pv + WHERE EXISTS ( + SELECT 1 + FROM plm_proofing_information_tracking t + WHERE t.id = pv.tracking_id + AND t.project_id = #{projectId} + ) + + DELETE FROM plm_proofing_information_tracking WHERE project_id = #{projectId} @@ -321,6 +332,17 @@ ) + + DELETE pv + FROM plm_proofing_process_value pv + WHERE EXISTS ( + SELECT 1 + FROM plm_proofing_information_tracking t + WHERE t.id = pv.tracking_id + AND t.project_part_id = #{projectPartId} + ) + + DELETE FROM plm_proofing_information_tracking WHERE project_part_id = #{projectPartId}