44 lines
1.5 KiB
Go
44 lines
1.5 KiB
Go
package aplicare
|
|
|
|
import "api-service/internal/models"
|
|
|
|
// === MONITORING MODELS ===
|
|
|
|
// MonitoringRequest represents monitoring data request
|
|
type MonitoringRequest struct {
|
|
models.BaseRequest
|
|
TanggalAwal string `json:"tanggal_awal" validate:"required"`
|
|
TanggalAkhir string `json:"tanggal_akhir" validate:"required"`
|
|
JenisLaporan string `json:"jenis_laporan" validate:"required,oneof=kunjungan klaim rujukan sep"`
|
|
PPK string `json:"ppk,omitempty"`
|
|
StatusData string `json:"status_data,omitempty"`
|
|
models.PaginationRequest
|
|
}
|
|
|
|
// MonitoringData represents monitoring information
|
|
type MonitoringData struct {
|
|
Tanggal string `json:"tanggal"`
|
|
PPK string `json:"ppk"`
|
|
NamaPPK string `json:"nama_ppk"`
|
|
JumlahKasus int `json:"jumlah_kasus"`
|
|
TotalTarif float64 `json:"total_tarif"`
|
|
StatusData string `json:"status_data"`
|
|
Keterangan string `json:"keterangan,omitempty"`
|
|
}
|
|
|
|
// MonitoringResponse represents monitoring API response
|
|
type MonitoringResponse struct {
|
|
models.BaseResponse
|
|
Data []MonitoringData `json:"data,omitempty"`
|
|
Summary *MonitoringSummary `json:"summary,omitempty"`
|
|
Pagination *models.PaginationResponse `json:"pagination,omitempty"`
|
|
}
|
|
|
|
// MonitoringSummary represents monitoring summary
|
|
type MonitoringSummary struct {
|
|
TotalKasus int `json:"total_kasus"`
|
|
TotalTarif float64 `json:"total_tarif"`
|
|
RataRataTarif float64 `json:"rata_rata_tarif"`
|
|
PeriodeLaporan string `json:"periode_laporan"`
|
|
}
|