ongoing seed subspecialist
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user