This commit is contained in:
dpurbosakti
2025-12-02 13:37:26 +07:00
parent 7e454b0a2d
commit 5adb4e5666
8 changed files with 361 additions and 43 deletions

No files matched your search

@@ -38,7 +38,11 @@ func Create(input e.CreateDto) (*d.Data, error) {
return err
}
if !input.AuthInfo.IsDoctor() && !input.AuthInfo.IsNurse() {
if !pu.Contains([]erc.ScreeningFormTypeCode{erc.SFTCB, erc.SFTCA}, input.Type) {
return errors.New("invalid screening form type")
}
if !input.AuthInfo.IsScreener() {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "auth-forbidden",
@@ -55,12 +59,21 @@ func Create(input e.CreateDto) (*d.Data, error) {
input.Employee_Id = nil
}
if input.Type == erc.SFTCB {
switch input.Type {
case erc.SFTCA:
s, _, err := ReadListData(e.ReadListDto{FilterDto: e.FilterDto{Type: erc.SFTCA}}, &event, tx)
if err != nil {
return err
}
if len(s) != 0 {
if len(s) > 0 {
return errors.New("screening form type A is already created for this encounter")
}
case erc.SFTCB:
s, _, err := ReadListData(e.ReadListDto{FilterDto: e.FilterDto{Type: erc.SFTCA}}, &event, tx)
if err != nil {
return err
}
if len(s) < 1 {
return errors.New("screening form type A is not created yet, please create it first")
}
}