From a19d97d111ee96304ba0913ce018d829573fdbd9 Mon Sep 17 00:00:00 2001 From: wuweihua <88888888> Date: Sun, 18 Oct 2026 15:32:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../price/mapper/PrcPriceSetDetailMapper.java | 3 +++ .../price/mapper/PrcPriceSetProductMapper.java | 3 +++ .../service/impl/PrcPriceSetServiceImpl.java | 6 ++++++ .../mapper/price/PrcPriceSetDetailMapper.xml | 17 +++++++++++++++++ .../mapper/price/PrcPriceSetProductMapper.xml | 17 +++++++++++++++++ 5 files changed, 46 insertions(+) diff --git a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetDetailMapper.java b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetDetailMapper.java index a211e660..2985eab8 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetDetailMapper.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetDetailMapper.java @@ -46,6 +46,9 @@ public interface PrcPriceSetDetailMapper /** Copy version effective time, expire time and status onto catalog detail rows. */ public int syncEffectByPriceType(@Param("priceType") String priceType); + /** Copy SALES version effect fields onto package detail rows. */ + public int syncEffectByPriceSetId(@Param("priceSetId") Long priceSetId); + public int insertFixedDetailsFromLibrary( @Param("psvId") Long psvId, @Param("asOf") Date asOf, diff --git a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetProductMapper.java b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetProductMapper.java index 20fcd9a6..ad632c1a 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetProductMapper.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceSetProductMapper.java @@ -40,4 +40,7 @@ public interface PrcPriceSetProductMapper /** Copy version effective_time and status onto catalog product rows. */ public int syncEffectByPriceType(@Param("priceType") String priceType); + + /** Copy SALES version effect fields onto package product rows. */ + public int syncEffectByPriceSetId(@Param("priceSetId") Long priceSetId); } diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java index f5b52381..96cf9507 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceSetServiceImpl.java @@ -3990,6 +3990,12 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService versionMapper.updatePrcPriceSetVersion(v); } } + // Keep package product/detail effect fields aligned with version + if (priceSetId != null) + { + setProductMapper.syncEffectByPriceSetId(priceSetId); + detailMapper.syncEffectByPriceSetId(priceSetId); + } } @Override diff --git a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetDetailMapper.xml b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetDetailMapper.xml index 87de0218..01d08a69 100644 --- a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetDetailMapper.xml +++ b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetDetailMapper.xml @@ -581,6 +581,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + update prc_price_set_detail d + inner join prc_price_set_version v on v.psv_id = d.psv_id + set d.effective_date = v.effective_time, + d.expire_date = v.expire_time, + d.status = v.status, + d.update_time = sysdate() + where v.price_set_id = #{priceSetId} + and v.price_type = 'SALES' + and d.price_type = 'SALES' + and ( + not (d.status <=> v.status) + or not (d.effective_date <=> v.effective_time) + or not (d.expire_date <=> v.expire_time) + ) + + update prc_price_set_detail set price_type = #{priceType}, update_time = sysdate() diff --git a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetProductMapper.xml b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetProductMapper.xml index 1eed1186..0d3a7da2 100644 --- a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetProductMapper.xml +++ b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceSetProductMapper.xml @@ -222,4 +222,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + update prc_price_set_product p + inner join prc_price_set_version v on v.psv_id = p.psv_id + set p.effective_time = v.effective_time, + p.expire_time = v.expire_time, + p.status = v.status, + p.update_time = sysdate() + where v.price_set_id = #{priceSetId} + and v.price_type = 'SALES' + and p.price_type = 'SALES' + and ( + not (p.status <=> v.status) + or not (p.effective_time <=> v.effective_time) + or not (p.expire_time <=> v.expire_time) + ) + +