feat (generate-file): resume table is done

This commit is contained in:
dpurbosakti
2025-11-26 17:23:48 +07:00
parent d88d376112
commit 04add70ac5
5 changed files with 452 additions and 153 deletions

No files matched your search

@@ -250,8 +250,28 @@ func generateResume(input GenerateDto, event pl.Event, tx *gorm.DB) (*ResponseDt
}
}
templateData, err := generateResumeTemplateData(*r, event, tx)
if err != nil {
return nil, err
}
input.FormatType = erc.DFTCPDF
input.TemplateName = TDNR
input.Encounter_Id = r.Encounter_Id
// generate file
urlPub, err := generateFile(input, templateData)
if err != nil {
return nil, err
}
r.FileUrl = &urlPub
if err := tx.Save(&r).Error; err != nil {
return nil, err
}
response := ResponseDto{
FileUrl: "",
FileUrl: urlPub,
}
return &response, nil
@@ -264,7 +284,6 @@ func generateResumeTemplateData(resume er.Resume, event pl.Event, tx *gorm.DB) (
if err != nil {
return nil, err
}
fmt.Println(encounter)
// map template data
rData := er.ValueDto{}
@@ -293,6 +312,24 @@ func generateResumeTemplateData(resume er.Resume, event pl.Event, tx *gorm.DB) (
templateData.Doctor_Name = resume.Doctor.Employee.Person.FullName()
templateData.StartedAt = *pc.TimeToStringWithFormat(encounter.StartedAt, "")
templateData.FinishedAt = *pc.TimeToStringWithFormat(encounter.FinishedAt, "")
templateData.DiagnosisIn = rData.Assessment.DiagnosisIn
templateData.Diagnosis = rData.Diagnosis.SecondaryDiagnosis
templateData.MainComplaint = rData.Assessment.MainComplaint
templateData.MedicalHistory = rData.Assessment.MedicalHistory
templateData.PhysicalExamination = rData.Assessment.PhysicalExamination
templateData.SupportingExamination = rData.Supporting.Notes
templateData.MedicalActions = rData.Action.AdditionalActions
templateData.MedicalAction = rData.Action.MedicalActions
templateData.Consultations = rData.Consultation.Consultations
templateData.Allergy = rData.Pharmacy.AllergySpecialConditions
templateData.ConsciousnessLevel = rData.Discharge.ConsciousnessLevel
templateData.BloodPressure = fmt.Sprintf("%.0f/%.0f", rData.Discharge.BloodPressureSystolic, rData.Discharge.BloodPressureDiastolic)
templateData.BodyTemperature = rData.Discharge.BodyTemperature
templateData.RespirationRate = rData.Discharge.RespirationRate
templateData.HeartRate = rData.Discharge.HeartRate
templateData.PainScale = rData.Discharge.PainScale
templateData.ConditionOnDischarge = rData.Management.ConditionOnDischarge
templateData.DischargeMethod = rData.Management.DischargeMethod
return &templateData, nil
}
@@ -57,6 +57,18 @@ type ResumePDF struct {
MedicalAction string
Consultations []er.ConsultationEntry
Allergy string
ConsciousnessLevel string
BloodPressure string
BodyTemperature float64
RespirationRate float64
HeartRate float64
PainScale int
ConditionOnDischarge string
DischargeMethod string
// fasyankes
// date
// klinik
Date string
}
type GenerateDto struct {
@@ -110,6 +122,7 @@ type TemplateDocsName string
const (
TDNGC TemplateDocsName = "general-consent.html"
TDNCL TemplateDocsName = "control-letter.html"
TDNR TemplateDocsName = "resume.html"
)
func (v VclaimControlLetter) generateTemplateData() ControlLetterPDF {