home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / SalesChart.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  8.4 KB  |  278 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Container;
  4. import java.awt.Event;
  5. import java.awt.Panel;
  6. import java.util.Date;
  7. import java.util.StringTokenizer;
  8. import java.util.Vector;
  9.  
  10. public class SalesChart extends JDPClassLayout {
  11.    JDPUser user;
  12.    JDPJagg jaggSQL;
  13.    JDPPopupMessage popuppanel;
  14.    JDPMaskEdit JDPMaskEditMain;
  15.    String moduleParameter;
  16.    Panel Main;
  17.    JDPChart ChartLayout1;
  18.    JDPSearchResults ResultList1;
  19.  
  20.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  21.       this.user = var1;
  22.       this.moduleParameter = var3;
  23.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  24.       ((Container)this).setLayout(new BorderLayout());
  25.       this.popuppanel = new JDPPopupMessage(var1, this);
  26.       ((Container)this).add(this.popuppanel);
  27.       this.JDPMaskEditMain = new JDPMaskEdit();
  28.       this.Main = new Panel();
  29.       this.ChartLayout1Main();
  30.       this.ResultList1Main();
  31.       this.Main.setLayout(new BorderLayout());
  32.       ((Container)this).add("Center", this.Main);
  33.       this.Main.add("Center", this.ChartLayout1);
  34.       this.Main.add("West", this.ResultList1);
  35.       this.InitComponents();
  36.       var1.gParm.addElement(this);
  37.    }
  38.  
  39.    public boolean handleEvent(Event var1) {
  40.       switch (var1.id) {
  41.          case 503:
  42.          case 504:
  43.          case 505:
  44.             this.popuppanel.postEvent(var1);
  45.             return false;
  46.          case 1001:
  47.             if (var1.target.equals(this.ResultList1)) {
  48.                this.ChartLayout1LoadData(this.ResultList1.getSelectedKey());
  49.                return true;
  50.             }
  51.  
  52.             return false;
  53.          default:
  54.             return false;
  55.       }
  56.    }
  57.  
  58.    public void InitComponents() {
  59.    }
  60.  
  61.    public void ChartLayout1Main() {
  62.       this.ChartLayout1SetChartParms();
  63.       this.ChartLayout1LoadData((String[])null);
  64.    }
  65.  
  66.    public void ChartLayout1SetChartParms() {
  67.       JDPChartParms var1;
  68.       if (this.ChartLayout1 == null) {
  69.          var1 = new JDPChartParms();
  70.          this.ChartLayout1 = new JDPChart(this.user, var1);
  71.       } else {
  72.          var1 = this.ChartLayout1.p;
  73.       }
  74.  
  75.       var1.chartType = 5;
  76.       var1.autoscale = true;
  77.       var1.autozoom = true;
  78.       var1.chartTitle = "Sales by Store";
  79.       var1.chartTitleFont = this.user.boldFont.getName();
  80.       var1.chartTitleColor = this.user.u._cvtcolor("Black");
  81.       var1.xaxisTitle = "";
  82.       var1.xaxisTitleFont = this.user.boldFont.getName();
  83.       var1.xaxisTitleColor = this.user.u._cvtcolor("Black");
  84.       var1.yaxisLabel = new String[10];
  85.       var1.elementLegendFont = this.user.boldFont.getName();
  86.       var1.xaxisLabelColor = this.user.u._cvtcolor("Black");
  87.       var1.yaxisLabelColor = this.user.u._cvtcolor("Black");
  88.       var1.chartFrameColor = this.user.u._cvtcolor("Black");
  89.       var1.elementLegend = new String[1];
  90.       var1.elementColor = new Color[1];
  91.       var1.elementBorderColor = new Color[1];
  92.       var1.elementLegend[0] = "Qty";
  93.       var1.elementColor[0] = this.user.u._cvtcolor("Magenta");
  94.       var1.elementBorderColor[0] = this.user.u._cvtcolor("Black");
  95.       var1.gridLineSetting = JDPChart.HORIZONTAL + JDPChart.VERTICAL + JDPChart.FOREGROUND + JDPChart.BACKGROUND;
  96.       var1.gridColor = this.user.u._cvtcolor("Gray");
  97.       var1.maxPlotValue = 100.0F;
  98.       var1.minPlotValue = 0.0F;
  99.       if (var1.chartType == JDPChart.COLUMN || var1.chartType == JDPChart.BAR || var1.chartType == JDPChart.AREA) {
  100.          var1.autozoom = false;
  101.       }
  102.  
  103.       var1.pieLabel = var1.elementLegend;
  104.       var1.pieLabelColor = var1.xaxisTitleColor;
  105.    }
  106.  
  107.    public void ChartLayout1LoadData(String[] var1) {
  108.       this.ChartLayout1LoadDataMain(var1, (String)null);
  109.    }
  110.  
  111.    public void ChartLayout1LoadDataFromWhereClause(String var1) {
  112.       int var2 = var1.indexOf("WHERE ");
  113.       var1 = " AND" + var1.substring(var2 + 5);
  114.       String[] var3 = new String[0];
  115.       this.ChartLayout1LoadDataMain(var3, var1);
  116.    }
  117.  
  118.    void ChartLayout1LoadDataMain(String[] var1, String var2) {
  119.       JDPChartParms var3 = this.ChartLayout1.p;
  120.       int var5 = 0;
  121.       Vector var6 = new Vector();
  122.       String var7 = this.jaggSQL.getSEP();
  123.       int var8 = 0;
  124.       String var10 = "(1=1)";
  125.       byte var11 = 1;
  126.       byte var12 = 0;
  127.       if (var1 != null && var1.length > 0 && var1[0] != null) {
  128.          var10 = var10 + " AND stor_id='" + var1[0] + "'";
  129.       }
  130.  
  131.       if (var2 != null) {
  132.          var10 = var10 + var10;
  133.       }
  134.  
  135.       String var13 = "SELECT LEFT(format(ord_date, 'yy/mm/dd'),5),SUM(qty) FROM dbo_sales  WHERE " + var10 + " GROUP BY LEFT(format(ord_date, 'yy/mm/dd'),5) ORDER BY SUM(qty) DESC";
  136.       this.user.mainmsg.setStatusMsg(JDPLang.get("Message0"), 0);
  137.       this.jaggSQL.setDSN("JDP Tutorial");
  138.       this.jaggSQL.setUID("");
  139.       this.jaggSQL.setPWD("");
  140.       this.jaggSQL.setMRW("1000");
  141.       this.jaggSQL.setTOUT("60");
  142.       var5 = this.jaggSQL.execSQL(var13, var6);
  143.       if (var5 == -1) {
  144.          this.user.u.setSqlMessage(this.jaggSQL, var13);
  145.       } else if (var5 == 0) {
  146.          this.user.mainmsg.setStatusMsg(JDPLang.get("Message10"), 10);
  147.          this.ChartLayout1.hide();
  148.       } else {
  149.          this.ChartLayout1.show();
  150.          int var14 = this.jaggSQL.getColumnCount();
  151.          var8 = this.jaggSQL.getRowCount();
  152.          if (var12 <= 0) {
  153.             var3.chartData = new float[var14 - var11][var8];
  154.             var3.xaxisLabel = new String[var8];
  155.             var3.piechartData = new float[var8];
  156.             var3.pieSplitSegment = new boolean[var8];
  157.             var3.pieLabel = new String[var8];
  158.             if (var3.chartType == JDPChart.PIE || var3.chartType == JDPChart.GANTT) {
  159.                var3.elementColor = new Color[var8];
  160.                var3.elementBorderColor = new Color[var8];
  161.                var3.elementLegend = new String[var8];
  162.             }
  163.  
  164.             for(int var15 = 0; var15 < var8; ++var15) {
  165.                String var9 = (String)var6.elementAt(var15);
  166.                StringTokenizer var4 = new StringTokenizer(var9, var7);
  167.                var3.xaxisLabel[var15] = "";
  168.                if (var11 > 0) {
  169.                   var3.xaxisLabel[var15] = var4.nextToken().trim();
  170.                }
  171.  
  172.                for(int var16 = 0; var16 < var14 - var11; ++var16) {
  173.                   if (var3.chartType == JDPChart.GANTT) {
  174.                      String var17 = var4.nextToken();
  175.                      Date var18 = new Date(Integer.parseInt(var17.substring(2, 4)), Integer.parseInt(var17.substring(5, 7)) - 1, Integer.parseInt(var17.substring(8, 10)));
  176.                      long var19 = var18.getTime() / 86400000L;
  177.                      var3.chartData[var16][var15] = (float)var19;
  178.                   } else {
  179.                      var3.chartData[var16][var15] = Float.valueOf(var4.nextToken().trim());
  180.                   }
  181.                }
  182.  
  183.                var3.pieLabel[var15] = var3.xaxisLabel[var15];
  184.                var3.piechartData[var15] = var3.chartData[0][var15];
  185.                if (var3.chartType == JDPChart.PIE || var3.chartType == JDPChart.GANTT) {
  186.                   var3.elementColor[var15] = JDPUtils.colorList[var15 % 12];
  187.                   var3.elementBorderColor[var15] = Color.black;
  188.                   var3.elementLegend[var15] = var3.pieLabel[var15];
  189.                }
  190.             }
  191.          } else {
  192.             float[][] var26 = new float[1000][var8];
  193.             var3.xaxisLabel = new String[var8];
  194.             Vector var27 = new Vector();
  195.             if (var11 == 0) {
  196.                var27.addElement("");
  197.             }
  198.  
  199.             Vector var28 = new Vector();
  200.  
  201.             for(int var29 = 0; var29 < var8; ++var29) {
  202.                String var25 = (String)var6.elementAt(var29);
  203.                StringTokenizer var22 = new StringTokenizer(var25, var7);
  204.                var3.xaxisLabel[var29] = "";
  205.                int var30 = 0;
  206.                if (var11 > 0) {
  207.                   String var20 = var22.nextToken().trim();
  208.                   var30 = var27.indexOf(var20);
  209.                   if (var30 < 0) {
  210.                      var27.addElement(var20);
  211.                      var30 = var27.indexOf(var20);
  212.                      var3.xaxisLabel[var30] = var20;
  213.                   }
  214.                }
  215.  
  216.                String var32 = var22.nextToken().trim();
  217.                int var21 = var28.indexOf(var32);
  218.                if (var21 < 0) {
  219.                   var28.addElement(var32);
  220.                   var21 = var28.indexOf(var32);
  221.                }
  222.  
  223.                var26[var21][var30] = Float.valueOf(var22.nextToken().trim());
  224.             }
  225.  
  226.             int var31 = var28.size();
  227.             var3.chartData = new float[var31][var27.size()];
  228.  
  229.             for(int var33 = 0; var33 < var31; ++var33) {
  230.                for(int var34 = 0; var34 < var27.size(); ++var34) {
  231.                   var3.chartData[var33][var34] = var26[var33][var34];
  232.                }
  233.             }
  234.  
  235.             var3.elementColor = new Color[var31];
  236.             var3.elementBorderColor = new Color[var31];
  237.             var3.elementLegend = new String[var31];
  238.  
  239.             for(int var35 = 0; var35 < var31; ++var35) {
  240.                var3.elementColor[var35] = JDPUtils.colorList[var35 % 12];
  241.                var3.elementBorderColor[var35] = Color.black;
  242.                var3.elementLegend[var35] = (String)var28.elementAt(var35);
  243.             }
  244.          }
  245.  
  246.          this.ChartLayout1.calculateScaling();
  247.          this.ChartLayout1.repaint();
  248.          this.user.mainmsg.clearStatusMsg();
  249.       }
  250.    }
  251.  
  252.    public void ResultList1Main() {
  253.       String var1 = "stor_id";
  254.       String[] var2 = new String[0];
  255.       String var3 = "(1=1)";
  256.       String[] var4 = new String[]{"Stor name"};
  257.       String[] var5 = new String[]{"stor_name"};
  258.       this.jaggSQL.setDSN("JDP Tutorial");
  259.       this.jaggSQL.setJdbcDriver("sun.jdbc.odbc.JdbcOdbcDriver");
  260.       this.jaggSQL.setJdbcPrefix("jdbc:odbc:");
  261.       this.jaggSQL.setJdbcSuffix("JDP Tutorial");
  262.       this.jaggSQL.setUID("");
  263.       this.jaggSQL.setPWD("");
  264.       this.jaggSQL.setCSTR(" ");
  265.       this.jaggSQL.setMRW("1000");
  266.       this.jaggSQL.setTOUT("60");
  267.       this.ResultList1 = new JDPSearchResults(this.user, super.targetPanel, true, this.jaggSQL, false, var1, var2, var3, var4, var5, var5, "", true, "Total Entries:");
  268.       int[] var6 = new int[8];
  269.       var6[0] = 3;
  270.       var6[1] = 5;
  271.       this.ResultList1.setMinWidth(130);
  272.       this.ResultList1.setIcons(var6);
  273.       this.ResultList1.setFromWhereClause(" FROM dbo_stores WHERE (1=1)");
  274.       this.ResultList1.clearList("");
  275.       this.ResultList1.loadList();
  276.    }
  277. }
  278.