|
|
|
@ -33,6 +33,7 @@ import org.springframework.util.ObjectUtils; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@RestController |
|
|
|
@ -79,6 +80,9 @@ public class ReturnSaleController { |
|
|
|
@Autowired |
|
|
|
private CustomerService customerService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ProductService productService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*@RequestMapping(value = "/get/{id}", method = RequestMethod.GET) |
|
|
|
@ -117,47 +121,59 @@ public class ReturnSaleController { |
|
|
|
.groupBy("product_id"); |
|
|
|
final List<String> list = returnDetailService.selectByCondition1(queryWrapper); |
|
|
|
final List<SaleDetailDTO> saleDetailDTOS = new ArrayList<>(); |
|
|
|
for (String productId : list) { |
|
|
|
final QueryWrapper<ReturnDetail> queryPWrapper = new QueryWrapper<>(); |
|
|
|
queryPWrapper.eq("return_sale_id", id).eq("product_id", productId); |
|
|
|
final List<ReturnDetail> saleDetailList = returnDetailService.list(queryPWrapper); |
|
|
|
final List<SaleDetailQueryDTO> saleDetailQueryDTOS = new ArrayList<>(); |
|
|
|
final SaleDetailDTO saleDetailDTO = new SaleDetailDTO(); |
|
|
|
|
|
|
|
// 查询商品所有的库存
|
|
|
|
final List<Stock> stockList = stockService.getProductStock(productId); |
|
|
|
final Map<String, Integer> stockMap = new HashMap<>(); |
|
|
|
for (Stock stock : stockList) { |
|
|
|
stockMap.put(stock.getAttributeList(), stock.getStockCount()); |
|
|
|
} |
|
|
|
Map<String, Product> productMap = new HashMap<>(); |
|
|
|
// 获取商品
|
|
|
|
if(list != null && !list.isEmpty()){ |
|
|
|
final List<Product> productList = productService.getProductList(list); |
|
|
|
// 将商品封装为map,key为商品id,value为商品信息
|
|
|
|
productMap = productList.stream().collect(Collectors.toMap(Product::getId, product -> product)); |
|
|
|
} |
|
|
|
if (list != null) { |
|
|
|
for (String productId : list) { |
|
|
|
final QueryWrapper<ReturnDetail> queryPWrapper = new QueryWrapper<>(); |
|
|
|
queryPWrapper.eq("return_sale_id", id).eq("product_id", productId); |
|
|
|
final List<ReturnDetail> saleDetailList = returnDetailService.list(queryPWrapper); |
|
|
|
final List<SaleDetailQueryDTO> saleDetailQueryDTOS = new ArrayList<>(); |
|
|
|
final SaleDetailDTO saleDetailDTO = new SaleDetailDTO(); |
|
|
|
|
|
|
|
// 查询商品所有的库存
|
|
|
|
final List<Stock> stockList = stockService.getProductStock(productId); |
|
|
|
final Map<String, Integer> stockMap = new HashMap<>(); |
|
|
|
for (Stock stock : stockList) { |
|
|
|
stockMap.put(stock.getAttributeList(), stock.getStockCount()); |
|
|
|
} |
|
|
|
|
|
|
|
for (ReturnDetail returnDetail : saleDetailList) { |
|
|
|
saleDetailDTO.setProductId(productId); |
|
|
|
saleDetailDTO.setProductName(returnDetail.getProductName()); |
|
|
|
saleDetailDTO.setUnit(returnDetail.getUnit()); |
|
|
|
saleDetailDTO.setShopId(returnSale.getShopId()); |
|
|
|
saleDetailDTO.setCategoryId(returnDetail.getCategoryId()); |
|
|
|
saleDetailDTO.setSaleId(returnDetail.getSaleId()); |
|
|
|
saleDetailDTO.setPrice(returnDetail.getPrice()); |
|
|
|
saleDetailDTO.setWholesalePrice(returnDetail.getWholesalePrice()); |
|
|
|
saleDetailDTO.setPurchasePrice(returnDetail.getPurchasePrice()); |
|
|
|
saleDetailDTO.setDiscount(returnDetail.getDiscount()); |
|
|
|
saleDetailDTO.setDiscountAmount(returnDetail.getDiscountAmount()); |
|
|
|
saleDetailDTO.setRealPrice(returnDetail.getRealPrice()); |
|
|
|
saleDetailDTO.setProductPicture(returnDetail.getProductPicture()); |
|
|
|
saleDetailDTO.setProductSn(returnDetail.getProductSn()); |
|
|
|
|
|
|
|
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO(); |
|
|
|
saleDetailQueryDTO.setAttributeList(returnDetail.getAttributeList()); |
|
|
|
saleDetailQueryDTO.setProductCount(returnDetail.getProductCount()); |
|
|
|
|
|
|
|
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(saleDetailQueryDTO.getAttributeList(), null)); |
|
|
|
|
|
|
|
|
|
|
|
saleDetailQueryDTOS.add(saleDetailQueryDTO); |
|
|
|
for (ReturnDetail returnDetail : saleDetailList) { |
|
|
|
saleDetailDTO.setProductId(productId); |
|
|
|
saleDetailDTO.setProductName(returnDetail.getProductName()); |
|
|
|
saleDetailDTO.setUnit(returnDetail.getUnit()); |
|
|
|
saleDetailDTO.setShopId(returnSale.getShopId()); |
|
|
|
saleDetailDTO.setCategoryId(returnDetail.getCategoryId()); |
|
|
|
saleDetailDTO.setSaleId(returnDetail.getSaleId()); |
|
|
|
saleDetailDTO.setPrice(returnDetail.getPrice()); |
|
|
|
saleDetailDTO.setWholesalePrice(returnDetail.getWholesalePrice()); |
|
|
|
saleDetailDTO.setPurchasePrice(returnDetail.getPurchasePrice()); |
|
|
|
saleDetailDTO.setDiscount(returnDetail.getDiscount()); |
|
|
|
saleDetailDTO.setDiscountAmount(returnDetail.getDiscountAmount()); |
|
|
|
saleDetailDTO.setRealPrice(returnDetail.getRealPrice()); |
|
|
|
saleDetailDTO.setProductPicture(returnDetail.getProductPicture()); |
|
|
|
saleDetailDTO.setProductSn(returnDetail.getProductSn()); |
|
|
|
|
|
|
|
// 获取商品的专属分类值
|
|
|
|
if(productMap.containsKey(productId)){ |
|
|
|
saleDetailDTO.setAttrId(productMap.get(productId).getAttrId()); |
|
|
|
} |
|
|
|
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO(); |
|
|
|
saleDetailQueryDTO.setAttributeList(returnDetail.getAttributeList()); |
|
|
|
saleDetailQueryDTO.setProductCount(returnDetail.getProductCount()); |
|
|
|
|
|
|
|
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(saleDetailQueryDTO.getAttributeList(), null)); |
|
|
|
|
|
|
|
saleDetailQueryDTOS.add(saleDetailQueryDTO); |
|
|
|
} |
|
|
|
saleDetailDTO.setStockLogList1(saleDetailQueryDTOS); |
|
|
|
saleDetailDTOS.add(saleDetailDTO); |
|
|
|
} |
|
|
|
saleDetailDTO.setStockLogList1(saleDetailQueryDTOS); |
|
|
|
saleDetailDTOS.add(saleDetailDTO); |
|
|
|
} |
|
|
|
saleReturnVO.setSaleDetailDTOList(saleDetailDTOS); |
|
|
|
//增加客户信息明细
|
|
|
|
|