diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteInfoServiceImpl.java index 9df12118..9421f4a4 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteInfoServiceImpl.java @@ -346,7 +346,14 @@ public class CrmQuoteInfoServiceImpl implements ICrmQuoteInfoService { .eq(CrmQuoteMaterial::getQuoteId, quoteId); List items = quoteMaterialMapper.selectVoList(lqw); if (items == null || items.isEmpty()) { - return true; // 无明细则不处理 + // 无明细时将金额全部置零,避免保留历史金额 + CrmQuoteInfo update = new CrmQuoteInfo(); + update.setQuoteId(quoteId); + update.setTotalIncludingTax(BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP)); + update.setTotalBeforeTax(BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP)); + update.setTotalTax(BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP)); + update.setTotalPrice(BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP)); + return baseMapper.updateById(update) > 0; } // 汇总金额(统一两位小数,四舍五入) BigDecimal totalIncluding = BigDecimal.ZERO; diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteMaterialServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteMaterialServiceImpl.java index d5792f31..7c5f7800 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteMaterialServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/crm/service/impl/CrmQuoteMaterialServiceImpl.java @@ -54,7 +54,7 @@ public class CrmQuoteMaterialServiceImpl implements ICrmQuoteMaterialService { @Override public TableDataInfo queryPageList(CrmQuoteMaterialBo bo, PageQuery pageQuery) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + Page result = baseMapper.selectJoinPage(pageQuery.build(), CrmQuoteMaterialVo.class, lqw); return TableDataInfo.build(result); } @@ -67,7 +67,7 @@ public class CrmQuoteMaterialServiceImpl implements ICrmQuoteMaterialService { @Override public List queryList(CrmQuoteMaterialBo bo) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + return baseMapper.selectJoinList(CrmQuoteMaterialVo.class, lqw); } private MPJLambdaWrapper buildQueryWrapper(CrmQuoteMaterialBo bo) {