adj sync request switch poly
This commit is contained in:
No files matched your search
@@ -278,6 +278,8 @@ func CheckOut(input e.Encounter) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// TODO: Update TPemeriksaanHistory end_konsul if internal reference exist
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
@@ -367,6 +369,8 @@ func RequestSwitchUnit(input e.Encounter) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// Step 4: BulkInsert To Link
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
@@ -381,7 +385,7 @@ func RequestSwitchUnit(input e.Encounter) (*d.Data, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func ApproveSwitchUnit(input e.Encounter) (*d.Data, error) {
|
||||
func ApproveSwitchUnit(input e.ApproveUnitDto) (*d.Data, error) {
|
||||
event := pl.Event{
|
||||
Feature: "RequestSwitchUnit",
|
||||
Source: source,
|
||||
@@ -404,12 +408,7 @@ func ApproveSwitchUnit(input e.Encounter) (*d.Data, error) {
|
||||
|
||||
tx := db.NewTx()
|
||||
err = tx.Simgos.Transaction(func(tx *gorm.DB) error {
|
||||
// Step 2: Update TPendaftaran
|
||||
if err = UpdateTPendaftaranData(input, tpendaftaran, "update-status", &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Step 3: Insert TPemeriksaanHist
|
||||
// Step 3: Update TPemeriksaanHist
|
||||
if _, err := CreateBulkTPemeriksaanHistData(input, tpendaftaran, &event, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -122,7 +122,32 @@ func setDataUpdateStatus(input e.Encounter, data *etp.TPendaftaran) {
|
||||
|
||||
if input.Status_Code == erc.DSCCancel {
|
||||
data.Status = 11
|
||||
return
|
||||
}
|
||||
|
||||
setStatus(input.Discharge_Method_Code, data)
|
||||
//if *input.Discharge_Method_Code == ere.DMCConsulPoly ||
|
||||
// *input.Discharge_Method_Code == ere.DMCConsulExecutive {
|
||||
//
|
||||
// if u := input.Unit; u != nil {
|
||||
// data.PoliNameHfis = &u.Name
|
||||
// }
|
||||
//
|
||||
// if d := input.Responsible_Doctor; d != nil {
|
||||
// if d.Specialist_Code != nil {
|
||||
// data.SpesialisIdHfis = d.Specialist_Code
|
||||
// }
|
||||
//
|
||||
// if emp := d.Employee; emp != nil {
|
||||
// if p := emp.Person; p != nil {
|
||||
// data.DokterNameHfis = &p.Name
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// data.DokterIdHfis = nil
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
func setDataCheckIn(input e.Encounter, data *etp.TPendaftaran) {
|
||||
@@ -153,7 +178,6 @@ func setDataCheckOut(input e.Encounter, data *etp.TPendaftaran) {
|
||||
setStatus(input.Discharge_Method_Code, data)
|
||||
if data.Status == 8 || data.Status == 3 {
|
||||
if dc := input.DeathCause; dc != nil {
|
||||
|
||||
var dcSrc []DeathCauseSrc
|
||||
_ = json.Unmarshal([]byte(*dc.Value), &dcSrc)
|
||||
|
||||
@@ -190,15 +214,17 @@ func setDataRequestSwitchUnit(input e.Encounter, data *etp.TPendaftaran) (hist [
|
||||
hist = append(hist, etph.TPemeriksaanHist{
|
||||
Idxdaftar: &data.Idxdaftar,
|
||||
Kdpoly: stringtouint(*ref.Unit_Code),
|
||||
DokterPengonsul: stringtouint(*input.Responsible_Doctor_Code),
|
||||
DokterPengonsul: stringtouint(*ref.SrcDoctor_Code),
|
||||
DokterPenerima: stringtouint(*ref.Doctor_Code),
|
||||
StartKonsul: &now,
|
||||
})
|
||||
|
||||
// set user konsul
|
||||
if emp := input.Adm_Employee; emp != nil {
|
||||
if u := emp.User; u != nil {
|
||||
hist[i].UserKonsul = &u.Name
|
||||
if n := input.Responsible_Nurse; n != nil {
|
||||
if emp := n.Employee; emp != nil {
|
||||
if u := emp.User; u != nil {
|
||||
hist[i].UserKonsul = &u.Name
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,24 +282,12 @@ func setStatus(code *ere.DischargeMethodCode, data *etp.TPendaftaran) {
|
||||
data.Status = 7
|
||||
case ere.DMCConsulPoly:
|
||||
data.Status = 5
|
||||
data.PoliNameHfis = nil
|
||||
data.SpesialisIdHfis = nil
|
||||
data.DokterNameHfis = nil
|
||||
data.DokterIdHfis = nil
|
||||
case ere.DMCExtRef:
|
||||
data.Status = 6
|
||||
case ere.DMCConsulChDay:
|
||||
data.Status = 12
|
||||
data.PoliNameHfis = nil
|
||||
data.SpesialisIdHfis = nil
|
||||
data.DokterNameHfis = nil
|
||||
data.DokterIdHfis = nil
|
||||
case ere.DMCEmergency:
|
||||
data.Status = 10
|
||||
data.PoliNameHfis = nil
|
||||
data.SpesialisIdHfis = nil
|
||||
data.DokterNameHfis = nil
|
||||
data.DokterIdHfis = nil
|
||||
case ere.DMCEmergencyCovid:
|
||||
data.Status = 13
|
||||
case ere.DMCConsulExecutive:
|
||||
|
||||
@@ -218,3 +218,46 @@ func CreateBulkTPemeriksaanHistData(input e.Encounter, data *etp.TPendaftaran, e
|
||||
pl.SetLogInfo(event, nil, "complete")
|
||||
return hist, nil
|
||||
}
|
||||
|
||||
func CreateLinkData(simxId, simgosId uint, event *pl.Event, dbx ...*gorm.DB) (*esync.EncounterLink, error) {
|
||||
pl.SetLogInfo(event, nil, "started", "DBCreate")
|
||||
data := setDataSimxLink(simxId, simgosId)
|
||||
|
||||
var tx *gorm.DB
|
||||
if len(dbx) > 0 {
|
||||
tx = dbx[0]
|
||||
} else {
|
||||
tx = dg.I
|
||||
}
|
||||
|
||||
if err := tx.Create(&data).Error; err != nil {
|
||||
return nil, plh.HandleCreateError(data, event, err)
|
||||
}
|
||||
|
||||
pl.SetLogInfo(event, nil, "complete")
|
||||
return &data, nil
|
||||
}
|
||||
|
||||
func UpdateTPemeriksaanHistData(input e.ApproveUnitDto, data *etph.TPemeriksaanHist, event *pl.Event, dbx ...*gorm.DB) error {
|
||||
pl.SetLogInfo(event, input, "started", "DBUpdateTPemeriksaanHist")
|
||||
|
||||
var tx *gorm.DB
|
||||
if len(dbx) > 0 {
|
||||
tx = dbx[0]
|
||||
} else {
|
||||
tx = dg.IS["simrs"]
|
||||
}
|
||||
|
||||
if err := tx.Save(&data).Error; err != nil {
|
||||
event.Status = "failed"
|
||||
event.ErrInfo = pl.ErrorInfo{
|
||||
Code: "data-update-fail",
|
||||
Detail: "Database update failed",
|
||||
Raw: err,
|
||||
}
|
||||
return pl.SetLogError(event, input)
|
||||
}
|
||||
|
||||
pl.SetLogInfo(event, nil, "complete")
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user