infra, item remove parent_id, infra_id

This commit is contained in:
dpurbosakti
2025-11-07 16:17:16 +07:00
parent c9d7400dad
commit e3b601f703
9 changed files with 42 additions and 34 deletions

No files matched your search

@@ -0,0 +1,4 @@
-- Modify "Infra" table
ALTER TABLE "public"."Infra" ALTER COLUMN "Code" SET NOT NULL;
-- Modify "Item" table
ALTER TABLE "public"."Item" DROP COLUMN "Infra_Id";
@@ -0,0 +1,2 @@
-- Modify "Infra" table
ALTER TABLE "public"."Infra" DROP CONSTRAINT "fk_Infra_Childrens", DROP CONSTRAINT "fk_Infra_Item", DROP COLUMN "Parent_Id", ADD CONSTRAINT "fk_Infra_Childrens" FOREIGN KEY ("Parent_Code") REFERENCES "public"."Infra" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION, ADD CONSTRAINT "fk_Infra_Item" FOREIGN KEY ("Item_Code") REFERENCES "public"."Item" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION;
@@ -0,0 +1,2 @@
-- Modify "Infra" table
ALTER TABLE "public"."Infra" DROP COLUMN "Item_Id";
+21 -18
View File
@@ -1,4 +1,4 @@
h1:D7TdOht9cEt91EEPEvi05Frs3ZFC+Uz+y4K+bebB3BI= h1:6umIsneejLUg0V9wUaB2HuCvEHD+2v/dwbxg+y23+wo=
20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k= 20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k=
20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0= 20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0=
20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI= 20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI=
@@ -75,20 +75,23 @@ h1:D7TdOht9cEt91EEPEvi05Frs3ZFC+Uz+y4K+bebB3BI=
20251106040137.sql h1:ppcqkVoT0o9jZcjI/TN7LuaPxXhJQhnIXEJtloP/46o= 20251106040137.sql h1:ppcqkVoT0o9jZcjI/TN7LuaPxXhJQhnIXEJtloP/46o=
20251106041333.sql h1:2JkxyelQ/EeB+boL5bfpnzefw32ttEGKvKchtQjWmAU= 20251106041333.sql h1:2JkxyelQ/EeB+boL5bfpnzefw32ttEGKvKchtQjWmAU=
20251106042006.sql h1:ruppYa1kAJQUU3ufQBbKGMcXrGbGJJiRPclT+dNc/YQ= 20251106042006.sql h1:ruppYa1kAJQUU3ufQBbKGMcXrGbGJJiRPclT+dNc/YQ=
20251106050412.sql h1:MiEMJ1HCFYnalKuq3Z38xJeogfBAMqsTv2sG4EF8dDw= 20251106050412.sql h1:1002KYtHd8AwrQTMewbs/PPHDylHDghigE/3S7PVdMA=
20251106063418.sql h1:y3veDJPjKekOWLCZek/LgQwXPRhZtOppTfUXiqoL95s= 20251106063418.sql h1:jPW/gBnbFl4RO39lQ0ZMDtYA6xbhyD6CgQupT50HmaY=
20251106071906.sql h1:/TUZA3XpMY23qEJXdkTwlzrNMvSSl6JJniPcgAttBaw= 20251106071906.sql h1:leYGKxR3EQn794aOehf0sd/ZPmOnvBMZPy5/anGmRB4=
20251106073157.sql h1:78txeibJ602DMD7huD618ZSMt6phSRzDNPTlo0PGyrc= 20251106073157.sql h1:KASMzjjjk5UB7Zj8lCRtM1utc4ZnDjlnpZbtTe3vONE=
20251106074218.sql h1:8Xz7WywrtUnSxOHhlal53gG9rE7r86LFUt5zBFe/mIs= 20251106074218.sql h1:Z5q5deOvLaZDPhiVTN9st3/s56RepBa2YOyrMXBdj4A=
20251106081846.sql h1:jp91Bf5bxGXMiUB1VIuN6y768vb2iWwow44WfCE5J5k= 20251106081846.sql h1:P+VsWwhGt60adDIZuE/Aa38JVp/yX1rnsdpXpxASodw=
20251106082844.sql h1:RHYzRO4G1fSWwf+xc/3QezZ/Iil67cZPIgNpNz3TNhQ= 20251106082844.sql h1:Dmi5A8i9frQZvdXYPwc7f8CisZtBH8liSXq1rI6z1iM=
20251106090021.sql h1:dFDk6mq+zjbYWmfWIrHf9DiKvvoXHjrr0++zssMTWP8= 20251106090021.sql h1:4JwdKgO8T46YhyWVJUxpRIwudBDlG8QN1brSOYmgQ20=
20251106144745.sql h1:aHcr23iBFqCHer5D/SsPMXBCLjGqUYvWYfRU8jSJgIw= 20251106144745.sql h1:nqnQCzGrVJaq8ilOEOGXeRUL1dolj+OPWKuP8A92FRA=
20251107012049.sql h1:hu/7NHhnAkT4xK0RNtqmMDdH1Bo5EZbl7itDRjiCT+g= 20251107012049.sql h1:Pff4UqltGS3clSlGr0qq8CQM56L29wyxY0FC/N/YAhU=
20251107064812.sql h1:sfCXDQYnMf0ddrQ9oYljWJLLSt9NJjJV6o8VS3p7aZE= 20251107064812.sql h1:jjpcAi0B/geEOKWmmR6+1UhWMhjstWhWQcz9lUWrtTY=
20251107064937.sql h1:DlYGJ9LZFwZyR7jBP5zaGB128aIc4HAixBKPYCz9EkY= 20251107064937.sql h1:1nPu0THBf+YquFIJSE4pc1dA7r3EydH92cpp26ozysw=
20251107071420.sql h1:ynCdZAd2utLl+FhtWZwtahNXgIVOvuk3s/rOq7lfXA4= 20251107071420.sql h1:Q+e+OqjdiuK/sghDQ5NxjU+u2zYl+vh/eRBlUz9Idhg=
20251107074318.sql h1:WE9cPhibWtZ0dbu1VEGirTeY6ijFYGMNhHdBtM32kOc= 20251107074318.sql h1:VbOWMw2rClEWgMnDSejXPqXkFoQ4odVsHn3/UAEiCYA=
20251107075050.sql h1:8tvneruqdynDOaJK1+0z4CH7YXZStZpGdqwIeOMLik4= 20251107075050.sql h1:ZZaKJEWXIJ94/0/2Gzzz+HXjmebEs5eP8iUIot26/c8=
20251107080604.sql h1:8c4jd4Tql7tcdhbI9NS0tgvN+ADu9FnCf8wMUbmW7A0= 20251107080604.sql h1:aq+tINa0ULCZlJcUK2jaeGh6rRH4jJz3e2NrK47m0Ec=
20251107081830.sql h1:SAAe3lmsm9vGXuSEsDdl7ad0EAxP5CMmFRDEgp9M7yY= 20251107081830.sql h1:Bl9kniyLWeMqd3nrvgCgiUpdcJWp8qX1F41JAM1WbiE=
20251107091033.sql h1:ETTCaAHBT6wipXrEGXIepxLMdD2LNzprPAp99+jnW0w=
20251107091209.sql h1:BUI9JlTzZxCdVHsrRbOye7m47AJEvXNhCaCVv/HzILs=
20251107091541.sql h1:/tW2uXv/o0Q2E4lQzlYNgEftvDqjf3c2AQpZ83Vb6zc=
+6 -6
View File
@@ -13,7 +13,7 @@ type CreateDto struct {
Name string `json:"name" validate:"maxLength=50"` 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=15"`
Parent_Code *string `json:"parent_code"` Parent_Code *string `json:"parent_code"`
Item_Id *uint `json:"-"` Item_Code *string `json:"-"`
Unit_Code *string `json:"unit_code"` Unit_Code *string `json:"unit_code"`
Specialist_Code *string `json:"specialist_code"` Specialist_Code *string `json:"specialist_code"`
Subspecialist_Code *string `json:"subspecialist_code"` Subspecialist_Code *string `json:"subspecialist_code"`
@@ -78,11 +78,11 @@ func (d Infra) ToResponse() ResponseDto {
Name: d.Name, Name: d.Name,
InfraGroup_Code: d.InfraGroup_Code, InfraGroup_Code: d.InfraGroup_Code,
Parent_Code: d.Parent_Code, Parent_Code: d.Parent_Code,
Parent: d.Parent, // Parent: d.Parent,
Childrens: d.Childrens, Childrens: d.Childrens,
Item_Code: d.Item_Code, Item_Code: d.Item_Code,
Item: d.Item, Item: d.Item,
Rooms: d.Rooms, Rooms: d.Rooms,
} }
resp.SmallMain = d.SmallMain resp.SmallMain = d.SmallMain
return resp return resp
@@ -11,15 +11,13 @@ import (
type Infra struct { type Infra struct {
ecore.SmallMain // adjust this according to the needs ecore.SmallMain // adjust this according to the needs
Code string `json:"code" gorm:"uniqueIndex;size:10"` Code string `json:"code" gorm:"uniqueIndex;size:10;not null"`
Name string `json:"name" gorm:"size:50"` Name string `json:"name" gorm:"size:50"`
InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" gorm:"size:15"` InfraGroup_Code ero.InfraGroupCode `json:"infraGroup_code" gorm:"size:15"`
Parent_Id *uint16 `json:"parent_id"`
Parent_Code *string `json:"parent_code" gorm:"size:10"` Parent_Code *string `json:"parent_code" gorm:"size:10"`
Parent *Infra `json:"parent" gorm:"foreignKey:Parent_Id;references:Id"` Parent *Infra `json:"parent" gorm:"foreignKey:Parent_Code;references:Code"`
Childrens []Infra `json:"childrens" gorm:"foreignKey:Parent_Id"` // may need references to self Childrens []Infra `json:"childrens" gorm:"foreignKey:Parent_Code;references:Code"`
Item_Id *uint `json:"item_id"`
Item_Code *string `json:"item_code" gorm:"size:50"` Item_Code *string `json:"item_code" gorm:"size:50"`
Item *ei.Item `json:"item,omitempty" gorm:"foreignKey:Item_Id;references:Id"` Item *ei.Item `json:"item,omitempty" gorm:"foreignKey:Item_Code;references:Code"`
Rooms []erb.Basic `json:"rooms" gorm:"foreignKey:Infra_Code;references:Code"` Rooms []erb.Basic `json:"rooms" gorm:"foreignKey:Infra_Code;references:Code"`
} }
@@ -14,7 +14,6 @@ type Item struct {
ItemGroup_Code ero.ItemGroupCode `json:"itemGroup_code" gorm:"size:15"` ItemGroup_Code ero.ItemGroupCode `json:"itemGroup_code" gorm:"size:15"`
Uom_Code *string `json:"uom_code" gorm:"size:10"` Uom_Code *string `json:"uom_code" gorm:"size:10"`
Uom *eu.Uom `json:"uom,omitempty" gorm:"foreignKey:Uom_Code;references:Code"` Uom *eu.Uom `json:"uom,omitempty" gorm:"foreignKey:Uom_Code;references:Code"`
Infra_Id *uint16 `json:"infra_id"`
Infra_Code *string `json:"infra_code" gorm:"size:10"` Infra_Code *string `json:"infra_code" gorm:"size:10"`
Stock *int `json:"stock"` Stock *int `json:"stock"`
} }
@@ -30,7 +30,7 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Infra) {
data.Name = inputSrc.Name data.Name = inputSrc.Name
data.InfraGroup_Code = inputSrc.InfraGroup_Code data.InfraGroup_Code = inputSrc.InfraGroup_Code
data.Parent_Code = inputSrc.Parent_Code data.Parent_Code = inputSrc.Parent_Code
data.Item_Id = inputSrc.Item_Id data.Item_Code = inputSrc.Item_Code
} }
func createItem(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error { func createItem(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
@@ -49,7 +49,7 @@ func createItem(input *e.CreateDto, event *pl.Event, tx *gorm.DB) error {
return err return err
} }
input.Item_Id = &item.Id input.Item_Code = &item.Code
return nil return nil
} }
+1 -1
View File
@@ -126,7 +126,7 @@ func UpdateData(input e.UpdateDto, data *e.Infra, event *pl.Event, dbx ...*gorm.
} else { } else {
tx = dg.I tx = dg.I
} }
data.Parent = nil // data.Parent = nil
data.Childrens = nil data.Childrens = nil
data.Item = nil data.Item = nil
data.Rooms = nil data.Rooms = nil