Class PurchaseReportsController
- Namespace
- KadicErp.WebApi.Controllers.AdminReporting.Reports
- Assembly
- KadicErp.WebApi.dll
[ApiController]
public class PurchaseReportsController : ControllerBase
- Inheritance
-
objectControllerBasePurchaseReportsController
Constructors
PurchaseReportsController(IMediator, IReportExportService)
public PurchaseReportsController(IMediator mediator, IReportExportService exportService)
Parameters
mediatorIMediatorexportServiceIReportExportService
Methods
Export(ReportExportRequest)
Exports a purchase report as CSV, Excel, or PDF. Pass report=po-listing|by-supplier|by-product|gr-listing|requisition-tracking.
[HttpPost("api/admin-reporting/reports/purchase/export")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_EXPORT")]
public Task<IActionResult> Export(ReportExportRequest request)
Parameters
requestReportExportRequest
Returns
- Task<IActionResult>
GetGoodsReceiptListing(Guid?, DateOnly?, DateOnly?, string?, int, int)
Full goods receipt listing with search support on GR number and supplier name.
[HttpGet("api/admin-reporting/reports/purchase/gr-listing")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetGoodsReceiptListing(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, string? search, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?searchstringpageintpageSizeint
Returns
- Task<IActionResult>
GetPurchaseByProduct(Guid?, DateOnly?, DateOnly?, int, int)
Returns purchase totals grouped by item (ItemId + ProductNameSnapshot).
[HttpGet("api/admin-reporting/reports/purchase/by-product")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseByProduct(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?pageintpageSizeint
Returns
- Task<IActionResult>
GetPurchaseBySupplier(Guid?, DateOnly?, DateOnly?, int, int)
Returns purchase totals grouped by supplier.
[HttpGet("api/admin-reporting/reports/purchase/by-supplier")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseBySupplier(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?pageintpageSizeint
Returns
- Task<IActionResult>
GetPurchaseOrderListing(Guid?, DateOnly?, DateOnly?, string?, int, int)
Full purchase order listing with search support on PO number and supplier name.
[HttpGet("api/admin-reporting/reports/purchase/po-listing")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseOrderListing(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, string? search, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?searchstringpageintpageSizeint
Returns
- Task<IActionResult>
GetPurchaseSummary(Guid?, DateOnly?, DateOnly?)
Returns aggregated purchase KPIs: total POs, amounts, pending receipts, and trend vs previous period.
[HttpGet("api/admin-reporting/reports/purchase/summary")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseSummary(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?
Returns
- Task<IActionResult>
GetRequisitionTracking(Guid?, DateOnly?, DateOnly?, int, int)
Returns the full procurement lifecycle: Requisition → RFQ → PO → Goods Receipt.
[HttpGet("api/admin-reporting/reports/purchase/requisition-tracking")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetRequisitionTracking(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?pageintpageSizeint
Returns
- Task<IActionResult>