diff --git a/src/main/java/com/xujie/sys/modules/sampletracking/data/ProofTrackingData.java b/src/main/java/com/xujie/sys/modules/sampletracking/data/ProofTrackingData.java
index 015adc10..20a9b46f 100644
--- a/src/main/java/com/xujie/sys/modules/sampletracking/data/ProofTrackingData.java
+++ b/src/main/java/com/xujie/sys/modules/sampletracking/data/ProofTrackingData.java
@@ -171,6 +171,10 @@ public class ProofTrackingData extends QueryPage {
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date pmInqueryTime;
+ /**
+ * Importance checkbox. Persist Y when checked; list shows a check mark, otherwise blank.
+ */
+ private String importance;
/**
* 打样完成日期所在年。口径为 actuality_delivery_date(打样完成时回写)。
*/
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 49312dfc..9533416c 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
@@ -427,6 +427,8 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
return resolveRoleDisplayValue(getBeanPropertyValue(rowData, "projectOwnerName"), rowData.getPic());
case "sampleMakingMonth":
return formatSampleMakingMonth(getBeanPropertyValue(rowData, "sampleMakingMonth"));
+ case "importance":
+ return isImportanceChecked(rowData.getImportance()) ? "\u221A" : "";
default:
return getExportDisplayValue(getBeanPropertyValue(rowData, columnProp));
}
@@ -692,6 +694,21 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
return isBlank(text) ? "" : text;
}
+ private boolean isImportanceChecked(String value) {
+ if (isBlank(value)) {
+ return false;
+ }
+ String text = value.trim();
+ return "Y".equalsIgnoreCase(text)
+ || "1".equals(text)
+ || "true".equalsIgnoreCase(text)
+ || "\u221A".equals(text);
+ }
+
+ private String normalizeImportanceValue(String value) {
+ return isImportanceChecked(value) ? "Y" : "N";
+ }
+
private String formatSampleMakingMonth(Object value) {
if (value == null) {
return "";
@@ -768,6 +785,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
if (isBlank(data.getProofingStatus())) {
data.setProofingStatus("进行中");
}
+ data.setImportance(normalizeImportanceValue(data.getImportance()));
normalizeProcessStatus(data);
if (data.getBaseline() == null && data.getRequiredDeliveryDate() != null) {
// 一键创建场景若已维护 Delivery&Package 日期,baseline 默认按同日期初始化。
@@ -927,6 +945,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
}
// PM inquery time 仅由用户录入,不从试验单或其他日期推导。
trackingData.setPmInqueryTime(data.getPmInqueryTime());
+ trackingData.setImportance(normalizeImportanceValue(data.getImportance()));
trackingData.setProofingId(trackingData.getTrackingId());
if (trackingData.getProofingId() == null) {
@@ -970,6 +989,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
updateTracking.setPlanStartDate(trackingData.getPlanStartDate());
updateTracking.setRequiredDeliveryDate(trackingData.getRequiredDeliveryDate());
updateTracking.setPmInqueryTime(trackingData.getPmInqueryTime());
+ updateTracking.setImportance(trackingData.getImportance());
updateTracking.setProjectPhase(trackingData.getProjectPhase());
updateTracking.setProofingStatus(trackingData.getProofingStatus());
updateTracking.setUpdateBy(operateUser);
@@ -1146,6 +1166,7 @@ public class SampleProofTrackingServiceImpl implements SampleProofTrackingServic
updateData.setBaseline(data.getBaseline() == null ? oldData.getBaseline() : data.getBaseline());
// 允许用户清空 PM inquery time,因此不以旧值兜底。
updateData.setPmInqueryTime(data.getPmInqueryTime());
+ updateData.setImportance(normalizeImportanceValue(data.getImportance()));
updateData.setTracker(isBlank(data.getTracker()) ? oldData.getTracker() : data.getTracker().trim());
updateData.setEngineer(isBlank(data.getEngineer()) ? oldData.getEngineer() : data.getEngineer().trim());
updateData.setPriorityLevel(isBlank(data.getPriorityLevel()) ? oldData.getPriorityLevel() : data.getPriorityLevel().trim());
diff --git a/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml b/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml
index 354a788a..4c17c164 100644
--- a/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml
+++ b/src/main/resources/mapper/sampletracking/SampleProofTrackingMapper.xml
@@ -21,6 +21,7 @@
t.proofing_number,
t.proofing_number AS sampleQty,
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,
@@ -195,6 +196,16 @@
and #{query.pmInqueryTimeEnd,jdbcType=DATE} >= t.pm_inquery_time
+
+
+
+ and UPPER(ISNULL(t.importance, '')) = 'Y'
+
+
+ and UPPER(ISNULL(t.importance, '')) <> 'Y'
+
+
+
order by t.create_date desc
@@ -253,6 +264,7 @@
baseline,
actuality_delivery_date,
pm_inquery_time,
+ importance,
comments,
remark,
create_date,
@@ -453,11 +465,11 @@
INSERT INTO plm_proofing_information_tracking
(id, site, project_id, project_part_id, proofing_id, proofing_no, proofing_status, project_phase, project_category,
tracker, engineer, priority_level, proofing_number, plan_start_date, required_delivery_date, baseline, actuality_delivery_date,
- pm_inquery_time, comments, remark, create_date, create_by, update_date, update_by)
+ pm_inquery_time, importance, comments, remark, create_date, create_by, update_date, update_by)
VALUES
(#{trackingId}, #{site}, #{projectId}, #{projectPartId}, #{proofingId}, #{proofingNo}, #{proofingStatus}, #{projectPhase}, #{projectCategory},
#{tracker}, #{engineer}, #{priorityLevel}, #{proofingNumber}, #{planStartDate,jdbcType=DATE}, #{requiredDeliveryDate,jdbcType=DATE}, #{baseline,jdbcType=DATE}, #{actualityDeliveryDate,jdbcType=DATE},
- #{pmInqueryTime,jdbcType=DATE}, #{comments}, #{remark}, GETDATE(), #{createBy}, GETDATE(), #{updateBy})
+ #{pmInqueryTime,jdbcType=DATE}, #{importance}, #{comments}, #{remark}, GETDATE(), #{createBy}, GETDATE(), #{updateBy})