|
|
@@ -2089,22 +2089,34 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
.eq(PjOrderItems::getPid, detail.getId());
|
|
|
List<PjOrderItems> list = orderItemsService.list(itemsLambdaQueryWrapper);
|
|
|
List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
|
|
|
- for (PjOrderItems item : list) {
|
|
|
- PjOrderItems pjOrderItems = new PjOrderItems();
|
|
|
- BeanUtil.copyProperties(item, pjOrderItems);
|
|
|
- pjOrderItems.setReturnsNumber(item.getGoodsNum().subtract(item.getReturnsNumber()));
|
|
|
- pjOrderItems.setReturnsAmount(item.getReturnsNumber().multiply(item.getPrice()));
|
|
|
- pjOrderItems.setSendNum(new BigDecimal("0.00"));
|
|
|
- pjOrderItems.setId(null);
|
|
|
- pjOrderItems.setPid(null);
|
|
|
- pjOrderItems.setBsType(details.getBsType());
|
|
|
- pjOrderItems.setSrcItemId(item.getId());
|
|
|
- pjOrderItems.setCreateDept(null);
|
|
|
- pjOrderItems.setCreateTime(null);
|
|
|
- pjOrderItems.setUpdateTime(null);
|
|
|
- pjOrderItems.setCreateUser(null);
|
|
|
- pjOrderItems.setUpdateUser(null);
|
|
|
- pjOrderItemsList.add(pjOrderItems);
|
|
|
+ if (!list.isEmpty()){
|
|
|
+ List<Long> goodsId = list.stream().map(PjOrderItems::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
+ List<PjStockDesc> pjStockDescList = stockDescService.list(new LambdaQueryWrapper<PjStockDesc>()
|
|
|
+ .eq(ObjectUtils.isNotNull(order.getStorageId()), PjStockDesc::getStorageId, order.getStorageId())
|
|
|
+ .eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjStockDesc::getIsDeleted, 0)
|
|
|
+ .in(PjStockDesc::getGoodsId, goodsId));
|
|
|
+ for (PjOrderItems item : list) {
|
|
|
+ PjOrderItems pjOrderItems = new PjOrderItems();
|
|
|
+ BeanUtil.copyProperties(item, pjOrderItems);
|
|
|
+ pjOrderItems.setReturnsNumber(item.getGoodsNum().subtract(item.getReturnsNumber()));
|
|
|
+ pjOrderItems.setReturnsAmount(item.getReturnsNumber().multiply(item.getPrice()));
|
|
|
+ pjOrderItems.setSendNum(new BigDecimal("0.00"));
|
|
|
+ pjOrderItems.setId(null);
|
|
|
+ pjOrderItems.setPid(null);
|
|
|
+ pjOrderItems.setBsType(details.getBsType());
|
|
|
+ pjOrderItems.setSrcItemId(item.getId());
|
|
|
+ pjOrderItems.setCreateDept(null);
|
|
|
+ pjOrderItems.setCreateTime(null);
|
|
|
+ pjOrderItems.setUpdateTime(null);
|
|
|
+ pjOrderItems.setCreateUser(null);
|
|
|
+ pjOrderItems.setUpdateUser(null);
|
|
|
+ PjStockDesc pjStockDesc = pjStockDescList.stream().filter(e -> e.getGoodsId().equals(item.getGoodsId())).findFirst().orElse(null);
|
|
|
+ if (pjStockDesc != null) {
|
|
|
+ pjOrderItems.setInventory(pjStockDesc.getBalanceQuantity());
|
|
|
+ }
|
|
|
+ pjOrderItemsList.add(pjOrderItems);
|
|
|
+ }
|
|
|
}
|
|
|
details.setOrderItemsList(pjOrderItemsList);
|
|
|
return R.data(details);
|
|
|
@@ -2878,6 +2890,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder checkOrder(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ List<PjOrder> pjOrderList = baseMapper.selectList(new LambdaQueryWrapper<PjOrder>()
|
|
|
+ .eq(PjOrder::getSrcNo, declare.getOrdNo())
|
|
|
+ .eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjOrder::getIsDeleted, 0)
|
|
|
+ .eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId()));
|
|
|
+ if (!pjOrderList.isEmpty()) {
|
|
|
+ throw new RuntimeException("已有退款单,请联系管理员!");
|
|
|
+ }
|
|
|
if (!"额度支付".equals(declare.getBusinessSource())) {
|
|
|
if (ObjectUtils.isNull(declare.getOldTrxId())) {
|
|
|
throw new RuntimeException("线下支付按钮无效");
|