From 91815e30469c0843d5f0848a734c084f9a7d14d8 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Tue, 8 Sep 2026 16:35:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E7=A0=81=E6=89=93=E5=8D=B0=E5=88=86?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/mapper/ProofingInformationMapper.java | 2 ++ .../Impl/ProofingInformationServiceImpl.java | 21 ++++++++++++++++++- .../mapper/pms/ProofingInformationMapper.xml | 6 ++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/ProofingInformationMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/ProofingInformationMapper.java index 3331d0da..89e43fc9 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/ProofingInformationMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/ProofingInformationMapper.java @@ -74,6 +74,8 @@ public interface ProofingInformationMapper extends BaseMapper uploadFilterCacheList = null; @@ -120,7 +124,7 @@ public class ProofingInformationServiceImpl implements ProofingInformationServic // 根据Id拿到旧数据 ProofingInformationData proofingInformationData = proofingInformationMapper.selecProofingOne(data.getProofingId()); boolean issueNeedTrackingSync = shouldSyncTrackingStatusForIssue(data); - // RF/RFID 下达时,NPI 与产品打样记录跟踪必须先对齐同 id 的打样单。 + // RF/RFID 下达时,NPI 与产品打样记录跟踪必须先对齐同 id 的打样单;编码打印分类除外。 if (issueNeedTrackingSync && !proofTrackingExists(data.getProofingId())) { return R.error("产品打样记录跟踪未维护该打样单,请维护后再下达"); } @@ -657,9 +661,24 @@ public class ProofingInformationServiceImpl implements ProofingInformationServic if (data == null || !Objects.equals(data.getType(), 1)) { return false; } + // 分类以项目物料落库值为准,避免前端漏传 dry_wet_type 时误拦下达。 + if (isCodePrintDryWetType(resolveIssueDryWetType(data))) { + return false; + } return isRfOrRfidBuNo(resolveIssueBuNo(data)); } + private String resolveIssueDryWetType(ProofingInformationData data) { + if (data == null || data.getProofingId() == null) { + return ""; + } + return normalizeText(proofingInformationMapper.selectDryWetTypeByProofingId(data.getProofingId())); + } + + private boolean isCodePrintDryWetType(String dryWetType) { + return CODE_PRINT_DRY_WET_TYPE.equals(normalizeText(dryWetType)); + } + private String resolveIssueBuNo(ProofingInformationData data) { String buNo = normalizeText(data.getBuNo()); if (!buNo.isEmpty()) { diff --git a/src/main/resources/mapper/pms/ProofingInformationMapper.xml b/src/main/resources/mapper/pms/ProofingInformationMapper.xml index 9817103a..6946c40f 100644 --- a/src/main/resources/mapper/pms/ProofingInformationMapper.xml +++ b/src/main/resources/mapper/pms/ProofingInformationMapper.xml @@ -47,6 +47,12 @@ FROM plm_proofing_information_tracking WHERE id = #{trackingId} + UPDATE plm_proofing_information_tracking SET proofing_status = #{proofingStatus},