|
|
|
@ -1225,6 +1225,10 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic |
|
|
|
if (isBlank(data.getSite()) || data.getProjectId() == null || data.getProjectPartId() == null) { |
|
|
|
throw new RuntimeException("site/projectId/projectPartId 不能为空"); |
|
|
|
} |
|
|
|
// 新增打样只强制项目阶段;单号、数量、开始日期等留空时按空值保存,不再补默认值。 |
|
|
|
if (isBlank(data.getProjectPhase())) { |
|
|
|
throw new RuntimeException("项目阶段不能为空"); |
|
|
|
} |
|
|
|
|
|
|
|
// 新增打样必须新建 tracking 记录,不能覆盖来源记录 |
|
|
|
ProofTrackingData newTracking = new ProofTrackingData(); |
|
|
|
@ -1256,14 +1260,12 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic |
|
|
|
trackingData.setPriorityLevel(data.getPriorityLevel()); |
|
|
|
} |
|
|
|
|
|
|
|
String proofingNo = isBlank(data.getProofingNo()) ? buildDefaultProofingNo(trackingData) : data.getProofingNo().trim(); |
|
|
|
|
|
|
|
trackingData.setProofingNo(proofingNo); |
|
|
|
trackingData.setProofingNumber(data.getProofingNumber() == null ? 1 : data.getProofingNumber()); |
|
|
|
trackingData.setProjectPhase(isBlank(data.getProjectPhase()) ? "Sample" : data.getProjectPhase()); |
|
|
|
trackingData.setProofingStatus(isBlank(data.getProofingStatus()) ? "进行中" : data.getProofingStatus()); |
|
|
|
trackingData.setProofingNo(isBlank(data.getProofingNo()) ? null : data.getProofingNo().trim()); |
|
|
|
trackingData.setProofingNumber(data.getProofingNumber()); |
|
|
|
trackingData.setProjectPhase(data.getProjectPhase().trim()); |
|
|
|
trackingData.setProofingStatus(isBlank(data.getProofingStatus()) ? null : data.getProofingStatus().trim()); |
|
|
|
trackingData.setRemark(data.getRemark()); |
|
|
|
trackingData.setPlanStartDate(data.getPlanStartDate() == null ? new Date() : data.getPlanStartDate()); |
|
|
|
trackingData.setPlanStartDate(data.getPlanStartDate()); |
|
|
|
if (data.getRequiredDeliveryDate() != null) { |
|
|
|
trackingData.setRequiredDeliveryDate(data.getRequiredDeliveryDate()); |
|
|
|
} |
|
|
|
@ -3075,13 +3077,6 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private String buildDefaultProofingNo(ProofTrackingData data) { |
|
|
|
String projectNo = isBlank(data.getProjectNo()) ? "PRJ" : data.getProjectNo().trim(); |
|
|
|
String partNo = isBlank(data.getTestPartNo()) ? "PART" : data.getTestPartNo().trim(); |
|
|
|
String suffix = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()); |
|
|
|
return projectNo + "-" + partNo + "-" + suffix; |
|
|
|
} |
|
|
|
|
|
|
|
private List<ProofTrackingProcessColumnData> loadProcessColumnsBySite(String site, String buNo) { |
|
|
|
String normalizedSite = isBlank(site) ? "" : site.trim(); |
|
|
|
String normalizedBuNo = normalizeBuNo(buNo, normalizedSite); |
|
|
|
|