document
API test

批量领取采购单

POST
http://localhost:88/api/ware/purchase/received

API description

批量领取采购单

Description or Example

# 核心代码 ```java @RequestMapping("/received") public R receivePurchase(@RequestBody List<Long> purchaseIds) { purchaseService.receivePurchase(purchaseIds); return R.ok(); } ``` ```java @Override @Transactional public void receivePurchase(List<Long> purchaseIds) { if (purchaseIds != null && !purchaseIds.isEmpty()) { // 存在采购单ID时 List<PurchaseEntity> purchaseEntities = this.baseMapper.selectBatchIds(purchaseIds); // 采购单PO List<PurchaseEntity> updates = purchaseEntities.stream().filter(purchaseEntity -> purchaseEntity.getStatus() == WareConstant.PurchaseStatus.PURCHASE_ALLOCATION.getCode()) .map(purchaseEntity -> purchaseEntity.setUpdateTime(new Date()) .setStatus(WareConstant.PurchaseStatus.PURCHASE_RECEIVE.getCode())) .collect(Collectors.toList()); this.updateBatchById(updates); // 批量更新采购单 purchaseDetailService.updatePurchaseDetailByPurchaseIds(purchaseIds); // 更新采购需求 } } ``` ```java @Override public void updatePurchaseDetailByPurchaseIds(List<Long> purchaseIds) { LambdaQueryWrapper<PurchaseDetailEntity> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(PurchaseDetailEntity::getPurchaseId, purchaseIds); List<PurchaseDetailEntity> purchaseDetailEntities = this.baseMapper.selectList(queryWrapper); List<PurchaseDetailEntity> updates = purchaseDetailEntities.stream().map(purchaseDetailEntity -> purchaseDetailEntity.setStatus(WareConstant.PurchaseDetailStatus.PURCHASE_DETAIL_DURING.getCode())) .collect(Collectors.toList()); this.updateBatchById(updates); } ```