|
@@ -155,22 +155,28 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
|
|
|
* 更新待出入库状态
|
|
|
*/
|
|
|
@Override
|
|
|
- public void changeStockWaitStatus(StockWaitDetailsDto stockWaitDetailsDto) {
|
|
|
- //更新已入库数量 根据明细id
|
|
|
- StockWaitDetails stockWaitDetails = getById(stockWaitDetailsDto.getId());
|
|
|
- if (ObjectUtil.isEmpty(stockWaitDetails)) {
|
|
|
- throw new ServiceException("无法查询到明细信息");
|
|
|
- }
|
|
|
- BigDecimal receiptQuantity = stockWaitDetails.getReceiptQuantity();
|
|
|
- receiptQuantity = ObjectUtil.isEmpty(receiptQuantity) ? BigDecimal.ZERO : receiptQuantity;
|
|
|
- stockWaitDetails.setReceiptQuantity(receiptQuantity.add(stockWaitDetailsDto.getQuantity()));
|
|
|
- if (stockWaitDetails.getReceiptQuantity().compareTo(stockWaitDetails.getQuantity()) > 0) {
|
|
|
- throw new ServiceException("出库数量+已出库数量不能大于待出库数量");
|
|
|
+ public void changeStockWaitStatus(StockWaitDto stockWaitDto) {
|
|
|
+ List<StockWaitDetails> stockWaitDetailsDtoList = stockWaitDto.getStockWaitDetailsList();
|
|
|
+ List<StockWaitDetailsDto> stockWaitDetailsDtoList1 = BeanUtil.copyToList(stockWaitDetailsDtoList, StockWaitDetailsDto.class);
|
|
|
+
|
|
|
+ for (StockWaitDetailsDto stockWaitDetailsDto : stockWaitDetailsDtoList1) {
|
|
|
+ //更新已入库数量 根据明细id
|
|
|
+ StockWaitDetails stockWaitDetails = getById(stockWaitDetailsDto.getId());
|
|
|
+ if (ObjectUtil.isEmpty(stockWaitDetails)) {
|
|
|
+ throw new ServiceException("无法查询到明细信息");
|
|
|
+ }
|
|
|
+ BigDecimal receiptQuantity = stockWaitDetails.getReceiptQuantity();
|
|
|
+ receiptQuantity = ObjectUtil.isEmpty(receiptQuantity) ? BigDecimal.ZERO : receiptQuantity;
|
|
|
+ stockWaitDetails.setReceiptQuantity(receiptQuantity.add(stockWaitDetailsDto.getQuantity()));
|
|
|
+ if (stockWaitDetails.getReceiptQuantity().compareTo(stockWaitDetails.getQuantity()) > 0) {
|
|
|
+ throw new ServiceException("出库数量+已出库数量不能大于待出库数量");
|
|
|
+ }
|
|
|
+ updateById(stockWaitDetails);
|
|
|
}
|
|
|
- updateById(stockWaitDetails);
|
|
|
+
|
|
|
//更新待出库记录状态
|
|
|
int statusFlag = 0;
|
|
|
- List<StockWaitDetails> stockWaitDetailsList = list(q -> q.eq(StockWaitDetails::getStockWaitId, stockWaitDetails.getStockWaitId()));
|
|
|
+ List<StockWaitDetails> stockWaitDetailsList = list(q -> q.eq(StockWaitDetails::getStockWaitId, stockWaitDto.getId()));
|
|
|
for (StockWaitDetails waitDetails : stockWaitDetailsList) {
|
|
|
//计算已经完全出库的数量
|
|
|
BigDecimal receiptQuantity1 = ObjectUtil.isEmpty(waitDetails.getReceiptQuantity()) ? BigDecimal.ZERO : waitDetails.getReceiptQuantity();
|
|
@@ -178,7 +184,7 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
|
|
|
statusFlag++;
|
|
|
}
|
|
|
}
|
|
|
- StockWait byId = stockWaitService.getById(stockWaitDetails.getStockWaitId());
|
|
|
+ StockWait byId = stockWaitService.getById(stockWaitDto.getId());
|
|
|
if (statusFlag == stockWaitDetailsList.size()) {
|
|
|
byId.setStatus(2);//入库完成
|
|
|
} else {
|