Index: src/main/java/mk/ukim/finki/db/distributorapp/_web/api/RestOrderController.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/_web/api/RestOrderController.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/_web/api/RestOrderController.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -2,4 +2,6 @@
 
 import lombok.RequiredArgsConstructor;
+import mk.ukim.finki.db.distributorapp.article.ArticleService;
+import mk.ukim.finki.db.distributorapp.article.dto.ArticleDto;
 import mk.ukim.finki.db.distributorapp.articleUnit.ArticleUnitService;
 import mk.ukim.finki.db.distributorapp.articleUnit.dto.ArticleUnitSimpleDto;
@@ -9,4 +11,5 @@
 import mk.ukim.finki.db.distributorapp.order.dto.CreateOrderDto;
 import mk.ukim.finki.db.distributorapp.order.dto.OrderSimpleDto;
+import mk.ukim.finki.db.distributorapp.order.dto.OrderWithItemsDto;
 import mk.ukim.finki.db.distributorapp.users.UserService;
 import mk.ukim.finki.db.distributorapp.users.dto.UserDto;
@@ -31,4 +34,5 @@
     private final WarehouseService warehouseService;
     private final ArticleUnitService articleUnitService;
+    private final ArticleService articleService;
 
     @PostMapping("/create")
@@ -60,3 +64,15 @@
         return ResponseEntity.ok(createdOrder);
     }
+
+    @GetMapping("/{orderId}")
+    @PreAuthorize("hasAnyRole('CUSTOMER', 'ADMIN')")
+    public ResponseEntity<?> getOrder(@PathVariable Long orderId) {
+        // TODO: In the JSON result add a list of article DTOs of the articles that are in that order.
+        OrderSimpleDto order = this.ordersService.findSimpleOrderById(orderId);
+        OrderWithItemsDto result = new OrderWithItemsDto();
+        result.setOrder(order);
+        List<ArticleDto> orderArticles = this.articleService.getArticlesByOrder(orderId);
+        result.setItems(orderArticles);
+        return ResponseEntity.ok(result);
+    }
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleRepository.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleRepository.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleRepository.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -143,3 +143,40 @@
     )
     ArticleDto findArticleDtoById(Long articleId, Integer warehouseId);
+
+    @Query(
+            nativeQuery = true,
+            value = """
+                    select a.art_id as id,
+                           a.art_name as name,
+                           m.man_name as manufacturer,
+                           cast(count(au.unit_id) as int) as quantity,
+                           m.man_id as manufacturerId,
+                           p.price as price,
+                           c.ctg_name as category,
+                           c.ctg_id as categoryId,
+                           a.art_weight as weight,
+                           a.art_image as image
+                    from article a
+                           join manufacturer m on a.man_id = m.man_id
+                           join category c on a.ctg_id = c.ctg_id
+                           join price p on a.art_id = p.art_id
+                           join unit_price up on p.price_id = up.price_id
+                           join article_unit au on up.unit_id = au.unit_id
+                           join warehouse w on w.wh_id = au.wh_id
+                    where au.ord_id = ?1
+                    group by a.art_id,
+                             a.art_name,
+                             m.man_name,
+                             m.man_id,
+                             p.price,
+                             c.ctg_name,
+                             c.ctg_id,
+                             a.art_weight,
+                             a.art_image,
+                             p.price_eff_date
+                    order by a.art_name, p.price_eff_date;
+                    
+                    """
+    )
+    List<ArticleDto> getArticlesByOrder(Long orderId);
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleService.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleService.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleService.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -17,3 +17,5 @@
 
     ArticleDto findById(Long articleId, Integer warehouseId);
+
+    List<ArticleDto> getArticlesByOrder(Long orderId);
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleServiceImpl.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/article/ArticleServiceImpl.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -52,3 +52,8 @@
         return this.articleRepository.findArticleDtoById(articleId, warehouseId);
     }
+
+    @Override
+    public List<ArticleDto> getArticlesByOrder(Long orderId) {
+        return this.articleRepository.getArticlesByOrder(orderId);
+    }
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitRepository.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitRepository.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitRepository.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -117,3 +117,25 @@
     )
     List<ArticleUnitSimpleDto> findAllSimpleByArticleAndWarehouse(Long articleId, Integer warehouseId);
+
+
+    @Query(
+            nativeQuery = true,
+            value = """
+                    select au.unit_id as id,
+                           au.unit_expiration_date as expiryDate,
+                           au.unit_serial_number as serialNo,
+                           au.unit_batch_number as batchNo,
+                           au.unit_manufacture_date as manufactureDate,
+                           au.unit_cost_price as costPrice,
+                           a.art_id as artId,
+                           au.wh_id as whId,
+                           au.ord_id as ordId
+                    from article_unit au
+                    join unit_price up on au.unit_id = up.unit_id
+                    join price p on up.price_id = p.price_id
+                    join article a on p.art_id = a.art_id
+                    where au.ord_id = ?1
+                    """
+    )
+    List<ArticleUnitSimpleDto> getAllArticleUnitsByOrderId(Long orderId);
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitService.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitService.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitService.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -26,3 +26,5 @@
 
     List<ArticleUnitSimpleDto> addArticleUnitToOrder(List<OrderItemDto> orderItems, Long id, Integer whId);
+
+    List<ArticleUnitSimpleDto> getAllArticleUnitsByOrderId(Long orderId);
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitServiceImpl.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/articleUnit/ArticleUnitServiceImpl.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -2,4 +2,5 @@
 
 import lombok.RequiredArgsConstructor;
+import mk.ukim.finki.db.distributorapp.article.dto.ArticleDto;
 import mk.ukim.finki.db.distributorapp.articleUnit.dto.ArticleUnitDto;
 import mk.ukim.finki.db.distributorapp.articleUnit.dto.ArticleUnitSimpleDto;
@@ -99,3 +100,8 @@
         return editedUnits;
     }
+
+    @Override
+    public List<ArticleUnitSimpleDto> getAllArticleUnitsByOrderId(Long orderId) {
+        return this.articleUnitRepository.getAllArticleUnitsByOrderId(orderId);
+    }
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/order/OrdersService.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/order/OrdersService.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/order/OrdersService.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -27,3 +27,5 @@
 
     void addOrdersToDelivery(List<Long> orderIds, Long deliveryId);
+
+    OrderSimpleDto findSimpleOrderById(Long orderId);
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/order/OrdersServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/order/OrdersServiceImpl.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/order/OrdersServiceImpl.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -131,3 +131,8 @@
         }
     }
+
+    @Override
+    public OrderSimpleDto findSimpleOrderById(Long orderId) {
+        return this.ordersRepository.findSimpleOrdersById(orderId);
+    }
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/order/dto/OrderSimpleDto.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/order/dto/OrderSimpleDto.java	(revision 57341e436ea5eac6148b3890b42e79b21af81d15)
+++ src/main/java/mk/ukim/finki/db/distributorapp/order/dto/OrderSimpleDto.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -6,4 +6,5 @@
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Data
@@ -20,3 +21,4 @@
     private Long deliveryId;
     private Long pfId;
+
 }
Index: src/main/java/mk/ukim/finki/db/distributorapp/order/dto/OrderWithItemsDto.java
===================================================================
--- src/main/java/mk/ukim/finki/db/distributorapp/order/dto/OrderWithItemsDto.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
+++ src/main/java/mk/ukim/finki/db/distributorapp/order/dto/OrderWithItemsDto.java	(revision 12f2d0b563b7d5322cf491f86c7c005462aa91c6)
@@ -0,0 +1,16 @@
+package mk.ukim.finki.db.distributorapp.order.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import mk.ukim.finki.db.distributorapp.article.dto.ArticleDto;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OrderWithItemsDto {
+    private OrderSimpleDto order;
+    private List<ArticleDto> items;
+}
