Vendor dashboard and Intents added
This commit is contained in:
@@ -71,4 +71,9 @@ public class PurchaseController {
|
||||
public Map<String, Object> getSummary() {
|
||||
return purchaseService.getPurchaseSummary();
|
||||
}
|
||||
|
||||
@GetMapping("/intent/summary")
|
||||
public Map<String, Object> getIntentSummary() {
|
||||
return purchaseService.getIntentSummary();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,4 +22,11 @@ public interface PurchaseOrderRepository extends JpaRepository<PurchaseOrder, Lo
|
||||
|
||||
@org.springframework.data.jpa.repository.Query("SELECT p.date, SUM(p.amount) FROM PurchaseOrder p GROUP BY p.date ORDER BY p.date ASC")
|
||||
List<Object[]> getPurchaseTrend();
|
||||
|
||||
long countByStatus(String status);
|
||||
|
||||
@org.springframework.data.jpa.repository.Query("SELECT SUM(i.quantity) FROM PurchaseOrder p JOIN p.items i WHERE p.status = 'OPEN'")
|
||||
Long countOpenItems();
|
||||
|
||||
List<PurchaseOrder> findTop5ByOrderByDateDesc();
|
||||
}
|
||||
|
||||
@@ -120,4 +120,20 @@ public class PurchaseService {
|
||||
|
||||
return summary;
|
||||
}
|
||||
|
||||
public Map<String, Object> getIntentSummary() {
|
||||
Map<String, Object> summary = new HashMap<>();
|
||||
summary.put("openCount", purchaseOrderRepository.countByStatus("OPEN"));
|
||||
summary.put("openItems", purchaseOrderRepository.countOpenItems());
|
||||
summary.put("payableAmount", purchaseOrderRepository.getTotalBalanceAmount());
|
||||
summary.put("unbilledCount", purchaseOrderRepository.countByStatus("RECEIVED")); // Assuming RECEIVED but not yet BILLED
|
||||
|
||||
List<PurchaseOrder> recent = purchaseOrderRepository.findTop5ByOrderByDateDesc();
|
||||
summary.put("recentOrders", recent);
|
||||
|
||||
List<Object[]> trendData = purchaseOrderRepository.getPurchaseTrend();
|
||||
summary.put("trend", trendData);
|
||||
|
||||
return summary;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user