Browse Source

package 日期 > baseline:Delay-{当前工序}

package 日期 ≤ baseline:On schedule-{当前工序}
master
han\hanst 2 weeks ago
parent
commit
4f0740630c
  1. 20
      src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java

20
src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java

@ -459,16 +459,28 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
if (isTrackingProofingCompleted(rowData.getProofingStatus())) {
return "Complete";
}
String requiredDeliveryDate = toDateString(rowData.getRequiredDeliveryDate());
if (isBlank(requiredDeliveryDate)) {
String packageDate = resolveTrackingPackageDateForExport(rowData);
String baseline = toDateString(rowData.getBaseline());
if (isBlank(packageDate) || isBlank(baseline)) {
return "";
}
String today = toDateString(new Date());
String statusPrefix = today.compareTo(requiredDeliveryDate) <= 0 ? "On schedule" : "Delay";
// Delay Delivery&Package 相对原计划判定package 晚于 baseline 即延期
// 不再用今天 vs 预计完成日期避免计划已改期后仍显示 On schedule
String statusPrefix = packageDate.compareTo(baseline) > 0 ? "Delay" : "On schedule";
String pendingProcessLabel = getFirstPendingProcessLabelForExport(rowData, processColumns, selectedBuNo, buProcessConfigMap);
return statusPrefix + "-" + pendingProcessLabel;
}
private String resolveTrackingPackageDateForExport(ProofTrackingData rowData) {
String packageDate = toDateString(rowData == null ? null : rowData.getRequiredDeliveryDate());
if (!isBlank(packageDate)) {
return packageDate;
}
// required_delivery_date Delivery&Package 工序日期同一口径主字段缺失时回退工序实际日期
ProofTrackingProcessValueData processValue = resolveProcessValueByCode(rowData, DELIVERY_PACKAGE_PROCESS_CODE);
return toDateString(processValue == null ? null : processValue.getActualDate());
}
private String getFirstPendingProcessLabelForExport(ProofTrackingData rowData,
List<ProofTrackingProcessColumnData> processColumns,
String selectedBuNo,

Loading…
Cancel
Save