userinterface.HospitalAdminRole.DataAnalysisHospitalJPanel.java Source code

Java tutorial

Introduction

Here is the source code for userinterface.HospitalAdminRole.DataAnalysisHospitalJPanel.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package userinterface.HospitalAdminRole;

import business.EcoSystem;
import business.Enterprise.Enterprise;
import business.Enterprise.HospitalEnterprise;
import business.Network.Network;
import business.Organization.Organization;
import business.WorkQueue.WorkRequest;
import java.awt.CardLayout;
import java.awt.Color;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

/**
 *
 * @author Kaustubh Chaudhari
 */
public class DataAnalysisHospitalJPanel extends javax.swing.JPanel {

    /**
     * Creates new form DataAnalysisHospitalJPanel
     */
    JPanel userProcessContainer;
    Enterprise enterprise;
    EcoSystem business;

    DataAnalysisHospitalJPanel(JPanel userProcessContainer, Enterprise enterprise, EcoSystem business) {
        initComponents();
        this.userProcessContainer = userProcessContainer;
        this.enterprise = enterprise;
        this.business = business;

    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        seeChartBtn = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();

        setBackground(new java.awt.Color(255, 255, 255));
        setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        seeChartBtn.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
        seeChartBtn.setText("See Chart");
        seeChartBtn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                seeChartBtnActionPerformed(evt);
            }
        });
        add(seeChartBtn, new org.netbeans.lib.awtextra.AbsoluteConstraints(360, 180, -1, -1));

        jLabel1.setFont(new java.awt.Font("Calibri", 1, 36)); // NOI18N
        jLabel1.setText("Data analysis for Hospitals ");
        add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(28, 16, 440, 77));

        jLabel2.setFont(new java.awt.Font("Calibri", 1, 24)); // NOI18N
        jLabel2.setText("Blood group demand");
        add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 180, 230, -1));

        jButton1.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
        jButton1.setText("<<BACK");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 410, -1, -1));
    }// </editor-fold>//GEN-END:initComponents

    private void seeChartBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_seeChartBtnActionPerformed
        // TODO add your handling code here:

        int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
        for (Network network : business.getNetworkList()) {

            for (Enterprise enterprise : network.getEnterpriseDirectory().getEnterpriseList()) {
                if (enterprise instanceof HospitalEnterprise) {
                    for (Organization org : enterprise.getOrganizationDirectory().getOrganizationList()) {
                        for (WorkRequest request : org.getWorkQueue().getWorkRequestList()) {
                            String bg = request.getBloodGroup();
                            if (bg.equalsIgnoreCase("a+")) {
                                a++;
                            }

                            if (bg.equalsIgnoreCase("a-")) {
                                b++;
                            }

                            if (bg.equalsIgnoreCase("b+")) {
                                c++;
                            }

                            if (bg.equalsIgnoreCase("b-")) {
                                d++;
                            }

                            if (bg.equalsIgnoreCase("ab+")) {
                                e++;
                            }

                            if (bg.equalsIgnoreCase("ab-")) {
                                f++;
                            }

                            if (bg.equalsIgnoreCase("o+")) {
                                g++;
                            }

                            if (bg.equalsIgnoreCase("o-")) {
                                h++;
                            }

                        }
                    }
                }
            }

            DefaultCategoryDataset dataset = new DefaultCategoryDataset();
            dataset.setValue(a, "Number", "A+");
            dataset.setValue(b, "Number", "A-");
            dataset.setValue(c, "Number", "B+");
            dataset.setValue(d, "Number", "B-");
            dataset.setValue(e, "Number", "AB+");
            dataset.setValue(f, "Number", "AB-");
            dataset.setValue(g, "Number", "O+");
            dataset.setValue(h, "Number", "O-");

            JFreeChart chart = ChartFactory.createBarChart("Hospital Demands", "Blood Types", "Number", dataset,
                    PlotOrientation.VERTICAL, false, true, false);
            CategoryPlot p = chart.getCategoryPlot();
            p.setRangeGridlinePaint(Color.black);

            ChartFrame frame = new ChartFrame("Hospital Demands", chart);

            frame.setVisible(true);
            frame.setSize(450, 500);
        }

    }//GEN-LAST:event_seeChartBtnActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
        userProcessContainer.remove(this);
        CardLayout layout = (CardLayout) userProcessContainer.getLayout();
        layout.previous(userProcessContainer);
    }//GEN-LAST:event_jButton1ActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JButton seeChartBtn;
    // End of variables declaration//GEN-END:variables
}