mirror of
https://github.com/tiennm99/BSK-All-in-One-Clinic-Management-System.git
synced 2026-10-20 00:14:46 +00:00
Update .gitignore to exclude image and temporary files. Enhance CheckUpPage and UltrasoundResult classes by adding patient ID handling and updating report parameters. Revise log4j2 configuration for improved logging management and retention policies. Adjust ultrasound result print forms for better layout and include patient ID. Update binary barcode and QR code images.
This commit is contained in:
1 parent
30fde158dc
commit
98ba21a061
8 files changed
+146
-52
No files matched your search
+7
-1
@@ -264,6 +264,12 @@ database/*.db
|
||||
*.db
|
||||
*.db-shm
|
||||
*.db-wal
|
||||
*.png
|
||||
*.jpg
|
||||
*.gz
|
||||
database/*.db
|
||||
database/*.db-shm
|
||||
database/*.db-wal
|
||||
database/*.db-wal
|
||||
image/checkup_media/2202/IMG_2202_20260706_121924_684.jpg
|
||||
temp/barcodes/invoice_barcode.png
|
||||
temp/qrcodes/invoice_qrcode.png
|
||||
@@ -1996,7 +1996,8 @@ public class CheckUpPage extends JPanel {
|
||||
customerWeightSpinner.getValue().toString(),
|
||||
patientHeartRateSpinner.getValue().toString(),
|
||||
bloodPressureSystolicSpinner.getValue() + "/" + bloodPressureDiastolicSpinner.getValue(),
|
||||
currentPatientDriveUrl // Google Drive URL for QR code
|
||||
currentPatientDriveUrl, // Google Drive URL for QR code
|
||||
customerIdField.getText() // Patient ID
|
||||
);
|
||||
|
||||
JasperPrint jasperPrintToPrint;
|
||||
@@ -2071,7 +2072,8 @@ public class CheckUpPage extends JPanel {
|
||||
customerWeightSpinner.getValue().toString(),
|
||||
patientHeartRateSpinner.getValue().toString(),
|
||||
bloodPressureSystolicSpinner.getValue() + "/" + bloodPressureDiastolicSpinner.getValue(),
|
||||
viewPatientDriveUrl // Google Drive URL for QR code
|
||||
viewPatientDriveUrl, // Google Drive URL for QR code
|
||||
customerIdField.getText() // Patient ID
|
||||
);
|
||||
|
||||
JasperPrint jasperPrintToView;
|
||||
|
||||
@@ -156,6 +156,7 @@ public class UltrasoundResult {
|
||||
|
||||
private JDialog dialog;
|
||||
private final String checkupId;
|
||||
private final String patientId;
|
||||
private final String patientName;
|
||||
private final String patientDOB;
|
||||
private final String patientGender;
|
||||
@@ -186,11 +187,13 @@ public class UltrasoundResult {
|
||||
String rtfContent, String conclusion, String suggestion, String diagnosis,
|
||||
String recheckupDate, List<File> selectedImages,
|
||||
String printType, String templateTitle, String customerHeight,
|
||||
String customerWeight, String heartRate, String bloodPressure, String driveUrl) {
|
||||
String customerWeight, String heartRate, String bloodPressure, String driveUrl,
|
||||
String patientId) {
|
||||
|
||||
// Defensive null checks to prevent JasperReports from crashing on null parameters
|
||||
// Also handle "null" string values by converting them to empty strings
|
||||
this.checkupId = convertNullToEmpty(checkupId);
|
||||
this.patientId = convertNullToEmpty(patientId);
|
||||
this.patientName = convertNullToEmpty(patientName);
|
||||
this.patientDOB = convertNullToEmpty(patientDOB);
|
||||
this.patientGender = convertNullToEmpty(patientGender);
|
||||
@@ -292,6 +295,7 @@ public class UltrasoundResult {
|
||||
parameters.put("ultrasoundDoctorName", this.ultrasoundDoctorName);
|
||||
parameters.put("checkupDate", this.checkupDate);
|
||||
parameters.put("id", this.checkupId);
|
||||
parameters.put("patientId", this.patientId);
|
||||
|
||||
// RTF and plain text content
|
||||
parameters.put("checkupNote", this.rtfContent != null ? this.rtfContent : "");
|
||||
|
||||
@@ -1,50 +1,115 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration status="WARN">
|
||||
<Properties>
|
||||
<!-- Shared settings - change these in one place -->
|
||||
<Property name="pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} %5p - %-40.40c{1.}:%L : %m%n</Property>
|
||||
<Property name="logDir">logs</Property>
|
||||
<Property name="maxFileSize">50 MB</Property>
|
||||
<Property name="retentionDays">30</Property>
|
||||
</Properties>
|
||||
|
||||
<Appenders>
|
||||
<Console name="ConsoleAppender" target="SYSTEM_OUT">
|
||||
<PatternLayout
|
||||
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p - %-40.40c{1.}:%L : %m%n"/>
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="${pattern}"/>
|
||||
</Console>
|
||||
|
||||
<RollingFile name="ServerFileAppender" fileName="logs/bsk_server.log"
|
||||
filePattern="logs/bsk_server-%i.log.gz">
|
||||
<PatternLayout>
|
||||
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5p - %-40.40c{1.}:%L : %m%n</Pattern>
|
||||
</PatternLayout>
|
||||
<!-- ===== SERVER ===== -->
|
||||
<!-- Full log: everything INFO and above -->
|
||||
<RollingFile name="ServerFile" fileName="${logDir}/bsk_server.log"
|
||||
filePattern="${logDir}/bsk_server-%d{yyyy-MM-dd}-%i.log.gz">
|
||||
<PatternLayout pattern="${pattern}"/>
|
||||
<Policies>
|
||||
<SizeBasedTriggeringPolicy size="50 MB" />
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="${maxFileSize}"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="5"/>
|
||||
<DefaultRolloverStrategy>
|
||||
<Delete basePath="${logDir}" maxDepth="1">
|
||||
<IfFileName glob="bsk_server-*.log.gz"/>
|
||||
<IfLastModified age="${retentionDays}d"/>
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingFile>
|
||||
|
||||
<RollingFile name="ClientFileAppender" fileName="logs/bsk_client.log"
|
||||
filePattern="logs/bsk_client-%i.log.gz">
|
||||
<PatternLayout>
|
||||
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5p - %-40.40c{1.}:%L : %m%n</Pattern>
|
||||
</PatternLayout>
|
||||
<!-- Errors only: WARN and above (easy to scan when something breaks) -->
|
||||
<RollingFile name="ServerErrorFile" fileName="${logDir}/bsk_server_error.log"
|
||||
filePattern="${logDir}/bsk_server_error-%d{yyyy-MM-dd}-%i.log.gz">
|
||||
<PatternLayout pattern="${pattern}"/>
|
||||
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<Policies>
|
||||
<SizeBasedTriggeringPolicy size="50 MB" />
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="${maxFileSize}"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="5"/>
|
||||
<DefaultRolloverStrategy>
|
||||
<Delete basePath="${logDir}" maxDepth="1">
|
||||
<IfFileName glob="bsk_server_error-*.log.gz"/>
|
||||
<IfLastModified age="${retentionDays}d"/>
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingFile>
|
||||
|
||||
<!-- ===== CLIENT ===== -->
|
||||
<!-- Full log: everything INFO and above -->
|
||||
<RollingFile name="ClientFile" fileName="${logDir}/bsk_client.log"
|
||||
filePattern="${logDir}/bsk_client-%d{yyyy-MM-dd}-%i.log.gz">
|
||||
<PatternLayout pattern="${pattern}"/>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="${maxFileSize}"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy>
|
||||
<Delete basePath="${logDir}" maxDepth="1">
|
||||
<IfFileName glob="bsk_client-*.log.gz"/>
|
||||
<IfLastModified age="${retentionDays}d"/>
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingFile>
|
||||
|
||||
<!-- Errors only: WARN and above -->
|
||||
<RollingFile name="ClientErrorFile" fileName="${logDir}/bsk_client_error.log"
|
||||
filePattern="${logDir}/bsk_client_error-%d{yyyy-MM-dd}-%i.log.gz">
|
||||
<PatternLayout pattern="${pattern}"/>
|
||||
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="${maxFileSize}"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy>
|
||||
<Delete basePath="${logDir}" maxDepth="1">
|
||||
<IfFileName glob="bsk_client_error-*.log.gz"/>
|
||||
<IfLastModified age="${retentionDays}d"/>
|
||||
</Delete>
|
||||
</DefaultRolloverStrategy>
|
||||
</RollingFile>
|
||||
|
||||
<!-- Async wrappers for the high-volume full logs (better performance).
|
||||
The error files stay synchronous so crash/disconnect errors are
|
||||
always flushed to disk even if the app exits abruptly. -->
|
||||
<Async name="ServerFileAsync">
|
||||
<AppenderRef ref="ServerFile"/>
|
||||
</Async>
|
||||
<Async name="ClientFileAsync">
|
||||
<AppenderRef ref="ClientFile"/>
|
||||
</Async>
|
||||
</Appenders>
|
||||
|
||||
<Loggers>
|
||||
<!-- Logger for server-side classes -->
|
||||
<Logger name="BsK.server" level="DEBUG" additivity="false">
|
||||
<AppenderRef ref="ConsoleAppender"/>
|
||||
<AppenderRef ref="ServerFileAppender"/>
|
||||
<!-- Server-side classes -->
|
||||
<Logger name="BsK.server" level="INFO" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="ServerFileAsync"/>
|
||||
<AppenderRef ref="ServerErrorFile"/>
|
||||
</Logger>
|
||||
|
||||
<!-- Logger for client-side classes -->
|
||||
<Logger name="BsK.client" level="DEBUG" additivity="false">
|
||||
<AppenderRef ref="ConsoleAppender"/>
|
||||
<AppenderRef ref="ClientFileAppender"/>
|
||||
<!-- Client-side classes -->
|
||||
<Logger name="BsK.client" level="INFO" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="ClientFileAsync"/>
|
||||
<AppenderRef ref="ClientErrorFile"/>
|
||||
</Logger>
|
||||
|
||||
<!-- Root logger: catches all other logs -->
|
||||
<Root level="DEBUG">
|
||||
<AppenderRef ref="ConsoleAppender"/>
|
||||
<!-- Optionally, add a default file appender for root logs if desired, e.g., logs/application.log -->
|
||||
<!-- Everything else (third-party libraries): warnings and errors only -->
|
||||
<Root level="WARN">
|
||||
<AppenderRef ref="Console"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
||||
@@ -40,6 +40,7 @@
|
||||
<parameter name="ultrasoundDoctorName" class="java.lang.String"/>
|
||||
<parameter name="clinicPrefix" class="java.lang.String"/>
|
||||
<parameter name="id" class="java.lang.String"/>
|
||||
<parameter name="patientId" class="java.lang.String"/>
|
||||
<query language="sql"><![CDATA[]]></query>
|
||||
<background splitType="Stretch"/>
|
||||
<title splitType="Stretch"/>
|
||||
@@ -60,7 +61,7 @@
|
||||
<element kind="staticText" uuid="0a9ca0c8-f2bd-4ade-a025-a6d79c13613f" x="1" y="84" 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="309" y="69" width="80" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="21917ab8-ae07-44c8-ba4e-bc6c4c54b440" x="1" y="145" width="80" height="16" 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="100" width="49" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
@@ -69,13 +70,13 @@
|
||||
<element kind="staticText" uuid="45fe4be1-9e21-459b-aeee-2efc8354f372" x="131" y="83" width="80" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<text><![CDATA[BS chỉ định:]]></text>
|
||||
</element>
|
||||
<element kind="textField" uuid="1511f53a-b282-41b1-b233-612b6106c07a" x="57" y="69" width="252" height="15" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="1511f53a-b282-41b1-b233-612b6106c07a" x="57" y="69" width="226" 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="57" y="84" width="74" 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="360" y="69" width="36" height="15" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="f4df20b4-920c-491e-882b-6e0733cb4866" x="52" y="145" width="36" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<expression><![CDATA[$P{patientGender}]]></expression>
|
||||
</element>
|
||||
<element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="57" y="100" width="341" height="15" fontName="Times New Roman" fontSize="12.0">
|
||||
@@ -96,22 +97,22 @@
|
||||
<element kind="textField" uuid="6d652a25-b701-45bd-91ba-750842650004" x="0" y="177" width="398" height="376" markup="rtf" fontName="Times New Roman" fontSize="16.0">
|
||||
<expression><![CDATA[$P{checkupNote}]]></expression>
|
||||
</element>
|
||||
<element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="124" y="145" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="207" y="145" 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="217" y="145" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="2b9cfd9d-ec8f-4036-9c96-039fd7855e24" x="300" y="145" 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="0" y="145" width="51" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="83" y="145" width="51" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<text><![CDATA[Huyết áp:]]></text>
|
||||
</element>
|
||||
<element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="178" y="145" width="43" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="261" y="145" width="43" 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="267" y="145" width="47" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="e4185ffe-8712-41e3-a9ff-2be6569dff15" x="350" y="145" width="47" 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="51" y="145" width="89" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="134" y="145" width="89" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<expression><![CDATA[$P{checkupBloodPressure} +" mmHg"]]></expression>
|
||||
</element>
|
||||
<element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="3" y="30" width="340" height="22" forecolor="#FF0905" fontName="Times New Roman" fontSize="16.0" bold="true" hTextAlign="Center">
|
||||
@@ -121,6 +122,12 @@
|
||||
<element kind="textField" uuid="40902efd-728a-46df-8432-f4a5798a4ee3" x="2" y="13" width="287" height="20" forecolor="#FF0905" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center">
|
||||
<expression><![CDATA[$P{clinicName}]]></expression>
|
||||
</element>
|
||||
<element kind="staticText" uuid="e10c2027-47c3-414a-8253-3c32a029cc47" x="283" y="69" width="59" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<text><![CDATA[Mã BN:]]></text>
|
||||
</element>
|
||||
<element kind="textField" uuid="8f1f23bb-c9bf-4291-b941-d0144e285a33" x="324" y="69" width="74" height="15" fontName="Times New Roman" fontSize="12.0">
|
||||
<expression><![CDATA[$P{patientId}]]></expression>
|
||||
</element>
|
||||
</element>
|
||||
<element kind="frame" uuid="a72ffc70-007e-43af-a566-b34e6e07b312" x="400" y="0" width="400" height="554">
|
||||
<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">
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
<parameter name="ultrasoundDoctorName" class="java.lang.String"/>
|
||||
<parameter name="clinicPrefix" class="java.lang.String"/>
|
||||
<parameter name="id" class="java.lang.String"/>
|
||||
<parameter name="patientId" class="java.lang.String"/>
|
||||
<query language="sql"><![CDATA[]]></query>
|
||||
<background splitType="Stretch"/>
|
||||
<title splitType="Stretch"/>
|
||||
@@ -65,7 +66,7 @@
|
||||
<element kind="staticText" uuid="0a9ca0c8-f2bd-4ade-a025-a6d79c13613f" x="1" y="83" 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="338" y="67" width="80" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="21917ab8-ae07-44c8-ba4e-bc6c4c54b440" x="2" y="150" width="80" height="16" 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="101" width="49" height="15" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
@@ -80,7 +81,7 @@
|
||||
<element kind="textField" uuid="5bdac267-523d-4931-926b-76233ce9b84d" x="60" y="83" 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="393" y="67" width="36" height="15" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="f4df20b4-920c-491e-882b-6e0733cb4866" x="57" y="150" width="36" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<expression><![CDATA[$P{patientGender}]]></expression>
|
||||
</element>
|
||||
<element kind="textField" uuid="3b8ac40e-85aa-4ab8-8445-64bcddb8b267" x="50" y="101" width="350" height="15" fontName="Times New Roman" fontSize="12.0">
|
||||
@@ -101,22 +102,22 @@
|
||||
<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="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="123" y="150" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="a57e7a9d-4ac7-4219-b268-cd08ce943327" x="216" 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="215" y="150" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="2b9cfd9d-ec8f-4036-9c96-039fd7855e24" x="308" 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="0" y="150" width="59" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<element kind="staticText" uuid="c1356370-11ce-4b68-97d6-ce6e18e306c5" x="93" 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="fb080012-3196-4535-bcd2-e87274c66fa5" x="178" y="150" width="45" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="fb080012-3196-4535-bcd2-e87274c66fa5" x="271" 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="266" y="150" width="39" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="e4185ffe-8712-41e3-a9ff-2be6569dff15" x="359" 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="52" y="150" width="78" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<element kind="textField" uuid="6b0b21be-2ca3-4594-bbe9-34868e13eb1e" x="145" y="150" width="78" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<expression><![CDATA[$P{checkupBloodPressure} +" mmHg"]]></expression>
|
||||
</element>
|
||||
<element kind="textField" uuid="9763a634-05c2-4f64-a903-c914455b7ee6" x="1" y="32" width="398" height="26" forecolor="#FF0905" fontName="Times New Roman" fontSize="16.0" bold="true" hTextAlign="Center">
|
||||
@@ -144,10 +145,16 @@
|
||||
<element kind="textField" uuid="989a8031-ea1b-406a-98a4-e797b98c0ccd" x="405" y="34" width="80" height="15" fontName="Times New Roman" fontSize="10.0" hTextAlign="Center">
|
||||
<expression><![CDATA[$P{id}]]></expression>
|
||||
</element>
|
||||
<element kind="textField" uuid="51735377-49e4-4e4e-9bf4-0cebbf7fc1d0" x="379" y="66" width="106" height="16" fontName="Times New Roman" fontSize="12.0">
|
||||
<expression><![CDATA[$P{patientId}]]></expression>
|
||||
</element>
|
||||
<element kind="staticText" uuid="330c02ac-16c1-49f6-b024-033b3547c914" x="337" y="66" width="80" height="16" fontName="Times New Roman" fontSize="12.0" bold="true" hTextAlign="Left">
|
||||
<text><![CDATA[Mã BN:]]></text>
|
||||
</element>
|
||||
</element>
|
||||
</band>
|
||||
</detail>
|
||||
<summary height="187">
|
||||
<summary height="191">
|
||||
<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>
|
||||
@@ -157,7 +164,7 @@
|
||||
<element kind="staticText" uuid="d1d33b8f-b79a-45a1-b33b-1eecb656f49a" x="400" y="87" 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="165" width="200" height="21" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center">
|
||||
<element kind="textField" uuid="de0d077c-f1d6-4d0c-8bbd-fb08c19b07c6" x="347" y="168" width="200" height="21" fontName="Times New Roman" fontSize="14.0" bold="true" hTextAlign="Center">
|
||||
<expression><![CDATA[$P{ultrasoundDoctorName}]]></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">
|
||||
@@ -175,5 +182,8 @@
|
||||
<element kind="staticText" uuid="f1223127-533c-4ecf-a950-7324b8aae0fa" x="0" y="170" width="196" height="15" fontName="Times New Roman" fontSize="12.0" italic="true" bold="true" hTextAlign="Left">
|
||||
<text><![CDATA[Lưu ý: Mang phiếu khi tái khám]]></text>
|
||||
</element>
|
||||
<element kind="textField" uuid="93adbf9b-46a3-4bbb-af54-7306fadc0f2b" x="347" y="152" width="200" height="21" fontName="Times New Roman" fontSize="10.0" bold="false" hTextAlign="Center" vTextAlign="Middle">
|
||||
<expression><![CDATA[$P{checkupDate}]]></expression>
|
||||
</element>
|
||||
</summary>
|
||||
</jasperReport>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 98 B After Width: | Height: | Size: 97 B |
Binary file not shown.
|
Before Width: | Height: | Size: 510 B After Width: | Height: | Size: 526 B |
Reference in new issue
Block a user