From b2d394d72c2dddbb7323586baf379a2b540c0f30 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Fri, 25 Jul 2025 14:38:51 +0530 Subject: [PATCH 1/3] fix: add file path in cancer gynecological examination --- .../mmu/data/doctor/CancerGynecologicalExamination.java | 8 ++++++++ .../iemr/mmu/service/cancerScreening/CSServiceImpl.java | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java b/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java index fb1ab66f..a63bbc9b 100644 --- a/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java +++ b/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java @@ -33,9 +33,12 @@ import jakarta.persistence.Transient; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import com.google.gson.annotations.Expose; +import lombok.Data; @Entity +@Data @Table(name = "t_cancergynecologicalexamination") public class CancerGynecologicalExamination { @Id @@ -92,6 +95,11 @@ public class CancerGynecologicalExamination { @Column(name = "RTIOrSTIDetail") private String rTIOrSTIDetail; + @Expose + @Transient + @JsonProperty("fileIDs") + private List fileIDs; + @Expose @Column(name = "FilePath") private String filePath; diff --git a/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java b/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java index c65f38f2..9a97fbcb 100644 --- a/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java @@ -977,6 +977,12 @@ public Long saveBenExaminationDetails(JsonObject requestOBJ, Long benVisitID, St .fromJson(examinationOBJ.get("gynecologicalDetails"), CancerGynecologicalExamination.class); cancerGynecologicalExamination.setBenVisitID(benVisitID); cancerGynecologicalExamination.setVisitCode(benVisitCode); + + if (cancerGynecologicalExamination.getFileIDs() != null) { + cancerGynecologicalExamination.setFilePath( + String.join(",", cancerGynecologicalExamination.getFileIDs())); + } + Long ID = cSNurseServiceImpl.saveCancerGynecologicalExaminationData(cancerGynecologicalExamination); if (ID != null && ID > 0) { // gynecologicalDetails stored successfully... From d28a72d645ca821cd4940b3fca9a6dff6b6b8c13 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Thu, 31 Jul 2025 12:25:48 +0530 Subject: [PATCH 2/3] fix: save the files uploaded from the doctor portal --- .../com/iemr/mmu/service/cancerScreening/CSServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java b/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java index 9a97fbcb..23fdf9d8 100644 --- a/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/cancerScreening/CSServiceImpl.java @@ -595,6 +595,11 @@ public int updateBenExaminationDetail(JsonObject jsnOBJ) throws Exception { CancerGynecologicalExamination cancerGynecologicalExamination = InputMapper.gson() .fromJson(jsnOBJ.get("gynecologicalDetails"), CancerGynecologicalExamination.class); + if (cancerGynecologicalExamination.getFileIDs() != null) { + cancerGynecologicalExamination.setFilePath( + String.join(",", cancerGynecologicalExamination.getFileIDs())); + } + int ID = cSNurseServiceImpl.updateCancerGynecologicalExaminationDetails(cancerGynecologicalExamination); if (ID > 0) { // gynecologicalDetails stored successfully... From b0546df9490100038c8175e58a05060d1658f904 Mon Sep 17 00:00:00 2001 From: Vanitha Date: Fri, 1 Aug 2025 13:41:39 +0530 Subject: [PATCH 3/3] fix: get file names in the response of gynecological examination --- .../CancerGynecologicalExamination.java | 17 ++++++++ .../cancerScreening/CSNurseServiceImpl.java | 43 +++++++++++++++++-- 2 files changed, 56 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java b/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java index a63bbc9b..475a4002 100644 --- a/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java +++ b/src/main/java/com/iemr/mmu/data/doctor/CancerGynecologicalExamination.java @@ -22,7 +22,9 @@ package com.iemr.mmu.data.doctor; import java.sql.Timestamp; +import java.util.ArrayList; import java.util.List; +import java.util.Map; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -35,6 +37,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.gson.annotations.Expose; + import lombok.Data; @Entity @@ -104,6 +107,10 @@ public class CancerGynecologicalExamination { @Column(name = "FilePath") private String filePath; + @Expose + @Transient + private ArrayList> files; + @Expose @Column(name = "ExperiencedPostCoitalBleeding") private Boolean experiencedPostCoitalBleeding; @@ -430,4 +437,14 @@ public void setVisitCode(Long visitCode) { this.visitCode = visitCode; } + + public ArrayList> getFiles() { + return files; + } + + public void setFiles(ArrayList> files) { + this.files = files; + } + + } diff --git a/src/main/java/com/iemr/mmu/service/cancerScreening/CSNurseServiceImpl.java b/src/main/java/com/iemr/mmu/service/cancerScreening/CSNurseServiceImpl.java index b6b15f22..77364bbd 100644 --- a/src/main/java/com/iemr/mmu/service/cancerScreening/CSNurseServiceImpl.java +++ b/src/main/java/com/iemr/mmu/service/cancerScreening/CSNurseServiceImpl.java @@ -63,10 +63,14 @@ import com.iemr.mmu.repo.nurse.BenPersonalCancerDietHistoryRepo; import com.iemr.mmu.repo.nurse.BenPersonalCancerHistoryRepo; import com.iemr.mmu.repo.nurse.BenVisitDetailRepo; +import com.iemr.mmu.utils.AESEncryption.AESEncryptionDecryption; @Service public class CSNurseServiceImpl implements CSNurseService { private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); + + @Autowired + private AESEncryptionDecryption aESEncryptionDecryption; private BenFamilyCancerHistoryRepo benFamilyCancerHistoryRepo; private BenPersonalCancerHistoryRepo benPersonalCancerHistoryRepo; private BenPersonalCancerDietHistoryRepo benPersonalCancerDietHistoryRepo; @@ -593,10 +597,41 @@ public CancerBreastExamination getBenCancerBreastExaminationData(Long benRegID, } public CancerGynecologicalExamination getBenCancerGynecologicalExaminationData(Long benRegID, Long visitCode) { - CancerGynecologicalExamination cancerGynecologicalExamination = cancerGynecologicalExaminationRepo - .getBenCancerGynecologicalExaminationDetails(benRegID, visitCode); - return cancerGynecologicalExamination; - } + CancerGynecologicalExamination cancerGynecologicalExamination = cancerGynecologicalExaminationRepo + .getBenCancerGynecologicalExaminationDetails(benRegID, visitCode); + + if (cancerGynecologicalExamination != null) { + + String filePathStr = cancerGynecologicalExamination.getFilePath(); + + if (filePathStr != null && !filePathStr.trim().isEmpty()) { + ArrayList> fileList = new ArrayList<>(); + String[] fileIds = filePathStr.split(","); + + for (String str : fileIds) { + if (str != null && !str.trim().isEmpty()) { + try { + String decryptedFilePath = aESEncryptionDecryption.decrypt(str); // Decrypt + String[] tempArr = decryptedFilePath.split("/"); + String fileName = tempArr[tempArr.length - 1]; + + Map fileMap = new HashMap<>(); + fileMap.put("filePath", str); + fileMap.put("fileName", fileName); + + fileList.add(fileMap); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + cancerGynecologicalExamination.setFiles(fileList); + } + } + + return cancerGynecologicalExamination; +} public CancerSignAndSymptoms getBenCancerSignAndSymptomsData(Long benRegID, Long visitCode) { CancerSignAndSymptoms cancerSignAndSymptoms = cancerSignAndSymptomsRepo