parent
a16b2925b2
commit
5943f1b72f
|
|
@ -33,20 +33,36 @@ public interface StockCountRepository extends JpaRepository<StockCountDTO, Integ
|
|||
"info.product_id ",nativeQuery = true)
|
||||
List<StockCountDTO> countStock( @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
|
||||
@Query(value = "SELECT pro.shop_id as shop_id, pro.id as pro_id, info.product_name as pro_name, pro.is_stock," +
|
||||
" info.product_sku_name as sku_name, unit.NAME as unit_name ," +
|
||||
"SUM( CASE WHEN orders.order_type != 'return' THEN info.num ELSE 0 END )- SUM( CASE WHEN orders.order_type = 'return' THEN info.num ELSE 0 END ) as stock_count," +
|
||||
"CASE WHEN pro.is_distribute = '0' THEN sku.stock_number ELSE pro.stock_number END AS stock_number " +
|
||||
"FROM " +
|
||||
"tb_order_info orders " +
|
||||
"LEFT JOIN tb_order_detail info ON orders.id = info.order_id " +
|
||||
"LEFT JOIN tb_product pro ON info.product_id = pro.id " +
|
||||
"LEFT JOIN (SELECT product_id,sum(stock_number) as stock_number from tb_product_sku GROUP BY product_id) sku ON info.product_id = sku.product_id " +
|
||||
"LEFT JOIN tb_shop_unit unit ON unit.id = pro.unit_id " +
|
||||
"WHERE " +
|
||||
"orders.id = :orderId " +
|
||||
"AND ( info.STATUS = 'closed' OR info.STATUS = 'refund' ) " +
|
||||
"GROUP BY " +
|
||||
"info.product_id ",nativeQuery = true)
|
||||
@Query(value = "SELECT \n" +
|
||||
" pro.shop_id AS shop_id, \n" +
|
||||
" pro.id AS pro_id, \n" +
|
||||
" info.product_name AS pro_name, \n" +
|
||||
" pro.is_stock, \n" +
|
||||
" info.product_sku_name AS sku_name, \n" +
|
||||
" unit.NAME AS unit_name, \n" +
|
||||
" SUM(CASE WHEN orders.order_type != 'return' THEN info.num ELSE 0 END) \n" +
|
||||
" - SUM(CASE WHEN orders.order_type = 'return' THEN info.num ELSE 0 END) AS stock_count, \n" +
|
||||
" CASE WHEN pro.is_distribute = '0' THEN sku.stock_number ELSE pro.stock_number END AS stock_number \n" +
|
||||
"FROM \n" +
|
||||
" tb_order_info orders \n" +
|
||||
"LEFT JOIN \n" +
|
||||
" tb_order_detail info ON orders.id = info.order_id \n" +
|
||||
"LEFT JOIN \n" +
|
||||
" tb_product pro ON info.product_id = pro.id \n" +
|
||||
"LEFT JOIN \n" +
|
||||
" (SELECT product_id, SUM(stock_number) AS stock_number FROM tb_product_sku GROUP BY product_id) sku ON info.product_id = sku.product_id \n" +
|
||||
"LEFT JOIN \n" +
|
||||
" tb_shop_unit unit ON unit.id = pro.unit_id \n" +
|
||||
"WHERE \n" +
|
||||
" orders.id = :orderId \n" +
|
||||
" AND (info.STATUS = 'closed' OR info.STATUS = 'refund') \n" +
|
||||
"GROUP BY \n" +
|
||||
" info.product_id, \n" +
|
||||
" pro.shop_id, \n" +
|
||||
" pro.id, \n" +
|
||||
" info.product_name, \n" +
|
||||
" pro.is_stock, \n" +
|
||||
" info.product_sku_name, \n" +
|
||||
" unit.NAME",nativeQuery = true)
|
||||
List<StockCountDTO> countStockById(Integer orderId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,14 +79,15 @@ public class TbProductStockDetailServiceImpl implements TbProductStockDetailServ
|
|||
|
||||
ArrayList<Map<String, Object>> contents = new ArrayList<>();
|
||||
for (TbProductStockDetailDto tbProductStockDetailDto : map.getContent()) {
|
||||
Map<String, Object> map1 = BeanUtil.transBean2Map(tbProductStockDetailDto);
|
||||
if (StrUtil.isNotBlank(tbProductStockDetailDto.getOrderId())) {
|
||||
TbOrderInfo tbOrderInfo = tbOrderInfoRepository.findById(Integer.valueOf(tbProductStockDetailDto.getOrderId())).orElse(null);
|
||||
Map<String, Object> map1 = BeanUtil.transBean2Map(tbProductStockDetailDto);
|
||||
if (tbOrderInfo != null) {
|
||||
map1.put("orderNo", tbOrderInfo.getOrderNo());
|
||||
}
|
||||
contents.add(map1);
|
||||
}
|
||||
contents.add(map1);
|
||||
|
||||
tbProductStockDetailDto.setTypes();
|
||||
}
|
||||
Map<String,Object> info = new LinkedHashMap<>(2);
|
||||
|
|
|
|||
Loading…
Reference in New Issue