feat (employee): add laborant on create and update
This commit is contained in:
@@ -1,15 +1,18 @@
|
||||
package employee
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strconv"
|
||||
|
||||
ed "simrs-vx/internal/domain/main-entities/doctor"
|
||||
e "simrs-vx/internal/domain/main-entities/employee"
|
||||
el "simrs-vx/internal/domain/main-entities/laborant"
|
||||
en "simrs-vx/internal/domain/main-entities/nurse"
|
||||
et "simrs-vx/internal/domain/main-entities/nutritionist"
|
||||
ep "simrs-vx/internal/domain/main-entities/pharmacist"
|
||||
|
||||
ud "simrs-vx/internal/use-case/main-use-case/doctor"
|
||||
ul "simrs-vx/internal/use-case/main-use-case/laborant"
|
||||
un "simrs-vx/internal/use-case/main-use-case/nurse"
|
||||
ut "simrs-vx/internal/use-case/main-use-case/nutritionist"
|
||||
upe "simrs-vx/internal/use-case/main-use-case/person"
|
||||
@@ -114,6 +117,16 @@ func Create(input e.CreateDto) (*d.Data, error) {
|
||||
if _, err := up.CreateData(createPharmacist, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
case ero.EPCLab:
|
||||
createLaborant := el.CreateDto{
|
||||
Employee_Id: &data.Id,
|
||||
IHS_Number: input.IHS_Number,
|
||||
}
|
||||
if _, err := ul.CreateData(createLaborant, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
default:
|
||||
return errors.New("invalid employee position")
|
||||
}
|
||||
|
||||
mwRunner.setMwType(pu.MWTPost)
|
||||
@@ -376,6 +389,28 @@ func Update(input e.UpdateDto) (*d.Data, error) {
|
||||
if _, err := up.CreateData(createPha, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
case ero.EPCLab:
|
||||
readLab := el.ReadDetailDto{Employee_Id: &data.Id}
|
||||
readLabData, err := ul.ReadDetailData(readLab, &event, tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
createLab := el.CreateDto{
|
||||
Employee_Id: &data.Id,
|
||||
IHS_Number: input.IHS_Number,
|
||||
}
|
||||
if readLabData != nil {
|
||||
if err := ul.UpdateData(el.UpdateDto{CreateDto: createLab}, readLabData, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
if _, err := ul.CreateData(createLab, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
default:
|
||||
return errors.New("invalid employee position")
|
||||
}
|
||||
|
||||
pl.SetLogInfo(&event, nil, "complete")
|
||||
|
||||
Reference in New Issue
Block a user