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})