Merge branch 'migration' of github.com:dikstub-rssa/simrs-be into feat/file-generator-169

This commit is contained in:
dpurbosakti
2025-12-03 10:26:05 +07:00
62 changed files with 2264 additions and 195 deletions
@@ -0,0 +1,63 @@
package devicepackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type CreateDto struct {
Code string `json:"code" validate:"maxLength=20"`
Name string `json:"name" validate:"maxLength=50"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
Code string `json:"code"`
Name string `json:"name"`
}
type ReadDetailDto struct {
Id uint16 `json:"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"`
}
func (d DevicePackage) ToResponse() ResponseDto {
resp := ResponseDto{
Code: d.Code,
Name: d.Name,
}
resp.SmallMain = d.SmallMain
return resp
}
func ToResponseList(data []DevicePackage) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,11 @@
package devicepackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type DevicePackage struct {
ecore.SmallMain
Code string `json:"code" gorm:"unique;size:20;not null"`
Name string `json:"name" gorm:"size:50"`
}
@@ -0,0 +1,69 @@
package devicepackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ed "simrs-vx/internal/domain/main-entities/device"
edp "simrs-vx/internal/domain/main-entities/device-package"
)
type CreateDto struct {
DevicePackage_Code string `json:"devicePackage_code" validate:"maxLength=20"`
Device_Code string `json:"code" validate:"maxLength=20"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
DevicePackage_Code string `json:"devicePackage-code"`
Device_Code string `json:"code"`
}
type ReadDetailDto struct {
Id uint `json:"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
DevicePackage_Code string `json:"devicePackage_code"`
DevicePackage *edp.DevicePackage `json:"devicePackage,omitempty"`
Device_Code string `json:"code"`
Device *ed.Device `json:"device,omitempty"`
}
func (d DevicePackageItem) ToResponse() ResponseDto {
resp := ResponseDto{
DevicePackage_Code: d.DevicePackage_Code,
DevicePackage: d.DevicePackage,
Device_Code: d.Device_Code,
Device: d.Device,
}
resp.Id = d.Id
return resp
}
func ToResponseList(data []DevicePackageItem) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,15 @@
package devicepackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ed "simrs-vx/internal/domain/main-entities/device"
edp "simrs-vx/internal/domain/main-entities/device-package"
)
type DevicePackageItem struct {
ecore.Main
DevicePackage_Code string `json:"devicePackage_code" gorm:"size:20;not null"`
DevicePackage *edp.DevicePackage `json:"devicePackage" gorm:"foreignKey:DevicePackage_Code;references:Code"`
Device_Code string `json:"code" gorm:"size:20;not null"`
Device *ed.Device `json:"device" gorm:"foreignKey:Device_Code;references:Code"`
}
@@ -0,0 +1,63 @@
package devicepackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type CreateDto struct {
Code string `json:"code" validate:"maxLength=20"`
Name string `json:"name" validate:"maxLength=50"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
Code string `json:"code"`
Name string `json:"name"`
}
type ReadDetailDto struct {
Id uint16 `json:"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"`
}
func (d DevicePackage) ToResponse() ResponseDto {
resp := ResponseDto{
Code: d.Code,
Name: d.Name,
}
resp.SmallMain = d.SmallMain
return resp
}
func ToResponseList(data []DevicePackage) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,11 @@
package devicepackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type DevicePackage struct {
ecore.SmallMain
Code string `json:"code" gorm:"unique;size:20;not null"`
Name string `json:"name" gorm:"size:50"`
}
+10 -9
View File
@@ -3,15 +3,16 @@ package infra
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ei "simrs-vx/internal/domain/main-entities/item"
erb "simrs-vx/internal/domain/main-entities/room/base"
erb "simrs-vx/internal/domain/main-entities/procedure-room/base"
ero "simrs-vx/internal/domain/references/organization"
)
type CreateDto struct {
Code string `json:"code" validate:"maxLength=10"`
Code string `json:"code" validate:"maxLength=20"`
Name string `json:"name" validate:"maxLength=50"`
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" validate:"maxLength=15"`
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" validate:"maxLength=20"`
Parent_Code *string `json:"parent_code"`
Item_Code *string `json:"-"`
Unit_Code *string `json:"unit_code"`
@@ -31,7 +32,7 @@ type ReadListDto struct {
type FilterDto struct {
Code string `json:"code"`
Name string `json:"name"`
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup-code"`
InfraGroup_Code ero.InfraGroupCode `json:"infra-group-code"`
Parent_Code *string `json:"parent-code"`
Item_Id *string `json:"item-code"`
Search string `json:"search" gormhelper:"searchColumns=Code,Name"`
@@ -69,7 +70,7 @@ type ResponseDto struct {
Childrens []Infra `json:"childrens,omitempty"`
Item_Code *string `json:"item_code"`
Item *ei.Item `json:"item,omitempty"`
Rooms []erb.Basic `json:"rooms,omitempty"`
ProcedureRooms *erb.ProcedureRoom `json:"rooms,omitempty"`
}
func (d Infra) ToResponse() ResponseDto {
@@ -79,10 +80,10 @@ func (d Infra) ToResponse() ResponseDto {
InfraGroup_Code: d.InfraGroup_Code,
Parent_Code: d.Parent_Code,
// Parent: d.Parent,
Childrens: d.Childrens,
Item_Code: d.Item_Code,
Item: d.Item,
Rooms: d.Rooms,
Childrens: d.Childrens,
Item_Code: d.Item_Code,
Item: d.Item,
ProcedureRooms: d.ProcedureRooms,
}
resp.SmallMain = d.SmallMain
return resp
@@ -4,20 +4,20 @@ import (
ecore "simrs-vx/internal/domain/base-entities/core"
ei "simrs-vx/internal/domain/main-entities/item"
erb "simrs-vx/internal/domain/main-entities/room/base"
erb "simrs-vx/internal/domain/main-entities/procedure-room/base"
ero "simrs-vx/internal/domain/references/organization"
)
type Infra struct {
ecore.SmallMain // adjust this according to the needs
Code string `json:"code" gorm:"uniqueIndex;size:10;not null"`
Code string `json:"code" gorm:"uniqueIndex;size:20;not null"`
Name string `json:"name" gorm:"size:50"`
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" gorm:"size:15"`
Parent_Code *string `json:"parent_code" gorm:"size:10"`
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" gorm:"size:20"`
Parent_Code *string `json:"parent_code" gorm:"size:20"`
Parent *Infra `json:"parent" gorm:"foreignKey:Parent_Code;references:Code"`
Childrens []Infra `json:"childrens" gorm:"foreignKey:Parent_Code;references:Code"`
Item_Code *string `json:"item_code" gorm:"size:50"`
Item *ei.Item `json:"item,omitempty" gorm:"foreignKey:Item_Code;references:Code"`
Rooms []erb.Basic `json:"rooms" gorm:"foreignKey:Infra_Code;references:Code"`
ProcedureRooms *erb.ProcedureRoom `json:"rooms" gorm:"foreignKey:Infra_Code;references:Code"`
}
@@ -9,9 +9,9 @@ import (
type CreateDto struct {
Id *uint `json:"id"`
Code *string `json:"code" validate:"maxLength=10"`
Code *string `json:"code" validate:"maxLength=20"`
Name string `json:"name" validate:"maxLength=50"`
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" validate:"maxLength=10"`
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" validate:"maxLength=20"`
}
type ReadListDto struct {
@@ -8,7 +8,7 @@ import (
type Installation struct {
ecore.SmallMain // adjust this according to the needs
Code string `json:"code" gorm:"unique;size:10"`
Code string `json:"code" gorm:"unique;size:20"`
Name string `json:"name" gorm:"size:50"`
EncounterClass_Code ere.EncounterClassCode `json:"encounterClass_code" gorm:"size:10"`
InstallationPositions []eipb.Basic `json:"installationPositions,omitempty" gorm:"foreignKey:Installation_Code;references:Code"`
@@ -0,0 +1,73 @@
package materialpackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
em "simrs-vx/internal/domain/main-entities/material"
emp "simrs-vx/internal/domain/main-entities/material-package"
)
type CreateDto struct {
MaterialPackage_Code string `json:"materialPackage_code" validate:"maxLength=20"`
Material_Code string `json:"material_code" validate:"maxLength=20"`
Count uint16 `json:"count" validate:"required"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
Sort string `json:"sort"`
}
type FilterDto struct {
MaterialPackage_Code string `json:"material-package-code"`
Material_Code string `json:"material_code"`
}
type ReadDetailDto struct {
Id uint `json:"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
MaterialPackage_Code string `json:"materialPackage_code"`
MaterialPackage *emp.MaterialPackage `json:"materialPackage,omitempty"`
Material_Code string `json:"material_code"`
Material *em.Material `json:"material,omitempty"`
Count *uint16 `json:"count"`
}
func (d MaterialPackageItem) ToResponse() ResponseDto {
resp := ResponseDto{
MaterialPackage_Code: d.MaterialPackage_Code,
MaterialPackage: d.MaterialPackage,
Material_Code: d.Material_Code,
Material: d.Material,
Count: d.Count,
}
resp.Id = d.Id
return resp
}
func ToResponseList(data []MaterialPackageItem) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,16 @@
package materialpackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
em "simrs-vx/internal/domain/main-entities/material"
emp "simrs-vx/internal/domain/main-entities/material-package"
)
type MaterialPackageItem struct {
ecore.Main
MaterialPackage_Code string `json:"materialPackage_code" gorm:"size:20;not null"`
MaterialPackage *emp.MaterialPackage `json:"materialPackage" gorm:"foreignKey:MaterialPackage_Code;references:Code"`
Material_Code string `json:"code" gorm:"size:20;not null"`
Material *em.Material `json:"material" gorm:"foreignKey:Material_Code;references:Code"`
Count *uint16 `json:"count"`
}
@@ -0,0 +1,66 @@
package materialpackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type CreateDto struct {
Code string `json:"code" validate:"maxLength=20"`
Name string `json:"name" validate:"maxLength=50"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
Sort string `json:"sort"`
}
type FilterDto struct {
Code string `json:"code"`
Name string `json:"name"`
}
type ReadDetailDto struct {
Id *uint16 `json:"id"`
Code *string `json:"code"`
}
type UpdateDto struct {
Id uint16 `json:"id"`
CreateDto
}
type DeleteDto struct {
Id *uint16 `json:"id"`
Code *string `json:"code"`
}
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"`
}
func (d MaterialPackage) ToResponse() ResponseDto {
resp := ResponseDto{
Code: d.Code,
Name: d.Name,
}
resp.SmallMain = d.SmallMain
return resp
}
func ToResponseList(data []MaterialPackage) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,11 @@
package materialpackage
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type MaterialPackage struct {
ecore.SmallMain
Code string `json:"code" gorm:"unique;size:20;not null"`
Name string `json:"name" gorm:"size:50"`
}
@@ -0,0 +1,69 @@
package procedureroomorder
import (
ecore "simrs-vx/internal/domain/base-entities/core"
epr "simrs-vx/internal/domain/main-entities/procedure-room"
)
type CreateDto struct {
ProcedureRoomOrder_Id uint64 `json:"procedureRoomOrder_id"`
ProcedureRoom_Code string `json:"procedureRoom_code"`
Note string `json:"note"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
Encounter_Id uint64 `json:"encounter-id"`
}
type ReadDetailDto struct {
Id uint64 `json:"id"`
Includes string `json:"includes"`
}
type UpdateDto struct {
Id uint64 `json:"id"`
CreateDto
}
type DeleteDto struct {
Id uint64 `json:"id"`
}
type MetaDto struct {
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Count int `json:"count"`
}
type ResponseDto struct {
ecore.BigMain
ProcedureRoomOrder_Id uint64 `json:"procedureRoomOrder_id"`
ProcedureRoom_Code string `json:"procedureRoom_code"`
ProcedureRoom *epr.ProcedureRoom `json:"procedureRoom,omitempty"`
Note string `json:"note"`
}
func (d ProcedureRoomOrderItem) ToResponse() ResponseDto {
resp := ResponseDto{
ProcedureRoomOrder_Id: d.ProcedureRoomOrder_Id,
ProcedureRoom_Code: d.ProcedureRoom_Code,
ProcedureRoom: d.ProcedureRoom,
Note: d.Note,
}
resp.Id = d.Id
return resp
}
func ToResponseList(data []ProcedureRoomOrderItem) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,14 @@
package procedureroomorder
import (
ecore "simrs-vx/internal/domain/base-entities/core"
epr "simrs-vx/internal/domain/main-entities/procedure-room"
)
type ProcedureRoomOrderItem struct {
ecore.BigMain
ProcedureRoomOrder_Id uint64 `json:"procedureRoomOrder_id"`
ProcedureRoom_Code string `json:"procedureRoom_code" gorm:"size:20"`
ProcedureRoom *epr.ProcedureRoom `json:"procedureRoom,omitempty" gorm:"foreignKey:ProcedureRoom_Code;references:Code"`
Note string `json:"note" gorm:"size:255"`
}
@@ -0,0 +1,74 @@
package procedureroomorder
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ec "simrs-vx/internal/domain/main-entities/encounter"
emp "simrs-vx/internal/domain/main-entities/material-package"
epr "simrs-vx/internal/domain/main-entities/procedure-room"
erc "simrs-vx/internal/domain/references/common"
)
type CreateDto struct {
Encounter_Id uint64 `json:"encounter_id" validate:"required"`
Infra_Code string `json:"infra_code" validate:"required"`
MaterialPackage_Code string `json:"materialPackage_code" validate:"required"`
}
type ReadListDto struct {
FilterDto
Includes string `json:"includes"`
Pagination ecore.Pagination
}
type FilterDto struct {
Encounter_Id uint64 `json:"encounter-id"`
}
type ReadDetailDto struct {
Id uint64 `json:"id"`
}
type UpdateDto struct {
Id uint64 `json:"id"`
CreateDto
}
type DeleteDto struct {
Id uint64 `json:"id"`
}
type MetaDto struct {
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Count int `json:"count"`
}
type ResponseDto struct {
ecore.BigMain
Encounter_Id uint64 `json:"encounter_id"`
Encounter *ec.Encounter `json:"encounter,omitempty"`
Infra_Code string `json:"procedure"`
MaterialPackage_Code string `json:"materialPackage_code"`
Status_Code erc.DataStatusCode `json:"status_code"`
ProcedureRoom *epr.ProcedureRoom `json:"procedureRoom,omitempty"`
MaterialPackage *emp.MaterialPackage `json:"materialPackage,omitempty"`
}
func (d ProcedureRoomOrder) ToResponse() ResponseDto {
resp := ResponseDto{
Encounter_Id: d.Encounter_Id,
Infra_Code: d.Infra_Code,
MaterialPackage_Code: d.MaterialPackage_Code,
Status_Code: d.Status_Code,
}
resp.Id = d.Id
return resp
}
func ToResponseList(data []ProcedureRoomOrder) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
}
return resp
}
@@ -0,0 +1,19 @@
package procedureroomorder
import (
erc "simrs-vx/internal/domain/references/common"
ecore "simrs-vx/internal/domain/base-entities/core"
emp "simrs-vx/internal/domain/main-entities/material-package"
epr "simrs-vx/internal/domain/main-entities/procedure-room"
)
type ProcedureRoomOrder struct {
ecore.BigMain
Encounter_Id uint64 `json:"encounter_id"`
Infra_Code string `json:"infra_code" gorm:"size:20"`
ProcedureRoom *epr.ProcedureRoom `json:"procedureRoom,omitempty" gorm:"foreignKey:Infra_Code;references:Code"`
MaterialPackage_Code string `json:"materialPackage_code" gorm:"size:20"`
MaterialPackage *emp.MaterialPackage `json:"materialPackage,omitempty" gorm:"foreignKey:MaterialPackage_Code;references:Code"`
Status_Code erc.DataStatusCode `json:"status_code" gorm:"size:20"`
}
@@ -0,0 +1,21 @@
package procedureroombase
import (
ecore "simrs-vx/internal/domain/base-entities/core"
ero "simrs-vx/internal/domain/references/organization"
)
type ProcedureRoom struct {
ecore.SmallMain
Code string `json:"code" gorm:"unique;size:20"` // copied from infra code
Infra_Code *string `json:"infra_code" gorm:"size:20;unique"`
Type_Code *ero.ProdcedureRoomTypeCode `json:"type_code" gorm:"size:10"`
Unit_Code *string `json:"unit_code" gorm:"size:20"`
Specialist_Code *string `json:"specialist_code" gorm:"size:20"`
Subspecialist_Code *string `json:"subspecialist_code" gorm:"size:20"`
}
// THIS IS ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
// func (ProcedureRoom) TableName() string {
// return "Room"
// }
@@ -1,4 +1,4 @@
package room
package procedureroom
import (
ecore "simrs-vx/internal/domain/base-entities/core"
@@ -9,7 +9,9 @@ import (
)
type CreateDto struct {
Code *string `json:"code"`
Infra_Code *string `json:"infra_code"`
Type_Code string `json:"type_code"`
Unit_Code *string `json:"unit_code"`
Specialist_Code *string `json:"specialist_code"`
Subspecialist_Code *string `json:"subspecialist_code"`
@@ -23,6 +25,7 @@ type ReadListDto struct {
type FilterDto struct {
Infra_Code *string `json:"infra-code"`
Type_Code string `json:"type_code"`
Unit_Code *string `json:"unit-code"`
Specialist_Code *string `json:"specialist-code"`
Subspecialist_Code *string `json:"subspecialist-code"`
@@ -49,6 +52,8 @@ type MetaDto struct {
type ResponseDto struct {
ecore.SmallMain
Code string `json:"code"`
Type_Code *string `json:"type_code"`
Infra_Code *string `json:"infra_code"`
Infra *ei.Infra `json:"infra,omitempty"`
Unit_Code *string `json:"unit_code"`
@@ -59,10 +64,12 @@ type ResponseDto struct {
Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty"`
}
func (d Room) ToResponse() ResponseDto {
func (d ProcedureRoom) ToResponse() ResponseDto {
resp := ResponseDto{
Code: d.Code,
Infra_Code: d.Infra_Code,
Infra: d.Infra,
Type_Code: (*string)(d.Type_Code),
Unit_Code: d.Unit_Code,
Unit: d.Unit,
Specialist_Code: d.Specialist_Code,
@@ -74,7 +81,7 @@ func (d Room) ToResponse() ResponseDto {
return resp
}
func ToResponseList(data []Room) []ResponseDto {
func ToResponseList(data []ProcedureRoom) []ResponseDto {
resp := make([]ResponseDto, len(data))
for i, u := range data {
resp[i] = u.ToResponse()
@@ -0,0 +1,17 @@
package procedureroom
import (
ei "simrs-vx/internal/domain/main-entities/infra"
ebase "simrs-vx/internal/domain/main-entities/procedure-room/base"
es "simrs-vx/internal/domain/main-entities/specialist"
ess "simrs-vx/internal/domain/main-entities/subspecialist"
eu "simrs-vx/internal/domain/main-entities/unit"
)
type ProcedureRoom struct {
ebase.ProcedureRoom
Infra *ei.Infra `json:"infra,omitempty" gorm:"foreignKey:Infra_Code;references:Code"`
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty" gorm:"foreignKey:Subspecialist_Code;references:Code"`
}
@@ -1,23 +0,0 @@
package base
import (
ecore "simrs-vx/internal/domain/base-entities/core"
es "simrs-vx/internal/domain/main-entities/specialist"
ess "simrs-vx/internal/domain/main-entities/subspecialist"
eu "simrs-vx/internal/domain/main-entities/unit"
)
type Basic struct {
ecore.SmallMain // adjust this according to the needs
Infra_Code *string `json:"infra_code" gorm:"size:10"`
Unit_Code *string `json:"unit_code" gorm:"size:10"`
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
Specialist_Code *string `json:"specialist_code" gorm:"size:10"`
Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
Subspecialist_Code *string `json:"subspecialist_code" gorm:"size:10"`
Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty" gorm:"foreignKey:Subspecialist_Code;references:Code"`
}
func (Basic) TableName() string {
return "Room"
}
@@ -1,11 +0,0 @@
package room
import (
ei "simrs-vx/internal/domain/main-entities/infra"
ebase "simrs-vx/internal/domain/main-entities/room/base"
)
type Room struct {
ebase.Basic
Infra *ei.Infra `json:"infra,omitempty" gorm:"foreignKey:Infra_Code;references:Code"`
}
@@ -9,9 +9,9 @@ import (
type Specialist struct {
ecore.SmallMain // adjust this according to the needs
Code string `json:"code" gorm:"unique;size:10"`
Code string `json:"code" gorm:"unique;size:20"`
Name string `json:"name" gorm:"size:50"`
Unit_Code *string `json:"unit_code" gorm:"size:10"`
Unit_Code *string `json:"unit_code" gorm:"size:20"`
Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
SpecialistPositions []eub.Basic `json:"specialistPositions,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
Subspecialists []essb.Basic `json:"subspecialists,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
@@ -8,7 +8,7 @@ import (
type CreateDto struct {
Subspecialist_Code *string `json:"subspecialist_code" validate:"required"`
Code string `json:"code" validate:"maxLength=10;required"`
Code string `json:"code" validate:"maxLength=20;required"`
Name string `json:"name" validate:"maxLength=30;required"`
HeadStatus bool `json:"headStatus"`
Employee_Id *uint `json:"employee_id"`
@@ -6,9 +6,9 @@ import (
type Basic struct {
ecore.SmallMain // adjust this according to the needs
Code string `json:"code" gorm:"unique;size:10"`
Code string `json:"code" gorm:"unique;size:20"`
Name string `json:"name" gorm:"size:50"`
Specialist_Code *string `json:"specialist_code" gorm:"size:10"`
Specialist_Code *string `json:"specialist_code" gorm:"size:20"`
}
func (Basic) TableName() string {
@@ -8,7 +8,7 @@ import (
type CreateDto struct {
Id *uint `json:"id"`
Code string `json:"code" validate:"maxLength=10"`
Code string `json:"code" validate:"maxLength=20"`
Name string `json:"name" validate:"maxLength=50"`
Specialist_Code *string `json:"specialist_code"`
}
+1 -1
View File
@@ -9,7 +9,7 @@ import (
type CreateDto struct {
Id *uint `json:"id"`
Installation_Code *string `json:"installation_code"`
Code string `json:"code" validate:"maxLength=10"`
Code string `json:"code" validate:"maxLength=20"`
Name string `json:"name" validate:"maxLength=50"`
}
+2 -2
View File
@@ -9,9 +9,9 @@ import (
type Unit struct {
ecore.SmallMain // adjust this according to the needs
Installation_Code *string `json:"installation_code" gorm:"size:10"`
Installation_Code *string `json:"installation_code" gorm:"size:20"`
Installation *ei.Installation `json:"installation" gorm:"foreignKey:Installation_Code;references:Code"`
Code string `json:"code" gorm:"unique;size:10"`
Code string `json:"code" gorm:"unique;size:20"`
Name string `json:"name" gorm:"size:50"`
Type_Code *ero.UnitTypeCode `json:"type_code"`
UnitPositions []eub.Basic `json:"unitPositions,omitempty" gorm:"foreignKey:Unit_Code;references:Code"`
@@ -123,6 +123,7 @@ const (
DTCGC DocTypeCode = "general-consent"
DTCVSCL DocTypeCode = "vclaim-control-letter" // vclaim control letter
DTCResume DocTypeCode = "resume" // Resume
DTCScreening DocTypeCode = "screening" // Screening
ETCPerson EntityTypeCode = "person"
ETCEncounter EntityTypeCode = "encounter"
@@ -1,14 +1,15 @@
package organization
type (
ContractPositionCode string
EmployeePositionCode string
InternPosisitionCode string
ItemGroupCode string
InfraGroupCode string
UnitTypeCode string
DoctorFeeTypeCode string
ActionBillingCode string
ContractPositionCode string
EmployeePositionCode string
InternPosisitionCode string
ItemGroupCode string
InfraGroupCode string
ProdcedureRoomTypeCode string
UnitTypeCode string
DoctorFeeTypeCode string
ActionBillingCode string
)
const (
@@ -44,14 +45,17 @@ const (
ITGCDocFee ItemGroupCode = "doctor-fee"
ITGCMedAct ItemGroupCode = "medical-action"
IFGCBuilding InfraGroupCode = "building" // Bangunan
IFGCFloor InfraGroupCode = "floor" // Lantai
IFGCRoom InfraGroupCode = "room" // Ruang
IFGCChamber InfraGroupCode = "chamber" // Kamar
IFGCBed InfraGroupCode = "bed" // Ranjang
IFGCWarehouse InfraGroupCode = "warehouse" // Gudang/Depo
IFGCCounter InfraGroupCode = "counter" // Counter
IFGCPubScreen InfraGroupCode = "public-screen" // Public Screen
IFGCBuilding InfraGroupCode = "building" // Bangunan
IFGCFloor InfraGroupCode = "floor" // Lantai
IFGCProcedureRoom InfraGroupCode = "procedure-room" // Ruang Tindakan
IFGCChamber InfraGroupCode = "chamber" // Kamar
IFGCBed InfraGroupCode = "bed" // Ranjang
IFGCWarehouse InfraGroupCode = "warehouse" // Gudang/Depo
IFGCCounter InfraGroupCode = "counter" // Counter
IFGCPubScreen InfraGroupCode = "public-screen" // Public Screen
PRTCProcedure ProdcedureRoomTypeCode = "procedure" // Ringan
PRTCOperating ProdcedureRoomTypeCode = "operating" // Dikamarkan
UTCReg UnitTypeCode = "reg" // Registrasi
UTCExa UnitTypeCode = "exa" // Pemeriksaan