Browse Source

允许打样单号为空

master
han\hanst 4 weeks ago
parent
commit
fbe24ba783
  1. 23
      src/main/java/com/xujie/sys/modules/sampletracking/service/impl/SampleProofTrackingServiceImpl.java
  2. 10
      src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml

23
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<ProofTrackingProcessColumnData> loadProcessColumnsBySite(String site, String buNo) {
String normalizedSite = isBlank(site) ? "" : site.trim();
String normalizedBuNo = normalizeBuNo(buNo, normalizedSite);

10
src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml

@ -558,15 +558,15 @@
<update id="updateTrackingProofingInfo">
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}

Loading…
Cancel
Save