add adjustment checkout
This commit is contained in:
No files matched your search
@@ -1,19 +1,9 @@
|
||||
package internal_reference
|
||||
|
||||
import (
|
||||
|
||||
// main entities
|
||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||
ee "simrs-vx/internal/domain/main-entities/encounter"
|
||||
eir "simrs-vx/internal/domain/main-entities/internal-reference"
|
||||
eu "simrs-vx/internal/domain/main-entities/unit"
|
||||
"strconv"
|
||||
|
||||
// main use case
|
||||
ud "simrs-vx/internal/use-case/main-use-case/doctor"
|
||||
ue "simrs-vx/internal/use-case/main-use-case/encounter"
|
||||
uu "simrs-vx/internal/use-case/main-use-case/unit"
|
||||
|
||||
pl "simrs-vx/pkg/logger"
|
||||
pu "simrs-vx/pkg/use-case-helper"
|
||||
|
||||
@@ -43,11 +33,6 @@ func Create(input eir.CreateDto) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// Validate Request
|
||||
if err := validateRequest(input); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if resData, err := CreateData(input, &event, tx); err != nil {
|
||||
return err
|
||||
} else {
|
||||
@@ -179,29 +164,6 @@ func ReadDetail(input eir.ReadDetailDto) (*d.Data, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func validateRequest(input eir.CreateDto) (err error) {
|
||||
|
||||
// Validate Encounter Id
|
||||
_, err = ue.ReadDetail(ee.ReadDetailDto{Id: uint16(*input.Encounter_Id)})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Validate Unit Id
|
||||
_, err = uu.ReadDetail(eu.ReadDetailDto{Id: *input.Unit_Id})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Validate Doctor Id
|
||||
_, err = ud.ReadDetail(ed.ReadDetailDto{Id: uint16(*input.Doctor_Id)})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func Update(input eir.UpdateDto) (*d.Data, error) {
|
||||
rdDto := eir.ReadDetailDto{Id: input.Id}
|
||||
var data *eir.InternalReference
|
||||
@@ -228,21 +190,10 @@ func Update(input eir.UpdateDto) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// Validate Request
|
||||
if err := validateRequest(input.CreateDto); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := UpdateData(input, data, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Get Updated Data
|
||||
rdDto.Includes = "encounter,unit,doctor"
|
||||
if data, err = ReadDetailData(rdDto, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
pl.SetLogInfo(&event, nil, "complete")
|
||||
|
||||
mwRunner.setMwType(pu.MWTPost)
|
||||
|
||||
@@ -21,3 +21,17 @@ func setData[T *ir.CreateDto | *ir.UpdateDto](input T, data *ir.InternalReferenc
|
||||
data.Unit_Id = inputSrc.Unit_Id
|
||||
data.Doctor_Id = inputSrc.Doctor_Id
|
||||
}
|
||||
|
||||
func setBulkData(input []ir.CreateDto, encounterId uint) []ir.InternalReference {
|
||||
var data []ir.InternalReference
|
||||
|
||||
for _, v := range input {
|
||||
data = append(data, ir.InternalReference{
|
||||
Encounter_Id: &encounterId,
|
||||
Unit_Id: v.Unit_Id,
|
||||
Doctor_Id: v.Doctor_Id,
|
||||
})
|
||||
}
|
||||
|
||||
return data
|
||||
}
|
||||
@@ -142,3 +142,24 @@ func DeleteData(data *eir.InternalReference, event *pl.Event, dbx ...*gorm.DB) e
|
||||
pl.SetLogInfo(event, nil, "complete")
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateBulkData(input []eir.CreateDto, encounterId uint, event *pl.Event, dbx ...*gorm.DB) error {
|
||||
pl.SetLogInfo(event, nil, "started", "DBCreate")
|
||||
|
||||
data := []eir.InternalReference{}
|
||||
setBulkData(input, encounterId)
|
||||
|
||||
var tx *gorm.DB
|
||||
if len(dbx) > 0 {
|
||||
tx = dbx[0]
|
||||
} else {
|
||||
tx = dg.I
|
||||
}
|
||||
|
||||
if err := tx.Create(&data).Error; err != nil {
|
||||
return plh.HandleCreateError(input, event, err)
|
||||
}
|
||||
|
||||
pl.SetLogInfo(event, nil, "complete")
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user