diff --git a/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java b/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java index 9533416c..6c69a6e3 100644 --- a/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java @@ -943,6 +943,12 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic if (data.getRequiredDeliveryDate() != null) { trackingData.setRequiredDeliveryDate(data.getRequiredDeliveryDate()); } + Date baseline = data.getBaseline(); + if (baseline == null && trackingData.getRequiredDeliveryDate() != null) { + // 新增打样未填 baseline 时,默认跟随预计完成日期,避免 Delay 判定缺原计划。 + baseline = trackingData.getRequiredDeliveryDate(); + } + trackingData.setBaseline(baseline); // PM inquery time 仅由用户录入,不从试验单或其他日期推导。 trackingData.setPmInqueryTime(data.getPmInqueryTime()); trackingData.setImportance(normalizeImportanceValue(data.getImportance())); @@ -988,6 +994,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic updateTracking.setProofingNumber(trackingData.getProofingNumber()); updateTracking.setPlanStartDate(trackingData.getPlanStartDate()); updateTracking.setRequiredDeliveryDate(trackingData.getRequiredDeliveryDate()); + updateTracking.setBaseline(trackingData.getBaseline()); updateTracking.setPmInqueryTime(trackingData.getPmInqueryTime()); updateTracking.setImportance(trackingData.getImportance()); updateTracking.setProjectPhase(trackingData.getProjectPhase()); diff --git a/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml b/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml index 4c17c164..1422b69f 100644 --- a/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml +++ b/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml @@ -23,8 +23,8 @@ t.pm_inquery_time, t.importance, -- 打样完成日期口径:actuality_delivery_date(DeliveryPackage 完成时回写),未完成则为空。 - CASE WHEN t.actuality_delivery_date IS NULL THEN NULL ELSE YEAR(t.actuality_delivery_date) END AS sampleMakingYear, - CASE WHEN t.actuality_delivery_date IS NULL THEN NULL ELSE MONTH(t.actuality_delivery_date) END AS sampleMakingMonth, + CASE WHEN t.required_delivery_date IS NULL THEN NULL ELSE YEAR(t.required_delivery_date) END AS sampleMakingYear, + CASE WHEN t.required_delivery_date IS NULL THEN NULL ELSE MONTH(t.required_delivery_date) END AS sampleMakingMonth, CASE WHEN t.actuality_delivery_date IS NULL OR t.plan_start_date IS NULL THEN NULL ELSE DATEDIFF(DAY, t.plan_start_date, t.actuality_delivery_date) @@ -561,6 +561,7 @@ proofing_number = #{proofingNumber}, plan_start_date = #{planStartDate,jdbcType=DATE}, required_delivery_date = #{requiredDeliveryDate,jdbcType=DATE}, + baseline = #{baseline,jdbcType=DATE}, pm_inquery_time = #{pmInqueryTime,jdbcType=DATE}, importance = #{importance}, project_phase = #{projectPhase},