diff --git a/cmd/migration/migrations/20250827015551.sql b/cmd/migration/migrations/20250827015551.sql new file mode 100644 index 00000000..7d9745db --- /dev/null +++ b/cmd/migration/migrations/20250827015551.sql @@ -0,0 +1,37 @@ +-- Create "InfraGroup" table +CREATE TABLE "public"."InfraGroup" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Code" character varying(50) NULL, + "Name" character varying(100) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "uni_InfraGroup_Code" UNIQUE ("Code") +); +-- Create "ItemGroup" table +CREATE TABLE "public"."ItemGroup" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Code" character varying(50) NULL, + "Name" character varying(100) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "uni_ItemGroup_Code" UNIQUE ("Code") +); +-- Create "Employee" table +CREATE TABLE "public"."Employee" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "User_Id" bigint NULL, + "Person_Id" bigint NULL, + "Position_Code" character varying(20) NOT NULL, + "Division_Code" character varying(10) NULL, + "Number" character varying(20) NULL, + "Status_Code" character varying(10) NOT NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_Employee_Division" FOREIGN KEY ("Division_Code") REFERENCES "public"."Division" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION +); diff --git a/cmd/migration/migrations/20250827021904.sql b/cmd/migration/migrations/20250827021904.sql new file mode 100644 index 00000000..cf990cc5 --- /dev/null +++ b/cmd/migration/migrations/20250827021904.sql @@ -0,0 +1,77 @@ +-- Create "Counter" table +CREATE TABLE "public"."Counter" ( + "Id" serial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Code" character varying(10) NULL, + "Name" character varying(30) NULL, + "Number" smallint NULL, + "Parent_Id" integer NULL, + "Type_Code" text NULL, + "Queue_Code" character varying(5) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "uni_Counter_Code" UNIQUE ("Code") +); +-- Create "Doctor" table +CREATE TABLE "public"."Doctor" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Employee_Id" bigint NULL, + "IHS_Number" character varying(20) NULL, + "SIP_Number" character varying(20) NULL, + "Unit_Id" bigint NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_Doctor_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, + CONSTRAINT "fk_Doctor_Unit" FOREIGN KEY ("Unit_Id") REFERENCES "public"."Unit" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); +-- Create "Nurse" table +CREATE TABLE "public"."Nurse" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Employee_Id" bigint NULL, + "IHS_Number" character varying(20) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_Nurse_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); +-- Create "Nutritionist" table +CREATE TABLE "public"."Nutritionist" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Employee_Id" bigint NULL, + "IHS_Number" character varying(20) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_Nutritionist_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); +-- Create "Pharmacist" table +CREATE TABLE "public"."Pharmacist" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Employee_Id" bigint NULL, + "IHS_Number" character varying(20) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_Pharmacist_Employee" FOREIGN KEY ("Employee_Id") REFERENCES "public"."Employee" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION +); +-- Create "PracticeSchedule" table +CREATE TABLE "public"."PracticeSchedule" ( + "Id" bigserial NOT NULL, + "CreatedAt" timestamptz NULL, + "UpdatedAt" timestamptz NULL, + "DeletedAt" timestamptz NULL, + "Doctor_Id" bigint NULL, + "Unit_Code" character varying(10) NULL, + "Day_Code" smallint NULL, + "StartTime" character varying(5) NULL, + "EndTime" character varying(5) NULL, + PRIMARY KEY ("Id"), + CONSTRAINT "fk_PracticeSchedule_Doctor" FOREIGN KEY ("Doctor_Id") REFERENCES "public"."Doctor" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION, + CONSTRAINT "fk_PracticeSchedule_Unit" FOREIGN KEY ("Unit_Code") REFERENCES "public"."Unit" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION +); diff --git a/cmd/migration/migrations/atlas.sum b/cmd/migration/migrations/atlas.sum index e9c29361..1d5fbd8b 100644 --- a/cmd/migration/migrations/atlas.sum +++ b/cmd/migration/migrations/atlas.sum @@ -1,5 +1,7 @@ -h1:kmaYH5ZWV4XqRaVulfE4cDvHlo2ANjTsI8kr9EIqJ7I= +h1:aACpl+MgcGmQ5IgTQGQ4o6+1pT9L8KphrWlGlKBguHc= 20250825054027.sql h1:zRUeuuP4bDLf96Cb38D/l9ivBAQC745XRao0rxbzdVI= 20250825060522.sql h1:NiE1fVzydcg8Y8ytSHgt0DkkauQFveNXv42BoG5m+bI= 20250825102900.sql h1:Xaz9cAKDx6ZjDByRBSNrX/d2/s8Xid2zhirWk62xKjQ= 20250825103029.sql h1:YkM0KTRRawcObTUOG3epXzBOW4wFyHIOlnh99FaVgPk= +20250827015551.sql h1:iaN+FNEPyYn8pbc16yt1Jwo1Bf6jRePhKvoZht+RxdI= +20250827021904.sql h1:jxCNgxPGAHqU3z/tQBww7/9PnJQYl2Is2NFV5ZEeHIU= diff --git a/internal/domain/main-entities/counter/dto.go b/internal/domain/main-entities/counter/dto.go new file mode 100644 index 00000000..58e1a1d0 --- /dev/null +++ b/internal/domain/main-entities/counter/dto.go @@ -0,0 +1,83 @@ +package counter + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type CreateDto struct { + Code string `json:"code"` + Name string `json:"name"` + Number uint8 `json:"number"` + Parent_Id *uint16 `json:"parent_id"` + Type_Code string `json:"type_code"` + Queue_Code string `json:"queue_code"` +} + +type ReadListDto struct { + Code string `json:"code"` + Name string `json:"name"` + Number uint8 `json:"number"` + Parent_Id *uint16 `json:"parent_id"` + Type_Code string `json:"type_code"` + Queue_Code string `json:"queue_code"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Code string `json:"code"` + Name string `json:"name"` + Number uint8 `json:"number"` + Parent_Id *uint16 `json:"parent_id"` + Type_Code string `json:"type_code"` + Queue_Code string `json:"queue_code"` +} + +type UpdateDto struct { + Id uint16 `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint16 `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.SmallMain + Code string `json:"code"` + Name string `json:"name"` + Number uint8 `json:"number"` + Parent_Id *uint16 `json:"parent_id"` + Type_Code string `json:"type_code"` + Queue_Code string `json:"queue_code"` +} + +func (d Counter) ToResponse() ResponseDto { + resp := ResponseDto{ + Code: d.Code, + Name: d.Name, + Number: d.Number, + Parent_Id: d.Parent_Id, + Type_Code: d.Type_Code, + Queue_Code: d.Queue_Code, + } + resp.SmallMain = d.SmallMain + return resp +} + +func ToResponseList(data []Counter) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/counter/entity.go b/internal/domain/main-entities/counter/entity.go new file mode 100644 index 00000000..9c05c0fc --- /dev/null +++ b/internal/domain/main-entities/counter/entity.go @@ -0,0 +1,15 @@ +package counter + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type Counter struct { + ecore.SmallMain // adjust this according to the needs + Code string `json:"code" gorm:"unique;size:10"` + Name string `json:"name" gorm:"size:30"` + Number uint8 `json:"number" gorm:"size:10"` + Parent_Id *uint16 `json:"parent_id"` + Type_Code string `json:"type_code"` + Queue_Code string `json:"queue_code" gorm:"size:5"` +} diff --git a/internal/domain/main-entities/diagnose-src/dto.go b/internal/domain/main-entities/diagnose-src/dto.go index 42db5c5d..9e8736a1 100644 --- a/internal/domain/main-entities/diagnose-src/dto.go +++ b/internal/domain/main-entities/diagnose-src/dto.go @@ -59,9 +59,9 @@ func (d DiagnoseSrc) ToResponse() ResponseDto { return resp } -func ToResponseList(users []DiagnoseSrc) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []DiagnoseSrc) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/district/dto.go b/internal/domain/main-entities/district/dto.go index 156d97b3..850d4649 100644 --- a/internal/domain/main-entities/district/dto.go +++ b/internal/domain/main-entities/district/dto.go @@ -53,9 +53,9 @@ func (d District) ToResponse() ResponseDto { return resp } -func ToResponseList(users []District) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []District) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/division-position/dto.go b/internal/domain/main-entities/division-position/dto.go index fd9446fc..8dd18d0b 100644 --- a/internal/domain/main-entities/division-position/dto.go +++ b/internal/domain/main-entities/division-position/dto.go @@ -64,9 +64,9 @@ func (d DivisionPosition) ToResponse() ResponseDto { return resp } -func ToResponseList(users []DivisionPosition) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []DivisionPosition) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/division/dto.go b/internal/domain/main-entities/division/dto.go index 3d369cdf..d9d7b606 100644 --- a/internal/domain/main-entities/division/dto.go +++ b/internal/domain/main-entities/division/dto.go @@ -59,9 +59,9 @@ func (d Division) ToResponse() ResponseDto { return resp } -func ToResponseList(users []Division) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []Division) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/doctor/dto.go b/internal/domain/main-entities/doctor/dto.go new file mode 100644 index 00000000..f251fe59 --- /dev/null +++ b/internal/domain/main-entities/doctor/dto.go @@ -0,0 +1,79 @@ +package doctor + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" + eu "simrs-vx/internal/domain/main-entities/unit" +) + +type CreateDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` + SIP_Number *string `json:"sip_number"` + Unit_Id *uint `json:"unit_id"` +} + +type ReadListDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` + SIP_Number *string `json:"sip_number"` + Unit_Id *uint `json:"unit_id"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` + SIP_Number *string `json:"sip_number"` + Unit_Id *uint `json:"unit_id"` +} + +type UpdateDto struct { + Id uint `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty"` + IHS_Number *string `json:"ihs_number"` + SIP_Number *string `json:"sip_number"` + Unit_Id *uint `json:"unit_id"` + Unit *eu.Unit `json:"unit,omitempty"` +} + +func (d Doctor) ToResponse() ResponseDto { + resp := ResponseDto{ + Employee_Id: d.Employee_Id, + Employee: d.Employee, + IHS_Number: d.IHS_Number, + SIP_Number: d.SIP_Number, + Unit_Id: d.Unit_Id, + Unit: d.Unit, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []Doctor) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/doctor/entity.go b/internal/domain/main-entities/doctor/entity.go new file mode 100644 index 00000000..f73356ea --- /dev/null +++ b/internal/domain/main-entities/doctor/entity.go @@ -0,0 +1,17 @@ +package doctor + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" + eu "simrs-vx/internal/domain/main-entities/unit" +) + +type Doctor struct { + ecore.Main // adjust this according to the needs + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"` + IHS_Number *string `json:"ihs_number" gorm:"size:20"` + SIP_Number *string `json:"sip_number" gorm:"size:20"` + Unit_Id *uint `json:"unit_id"` + Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Id;references:Id"` +} diff --git a/internal/domain/main-entities/employee/dto.go b/internal/domain/main-entities/employee/dto.go new file mode 100644 index 00000000..8aa9402d --- /dev/null +++ b/internal/domain/main-entities/employee/dto.go @@ -0,0 +1,87 @@ +package employee + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ed "simrs-vx/internal/domain/main-entities/division" + erc "simrs-vx/internal/domain/references/common" +) + +type CreateDto struct { + User_Id *uint `json:"user_id"` + Person_Id *uint `json:"person_id"` + Position_Code erc.EmployeePosisitionCode `json:"position_code"` + Division_Code *string `json:"division_code"` + Number *string `json:"number"` + Status_Code erc.StatusCode `json:"status_code"` +} + +type ReadListDto struct { + User_Id *uint `json:"user_id"` + Person_Id *uint `json:"person_id"` + Position_Code erc.EmployeePosisitionCode `json:"position_code"` + Division_Code *string `json:"division_code"` + Number *string `json:"number"` + Status_Code erc.StatusCode `json:"status_code"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + User_Id *uint `json:"user_id"` + Person_Id *uint `json:"person_id"` + Position_Code erc.EmployeePosisitionCode `json:"position_code"` + Division_Code *string `json:"division_code"` + Number *string `json:"number"` + Status_Code erc.StatusCode `json:"status_code"` +} + +type UpdateDto struct { + Id uint `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + User_Id *uint `json:"user_id"` + Person_Id *uint `json:"person_id"` + Position_Code erc.EmployeePosisitionCode `json:"position_code"` + Division_Code *string `json:"division_code"` + Division *ed.Division `json:"division,omitempty"` + Number *string `json:"number"` + Status_Code erc.StatusCode `json:"status_code"` +} + +func (d Employee) ToResponse() ResponseDto { + resp := ResponseDto{ + User_Id: d.User_Id, + Person_Id: d.Person_Id, + Position_Code: d.Position_Code, + Division_Code: d.Division_Code, + Division: d.Division, + Number: d.Number, + Status_Code: d.Status_Code, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []Employee) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/employee/entity.go b/internal/domain/main-entities/employee/entity.go new file mode 100644 index 00000000..8d6df9fd --- /dev/null +++ b/internal/domain/main-entities/employee/entity.go @@ -0,0 +1,18 @@ +package employee + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ed "simrs-vx/internal/domain/main-entities/division" + erc "simrs-vx/internal/domain/references/common" +) + +type Employee struct { + ecore.Main // adjust this according to the needs + User_Id *uint `json:"user_id"` + Person_Id *uint `json:"person_id"` + Position_Code erc.EmployeePosisitionCode `json:"position_code" gorm:"not null;size:20"` + Division_Code *string `json:"division_code"` + Division *ed.Division `json:"division,omitempty" gorm:"foreignKey:Division_Code;references:Code"` + Number *string `json:"number" gorm:"size:20"` + Status_Code erc.StatusCode `json:"status_code" gorm:"not null;size:10"` +} diff --git a/internal/domain/main-entities/infra-group/dto.go b/internal/domain/main-entities/infra-group/dto.go new file mode 100644 index 00000000..9b10d189 --- /dev/null +++ b/internal/domain/main-entities/infra-group/dto.go @@ -0,0 +1,63 @@ +package infragroup + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type CreateDto struct { + Code string `json:"code"` + Name string `json:"name"` +} + +type ReadListDto struct { + Code string `json:"code"` + Name string `json:"name"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Code string `json:"code"` + Name string `json:"name"` +} + +type UpdateDto struct { + Id uint `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Code string `json:"code"` + Name string `json:"name"` +} + +func (d InfraGroup) ToResponse() ResponseDto { + resp := ResponseDto{ + Code: d.Code, + Name: d.Name, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []InfraGroup) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/infra-group/entity.go b/internal/domain/main-entities/infra-group/entity.go new file mode 100644 index 00000000..f749030a --- /dev/null +++ b/internal/domain/main-entities/infra-group/entity.go @@ -0,0 +1,11 @@ +package infragroup + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type InfraGroup struct { + ecore.Main // adjust this according to the needs + Code string `json:"code" gorm:"unique;size:50"` + Name string `json:"name" gorm:"size:100"` +} diff --git a/internal/domain/main-entities/installation/dto.go b/internal/domain/main-entities/installation/dto.go index e4f806b1..66ce57ff 100644 --- a/internal/domain/main-entities/installation/dto.go +++ b/internal/domain/main-entities/installation/dto.go @@ -50,19 +50,19 @@ type ResponseDto struct { EncounterClass_Code ere.EncounterClass `json:"encounterClass_code"` } -func (i Installation) ToResponse() ResponseDto { +func (d Installation) ToResponse() ResponseDto { resp := ResponseDto{ - Code: i.Code, - Name: i.Name, - EncounterClass_Code: i.EncounterClass_Code, + Code: d.Code, + Name: d.Name, + EncounterClass_Code: d.EncounterClass_Code, } - resp.SmallMain = i.SmallMain + resp.SmallMain = d.SmallMain return resp } -func ToResponseList(users []Installation) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []Installation) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/item-group/dto.go b/internal/domain/main-entities/item-group/dto.go new file mode 100644 index 00000000..99681811 --- /dev/null +++ b/internal/domain/main-entities/item-group/dto.go @@ -0,0 +1,63 @@ +package itemgroup + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type CreateDto struct { + Code string `json:"code"` + Name string `json:"name"` +} + +type ReadListDto struct { + Code string `json:"code"` + Name string `json:"name"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Code string `json:"code"` + Name string `json:"name"` +} + +type UpdateDto struct { + Id uint `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Code string `json:"code"` + Name string `json:"name"` +} + +func (d ItemGroup) ToResponse() ResponseDto { + resp := ResponseDto{ + Code: d.Code, + Name: d.Name, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []ItemGroup) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/item-group/entity.go b/internal/domain/main-entities/item-group/entity.go new file mode 100644 index 00000000..24ee3331 --- /dev/null +++ b/internal/domain/main-entities/item-group/entity.go @@ -0,0 +1,11 @@ +package itemgroup + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" +) + +type ItemGroup struct { + ecore.Main // adjust this according to the needs + Code string `json:"code" gorm:"unique;size:50"` + Name string `json:"name" gorm:"size:100"` +} diff --git a/internal/domain/main-entities/nurse/dto.go b/internal/domain/main-entities/nurse/dto.go new file mode 100644 index 00000000..3feaa041 --- /dev/null +++ b/internal/domain/main-entities/nurse/dto.go @@ -0,0 +1,66 @@ +package nurse + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" +) + +type CreateDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` +} + +type ReadListDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` +} + +type UpdateDto struct { + Id uint `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty"` + IHS_Number *string `json:"ihs_number"` +} + +func (d Nurse) ToResponse() ResponseDto { + resp := ResponseDto{ + Employee_Id: d.Employee_Id, + Employee: d.Employee, + IHS_Number: d.IHS_Number, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []Nurse) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/nurse/entity.go b/internal/domain/main-entities/nurse/entity.go new file mode 100644 index 00000000..4b497574 --- /dev/null +++ b/internal/domain/main-entities/nurse/entity.go @@ -0,0 +1,13 @@ +package nurse + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" +) + +type Nurse struct { + ecore.Main // adjust this according to the needs + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"` + IHS_Number *string `json:"ihs_number" gorm:"size:20"` +} diff --git a/internal/domain/main-entities/nutritionist/dto.go b/internal/domain/main-entities/nutritionist/dto.go new file mode 100644 index 00000000..c5bc7003 --- /dev/null +++ b/internal/domain/main-entities/nutritionist/dto.go @@ -0,0 +1,66 @@ +package nutritionist + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" +) + +type CreateDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` +} + +type ReadListDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` +} + +type UpdateDto struct { + Id uint `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty"` + IHS_Number *string `json:"ihs_number"` +} + +func (d Nutritionist) ToResponse() ResponseDto { + resp := ResponseDto{ + Employee_Id: d.Employee_Id, + Employee: d.Employee, + IHS_Number: d.IHS_Number, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []Nutritionist) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/nutritionist/entity.go b/internal/domain/main-entities/nutritionist/entity.go new file mode 100644 index 00000000..8956b8b4 --- /dev/null +++ b/internal/domain/main-entities/nutritionist/entity.go @@ -0,0 +1,13 @@ +package nutritionist + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" +) + +type Nutritionist struct { + ecore.Main // adjust this according to the needs + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"` + IHS_Number *string `json:"ihs_number" gorm:"size:20"` +} diff --git a/internal/domain/main-entities/person-address/dto.go b/internal/domain/main-entities/person-address/dto.go index 7a4ba174..73ae88ce 100644 --- a/internal/domain/main-entities/person-address/dto.go +++ b/internal/domain/main-entities/person-address/dto.go @@ -63,9 +63,9 @@ func (d PersonAddress) ToResponse() ResponseDto { return resp } -func ToResponseList(users []PersonAddress) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []PersonAddress) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/person-contact/dto.go b/internal/domain/main-entities/person-contact/dto.go index 19104de3..e6865191 100644 --- a/internal/domain/main-entities/person-contact/dto.go +++ b/internal/domain/main-entities/person-contact/dto.go @@ -46,19 +46,19 @@ type ResponseDto struct { Value string `json:"value"` } -func (u *PersonContact) ToResponse() ResponseDto { +func (d *PersonContact) ToResponse() ResponseDto { resp := ResponseDto{ - Person_Id: u.Person_Id, - Type_Code: u.Type_Code, - Value: u.Value, + Person_Id: d.Person_Id, + Type_Code: d.Type_Code, + Value: d.Value, } - resp.Main = u.Main + resp.Main = d.Main return resp } -func ToResponseList(users []PersonContact) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []PersonContact) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/person/dto.go b/internal/domain/main-entities/person/dto.go index 061c960b..dcead8c8 100644 --- a/internal/domain/main-entities/person/dto.go +++ b/internal/domain/main-entities/person/dto.go @@ -72,28 +72,28 @@ type ResponseDto struct { Contacts *[]epc.PersonContact `json:"contacts,omitempty"` } -func (u *Person) ToResponse() ResponseDto { +func (d *Person) ToResponse() ResponseDto { resp := ResponseDto{ - Name: u.Name, - BirthDate: u.BirthDate, - BirthRegency_Code: u.BirthRegency_Code, - Gender_Code: u.Gender_Code, - ResidentIdentityNumber: u.ResidentIdentityNumber, - Religion_Code: u.Religion_Code, - Education_Code: u.Education_Code, - Ocupation_Code: u.Ocupation_Code, - Ocupation_Name: u.Ocupation_Name, - Ethnic_Code: u.Ethnic_Code, - Addresses: u.Addresses, - Contacts: u.Contacts, + Name: d.Name, + BirthDate: d.BirthDate, + BirthRegency_Code: d.BirthRegency_Code, + Gender_Code: d.Gender_Code, + ResidentIdentityNumber: d.ResidentIdentityNumber, + Religion_Code: d.Religion_Code, + Education_Code: d.Education_Code, + Ocupation_Code: d.Ocupation_Code, + Ocupation_Name: d.Ocupation_Name, + Ethnic_Code: d.Ethnic_Code, + Addresses: d.Addresses, + Contacts: d.Contacts, } - resp.Main = u.Main + resp.Main = d.Main return resp } -func ToResponseList(users []Person) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []Person) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/pharmacist/dto.go b/internal/domain/main-entities/pharmacist/dto.go new file mode 100644 index 00000000..07bcd1f7 --- /dev/null +++ b/internal/domain/main-entities/pharmacist/dto.go @@ -0,0 +1,66 @@ +package pharmacist + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" +) + +type CreateDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` +} + +type ReadListDto struct { + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Employee_Id *uint `json:"employee_id"` + IHS_Number *string `json:"ihs_number"` +} + +type UpdateDto struct { + Id uint `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty"` + IHS_Number *string `json:"ihs_number"` +} + +func (d Pharmacist) ToResponse() ResponseDto { + resp := ResponseDto{ + Employee_Id: d.Employee_Id, + Employee: d.Employee, + IHS_Number: d.IHS_Number, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []Pharmacist) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/pharmacist/entity.go b/internal/domain/main-entities/pharmacist/entity.go new file mode 100644 index 00000000..352fa9ba --- /dev/null +++ b/internal/domain/main-entities/pharmacist/entity.go @@ -0,0 +1,13 @@ +package pharmacist + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ee "simrs-vx/internal/domain/main-entities/employee" +) + +type Pharmacist struct { + ecore.Main // adjust this according to the needs + Employee_Id *uint `json:"employee_id"` + Employee *ee.Employee `json:"employee,omitempty" gorm:"foreignKey:Employee_Id;references:Id"` + IHS_Number *string `json:"ihs_number" gorm:"size:20"` +} diff --git a/internal/domain/main-entities/pharmacy-company/dto.go b/internal/domain/main-entities/pharmacy-company/dto.go index afd671ab..d8f4dd27 100644 --- a/internal/domain/main-entities/pharmacy-company/dto.go +++ b/internal/domain/main-entities/pharmacy-company/dto.go @@ -59,9 +59,9 @@ func (d PharmacyCompany) ToResponse() ResponseDto { return resp } -func ToResponseList(users []PharmacyCompany) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []PharmacyCompany) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/practice-schedule/dto.go b/internal/domain/main-entities/practice-schedule/dto.go new file mode 100644 index 00000000..5a74137e --- /dev/null +++ b/internal/domain/main-entities/practice-schedule/dto.go @@ -0,0 +1,79 @@ +package practiceschedule + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + erx "simrs-vx/internal/domain/references/xtime" +) + +type CreateDto struct { + Doctor_Id *uint `json:"doctor_id"` + Unit_Code *string `json:"unit_code"` + Day_Code *erx.DayCode `json:"day_code"` + StartTime *string `json:"start_time"` + EndTime *string `json:"end_time"` +} + +type ReadListDto struct { + Doctor_Id *uint `json:"doctor_id"` + Unit_Code *string `json:"unit_code"` + Day_Code *erx.DayCode `json:"day_code"` + StartTime *string `json:"start_time"` + EndTime *string `json:"end_time"` + + Page int `json:"page"` + PageSize int `json:"page_size"` + NoPagination int `json:"no_pagination"` +} + +type ReadDetailDto struct { + Id uint16 `json:"id"` + Doctor_Id *uint `json:"doctor_id"` + Unit_Code *string `json:"unit_code"` + Day_Code *erx.DayCode `json:"day_code"` + StartTime *string `json:"start_time"` + EndTime *string `json:"end_time"` +} + +type UpdateDto struct { + Id uint16 `json:"id"` + CreateDto +} + +type DeleteDto struct { + Id uint16 `json:"id"` +} + +type MetaDto struct { + PageNumber int `json:"page_number"` + PageSize int `json:"page_size"` + Count int `json:"count"` +} + +type ResponseDto struct { + ecore.Main + Doctor_Id *uint `json:"doctor_id"` + Unit_Code *string `json:"unit_code"` + Day_Code *erx.DayCode `json:"day_code"` + StartTime *string `json:"start_time"` + EndTime *string `json:"end_time"` +} + +func (d PracticeSchedule) ToResponse() ResponseDto { + resp := ResponseDto{ + Doctor_Id: d.Doctor_Id, + Unit_Code: d.Unit_Code, + Day_Code: d.Day_Code, + StartTime: d.StartTime, + EndTime: d.EndTime, + } + resp.Main = d.Main + return resp +} + +func ToResponseList(data []PracticeSchedule) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { + resp[i] = u.ToResponse() + } + return resp +} diff --git a/internal/domain/main-entities/practice-schedule/entity.go b/internal/domain/main-entities/practice-schedule/entity.go new file mode 100644 index 00000000..e24e8584 --- /dev/null +++ b/internal/domain/main-entities/practice-schedule/entity.go @@ -0,0 +1,19 @@ +package practiceschedule + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ed "simrs-vx/internal/domain/main-entities/doctor" + eu "simrs-vx/internal/domain/main-entities/unit" + erx "simrs-vx/internal/domain/references/xtime" +) + +type PracticeSchedule struct { + ecore.Main // adjust this according to the needs + Doctor_Id *uint `json:"doctor_id"` + Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Id;references:Id"` + Unit_Code *string `json:"unit_code"` + Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"` + Day_Code *erx.DayCode `json:"day_code"` + StartTime *string `json:"start_time" gorm:"size:5"` + EndTime *string `json:"end_time" gorm:"size:5"` +} diff --git a/internal/domain/main-entities/procedure-src/dto.go b/internal/domain/main-entities/procedure-src/dto.go index 05333300..c0ba8c30 100644 --- a/internal/domain/main-entities/procedure-src/dto.go +++ b/internal/domain/main-entities/procedure-src/dto.go @@ -59,9 +59,9 @@ func (d ProcedureSrc) ToResponse() ResponseDto { return resp } -func ToResponseList(users []ProcedureSrc) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []ProcedureSrc) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/province/dto.go b/internal/domain/main-entities/province/dto.go index c1b771fa..bc1461e0 100644 --- a/internal/domain/main-entities/province/dto.go +++ b/internal/domain/main-entities/province/dto.go @@ -50,9 +50,9 @@ func (d Province) ToResponse() ResponseDto { return resp } -func ToResponseList(users []Province) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []Province) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/regency/dto.go b/internal/domain/main-entities/regency/dto.go index 56cc0a76..6cb850de 100644 --- a/internal/domain/main-entities/regency/dto.go +++ b/internal/domain/main-entities/regency/dto.go @@ -48,14 +48,14 @@ type ResponseDto struct { Districts []*ed.District `json:"districts,omitempty"` } -func (r Regency) ToResponse() ResponseDto { - resp := ResponseDto(r) +func (d Regency) ToResponse() ResponseDto { + resp := ResponseDto(d) return resp } -func ToResponseList(users []Regency) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []Regency) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/unit/dto.go b/internal/domain/main-entities/unit/dto.go index 5b0c3aef..448d16ec 100644 --- a/internal/domain/main-entities/unit/dto.go +++ b/internal/domain/main-entities/unit/dto.go @@ -51,22 +51,22 @@ type ResponseDto struct { Name string `json:"name"` } -func (u Unit) ToResponse() ResponseDto { +func (d Unit) ToResponse() ResponseDto { resp := ResponseDto{ - Installation_Id: u.Installation_Id, - Code: u.Code, - Name: u.Name, + Installation_Id: d.Installation_Id, + Code: d.Code, + Name: d.Name, } - resp.SmallMain = u.SmallMain - if u.Installation != nil { - resp.Installation = u.Installation + resp.SmallMain = d.SmallMain + if d.Installation != nil { + resp.Installation = d.Installation } return resp } -func ToResponseList(users []Unit) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []Unit) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/user/dto.go b/internal/domain/main-entities/user/dto.go index b3c2cac8..98c3a2d1 100644 --- a/internal/domain/main-entities/user/dto.go +++ b/internal/domain/main-entities/user/dto.go @@ -56,21 +56,21 @@ type ResponseDto struct { LastAllowdLogin *time.Time `json:"lastAllowdLogin,omitempty"` } -func (u *User) ToResponse() ResponseDto { +func (d *User) ToResponse() ResponseDto { resp := ResponseDto{ - Name: u.Name, - Status_Code: u.Status_Code, - FailedLoginCount: u.FailedLoginCount, - LastSuccessLogin: u.LastSuccessLogin, - LastAllowdLogin: u.LastAllowdLogin, + Name: d.Name, + Status_Code: d.Status_Code, + FailedLoginCount: d.FailedLoginCount, + LastSuccessLogin: d.LastSuccessLogin, + LastAllowdLogin: d.LastAllowdLogin, } - resp.Main = u.Main + resp.Main = d.Main return resp } -func ToResponseList(users []User) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []User) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/main-entities/village/dto.go b/internal/domain/main-entities/village/dto.go index 750a382c..bdd1a323 100644 --- a/internal/domain/main-entities/village/dto.go +++ b/internal/domain/main-entities/village/dto.go @@ -45,14 +45,14 @@ type ResponseDto struct { Name string `json:"name"` } -func (v Village) ToResponse() ResponseDto { - resp := ResponseDto(v) +func (d Village) ToResponse() ResponseDto { + resp := ResponseDto(d) return resp } -func ToResponseList(users []Village) []ResponseDto { - resp := make([]ResponseDto, len(users)) - for i, u := range users { +func ToResponseList(data []Village) []ResponseDto { + resp := make([]ResponseDto, len(data)) + for i, u := range data { resp[i] = u.ToResponse() } return resp diff --git a/internal/domain/references/common/common.go b/internal/domain/references/common/common.go index 7f6fed2b..dfd44baf 100644 --- a/internal/domain/references/common/common.go +++ b/internal/domain/references/common/common.go @@ -1,12 +1,13 @@ package common type ( - YaTidakCode byte - SudahBelumCode byte - AktifSimpelCode byte - AktifAdvanceCode byte - TersediaCode byte - StatusCode string + YaTidakCode byte + SudahBelumCode byte + AktifSimpelCode byte + AktifAdvanceCode byte + TersediaCode byte + StatusCode string + EmployeePosisitionCode string ) const ( @@ -41,3 +42,14 @@ const ( SCBlocked StatusCode = "blocked" SCSuspended StatusCode = "suspended" ) + +const ( + EPCDoc EmployeePosisitionCode = "doctor" + EPCNur EmployeePosisitionCode = "nurse" + EPCNut EmployeePosisitionCode = "nutritionist" + EPCLab EmployeePosisitionCode = "laborant" + EPCPha EmployeePosisitionCode = "pharmacy" + EPCPay EmployeePosisitionCode = "payment" + EPCPav EmployeePosisitionCode = "payment-verificator" + EPCMan EmployeePosisitionCode = "management" +) diff --git a/internal/interface/migration/migration.go b/internal/interface/migration/migration.go index beeb666e..3acc76cd 100644 --- a/internal/interface/migration/migration.go +++ b/internal/interface/migration/migration.go @@ -5,15 +5,24 @@ import ( "io" "os" "os/exec" + counter "simrs-vx/internal/domain/main-entities/counter" diagnosesrc "simrs-vx/internal/domain/main-entities/diagnose-src" district "simrs-vx/internal/domain/main-entities/district" division "simrs-vx/internal/domain/main-entities/division" divisionposition "simrs-vx/internal/domain/main-entities/division-position" + doctor "simrs-vx/internal/domain/main-entities/doctor" + employee "simrs-vx/internal/domain/main-entities/employee" + infragroup "simrs-vx/internal/domain/main-entities/infra-group" installation "simrs-vx/internal/domain/main-entities/installation" + itemgroup "simrs-vx/internal/domain/main-entities/item-group" + nurse "simrs-vx/internal/domain/main-entities/nurse" + nutritionist "simrs-vx/internal/domain/main-entities/nutritionist" person "simrs-vx/internal/domain/main-entities/person" personaddress "simrs-vx/internal/domain/main-entities/person-address" personcontact "simrs-vx/internal/domain/main-entities/person-contact" + pharmacist "simrs-vx/internal/domain/main-entities/pharmacist" pharmacycompany "simrs-vx/internal/domain/main-entities/pharmacy-company" + practiceschedule "simrs-vx/internal/domain/main-entities/practice-schedule" proceduresrc "simrs-vx/internal/domain/main-entities/procedure-src" province "simrs-vx/internal/domain/main-entities/province" regency "simrs-vx/internal/domain/main-entities/regency" @@ -69,6 +78,15 @@ func GetEntities() []any { &pharmacycompany.PharmacyCompany{}, &diagnosesrc.DiagnoseSrc{}, &proceduresrc.ProcedureSrc{}, + &infragroup.InfraGroup{}, + &employee.Employee{}, + &itemgroup.ItemGroup{}, + &doctor.Doctor{}, + &nurse.Nurse{}, + &nutritionist.Nutritionist{}, + &pharmacist.Pharmacist{}, + &counter.Counter{}, + &practiceschedule.PracticeSchedule{}, } }