Java tutorial
/* * 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 }