From e87da4bc27c7010f1fb6bb1a46e86ede37c75893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=AA=20Th=C3=A0nh=20=C4=90=E1=BA=A1t?= <91755733+lds217@users.noreply.github.com> Date: Sat, 2 Aug 2025 04:23:20 +0700 Subject: [PATCH] [update] Enhance medical invoice generation and management. Add route of administration field in MedicineManagementPanel and MedicineDialog. Update PDF templates to include clinic prefix and improve layout. Refactor data handling in ServerHandler and Client for better integration of new fields. Remove unused report templates to streamline resources. --- .vscode/settings.json | 2 +- config/config.properties | 1 + medical_invoice.pdf | Bin 186945 -> 193487 bytes pom.xml | 5 + src/main/java/BsK/client/Client.java | 9 + src/main/java/BsK/client/LocalStorage.java | 5 +- .../client/network/handler/ClientHandler.java | 1 + .../PrintDialog/MedicineInvoice.java | 417 ++++++------------ .../PrintDialog/UltrasoundResult.java | 25 +- .../PrintDialog/print_forms/InvoiceItem.java | 16 +- .../print_forms/medserinvoice.jrxml | 164 ++++--- .../print_forms/ultrasoundresult.jrxml | 60 +-- .../ultrasoundresult_potrait.jrxml | 72 +-- .../ui/component/DataDialog/DataDialog.java | 8 +- .../DataDialog/MedicineManagementPanel.java | 45 +- .../DataDialog/UserManagementPanel.java | 2 +- .../common/MedicineDialog/MedicineDialog.java | 72 ++- src/main/java/BsK/common/entity/Medicine.java | 4 +- .../common/packet/req/AddMedicineRequest.java | 1 + .../packet/req/EditMedicineRequest.java | 1 + .../common/packet/res/ClinicInfoResponse.java | 1 + src/main/java/BsK/server/Server.java | 285 +++++------- .../server/network/handler/ServerHandler.java | 234 +++++----- src/main/resources/assets/logo.jpg | Bin 89078 -> 0 bytes src/main/resources/database/BSK.db | Bin 1339392 -> 1339392 bytes .../resources/reports/medserinvoice.jrxml | Bin 39360 -> 0 bytes .../resources/reports/ultrasoundresult.jrxml | 270 ------------ .../reports/ultrasoundresult_potrait.jrxml | 198 --------- 28 files changed, 677 insertions(+), 1221 deletions(-) delete mode 100644 src/main/resources/assets/logo.jpg delete mode 100644 src/main/resources/reports/medserinvoice.jrxml delete mode 100644 src/main/resources/reports/ultrasoundresult.jrxml delete mode 100644 src/main/resources/reports/ultrasoundresult_potrait.jrxml diff --git a/.vscode/settings.json b/.vscode/settings.json index a760fd6..9bd06c2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,4 @@ { - "java.configuration.updateBuildConfiguration": "interactive", + "java.configuration.updateBuildConfiguration": "automatic", "java.debug.settings.onBuildFailureProceed": true } \ No newline at end of file diff --git a/config/config.properties b/config/config.properties index 3712df6..70d52d0 100644 --- a/config/config.properties +++ b/config/config.properties @@ -9,3 +9,4 @@ server.address=127.0.0.1 server.port=1999 storage.checkup_media_base_dir=src/main/resources/image/checkup_media storage.image_db_path=img_db +app.project_path=D:/Github Clones/BSK-All-in-One-Clinic-Management-System \ No newline at end of file diff --git a/medical_invoice.pdf b/medical_invoice.pdf index 95baf0a6b15485854b410883ac132af20436198b..027b59e985c3642794149141d687374bd1d4aff8 100644 GIT binary patch delta 91972 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 delta 85392 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 I2TSRH0T$;a&Hw-a diff --git a/pom.xml b/pom.xml index b61a1f8..374ffc8 100644 --- a/pom.xml +++ b/pom.xml @@ -316,5 +316,10 @@ poi-ooxml 5.2.5 + + com.zaxxer + HikariCP + 5.1.0 + diff --git a/src/main/java/BsK/client/Client.java b/src/main/java/BsK/client/Client.java index 6413cad..e213a50 100644 --- a/src/main/java/BsK/client/Client.java +++ b/src/main/java/BsK/client/Client.java @@ -136,6 +136,15 @@ public class Client { log.info("Using default auto change status: {}", LocalStorage.autoChangeStatusToFinished); } + //load projectPath + String projectPath = config.getProperty("app.project_path"); + if (projectPath != null && !projectPath.trim().isEmpty()) { + LocalStorage.pathToProject = projectPath.trim(); + log.info("Using configured project path: {}", projectPath); + } else { + log.info("Using default project path: {}", LocalStorage.pathToProject); + } + // Use defaults if not configured if (portStr != null) { int port = Integer.parseInt(portStr); diff --git a/src/main/java/BsK/client/LocalStorage.java b/src/main/java/BsK/client/LocalStorage.java index 014eb84..f0c8420 100644 --- a/src/main/java/BsK/client/LocalStorage.java +++ b/src/main/java/BsK/client/LocalStorage.java @@ -22,8 +22,11 @@ public class LocalStorage { public static String ClinicName = "Phòng khám BSK"; public static String ClinicAddress = "Số ABC, Đường XYZ, Quận 1, TP.HCM"; public static String ClinicPhone = "0123456789"; + public static String ClinicPrefix = "BSK"; + public static List chatHistory = new ArrayList<>(); - + public static String pathToProject = ""; + public static String dataDialogSearchTerm = ""; public static Date dataDialogFromDate = new Date(); // Default to today public static Date dataDialogToDate = new Date(); // Default to today diff --git a/src/main/java/BsK/client/network/handler/ClientHandler.java b/src/main/java/BsK/client/network/handler/ClientHandler.java index dcce267..d6c9c3b 100644 --- a/src/main/java/BsK/client/network/handler/ClientHandler.java +++ b/src/main/java/BsK/client/network/handler/ClientHandler.java @@ -66,6 +66,7 @@ public class ClientHandler extends SimpleChannelInboundHandler generatePdfBytesAsync() { return CompletableFuture.supplyAsync(() -> { @@ -62,105 +62,9 @@ public class MedicineInvoice{ }); } - public static void main(String[] args) { - SwingUtilities.invokeLater(() -> { - JFrame frame = new JFrame("Medicine Invoice Test"); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setSize(600, 400); - frame.setLayout(new GridLayout(3, 2, 10, 10)); - - // Test Case 1: Only Medicines - JButton medicineOnlyButton = new JButton("Only Medicines"); - medicineOnlyButton.addActionListener(e -> new MedicineInvoice("1001", "Nguyễn Văn A", "01/01/1990", "0123456789", - "Nam", "123 Đường ABC, Quận XYZ, TP HCM", "Bác sĩ XYZ", "Sốt cao", - "Nghỉ ngơi nhiều, uống nhiều nước", "https://example.com/drive1", - new String[][]{ - {"1", "Paracetamol", "2 viên", "viên", "1", "2", "1", "5000", "10000", "Uống sau ăn"} - }, - new String[][]{}, // No services - new String[][]{} // No supplements - ).createDialog(frame)); - - // Test Case 2: Only Services - JButton serviceOnlyButton = new JButton("Only Services"); - serviceOnlyButton.addActionListener(e -> new MedicineInvoice("1002", "Trần Thị B", "15/05/1985", "0987654321", - "Nữ", "456 Đường DEF, Quận ABC, TP HCM", "Bác sĩ ABC", "Khám tổng quát", - "Theo dõi định kỳ", "https://example.com/drive2", - new String[][]{}, // No medicines - new String[][] { - {"1", "Khám tổng quát", "1", "150000", "150000", "Kiểm tra sức khỏe tổng quát"}, - {"2", "Xét nghiệm máu", "1", "80000", "80000", "Xét nghiệm công thức máu"} - }, - new String[][]{} // No supplements - ).createDialog(frame)); - - // Test Case 3: Only Supplements - JButton supplementOnlyButton = new JButton("Only Supplements"); - supplementOnlyButton.addActionListener(e -> new MedicineInvoice("1003", "Lê Văn C", "20/12/1992", "0456789123", - "Nam", "789 Đường GHI, Quận DEF, TP HCM", "Bác sĩ DEF", "Tư vấn dinh dưỡng", - "Bổ sung vitamin và khoáng chất", "https://example.com/drive3", - new String[][]{}, // No medicines - new String[][]{}, // No services - new String[][] { - {"1", "Vitamin D3", "1", "viên", "1 viên/ngày sau ăn sáng", "30 viên", "2000", "60000", "Bổ sung vitamin D"}, - {"2", "Omega 3", "2", "viên", "2 viên/ngày sau ăn", "60 viên", "1500", "90000", "Bổ sung dầu cá"} - } - ).createDialog(frame)); - - // Test Case 4: Medicines + Services (No Supplements) - JButton medServiceButton = new JButton("Medicines + Services"); - medServiceButton.addActionListener(e -> new MedicineInvoice("1004", "Phạm Thị D", "10/03/1988", "0789123456", - "Nữ", "321 Đường JKL, Quận GHI, TP HCM", "Bác sĩ GHI", "Viêm họng", - "Điều trị kháng sinh và theo dõi", "https://example.com/drive4", - new String[][]{ - {"1", "Amoxicillin", "1 vỉ", "viên", "1", "1", "0", "20000", "20000", "Uống trước ăn 30 phút"} - }, - new String[][] { - {"1", "Khám tai mũi họng", "1", "100000", "100000", "Khám chuyên khoa"} - }, - new String[][]{} // No supplements - ).createDialog(frame)); - - // Test Case 5: All Three Categories - JButton allCategoriesButton = new JButton("All Categories"); - allCategoriesButton.addActionListener(e -> new MedicineInvoice("1005", "Hoàng Văn E", "25/07/1990", "0654321987", - "Nam", "654 Đường MNO, Quận JKL, TP HCM", "Bác sĩ JKL", "Kiểm tra sức khỏe định kỳ", - "Tổng quát + bổ sung dinh dưỡng", "https://example.com/drive5", - new String[][]{ - {"1", "Vitamin C", "1 hộp", "viên", "1", "0", "0", "10000", "10000", "Uống buổi sáng"} - }, - new String[][] { - {"1", "Khám tổng quát", "1", "150000", "150000", "Kiểm tra sức khỏe tổng quát"} - }, - new String[][] { - {"1", "Calcium 500mg", "1 lọ", "viên", "1 viên/ngày sau ăn tối", "30 viên", "2500", "75000", "Bổ sung canxi"} - } - ).createDialog(frame)); - - // Test Case 6: Empty Invoice (No data) - JButton emptyButton = new JButton("Empty Invoice"); - emptyButton.addActionListener(e -> new MedicineInvoice("1006", "Võ Thị F", "05/11/1995", "0321654987", - "Nữ", "987 Đường PQR, Quận MNO, TP HCM", "Bác sĩ MNO", "Tư vấn y tế", - "Chỉ tư vấn, không kê đơn", null, - new String[][]{}, // No medicines - new String[][]{}, // No services - new String[][]{} // No supplements - ).createDialog(frame)); - - frame.add(medicineOnlyButton); - frame.add(serviceOnlyButton); - frame.add(supplementOnlyButton); - frame.add(medServiceButton); - frame.add(allCategoriesButton); - frame.add(emptyButton); - - frame.setVisible(true); - }); - } - public MedicineInvoice(String id, String patientName, String patientDOB, String patientPhone, - String patientGender, String patientAddress, String doctorName, String diagnosis, - String notes, String driveURL, String[][] med, String[][] services, String[][] supplements) { + String patientGender, String patientAddress, String doctorName, String diagnosis, + String notes, String driveURL, String[][] med, String[][] services, String[][] supplements) { this.id = id; this.patientName = patientName; this.patientDOB = patientDOB; @@ -185,13 +89,15 @@ public class MedicineInvoice{ } + private JasperPrint jasperPrint; // Store JasperPrint for reuse + /** * Shows the invoice directly in JasperViewer without creating a custom dialog */ public void showDirectJasperViewer() { try { - String pdfPath = "medical_invoice.pdf"; - generatePdf(pdfPath); + // This method now only fills the report and shows the viewer + fillJasperPrint(); // Use the constructor to prevent the application from closing JasperViewer viewer = new JasperViewer(jasperPrint, false); viewer.setVisible(true); @@ -241,7 +147,7 @@ public class MedicineInvoice{ dialog.add(scrollPane, BorderLayout.CENTER); dialog.add(buttonPanel, BorderLayout.SOUTH); - String pdfPath = "medical_invoice.pdf"; + String pdfPath = "temp_medical_invoice.pdf"; // Use a temporary file name try { generatePdf(pdfPath); displayPdfInLabel(pdfPath, pdfViewer); @@ -255,21 +161,20 @@ public class MedicineInvoice{ try { JFileChooser fileChooser = new JFileChooser(); fileChooser.setDialogTitle("Save PDF As"); - fileChooser.setSelectedFile(new File("medical_invoice.pdf")); + // Suggest a file name based on patient name and date + fileChooser.setSelectedFile(new File(patientName.replace(" ", "_") + "_invoice_" + date.replace("/", "-") + ".pdf")); int userSelection = fileChooser.showSaveDialog(dialog); if (userSelection == JFileChooser.APPROVE_OPTION) { File fileToSave = fileChooser.getSelectedFile(); - File generatedFile = new File(pdfPath); - try (InputStream in = new FileInputStream(generatedFile); - OutputStream out = new FileOutputStream(fileToSave)) { - byte[] buffer = new byte[1024]; - int bytesRead; - while ((bytesRead = in.read(buffer)) != -1) { - out.write(buffer, 0, bytesRead); - } - JOptionPane.showMessageDialog(dialog, "PDF saved: " + fileToSave.getAbsolutePath()); + // Ensure the file has a .pdf extension + if (!fileToSave.getName().toLowerCase().endsWith(".pdf")) { + fileToSave = new File(fileToSave.getAbsolutePath() + ".pdf"); } + + // Export the already generated JasperPrint object to the chosen file + JasperExportManager.exportReportToPdfFile(jasperPrint, fileToSave.getAbsolutePath()); + JOptionPane.showMessageDialog(dialog, "PDF saved: " + fileToSave.getAbsolutePath()); } } catch (Exception ex) { ex.printStackTrace(); @@ -300,8 +205,6 @@ public class MedicineInvoice{ dialog.setVisible(true); } - private JasperPrint jasperPrint; // Store JasperPrint for reuse - private byte[] generatePdfBytes() throws Exception { try { // This method is almost identical to generatePdf, but exports to a byte array @@ -329,181 +232,129 @@ public class MedicineInvoice{ * Common method to fill the JasperPrint object with data and parameters. * This avoids code duplication between generating a file and a byte array. */ - private void fillJasperPrint() throws JRException, FileNotFoundException { - // Only fill if it hasn't been filled already + private void fillJasperPrint() throws JRException, IOException { if (jasperPrint != null) { return; } - // 1. Create data sources for medicines, services, and supplements - java.util.List medicines = new ArrayList<>(); - java.util.List serviceItems = new ArrayList<>(); - java.util.List supplementItems = new ArrayList<>(); - // Convert medicine data to InvoiceItem objects + java.util.List medicineItems = new ArrayList<>(); + java.util.List serviceItems = new ArrayList<>(); + java.util.List supplementItems = new ArrayList<>(); + if (med != null) { for (String[] medicine : med) { - if (medicine != null && medicine.length >= 10) { - try { - String dosageInfo = String.format("S: %s, T: %s, C: %s", - medicine[4] != null ? medicine[4] : "0", - medicine[5] != null ? medicine[5] : "0", - medicine[6] != null ? medicine[6] : "0"); - String amount = medicine[2] + " " + medicine[3]; - - medicines.add(InvoiceItem.createMedicine( - medicine[1] != null ? medicine[1] : "", // medName - dosageInfo, // dosage - amount // amount - )); - } catch (NumberFormatException e) { - System.err.println("Error parsing medicine data: " + e.getMessage()); - } + if (medicine != null && medicine.length >= 12) { + try { + String medName = medicine[1]; + String amount = medicine[2] + " " + medicine[3]; + String dosageInfo = String.format("S: %s, T: %s, C: %s", medicine[4], medicine[5], medicine[6]); + String note = medicine[9]; + String route = medicine[11]; + + // Call signature: (Tên, Ghi chú, Liều dùng, Đường dùng, Số lượng) + medicineItems.add(InvoiceItem.createMedicine(medName, note, dosageInfo, route, amount)); + } catch (Exception e) { + System.err.println("Error parsing medicine data row: " + java.util.Arrays.toString(medicine) + " | Error: " + e.getMessage()); } } } + } - // Convert service data to InvoiceItem objects - if (services != null) { + if (services != null) { for (String[] service : services) { - if (service != null && service.length >= 5) { - try { - serviceItems.add(InvoiceItem.createService( - service[1] != null ? service[1] : "", // serName - service.length > 5 && service[5] != null ? service[5] : "", // serNote - service[2] != null ? Integer.parseInt(service[2]) : 0, // serAmount - service[3] != null ? Double.parseDouble(service[3]) : 0.0 // serUnitPrice - )); - } catch (NumberFormatException e) { - System.err.println("Error parsing service data: " + e.getMessage()); - } + if (service != null && service.length >= 5) { + try { + serviceItems.add(InvoiceItem.createService( + service[1], + service.length > 5 ? service[5] : "", + Integer.parseInt(service[2]), + Double.parseDouble(service[3]) + )); + } catch (NumberFormatException e) { + System.err.println("Error parsing service data: " + e.getMessage()); } } } + } - // Convert supplement data to InvoiceItem objects - if (supplements != null) { - for (String[] supplement : supplements) { - if (supplement != null && supplement.length >= 10) { - try { - String dosageInfo = String.format("S: %s, T: %s, C: %s", - supplement[4] != null ? supplement[4] : "0", - supplement[5] != null ? supplement[5] : "0", - supplement[6] != null ? supplement[6] : "0"); - - String amount = supplement[2] + " " + supplement[3]; // Quantity + Unit - - supplementItems.add(InvoiceItem.createSupplement( - supplement[1] != null ? supplement[1] : "", // supName - supplement[9] != null ? supplement[9] : "", // supNote - dosageInfo, // supDosage - amount, // supAmount - 0.0 // supUnitPrice, since it's not displayed for supplements - )); - } catch (Exception e) { - System.err.println("Error parsing supplement data: " + e.getMessage()); - } + if (supplements != null) { + for (String[] supplement : supplements) { + if (supplement != null && supplement.length >= 12) { + try { + String supName = supplement[1]; + String amount = supplement[2] + " " + supplement[3]; + String dosageInfo = String.format("S: %s, T: %s, C: %s", supplement[4], supplement[5], supplement[6]); + String supNote = supplement[9]; + String supRoute = supplement[11]; + + // --- CORRECTED THIS LINE --- + // Swapped 'amount' and 'supRoute' to match the method signature in InvoiceItem.java + // Call signature: (Tên, Ghi chú, Liều dùng, Số lượng, Đường dùng) + supplementItems.add(InvoiceItem.createSupplement(supName, supNote, dosageInfo, amount, supRoute)); + + } catch (Exception e) { + System.err.println("Error parsing supplement data row: " + java.util.Arrays.toString(supplement) + " | Error: " + e.getMessage()); } } } + } - // Create data sources - JRBeanCollectionDataSource medicineDS = new JRBeanCollectionDataSource(medicines); - JRBeanCollectionDataSource serviceDS = new JRBeanCollectionDataSource(serviceItems); - JRBeanCollectionDataSource supplementDS = new JRBeanCollectionDataSource(supplementItems); + JRBeanCollectionDataSource medicineDS = new JRBeanCollectionDataSource(medicineItems); + JRBeanCollectionDataSource serviceDS = new JRBeanCollectionDataSource(serviceItems); + JRBeanCollectionDataSource supplementDS = new JRBeanCollectionDataSource(supplementItems); - // 2. Create parameters map - java.util.Map parameters = new java.util.HashMap<>(); - - // Data sources - parameters.put("medicineDS", medicineDS); - parameters.put("serviceDS", serviceDS); - parameters.put("supplementDS", supplementDS); + java.util.Map parameters = new java.util.HashMap<>(); + + parameters.put("medicineDS", medicineDS); + parameters.put("serviceDS", serviceDS); + parameters.put("supplementDS", supplementDS); + parameters.put(JRParameter.REPORT_LOCALE, new java.util.Locale("vi", "VN")); + parameters.put("patientName", patientName != null ? patientName : ""); + parameters.put("patientDOB", patientDOB != null ? patientDOB : ""); + parameters.put("patientGender", patientGender != null ? patientGender : ""); + parameters.put("patientAddress", patientAddress != null ? patientAddress : ""); + parameters.put("clinicPrefix", LocalStorage.ClinicPrefix != null ? LocalStorage.ClinicPrefix : ""); + parameters.put("clinicName", LocalStorage.ClinicName != null ? LocalStorage.ClinicName : ""); + parameters.put("clinicPhone", LocalStorage.ClinicPhone != null ? LocalStorage.ClinicPhone : ""); + parameters.put("clinicAddress", LocalStorage.ClinicAddress != null ? LocalStorage.ClinicAddress : ""); + parameters.put("doctorName", doctorName != null ? doctorName : ""); + parameters.put("checkupDate", date != null ? date : ""); + parameters.put("patientDiagnos", diagnosis != null ? diagnosis : ""); + parameters.put("checkupNote", notes != null ? notes : ""); + parameters.put("barcodeNumber", id != null ? id : ""); + parameters.put("driveURL", driveURL != null ? driveURL : ""); + parameters.put("logoImage", LocalStorage.pathToProject + "/src/main/java/BsK/client/ui/assets/icon/logo.jpg"); + parameters.put("hasMedicines", !medicineItems.isEmpty()); + parameters.put("hasServices", !serviceItems.isEmpty()); + parameters.put("hasSupplements", !supplementItems.isEmpty()); - // Set locale for Vietnamese formatting - parameters.put(JRParameter.REPORT_LOCALE, new java.util.Locale("vi", "VN")); - - // Patient information - parameters.put("patientName", patientName != null ? patientName : ""); - parameters.put("patientDOB", patientDOB != null ? patientDOB : ""); - parameters.put("patientGender", patientGender != null ? patientGender : ""); - parameters.put("patientAddress", patientAddress != null ? patientAddress : ""); - - // Clinic information - parameters.put("clinicName", LocalStorage.ClinicName != null ? LocalStorage.ClinicName : ""); - parameters.put("clinicPhone", LocalStorage.ClinicPhone != null ? LocalStorage.ClinicPhone : ""); - parameters.put("clinicAddress", LocalStorage.ClinicAddress != null ? LocalStorage.ClinicAddress : ""); - - // Doctor and medical information - parameters.put("doctorName", doctorName != null ? doctorName : ""); - parameters.put("checkupDate", date != null ? date : ""); - parameters.put("patientDiagnos", diagnosis != null ? diagnosis : ""); - parameters.put("checkupNote", notes != null ? notes : ""); - - // Barcode - parameters.put("barcodeNumber", id != null ? id : ""); - - // Drive URL for QR Code - parameters.put("driveURL", driveURL != null ? driveURL : ""); - - // Logo image path - String logoPath = System.getProperty("user.dir") + "/src/main/java/BsK/client/ui/assets/icon/logo.jpg"; - parameters.put("logoImage", logoPath); - - // Add conditional parameters to check if data sources have data - parameters.put("hasMedicines", medicines != null && !medicines.isEmpty()); - parameters.put("hasServices", serviceItems != null && !serviceItems.isEmpty()); - parameters.put("hasSupplements", supplementItems != null && !supplementItems.isEmpty()); - - // 3. Load and compile the JRXML template - String jrxmlPath = System.getProperty("user.dir") + "/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/medserinvoice.jrxml"; - java.io.InputStream inputStream = new java.io.FileInputStream(new java.io.File(jrxmlPath)); + String resourcePath = "/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/medserinvoice.jrxml"; + try (InputStream inputStream = MedicineInvoice.class.getResourceAsStream(resourcePath)) { + if (inputStream == null) { + throw new FileNotFoundException("Không thể tìm thấy tệp mẫu Jasper report trong classpath: " + resourcePath); + } JasperDesign jasperDesign = JRXmlLoader.load(inputStream); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); - - // 4. Fill the report with data jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource()); + } } private void displayPdfInLabel(String pdfPath, JPanel pdfPanel) throws Exception { PDDocument document = PDDocument.load(new File(pdfPath)); PDFRenderer pdfRenderer = new PDFRenderer(document); - // Create a panel to hold all pages - pdfPanel.setLayout(new BoxLayout(pdfPanel, BoxLayout.Y_AXIS)); // Stack pages vertically + pdfPanel.setLayout(new BoxLayout(pdfPanel, BoxLayout.Y_AXIS)); - // Render each page and add it to the pdfPanel for (int i = 0; i < document.getNumberOfPages(); i++) { - BufferedImage image = pdfRenderer.renderImageWithDPI(i, 150); // Adjust DPI as needed - - // Scale the image to a smaller size (e.g., 50% of the original size) - int scaledWidth = image.getWidth() / 2; // Make it half of the original width - int scaledHeight = image.getHeight() / 2; // Make it half of the original height - - // Scale the image using getScaledInstance - java.awt.Image scaledImage = image.getScaledInstance(scaledWidth, scaledHeight, java.awt.Image.SCALE_SMOOTH); - - // Create an ImageIcon from the scaled image - ImageIcon icon = new ImageIcon(scaledImage); - - // Create a label for the image and add it to the panel + BufferedImage image = pdfRenderer.renderImageWithDPI(i, 150); + ImageIcon icon = new ImageIcon(image); JLabel pageLabel = new JLabel(icon); pdfPanel.add(pageLabel); } document.close(); - // Put the panel inside a JScrollPane to make it scrollable - JScrollPane scrollPane = new JScrollPane(pdfPanel); - scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); - scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); // Added for horizontal scroll if needed - - // Increase scroll sensitivity - JScrollBar verticalScrollBar = scrollPane.getVerticalScrollBar(); - verticalScrollBar.setUnitIncrement(20); // Increase for finer control, adjust as needed - verticalScrollBar.setBlockIncrement(100); // Increase for page-like scrolling, adjust as needed - - // Assuming `dialog` is the parent component - dialog.add(scrollPane, BorderLayout.CENTER); - dialog.validate(); + + dialog.revalidate(); dialog.repaint(); } @@ -514,39 +365,31 @@ public class MedicineInvoice{ printerJob.setJobName("Print Medicine Invoice"); if (printerJob.printDialog()) { - printerJob.setPrintable(new Printable() { - @Override - public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { - if (pageIndex >= document.getNumberOfPages()) { - return NO_SUCH_PAGE; - } - - Graphics2D g2 = (Graphics2D) graphics; - g2.translate(pageFormat.getImageableX(), pageFormat.getImageableY()); - - try { - PDFRenderer pdfRenderer = new PDFRenderer(document); - BufferedImage pageImage = pdfRenderer.renderImageWithDPI(pageIndex, 300); // Render at 300 DPI - - double pageWidth = pageImage.getWidth(); - double pageHeight = pageImage.getHeight(); - - double scaleX = pageFormat.getImageableWidth() / pageWidth; - double scaleY = pageFormat.getImageableHeight() / pageHeight; - double scale = Math.min(scaleX, scaleY); - - g2.scale(scale, scale); - g2.drawImage(pageImage, 0, 0, null); - - } catch (IOException e) { - e.printStackTrace(); - return NO_SUCH_PAGE; - } - - return PAGE_EXISTS; + printerJob.setPrintable((graphics, pageFormat, pageIndex) -> { + if (pageIndex >= document.getNumberOfPages()) { + return Printable.NO_SUCH_PAGE; } - }); + Graphics2D g2 = (Graphics2D) graphics; + g2.translate(pageFormat.getImageableX(), pageFormat.getImageableY()); + + try { + PDFRenderer pdfRenderer = new PDFRenderer(document); + BufferedImage pageImage = pdfRenderer.renderImageWithDPI(pageIndex, 300); + + double scale = Math.min(pageFormat.getImageableWidth() / pageImage.getWidth(), + pageFormat.getImageableHeight() / pageImage.getHeight()); + + g2.scale(scale, scale); + g2.drawImage(pageImage, 0, 0, null); + + } catch (IOException e) { + e.printStackTrace(); + return Printable.NO_SUCH_PAGE; + } + + return Printable.PAGE_EXISTS; + }); printerJob.print(); System.out.println("Printing completed."); @@ -559,4 +402,4 @@ public class MedicineInvoice{ } } -} +} \ No newline at end of file diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/UltrasoundResult.java b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/UltrasoundResult.java index 59a263d..d29d4c2 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/UltrasoundResult.java +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/UltrasoundResult.java @@ -173,9 +173,9 @@ public class UltrasoundResult { public JasperPrint createJasperPrint() throws JRException, IOException { String jrxmlPath; if ("Dọc".equalsIgnoreCase(this.printType)) { - jrxmlPath = System.getProperty("user.dir") + "/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult_potrait.jrxml"; + jrxmlPath = LocalStorage.pathToProject + "/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult_potrait.jrxml"; } else { - jrxmlPath = System.getProperty("user.dir") + "/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult.jrxml"; + jrxmlPath =LocalStorage.pathToProject + "/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult.jrxml"; } log.info("Using JRXML template: {}", jrxmlPath); @@ -187,6 +187,7 @@ public class UltrasoundResult { parameters.put(JRParameter.REPORT_LOCALE, new Locale("vi", "VN")); // Populate all the string parameters + parameters.put("clinicPrefix", LocalStorage.ClinicPrefix != null ? LocalStorage.ClinicPrefix : ""); parameters.put("clinicName", convertNullToEmpty(LocalStorage.ClinicName, "Phòng khám BSK")); parameters.put("clinicAddress", convertNullToEmpty(LocalStorage.ClinicAddress, "Địa chỉ phòng khám")); parameters.put("clinicPhone", convertNullToEmpty(LocalStorage.ClinicPhone, "SĐT phòng khám")); @@ -200,16 +201,16 @@ public class UltrasoundResult { parameters.put("barcodeNumber", this.checkupId); // RTF and plain text content - parameters.put("checkupNote", this.rtfContent); - parameters.put("checkupConclusion", this.conclusion); - parameters.put("checkupSuggestion", this.suggestion); - parameters.put("reCheckupDate", this.recheckupDate); + parameters.put("checkupNote", this.rtfContent != null ? this.rtfContent : ""); + parameters.put("checkupConclusion", this.conclusion != null ? this.conclusion : ""); + parameters.put("checkupSuggestion", this.suggestion != null ? this.suggestion : ""); + parameters.put("reCheckupDate", this.recheckupDate != null ? this.recheckupDate : ""); // Vitals data - parameters.put("checkupHeight", this.customerHeight); - parameters.put("checkupWeight", this.customerWeight); - parameters.put("checkupHeartBeat", this.heartRate); - parameters.put("checkupBloodPressure", this.bloodPressure); + parameters.put("checkupHeight", this.customerHeight != null ? this.customerHeight : ""); + parameters.put("checkupWeight", this.customerWeight != null ? this.customerWeight : ""); + parameters.put("checkupHeartBeat", this.heartRate != null ? this.heartRate : ""); + parameters.put("checkupBloodPressure", this.bloodPressure != null ? this.bloodPressure : ""); // Template title parameters.put("templateTitle", this.templateTitle); @@ -226,7 +227,7 @@ public class UltrasoundResult { int numberOfImages = this.selectedImages.size(); parameters.put("numberImage", numberOfImages); - String projectDir = System.getProperty("user.dir"); + String projectDir = LocalStorage.pathToProject; parameters.put("logoImage", projectDir + "/src/main/java/BsK/client/ui/assets/icon/logo.jpg"); for (int i = 0; i < 6; i++) { @@ -362,7 +363,7 @@ public class UltrasoundResult { } Paragraph clinicInfo = new Paragraph() - .add(new Text(LocalStorage.ClinicName + "\n").setFont(boldFont).setFontSize(10)) + .add(new Text(LocalStorage.ClinicPrefix + " " + LocalStorage.ClinicName + "\n").setFont(boldFont).setFontSize(10)) .add(new Text("Địa chỉ: " + LocalStorage.ClinicAddress + "\n").setFontSize(8)) .add(new Text("Điện thoại: " + LocalStorage.ClinicPhone).setFontSize(8)) .setFont(font); diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/InvoiceItem.java b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/InvoiceItem.java index bdc973b..7779fd8 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/InvoiceItem.java +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/InvoiceItem.java @@ -13,6 +13,7 @@ public class InvoiceItem { private String dosage; private String amount; private Double unitPrice; + private String medRoute; private String medNote; // --- Service Fields --- @@ -26,21 +27,21 @@ public class InvoiceItem { private String supNote; private String supDosage; private String supAmount; - private Double supUnitPrice; - + private String supRoute; // Private constructor to be used by factory methods private InvoiceItem() {} // --- Factory Methods --- - public static InvoiceItem createMedicine(String medName, String dosage, String amount) { + public static InvoiceItem createMedicine(String medName, String medNote, String dosage, String route, String amount) { InvoiceItem item = new InvoiceItem(); item.type = "MED"; item.medName = medName; item.dosage = dosage; + item.medRoute = route; item.amount = amount; item.unitPrice = 0.0; - item.medNote = ""; + item.medNote = medNote; return item; } @@ -54,14 +55,14 @@ public class InvoiceItem { return item; } - public static InvoiceItem createSupplement(String supName, String supNote, String supDosage, String supAmount, Double supUnitPrice) { + public static InvoiceItem createSupplement(String supName, String supNote, String supDosage, String supAmount, String supRoute) { InvoiceItem item = new InvoiceItem(); item.type = "SUP"; item.supName = supName; item.supNote = supNote; item.supDosage = supDosage; item.supAmount = supAmount; - item.supUnitPrice = supUnitPrice; + item.supRoute = supRoute; return item; } @@ -71,6 +72,7 @@ public class InvoiceItem { public String getType() { return type; } public String getMedName() { return medName; } public String getDosage() { return dosage; } + public String getMedRoute() { return medRoute; } public String getAmount() { return amount; } public Double getUnitPrice() { return unitPrice; } public String getMedNote() { return medNote; } @@ -82,5 +84,5 @@ public class InvoiceItem { public String getSupNote() { return supNote; } public String getSupDosage() { return supDosage; } public String getSupAmount() { return supAmount; } - public Double getSupUnitPrice() { return supUnitPrice; } + public String getSupRoute() { return supRoute; } } \ No newline at end of file diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/medserinvoice.jrxml b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/medserinvoice.jrxml index 48a416b..09e4932 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/medserinvoice.jrxml +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/medserinvoice.jrxml @@ -27,7 +27,8 @@ - + + @@ -68,6 +69,7 @@ + @@ -86,12 +88,12 @@ - + - + - + @@ -110,7 +112,7 @@ - + @@ -119,7 +121,7 @@ - + @@ -138,6 +140,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -173,7 +195,7 @@ - + @@ -188,17 +210,17 @@ - - + + - - - + + + - + - - + + @@ -216,7 +238,7 @@ - + @@ -225,7 +247,7 @@ - + @@ -244,9 +266,29 @@ - + + + + + + + + + + + + + + + + + + + + + - + @@ -263,7 +305,7 @@ - + @@ -279,7 +321,7 @@ - + @@ -292,13 +334,13 @@ - + - + - + @@ -329,8 +371,8 @@ - - + + @@ -339,7 +381,7 @@ - + @@ -383,8 +425,8 @@ - - + + @@ -434,8 +476,8 @@ - - + + @@ -473,7 +515,7 @@ - + @@ -489,8 +531,8 @@ - - + + @@ -521,84 +563,88 @@ - + <title height="96" splitType="Stretch"> <element kind="image" uuid="c596ac6f-18d9-4cfe-a74e-58b1f7d11ecc" x="-10" y="-4" width="90" height="83"> <expression><![CDATA[$P{logoImage}]]></expression> </element> - <element kind="textField" uuid="48bf4793-8d8d-427d-b739-8f34f051192f" x="80" y="-4" width="350" height="25" fontName="Times New Roman" fontSize="18.0" bold="true"> - <expression><![CDATA[$P{clinicName}]]></expression> + <element kind="textField" uuid="48bf4793-8d8d-427d-b739-8f34f051192f" x="80" y="-4" width="359" height="25" forecolor="#FF0905" fontName="Times New Roman" fontSize="18.0" bold="true" hTextAlign="Center"> + <expression><![CDATA[$P{clinicPrefix}]]></expression> </element> - <element kind="staticText" uuid="d8e95ce7-3ac0-44a7-ac8f-65821b7f373c" x="80" y="20" width="150" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="d8e95ce7-3ac0-44a7-ac8f-65821b7f373c" x="80" y="47" width="150" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Địa chỉ: ]]></text> </element> - <element kind="textField" uuid="9883203e-fd4b-4110-a4b9-2c8c257ce5fa" x="126" y="20" width="314" height="15" fontName="Times New Roman" fontSize="12.0"> + <element kind="textField" uuid="9883203e-fd4b-4110-a4b9-2c8c257ce5fa" x="126" y="47" width="314" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{clinicAddress}]]></expression> </element> - <element kind="staticText" uuid="f00706ca-903c-4089-b3a1-33be68f6112b" x="80" y="36" width="150" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="f00706ca-903c-4089-b3a1-33be68f6112b" x="80" y="62" width="150" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[SĐT:]]></text> </element> - <element kind="textField" uuid="2af00e22-702e-42cb-a6fb-19d401a58170" x="110" y="36" width="330" height="15" fontName="Times New Roman" fontSize="12.0"> + <element kind="textField" uuid="2af00e22-702e-42cb-a6fb-19d401a58170" x="110" y="62" width="330" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{clinicPhone}]]></expression> </element> - <element kind="component" uuid="35037abf-0984-4b9e-8a05-f8fae38d7dcc" x="440" y="8" width="65" height="43"> + <element kind="component" uuid="35037abf-0984-4b9e-8a05-f8fae38d7dcc" x="490" y="0" width="65" height="43"> <component kind="barcode4j:Code128"> <codeExpression><![CDATA[$P{barcodeNumber}]]></codeExpression> </component> </element> - <element kind="staticText" uuid="de38fb46-49af-4f48-8c33-f97680bcc7fa" x="135" y="52" width="284" height="25" fontName="Times New Roman" fontSize="18.0" bold="true" hTextAlign="Center"> + <element kind="staticText" uuid="de38fb46-49af-4f48-8c33-f97680bcc7fa" x="135" y="71" width="284" height="21" fontName="Times New Roman" fontSize="18.0" bold="true" hTextAlign="Center"> <text><![CDATA[TOA THUỐC & DỊCH VỤ]]></text> + <property name="com.jaspersoft.studio.unit.height" value="pixel"/> </element> - <element kind="component" uuid="b8dc3582-162b-47d9-9501-fbf3bfc63fbd" x="505" y="3" width="50" height="43"> + <element kind="component" uuid="b8dc3582-162b-47d9-9501-fbf3bfc63fbd" x="440" y="0" width="46" height="39"> <component kind="barcode4j:QRCode"> <codeExpression><![CDATA[$P{driveURL}]]></codeExpression> </component> </element> - <element kind="staticText" uuid="53b28743-6b3c-4700-b84d-a96a93371dbf" x="500" y="46" width="55" height="14" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> + <element kind="staticText" uuid="53b28743-6b3c-4700-b84d-a96a93371dbf" x="434" y="43" width="55" height="14" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> <printWhenExpression><![CDATA[$P{driveURL} != null && !$P{driveURL}.trim().isEmpty()]]></printWhenExpression> <text><![CDATA[Xem KQ online]]></text> </element> + <element kind="textField" uuid="9dcab6b1-a9ce-4aa9-9df9-232869b3ab24" x="80" y="21" width="359" height="25" forecolor="#FF0905" fontName="Times New Roman" fontSize="18.0" bold="true" hTextAlign="Center"> + <expression><![CDATA[$P{clinicName}]]></expression> + </element> - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult.jrxml b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult.jrxml index b581bb4..2cc8225 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult.jrxml +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult.jrxml @@ -38,24 +38,25 @@ + <pageHeader splitType="Stretch"/> <columnHeader splitType="Stretch"/> <detail> - <band height="540" splitType="Stretch"> - <element kind="frame" uuid="2b7ec588-953c-4145-87b7-1d861c272fe0" x="0" y="0" width="400" height="539"> + <band height="538" splitType="Stretch"> + <element kind="frame" uuid="2b7ec588-953c-4145-87b7-1d861c272fe0" x="0" y="0" width="399" height="538"> <element kind="image" uuid="fd80ab38-4cae-409b-84b9-356220d2b1e5" x="0" y="1" width="60" height="60"> <expression><![CDATA[$P{logoImage}]]></expression> </element> - <element kind="textField" uuid="eb56d4c8-2a0d-45fa-89a2-ad6528f9a99b" x="60" y="0" width="290" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <expression><![CDATA[$P{clinicName}]]></expression> + <element kind="textField" uuid="eb56d4c8-2a0d-45fa-89a2-ad6528f9a99b" x="60" y="0" width="260" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> + <expression><![CDATA[$P{clinicPrefix}]]></expression> </element> - <element kind="textField" uuid="796d9ffd-6d2e-4ae3-bdfb-b08183d7d9c0" x="60" y="20" width="235" height="25" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="796d9ffd-6d2e-4ae3-bdfb-b08183d7d9c0" x="63" y="30" width="229" height="20" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{clinicAddress}]]></expression> </element> - <element kind="textField" uuid="260bb33d-1d11-4178-aceb-3fbf8fcb4b45" x="60" y="45" width="162" height="12" fontName="Times New Roman" fontSize="8.0"> + <element kind="textField" uuid="260bb33d-1d11-4178-aceb-3fbf8fcb4b45" x="63" y="42" width="162" height="12" fontName="Times New Roman" fontSize="8.0"> <expression><![CDATA["SDT: " + $P{clinicPhone}]]></expression> </element> <element kind="staticText" uuid="6f89a93f-2d10-4506-baa5-226bdd047b17" x="0" y="65" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> @@ -88,28 +89,28 @@ <element kind="textField" uuid="f4df20b4-920c-491e-882b-6e0733cb4866" x="184" y="94" width="36" height="15" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{patientGender}]]></expression> </element> - <element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="39" y="109" width="361" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="39" y="109" width="359" height="15" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{patientAddress}]]></expression> </element> - <element kind="textField" uuid="db40cdb0-2850-4d66-8430-addc54f90321" x="290" y="80" width="110" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="db40cdb0-2850-4d66-8430-addc54f90321" x="290" y="80" width="108" height="15" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{doctorName}]]></expression> </element> - <element kind="textField" uuid="eb9cf54a-3b50-43c5-8696-cfc1e21bddfe" x="276" y="94" width="124" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="eb9cf54a-3b50-43c5-8696-cfc1e21bddfe" x="276" y="94" width="122" height="15" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{checkupDate}]]></expression> </element> <element kind="staticText" uuid="9f7de81c-4c38-41a2-9fea-a165eff19431" x="1" y="124" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> <text><![CDATA[Chuẩn đoán:]]></text> </element> - <element kind="textField" uuid="5ae67e13-7a79-437f-bfb8-c720d896720d" x="60" y="124" width="340" height="26" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="5ae67e13-7a79-437f-bfb8-c720d896720d" x="60" y="124" width="338" height="26" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{patientDiagnos}]]></expression> </element> <element kind="staticText" uuid="b1fa845a-48da-4e45-82b8-8b9d972650f6" x="0" y="162" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> <text><![CDATA[II.Nội dung]]></text> </element> - <element kind="textField" uuid="6d652a25-b701-45bd-91ba-750842650004" x="0" y="177" width="398" height="362" markup="rtf" fontName="Times New Roman" fontSize="14.0"> + <element kind="textField" uuid="6d652a25-b701-45bd-91ba-750842650004" x="0" y="177" width="398" height="360" markup="rtf" fontName="Times New Roman" fontSize="16.0"> <expression><![CDATA[$P{checkupNote}]]></expression> </element> - <element kind="staticText" uuid="8f720f6a-0257-4556-b3bc-3b81ad4f8099" x="1" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="8f720f6a-0257-4556-b3bc-3b81ad4f8099" x="290" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> <text><![CDATA[Chiều cao:]]></text> </element> <element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="100" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> @@ -118,10 +119,10 @@ <element kind="staticText" uuid="2b9cfd9d-ec8f-4036-9c96-039fd7855e24" x="200" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> <text><![CDATA[Nhịp tim:]]></text> </element> - <element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="290" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="0" y="150" width="51" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> <text><![CDATA[Huyết áp:]]></text> </element> - <element kind="textField" uuid="3e1069a6-daea-45c2-b21f-935b49baba45" x="50" y="150" width="50" height="16" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="3e1069a6-daea-45c2-b21f-935b49baba45" x="340" y="150" width="58" height="16" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{checkupWeight} +" cm"]]></expression> </element> <element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="147" y="150" width="53" height="16" fontName="Times New Roman" fontSize="10.0"> @@ -130,20 +131,23 @@ <element kind="textField" uuid="e4185ffe-8712-41e3-a9ff-2be6569dff15" x="243" y="150" width="47" height="16" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{checkupHeartBeat} + " l/p"]]></expression> </element> - <element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="335" y="150" width="63" height="16" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="45" y="150" width="55" height="16" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{checkupBloodPressure} +" mmHg"]]></expression> </element> - <element kind="component" uuid="e8842007-3343-4399-a101-76a302d0755d" x="362" y="19" width="38" height="35"> + <element kind="component" uuid="e8842007-3343-4399-a101-76a302d0755d" x="354" y="1" width="44" height="37"> <component kind="barcode4j:QRCode"> <codeExpression><![CDATA[$P{driveURL}]]></codeExpression> </component> </element> - <element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="70" y="57" width="282" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> + <element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="70" y="60" width="282" height="22" forecolor="#FF0905" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> <printWhenExpression><![CDATA[$P{templateTitle} != null && !$P{templateTitle}.trim().isEmpty()]]></printWhenExpression> <expression><![CDATA["PHIẾU " + $P{templateTitle}]]></expression> </element> + <element kind="textField" uuid="40902efd-728a-46df-8432-f4a5798a4ee3" x="60" y="13" width="260" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> + <expression><![CDATA[$P{clinicName}]]></expression> + </element> </element> - <element kind="frame" uuid="a72ffc70-007e-43af-a566-b34e6e07b312" x="400" y="0" width="400" height="540"> + <element kind="frame" uuid="a72ffc70-007e-43af-a566-b34e6e07b312" x="400" y="0" width="400" height="538"> <element kind="staticText" uuid="246a04b0-2565-4987-b7f3-dd369703035c" x="0" y="340" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="15.0" bold="true"> <text><![CDATA[III.Kết luận]]></text> </element> @@ -153,19 +157,19 @@ <element kind="staticText" uuid="a38b1187-ddb8-4410-9b52-dc041f894b7b" x="250" y="440" width="96" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> <text><![CDATA[Bác sĩ siêu âm]]></text> </element> - <element kind="textField" uuid="b548d99d-bedf-4e90-b13b-bdbc763aa974" x="200" y="513" width="200" height="21" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> + <element kind="textField" uuid="b548d99d-bedf-4e90-b13b-bdbc763aa974" x="199" y="512" width="200" height="21" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> <expression><![CDATA[$P{ultrasoundDoctorName}]]></expression> </element> - <element kind="textField" uuid="8bca58ab-0958-40fe-8e51-2a39a9d379a5" x="200" y="521" width="200" height="19" fontName="Times New Roman" pattern="MMMMM dd, yyyy" hTextAlign="Center" vTextAlign="Bottom"> + <element kind="textField" uuid="8bca58ab-0958-40fe-8e51-2a39a9d379a5" x="199" y="518" width="200" height="19" fontName="Times New Roman" pattern="MMMMM dd, yyyy" hTextAlign="Center" vTextAlign="Bottom"> <expression><![CDATA[new java.text.SimpleDateFormat("'Đức Hoà, ngày ' dd ' tháng ' MM ' năm ' yyyy", new java.util.Locale("vi", "VN")).format(new java.util.Date())]]></expression> </element> - <element kind="staticText" uuid="c062ce0e-80cb-4e67-a5d9-d85e769c6c4e" x="0" y="525" width="110" height="14" forecolor="#FF0905" fontName="Times New Roman" fontSize="10.0" bold="true"> + <element kind="staticText" uuid="c062ce0e-80cb-4e67-a5d9-d85e769c6c4e" x="0" y="523" width="110" height="14" forecolor="#FF0905" fontName="Times New Roman" fontSize="10.0" bold="true"> <text><![CDATA[Tái khám:]]></text> </element> - <element kind="textField" uuid="e90ad772-4425-482d-9e75-f2bc66b9084d" x="0" y="358" width="400" height="70" fontName="Times New Roman" fontSize="12.0"> + <element kind="textField" uuid="e90ad772-4425-482d-9e75-f2bc66b9084d" x="0" y="358" width="400" height="70" fontName="Times New Roman" fontSize="12.0" bold="true"> <expression><![CDATA[$P{checkupConclusion}]]></expression> </element> - <element kind="component" uuid="cb28d811-1328-45dc-9461-cfbb88b7eeae" x="-105" y="19" width="64" height="40"> + <element kind="component" uuid="cb28d811-1328-45dc-9461-cfbb88b7eeae" x="-105" y="30" width="59" height="32"> <component kind="barcode4j:Code128"> <codeExpression><![CDATA[$P{barcodeNumber}]]></codeExpression> </component> @@ -173,7 +177,7 @@ <element kind="textField" uuid="d63165c2-19e2-43ad-8a3f-004e00bffdfe" x="0" y="450" width="240" height="66" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{checkupSuggestion}]]></expression> </element> - <element kind="textField" uuid="cece8e5b-67db-4019-b52a-bf73abae535e" x="48" y="525" width="150" height="15" fontName="Times New Roman" fontSize="12.0"> + <element kind="textField" uuid="cece8e5b-67db-4019-b52a-bf73abae535e" x="48" y="522" width="150" height="15" fontName="Times New Roman" fontSize="12.0" bold="true"> <expression><![CDATA[$P{reCheckupDate}]]></expression> </element> <element kind="frame" uuid="2f301804-acfa-4b6f-9f52-236c04fd1197" x="0" y="0" width="400" height="344"> @@ -260,11 +264,17 @@ <expression><![CDATA[$P{image1}]]></expression> </element> </element> - <element kind="staticText" uuid="8f35aa72-22a4-45f0-a35e-8e35e832404e" x="-55" y="53" width="55" height="14" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> + <element kind="staticText" uuid="8f35aa72-22a4-45f0-a35e-8e35e832404e" x="-46" y="39" width="44" height="21" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> <printWhenExpression><![CDATA[$P{driveURL} != null && !$P{driveURL}.trim().isEmpty()]]></printWhenExpression> <text><![CDATA[Xem KQ online]]></text> </element> </element> </band> </detail> + <pageFooter height="17"> + <element kind="textField" uuid="cd8229a4-b862-407a-88e2-807ab7c61699" x="548" y="2" width="252" height="12" fontName="Times New Roman" pattern="MMMMM dd, yyyy" hTextAlign="Right" vTextAlign="Bottom"> + <expression><![CDATA[new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm").format(new java.util.Date()) + " | Trang " + $V{PAGE_NUMBER}]]></expression> + <property name="com.jaspersoft.studio.unit.height" value="px"/> + </element> + </pageFooter> </jasperReport> diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult_potrait.jrxml b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult_potrait.jrxml index f6082c0..b4f531b 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult_potrait.jrxml +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/print_forms/ultrasoundresult_potrait.jrxml @@ -38,6 +38,7 @@ <parameter name="templateTitle" class="java.lang.String"/> <parameter name="driveURL" class="java.lang.String"/> <parameter name="ultrasoundDoctorName" class="java.lang.String"/> + <parameter name="clinicPrefix" class="java.lang.String"/> <query language="sql"><![CDATA[]]></query> <background splitType="Stretch"/> <title splitType="Stretch"/> @@ -49,58 +50,58 @@ <element kind="image" uuid="fd80ab38-4cae-409b-84b9-356220d2b1e5" x="0" y="-5" width="70" height="64"> <expression><![CDATA[$P{logoImage}]]></expression> </element> - <element kind="textField" uuid="eb56d4c8-2a0d-45fa-89a2-ad6528f9a99b" x="70" y="0" width="323" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <expression><![CDATA[$P{clinicName}]]></expression> + <element kind="textField" uuid="eb56d4c8-2a0d-45fa-89a2-ad6528f9a99b" x="70" y="-5" width="358" height="22" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> + <expression><![CDATA[$P{clinicPrefix}]]></expression> </element> - <element kind="textField" uuid="796d9ffd-6d2e-4ae3-bdfb-b08183d7d9c0" x="70" y="20" width="323" height="22" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="796d9ffd-6d2e-4ae3-bdfb-b08183d7d9c0" x="70" y="29" width="358" height="20" fontName="Times New Roman" fontSize="10.0"> <expression><![CDATA[$P{clinicAddress}]]></expression> </element> - <element kind="textField" uuid="260bb33d-1d11-4178-aceb-3fbf8fcb4b45" x="70" y="42" width="276" height="15" fontName="Times New Roman" fontSize="8.0"> + <element kind="textField" uuid="260bb33d-1d11-4178-aceb-3fbf8fcb4b45" x="70" y="41" width="276" height="15" fontName="Times New Roman" fontSize="8.0"> <expression><![CDATA[$P{clinicPhone}]]></expression> </element> <element kind="staticText" uuid="6f89a93f-2d10-4506-baa5-226bdd047b17" x="0" y="65" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> <text><![CDATA[I.Thông tin]]></text> </element> - <element kind="staticText" uuid="b8dfca43-cf97-49e5-b58d-4667143dba62" x="0" y="79" width="50" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="b8dfca43-cf97-49e5-b58d-4667143dba62" x="0" y="79" width="59" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Họ và tên:]]></text> </element> - <element kind="staticText" uuid="0a9ca0c8-f2bd-4ade-a025-a6d79c13613f" x="1" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="0a9ca0c8-f2bd-4ade-a025-a6d79c13613f" x="1" y="94" width="80" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Ngày sinh:]]></text> </element> - <element kind="staticText" uuid="21917ab8-ae07-44c8-ba4e-bc6c4c54b440" x="140" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="21917ab8-ae07-44c8-ba4e-bc6c4c54b440" x="130" y="95" width="80" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Giới tính:]]></text> </element> - <element kind="staticText" uuid="bcbb614e-7a4d-48a3-83c2-198e4fb62c5f" x="1" y="109" width="49" height="15" fontName="Times New Roman" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="bcbb614e-7a4d-48a3-83c2-198e4fb62c5f" x="1" y="109" width="49" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Địa chỉ:]]></text> </element> - <element kind="staticText" uuid="45fe4be1-9e21-459b-aeee-2efc8354f372" x="221" y="80" width="68" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="45fe4be1-9e21-459b-aeee-2efc8354f372" x="221" y="80" width="89" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Bác sĩ chỉ định:]]></text> </element> - <element kind="staticText" uuid="f2ff4b17-63cc-4e8c-a3b0-2523f534f21a" x="221" y="94" width="60" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="f2ff4b17-63cc-4e8c-a3b0-2523f534f21a" x="221" y="94" width="69" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Ngày khám:]]></text> </element> - <element kind="textField" uuid="1511f53a-b282-41b1-b233-612b6106c07a" x="48" y="79" width="172" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="1511f53a-b282-41b1-b233-612b6106c07a" x="56" y="79" width="165" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{patientName}]]></expression> </element> - <element kind="textField" uuid="5bdac267-523d-4931-926b-76233ce9b84d" x="50" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="5bdac267-523d-4931-926b-76233ce9b84d" x="60" y="93" width="70" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{patientDOB}]]></expression> </element> - <element kind="textField" uuid="f4df20b4-920c-491e-882b-6e0733cb4866" x="184" y="94" width="36" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="f4df20b4-920c-491e-882b-6e0733cb4866" x="185" y="95" width="36" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{patientGender}]]></expression> </element> - <element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="39" y="109" width="361" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="50" y="109" width="350" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{patientAddress}]]></expression> </element> - <element kind="textField" uuid="db40cdb0-2850-4d66-8430-addc54f90321" x="290" y="80" width="110" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="db40cdb0-2850-4d66-8430-addc54f90321" x="300" y="80" width="110" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{doctorName}]]></expression> </element> - <element kind="textField" uuid="eb9cf54a-3b50-43c5-8696-cfc1e21bddfe" x="276" y="94" width="124" height="15" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="eb9cf54a-3b50-43c5-8696-cfc1e21bddfe" x="290" y="94" width="110" height="15" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{checkupDate}]]></expression> </element> - <element kind="staticText" uuid="9f7de81c-4c38-41a2-9fea-a165eff19431" x="1" y="124" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="9f7de81c-4c38-41a2-9fea-a165eff19431" x="1" y="124" width="69" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Chuẩn đoán:]]></text> </element> - <element kind="textField" uuid="5ae67e13-7a79-437f-bfb8-c720d896720d" x="60" y="124" width="340" height="26" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="5ae67e13-7a79-437f-bfb8-c720d896720d" x="70" y="124" width="329" height="26" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{patientDiagnos}]]></expression> </element> <element kind="staticText" uuid="b1fa845a-48da-4e45-82b8-8b9d972650f6" x="0" y="162" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> @@ -109,44 +110,44 @@ <element kind="textField" uuid="6d652a25-b701-45bd-91ba-750842650004" x="0" y="177" width="400" height="421" markup="rtf" fontName="Times New Roman" fontSize="16.0"> <expression><![CDATA[$P{checkupNote}]]></expression> </element> - <element kind="staticText" uuid="8f720f6a-0257-4556-b3bc-3b81ad4f8099" x="1" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="8f720f6a-0257-4556-b3bc-3b81ad4f8099" x="300" y="150" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Chiều cao:]]></text> </element> - <element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="100" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="110" y="150" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Cân nặng:]]></text> </element> - <element kind="staticText" uuid="2b9cfd9d-ec8f-4036-9c96-039fd7855e24" x="200" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="2b9cfd9d-ec8f-4036-9c96-039fd7855e24" x="210" y="150" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Nhịp tim:]]></text> </element> - <element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="290" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> + <element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="0" y="150" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left"> <text><![CDATA[Huyết áp:]]></text> </element> - <element kind="textField" uuid="3e1069a6-daea-45c2-b21f-935b49baba45" x="50" y="150" width="50" height="16" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="3e1069a6-daea-45c2-b21f-935b49baba45" x="356" y="150" width="44" height="16" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{checkupWeight} +" cm"]]></expression> </element> - <element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="147" y="150" width="53" height="16" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="165" y="150" width="45" height="16" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{checkupWeight} + " kg"]]></expression> </element> - <element kind="textField" uuid="e4185ffe-8712-41e3-a9ff-2be6569dff15" x="243" y="150" width="47" height="16" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="e4185ffe-8712-41e3-a9ff-2be6569dff15" x="261" y="150" width="39" height="16" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{checkupHeartBeat} + " l/p"]]></expression> </element> - <element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="335" y="150" width="65" height="16" fontName="Times New Roman" fontSize="10.0"> + <element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="52" y="150" width="58" height="16" fontName="Times New Roman" fontSize="12.0"> <expression><![CDATA[$P{checkupBloodPressure} +" mmHg"]]></expression> </element> - <element kind="component" uuid="e8842007-3343-4399-a101-76a302d0755d" x="486" y="16" width="53" height="49"> + <element kind="component" uuid="e8842007-3343-4399-a101-76a302d0755d" x="499" y="17" width="52" height="48"> <component kind="barcode4j:QRCode"> <codeExpression><![CDATA[$P{driveURL}]]></codeExpression> </component> </element> - <element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="70" y="57" width="282" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> + <element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="70" y="61" width="282" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> <printWhenExpression><![CDATA[$P{templateTitle} != null && !$P{templateTitle}.trim().isEmpty()]]></printWhenExpression> <expression><![CDATA["PHIẾU " + $P{templateTitle}]]></expression> </element> - <element kind="staticText" uuid="8f35aa72-22a4-45f0-a35e-8e35e832404e" x="484" y="65" width="55" height="14" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> + <element kind="staticText" uuid="8f35aa72-22a4-45f0-a35e-8e35e832404e" x="495" y="64" width="55" height="14" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> <printWhenExpression><![CDATA[$P{driveURL} != null && !$P{driveURL}.trim().isEmpty()]]></printWhenExpression> <text><![CDATA[Xem KQ online]]></text> </element> - <element kind="component" uuid="73f562ce-2891-4577-aec2-7284203c8430" x="394" y="21" width="70" height="49"> + <element kind="component" uuid="73f562ce-2891-4577-aec2-7284203c8430" x="429" y="15" width="70" height="49"> <component kind="barcode4j:Code128"> <codeExpression><![CDATA[$P{barcodeNumber}]]></codeExpression> </component> @@ -160,12 +161,21 @@ <element kind="image" uuid="2902cf3c-31dd-4b96-be87-fa8a13ba88ae" x="400" y="342" width="151" height="124"> <expression><![CDATA[$P{image3}]]></expression> </element> - <element kind="image" uuid="129e6c61-d572-48a9-925e-1ab2e4e573e2" x="400" y="468" width="151" height="129"> + <element kind="image" uuid="129e6c61-d572-48a9-925e-1ab2e4e573e2" x="400" y="466" width="151" height="124"> <expression><![CDATA[$P{image4}]]></expression> </element> + <element kind="textField" uuid="5fde8538-8d26-4761-9a19-dd716a74749a" x="70" y="12" width="358" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> + <expression><![CDATA[$P{clinicName}]]></expression> + </element> </element> </band> </detail> + <pageFooter height="20"> + <element kind="textField" uuid="e94aab84-4f90-4496-bc35-17547a2fa18a" x="300" y="0" width="252" height="17" fontName="Times New Roman" pattern="MMMMM dd, yyyy" hTextAlign="Right" vTextAlign="Bottom"> + <expression><![CDATA[new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm").format(new java.util.Date()) + " | Trang " + $V{PAGE_NUMBER}]]></expression> + <property name="com.jaspersoft.studio.unit.height" value="px"/> + </element> + </pageFooter> <summary height="179"> <element kind="staticText" uuid="b6ee4329-aeb1-4ddf-99e8-41ebebaff12b" x="0" y="0" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="15.0" bold="true"> <text><![CDATA[III.Kết luận]]></text> diff --git a/src/main/java/BsK/client/ui/component/DataDialog/DataDialog.java b/src/main/java/BsK/client/ui/component/DataDialog/DataDialog.java index 24df594..d3c473c 100644 --- a/src/main/java/BsK/client/ui/component/DataDialog/DataDialog.java +++ b/src/main/java/BsK/client/ui/component/DataDialog/DataDialog.java @@ -530,9 +530,9 @@ public class DataDialog extends JDialog { public ActionButtonRenderer() { setLayout(new FlowLayout(FlowLayout.CENTER, 2, 2)); - ImageIcon editIcon = createIcon("/BsK/client/ui/assets/icon/edit.png", 16, 16); + ImageIcon editIcon = createIcon("src/main/java/BsK/client/ui/assets/icon/edit.png", 16, 16); editButton = new JButton(editIcon); - ImageIcon deleteIcon = createIcon("/BsK/client/ui/assets/icon/delete.png", 16, 16); + ImageIcon deleteIcon = createIcon("src/main/java/BsK/client/ui/assets/icon/delete.png", 16, 16); deleteButton = new JButton(deleteIcon); editButton.setPreferredSize(new Dimension(30, 25)); @@ -564,9 +564,9 @@ public class DataDialog extends JDialog { super(new JCheckBox()); panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 2, 2)); - ImageIcon editIcon = createIcon("/BsK/client/ui/assets/icon/edit.png", 16, 16); + ImageIcon editIcon = createIcon("src/main/java/BsK/client/ui/assets/icon/edit.png", 16, 16); editButton = new JButton(editIcon); - ImageIcon deleteIcon = createIcon("/BsK/client/ui/assets/icon/delete.png", 16, 16); + ImageIcon deleteIcon = createIcon("src/main/java/BsK/client/ui/assets/icon/delete.png", 16, 16); deleteButton = new JButton(deleteIcon); editButton.setPreferredSize(new Dimension(30, 25)); diff --git a/src/main/java/BsK/client/ui/component/DataDialog/MedicineManagementPanel.java b/src/main/java/BsK/client/ui/component/DataDialog/MedicineManagementPanel.java index 42dbcfd..9f4ee49 100644 --- a/src/main/java/BsK/client/ui/component/DataDialog/MedicineManagementPanel.java +++ b/src/main/java/BsK/client/ui/component/DataDialog/MedicineManagementPanel.java @@ -37,12 +37,13 @@ public class MedicineManagementPanel extends JPanel { private JTextField medicineNameField; private JTextField medicineCompanyField; private JTextArea medicineDescriptionField; + private JTextField routeField; // --- ADDED --- Field for Route of Administration private JTextField medicineUnitField; private JTextField medicinePriceField; private JSpinner morningSpinner, noonSpinner, eveningSpinner; private JTextArea noteField; - private JCheckBox chkIsDeleted; // Checkbox for soft delete - private JCheckBox chkIsSupplement; // Checkbox for supplement status + private JCheckBox chkIsDeleted; // Checkbox for soft delete + private JCheckBox chkIsSupplement; // Checkbox for supplement status // --- Action Buttons --- private JButton btnAdd, btnEdit, btnClear; @@ -151,6 +152,22 @@ public class MedicineManagementPanel extends JPanel { medicineInfoPanel.add(descriptionScrollPane, gbc); gbc.weightx = 0.0; + // --- ADDED: Route of Administration Field --- + gbc.gridy++; + gbc.gridx = 0; + JLabel routeLabel = new JLabel("Đường dùng:"); + routeLabel.setFont(labelFont); + medicineInfoPanel.add(routeLabel, gbc); + + gbc.gridx = 1; + gbc.weightx = 1.0; + routeField = new JTextField(20); + routeField.setFont(textFont); + routeField.setPreferredSize(textFieldSize); + medicineInfoPanel.add(routeField, gbc); + gbc.weightx = 0.0; + // --- END ADDED --- + mainGbc.gridx = 0; mainGbc.gridy = 0; mainInputPanel.add(medicineInfoPanel, mainGbc); @@ -331,6 +348,7 @@ public class MedicineManagementPanel extends JPanel { // 2. Gather data from all other fields String company = medicineCompanyField.getText().trim(); String description = medicineDescriptionField.getText().trim(); + String route = routeField.getText().trim(); // --- ADDED --- String unit = medicineUnitField.getText().trim(); Boolean isSupplement = chkIsSupplement.isSelected(); Boolean isDeleted = false; // New medicines are active by default @@ -352,13 +370,13 @@ public class MedicineManagementPanel extends JPanel { // 4. Construct the special 'preferredNote' string String preferredNote = morningSpinner.getValue().toString() + "," - + noonSpinner.getValue().toString() + "," - + eveningSpinner.getValue().toString() + "," - + noteField.getText().trim(); + + noonSpinner.getValue().toString() + "," + + eveningSpinner.getValue().toString() + "," + + noteField.getText().trim(); // 5. Create the request packet and send it to the server - // IMPORTANT: Assumes your AddMedicineRequest packet is updated to include 'supplement' - AddMedicineRequest request = new AddMedicineRequest(name, company, description, unit, price, preferredNote, isSupplement, isDeleted); + // --- UPDATED ---: Added 'route' to the request constructor + AddMedicineRequest request = new AddMedicineRequest(name, company, description, unit, price, preferredNote, isSupplement, isDeleted, route); NetworkUtil.sendPacket(ClientHandler.ctx.channel(), request); // 6. Provide feedback and reset the form @@ -393,6 +411,7 @@ public class MedicineManagementPanel extends JPanel { String id = selectedMedicineId; String company = medicineCompanyField.getText().trim(); String description = medicineDescriptionField.getText().trim(); + String route = routeField.getText().trim(); // --- ADDED --- String unit = medicineUnitField.getText().trim(); Boolean isSupplement = chkIsSupplement.isSelected(); Boolean isDeleted = chkIsDeleted.isSelected(); @@ -414,13 +433,13 @@ public class MedicineManagementPanel extends JPanel { // 5. Construct the 'preferredNote' string String preferredNote = morningSpinner.getValue().toString() + "," - + noonSpinner.getValue().toString() + "," - + eveningSpinner.getValue().toString() + "," - + noteField.getText().trim(); + + noonSpinner.getValue().toString() + "," + + eveningSpinner.getValue().toString() + "," + + noteField.getText().trim(); // 6. Create the request packet and send it - // IMPORTANT: Assumes your EditMedicineRequest packet is updated to include 'supplement' - EditMedicineRequest request = new EditMedicineRequest(id, name, company, description, unit, price, preferredNote, isSupplement, isDeleted); + // --- UPDATED ---: Added 'route' to the request constructor + EditMedicineRequest request = new EditMedicineRequest(id, name, company, description, unit, price, preferredNote, isSupplement, isDeleted, route); NetworkUtil.sendPacket(ClientHandler.ctx.channel(), request); // 7. Provide user feedback and clear the form @@ -507,6 +526,7 @@ public class MedicineManagementPanel extends JPanel { medicineNameField.setText(med.getName()); medicineCompanyField.setText(med.getCompany()); medicineDescriptionField.setText(med.getDescription()); + routeField.setText(med.getRoute()); // --- ADDED --- medicineUnitField.setText(med.getUnit()); medicinePriceField.setText(med.getSellingPrice()); @@ -552,6 +572,7 @@ public class MedicineManagementPanel extends JPanel { medicineNameField.setText(""); medicineCompanyField.setText(""); medicineDescriptionField.setText(""); + routeField.setText(""); // --- ADDED --- medicineUnitField.setText(""); medicinePriceField.setText(""); diff --git a/src/main/java/BsK/client/ui/component/DataDialog/UserManagementPanel.java b/src/main/java/BsK/client/ui/component/DataDialog/UserManagementPanel.java index dfc5b5a..7fde327 100644 --- a/src/main/java/BsK/client/ui/component/DataDialog/UserManagementPanel.java +++ b/src/main/java/BsK/client/ui/component/DataDialog/UserManagementPanel.java @@ -149,7 +149,7 @@ public class UserManagementPanel extends JPanel { panel.add(new JLabel("Vai trò:"), gbc); gbc.gridx = 1; gbc.weightx = 1; - roleComboBox = new JComboBox<>(new String[]{"ADMIN", "DOCTOR", "STAFF"}); + roleComboBox = new JComboBox<>(new String[]{"ADMIN", "USER"}); panel.add(roleComboBox, gbc); } diff --git a/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java b/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java index ee61d8b..002df2d 100644 --- a/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java +++ b/src/main/java/BsK/client/ui/component/common/MedicineDialog/MedicineDialog.java @@ -18,17 +18,18 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumnModel; import java.awt.*; import java.awt.event.*; -import java.text.NumberFormat; // --- ADD THIS IMPORT --- +import java.text.NumberFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Locale; // --- ADD THIS IMPORT --- +import java.util.Locale; @Slf4j public class MedicineDialog extends JDialog { private JTextField medicineNameField; private JTextField medicineCompanyField; private JTextArea medicineDescriptionField; + private JTextField routeField; // --- ADDED --- private JCheckBox chkIsSupplement; // The new checkbox private JSpinner quantitySpinner; private JComboBox<String> UnitComboBox; @@ -258,6 +259,23 @@ public class MedicineDialog extends JDialog { medicineInfoPanel.add(descriptionScrollPane, gbc); gbc.weightx = 0.0; + // --- ADDED: Route of Administration Field --- + gbc.gridy++; + gbc.gridx = 0; + JLabel routeLabel = new JLabel("Đường dùng:"); + routeLabel.setFont(labelFont); + medicineInfoPanel.add(routeLabel, gbc); + + gbc.gridx = 1; + gbc.weightx = 1.0; + routeField = new JTextField(20); + routeField.setFont(textFont); + routeField.setPreferredSize(textFieldSize); + routeField.setEditable(false); + medicineInfoPanel.add(routeField, gbc); + gbc.weightx = 0.0; + // --- END ADDED --- + gbc.gridy++; gbc.gridx = 0; gbc.gridwidth = 2; @@ -408,10 +426,12 @@ public class MedicineDialog extends JDialog { suggestionPopup.add(suggestionScrollPane, BorderLayout.CENTER); suggestionPopup.setFocusable(false); - String[] selectedColumnNames = {"ID", "Tên thuốc", "SL", "ĐVT", "Sáng", "Trưa", "Chiều", "Đơn giá", "Thành tiền", "Ghi chú", "Supplement"}; + // --- UPDATED: Added "Đường dùng" column --- + String[] selectedColumnNames = {"ID", "Tên thuốc", "SL", "ĐVT", "Sáng", "Trưa", "Chiều", "Đơn giá", "Thành tiền", "Ghi chú", "Supplement", "Đường dùng"}; selectedTableModel = new DefaultTableModel(new String[][]{}, selectedColumnNames) { @Override public boolean isCellEditable(int row, int column) { + // Allow editing Quantity, Dosage, and Note return column == 2 || column == 4 || column == 5 || column == 6 || column == 9; } }; @@ -603,8 +623,9 @@ public class MedicineDialog extends JDialog { logger.info("Prescription saved."); if (medicinePrescription != null) { for (String[] row : medicinePrescription) { - logger.info("Med: ID={}, Name={}, Qty={}, Unit={}, M={}, N={}, E={}, Price={}, Total={}, Note={}", - row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9]); + // --- UPDATED: Logged the new 'route' field --- + logger.info("Med: ID={}, Name={}, Qty={}, Unit={}, M={}, N={}, E={}, Price={}, Total={}, Note={}, Supp={}, Route={}", + row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11]); } } dispose(); @@ -724,6 +745,7 @@ public class MedicineDialog extends JDialog { medicineCompanyField.setText(medicine.getCompany()); medicineDescriptionField.setText(medicine.getDescription()); + routeField.setText(medicine.getRoute()); // --- ADDED --- UnitComboBox.setSelectedItem(medicine.getUnit()); priceField.setText(medicine.getSellingPrice()); @@ -764,6 +786,7 @@ public class MedicineDialog extends JDialog { // Don't clear the name field as the user is typing in it medicineCompanyField.setText(""); medicineDescriptionField.setText(""); + routeField.setText(""); // --- ADDED --- UnitComboBox.setSelectedIndex(0); priceField.setText(""); totalField.setText(""); @@ -800,7 +823,7 @@ public class MedicineDialog extends JDialog { private void addSelectedMedicine() { int selectedRowInSuggestionTable = suggestionTable.getSelectedRow(); - String medicineId, name, unit, currentPrice, supplement; + String medicineId, name, unit, currentPrice, supplement, route; // --- UPDATED --- String searchName = medicineNameField.getText().trim(); if (searchName.isEmpty()) { @@ -835,6 +858,7 @@ public class MedicineDialog extends JDialog { unit = selectedMedicine.getUnit(); currentPrice = selectedMedicine.getSellingPrice(); supplement = selectedMedicine.getSupplement(); + route = selectedMedicine.getRoute(); // --- ADDED --- int quantity = (Integer) quantitySpinner.getValue(); int morningVal = (Integer) morningSpinner.getValue(); @@ -848,8 +872,8 @@ public class MedicineDialog extends JDialog { return; } - // Include supplement information - selectedTableModel.addRow(new Object[]{medicineId, name, quantity, unit, morningVal, noonVal, eveningVal, currentPrice, totalAmount, note, supplement}); + // --- UPDATED: Add 'route' to the table row data --- + selectedTableModel.addRow(new Object[]{medicineId, name, quantity, unit, morningVal, noonVal, eveningVal, currentPrice, totalAmount, note, supplement, route}); // Clear fields for next entry isProgrammaticallySettingMedicineNameField = true; @@ -874,22 +898,27 @@ public class MedicineDialog extends JDialog { medicinePrescription = new String[0][0]; return; } - medicinePrescription = new String[rowCount][11]; + // --- UPDATED: Array size changed from 11 to 12 --- + medicinePrescription = new String[rowCount][12]; for (int i = 0; i < rowCount; i++) { - medicinePrescription[i][0] = selectedTableModel.getValueAt(i, 0).toString(); - medicinePrescription[i][1] = selectedTableModel.getValueAt(i, 1).toString(); - medicinePrescription[i][2] = selectedTableModel.getValueAt(i, 2).toString(); - medicinePrescription[i][3] = selectedTableModel.getValueAt(i, 3).toString(); - medicinePrescription[i][4] = selectedTableModel.getValueAt(i, 4).toString(); - medicinePrescription[i][5] = selectedTableModel.getValueAt(i, 5).toString(); - medicinePrescription[i][6] = selectedTableModel.getValueAt(i, 6).toString(); - medicinePrescription[i][7] = selectedTableModel.getValueAt(i, 7).toString(); - medicinePrescription[i][8] = selectedTableModel.getValueAt(i, 8).toString(); - medicinePrescription[i][9] = selectedTableModel.getValueAt(i, 9).toString(); + medicinePrescription[i][0] = selectedTableModel.getValueAt(i, 0).toString(); // ID + medicinePrescription[i][1] = selectedTableModel.getValueAt(i, 1).toString(); // Tên + medicinePrescription[i][2] = selectedTableModel.getValueAt(i, 2).toString(); // SL + medicinePrescription[i][3] = selectedTableModel.getValueAt(i, 3).toString(); // ĐVT + medicinePrescription[i][4] = selectedTableModel.getValueAt(i, 4).toString(); // Sáng + medicinePrescription[i][5] = selectedTableModel.getValueAt(i, 5).toString(); // Trưa + medicinePrescription[i][6] = selectedTableModel.getValueAt(i, 6).toString(); // Chiều + medicinePrescription[i][7] = selectedTableModel.getValueAt(i, 7).toString(); // Đơn giá + medicinePrescription[i][8] = selectedTableModel.getValueAt(i, 8).toString(); // Thành tiền + medicinePrescription[i][9] = selectedTableModel.getValueAt(i, 9).toString(); // Ghi chú // Get supplement value (0/1) or default to "0" if null Object supplementObj = selectedTableModel.getValueAt(i, 10); - medicinePrescription[i][10] = (supplementObj != null) ? supplementObj.toString() : "0"; + medicinePrescription[i][10] = (supplementObj != null) ? supplementObj.toString() : "0"; // Supplement + + // --- ADDED: Get route value --- + Object routeObj = selectedTableModel.getValueAt(i, 11); + medicinePrescription[i][11] = (routeObj != null) ? routeObj.toString() : ""; // Đường dùng } } @@ -958,7 +987,8 @@ public class MedicineDialog extends JDialog { if (prescription != null && prescription.length > 0) { System.out.println("Prescription obtained:"); for (String[] item : prescription) { - System.out.println(String.format("ID:%s, Name:%s, Qty:%s, Unit:%s, M:%s, N:%s, E:%s, Price:%s, Total:%s, Note:%s", + // --- UPDATED: Test printout format --- + System.out.println(String.format("ID:%s, Name:%s, Qty:%s, Unit:%s, M:%s, N:%s, E:%s, Price:%s, Total:%s, Note:%s, Supp:%s, Route:%s", (Object[]) item)); } } else { diff --git a/src/main/java/BsK/common/entity/Medicine.java b/src/main/java/BsK/common/entity/Medicine.java index 6c9d678..b86d1af 100644 --- a/src/main/java/BsK/common/entity/Medicine.java +++ b/src/main/java/BsK/common/entity/Medicine.java @@ -20,6 +20,7 @@ public class Medicine { private String preferredNote; private String supplement; // 0: no, 1: yes private String deleted; // 0: no, 1: yes + private String route; /** * Constructor to create Medicine from array data @@ -38,6 +39,7 @@ public class Medicine { this.preferredNote = data[6]; this.supplement = data[7]; this.deleted = data[8]; + this.route = data[9]; } /** @@ -45,6 +47,6 @@ public class Medicine { * @return String array representation of Medicine */ public String[] toStringArray() { - return new String[]{id, name, company, description, unit, sellingPrice, preferredNote, supplement, deleted}; + return new String[]{id, name, company, description, unit, sellingPrice, preferredNote, supplement, deleted, route}; } } \ No newline at end of file diff --git a/src/main/java/BsK/common/packet/req/AddMedicineRequest.java b/src/main/java/BsK/common/packet/req/AddMedicineRequest.java index 72057f4..ec08947 100644 --- a/src/main/java/BsK/common/packet/req/AddMedicineRequest.java +++ b/src/main/java/BsK/common/packet/req/AddMedicineRequest.java @@ -15,4 +15,5 @@ public class AddMedicineRequest implements Packet{ private String preferredNote; private Boolean supplement; private Boolean deleted; + private String route; } diff --git a/src/main/java/BsK/common/packet/req/EditMedicineRequest.java b/src/main/java/BsK/common/packet/req/EditMedicineRequest.java index e99592e..428d8e8 100644 --- a/src/main/java/BsK/common/packet/req/EditMedicineRequest.java +++ b/src/main/java/BsK/common/packet/req/EditMedicineRequest.java @@ -16,4 +16,5 @@ public class EditMedicineRequest implements Packet { private String preferredNote; private Boolean supplement; private Boolean deleted; + private String route; } diff --git a/src/main/java/BsK/common/packet/res/ClinicInfoResponse.java b/src/main/java/BsK/common/packet/res/ClinicInfoResponse.java index ed225f0..921608f 100644 --- a/src/main/java/BsK/common/packet/res/ClinicInfoResponse.java +++ b/src/main/java/BsK/common/packet/res/ClinicInfoResponse.java @@ -12,4 +12,5 @@ public class ClinicInfoResponse implements Packet { private String clinicName; private String clinicAddress; private String clinicPhone; + private String clinicPrefix; } diff --git a/src/main/java/BsK/server/Server.java b/src/main/java/BsK/server/Server.java index 32154d9..aab5115 100644 --- a/src/main/java/BsK/server/Server.java +++ b/src/main/java/BsK/server/Server.java @@ -2,6 +2,8 @@ package BsK.server; import BsK.server.network.handler.ServerHandler; import BsK.server.service.GoogleDriveServiceOAuth; +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; @@ -23,32 +25,32 @@ import java.io.IOException; import java.io.InputStream; import java.net.InetSocketAddress; import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.StandardCopyOption; import java.sql.Connection; -import java.sql.DriverManager; import java.sql.SQLException; -import java.sql.Statement; import java.util.Properties; import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; @Slf4j public class Server { - private static int PORT; - public static Connection connection; - public static GoogleDriveServiceOAuth googleDriveService; - private static boolean googleDriveEnabled = true; // Can be configured - private static String googleDriveRootFolderName = "BSK_Clinic_Patient_Files"; // Default - public static String imageDbPath = "img_db"; // Default - public static String checkupMediaBaseDir = "src/main/resources/image/checkup_media"; // Default + private static int PORT; + + // --- REFACTORED DATABASE CONNECTION --- + // The single, static connection pool (DataSource). This is thread-safe. + private static HikariDataSource dataSource; + + // These static fields are still okay as they are configured once at startup. + public static GoogleDriveServiceOAuth googleDriveService; + private static boolean googleDriveEnabled = true; + private static String googleDriveRootFolderName = "BSK_Clinic_Patient_Files"; + public static String imageDbPath = "img_db"; + public static String checkupMediaBaseDir = "src/main/resources/image/checkup_media"; + // Static initializer block to set up the server configuration and connection pool static { try { - // Load configuration + // --- Load configuration --- Properties props = new Properties(); - - // First try to load from external config file File externalConfig = new File("config/config.properties"); if (externalConfig.exists()) { try (var input = Files.newInputStream(externalConfig.toPath())) { @@ -56,7 +58,6 @@ public class Server { log.info("Loaded configuration from external file: {}", externalConfig.getAbsolutePath()); } } else { - // Fall back to internal config try (InputStream input = Server.class.getClassLoader().getResourceAsStream("config.properties")) { if (input == null) { log.error("Unable to find config.properties"); @@ -66,67 +67,108 @@ public class Server { log.info("Loaded configuration from internal resources"); } } - - // Get port configuration - String portStr = props.getProperty("server.port"); - String addressStr = props.getProperty("server.address"); - - // Log address configuration - if (addressStr != null) { - log.info("Server address configured as: {}", addressStr); - } else { - log.info("No server address configured, clients will need to use the correct address to connect"); - } - - // Get port configuration - if (portStr != null) { - PORT = Integer.parseInt(portStr); - log.info("Using configured port: {}", PORT); - } else { - PORT = 1999; - log.info("Using default port: {}", PORT); - } - // Get Google Drive configuration - String driveEnabledStr = props.getProperty("google.drive.enabled"); - if (driveEnabledStr != null) { - googleDriveEnabled = Boolean.parseBoolean(driveEnabledStr); - } - - String driveRootFolderStr = props.getProperty("google.drive.root.folder"); - if (driveRootFolderStr != null && !driveRootFolderStr.trim().isEmpty()) { - googleDriveRootFolderName = driveRootFolderStr.trim(); - } - - log.info("Google Drive integration enabled: {}", googleDriveEnabled); + PORT = Integer.parseInt(props.getProperty("server.port", "1999")); + log.info("Using port: {}", PORT); + + // Load other properties + googleDriveEnabled = Boolean.parseBoolean(props.getProperty("google.drive.enabled", "true")); + googleDriveRootFolderName = props.getProperty("google.drive.root.folder", "BSK_Clinic_Patient_Files").trim(); + imageDbPath = props.getProperty("storage.image_db_path", "img_db").trim(); + checkupMediaBaseDir = props.getProperty("storage.checkup_media_base_dir", "src/main/resources/image/checkup_media").trim(); + log.info("Google Drive enabled: {}", googleDriveEnabled); log.info("Google Drive root folder: {}", googleDriveRootFolderName); - - // Get Storage paths configuration - String imageDbPathStr = props.getProperty("storage.image_db_path"); - if (imageDbPathStr != null && !imageDbPathStr.trim().isEmpty()) { - imageDbPath = imageDbPathStr.trim(); - } - - String checkupMediaBaseDirStr = props.getProperty("storage.checkup_media_base_dir"); - if (checkupMediaBaseDirStr != null && !checkupMediaBaseDirStr.trim().isEmpty()) { - checkupMediaBaseDir = checkupMediaBaseDirStr.trim(); - } - log.info("Image DB path: {}", imageDbPath); log.info("Checkup media base dir: {}", checkupMediaBaseDir); - // Directly use the provided database path + + // --- DATABASE POOL INITIALIZATION --- String dbPath = "src/main/resources/database/BSK.db"; - connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath); + + // 1. Configure HikariCP + HikariConfig config = new HikariConfig(); + config.setJdbcUrl("jdbc:sqlite:" + dbPath); + config.setConnectionTestQuery("SELECT 1"); + config.setMaximumPoolSize(10); // Max 10 concurrent connections, perfect for your use case + config.setPoolName("BsK-DB-Pool"); + config.addDataSourceProperty("cachePrepStmts", "true"); + config.addDataSourceProperty("prepStmtCacheSize", "250"); + config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); + + // 2. Create the DataSource (the pool itself) + dataSource = new HikariDataSource(config); + log.info("✅ Database connection pool initialized successfully for {}", dbPath); // Initialize Google Drive service if enabled initializeGoogleDriveService(); } catch (Exception e) { + log.error("❌ Failed to initialize server", e); throw new RuntimeException("Failed to initialize server", e); } } + /** + * This is the new, safe way for handlers to get a database connection. + * @return A database connection from the pool. + * @throws SQLException if a connection cannot be obtained. + */ + public static Connection getConnection() throws SQLException { + return dataSource.getConnection(); + } + + public static void main(String[] args) throws InterruptedException { + log.info("\n____ _____ _ __\n| _ \\ / ____| |/ \n| |_) | (___ | ' / \n| _ < \\___ \\| <\n| |_) |____) | . \\\n|____/|_____/|_|\\_\n"); + ServerDashboard dashboard = ServerDashboard.getInstance(); + dashboard.setVisible(true); + dashboard.updateStatus("Starting...", Color.ORANGE); + dashboard.updatePort(PORT); + dashboard.updateGoogleDriveStatus(isGoogleDriveConnected(), isGoogleDriveConnected() ? "Connected" : "Disconnected"); + + EventLoopGroup parentGroup = Epoll.isAvailable() ? new EpollEventLoopGroup() : new NioEventLoopGroup(); + EventLoopGroup childGroup = Epoll.isAvailable() ? new EpollEventLoopGroup() : new NioEventLoopGroup(); + try { + ServerBootstrap bootstrap = new ServerBootstrap() + .group(parentGroup, childGroup) + .channel(Epoll.isAvailable() ? EpollServerSocketChannel.class : NioServerSocketChannel.class) + .localAddress(new InetSocketAddress(PORT)) + .childHandler(new ChannelInitializer<SocketChannel>() { + @Override + protected void initChannel(SocketChannel ch) throws Exception { + ch.pipeline() + .addLast(new IdleStateHandler(60 * 30, 0, 0, TimeUnit.SECONDS)) + .addLast(new HttpServerCodec()) + .addLast(new ChunkedWriteHandler()) + .addLast(new HttpObjectAggregator(50 * 1024 * 1024)) + .addLast(new WebSocketServerProtocolHandler("/", null, true, 50 * 1024 * 1024)) + .addLast(new ServerHandler()); // A new handler for each client + } + }); + + ChannelFuture f = bootstrap.bind().sync(); + log.info("Server started on port {}", PORT); + dashboard.updateStatus("Running", Color.GREEN); + dashboard.addLog("Server started successfully on port " + PORT); + + f.channel().closeFuture().sync(); + } catch (Exception e) { + dashboard.updateStatus("Error", Color.RED); + dashboard.addLog("Server error: " + e.getMessage()); + log.error("Server crashed", e); + } finally { + dashboard.updateStatus("Shutting down", Color.ORANGE); + dashboard.addLog("Server shutting down..."); + parentGroup.shutdownGracefully(); + childGroup.shutdownGracefully(); + if (dataSource != null) { + dataSource.close(); // Close the connection pool on shutdown + log.info("Database connection pool closed."); + } + } + } + + // --- Google Drive and other helper methods --- + private static void initializeGoogleDriveService() { if (!googleDriveEnabled) { log.info("Google Drive integration is disabled"); @@ -139,7 +181,6 @@ public class Server { googleDriveService = new GoogleDriveServiceOAuth(googleDriveRootFolderName); log.info("✅ Google Drive OAuth service initialized successfully"); - // Update dashboard if it exists if (ServerDashboard.getInstance() != null) { ServerDashboard.getInstance().updateGoogleDriveStatus(true, "Connected"); } @@ -147,48 +188,31 @@ public class Server { } catch (Exception e) { log.error("❌ Failed to initialize Google Drive OAuth service: {}", e.getMessage()); log.info("💡 Server will continue without Google Drive integration"); - log.info("🔧 To fix this, ensure google-oauth-credentials.json is properly configured"); googleDriveService = null; - // Update dashboard if it exists if (ServerDashboard.getInstance() != null) { ServerDashboard.getInstance().updateGoogleDriveStatus(false, "Failed: " + e.getMessage()); } } } - /** - * Manually retry Google Drive connection - */ public static void retryGoogleDriveConnection() { log.info("🔄 Retrying Google Drive connection..."); initializeGoogleDriveService(); } - /** - * Check if Google Drive is connected - */ public static boolean isGoogleDriveConnected() { return googleDriveService != null; } - /** - * Get Google Drive service instance - */ public static GoogleDriveServiceOAuth getGoogleDriveService() { return googleDriveService; } - /** - * Get the current Google Drive root folder name - */ public static String getGoogleDriveRootFolderName() { return googleDriveRootFolderName; } - /** - * Update Google Drive root folder name and reinitialize service - */ public static void updateGoogleDriveRootFolder(String newRootFolderName) throws Exception { if (newRootFolderName == null || newRootFolderName.trim().isEmpty()) { throw new IllegalArgumentException("Root folder name cannot be empty"); @@ -197,23 +221,17 @@ public class Server { googleDriveRootFolderName = newRootFolderName.trim(); log.info("🔄 Updating Google Drive root folder to: {}", googleDriveRootFolderName); - // Save to configuration file saveGoogleDriveRootFolderToConfig(googleDriveRootFolderName); - // Reinitialize Google Drive service with new root folder if (googleDriveEnabled) { initializeGoogleDriveService(); } } - /** - * Save Google Drive root folder name to config file - */ private static void saveGoogleDriveRootFolderToConfig(String rootFolderName) { try { Properties props = new Properties(); - // Load existing properties File externalConfig = new File("config/config.properties"); if (externalConfig.exists()) { try (var input = Files.newInputStream(externalConfig.toPath())) { @@ -227,16 +245,13 @@ public class Server { } } - // Update the root folder property props.setProperty("google.drive.root.folder", rootFolderName); - // Create config directory if it doesn't exist File configDir = new File("config"); if (!configDir.exists()) { configDir.mkdirs(); } - // Save to external config file try (var output = Files.newOutputStream(externalConfig.toPath())) { props.store(output, "BSK Server Configuration - Updated by Dashboard"); log.info("💾 Saved Google Drive root folder setting to config file"); @@ -247,96 +262,6 @@ public class Server { } } - private static String extractDatabaseFile() throws IOException { - throw new UnsupportedOperationException("extractDatabaseFile is not used anymore. Database is read directly from the specified path."); - } - - public static Statement statement; - - static { - try { - statement = connection.createStatement(); - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - - public Server() throws SQLException { - } - - public static void main(String[] args) throws InterruptedException, SQLException { - log.info("\n____ _____ _ __\n| _ \\ / ____| |/\n| |_) | (___ | ' /\n| _ < \\___ \\| <\n| |_) |____) | . \\\n|____/|_____/|_|\\_\n"); - // Initialize and show server dashboard - ServerDashboard dashboard = ServerDashboard.getInstance(); - dashboard.setVisible(true); - dashboard.updateStatus("Starting...", Color.ORANGE); - dashboard.updatePort(PORT); - - // Update Google Drive status on dashboard - dashboard.updateGoogleDriveStatus(isGoogleDriveConnected(), - isGoogleDriveConnected() ? "Connected" : "Disconnected"); - - EventLoopGroup parentGroup = - Epoll.isAvailable() ? new EpollEventLoopGroup() : new NioEventLoopGroup(); - EventLoopGroup childGroup = - Epoll.isAvailable() ? new EpollEventLoopGroup() : new NioEventLoopGroup(); - try { - ServerBootstrap bootstrap = - new ServerBootstrap() - .group(parentGroup, childGroup) - .channel( - Epoll.isAvailable() - ? EpollServerSocketChannel.class - : NioServerSocketChannel.class) - .localAddress(new InetSocketAddress(PORT)) - .childHandler( - new ChannelInitializer<SocketChannel>() { - @Override - protected void initChannel(SocketChannel ch) throws Exception { - ch.pipeline() - .addLast(new IdleStateHandler(60 * 30, 0, 0, TimeUnit.SECONDS)) - .addLast(new HttpServerCodec()) - .addLast(new ChunkedWriteHandler()) - .addLast(new HttpObjectAggregator(50 * 1024 * 1024)) - .addLast(new WebSocketServerProtocolHandler("/", null, true, 50 * 1024 * 1024)) - .addLast(new ServerHandler()); - } - }); - - ChannelFuture f = bootstrap.bind().sync(); - - log.info("Server started on port {}", PORT); - log.info("To connect, clients should use:"); - log.info(" - If on same machine: ws://localhost:{} or ws://127.0.0.1:{}", PORT, PORT); - log.info(" - If on network: ws://<this-computer's-ip>:{}", PORT); - - // Update dashboard status to running - dashboard.updateStatus("Running", Color.GREEN); - dashboard.addLog("Server started successfully on port " + PORT); - if (isGoogleDriveConnected()) { - dashboard.addLog("Google Drive integration: Connected ✅"); - } else { - dashboard.addLog("Google Drive integration: Disconnected ❌"); - } - - f.channel().closeFuture().sync(); - } catch (Exception e) { - dashboard.updateStatus("Error", Color.RED); - dashboard.addLog("Server error: " + e.getMessage()); - throw e; - } finally { - dashboard.updateStatus("Shutting down", Color.ORANGE); - dashboard.addLog("Server shutting down..."); - parentGroup.shutdownGracefully(); - childGroup.shutdownGracefully(); - } - } - - /** - * Initiates the backup of the main database file to Google Drive. - * This is intended to be called from the ServerDashboard. - * @throws IOException if the file cannot be found or the upload fails. - */ public static void backupDatabaseToDrive() throws IOException { ServerDashboard dashboard = ServerDashboard.getInstance(); @@ -345,7 +270,6 @@ public class Server { throw new IOException("Google Drive service is not available."); } - // Define the path to the database String dbPath = "src/main/resources/database/BSK.db"; java.io.File dbFile = new java.io.File(dbPath); @@ -354,7 +278,6 @@ public class Server { throw new IOException("Database file not found: " + dbPath); } - // Call the service to perform the backup googleDriveService.backupDatabaseFile(dbFile); - } + } } diff --git a/src/main/java/BsK/server/network/handler/ServerHandler.java b/src/main/java/BsK/server/network/handler/ServerHandler.java index a716914..604466b 100644 --- a/src/main/java/BsK/server/network/handler/ServerHandler.java +++ b/src/main/java/BsK/server/network/handler/ServerHandler.java @@ -116,7 +116,8 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram "from checkup as a\n" + "join customer as c on a.customer_id = c.customer_id\n" + "join Doctor D on a.doctor_id = D.doctor_id\n" + - "where a.status = 'ĐANG KHÁM' or a.status = 'CHỜ KHÁM'" + "where a.checkup_date >= CAST(strftime('%s', date('now', 'start of day')) AS INTEGER) * 1000\n" + + "AND a.checkup_date < CAST(strftime('%s', date('now', 'start of day', '+1 day')) AS INTEGER) * 1000" ); if (!rs.isBeforeFirst()) { @@ -310,7 +311,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram log.debug("Received ClinicInfoRequest"); try { ResultSet rs = statement.executeQuery( - "select name, address, phone\n" + + "select name, address, phone, prefix\n" + " from Clinic" ); @@ -320,8 +321,9 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram String clinicName = rs.getString("name"); String clinicAddress = rs.getString("address"); String clinicPhone = rs.getString("phone"); + String clinicPrefix = rs.getString("prefix"); - UserUtil.sendPacket(currentUser.getSessionId(), new ClinicInfoResponse(clinicName, clinicAddress, clinicPhone)); + UserUtil.sendPacket(currentUser.getSessionId(), new ClinicInfoResponse(clinicName, clinicAddress, clinicPhone, clinicPrefix)); } } catch (SQLException e) { @@ -566,107 +568,113 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram } if (packet instanceof AddCheckupRequest addCheckupRequest) { - log.debug("Received AddCheckupRequest to add patient{}", addCheckupRequest.getCustomerId()); + log.debug("Received AddCheckupRequest to add for customer {}", addCheckupRequest.getCustomerId()); + + // Khai báo các biến ID ở ngoài khối try để có thể sử dụng sau này + int generatedCheckupId = 0; + int queueNumber = 0; + try { - // Disable auto-commit - Server.connection.setAutoCommit(false); - - int queueNumber = 0; - // Use a transaction to ensure atomic operations - try { - // First, try to update an existing counter for today - try (PreparedStatement updateStmt = Server.connection.prepareStatement( - "UPDATE DailyQueueCounter SET current_count = current_count + 1 " + - "WHERE date = date('now', 'localtime') RETURNING current_count")) { - ResultSet rs = updateStmt.executeQuery(); - if (rs.next()) { - // Update successful, get the new value - queueNumber = rs.getInt(1); - } else { - // No row for today exists yet, insert one - try (PreparedStatement insertStmt = Server.connection.prepareStatement( - "INSERT INTO DailyQueueCounter (date, current_count) VALUES (date('now', 'localtime'), 1) " + - "RETURNING current_count")) { - ResultSet insertRs = insertStmt.executeQuery(); - if (insertRs.next()) { - queueNumber = insertRs.getInt(1); // Should be 1 - } else { - throw new SQLException("Failed to insert new queue counter"); - } - } - } - } - } catch (SQLException e) { - log.error("Error updating queue counter", e); - throw new RuntimeException(e); - } - // First query: Insert Checkup - PreparedStatement checkupStmt = Server.connection.prepareStatement( - "INSERT INTO Checkup (customer_id, doctor_id, checkup_type, status, queue_number) VALUES (?, ?, ?, ?, ?)"); - checkupStmt.setInt(1, addCheckupRequest.getCustomerId()); - checkupStmt.setInt(2, addCheckupRequest.getDoctorId()); - checkupStmt.setString(3, addCheckupRequest.getCheckupType()); - checkupStmt.setString(4, addCheckupRequest.getStatus()); - checkupStmt.setInt(5, queueNumber); - checkupStmt.executeUpdate(); - - // Second query: Insert MedicineOrder - PreparedStatement medOrderStmt = Server.connection.prepareStatement( - "INSERT INTO MedicineOrder (checkup_id, customer_id, processed_by) VALUES (last_insert_rowid(), ?, ?)"); - medOrderStmt.setInt(1, addCheckupRequest.getCustomerId()); - medOrderStmt.setInt(2, addCheckupRequest.getProcessedById()); - medOrderStmt.executeUpdate(); - - // Third query: Update Checkup - - PreparedStatement updateStmt = Server.connection.prepareStatement( - "UPDATE Checkup SET prescription_id = last_insert_rowid() WHERE checkup_id = (SELECT MAX(checkup_id) FROM Checkup WHERE customer_id = ?)"); - updateStmt.setInt(1, addCheckupRequest.getCustomerId()); - updateStmt.executeUpdate(); - - // Get the generated checkup ID safely - int generatedCheckupId = 0; - PreparedStatement getCheckupIdStmt = Server.connection.prepareStatement( - "SELECT MAX(checkup_id) FROM Checkup WHERE customer_id = ?"); - getCheckupIdStmt.setInt(1, addCheckupRequest.getCustomerId()); - ResultSet checkupIdRs = getCheckupIdStmt.executeQuery(); - if (checkupIdRs.next()) { - generatedCheckupId = checkupIdRs.getInt(1); - } - getCheckupIdStmt.close(); - checkupIdRs.close(); - - // Commit the transaction - Server.connection.commit(); - - // Send immediate response to client - UserUtil.sendPacket(currentUser.getSessionId(), new AddCheckupResponse(true, "Thêm bệnh nhân thành công", queueNumber)); - - broadcastQueueUpdate(); - - // Create Google Drive folder asynchronously (don't block the response) - createCheckupGoogleDriveFolderAsync(generatedCheckupId, addCheckupRequest.getCustomerId()); + // Bắt đầu một transaction + Server.connection.setAutoCommit(false); + + // --- 1. LẤY SỐ THỨ TỰ (QUEUE NUMBER) MỘT CÁCH AN TOÀN --- + // Sử dụng UPSERT (INSERT ON CONFLICT) để đảm bảo thao tác là nguyên tử + String queueSql = "INSERT INTO DailyQueueCounter (date, current_count) " + + "VALUES (date('now', 'localtime'), 1) " + + "ON CONFLICT(date) DO UPDATE SET current_count = current_count + 1 " + + "RETURNING current_count"; + + try (PreparedStatement queueStmt = Server.connection.prepareStatement(queueSql)) { + ResultSet rs = queueStmt.executeQuery(); + if (rs.next()) { + queueNumber = rs.getInt(1); + } else { + throw new SQLException("Failed to get or update queue number."); + } + } + + // --- 2. CHÈN VÀO BẢNG CHECKUP VÀ LẤY LẠI CHECKUP_ID --- + String checkupSql = "INSERT INTO Checkup (customer_id, doctor_id, checkup_type, status, queue_number) VALUES (?, ?, ?, ?, ?)"; + try (PreparedStatement checkupStmt = Server.connection.prepareStatement(checkupSql, Statement.RETURN_GENERATED_KEYS)) { + checkupStmt.setInt(1, addCheckupRequest.getCustomerId()); + checkupStmt.setInt(2, addCheckupRequest.getDoctorId()); + checkupStmt.setString(3, addCheckupRequest.getCheckupType()); + checkupStmt.setString(4, addCheckupRequest.getStatus()); + checkupStmt.setInt(5, queueNumber); + checkupStmt.executeUpdate(); + + // Lấy checkup_id vừa được tạo ra một cách an toàn + try (ResultSet generatedKeys = checkupStmt.getGeneratedKeys()) { + if (generatedKeys.next()) { + generatedCheckupId = generatedKeys.getInt(1); + } else { + throw new SQLException("Creating checkup failed, no ID obtained."); + } + } + } + + // --- 3. CHÈN VÀO BẢNG MEDICINEORDER VÀ LẤY LẠI PRESCRIPTION_ID --- + int generatedPrescriptionId = 0; + String medOrderSql = "INSERT INTO MedicineOrder (checkup_id, customer_id, processed_by) VALUES (?, ?, ?)"; + try (PreparedStatement medOrderStmt = Server.connection.prepareStatement(medOrderSql, Statement.RETURN_GENERATED_KEYS)) { + medOrderStmt.setInt(1, generatedCheckupId); // Sử dụng ID đã lấy được + medOrderStmt.setInt(2, addCheckupRequest.getCustomerId()); + medOrderStmt.setInt(3, addCheckupRequest.getProcessedById()); + medOrderStmt.executeUpdate(); + + // Lấy prescription_id vừa được tạo ra một cách an toàn + try (ResultSet generatedKeys = medOrderStmt.getGeneratedKeys()) { + if (generatedKeys.next()) { + generatedPrescriptionId = generatedKeys.getInt(1); + } else { + throw new SQLException("Creating medicine order failed, no ID obtained."); + } + } + } + + // --- 4. CẬP NHẬT BẢNG CHECKUP VỚI PRESCRIPTION_ID --- + String updateSql = "UPDATE Checkup SET prescription_id = ? WHERE checkup_id = ?"; + try (PreparedStatement updateStmt = Server.connection.prepareStatement(updateSql)) { + updateStmt.setInt(1, generatedPrescriptionId); // Sử dụng ID đã lấy được + updateStmt.setInt(2, generatedCheckupId); // Sử dụng ID đã lấy được + updateStmt.executeUpdate(); + } + + // Nếu tất cả các bước thành công, commit transaction + Server.connection.commit(); + + // Gửi phản hồi thành công về cho client + UserUtil.sendPacket(currentUser.getSessionId(), new AddCheckupResponse(true, "Thêm bệnh nhân thành công", queueNumber)); + + // Broadcast cập nhật hàng chờ cho các client khác + broadcastQueueUpdate(); + + // Tạo thư mục Google Drive bất đồng bộ (không làm chậm phản hồi) + // generatedCheckupId bây giờ đã có giá trị chính xác + createCheckupGoogleDriveFolderAsync(generatedCheckupId, addCheckupRequest.getCustomerId()); + + } catch (SQLException e) { + log.error("SQLException during AddCheckupRequest, rolling back transaction.", e); + try { + // Rollback nếu có lỗi + Server.connection.rollback(); + } catch (SQLException rollbackEx) { + log.error("Error during rollback", rollbackEx); + } + String errorMessage = e.getMessage(); + UserUtil.sendPacket(currentUser.getSessionId(), new AddCheckupResponse(false, "Lỗi Server: " + errorMessage, -1)); + // Không cần throw RuntimeException nữa để server không bị sập + + } finally { + try { + // Luôn luôn reset auto-commit về true + Server.connection.setAutoCommit(true); + } catch (SQLException e) { + log.error("Error resetting auto-commit", e); + } } - catch (SQLException e) { - try { - // Rollback on error - Server.connection.rollback(); - } catch (SQLException rollbackEx) { - log.error("Error during rollback", rollbackEx); - } - String errorMessage = e.getMessage(); - UserUtil.sendPacket(currentUser.getSessionId(), new AddCheckupResponse(false, "Lỗi: " + errorMessage, -1)); - throw new RuntimeException(e); - } - finally { - try { - // Reset auto-commit - Server.connection.setAutoCommit(true); - } catch (SQLException e) { - log.error("Error resetting auto-commit", e); - } - } - } + } if (packet instanceof CallPatientRequest callPatientRequest) { log.debug("Received CallPatientRequest to call patient checkup_id: {}", callPatientRequest.getPatientId()); @@ -894,7 +902,8 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram OI.price_per_unit, OI.total_price, OI.notes, - M.supplement + M.supplement, + M.route FROM OrderItem OI JOIN Medicine M ON OI.med_id = M.med_id WHERE OI.checkup_id = ? @@ -905,7 +914,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram ArrayList<String[]> medList = new ArrayList<>(); while(medRs.next()) { - String[] med = new String[11]; + String[] med = new String[12]; med[0] = medRs.getString("med_id"); med[1] = medRs.getString("med_name"); med[2] = medRs.getString("quantity_ordered"); @@ -933,6 +942,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram med[8] = medRs.getString("total_price"); med[9] = medRs.getString("notes"); med[10] = medRs.getString("supplement"); + med[11] = medRs.getString("route"); medList.add(med); } medicinePrescription = medList.toArray(new String[0][]); @@ -1458,7 +1468,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram } log.info("Received AddMedRequest"); try { - String sql = "INSERT INTO Medicine (med_name, med_company, med_description, med_unit, med_selling_price, preferred_note, supplement, deleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; + String sql = "INSERT INTO Medicine (med_name, med_company, med_description, med_unit, med_selling_price, preferred_note, supplement, deleted, route) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = Server.connection.prepareStatement(sql); stmt.setString(1, addMedicineRequest.getName()); stmt.setString(2, addMedicineRequest.getCompany()); @@ -1468,6 +1478,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram stmt.setString(6, addMedicineRequest.getPreferredNote()); stmt.setBoolean(7, addMedicineRequest.getSupplement()); stmt.setBoolean(8, addMedicineRequest.getDeleted()); + stmt.setString(9, addMedicineRequest.getRoute()); stmt.executeUpdate(); log.info("Added medicine: {}", addMedicineRequest.getName()); getMedInfo(currentUser.getSessionId()); @@ -1483,7 +1494,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram } log.info("Received EditMedRequest"); try { - String sql = "UPDATE Medicine SET med_name = ?, med_company = ?, med_description = ?, med_unit = ?, med_selling_price = ?, preferred_note = ?, supplement = ?, deleted = ? WHERE med_id = ?"; + String sql = "UPDATE Medicine SET med_name = ?, med_company = ?, med_description = ?, med_unit = ?, med_selling_price = ?, preferred_note = ?, supplement = ?, deleted = ?, route = ? WHERE med_id = ?"; PreparedStatement stmt = Server.connection.prepareStatement(sql); stmt.setString(1, editMedicineRequest.getName()); stmt.setString(2, editMedicineRequest.getCompany()); @@ -1493,7 +1504,8 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram stmt.setString(6, editMedicineRequest.getPreferredNote()); stmt.setBoolean(7, editMedicineRequest.getSupplement()); stmt.setBoolean(8, editMedicineRequest.getDeleted()); - stmt.setString(9, editMedicineRequest.getId()); + stmt.setString(9, editMedicineRequest.getRoute()); + stmt.setString(10, editMedicineRequest.getId()); stmt.executeUpdate(); log.info("Updated medicine: {}", editMedicineRequest.getName()); getMedInfo(currentUser.getSessionId()); @@ -1666,7 +1678,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram private void getMedInfo(int sessionId) { try { ResultSet rs = statement.executeQuery( - "select med_id, med_name, med_company, med_description, med_unit, med_selling_price, preferred_note, supplement, deleted\n" + + "select med_id, med_name, med_company, med_description, med_unit, med_selling_price, preferred_note, supplement, deleted, route\n" + " from Medicine" ); @@ -1684,9 +1696,10 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram String preferredNote = rs.getString("preferred_note"); String supplement = rs.getString("supplement"); String deleted = rs.getString("deleted"); + String route = rs.getString("route"); String result = String.join("|",medId, medName, medCompany, medDescription, medUnit, - medSellingPrice, preferredNote != null ? preferredNote : "", supplement != null ? supplement : "0", deleted); + medSellingPrice, preferredNote != null ? preferredNote : "", supplement != null ? supplement : "0", deleted, route); resultList.add(result); } @@ -2156,7 +2169,8 @@ public class ServerHandler extends SimpleChannelInboundHandler<TextWebSocketFram "from checkup as a\n" + "join customer as c on a.customer_id = c.customer_id\n" + "join Doctor D on a.doctor_id = D.doctor_id\n" + - "where a.status = 'ĐANG KHÁM' or a.status = 'CHỜ KHÁM'" + "where a.checkup_date >= CAST(strftime('%s', date('now', 'start of day')) AS INTEGER) * 1000\n" + + "AND a.checkup_date < CAST(strftime('%s', date('now', 'start of day', '+1 day')) AS INTEGER) * 1000" ); String[][] resultArray; diff --git a/src/main/resources/assets/logo.jpg b/src/main/resources/assets/logo.jpg deleted file mode 100644 index c98dcc4720d3ecb3d75263f3aec7728f314bbc4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89078 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 V6KDaXTnY1L_28&mwWGgS{{e=Co)iE8 diff --git a/src/main/resources/database/BSK.db b/src/main/resources/database/BSK.db index 05f1b4c8d5e16c7bff6d6f1e2cbfcdb9e5e471e9..7f4b4049c39db899bb306965b70f5890d89fdd19 100644 GIT binary patch delta 786 zcmXw#T}V@59LC>wAMR{BA3HnhJm~5jeq}A44zn6*22!cpTr;-lOR>3$wH>sTgG|RT zp@@=094ZXV0`;QQL5Ccbu&XG@yPycRn+hzAx(T}J9lDDj@5S?f{?GG&$1|SsjOT7C zI}ZRnirEJMc!^)zl+~`D2esEvEnS#y;i*xeB^`itP`jBj@(#U5ex^IA6cbFcHVa9g zfF!VRc9X)+69g}=x(^qg%%-No!FCl1Doxc`09t~VI%!xb8r<Br>MS6^PIFxmR&%y< zF2{~7n@557vH5*nvAzKTHQH?TQauC9#0PF(w>3xWL9-Zl9;96aHdt!%IRXi5#J^51 zKXxCqij3<J-J!vOrF*vnr5_}$5}RH5F(wI`#A%nEZda3_+*HkP^^!6aZvD=cZ+%>u z%d+H_;G0C7yD5LHmIMbV3YReFgqzO&+xhrUok`j4?omzvM(Q=N6-m_NXKXR3ZV6a? zN4&Mj6^zERsfjS^4rNofP)8`c@?7W$MbVXPYN-!3TG2>)R{Zp)s<JDTUJeJ*U?@Fv z3H61dvGhV1d9y3CVbq1aPq8=BySxe!rC$bwG7FezWF1qUq%%+SD(XELO}<#?70{Pl z`{{+cI8m!H@jQ$VimCNs!it2UK>xr<Vs3MCZWCe@7$ru9QDX`)8VrHaVsscihQv@9 z8pB`=^4umHLGX)QVlWB?&@Wp4IoX6iqA?}B2@ihEW_Tki|0y=Uf}|A<MWUAjsJqSI zJ-Jw7low05(>~={#UsfeaK&<kz`fPLVR_>!7lHI`q~z5ALO@YKDv}<?xMSMZp@H6u zjx+rYQvGkXUlL}F2G}6SXN-?k(zOMnS>ndHUDDbHtCps|v1QWvudGgL8{^tlzK?<L P_dXQvkzbE-M}GYW<8%N# delta 497 zcmZp85ZLe_aDuepJO&0vcOW)nU|`q@r1d817_-h}&@1cQm@?O15-7^aTg$+|nLnLh zneQIoOuj%qZr($@wVMSEl6kjh^Rm2RoSx3lGILV^TLMcb1Apgc!Gv`F$qEJ%hNX<G zu8oR{0U3uk<)tfRXB=LbtKf8aVX{K-k(CPG84q`@FYwMNRVaJ7dt<VKsg6R)^uTYt z!n_`bHzn#QWRzAu+})lxdFy_)O$QhiczMq-a4<h);9tk1&%J3g--9LGoYi{l;*ye# zje(PO-xqJzd$W*{@zLfBZ-W`9b4UqUsJghiIfnX#D5!@9y9TK%`1yw@_=WoTa4A56 zvxlp*_w-p(LP~5p3dM;zCCw||x37552*gZ4%nZaVK+FonY(UHo#2i4(3B+7L%nigm zK+Frod_c?(!~)w_ycf(@V0^h<LO`g1jWK1i;%{H^=7@ZD@#bJ4p{>o>7F&{-l+)~* z&p!R2l#ulHKVm{F7~3~U2yNdWAsijf+{-j?x<G-j*mjiy;gjr)i?_ck7tUv#e#S)D zfUl>3S(253k&%IymtmUe^z2GukL>~rg@jqB*Q^qfo&Kp#SYvwpGeNHDuJyuREKy&Z QC8wSj(cZqVUfAga0O9$uCjbBd diff --git a/src/main/resources/reports/medserinvoice.jrxml b/src/main/resources/reports/medserinvoice.jrxml deleted file mode 100644 index 861a71bd327bfe8b5d74611f600484615b594f01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39360 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 Tj@%B)Pd&+sv%5(l+!y}<^0EJa diff --git a/src/main/resources/reports/ultrasoundresult.jrxml b/src/main/resources/reports/ultrasoundresult.jrxml deleted file mode 100644 index b581bb4..0000000 --- a/src/main/resources/reports/ultrasoundresult.jrxml +++ /dev/null @@ -1,270 +0,0 @@ -<!-- Created with Jaspersoft Studio version 7.0.3.final using JasperReports Library version 7.0.3-41034ca841d452f3305ba55b9042260aaa1ab5dd --> -<jasperReport name="Blank_A4_Landscape" language="java" columnCount="1" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7f9ca7e-f0db-48b0-bef9-93be21b3b0a3"> - <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> - <parameter name="checkupNote" class="java.lang.String"/> - <parameter name="checkupDate" class="java.lang.String"/> - <parameter name="patientDiagnos" class="java.lang.String"/> - <parameter name="doctorName" class="java.lang.String"/> - <parameter name="medicineDS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> - <parameter name="serviceDS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> - <parameter name="supplementDS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> - <parameter name="name" class="java.lang.String"/> - <parameter name="clinicName" class="java.lang.String"/> - <parameter name="patientAddress" class="java.lang.String"/> - <parameter name="clinicPhone" class="java.lang.String"/> - <parameter name="patientName" class="java.lang.String"/> - <parameter name="patientDOB" class="java.lang.String"/> - <parameter name="clinicAddress" class="java.lang.String"/> - <parameter name="logoImage" class="java.lang.String"/> - <parameter name="barcodeNumber" class="java.lang.String"/> - <parameter name="patientGender" class="java.lang.String"/> - <parameter name="hasMedicines" class="java.lang.Boolean"/> - <parameter name="hasServices" class="java.lang.Boolean"/> - <parameter name="hasSupplements" class="java.lang.Boolean"/> - <parameter name="checkupConclusion" class="java.lang.String"/> - <parameter name="checkupSuggestion" class="java.lang.String"/> - <parameter name="reCheckupDate" class="java.lang.String"/> - <parameter name="image1" class="java.lang.String"/> - <parameter name="image2" class="java.lang.String"/> - <parameter name="image3" class="java.lang.String"/> - <parameter name="checkupHeight" class="java.lang.String"/> - <parameter name="image4" class="java.lang.String"/> - <parameter name="image5" class="java.lang.String"/> - <parameter name="numberImage" class="java.lang.Integer"/> - <parameter name="image6" class="java.lang.String"/> - <parameter name="checkupBloodPressure" class="java.lang.String"/> - <parameter name="checkupHeartBeat" class="java.lang.String"/> - <parameter name="checkupWeight" class="java.lang.String"/> - <parameter name="templateTitle" class="java.lang.String"/> - <parameter name="driveURL" class="java.lang.String"/> - <parameter name="ultrasoundDoctorName" class="java.lang.String"/> - <query language="sql"><![CDATA[]]></query> - <background splitType="Stretch"/> - <title splitType="Stretch"/> - <pageHeader splitType="Stretch"/> - <columnHeader splitType="Stretch"/> - <detail> - <band height="540" splitType="Stretch"> - <element kind="frame" uuid="2b7ec588-953c-4145-87b7-1d861c272fe0" x="0" y="0" width="400" height="539"> - <element kind="image" uuid="fd80ab38-4cae-409b-84b9-356220d2b1e5" x="0" y="1" width="60" height="60"> - <expression><![CDATA[$P{logoImage}]]></expression> - </element> - <element kind="textField" uuid="eb56d4c8-2a0d-45fa-89a2-ad6528f9a99b" x="60" y="0" width="290" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <expression><![CDATA[$P{clinicName}]]></expression> - </element> - <element kind="textField" uuid="796d9ffd-6d2e-4ae3-bdfb-b08183d7d9c0" x="60" y="20" width="235" height="25" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{clinicAddress}]]></expression> - </element> - <element kind="textField" uuid="260bb33d-1d11-4178-aceb-3fbf8fcb4b45" x="60" y="45" width="162" height="12" fontName="Times New Roman" fontSize="8.0"> - <expression><![CDATA["SDT: " + $P{clinicPhone}]]></expression> - </element> - <element kind="staticText" uuid="6f89a93f-2d10-4506-baa5-226bdd047b17" x="0" y="65" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <text><![CDATA[I.Thông tin]]></text> - </element> - <element kind="staticText" uuid="b8dfca43-cf97-49e5-b58d-4667143dba62" x="0" y="79" width="50" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Họ và tên:]]></text> - </element> - <element kind="staticText" uuid="0a9ca0c8-f2bd-4ade-a025-a6d79c13613f" x="1" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Ngày sinh:]]></text> - </element> - <element kind="staticText" uuid="21917ab8-ae07-44c8-ba4e-bc6c4c54b440" x="140" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Giới tính:]]></text> - </element> - <element kind="staticText" uuid="bcbb614e-7a4d-48a3-83c2-198e4fb62c5f" x="1" y="109" width="49" height="15" fontName="Times New Roman" bold="true" hTextAlign="Left"> - <text><![CDATA[Địa chỉ:]]></text> - </element> - <element kind="staticText" uuid="45fe4be1-9e21-459b-aeee-2efc8354f372" x="221" y="80" width="68" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Bác sĩ chỉ định:]]></text> - </element> - <element kind="staticText" uuid="f2ff4b17-63cc-4e8c-a3b0-2523f534f21a" x="221" y="94" width="60" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Ngày khám:]]></text> - </element> - <element kind="textField" uuid="1511f53a-b282-41b1-b233-612b6106c07a" x="48" y="79" width="172" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientName}]]></expression> - </element> - <element kind="textField" uuid="5bdac267-523d-4931-926b-76233ce9b84d" x="50" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientDOB}]]></expression> - </element> - <element kind="textField" uuid="f4df20b4-920c-491e-882b-6e0733cb4866" x="184" y="94" width="36" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientGender}]]></expression> - </element> - <element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="39" y="109" width="361" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientAddress}]]></expression> - </element> - <element kind="textField" uuid="db40cdb0-2850-4d66-8430-addc54f90321" x="290" y="80" width="110" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{doctorName}]]></expression> - </element> - <element kind="textField" uuid="eb9cf54a-3b50-43c5-8696-cfc1e21bddfe" x="276" y="94" width="124" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupDate}]]></expression> - </element> - <element kind="staticText" uuid="9f7de81c-4c38-41a2-9fea-a165eff19431" x="1" y="124" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Chuẩn đoán:]]></text> - </element> - <element kind="textField" uuid="5ae67e13-7a79-437f-bfb8-c720d896720d" x="60" y="124" width="340" height="26" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientDiagnos}]]></expression> - </element> - <element kind="staticText" uuid="b1fa845a-48da-4e45-82b8-8b9d972650f6" x="0" y="162" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <text><![CDATA[II.Nội dung]]></text> - </element> - <element kind="textField" uuid="6d652a25-b701-45bd-91ba-750842650004" x="0" y="177" width="398" height="362" markup="rtf" fontName="Times New Roman" fontSize="14.0"> - <expression><![CDATA[$P{checkupNote}]]></expression> - </element> - <element kind="staticText" uuid="8f720f6a-0257-4556-b3bc-3b81ad4f8099" x="1" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Chiều cao:]]></text> - </element> - <element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="100" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Cân nặng:]]></text> - </element> - <element kind="staticText" uuid="2b9cfd9d-ec8f-4036-9c96-039fd7855e24" x="200" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Nhịp tim:]]></text> - </element> - <element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="290" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Huyết áp:]]></text> - </element> - <element kind="textField" uuid="3e1069a6-daea-45c2-b21f-935b49baba45" x="50" y="150" width="50" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupWeight} +" cm"]]></expression> - </element> - <element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="147" y="150" width="53" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupWeight} + " kg"]]></expression> - </element> - <element kind="textField" uuid="e4185ffe-8712-41e3-a9ff-2be6569dff15" x="243" y="150" width="47" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupHeartBeat} + " l/p"]]></expression> - </element> - <element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="335" y="150" width="63" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupBloodPressure} +" mmHg"]]></expression> - </element> - <element kind="component" uuid="e8842007-3343-4399-a101-76a302d0755d" x="362" y="19" width="38" height="35"> - <component kind="barcode4j:QRCode"> - <codeExpression><![CDATA[$P{driveURL}]]></codeExpression> - </component> - </element> - <element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="70" y="57" width="282" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> - <printWhenExpression><![CDATA[$P{templateTitle} != null && !$P{templateTitle}.trim().isEmpty()]]></printWhenExpression> - <expression><![CDATA["PHIẾU " + $P{templateTitle}]]></expression> - </element> - </element> - <element kind="frame" uuid="a72ffc70-007e-43af-a566-b34e6e07b312" x="400" y="0" width="400" height="540"> - <element kind="staticText" uuid="246a04b0-2565-4987-b7f3-dd369703035c" x="0" y="340" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="15.0" bold="true"> - <text><![CDATA[III.Kết luận]]></text> - </element> - <element kind="staticText" uuid="c53ef0ab-a702-47fc-9b7c-24307a495b30" x="0" y="430" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="15.0" bold="true"> - <text><![CDATA[Đề nghị:]]></text> - </element> - <element kind="staticText" uuid="a38b1187-ddb8-4410-9b52-dc041f894b7b" x="250" y="440" width="96" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> - <text><![CDATA[Bác sĩ siêu âm]]></text> - </element> - <element kind="textField" uuid="b548d99d-bedf-4e90-b13b-bdbc763aa974" x="200" y="513" width="200" height="21" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> - <expression><![CDATA[$P{ultrasoundDoctorName}]]></expression> - </element> - <element kind="textField" uuid="8bca58ab-0958-40fe-8e51-2a39a9d379a5" x="200" y="521" width="200" height="19" fontName="Times New Roman" pattern="MMMMM dd, yyyy" hTextAlign="Center" vTextAlign="Bottom"> - <expression><![CDATA[new java.text.SimpleDateFormat("'Đức Hoà, ngày ' dd ' tháng ' MM ' năm ' yyyy", new java.util.Locale("vi", "VN")).format(new java.util.Date())]]></expression> - </element> - <element kind="staticText" uuid="c062ce0e-80cb-4e67-a5d9-d85e769c6c4e" x="0" y="525" width="110" height="14" forecolor="#FF0905" fontName="Times New Roman" fontSize="10.0" bold="true"> - <text><![CDATA[Tái khám:]]></text> - </element> - <element kind="textField" uuid="e90ad772-4425-482d-9e75-f2bc66b9084d" x="0" y="358" width="400" height="70" fontName="Times New Roman" fontSize="12.0"> - <expression><![CDATA[$P{checkupConclusion}]]></expression> - </element> - <element kind="component" uuid="cb28d811-1328-45dc-9461-cfbb88b7eeae" x="-105" y="19" width="64" height="40"> - <component kind="barcode4j:Code128"> - <codeExpression><![CDATA[$P{barcodeNumber}]]></codeExpression> - </component> - </element> - <element kind="textField" uuid="d63165c2-19e2-43ad-8a3f-004e00bffdfe" x="0" y="450" width="240" height="66" fontName="Times New Roman" fontSize="12.0"> - <expression><![CDATA[$P{checkupSuggestion}]]></expression> - </element> - <element kind="textField" uuid="cece8e5b-67db-4019-b52a-bf73abae535e" x="48" y="525" width="150" height="15" fontName="Times New Roman" fontSize="12.0"> - <expression><![CDATA[$P{reCheckupDate}]]></expression> - </element> - <element kind="frame" uuid="2f301804-acfa-4b6f-9f52-236c04fd1197" x="0" y="0" width="400" height="344"> - <printWhenExpression><![CDATA[$P{numberImage}.intValue() == 6]]></printWhenExpression> - <element kind="image" uuid="fe4e4fa7-8b26-4817-ae86-4c147a25abbe" x="83" y="3" width="111" height="113"> - <expression><![CDATA[$P{image1}]]></expression> - </element> - <element kind="image" uuid="9c6302ea-8b4a-48d6-8c42-68313154be77" x="83" y="117" width="111" height="113"> - <expression><![CDATA[$P{image3}]]></expression> - </element> - <element kind="image" uuid="d7d6a47e-a129-4726-80b1-701113d0d9c2" x="83" y="231" width="111" height="113"> - <expression><![CDATA[$P{image5}]]></expression> - </element> - <element kind="image" uuid="7cd3d01b-f3ac-48d1-9749-ab5787497ab9" x="198" y="232" width="111" height="113"> - <expression><![CDATA[$P{image6}]]></expression> - </element> - <element kind="image" uuid="65610203-a91f-4b55-9a33-d6bfb7ffa7a6" x="199" y="117" width="111" height="113"> - <expression><![CDATA[$P{image4}]]></expression> - </element> - <element kind="image" uuid="127b0f54-33e9-43a5-af62-64152d74958f" x="199" y="3" width="111" height="113"> - <expression><![CDATA[$P{image2}]]></expression> - </element> - </element> - <element kind="frame" uuid="58523878-7ef9-46fe-aad7-ee5bd65115aa" x="0" y="1" width="400" height="344"> - <printWhenExpression><![CDATA[$P{numberImage}.intValue() == 5]]></printWhenExpression> - <element kind="image" uuid="6870ae02-5ee4-40e8-9787-1ad084dc3b7f" x="83" y="3" width="111" height="113"> - <expression><![CDATA[$P{image1}]]></expression> - </element> - <element kind="image" uuid="4216a22f-f20f-4bf1-9e93-79ccc3bbd5c6" x="83" y="117" width="111" height="113"> - <expression><![CDATA[$P{image3}]]></expression> - </element> - <element kind="image" uuid="3069d087-6d97-455c-bb0d-211b0698b54c" x="142" y="231" width="111" height="113"> - <expression><![CDATA[$P{image5}]]></expression> - </element> - <element kind="image" uuid="34187787-d55d-495a-be82-9ff67702211f" x="199" y="117" width="111" height="113"> - <expression><![CDATA[$P{image4}]]></expression> - </element> - <element kind="image" uuid="7b2d4efb-1f35-4c37-80a1-685195e1218e" x="199" y="3" width="111" height="113"> - <expression><![CDATA[$P{image2}]]></expression> - </element> - </element> - <element kind="frame" uuid="33b6f6ef-93e4-4488-a421-08de09b5458c" x="0" y="0" width="400" height="344"> - <printWhenExpression><![CDATA[$P{numberImage}.intValue() == 4]]></printWhenExpression> - <element kind="image" uuid="1378905c-276f-42ba-9101-18b27ba14e0b" x="28" y="3" width="161" height="165"> - <expression><![CDATA[$P{image1}]]></expression> - </element> - <element kind="image" uuid="58917767-70d5-4822-bb6f-7f5aba6f660e" x="29" y="173" width="161" height="165"> - <expression><![CDATA[$P{image3}]]></expression> - </element> - <element kind="image" uuid="6026efa4-cfd7-4b1d-90be-fe8912eb43c3" x="210" y="3" width="161" height="165"> - <expression><![CDATA[$P{image2}]]></expression> - </element> - <element kind="image" uuid="6c5adc41-f3d7-4e32-997a-e1845d7170c5" x="211" y="173" width="161" height="165"> - <expression><![CDATA[$P{image4}]]></expression> - </element> - </element> - <element kind="frame" uuid="94e66ae9-8863-45e0-9b9d-1a5fb7df84f5" x="0" y="0" width="400" height="344"> - <printWhenExpression><![CDATA[$P{numberImage}.intValue() == 3]]></printWhenExpression> - <property name="com.jaspersoft.studio.unit.y" value="px"/> - <property name="com.jaspersoft.studio.unit.x" value="px"/> - <element kind="image" uuid="3ab88449-e282-41cd-898e-ab91aeef70b9" x="28" y="3" width="161" height="165"> - <expression><![CDATA[$P{image1}]]></expression> - </element> - <element kind="image" uuid="119378b1-674d-457a-bc69-a9823f2160b7" x="121" y="173" width="161" height="165"> - <expression><![CDATA[$P{image3}]]></expression> - </element> - <element kind="image" uuid="8ac7bc19-5ae6-4569-87fb-c9cf72936b50" x="210" y="3" width="161" height="165"> - <expression><![CDATA[$P{image2}]]></expression> - </element> - </element> - <element kind="frame" uuid="935efa61-0cd7-47ab-b7d8-6508a1726537" x="0" y="0" width="400" height="344"> - <printWhenExpression><![CDATA[$P{numberImage}.intValue() == 2]]></printWhenExpression> - <element kind="image" uuid="8f2957f9-fb76-49d1-94ce-08c723aec7ce" x="121" y="3" width="161" height="165"> - <expression><![CDATA[$P{image1}]]></expression> - </element> - <element kind="image" uuid="f5585019-40b7-4b1b-9c7a-8b10386cf210" x="121" y="173" width="161" height="165"> - <expression><![CDATA[$P{image2}]]></expression> - </element> - </element> - <element kind="frame" uuid="dfa0c283-dbfc-40de-97e0-d1d04db85c96" x="0" y="0" width="400" height="344"> - <printWhenExpression><![CDATA[$P{numberImage}.intValue() == 1]]></printWhenExpression> - <property name="com.jaspersoft.studio.unit.y" value="px"/> - <element kind="image" uuid="a7cef70f-1dbe-4d6f-a007-7543bbc2b9b8" x="29" y="4" width="342" height="335"> - <expression><![CDATA[$P{image1}]]></expression> - </element> - </element> - <element kind="staticText" uuid="8f35aa72-22a4-45f0-a35e-8e35e832404e" x="-55" y="53" width="55" height="14" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> - <printWhenExpression><![CDATA[$P{driveURL} != null && !$P{driveURL}.trim().isEmpty()]]></printWhenExpression> - <text><![CDATA[Xem KQ online]]></text> - </element> - </element> - </band> - </detail> -</jasperReport> diff --git a/src/main/resources/reports/ultrasoundresult_potrait.jrxml b/src/main/resources/reports/ultrasoundresult_potrait.jrxml deleted file mode 100644 index f6082c0..0000000 --- a/src/main/resources/reports/ultrasoundresult_potrait.jrxml +++ /dev/null @@ -1,198 +0,0 @@ -<!-- Created with Jaspersoft Studio version 7.0.3.final using JasperReports Library version 7.0.3-41034ca841d452f3305ba55b9042260aaa1ab5dd --> -<jasperReport name="Blank_A4_Potrait" language="java" columnCount="1" pageWidth="595" pageHeight="842" orientation="Landscape" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7f9ca7e-f0db-48b0-bef9-93be21b3b0a3"> - <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> - <parameter name="checkupNote" class="java.lang.String"/> - <parameter name="checkupDate" class="java.lang.String"/> - <parameter name="patientDiagnos" class="java.lang.String"/> - <parameter name="doctorName" class="java.lang.String"/> - <parameter name="medicineDS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> - <parameter name="serviceDS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> - <parameter name="supplementDS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> - <parameter name="name" class="java.lang.String"/> - <parameter name="clinicName" class="java.lang.String"/> - <parameter name="patientAddress" class="java.lang.String"/> - <parameter name="clinicPhone" class="java.lang.String"/> - <parameter name="patientName" class="java.lang.String"/> - <parameter name="patientDOB" class="java.lang.String"/> - <parameter name="clinicAddress" class="java.lang.String"/> - <parameter name="logoImage" class="java.lang.String"/> - <parameter name="barcodeNumber" class="java.lang.String"/> - <parameter name="patientGender" class="java.lang.String"/> - <parameter name="hasMedicines" class="java.lang.Boolean"/> - <parameter name="hasServices" class="java.lang.Boolean"/> - <parameter name="hasSupplements" class="java.lang.Boolean"/> - <parameter name="checkupConclusion" class="java.lang.String"/> - <parameter name="checkupSuggestion" class="java.lang.String"/> - <parameter name="reCheckupDate" class="java.lang.String"/> - <parameter name="image1" class="java.lang.String"/> - <parameter name="image2" class="java.lang.String"/> - <parameter name="image3" class="java.lang.String"/> - <parameter name="checkupHeight" class="java.lang.String"/> - <parameter name="image4" class="java.lang.String"/> - <parameter name="image5" class="java.lang.String"/> - <parameter name="numberImage" class="java.lang.Integer"/> - <parameter name="image6" class="java.lang.String"/> - <parameter name="checkupBloodPressure" class="java.lang.String"/> - <parameter name="checkupHeartBeat" class="java.lang.String"/> - <parameter name="checkupWeight" class="java.lang.String"/> - <parameter name="templateTitle" class="java.lang.String"/> - <parameter name="driveURL" class="java.lang.String"/> - <parameter name="ultrasoundDoctorName" class="java.lang.String"/> - <query language="sql"><![CDATA[]]></query> - <background splitType="Stretch"/> - <title splitType="Stretch"/> - <pageHeader splitType="Stretch"/> - <columnHeader splitType="Stretch"/> - <detail> - <band height="598" splitType="Stretch"> - <element kind="frame" uuid="2b7ec588-953c-4145-87b7-1d861c272fe0" x="0" y="0" width="551" height="598"> - <element kind="image" uuid="fd80ab38-4cae-409b-84b9-356220d2b1e5" x="0" y="-5" width="70" height="64"> - <expression><![CDATA[$P{logoImage}]]></expression> - </element> - <element kind="textField" uuid="eb56d4c8-2a0d-45fa-89a2-ad6528f9a99b" x="70" y="0" width="323" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <expression><![CDATA[$P{clinicName}]]></expression> - </element> - <element kind="textField" uuid="796d9ffd-6d2e-4ae3-bdfb-b08183d7d9c0" x="70" y="20" width="323" height="22" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{clinicAddress}]]></expression> - </element> - <element kind="textField" uuid="260bb33d-1d11-4178-aceb-3fbf8fcb4b45" x="70" y="42" width="276" height="15" fontName="Times New Roman" fontSize="8.0"> - <expression><![CDATA[$P{clinicPhone}]]></expression> - </element> - <element kind="staticText" uuid="6f89a93f-2d10-4506-baa5-226bdd047b17" x="0" y="65" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <text><![CDATA[I.Thông tin]]></text> - </element> - <element kind="staticText" uuid="b8dfca43-cf97-49e5-b58d-4667143dba62" x="0" y="79" width="50" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Họ và tên:]]></text> - </element> - <element kind="staticText" uuid="0a9ca0c8-f2bd-4ade-a025-a6d79c13613f" x="1" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Ngày sinh:]]></text> - </element> - <element kind="staticText" uuid="21917ab8-ae07-44c8-ba4e-bc6c4c54b440" x="140" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Giới tính:]]></text> - </element> - <element kind="staticText" uuid="bcbb614e-7a4d-48a3-83c2-198e4fb62c5f" x="1" y="109" width="49" height="15" fontName="Times New Roman" bold="true" hTextAlign="Left"> - <text><![CDATA[Địa chỉ:]]></text> - </element> - <element kind="staticText" uuid="45fe4be1-9e21-459b-aeee-2efc8354f372" x="221" y="80" width="68" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Bác sĩ chỉ định:]]></text> - </element> - <element kind="staticText" uuid="f2ff4b17-63cc-4e8c-a3b0-2523f534f21a" x="221" y="94" width="60" height="15" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Ngày khám:]]></text> - </element> - <element kind="textField" uuid="1511f53a-b282-41b1-b233-612b6106c07a" x="48" y="79" width="172" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientName}]]></expression> - </element> - <element kind="textField" uuid="5bdac267-523d-4931-926b-76233ce9b84d" x="50" y="94" width="80" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientDOB}]]></expression> - </element> - <element kind="textField" uuid="f4df20b4-920c-491e-882b-6e0733cb4866" x="184" y="94" width="36" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientGender}]]></expression> - </element> - <element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="39" y="109" width="361" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientAddress}]]></expression> - </element> - <element kind="textField" uuid="db40cdb0-2850-4d66-8430-addc54f90321" x="290" y="80" width="110" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{doctorName}]]></expression> - </element> - <element kind="textField" uuid="eb9cf54a-3b50-43c5-8696-cfc1e21bddfe" x="276" y="94" width="124" height="15" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupDate}]]></expression> - </element> - <element kind="staticText" uuid="9f7de81c-4c38-41a2-9fea-a165eff19431" x="1" y="124" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Chuẩn đoán:]]></text> - </element> - <element kind="textField" uuid="5ae67e13-7a79-437f-bfb8-c720d896720d" x="60" y="124" width="340" height="26" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{patientDiagnos}]]></expression> - </element> - <element kind="staticText" uuid="b1fa845a-48da-4e45-82b8-8b9d972650f6" x="0" y="162" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true"> - <text><![CDATA[II.Nội dung]]></text> - </element> - <element kind="textField" uuid="6d652a25-b701-45bd-91ba-750842650004" x="0" y="177" width="400" height="421" markup="rtf" fontName="Times New Roman" fontSize="16.0"> - <expression><![CDATA[$P{checkupNote}]]></expression> - </element> - <element kind="staticText" uuid="8f720f6a-0257-4556-b3bc-3b81ad4f8099" x="1" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Chiều cao:]]></text> - </element> - <element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="100" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Cân nặng:]]></text> - </element> - <element kind="staticText" uuid="2b9cfd9d-ec8f-4036-9c96-039fd7855e24" x="200" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Nhịp tim:]]></text> - </element> - <element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="290" y="150" width="59" height="16" fontName="Times New Roman" fontSize="10.0" bold="true" hTextAlign="Left"> - <text><![CDATA[Huyết áp:]]></text> - </element> - <element kind="textField" uuid="3e1069a6-daea-45c2-b21f-935b49baba45" x="50" y="150" width="50" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupWeight} +" cm"]]></expression> - </element> - <element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="147" y="150" width="53" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupWeight} + " kg"]]></expression> - </element> - <element kind="textField" uuid="e4185ffe-8712-41e3-a9ff-2be6569dff15" x="243" y="150" width="47" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupHeartBeat} + " l/p"]]></expression> - </element> - <element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="335" y="150" width="65" height="16" fontName="Times New Roman" fontSize="10.0"> - <expression><![CDATA[$P{checkupBloodPressure} +" mmHg"]]></expression> - </element> - <element kind="component" uuid="e8842007-3343-4399-a101-76a302d0755d" x="486" y="16" width="53" height="49"> - <component kind="barcode4j:QRCode"> - <codeExpression><![CDATA[$P{driveURL}]]></codeExpression> - </component> - </element> - <element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="70" y="57" width="282" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> - <printWhenExpression><![CDATA[$P{templateTitle} != null && !$P{templateTitle}.trim().isEmpty()]]></printWhenExpression> - <expression><![CDATA["PHIẾU " + $P{templateTitle}]]></expression> - </element> - <element kind="staticText" uuid="8f35aa72-22a4-45f0-a35e-8e35e832404e" x="484" y="65" width="55" height="14" fontName="Times New Roman" fontSize="8.0" bold="false" hTextAlign="Center"> - <printWhenExpression><![CDATA[$P{driveURL} != null && !$P{driveURL}.trim().isEmpty()]]></printWhenExpression> - <text><![CDATA[Xem KQ online]]></text> - </element> - <element kind="component" uuid="73f562ce-2891-4577-aec2-7284203c8430" x="394" y="21" width="70" height="49"> - <component kind="barcode4j:Code128"> - <codeExpression><![CDATA[$P{barcodeNumber}]]></codeExpression> - </component> - </element> - <element kind="image" uuid="692eae9f-a304-4cda-856d-7a3a95fac3df" stretchType="NoStretch" x="400" y="91" width="151" height="124"> - <expression><![CDATA[$P{image1}]]></expression> - </element> - <element kind="image" uuid="9a15475c-d08c-4c8f-bbdf-70cf98f97e90" x="400" y="216" width="151" height="124"> - <expression><![CDATA[$P{image2}]]></expression> - </element> - <element kind="image" uuid="2902cf3c-31dd-4b96-be87-fa8a13ba88ae" x="400" y="342" width="151" height="124"> - <expression><![CDATA[$P{image3}]]></expression> - </element> - <element kind="image" uuid="129e6c61-d572-48a9-925e-1ab2e4e573e2" x="400" y="468" width="151" height="129"> - <expression><![CDATA[$P{image4}]]></expression> - </element> - </element> - </band> - </detail> - <summary height="179"> - <element kind="staticText" uuid="b6ee4329-aeb1-4ddf-99e8-41ebebaff12b" x="0" y="0" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="15.0" bold="true"> - <text><![CDATA[III.Kết luận]]></text> - </element> - <element kind="staticText" uuid="f4c12e4d-9aac-428d-bd79-59c3d15f0d87" x="0" y="60" width="100" height="30" forecolor="#FF0905" fontName="Times New Roman" fontSize="15.0" bold="true"> - <text><![CDATA[Đề nghị:]]></text> - </element> - <element kind="staticText" uuid="d1d33b8f-b79a-45a1-b33b-1eecb656f49a" x="400" y="70" width="96" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Center"> - <text><![CDATA[Bác sĩ siêu âm]]></text> - </element> - <element kind="textField" uuid="de0d077c-f1d6-4d0c-8bbd-fb08c19b07c6" x="347" y="140" width="200" height="21" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center"> - <expression><![CDATA[$P{ultrasoundDoctorName}]]></expression> - </element> - <element kind="textField" uuid="0b5be2b8-8837-41ee-a805-81f562f5f961" x="347" y="157" width="200" height="19" fontName="Times New Roman" pattern="MMMMM dd, yyyy" hTextAlign="Center" vTextAlign="Bottom"> - <expression><![CDATA[new java.text.SimpleDateFormat("'Đức Hoà, ngày ' dd ' tháng ' MM ' năm ' yyyy", new java.util.Locale("vi", "VN")).format(new java.util.Date())]]></expression> - </element> - <element kind="staticText" uuid="0b4ca7da-4831-4ca6-8272-94af19fd3089" x="0" y="155" width="110" height="14" forecolor="#FF0905" fontName="Times New Roman" fontSize="10.0" bold="true"> - <text><![CDATA[Tái khám:]]></text> - </element> - <element kind="textField" uuid="e4fb5d0b-bbc3-4e42-a431-1bd20bcfb25d" x="0" y="20" width="546" height="38" fontName="Times New Roman" fontSize="12.0"> - <expression><![CDATA[$P{checkupConclusion}]]></expression> - </element> - <element kind="textField" uuid="16b6dfab-1434-4de5-a1c4-619470f3d867" x="0" y="80" width="347" height="66" fontName="Times New Roman" fontSize="12.0"> - <expression><![CDATA[$P{checkupSuggestion}]]></expression> - </element> - <element kind="textField" uuid="4d8aeb33-ab41-4a5b-a5d1-52bab4043246" x="48" y="155" width="150" height="15" fontName="Times New Roman" fontSize="12.0"> - <expression><![CDATA[$P{reCheckupDate}]]></expression> - </element> - </summary> -</jasperReport>