UserInterface.ControlManagerRole.ControlManagerWorkAreaJPanel.java Source code

Java tutorial

Introduction

Here is the source code for UserInterface.ControlManagerRole.ControlManagerWorkAreaJPanel.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.ControlManagerRole;

import business.EcoSystem;
import business.consumer.Customer;
import business.consumer.Sensor;

import business.enterprise.Enterprise;
import business.network.Network;
import business.organization.ControlManagerOrganization;
import business.organization.Organization;
import business.useraccount.UserAccount;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.joda.time.DateTime;

/**
 *
 * @author Siddhant
 */
public class ControlManagerWorkAreaJPanel extends javax.swing.JPanel {

    JPanel userProcessContainer;
    UserAccount account;
    Organization organization;
    Enterprise enterprise;
    EcoSystem system;

    /**
     * Creates new form ControlManagerWorkAreaJPanel
     */
    public ControlManagerWorkAreaJPanel(JPanel userProcessContainer, UserAccount account,
            ControlManagerOrganization controlManagerOrganization, Enterprise enterprise, EcoSystem business) {
        initComponents();
        this.userProcessContainer = userProcessContainer;
        this.account = account;
        this.organization = (ControlManagerOrganization) controlManagerOrganization;
        this.enterprise = enterprise;
        this.system = business;

        if (account.getEmployee().getFirstName().equalsIgnoreCase("bcm")) {
            areaNameLbl.setText("Boston");
        }
        if (account.getEmployee().getFirstName().equalsIgnoreCase("ncm")) {
            areaNameLbl.setText("New York");
        }
    }

    /**
     * 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() {

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

        setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        taxButton.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N
        taxButton.setText("TAX INCUR TO CUSTOMERS");
        taxButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                taxButtonActionPerformed(evt);
            }
        });
        add(taxButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(177, 75, -1, -1));

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N
        jLabel1.setText("Check customer data");
        add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(39, 75, -1, 25));

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
        jLabel2.setText("My Work Area - Customer Manager");
        add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 40, -1, -1));

        areaNameLbl.setText("jLabel3");
        add(areaNameLbl, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 120, -1, -1));

        jButton1.setText("COMPARISON OF EMISSION BETWEEN NETWORKS");
        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(40, 160, -1, -1));
    }// </editor-fold>//GEN-END:initComponents

    private void taxButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_taxButtonActionPerformed
        // TODO add your handling code here:
        int averageNumber = 0;
        double emissionAverageCO2 = 0;
        double normalCO2 = 0;
        double emissionAverageNOx = 0;
        double normalNOx = 0;

        for (Network network : system.getNetworkList()) {
            if (network.getName().equalsIgnoreCase(areaNameLbl.getText())) {
                for (Customer customer : network.getCustomerDirectory().getCustomerDirectory()) {
                    //do for all customers
                    averageNumber = 0;
                    //  if (customer.getFirstName().equalsIgnoreCase("Payal")) {
                    if (customer.getPrevDateCount() < customer.getRecentCount()) {
                        //   averageNumber = 0;
                        for (Sensor sensor : customer.getSensorDirectory().getSensorDirectory()) {
                            Date date = new Date();
                            averageNumber++;
                            if (sensor.getDate().getDate() == date.getDate()) {
                                emissionAverageCO2 = emissionAverageCO2 + sensor.getCurrentEmissionCO2();
                                normalCO2 = normalCO2 + sensor.getNormalCO2();

                                emissionAverageNOx = emissionAverageNOx + sensor.getCurrentEmissionNOx();
                                normalNOx = normalNOx + sensor.getNormalNOx();
                            }
                        }
                        emissionAverageCO2 = emissionAverageCO2 / averageNumber;
                        normalCO2 = normalCO2 / averageNumber;

                        emissionAverageNOx = emissionAverageNOx / averageNumber;
                        normalNOx = normalNOx / averageNumber;
                        if (emissionAverageCO2 > normalCO2 || emissionAverageNOx > normalNOx) {
                            int Tax = 0;
                            Tax = customer.getTax();
                            Tax = Tax + 100;
                            customer.setTax(Tax);
                            DateTime dtOrg = new DateTime();
                            System.out.println(dtOrg);
                            dtOrg = dtOrg.plusDays(1);
                            customer.setDueDate(dtOrg.toDate());
                        } else {
                            int Tax = 0;
                            Tax = customer.getTax();
                            Tax = Tax + 10;
                            customer.setTax(Tax);
                            DateTime dtOrg = new DateTime();
                            System.out.println(dtOrg);
                            dtOrg = dtOrg.plusDays(1);
                            customer.setDueDate(dtOrg.toDate());
                        }
                    }
                }
            }
            JOptionPane.showMessageDialog(this, "Tax Incurred to Customer!!!");
        }
    }//GEN-LAST:event_taxButtonActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
        int co2Level = 0;
        int noxLevel = 0;
        int comboBoston = 0;

        int co2Level1 = 0;
        int noxLevel1 = 0;
        int comboNewYork = 0;

        for (Network network : system.getNetworkList()) {
            if (network.getName().equalsIgnoreCase("boston")) {

                for (Customer customer : network.getCustomerDirectory().getCustomerDirectory()) {
                    for (Sensor sensor : customer.getSensorDirectory().getSensorDirectory()) {
                        co2Level += sensor.getCurrentEmissionCO2();
                        noxLevel += sensor.getCurrentEmissionNOx();
                    }
                }

            }

        }
        comboBoston = co2Level + noxLevel;

        for (Network network : system.getNetworkList()) {
            if (network.getName().equalsIgnoreCase("New York")) {

                for (Customer customer : network.getCustomerDirectory().getCustomerDirectory()) {
                    for (Sensor sensor : customer.getSensorDirectory().getSensorDirectory()) {
                        co2Level1 += sensor.getCurrentEmissionCO2();
                        noxLevel1 += sensor.getCurrentEmissionNOx();
                    }

                }

            }
        }
        comboNewYork = co2Level1 + noxLevel1;

        DefaultPieDataset dataset22 = new DefaultPieDataset();
        dataset22.setValue("Fuel Emission by Boston", new Integer(comboBoston));
        dataset22.setValue("Fuel Emission by New York ", new Integer(comboNewYork));

        JFreeChart chart22 = ChartFactory.createPieChart3D("Comparison Chart ", // chart title                   
                dataset22, // data 
                true, // include legend                   
                true, false);

        final PiePlot3D plot = (PiePlot3D) chart22.getPlot();
        plot.setStartAngle(270);
        plot.setForegroundAlpha(0.60f);
        plot.setInteriorGap(0.02);

        ChartFrame frame33 = new ChartFrame("3D Pie Chart for EMission Comparisonbetween two networks", chart22);
        frame33.setVisible(true);
        frame33.setSize(500, 400);

    }//GEN-LAST:event_jButton1ActionPerformed

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