feat (crud): add division, division-position
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
package divisionposition
|
||||
|
||||
import (
|
||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||
)
|
||||
|
||||
type CreateDto struct {
|
||||
Division_Id *uint16 `json:"division_id"`
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type ReadListDto struct {
|
||||
Division_Id *uint16 `json:"division_id"`
|
||||
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"`
|
||||
Division_Id *uint16 `json:"division_id"`
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
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
|
||||
Division_Id *uint16 `json:"division_id"`
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
func (d DivisionPosition) ToResponse() ResponseDto {
|
||||
resp := ResponseDto{
|
||||
Division_Id: d.Division_Id,
|
||||
Code: d.Code,
|
||||
Name: d.Name,
|
||||
}
|
||||
resp.SmallMain = d.SmallMain
|
||||
return resp
|
||||
}
|
||||
|
||||
func ToResponseList(users []DivisionPosition) []ResponseDto {
|
||||
resp := make([]ResponseDto, len(users))
|
||||
for i, u := range users {
|
||||
resp[i] = u.ToResponse()
|
||||
}
|
||||
return resp
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package divisionposition
|
||||
|
||||
import (
|
||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||
ed "simrs-vx/internal/domain/main-entities/division"
|
||||
)
|
||||
|
||||
type DivisionPosition struct {
|
||||
ecore.SmallMain // adjust this according to the needs
|
||||
Division_Id *uint16 `json:"division_id"`
|
||||
Division *ed.Division `json:"division" gorm:"foreignKey:Division_Id"`
|
||||
Code string `json:"code" gorm:"size:10"`
|
||||
Name string `json:"name" gorm:"size:50"`
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package division
|
||||
|
||||
import (
|
||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||
)
|
||||
|
||||
type CreateDto struct {
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
Parent_Id *int16 `json:"parent_id"`
|
||||
}
|
||||
|
||||
type ReadListDto struct {
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
Parent_Id *int16 `json:"parent_id"`
|
||||
|
||||
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"`
|
||||
Parent_Id *int16 `json:"parent_id"`
|
||||
}
|
||||
|
||||
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"`
|
||||
Parent_Id *int16 `json:"parent_id"`
|
||||
}
|
||||
|
||||
func (d Division) ToResponse() ResponseDto {
|
||||
resp := ResponseDto{
|
||||
Code: d.Code,
|
||||
Name: d.Name,
|
||||
Parent_Id: d.Parent_Id,
|
||||
}
|
||||
resp.SmallMain = d.SmallMain
|
||||
return resp
|
||||
}
|
||||
|
||||
func ToResponseList(users []Division) []ResponseDto {
|
||||
resp := make([]ResponseDto, len(users))
|
||||
for i, u := range users {
|
||||
resp[i] = u.ToResponse()
|
||||
}
|
||||
return resp
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package division
|
||||
|
||||
import (
|
||||
ecore "simrs-vx/internal/domain/base-entities/core"
|
||||
)
|
||||
|
||||
type Division struct {
|
||||
ecore.SmallMain // adjust this according to the needs
|
||||
Code string `json:"code" gorm:"size:10"`
|
||||
Name string `json:"name" gorm:"size:50"`
|
||||
Parent_Id *int16 `json:"parent_id"`
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package encounter
|
||||
|
||||
type (
|
||||
EncounterStatus string
|
||||
EncounterClass string
|
||||
EmergencyClass string
|
||||
InpatientClass string
|
||||
)
|
||||
|
||||
const (
|
||||
EncounterStatusNew EncounterStatus = "new"
|
||||
EncounterStatusNurse EncounterStatus = "nurse assessment"
|
||||
EncounterStatusDoctor EncounterStatus = "doctor assessment"
|
||||
EncounterStatusDone EncounterStatus = "done"
|
||||
EncounterStatusCancel EncounterStatus = "canceled"
|
||||
)
|
||||
const (
|
||||
IGD EmergencyClass = "igd"
|
||||
Ponek EmergencyClass = "ponek"
|
||||
)
|
||||
const (
|
||||
ECAmbulatory EncounterClass = "ambulatory"
|
||||
ECInpatient EncounterClass = "inpatient"
|
||||
ECEmergency EncounterClass = "emergency"
|
||||
ECRadiology EncounterClass = "radiology"
|
||||
)
|
||||
|
||||
func (ec EncounterClass) Code() string {
|
||||
switch ec {
|
||||
case ECAmbulatory:
|
||||
return "AMB"
|
||||
case ECInpatient:
|
||||
return "IMP"
|
||||
case ECEmergency:
|
||||
return "EMER"
|
||||
default:
|
||||
return "UNKNOWN"
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
ICU InpatientClass = "ICU"
|
||||
NonICU InpatientClass = "non ICU"
|
||||
)
|
||||
@@ -1,44 +0,0 @@
|
||||
package examination
|
||||
|
||||
type (
|
||||
ExaminationStatus string
|
||||
ExaminationClass string
|
||||
EmergencyClass string
|
||||
InpatientClass string
|
||||
)
|
||||
|
||||
const (
|
||||
ExaminationStatusNew ExaminationStatus = "new"
|
||||
ExaminationStatusNurse ExaminationStatus = "nurse assessment"
|
||||
ExaminationStatusDoctor ExaminationStatus = "doctor assessment"
|
||||
ExaminationStatusDone ExaminationStatus = "done"
|
||||
ExaminationStatusCancel ExaminationStatus = "canceled"
|
||||
)
|
||||
const (
|
||||
IGD EmergencyClass = "igd"
|
||||
Ponek EmergencyClass = "ponek"
|
||||
)
|
||||
const (
|
||||
ECAmbulatory ExaminationClass = "ambulatory"
|
||||
ECInpatient ExaminationClass = "inpatient"
|
||||
ECEmergency ExaminationClass = "emergency"
|
||||
ECRadiology ExaminationClass = "radiology"
|
||||
)
|
||||
|
||||
func (ec ExaminationClass) Code() string {
|
||||
switch ec {
|
||||
case ECAmbulatory:
|
||||
return "AMB"
|
||||
case ECInpatient:
|
||||
return "IMP"
|
||||
case ECEmergency:
|
||||
return "EMER"
|
||||
default:
|
||||
return "UNKNOWN"
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
ICU InpatientClass = "ICU"
|
||||
NonICU InpatientClass = "non ICU"
|
||||
)
|
||||
Reference in New Issue
Block a user