feat (encounter): add flow to insert adm employee
This commit is contained in:
@@ -15,6 +15,8 @@ import (
|
|||||||
|
|
||||||
erc "simrs-vx/internal/domain/references/common"
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
ere "simrs-vx/internal/domain/references/encounter"
|
ere "simrs-vx/internal/domain/references/encounter"
|
||||||
|
|
||||||
|
pa "simrs-vx/pkg/auth-helper"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CreateDto struct {
|
type CreateDto struct {
|
||||||
@@ -33,10 +35,12 @@ type CreateDto struct {
|
|||||||
Ref_Number *string `json:"ref_number" validate:"maxLength=20"`
|
Ref_Number *string `json:"ref_number" validate:"maxLength=20"`
|
||||||
Trx_Number *string `json:"trx_number" validate:"maxLength=20"`
|
Trx_Number *string `json:"trx_number" validate:"maxLength=20"`
|
||||||
Appointment_Doctor_Id *uint `json:"appointment_doctor_id"`
|
Appointment_Doctor_Id *uint `json:"appointment_doctor_id"`
|
||||||
Adm_Employee_Id *uint `json:"adm_employee_id"`
|
Adm_Employee_Id *uint `json:"-"`
|
||||||
Responsible_Doctor_Id *uint `json:"responsible_doctor_id"`
|
Responsible_Doctor_Id *uint `json:"responsible_doctor_id"`
|
||||||
RefSource_Name *string `json:"refSource_name" validate:"maxLength=100"`
|
RefSource_Name *string `json:"refSource_name" validate:"maxLength=100"`
|
||||||
Appointment_Id *uint `json:"appointment_id"`
|
Appointment_Id *uint `json:"appointment_id"`
|
||||||
|
|
||||||
|
pa.AuthInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReadListDto struct {
|
type ReadListDto struct {
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ import (
|
|||||||
|
|
||||||
e "simrs-vx/internal/domain/main-entities/encounter"
|
e "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
u "simrs-vx/internal/use-case/main-use-case/encounter"
|
u "simrs-vx/internal/use-case/main-use-case/encounter"
|
||||||
|
|
||||||
|
pa "simrs-vx/pkg/auth-helper"
|
||||||
|
|
||||||
|
d "github.com/karincake/dodol"
|
||||||
)
|
)
|
||||||
|
|
||||||
type myBase struct{}
|
type myBase struct{}
|
||||||
@@ -17,10 +21,15 @@ type myBase struct{}
|
|||||||
var O myBase
|
var O myBase
|
||||||
|
|
||||||
func (obj myBase) Create(w http.ResponseWriter, r *http.Request) {
|
func (obj myBase) Create(w http.ResponseWriter, r *http.Request) {
|
||||||
|
authInfo, err := pa.GetAuthInfo(r)
|
||||||
|
if err != nil {
|
||||||
|
rw.WriteJSON(w, http.StatusUnauthorized, d.IS{"message": err.Error()}, nil)
|
||||||
|
}
|
||||||
dto := e.CreateDto{}
|
dto := e.CreateDto{}
|
||||||
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
dto.AuthInfo = *authInfo
|
||||||
res, err := u.Create(dto)
|
res, err := u.Create(dto)
|
||||||
rw.DataResponse(w, res, err)
|
rw.DataResponse(w, res, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ func SetRoutes() http.Handler {
|
|||||||
"DELETE /{id}": mcuordersubitem.O.Delete,
|
"DELETE /{id}": mcuordersubitem.O.Delete,
|
||||||
"PATCH /{id}/complete": mcuordersubitem.O.Complete,
|
"PATCH /{id}/complete": mcuordersubitem.O.Complete,
|
||||||
})
|
})
|
||||||
hk.GroupRoutes("/v1/encounter", r, hk.MapHandlerFunc{
|
hk.GroupRoutes("/v1/encounter", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||||
"GET /": encounter.O.GetList,
|
"GET /": encounter.O.GetList,
|
||||||
"GET /{id}": encounter.O.GetDetail,
|
"GET /{id}": encounter.O.GetDetail,
|
||||||
"POST /": encounter.O.Create,
|
"POST /": encounter.O.Create,
|
||||||
|
|||||||
@@ -7,12 +7,14 @@ import (
|
|||||||
ea "simrs-vx/internal/domain/main-entities/ambulatory"
|
ea "simrs-vx/internal/domain/main-entities/ambulatory"
|
||||||
ec "simrs-vx/internal/domain/main-entities/chemo"
|
ec "simrs-vx/internal/domain/main-entities/chemo"
|
||||||
ee "simrs-vx/internal/domain/main-entities/emergency"
|
ee "simrs-vx/internal/domain/main-entities/emergency"
|
||||||
|
eem "simrs-vx/internal/domain/main-entities/employee"
|
||||||
e "simrs-vx/internal/domain/main-entities/encounter"
|
e "simrs-vx/internal/domain/main-entities/encounter"
|
||||||
ei "simrs-vx/internal/domain/main-entities/inpatient"
|
ei "simrs-vx/internal/domain/main-entities/inpatient"
|
||||||
|
|
||||||
ua "simrs-vx/internal/use-case/main-use-case/ambulatory"
|
ua "simrs-vx/internal/use-case/main-use-case/ambulatory"
|
||||||
uc "simrs-vx/internal/use-case/main-use-case/chemo"
|
uc "simrs-vx/internal/use-case/main-use-case/chemo"
|
||||||
ue "simrs-vx/internal/use-case/main-use-case/emergency"
|
ue "simrs-vx/internal/use-case/main-use-case/emergency"
|
||||||
|
uem "simrs-vx/internal/use-case/main-use-case/employee"
|
||||||
ui "simrs-vx/internal/use-case/main-use-case/inpatient"
|
ui "simrs-vx/internal/use-case/main-use-case/inpatient"
|
||||||
|
|
||||||
erc "simrs-vx/internal/domain/references/common"
|
erc "simrs-vx/internal/domain/references/common"
|
||||||
@@ -48,6 +50,12 @@ func Create(input e.CreateDto) (*d.Data, error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if emp, err := uem.ReadDetailData(eem.ReadDetailDto{User_Id: &input.AuthInfo.User_Id}, &event, tx); err != nil {
|
||||||
|
return err
|
||||||
|
} else {
|
||||||
|
input.Adm_Employee_Id = &emp.Id
|
||||||
|
}
|
||||||
|
|
||||||
if resData, err := CreateData(input, &event, tx); err != nil {
|
if resData, err := CreateData(input, &event, tx); err != nil {
|
||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user