feat(wms): 更新应付款管理功能
- 在 IWmsPayableService 接口中添加了 updatePaidAmountAndAddJournal 方法 - 在 WmsPayableController 中添加了 updatePaidAmount 控制器方法- 在 WmsPayableServiceImpl 中实现了 updatePaidAmountAndAddJournal 方法 - 新增了应付款已付金额更新和资金日记账添加的功能
This commit is contained in:
@@ -3,6 +3,7 @@ package com.klp.controller;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.klp.domain.bo.WmsReceivableBo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
@@ -75,6 +76,16 @@ public class WmsPayableController extends BaseController {
|
||||
return toAjax(iWmsPayableService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新应付款已付金额 & 新增资金日记账
|
||||
*/
|
||||
@Log(title = "应付款管理(宽松版)", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/updatePaidAmount")
|
||||
public R<Void> updatePaidAmount(@RequestBody WmsPayableBo bo) {
|
||||
return toAjax(iWmsPayableService.updatePaidAmountAndAddJournal(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改应付款管理(宽松版)
|
||||
*/
|
||||
|
||||
@@ -46,4 +46,9 @@ public interface IWmsPayableService {
|
||||
* 校验并批量删除应付款管理(宽松版)信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 更新应付款管理(宽松版)的已付款金额和添加流水
|
||||
*/
|
||||
Boolean updatePaidAmountAndAddJournal(WmsPayableBo bo);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.domain.WmsJournal;
|
||||
import com.klp.domain.WmsReceivable;
|
||||
import com.klp.mapper.WmsJournalMapper;
|
||||
import com.klp.mapper.WmsSupplierMapper;
|
||||
import com.klp.service.IWmsJournalService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.domain.bo.WmsPayableBo;
|
||||
@@ -16,6 +21,9 @@ import com.klp.domain.WmsPayable;
|
||||
import com.klp.mapper.WmsPayableMapper;
|
||||
import com.klp.service.IWmsPayableService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -31,6 +39,13 @@ public class WmsPayableServiceImpl implements IWmsPayableService {
|
||||
|
||||
private final WmsPayableMapper baseMapper;
|
||||
|
||||
@Resource
|
||||
private WmsJournalMapper journalMapper;
|
||||
@Resource
|
||||
private WmsSupplierMapper supplierMapper;
|
||||
@Resource
|
||||
private IWmsJournalService wmsJournalService;
|
||||
|
||||
/**
|
||||
* 查询应付款管理(宽松版)
|
||||
*/
|
||||
@@ -124,4 +139,34 @@ public class WmsPayableServiceImpl implements IWmsPayableService {
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updatePaidAmountAndAddJournal(WmsPayableBo bo) {
|
||||
// 1. 更新应付款已付金额
|
||||
WmsPayable payable = baseMapper.selectById(bo.getPayableId());
|
||||
if (payable == null) {
|
||||
throw new RuntimeException("应付款记录不存在");
|
||||
}
|
||||
// bo.getPaidAmount()传入的是变化量
|
||||
BigDecimal changePaidAmount = bo.getPaidAmount();
|
||||
BigDecimal newPaidAmount = payable.getPaidAmount().add(changePaidAmount);
|
||||
|
||||
WmsPayable updateWmsPayable = new WmsPayable();
|
||||
updateWmsPayable.setPayableId(bo.getPayableId());
|
||||
updateWmsPayable.setPaidAmount(newPaidAmount);
|
||||
int countFlag = baseMapper.updateById(updateWmsPayable);
|
||||
|
||||
// 2. 新增资金日记账记录
|
||||
WmsJournal journal = new WmsJournal();
|
||||
journal.setJournalDate(new Date());
|
||||
journal.setSummary("向供应商付款");
|
||||
journal.setTransType("支出");
|
||||
journal.setCounterpart(supplierMapper.selectById(payable.getSupplierId()).getName());
|
||||
journal.setIncomeAmount(changePaidAmount);
|
||||
journal.setExpenseAmount(BigDecimal.ZERO);
|
||||
wmsJournalService.computeBalance(journal);
|
||||
journal.setRemark("应付款ID: " + bo.getPayableId());
|
||||
countFlag += journalMapper.insert(journal);
|
||||
return countFlag == 2;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user