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 54302162..95315817 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 @@ -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 loadProcessColumnsBySite(String site, String buNo) { String normalizedSite = isBlank(site) ? "" : site.trim(); String normalizedBuNo = normalizeBuNo(buNo, normalizedSite); diff --git a/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml b/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml index f3b7b74c..686dec82 100644 --- a/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml +++ b/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml @@ -558,15 +558,15 @@ UPDATE plm_proofing_information_tracking SET proofing_id = #{proofingId}, - proofing_no = #{proofingNo}, - proofing_number = #{proofingNumber}, + proofing_no = #{proofingNo,jdbcType=VARCHAR}, + proofing_number = #{proofingNumber,jdbcType=INTEGER}, 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}, - proofing_status = #{proofingStatus}, + importance = #{importance,jdbcType=NVARCHAR}, + project_phase = #{projectPhase,jdbcType=NVARCHAR}, + proofing_status = #{proofingStatus,jdbcType=NVARCHAR}, update_date = GETDATE(), update_by = #{updateBy} WHERE id = #{trackingId}