adj sync request switch poly
This commit is contained in:
@@ -5,35 +5,41 @@ Any functions that are used internally by the use-case
|
||||
package internal_reference
|
||||
|
||||
import (
|
||||
e "simrs-vx/internal/domain/main-entities/encounter"
|
||||
ir "simrs-vx/internal/domain/main-entities/internal-reference"
|
||||
erc "simrs-vx/internal/domain/references/common"
|
||||
)
|
||||
|
||||
func setData[T *ir.CreateDto | *ir.UpdateDto](input T, data *ir.InternalReference) {
|
||||
var inputSrc *ir.CreateDto
|
||||
if inputT, ok := any(input).(*ir.CreateDto); ok {
|
||||
inputSrc = inputT
|
||||
} else {
|
||||
inputTemp := any(input).(*ir.UpdateDto)
|
||||
inputSrc = &inputTemp.CreateDto
|
||||
}
|
||||
func setDataCreate(input *ir.CreateDto, data *ir.InternalReference) {
|
||||
data.Encounter_Id = input.Encounter_Id
|
||||
data.Unit_Code = input.Unit_Code
|
||||
|
||||
data.Encounter_Id = inputSrc.Encounter_Id
|
||||
data.Unit_Code = inputSrc.Unit_Code
|
||||
data.Doctor_Code = inputSrc.Doctor_Code
|
||||
data.Status_Code = &inputSrc.Status_Code
|
||||
data.Doctor_Code = input.Doctor_Code
|
||||
data.SrcDoctor_Code = input.SrcDoctor_Code
|
||||
|
||||
data.Nurse_Code = input.Nurse_Code
|
||||
data.SrcNurse_Code = input.SrcNurse_Code
|
||||
data.Status_Code = &input.Status_Code
|
||||
}
|
||||
|
||||
func setBulkData(input []ir.CreateDto, encounterId uint) []ir.InternalReference {
|
||||
func setDataUpdate(input *ir.UpdateDto, data *ir.InternalReference) {
|
||||
data.Doctor_Code = input.Doctor_Code
|
||||
data.Nurse_Code = input.Nurse_Code
|
||||
data.Status_Code = &input.Status_Code
|
||||
}
|
||||
|
||||
func setBulkData(input *e.SwitchUnitDto) []ir.InternalReference {
|
||||
var data []ir.InternalReference
|
||||
|
||||
for _, v := range input {
|
||||
for _, v := range *input.InternalReferences {
|
||||
statusCode := erc.DACNew
|
||||
data = append(data, ir.InternalReference{
|
||||
Encounter_Id: &encounterId,
|
||||
Unit_Code: v.Unit_Code,
|
||||
Doctor_Code: v.Doctor_Code,
|
||||
Status_Code: &statusCode,
|
||||
Encounter_Id: &input.Id,
|
||||
Unit_Code: v.Unit_Code,
|
||||
Doctor_Code: v.Doctor_Code,
|
||||
Status_Code: &statusCode,
|
||||
SrcDoctor_Code: input.Src_Doctor_Code,
|
||||
SrcNurse_Code: input.Src_Nurse_Code,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package internal_reference
|
||||
|
||||
import (
|
||||
"errors"
|
||||
e "simrs-vx/internal/domain/main-entities/encounter"
|
||||
eir "simrs-vx/internal/domain/main-entities/internal-reference"
|
||||
plh "simrs-vx/pkg/lib-helper"
|
||||
pl "simrs-vx/pkg/logger"
|
||||
@@ -16,7 +17,7 @@ func CreateData(input eir.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*eir.Int
|
||||
pl.SetLogInfo(event, nil, "started", "DBCreate")
|
||||
|
||||
data := eir.InternalReference{}
|
||||
setData(&input, &data)
|
||||
setDataCreate(&input, &data)
|
||||
|
||||
var tx *gorm.DB
|
||||
if len(dbx) > 0 {
|
||||
@@ -97,7 +98,7 @@ func ReadDetailData(input eir.ReadDetailDto, event *pl.Event, dbx ...*gorm.DB) (
|
||||
|
||||
func UpdateData(input eir.UpdateDto, data *eir.InternalReference, event *pl.Event, dbx ...*gorm.DB) error {
|
||||
pl.SetLogInfo(event, data, "started", "DBUpdate")
|
||||
setData(&input, data)
|
||||
setDataUpdate(&input, data)
|
||||
|
||||
var tx *gorm.DB
|
||||
if len(dbx) > 0 {
|
||||
@@ -143,10 +144,10 @@ func DeleteData(data *eir.InternalReference, event *pl.Event, dbx ...*gorm.DB) e
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateBulkData(input []eir.CreateDto, encounterId uint, event *pl.Event, dbx ...*gorm.DB) error {
|
||||
func CreateBulkData(input *e.SwitchUnitDto, event *pl.Event, dbx ...*gorm.DB) error {
|
||||
pl.SetLogInfo(event, nil, "started", "DBCreate")
|
||||
|
||||
data := setBulkData(input, encounterId)
|
||||
data := setBulkData(input)
|
||||
|
||||
var tx *gorm.DB
|
||||
if len(dbx) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user