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
@@ -0,0 +1,4 @@
-- Modify "Person" table
ALTER TABLE "public"."Person" DROP CONSTRAINT "uni_Person_ResidentIdentityNumber", ALTER COLUMN "ResidentIdentityNumber" TYPE text;
-- Create index "idx_resident_identity" to table: "Person"
CREATE UNIQUE INDEX "idx_resident_identity" ON "public"."Person" ("ResidentIdentityNumber") WHERE ("DeletedAt" IS NULL);
+2 -1
View File
@@ -1,4 +1,4 @@
h1:vOoMJhDkNM1zFHHQLD+cHi5Xz/K4Bnv0bSNVF8IjdLs=
h1:UhULOHIbuhMYkKVWh97sQJdSpsgfHegvn8gwivFk6YQ=
20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k=
20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0=
20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI=
@@ -120,3 +120,4 @@ h1:vOoMJhDkNM1zFHHQLD+cHi5Xz/K4Bnv0bSNVF8IjdLs=
20251114062746.sql h1:FInLaEFQByESEwFJKuKnuUSTKmcDpi3ZXaxkKwz2+D8=
20251117005942.sql h1:wD3BWrUSmo1HlW16V3lkaBkJvbAZ0fNk77te7J9NhOc=
20251117075427.sql h1:TqU9VKZa3I8YNXUGQWY3WVBYN+1FvyyaKy0hB1jgAho=
20251119063438.sql h1:7BCr8Pr2doQT2BmsKYpyGa7gap4pWH711vClDw/VQ6s=
@@ -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 {