add patient

This commit is contained in:
vanilia
2025-11-19 13:36:12 +07:00
6 changed files with 13 additions and 7 deletions
@@ -25,7 +25,7 @@ type Person struct {
BirthRegency_Code *string `json:"birthRegency_code" gorm:"size:4"`
BirthRegency *er.Regency `json:"birthRegency,omitempty" gorm:"foreignKey:BirthRegency_Code;references:Code"`
Gender_Code *erp.GenderCode `json:"gender_code" gorm:"size:10"`
ResidentIdentityNumber *string `json:"residentIdentityNumber" gorm:"unique;size:16"`
ResidentIdentityNumber *string `json:"residentIdentityNumber" gorm:"uniqueIndex:idx_resident_identity,where:\"DeletedAt\" IS NULL"`
PassportNumber *string `json:"passportNumber" gorm:"unique;size:20"`
DrivingLicenseNumber *string `json:"drivingLicenseNumber" gorm:"unique;size:20"`
Religion_Code *erp.ReligionCode `json:"religion_code" gorm:"size:10"`
@@ -279,7 +279,7 @@ func Update(input e.UpdateDto) (*d.Data, error) {
return err
}
dataPatient, err := ReadDetailData(e.ReadDetailDto{Id: uint16(data.Id)}, &event)
dataPatient, err := ReadDetailData(e.ReadDetailDto{Id: uint16(data.Id)}, &event, tx)
if err != nil {
return err
}
@@ -123,7 +123,7 @@ func Update(input e.Patient) (*d.Data, error) {
tx := db.NewTx()
err = tx.Simgos.Transaction(func(tx *gorm.DB) error {
// Step 3: Update Simgos
if err = UpdateSimgosData(input, syncLink.Simgos_Id, patientData.Nomr, &event, tx); err != nil {
if err = UpdateSimgosData(input, patientData, &event, tx); err != nil {
return err
}
@@ -60,12 +60,13 @@ func ReadDetailSimgosData(simgosId uint16, event *pl.Event) (*esimgos.MPasien, e
return &data, nil
}
func UpdateSimgosData(input e.Patient, patientId uint, patientNomr string, event *pl.Event, dbx ...*gorm.DB) error {
func UpdateSimgosData(input e.Patient, patientData *esimgos.MPasien, event *pl.Event, dbx ...*gorm.DB) error {
pl.SetLogInfo(event, input, "started", "DBUpdate")
data := setDataSimgos(&input)
data.Id = patientId
data.Nomr = patientNomr
data.Id = patientData.Id
data.Nomr = patientData.Nomr
data.CreatedAt = patientData.CreatedAt
var tx *gorm.DB
if len(dbx) > 0 {