feat (employee): add laborant on create and update
This commit is contained in:
@@ -6,9 +6,8 @@ import (
|
||||
)
|
||||
|
||||
type CreateDto struct {
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
Parent_Id *int16 `json:"parent_id"`
|
||||
Employee_Id *uint `json:"employee_id"`
|
||||
IHS_Number *string `json:"ihs_number" validate:"maxLength=20"`
|
||||
}
|
||||
|
||||
type ReadListDto struct {
|
||||
@@ -56,11 +55,11 @@ type ResponseDto struct {
|
||||
|
||||
func (d Laborant) ToResponse() ResponseDto {
|
||||
resp := ResponseDto{
|
||||
// Code: d.Code,
|
||||
// Name: d.Name,
|
||||
// Parent_Id: d.Parent_Id,
|
||||
Employee_Id: d.Employee_Id,
|
||||
Employee: d.Employee,
|
||||
IHS_Number: d.IHS_Number,
|
||||
}
|
||||
// resp.SmallMain = d.SmallMain
|
||||
resp.Main = d.Main
|
||||
return resp
|
||||
}
|
||||
|
||||
|
||||
@@ -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