ongoing seed subspecialist

This commit is contained in:
vanilia
2025-12-11 18:35:43 +07:00
parent 1527884766
commit a892e5ee43
33 changed files with 773 additions and 53 deletions
@@ -241,6 +241,40 @@ func Delete(input e.DeleteDto) (*d.Data, error) {
}
func CreateBulk(input e.CreateBulkDto) (*d.Data, error) {
var data []e.Installation
event := pl.Event{
Feature: "Create",
Source: source,
}
// Start log
pl.SetLogInfo(&event, input, "started", "create")
err := dg.I.Transaction(func(tx *gorm.DB) error {
if resData, err := CreateBulkData(input.Value, &event, tx); err != nil {
return err
} else {
data = *resData
}
return nil
})
if err != nil {
return nil, err
}
pl.SetLogInfo(&event, nil, "complete")
return &d.Data{
Meta: d.II{
"source": source,
"structure": "single-data",
"status": "created",
},
Data: e.ToResponseList(data),
}, nil
}
func runLogMiddleware(err error, input any, mwRunner *middlewareRunner) error {
var errMsg string
inputLog := esync.SimxLogDto{
@@ -21,3 +21,15 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Installation) {
data.Name = inputSrc.Name
data.EncounterClass_Code = inputSrc.EncounterClass_Code
}
func setBulkData(input []e.CreateDto) (data []e.Installation) {
for _, i := range input {
data = append(data, e.Installation{
Code: *i.Code,
Name: i.Name,
EncounterClass_Code: i.EncounterClass_Code,
})
}
return data
}
@@ -1,6 +1,7 @@
package installation
import (
"fmt"
e "simrs-vx/internal/domain/main-entities/installation"
plh "simrs-vx/pkg/lib-helper"
@@ -147,3 +148,26 @@ func DeleteData(data *e.Installation, event *pl.Event, dbx ...*gorm.DB) error {
pl.SetLogInfo(event, nil, "complete")
return nil
}
func CreateBulkData(input []e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*[]e.Installation, error) {
pl.SetLogInfo(event, nil, "started", "DBBulkCreate")
data := setBulkData(input)
var tx *gorm.DB
if len(dbx) > 0 {
tx = dbx[0]
} else {
tx = dg.I
}
result := tx.Create(&data)
if err := result.Error; err != nil {
return nil, plh.HandleCreateError(input, event, err)
}
fmt.Println("Inserted:", result.RowsAffected)
pl.SetLogInfo(event, nil, "complete")
return &data, nil
}
@@ -295,3 +295,37 @@ func runLogMiddleware(err error, input any, mwRunner *middlewareRunner) error {
return nil
}
func CreateBulk(input e.CreateBulkDto) (*d.Data, error) {
var data []e.Specialist
event := pl.Event{
Feature: "CreateBulk",
Source: source,
}
// Start log
pl.SetLogInfo(&event, input, "started", "create")
err := dg.I.Transaction(func(tx *gorm.DB) error {
if resData, err := CreateBulkData(input.Value, &event, tx); err != nil {
return err
} else {
data = *resData
}
return nil
})
if err != nil {
return nil, err
}
pl.SetLogInfo(&event, nil, "complete")
return &d.Data{
Meta: d.II{
"source": source,
"structure": "single-data",
"status": "created",
},
Data: e.ToResponseList(data),
}, nil
}
@@ -21,3 +21,14 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Specialist) {
data.Name = inputSrc.Name
data.Unit_Code = inputSrc.Unit_Code
}
func setBulkData(input []e.CreateDto) (data []e.Specialist) {
for _, i := range input {
data = append(data, e.Specialist{
Code: i.Code,
Name: i.Name,
})
}
return data
}
@@ -1,6 +1,7 @@
package specialist
import (
"fmt"
e "simrs-vx/internal/domain/main-entities/specialist"
plh "simrs-vx/pkg/lib-helper"
@@ -147,3 +148,26 @@ func DeleteData(data *e.Specialist, event *pl.Event, dbx ...*gorm.DB) error {
pl.SetLogInfo(event, nil, "complete")
return nil
}
func CreateBulkData(input []e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*[]e.Specialist, error) {
pl.SetLogInfo(event, nil, "started", "DBBulkCreate")
data := setBulkData(input)
var tx *gorm.DB
if len(dbx) > 0 {
tx = dbx[0]
} else {
tx = dg.I
}
result := tx.Create(&data)
if err := result.Error; err != nil {
return nil, plh.HandleCreateError(input, event, err)
}
fmt.Println("Inserted:", result.RowsAffected)
pl.SetLogInfo(event, nil, "complete")
return &data, nil
}
@@ -293,3 +293,37 @@ func runLogMiddleware(err error, input any, mwRunner *middlewareRunner) error {
return nil
}
func CreateBulk(input e.CreateBulkDto) (*d.Data, error) {
var data []e.Subspecialist
event := pl.Event{
Feature: "CreateBulk",
Source: source,
}
// Start log
pl.SetLogInfo(&event, input, "started", "create")
err := dg.I.Transaction(func(tx *gorm.DB) error {
if resData, err := CreateBulkData(input.Value, &event, tx); err != nil {
return err
} else {
data = *resData
}
return nil
})
if err != nil {
return nil, err
}
pl.SetLogInfo(&event, nil, "complete")
return &d.Data{
Meta: d.II{
"source": source,
"structure": "single-data",
"status": "created",
},
Data: e.ToResponseList(data),
}, nil
}
@@ -6,6 +6,7 @@ package subspecialist
import (
e "simrs-vx/internal/domain/main-entities/subspecialist"
"simrs-vx/internal/domain/main-entities/subspecialist/base"
)
func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Subspecialist) {
@@ -21,3 +22,16 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Subspecialist) {
data.Name = inputSrc.Name
data.Specialist_Code = inputSrc.Specialist_Code
}
func setBulkData(input []e.CreateDto) (data []e.Subspecialist) {
for _, i := range input {
data = append(data, e.Subspecialist{
Basic: base.Basic{
Code: i.Code,
Name: i.Name,
},
})
}
return data
}
@@ -1,6 +1,7 @@
package subspecialist
import (
"fmt"
e "simrs-vx/internal/domain/main-entities/subspecialist"
plh "simrs-vx/pkg/lib-helper"
@@ -147,3 +148,26 @@ func DeleteData(data *e.Subspecialist, event *pl.Event, dbx ...*gorm.DB) error {
pl.SetLogInfo(event, nil, "complete")
return nil
}
func CreateBulkData(input []e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*[]e.Subspecialist, error) {
pl.SetLogInfo(event, nil, "started", "DBBulkCreate")
data := setBulkData(input)
var tx *gorm.DB
if len(dbx) > 0 {
tx = dbx[0]
} else {
tx = dg.I
}
result := tx.Create(&data)
if err := result.Error; err != nil {
return nil, plh.HandleCreateError(input, event, err)
}
fmt.Println("Inserted:", result.RowsAffected)
pl.SetLogInfo(event, nil, "complete")
return &data, nil
}