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.List;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import com.klp.domain.bo.WmsReceivableBo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
@@ -75,6 +76,16 @@ public class WmsPayableController extends BaseController {
|
|||||||
return toAjax(iWmsPayableService.insertByBo(bo));
|
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 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.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.klp.common.utils.StringUtils;
|
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 lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.klp.domain.bo.WmsPayableBo;
|
import com.klp.domain.bo.WmsPayableBo;
|
||||||
@@ -16,6 +21,9 @@ import com.klp.domain.WmsPayable;
|
|||||||
import com.klp.mapper.WmsPayableMapper;
|
import com.klp.mapper.WmsPayableMapper;
|
||||||
import com.klp.service.IWmsPayableService;
|
import com.klp.service.IWmsPayableService;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
@@ -31,6 +39,13 @@ public class WmsPayableServiceImpl implements IWmsPayableService {
|
|||||||
|
|
||||||
private final WmsPayableMapper baseMapper;
|
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;
|
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