From 159db551ebd51de6b85bebaf0a3414e8b7515906 Mon Sep 17 00:00:00 2001 From: vanilia Date: Mon, 27 Oct 2025 17:20:46 +0700 Subject: [PATCH] set responsible doctor to required --- .../encounter/request-validation.go | 4 +-- .../use-case/main-use-case/encounter/case.go | 27 +++++++++---------- .../main-use-case/encounter/helper.go | 5 +--- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/internal/interface/main-handler/encounter/request-validation.go b/internal/interface/main-handler/encounter/request-validation.go index 9e92ea88..025298fc 100644 --- a/internal/interface/main-handler/encounter/request-validation.go +++ b/internal/interface/main-handler/encounter/request-validation.go @@ -53,10 +53,10 @@ func validateRequestCheckout(w http.ResponseWriter, i e.DischargeDto) (valid boo } func validateRequestCheckIn(w http.ResponseWriter, i e.CheckinDto) (valid bool) { - if i.Responsible_Doctor_Id == nil && i.Adm_Employee_Id == nil { + if i.Responsible_Doctor_Id == nil { rw.DataResponse(w, nil, d.FieldError{ Code: dataValidationFail, - Message: "responsible_doctor_id or adm_employee_id required", + Message: "responsible_doctor_id required", }) return } diff --git a/internal/use-case/main-use-case/encounter/case.go b/internal/use-case/main-use-case/encounter/case.go index c55b5b4b..d1124b3e 100644 --- a/internal/use-case/main-use-case/encounter/case.go +++ b/internal/use-case/main-use-case/encounter/case.go @@ -607,23 +607,20 @@ func CheckIn(input e.CheckinDto) (*d.Data, error) { } // Insert responsible_doctor_hist if responsible_doctor_id has changed && update latest history - if input.Responsible_Doctor_Id != nil { - if data.Responsible_Doctor_Id == nil || *input.Responsible_Doctor_Id != *data.Responsible_Doctor_Id { - // update finishedAt in latest responsible_doctor_hist - if err = updateLatestResponsibleDoctorHist(input, &event, tx); err != nil { - return err - } - - //insert responsible_doctor_hist - if _, err = urdh.Create(erdh.CreateDto{ - Encounter_Id: &input.Id, - Doctor_Id: input.Responsible_Doctor_Id, - StartedAt: input.StartedAt, - }); err != nil { - return err - } + if data.Responsible_Doctor_Id == nil || *input.Responsible_Doctor_Id != *data.Responsible_Doctor_Id { + // update finishedAt in latest responsible_doctor_hist + if err = updateLatestResponsibleDoctorHist(input, &event, tx); err != nil { + return err } + //insert responsible_doctor_hist + if _, err = urdh.Create(erdh.CreateDto{ + Encounter_Id: &input.Id, + Doctor_Id: input.Responsible_Doctor_Id, + StartedAt: input.StartedAt, + }); err != nil { + return err + } } // Insert adm_employee_hist if adm_employee_id has changed && update latest history diff --git a/internal/use-case/main-use-case/encounter/helper.go b/internal/use-case/main-use-case/encounter/helper.go index d2647a38..c5eb155e 100644 --- a/internal/use-case/main-use-case/encounter/helper.go +++ b/internal/use-case/main-use-case/encounter/helper.go @@ -331,14 +331,11 @@ func setDataUpdateStatus(src e.UpdateStatusDto, dst *e.Encounter) { } func setDataCheckIn(src e.CheckinDto, dst *e.Encounter) { - if src.Responsible_Doctor_Id != nil { - dst.Responsible_Doctor_Id = src.Responsible_Doctor_Id - } - if src.Adm_Employee_Id != nil { dst.Adm_Employee_Id = src.Adm_Employee_Id } + dst.Responsible_Doctor_Id = src.Responsible_Doctor_Id dst.StartedAt = src.StartedAt }