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 70493e1e..cce3c5ad 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 @@ -107,6 +107,10 @@ public interface SampleTrackingMapper { @Param("newTrackingId") Integer newTrackingId, @Param("updateBy") String updateBy); + void updateProofTrackingProcessValueTrackingId(@Param("oldTrackingId") Integer oldTrackingId, + @Param("newTrackingId") Integer newTrackingId, + @Param("updateBy") String updateBy); + void updateProofTrackingLogTrackingId(@Param("oldTrackingId") Integer oldTrackingId, @Param("newTrackingId") Integer newTrackingId); 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 70b9d192..50b46ac4 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 @@ -473,7 +473,7 @@ public class SampleTrackingServiceImpl implements SampleTrackingService { if (Objects.equals(oldTrackingProofingId, newTrackingProofingId)) { return; } - // 打样ID冲突处理除主表外,还要同步维护日志与文档表引用,保证关联关系不断链。 + // 打样ID冲突处理除主表外,还要同步维护日志、文档、工序明细表引用,保证关联关系不断链。 Integer existedId = sampleTrackingMapper.existsProofTrackingId(newTrackingProofingId); if (existedId != null && !Objects.equals(existedId, oldTrackingProofingId)) { Integer replacementId = sampleTrackingMapper.selectNextProofTrackingId(); @@ -485,12 +485,14 @@ public class SampleTrackingServiceImpl implements SampleTrackingService { sampleTrackingMapper.updateProofTrackingProofingId(newTrackingProofingId, replacementId, operator); sampleTrackingMapper.updateProofDocumentProofingId(newTrackingProofingId, replacementId, operator); sampleTrackingMapper.updateProofTrackingId(newTrackingProofingId, replacementId, operator); + sampleTrackingMapper.updateProofTrackingProcessValueTrackingId(newTrackingProofingId, replacementId, operator); sampleTrackingMapper.updateProofTrackingProofingIdByTrackingId(replacementId, replacementId, operator); } sampleTrackingMapper.updateProofTrackingLogTrackingId(oldTrackingProofingId, newTrackingProofingId); sampleTrackingMapper.updateProofTrackingProofingId(oldTrackingProofingId, newTrackingProofingId, operator); sampleTrackingMapper.updateProofDocumentProofingId(oldTrackingProofingId, newTrackingProofingId, operator); sampleTrackingMapper.updateProofTrackingId(oldTrackingProofingId, newTrackingProofingId, operator); + sampleTrackingMapper.updateProofTrackingProcessValueTrackingId(oldTrackingProofingId, newTrackingProofingId, operator); } private void validateProofSyncProjectAndPartAligned(Integer trackingProjectId, Integer trackingProjectPartId) { diff --git a/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml b/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml index aaf8ffb3..26b2b5dd 100644 --- a/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml +++ b/src/main/resources/mapper/sampletracking/SampleTrackingMapper.xml @@ -667,6 +667,14 @@ WHERE id = #{oldTrackingId} + + UPDATE plm_proofing_process_value + SET tracking_id = #{newTrackingId}, + update_date = GETDATE(), + update_by = #{updateBy} + WHERE tracking_id = #{oldTrackingId} + + UPDATE plm_proofing_information_tracking_log SET tracking_id = #{newTrackingId}