on going chemo plan

This commit is contained in:
vanilia
2025-12-09 15:07:01 +07:00
parent 69cfda6f63
commit be34c66ffd
4 changed files with 172 additions and 43 deletions

No files matched your search

@@ -1,17 +1,17 @@
package chemo_plan
import (
erc "simrs-vx/internal/domain/references/common"
ere "simrs-vx/internal/domain/references/encounter"
pl "simrs-vx/pkg/logger"
pu "simrs-vx/pkg/use-case-helper"
"strconv"
dg "github.com/karincake/apem/db-gorm-pg"
d "github.com/karincake/dodol"
pl "simrs-vx/pkg/logger"
pu "simrs-vx/pkg/use-case-helper"
"gorm.io/gorm"
erc "simrs-vx/internal/domain/references/common"
e "simrs-vx/internal/domain/main-entities/chemo-plan"
ep "simrs-vx/internal/domain/main-entities/chemo-protocol"
)
@@ -266,12 +266,33 @@ func Fail(input e.FailDto) (*d.Data, error) {
// Start log
pl.SetLogInfo(&event, input, "started", "update")
err = dg.I.Transaction(func(tx *gorm.DB) error {
pl.SetLogInfo(&event, rdDto, "started", "DBReadDetail")
if data, err = ReadDetailData(rdDto, &event, tx); err != nil {
return err
}
if data, err = ReadDetailData(rdDto, &event); err != nil {
return nil, err
}
dataSoapi, err := getSoapiByEncounterId(*data.Encounter_Id, &event)
if err != nil {
return nil, err
}
if dataSoapi != nil && len(*dataSoapi) > 0 {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "soapi-exist",
Detail: "cancel soapi to proceed",
}
return nil, pl.SetLogError(&event, data)
}
if data.Status != ere.SPCPlanned {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "invalid-chemo-status",
Detail: "only chemo plans with status 'planned' can be deleted.",
}
}
err = dg.I.Transaction(func(tx *gorm.DB) error {
if err := UpdateData(data, &event, tx); err != nil {
return err
}