From c19965f4c31a11e3ff3c5826cd8857dfd1b363b2 Mon Sep 17 00:00:00 2001 From: Munawwirul Jamal Date: Sat, 15 Nov 2025 01:16:21 +0700 Subject: [PATCH] feat/things-munaja: device order items preload --- .../device-order-item/base/entity.go | 14 ++++++++++++++ .../main-entities/device-order-item/entity.go | 11 +++-------- .../domain/main-entities/device-order/entity.go | 15 ++++++++------- 3 files changed, 25 insertions(+), 15 deletions(-) create mode 100644 internal/domain/main-entities/device-order-item/base/entity.go diff --git a/internal/domain/main-entities/device-order-item/base/entity.go b/internal/domain/main-entities/device-order-item/base/entity.go new file mode 100644 index 00000000..54cbe611 --- /dev/null +++ b/internal/domain/main-entities/device-order-item/base/entity.go @@ -0,0 +1,14 @@ +package base + +import ( + ecore "simrs-vx/internal/domain/base-entities/core" + ed "simrs-vx/internal/domain/main-entities/device" +) + +type DeviceOrderItem struct { + ecore.Main // adjust this according to the needs + DeviceOrder_Id *uint `json:"deviceOrder_id"` + Device_Code *string `json:"device_code"` + Device *ed.Device `json:"device,omitempty" gorm:"foreignKey:Device_Code;references:Code"` + Count uint8 `json:"count"` +} diff --git a/internal/domain/main-entities/device-order-item/entity.go b/internal/domain/main-entities/device-order-item/entity.go index 27197125..a0743643 100644 --- a/internal/domain/main-entities/device-order-item/entity.go +++ b/internal/domain/main-entities/device-order-item/entity.go @@ -1,16 +1,11 @@ package deviceorderitem import ( - ecore "simrs-vx/internal/domain/base-entities/core" - ed "simrs-vx/internal/domain/main-entities/device" edo "simrs-vx/internal/domain/main-entities/device-order" + eb "simrs-vx/internal/domain/main-entities/device-order-item/base" ) type DeviceOrderItem struct { - ecore.Main // adjust this according to the needs - DeviceOrder_Id *uint `json:"deviceOrder_id"` - DeviceOrder *edo.DeviceOrder `json:"deviceOrder,omitempty" gorm:"foreignKey:DeviceOrder_Id;references:Id"` - Device_Code *string `json:"device_code"` - Device *ed.Device `json:"device,omitempty" gorm:"foreignKey:Device_Code;references:Code"` - Count uint8 `json:"count"` + eb.DeviceOrderItem + DeviceOrder *edo.DeviceOrder `json:"deviceOrder,omitempty" gorm:"foreignKey:DeviceOrder_Id;references:Id"` } diff --git a/internal/domain/main-entities/device-order/entity.go b/internal/domain/main-entities/device-order/entity.go index 7ff4fa34..d9ba5a59 100644 --- a/internal/domain/main-entities/device-order/entity.go +++ b/internal/domain/main-entities/device-order/entity.go @@ -2,19 +2,20 @@ package deviceorder import ( ecore "simrs-vx/internal/domain/base-entities/core" + edoi "simrs-vx/internal/domain/main-entities/device-order-item/base" ed "simrs-vx/internal/domain/main-entities/doctor" ee "simrs-vx/internal/domain/main-entities/encounter" - erc "simrs-vx/internal/domain/references/common" ) type DeviceOrder struct { - ecore.Main // adjust this according to the needs - Encounter_Id *uint `json:"encounter_id"` - Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` - Doctor_Code *string `json:"doctor_code"` - Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"` - Status_Code erc.DataStatusCode `json:"status_code"` + ecore.Main // adjust this according to the needs + Encounter_Id *uint `json:"encounter_id"` + Encounter *ee.Encounter `json:"encounter,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"` + Doctor_Code *string `json:"doctor_code"` + Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Code;references:Code"` + Status_Code erc.DataStatusCode `json:"status_code"` + Items []*edoi.DeviceOrderItem `json:"items" gorm:"foreignKey:DeviceOrder_Id;references:Id"` } func (d DeviceOrder) IsCompleted() bool {