Merge branch 'dev' of https://github.com/dikstub-rssa/simrs-be into feat/encounter-adjustment

# Conflicts:
#	cmd/main-migration/migrations/atlas.sum
This commit is contained in:
vanilia
2025-11-02 18:40:22 +07:00
15 changed files with 59 additions and 35 deletions
@@ -5,9 +5,6 @@ import (
"strconv"
e "simrs-vx/internal/domain/main-entities/adime"
ee "simrs-vx/internal/domain/main-entities/employee"
ue "simrs-vx/internal/use-case/main-use-case/employee"
dg "github.com/karincake/apem/db-gorm-pg"
d "github.com/karincake/dodol"
@@ -49,11 +46,13 @@ func Create(input e.CreateDto) (*d.Data, error) {
return pl.SetLogError(&event, input)
}
employee, err := ue.ReadDetailData(ee.ReadDetailDto{User_Id: &input.AuthInfo.User_Id}, &event, tx)
if err != nil {
return err
if input.AuthInfo.Employee_Id != nil {
v := uint(*input.AuthInfo.Employee_Id)
input.Employee_Id = &v
} else {
input.Employee_Id = nil
}
input.Employee_Id = &employee.Id
if resData, err := CreateData(input, &event, tx); err != nil {
return err
} else {
@@ -128,6 +128,7 @@ func GenToken(input eu.LoginDto) (*d.Data, error) {
// employee position
if employee.Id > 0 && employee.Position_Code != nil {
atClaims["employee_position_code"] = *employee.Position_Code
switch *employee.Position_Code {
case erg.EPCDoc:
doctor := ed.Doctor{}
@@ -314,6 +315,7 @@ func ExtractToken(r *http.Request, tokenType TokenType) (data *pa.AuthInfo, err
data.Laborant_Id = checkIntPtrClaims(claims, "laborant_id")
data.Pharmachist_Id = checkIntPtrClaims(claims, "pharmachist_id")
data.Intern_Position_Code = checkStrPtrClaims(claims, "intern_position_code")
data.Employee_Id = checkIntPtrClaims(claims, "employee_id")
return
}
return nil, d.FieldError{Code: "token", Message: "token-invalid"}
@@ -15,9 +15,6 @@ import (
func CreateData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*e.McuOrderItem, error) {
pl.SetLogInfo(event, nil, "started", "DBCreate")
data := e.McuOrderItem{}
setData(&input, &data)
var tx *gorm.DB
if len(dbx) > 0 {
tx = dbx[0]
@@ -25,6 +22,20 @@ func CreateData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*e.McuOrde
tx = dg.I
}
deletedData := e.McuOrderItem{}
tx.Unscoped().
Where("\"McuOrder_Id\" = ? AND \"McuSrc_Id\" = ?", input.McuOrder_Id, input.McuSrc_Id).
First(&deletedData)
if deletedData.Id != 0 {
if err := tx.Model(e.McuOrderItem{}).Where("Id = ?", deletedData.Id).Update("DeletedAt", nil).Error; err != nil {
return nil, plh.HandleCreateError(input, event, err)
}
return &deletedData, nil
}
data := e.McuOrderItem{}
setData(&input, &data)
if err := tx.Create(&data).Error; err != nil {
return nil, plh.HandleCreateError(input, event, err)
}
@@ -81,7 +81,7 @@ func ReadDetailData(input e.ReadDetailDto, event *pl.Event, dbx ...*gorm.DB) (*e
tx = dg.I
}
if err := tx.First(&data, input.Id).Error; err != nil {
if err := tx.Scopes(gh.Preload(input.Includes)).First(&data, input.Id).Error; err != nil {
if processedErr := pu.HandleReadError(err, event, source, input.Id, data); processedErr != nil {
return nil, processedErr
}
@@ -89,7 +89,7 @@ func ReadDetailData(input e.ReadDetailDto, event *pl.Event, dbx ...*gorm.DB) (*e
tx = tx.Where("\"Id\" = ?", input.Id)
}
if err := tx.First(&data).Error; err != nil {
if err := tx.Scopes(gh.Preload(input.Includes)).First(&data).Error; err != nil {
if processedErr := pu.HandleReadError(err, event, source, input.Id, data); processedErr != nil {
return nil, processedErr
}
+6 -7
View File
@@ -4,11 +4,8 @@ import (
"errors"
"strconv"
ee "simrs-vx/internal/domain/main-entities/employee"
e "simrs-vx/internal/domain/main-entities/sbar"
ue "simrs-vx/internal/use-case/main-use-case/employee"
dg "github.com/karincake/apem/db-gorm-pg"
d "github.com/karincake/dodol"
@@ -49,11 +46,13 @@ func Create(input e.CreateDto) (*d.Data, error) {
return pl.SetLogError(&event, input)
}
employee, err := ue.ReadDetailData(ee.ReadDetailDto{User_Id: &input.AuthInfo.User_Id}, &event, tx)
if err != nil {
return err
if input.AuthInfo.Employee_Id != nil {
v := uint(*input.AuthInfo.Employee_Id)
input.Employee_Id = &v
} else {
input.Employee_Id = nil
}
input.Employee_Id = &employee.Id
if resData, err := CreateData(input, &event, tx); err != nil {
return err
} else {
@@ -4,11 +4,8 @@ import (
"errors"
"strconv"
ee "simrs-vx/internal/domain/main-entities/employee"
e "simrs-vx/internal/domain/main-entities/soapi"
ue "simrs-vx/internal/use-case/main-use-case/employee"
dg "github.com/karincake/apem/db-gorm-pg"
d "github.com/karincake/dodol"
@@ -49,11 +46,13 @@ func Create(input e.CreateDto) (*d.Data, error) {
return pl.SetLogError(&event, input)
}
employee, err := ue.ReadDetailData(ee.ReadDetailDto{User_Id: &input.AuthInfo.User_Id}, &event, tx)
if err != nil {
return err
if input.AuthInfo.Employee_Id != nil {
v := uint(*input.AuthInfo.Employee_Id)
input.Employee_Id = &v
} else {
input.Employee_Id = nil
}
input.Employee_Id = &employee.Id
if resData, err := CreateData(input, &event, tx); err != nil {
return err
} else {