feat(entities): Add MAisleEntity, MWarehouseEntity, and MZonaEntity with necessary fields and relationships

This commit is contained in:
Habib Fatkhul Rohman 2025-11-07 14:41:03 +07:00
parent 81de780ff0
commit d8a7766c62
4 changed files with 93 additions and 10 deletions

View File

@ -0,0 +1,32 @@
package entities
import "github.com/google/uuid"
type MAisleEntity struct {
ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()" json:"id"`
Code string `gorm:"type:varchar(50);not null;" json:"code"`
Name string `gorm:"type:varchar(100);not null;" json:"name"`
IsleX string `gorm:"type:varchar(50);" json:"isle_x"`
BinY string `gorm:"type:varchar(50);" json:"bin_y"`
LevelZ string `gorm:"type:varchar(50);" json:"level_z"`
Dimension string `gorm:"type:varchar(100);" json:"dimension"`
Weight string `gorm:"type:varchar(100);" json:"weight"`
QrCodeAisle string `gorm:"type:text;" json:"qr_code_aisle"`
IsActive bool `gorm:"type:boolean;default:true;" json:"is_active"`
ZoneID uuid.UUID `gorm:"type:uuid;index;" json:"zone_id"`
DimUomID uuid.UUID `gorm:"type:uuid;index;" json:"dim_uom_id"`
WeightUomID uuid.UUID `gorm:"type:uuid;index;" json:"weight_uom_id"`
ClientID uuid.UUID `gorm:"type:uuid;index;" json:"client_id"`
Zona MZonaEntity `gorm:"foreignKey:ZoneID;references:ID"`
DimUom MUomEntity `gorm:"foreignKey:DimUomID;references:ID"`
WeightUom MUomEntity `gorm:"foreignKey:WeightUomID;references:ID"`
Client M_Client `gorm:"foreignKey:ClientID;references:ID"`
FullAuditTrail
}
func (MAisleEntity) TableName() string {
return "m_aisles"
}

View File

@ -0,0 +1,22 @@
package entities
import "github.com/google/uuid"
type MWarehouseEntity struct {
ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()" json:"id"`
Code string `gorm:"type:varchar(50);not null;" json:"code"`
Name string `gorm:"type:varchar(100);not null;" json:"name"`
Description string `gorm:"type:text" json:"description"`
Status string `gorm:"type:varchar(50);not null;" json:"status"`
DissallowNegativeInventory bool `gorm:"type:boolean;default:false;" json:"dissallow_negative_inventory"`
ClientID uuid.UUID `gorm:"type:uuid;index;" json:"client_id"`
Client M_Client `gorm:"foreignKey:ClientID;references:ID"`
FullAuditTrail
}
func (MWarehouseEntity) TableName() string {
return "m_warehouses"
}

View File

@ -0,0 +1,26 @@
package entities
import "github.com/google/uuid"
type MZonaEntity struct {
ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()" json:"id"`
Code string `gorm:"type:varchar(50);not null;" json:"code"`
Name string `gorm:"type:varchar(100);not null;" json:"name"`
Type string `gorm:"type:varchar(50);not null;" json:"type"`
Temperature string `gorm:"type:varchar(50);" json:"temperature"`
Hazardous bool `gorm:"type:boolean;default:false;" json:"hazardous"`
QRCodeZone string `gorm:"type:text;" json:"qr_code_zone"`
IsActive bool `gorm:"type:boolean;default:true;" json:"is_active"`
WarehouseID uuid.UUID `gorm:"type:uuid;index;" json:"warehouse_id"`
ClientID uuid.UUID `gorm:"type:uuid;index;" json:"client_id"`
Warehouse MWarehouseEntity `gorm:"foreignKey:WarehouseID;references:ID"`
Client M_Client `gorm:"foreignKey:ClientID;references:ID"`
FullAuditTrail
}
func (MZonaEntity) TableName() string {
return "m_zonas"
}

View File

@ -25,6 +25,9 @@ func Migrate(db *gorm.DB) error {
&entities.MUomEntity{},
&entities.MVendorEntity{},
&entities.MCrossReferenceEntity{},
&entities.MWarehouseEntity{},
&entities.MZonaEntity{},
&entities.MAisleEntity{},
); err != nil {
return err
}
@ -39,20 +42,20 @@ func MigrateFresh(db *gorm.DB) error {
// &entities.M_User{},
// &entities.RefreshToken{},
// &entities.M_Menu{},
// &entities.M_Role{},
&entities.M_Role{},
// &entities.M_Permissions{},
// &entities.M_User_Role{},
// &entities.M_Role_Menu{},
&entities.M_User_Role{},
&entities.M_Role_Menu{},
// &entities.M_Menu_Client{},
// &entities.M_Role_Permission{},
// &entities.M_MaintenanceGroup{},
// &entities.M_MaintenanceGroupRole{},
// &entities.M_MaintenanceGroupRoleUser{},
&entities.M_Role_Permission{},
&entities.M_MaintenanceGroup{},
&entities.M_MaintenanceGroupRole{},
&entities.M_MaintenanceGroupRoleUser{},
// &entities.MCategoryEntity{},
&entities.MProductEntity{},
// &entities.MProductEntity{},
// &entities.MUomEntity{},
&entities.MVendorEntity{},
&entities.MCrossReferenceEntity{},
// &entities.MVendorEntity{},
// &entities.MCrossReferenceEntity{},
); err != nil {
return err
}