From c12e97bd1f404b15d6cf19c8aa6584f1b3dcffbb Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Wed, 13 Aug 2025 13:46:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E8=B5=84?= =?UTF-8?q?=E9=87=91=E6=97=A5=E8=AE=B0=E8=B4=A6=E4=BD=99=E9=A2=9D=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsJournalMapper 中添加 getLastBalance 方法,用于获取最新的余额 - 在 WmsJournalServiceImpl 中实现插入资金日记账时自动计算新余额的功能 - 新增 addJournal 方法,直接插入资金日记账记录 --- .../java/com/klp/mapper/WmsJournalMapper.java | 3 +++ .../service/impl/WmsJournalServiceImpl.java | 25 ++++++++++++++++--- .../resources/mapper/klp/WmsJournalMapper.xml | 7 ++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java index 49188686..87e9709d 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java @@ -4,6 +4,8 @@ import com.klp.domain.WmsJournal; import com.klp.domain.vo.WmsJournalVo; import com.klp.common.core.mapper.BaseMapperPlus; +import java.math.BigDecimal; + /** * 资金日记账Mapper接口 * @@ -12,4 +14,5 @@ import com.klp.common.core.mapper.BaseMapperPlus; */ public interface WmsJournalMapper extends BaseMapperPlus { + BigDecimal getLastBalance(); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java index 96d28cb3..0b5b2431 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java @@ -15,9 +15,11 @@ import com.klp.domain.WmsJournal; import com.klp.mapper.WmsJournalMapper; import com.klp.service.IWmsJournalService; +import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Optional; /** * 资金日记账Service业务层处理 @@ -76,15 +78,30 @@ public class WmsJournalServiceImpl implements IWmsJournalService { */ @Override public Boolean insertByBo(WmsJournalBo bo) { - WmsJournal add = BeanUtil.toBean(bo, WmsJournal.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; + WmsJournal journal = BeanUtil.toBean(bo, WmsJournal.class); + validEntityBeforeSave(journal); + // 计算新的余额 + BigDecimal lastBalance = baseMapper.getLastBalance(); + if (lastBalance == null) { + lastBalance = BigDecimal.ZERO; + } + BigDecimal newBalance = lastBalance + .add(Optional.ofNullable(journal.getIncomeAmount()).orElse(BigDecimal.ZERO)) + .subtract(Optional.ofNullable(journal.getExpenseAmount()).orElse(BigDecimal.ZERO)); + + journal.setBalanceAmount(newBalance); + boolean flag = baseMapper.insert(journal) > 0; if (flag) { - bo.setJournalId(add.getJournalId()); + bo.setJournalId(journal.getJournalId()); } return flag; } + public void addJournal(WmsJournal journal) { + + baseMapper.insert(journal); + } + /** * 修改资金日记账 */ diff --git a/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml index 49bef9dc..d8477e5b 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml @@ -20,6 +20,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +