Browse Source

删除项目/物料要删除 plm_proofing_process_value

master
han\hanst 6 hours ago
parent
commit
489906e88e
  1. 4
      src/main/java/com/xujie/sys/modules/sampletracking/mapper/SampleTrackingMapper.java
  2. 4
      src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleTrackingServiceImpl.java
  3. 22
      src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml

4
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<ProjectPartTrackingData> searchProjectPartTracking(Page<ProjectPartTrackingData> 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);

4
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);
}

22
src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml

@ -152,6 +152,17 @@
)
</delete>
<delete id="deleteProofTrackingProcessValuesByProjectId">
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>
<delete id="deleteProofTrackingByProjectId">
DELETE FROM plm_proofing_information_tracking
WHERE project_id = #{projectId}
@ -321,6 +332,17 @@
)
</delete>
<delete id="deleteProofTrackingProcessValuesByProjectPartId">
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>
<delete id="deleteProofTrackingByProjectPartId">
DELETE FROM plm_proofing_information_tracking
WHERE project_part_id = #{projectPartId}

Loading…
Cancel
Save