package public_services

import (
	"cpone/db"
	"cpone/models"

	"go.uber.org/zap"
)

func NewServicesKartuKontrol(uStore db.AppStore) *ServicesKartuKontrol {

	return &ServicesKartuKontrol{
		KartuKontrolStore: uStore,
	}
}

type ServicesKartuKontrol struct {
	KartuKontrolStore db.AppStore
}

func (su *ServicesKartuKontrol) GetkartuKontrolById(nomorRegistrasi string) ([]models.KartuKontrolModel, error) {

	logger, _ := zap.NewProduction()
	defer logger.Sync()
	logger.Info("QUERY SEARCH GET KARTU KONTROL",
		zap.String("query search", ""),
	)

	dataPasien := []models.DataPasien{
		{
			NomorRegistrasi: "00234",
			NomorLab:        "LA90002",
			NamaPasien:      "Hendra Setiawan",
			TanggalLahir:    "2000-01-01",
			Umur:            "24 tahun",
			JenisKelamin:    "Laki-laki",
			NamaDivisi:      "Development",
			NamaCompany:     "PT. Sadhana Abiyasa Sampoerna",
		},
	}

	dataPemeriksaanList := []models.DataPemeriksaanList{
		{NamaPemeriksaanList: "Hematologi Lengkap"},
		{NamaPemeriksaanList: "Urine Lengkap"},
		{NamaPemeriksaanList: "ACG"},
		{NamaPemeriksaanList: "Treadmill"},
		{NamaPemeriksaanList: "Pemeriksaan Fisik"},
		{NamaPemeriksaanList: "Hematologi Lengkap"},
		{NamaPemeriksaanList: "Urine Lengkap"},
		{NamaPemeriksaanList: "ACG"},
		{NamaPemeriksaanList: "Treadmill"},
		{NamaPemeriksaanList: "Pemeriksaan Fisik"},
		{NamaPemeriksaanList: "Hematologi Lengkap"},
		{NamaPemeriksaanList: "Urine Lengkap"},
		{NamaPemeriksaanList: "ACG"},
		{NamaPemeriksaanList: "Treadmill"},
		{NamaPemeriksaanList: "Pemeriksaan Fisik"},
		{NamaPemeriksaanList: "Hematologi Lengkap"},
		{NamaPemeriksaanList: "Urine Lengkap"},
		{NamaPemeriksaanList: "ACG"},
		{NamaPemeriksaanList: "Treadmill"},
		{NamaPemeriksaanList: "Pemeriksaan Fisik"},
	}

	dataPemeriksaanPengambilanSample := []models.DataPemeriksaanPengambilanSample{
		{
			NamaPemeriksaanPengambilanSample: "Laboratorium",
			SampleTypeListData: []models.SampleTypeList{
				{
					SampleTypeName:     "Darah",
					SampleTypeDateTime: "15-05-2024 10:00",
					SampleTypeStatus:   "Sudah",
				},
				{
					SampleTypeName:     "Urine",
					SampleTypeDateTime: "15-05-2024 10:00",
					SampleTypeStatus:   "Sudah",
				},
			},
		},
		{
			NamaPemeriksaanPengambilanSample: "Rontgen",
			SampleTypeListData: []models.SampleTypeList{
				{
					SampleTypeName:     "Thorax AP (PCR)",
					SampleTypeDateTime: "",
					SampleTypeStatus:   "Sudah",
				},
			},
		},
		{
			NamaPemeriksaanPengambilanSample: "Elektromedis",
			SampleTypeListData: []models.SampleTypeList{
				{
					SampleTypeName:     "ECG",
					SampleTypeStatus:   "Belum",
					SampleTypeDateTime: "",
				},
			},
		},
	}

	kartuKontrol := []models.KartuKontrolModel{
		{
			KartuKontrolDataPasienList:                   dataPasien,
			KartuKontrolDataPemeriksaanList:              dataPemeriksaanList,
			KartuKontrolDataPemeriksaanPengambilanSample: dataPemeriksaanPengambilanSample,
		},
	}

	return kartuKontrol, nil
}
