diff --git a/.gitignore b/.gitignore index 340c491..6b0636e 100644 --- a/.gitignore +++ b/.gitignore @@ -128,6 +128,10 @@ buildNumber.properties # https://github.com/takari/maven-wrapper#usage-without-binary-jar .mvn/wrapper/maven-wrapper.jar +# User-generated content +img_db/ +src/main/resources/image/checkup_media/ + # Eclipse m2e generated files # Eclipse Core .project diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java b/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java index 2e7f09e..6cb0169 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java @@ -4,6 +4,7 @@ import BsK.client.LocalStorage; import BsK.client.network.handler.ClientHandler; import BsK.client.network.handler.ResponseListener; import BsK.client.ui.component.CheckUpPage.AddDialog.AddDialog; +import BsK.client.ui.component.CheckUpPage.HistoryViewDialog.HistoryViewDialog; import BsK.client.ui.component.CheckUpPage.MedicineDialog.MedicineDialog; import BsK.client.ui.component.CheckUpPage.PrintDialog.MedicineInvoice; import BsK.client.ui.component.CheckUpPage.ServiceDialog.ServiceDialog; @@ -15,6 +16,7 @@ import BsK.client.ui.component.common.RoundedPanel; import BsK.client.ui.component.QueueViewPage.QueueViewPage; import BsK.common.entity.Patient; import BsK.common.entity.Status; +import BsK.common.entity.Template; import BsK.common.packet.req.*; import BsK.common.packet.res.*; import BsK.common.util.network.NetworkUtil; @@ -81,7 +83,10 @@ import static org.bytedeco.opencv.global.opencv_core.cvFlip; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import javax.swing.JFrame; import javax.swing.JTextPane; import javax.swing.JToolBar; @@ -101,6 +106,15 @@ import java.io.InputStream; import BsK.common.entity.PatientHistory; import BsK.common.packet.req.GetPatientHistoryRequest; import BsK.common.packet.res.GetPatientHistoryResponse; +import BsK.common.packet.req.SaveCheckupRequest; +import BsK.common.packet.req.SearchAllRole; +import BsK.common.packet.req.SearchAllUser; +import BsK.common.packet.req.UploadCheckupImageRequest; +import BsK.common.packet.res.AddCheckupResponse; +import BsK.common.packet.res.AddPatientResponse; +import BsK.common.packet.res.RegisterSuccessResponse; +import BsK.common.packet.res.SaveCheckupRes; +import BsK.common.packet.res.UploadCheckupImageResponse; @Slf4j public class CheckUpPage extends JPanel { @@ -117,10 +131,12 @@ public class CheckUpPage extends JPanel { private final ResponseListener wardResponseListener = this::handleGetWardResponse; private final ResponseListener callPatientResponseListener = this::handleCallPatientResponse; private final ResponseListener orderInfoByCheckupListener = this::handleGetOrderInfoByCheckupResponse; + private final ResponseListener getAllTemplatesListener = this::handleGetAllTemplatesResponse; + private final ResponseListener uploadImageResponseListener = this::handleUploadImageResponse; private JTextField checkupIdField, customerLastNameField, customerFirstNameField,customerAddressField, customerPhoneField, customerIdField; private JTextArea suggestionField, diagnosisField, conclusionField; // Changed symptomsField to suggestionField private JTextPane notesField; - private JComboBox doctorComboBox, statusComboBox, genderComboBox, provinceComboBox, districtComboBox, wardComboBox, checkupTypeComboBox; + private JComboBox doctorComboBox, statusComboBox, genderComboBox, provinceComboBox, districtComboBox, wardComboBox, checkupTypeComboBox, templateComboBox; private JSpinner customerWeightSpinner, customerHeightSpinner; private JDatePickerImpl datePicker, dobPicker; private String[][] medicinePrescription = new String[0][0]; // Initialize to empty @@ -136,6 +152,7 @@ public class CheckUpPage extends JPanel { private JButton callPatientButton; private JLabel callingStatusLabel; private JPanel rightContainer; // Add this field + private List