Merge dev into feat/user

This commit is contained in:
2025-10-19 09:07:25 +07:00
parent 125434630e
commit d6c56b96b4
8 changed files with 180 additions and 154 deletions

No files matched your search

+15 -49
View File
@@ -9,7 +9,6 @@ import (
ed "simrs-vx/internal/domain/main-entities/doctor"
ee "simrs-vx/internal/domain/main-entities/employee"
el "simrs-vx/internal/domain/main-entities/laborant"
em "simrs-vx/internal/domain/main-entities/midwife"
en "simrs-vx/internal/domain/main-entities/nurse"
et "simrs-vx/internal/domain/main-entities/nutritionist"
ep "simrs-vx/internal/domain/main-entities/pharmacist"
@@ -19,7 +18,6 @@ import (
ud "simrs-vx/internal/use-case/main-use-case/doctor"
ue "simrs-vx/internal/use-case/main-use-case/employee"
ul "simrs-vx/internal/use-case/main-use-case/laborant"
um "simrs-vx/internal/use-case/main-use-case/midwife"
un "simrs-vx/internal/use-case/main-use-case/nurse"
ut "simrs-vx/internal/use-case/main-use-case/nutritionist"
upe "simrs-vx/internal/use-case/main-use-case/person"
@@ -85,7 +83,7 @@ func Create(input e.CreateDto) (*d.Data, error) {
data = *resData
}
if input.Position_Code == ero.UPCInt {
if input.ContractPosition_Code == ero.CSCSpi {
createInt := esi.CreateDto{
Person_Id: input.Person_Id,
Specialist_Id: input.Specialist_Id,
@@ -105,8 +103,8 @@ func Create(input e.CreateDto) (*d.Data, error) {
return err
}
switch input.Position_Code {
case ero.UPCDoc:
switch input.Employee.Position_Code {
case ero.EPCDoc:
createDoc := ed.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
@@ -118,7 +116,7 @@ func Create(input e.CreateDto) (*d.Data, error) {
if _, err := ud.CreateData(createDoc, &event, tx); err != nil {
return err
}
case ero.UPCNur:
case ero.EPCNur:
createNurse := en.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
@@ -128,7 +126,7 @@ func Create(input e.CreateDto) (*d.Data, error) {
if _, err := un.CreateData(createNurse, &event, tx); err != nil {
return err
}
case ero.UPCNut:
case ero.EPCNut:
createNutritionist := et.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
@@ -136,7 +134,7 @@ func Create(input e.CreateDto) (*d.Data, error) {
if _, err := ut.CreateData(createNutritionist, &event, tx); err != nil {
return err
}
case ero.UPCPha:
case ero.EPCPha:
createPharmacist := ep.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
@@ -144,7 +142,7 @@ func Create(input e.CreateDto) (*d.Data, error) {
if _, err := up.CreateData(createPharmacist, &event, tx); err != nil {
return err
}
case ero.UPCLab:
case ero.EPCLab:
createLaborant := el.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
@@ -152,16 +150,6 @@ func Create(input e.CreateDto) (*d.Data, error) {
if _, err := ul.CreateData(createLaborant, &event, tx); err != nil {
return err
}
case ero.UPCMwi:
createMidwife := em.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
}
if _, err := um.CreateData(em.CreateDto(createMidwife), &event, tx); err != nil {
return err
}
case ero.UPCReg, ero.UPCHur, ero.UPCGea, ero.UPCMan:
// do nothing
default:
return errors.New("invalid employee position")
}
@@ -317,7 +305,7 @@ func Update(input e.UpdateDto) (*d.Data, error) {
return err
}
person_id, err := getPersonIdByUserId(data.Id, input.Position_Code, &event, tx)
person_id, err := getPersonIdByUserId(data.Id, input.ContractPosition_Code, &event, tx)
if err != nil {
return err
} else {
@@ -348,7 +336,7 @@ func Update(input e.UpdateDto) (*d.Data, error) {
return err
}
if input.Position_Code == ero.UPCInt {
if input.ContractPosition_Code == ero.CSCSpi {
readInt := esi.ReadDetailDto{User_Id: &data.Id}
readIntData, err := usi.ReadDetailData(readInt, &event, tx)
if err != nil {
@@ -384,8 +372,8 @@ func Update(input e.UpdateDto) (*d.Data, error) {
return err
}
switch input.Position_Code {
case ero.UPCDoc:
switch input.Employee.Position_Code {
case ero.EPCDoc:
readDoc := ed.ReadDetailDto{Employee_Id: &employeeData.Id}
readDocData, err := ud.ReadDetailData(readDoc, &event, tx)
if err != nil {
@@ -407,7 +395,7 @@ func Update(input e.UpdateDto) (*d.Data, error) {
if _, err := ud.CreateData(createDoc, &event, tx); err != nil {
return err
}
case ero.UPCNur:
case ero.EPCNur:
readNur := en.ReadDetailDto{Employee_Id: &employeeData.Id}
readNurData, err := un.ReadDetailData(readNur, &event, tx)
if err != nil {
@@ -427,7 +415,7 @@ func Update(input e.UpdateDto) (*d.Data, error) {
if _, err := un.CreateData(createNur, &event, tx); err != nil {
return err
}
case ero.UPCNut:
case ero.EPCNut:
readNut := et.ReadDetailDto{Employee_Id: &employeeData.Id}
readNutData, err := ut.ReadDetailData(readNut, &event, tx)
if err != nil {
@@ -447,7 +435,7 @@ func Update(input e.UpdateDto) (*d.Data, error) {
if _, err := ut.CreateData(createNut, &event, tx); err != nil {
return err
}
case ero.UPCPha:
case ero.EPCPha:
readPha := ep.ReadDetailDto{Employee_Id: &employeeData.Id}
readPhaData, err := up.ReadDetailData(readPha, &event, tx)
if err != nil {
@@ -467,7 +455,7 @@ func Update(input e.UpdateDto) (*d.Data, error) {
if _, err := up.CreateData(createPha, &event, tx); err != nil {
return err
}
case ero.UPCLab:
case ero.EPCLab:
readLab := el.ReadDetailDto{Employee_Id: &employeeData.Id}
readLabData, err := ul.ReadDetailData(readLab, &event, tx)
if err != nil {
@@ -487,28 +475,6 @@ func Update(input e.UpdateDto) (*d.Data, error) {
if _, err := ul.CreateData(createLab, &event, tx); err != nil {
return err
}
case ero.UPCMwi:
readMidwife := em.ReadDetailDto{Employee_Id: &employeeData.Id}
readMidwifeData, err := um.ReadDetailData(readMidwife, &event, tx)
if err != nil {
return err
}
createMidwife := em.CreateDto{
Employee_Id: &employeeData.Id,
IHS_Number: input.IHS_Number,
}
if readMidwifeData != nil {
if err := um.UpdateData(em.UpdateDto{CreateDto: createMidwife}, readMidwifeData, &event, tx); err != nil {
return err
}
return nil
}
if _, err := um.CreateData(createMidwife, &event, tx); err != nil {
return err
}
case ero.UPCReg, ero.UPCHur, ero.UPCGea, ero.UPCMan:
// do nothing
default:
return errors.New("invalid employee position")
}
+13 -13
View File
@@ -6,19 +6,19 @@ package user
import (
"errors"
ee "simrs-vx/internal/domain/main-entities/employee"
esi "simrs-vx/internal/domain/main-entities/specialist-intern"
e "simrs-vx/internal/domain/main-entities/user"
ue "simrs-vx/internal/use-case/main-use-case/employee"
usi "simrs-vx/internal/use-case/main-use-case/specialist-intern"
ero "simrs-vx/internal/domain/references/organization"
"gorm.io/gorm"
pl "simrs-vx/pkg/logger"
p "simrs-vx/pkg/password"
"gorm.io/gorm"
ue "simrs-vx/internal/use-case/main-use-case/employee"
usi "simrs-vx/internal/use-case/main-use-case/specialist-intern"
ee "simrs-vx/internal/domain/main-entities/employee"
esi "simrs-vx/internal/domain/main-entities/specialist-intern"
e "simrs-vx/internal/domain/main-entities/user"
erg "simrs-vx/internal/domain/references/organization"
)
func setCreate(src e.CreateDto, dst *e.User) error {
@@ -30,15 +30,14 @@ func setCreate(src e.CreateDto, dst *e.User) error {
dst.Name = src.Name
dst.Password = pass
dst.Status_Code = src.Status_Code
dst.Position_Code = src.Position_Code
dst.ContractPosition_Code = src.ContractPosition_Code
return nil
}
func setUpdate(src e.UpdateDto, dst *e.User) {
dst.Status_Code = src.Status_Code
dst.Position_Code = src.Position_Code
dst.ContractPosition_Code = src.ContractPosition_Code
}
func setDataEmployeeUpdate(src e.EmployeUpdateDto) ee.UpdateDto {
@@ -54,9 +53,10 @@ func setDataEmployeeUpdate(src e.EmployeUpdateDto) ee.UpdateDto {
}
}
func getPersonIdByUserId(userId uint, positionCode ero.UserPosisitionCode, event *pl.Event, tx *gorm.DB) (*uint, error) {
func getPersonIdByUserId(userId uint, positionCode erg.ContractPositionCode, event *pl.Event, tx *gorm.DB) (*uint, error) {
pl.SetLogInfo(event, nil, "started", "DBGetPersonIdByUserId")
if positionCode == ero.UPCInt {
if positionCode == erg.CSCEmp {
} else if positionCode == erg.CSCSpi {
specInt, err := usi.ReadDetailData(esi.ReadDetailDto{User_Id: &userId}, event, tx)
if err != nil {
return nil, err