Files
simrsx-be/internal/use-case/main-use-case/chemo-plan/helper.go
T
2025-12-08 14:29:44 +07:00

36 lines
845 B
Go

/*
DESCRIPTION:
Any functions that are used internally by the use-case
*/
package chemo_plan
import (
ere "simrs-vx/internal/domain/references/encounter"
e "simrs-vx/internal/domain/main-entities/chemo-plan"
ep "simrs-vx/internal/domain/main-entities/chemo-protocol"
)
func setData[T *ep.CreateDto | *ep.UpdateDto](input T, data []e.ChemoPlan) {
var inputSrc *ep.CreateDto
if inputT, ok := any(input).(*ep.CreateDto); ok {
inputSrc = inputT
} else {
inputTemp := any(input).(*ep.UpdateDto)
inputSrc = &inputTemp.CreateDto
}
for _, cp := range *inputSrc.ChemoPlans {
data = append(data, e.ChemoPlan{
Parent_Id: inputSrc.Chemo_Id,
Protocol_Id: inputSrc.Id,
SeriesNumber: cp.SeriesNumber,
CycleNumber: cp.CycleNumber,
PlanDate: cp.PlanDate,
})
}
status := ere.SPCPlanned
data[0].Status = &status
}