home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / SalesSummaryReport.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  10.0 KB  |  385 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.Font;
  6. import java.awt.Panel;
  7. import java.util.StringTokenizer;
  8. import java.util.Vector;
  9.  
  10. public class SalesSummaryReport extends JDPClassLayout {
  11.    JDPUser user;
  12.    JDPJagg jaggSQL;
  13.    JDPPopupMessage popuppanel;
  14.    JDPMaskEdit JDPMaskEditMain;
  15.    String moduleParameter;
  16.    Panel Main;
  17.    JDPChiselFramePanel ChiselPanel1;
  18.    Panel Report1;
  19.    Panel Panel1;
  20.    JDPWhereClause Report1SP1;
  21.    JDPTextGrid Report1GL1;
  22.  
  23.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  24.       this.user = var1;
  25.       this.moduleParameter = var3;
  26.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  27.       ((Container)this).setLayout(new BorderLayout());
  28.       this.popuppanel = new JDPPopupMessage(var1, this);
  29.       ((Container)this).add(this.popuppanel);
  30.       this.JDPMaskEditMain = new JDPMaskEdit();
  31.       this.Main = new Panel();
  32.       this.ChiselPanel1 = new JDPChiselFramePanel(var1, "Sales Summary Report");
  33.       this.Report1 = new Panel();
  34.       this.Panel1 = new Panel();
  35.       this.Report1GL1 = new JDPTextGrid(var1);
  36.       this.Main.setLayout(new BorderLayout());
  37.       ((Container)this).add("Center", this.Main);
  38.       this.Main.add("Center", this.ChiselPanel1);
  39.       this.ChiselPanel1.add("Center", this.Report1);
  40.       this.Report1.setLayout(new BorderLayout());
  41.       this.Report1Main();
  42.       this.Report1.add("Center", this.Panel1);
  43.       this.Panel1.setLayout(new BorderLayout());
  44.       this.Panel1.add("North", this.Report1SP1);
  45.       this.Panel1.add("Center", this.Report1GL1);
  46.       this.Report1SP1.setHorizontalLayout(true);
  47.       this.InitComponents();
  48.       var1.gParm.addElement(this);
  49.    }
  50.  
  51.    public boolean handleEvent(Event var1) {
  52.       switch (var1.id) {
  53.          case 503:
  54.          case 504:
  55.          case 505:
  56.             this.popuppanel.postEvent(var1);
  57.             return false;
  58.          case 1001:
  59.             if (var1.target.equals(this.Report1SP1)) {
  60.                this.Report1LoadGridFromWhereClause(this.Report1SP1.getFromWhereClause());
  61.                return true;
  62.             }
  63.  
  64.             return false;
  65.          default:
  66.             return false;
  67.       }
  68.    }
  69.  
  70.    public void InitComponents() {
  71.       this.jaggSQL.setKeepConnectionOpen(false);
  72.    }
  73.  
  74.    public void Report1Main() {
  75.       this.Report1SetGridSettings();
  76.       this.Report1WhereClauseMain();
  77.       this.Report1SearchResultsMain();
  78.    }
  79.  
  80.    public void Report1LoadGridFromWhereClause(String var1) {
  81.       int var2 = var1.indexOf("WHERE ");
  82.       var1 = " AND" + var1.substring(var2 + 5);
  83.       String[] var3 = new String[0];
  84.       this.Report1LoadGridMain(var3, var1);
  85.    }
  86.  
  87.    public void Report1LoadGrid(String[] var1) {
  88.       this.Report1LoadGridMain(var1, (String)null);
  89.    }
  90.  
  91.    void Report1LoadGridMain(String[] var1, String var2) {
  92.       JDPTextGrid var3 = this.Report1GL1;
  93.       int var5 = 0;
  94.       Vector var6 = new Vector();
  95.       String var7 = this.jaggSQL.getSEP();
  96.       int var8 = 0;
  97.       byte var12 = 5;
  98.       this.jaggSQL.setDSN("JDP Tutorial");
  99.       this.jaggSQL.setUID("");
  100.       this.jaggSQL.setPWD("");
  101.       this.jaggSQL.setMRW("1000");
  102.       this.jaggSQL.setTOUT("60");
  103.       new Vector();
  104.       new Vector();
  105.       String var13 = "SELECT b.stor_name, a.ord_num, a.ord_date, a.title_id, a.qty FROM {oj dbo_sales a LEFT OUTER JOIN dbo_stores b ON a.stor_id = b.stor_id} WHERE (1=1)  ";
  106.       if (var1.length > 0 && var1[0] != null) {
  107.          var13 = var13 + " AND a.stor_id='" + var1[0] + "'";
  108.       }
  109.  
  110.       if (var1.length > 1 && var1[1] != null) {
  111.          var13 = var13 + " AND a.ord_num='" + var1[1] + "'";
  112.       }
  113.  
  114.       if (var1.length > 2 && var1[2] != null) {
  115.          var13 = var13 + " AND a.title_id='" + var1[2] + "'";
  116.       }
  117.  
  118.       if (var2 != null) {
  119.          var13 = var13 + var2;
  120.       }
  121.  
  122.       var13 = var13 + " ORDER BY b.stor_name,a.ord_num";
  123.       this.user.mainmsg.setStatusMsg(JDPLang.get("Message0"), 0);
  124.       var5 = this.jaggSQL.execSQL(var13, var6);
  125.       if (var5 == -1) {
  126.          this.user.u.setSqlMessage(this.jaggSQL, var13);
  127.       } else {
  128.          var8 = this.jaggSQL.getRowCount();
  129.          var3.currentText = new String[var12][var8 * 3 + 20];
  130.          var3.cellFont = new Font[var12][var8 * 3 + 20];
  131.          var3.gridColor = Color.white;
  132.          boolean[] var14 = new boolean[var12];
  133.          String[] var15 = new String[var12];
  134.          boolean[] var16 = new boolean[5];
  135.          boolean[] var17 = new boolean[5];
  136.          byte var18 = 2;
  137.          var16[1] = true;
  138.          var17[0] = true;
  139.          var14[4] = true;
  140.          double[][] var10 = new double[1][1];
  141.          double[][] var11 = new double[1][1];
  142.          int var19 = 0;
  143.          int var20 = var12 / 2 - 1;
  144.          if (var20 < 0) {
  145.             var20 = 0;
  146.          }
  147.  
  148.          var3.currentText[var20][1] = "Sales Summary Report";
  149.          var3.cellFont[var20][1] = new Font(this.user.plainFont.getName(), 1, this.user.plainFont.getSize() + 4);
  150.  
  151.          for(int var21 = 0; var21 < var12; ++var21) {
  152.             var3.cellFont[var21][3] = this.user.boldFont;
  153.          }
  154.  
  155.          var3.currentText[0][3] = "Store name";
  156.          var3.currentText[1][3] = "Order Number";
  157.          var3.currentText[2][3] = "Order Date";
  158.          var3.currentText[3][3] = "Title Id";
  159.          var3.currentText[4][3] = "Quantity";
  160.          var19 = 4;
  161.          var10 = new double[var18][var12];
  162.          var11 = new double[var18][var12];
  163.  
  164.          int var22;
  165.          for(var22 = 0; var22 < var8; ++var22) {
  166.             String var9 = (String)var6.elementAt(var22);
  167.             if (var9 != null && var9.trim().compareTo("") != 0) {
  168.                StringTokenizer var4 = new StringTokenizer(var9, var7);
  169.  
  170.                for(int var24 = 0; var24 < var12; ++var24) {
  171.                   String var23 = var4.nextToken().trim();
  172.                   var3.currentText[var24][var22 + var19] = var23;
  173.                   if (var24 == 2) {
  174.                      var3.currentText[var24][var22 + var19] = JDPDate.format(Long.valueOf(var23));
  175.                   }
  176.  
  177.                   if (var3.maskEdit[var24] != null) {
  178.                      if (var3.maskType[var24] == "Float") {
  179.                         var3.currentText[var24][var22 + var19] = this.JDPMaskEditMain.formatFloat(var3.currentText[var24][var22 + var19], var3.maskEdit[var24]);
  180.                      } else {
  181.                         var3.currentText[var24][var22 + var19] = this.JDPMaskEditMain.formatString(var3.currentText[var24][var22 + var19], var3.maskEdit[var24]);
  182.                      }
  183.                   }
  184.                }
  185.  
  186.                for(int var25 = var12 - 1; var25 >= 0; --var25) {
  187.                   String var26 = var3.currentText[var25][var22 + var19];
  188.                   if (var18 > var25 && var22 > 0) {
  189.                      if (var26.equals(var15[var25])) {
  190.                         var3.currentText[var25][var22 + var19] = "";
  191.                      } else {
  192.                         if (var16[var25]) {
  193.                            for(int var27 = 0; var27 < var12; ++var27) {
  194.                               var3.currentText[var27][var22 + var19 + 1] = var3.currentText[var27][var22 + var19];
  195.                               var3.currentText[var27][var22 + var19] = "";
  196.                               var3.cellFont[var27][var22 + var19 + 1] = var3.cellFont[var27][var22 + var19];
  197.                               var3.cellFont[var27][var22 + var19] = null;
  198.                            }
  199.  
  200.                            var3.currentText[var25][var22 + var19] = JDPLang.get("Report0");
  201.                            var3.cellFont[var25][var22 + var19] = this.user.boldFont;
  202.  
  203.                            for(int var28 = var25 + 1; var28 < var12; ++var28) {
  204.                               if (var14[var28]) {
  205.                                  var3.currentText[var28][var22 + var19] = this.JDPMaskEditMain.formatFloat(var10[var25][var28], var3.maskEdit[var28]);
  206.                                  var3.cellFont[var28][var22 + var19] = this.user.boldFont;
  207.                               }
  208.  
  209.                               var10[var25][var28] = (double)0.0F;
  210.                            }
  211.  
  212.                            ++var19;
  213.                         }
  214.  
  215.                         var3.currentText[var25][var22 + var19] = var26;
  216.                      }
  217.                   }
  218.  
  219.                   if (var18 > 0 && var22 > 0) {
  220.                      try {
  221.                         double var43 = Double.valueOf(this.JDPMaskEditMain.stripFloat(var15[var25]));
  222.  
  223.                         for(int var29 = 0; var29 < var18; ++var29) {
  224.                            var10[var29][var25] += var43;
  225.                            var11[var29][var25] += var43;
  226.                         }
  227.                      } catch (Exception var31) {
  228.                      }
  229.                   }
  230.  
  231.                   var15[var25] = var26;
  232.                }
  233.             }
  234.          }
  235.  
  236.          for(int var38 = 0; var38 < var12; ++var38) {
  237.             try {
  238.                double var39 = Double.valueOf(this.JDPMaskEditMain.stripFloat(var15[var38]));
  239.  
  240.                for(int var44 = 0; var44 < var18; ++var44) {
  241.                   var10[var44][var38] += var39;
  242.                   var11[var44][var38] += var39;
  243.                }
  244.             } catch (Exception var30) {
  245.             }
  246.          }
  247.  
  248.          for(int var40 = var12 - 1; var40 >= 0; --var40) {
  249.             if (var18 > var40 && var16[var40]) {
  250.                var3.currentText[var40][var22 + var19] = JDPLang.get("Report0");
  251.                var3.cellFont[var40][var22 + var19] = this.user.boldFont;
  252.  
  253.                for(int var41 = var40 + 1; var41 < var12; ++var41) {
  254.                   if (var14[var41]) {
  255.                      var3.currentText[var41][var22 + var19] = this.JDPMaskEditMain.formatFloat(var10[var40][var41], var3.maskEdit[var41]);
  256.                      var3.cellFont[var41][var22 + var19] = this.user.boldFont;
  257.                   }
  258.                }
  259.  
  260.                ++var19;
  261.             }
  262.          }
  263.  
  264.          for(int var42 = var12 - 1; var42 >= 0; --var42) {
  265.             if (var18 > var42 && var17[var42]) {
  266.                var3.currentText[var42][var22 + var19] = JDPLang.get("Report1");
  267.                var3.cellFont[var42][var22 + var19] = this.user.boldFont;
  268.  
  269.                for(int var45 = var42 + 1; var45 < var12; ++var45) {
  270.                   if (var14[var45]) {
  271.                      var3.currentText[var45][var22 + var19] = this.JDPMaskEditMain.formatFloat(var11[var42][var45], var3.maskEdit[var45]);
  272.                      var3.cellFont[var45][var22 + var19] = this.user.boldFont;
  273.                   }
  274.                }
  275.  
  276.                ++var19;
  277.             }
  278.          }
  279.  
  280.          var3.newTable();
  281.          this.user.mainmsg.clearStatusMsg();
  282.       }
  283.    }
  284.  
  285.    public void Report1LoadEmptyGrid() {
  286.       JDPTextGrid var1 = this.Report1GL1;
  287.       byte var2 = 5;
  288.       var1.currentText = new String[var2][50];
  289.       var1.cellChanged = null;
  290.       var1.rowChanged = null;
  291.       var1.columnSelected = null;
  292.       var1.rowKey = new String[50][1];
  293.       var1.newTable();
  294.       var1.totalDataRows = 0;
  295.    }
  296.  
  297.    void Report1SetGridSettings() {
  298.       if (this.Report1 == null) {
  299.          this.Report1 = new JDPTextGrid(this.user);
  300.       }
  301.  
  302.       JDPTextGrid var1 = this.Report1GL1;
  303.       byte var2 = 5;
  304.       var1.columnHeader = null;
  305.       var1.columnHeaderStyle = new int[var2];
  306.       var1.columnStyle = new int[var2];
  307.       var1.columnHeaderColor = new Color[var2];
  308.       var1.columnColor = new Color[var2];
  309.       var1.columnBGColor = new Color[var2];
  310.       var1.gridColor = Color.white;
  311.       var1.columnProtected = new boolean[var2];
  312.       var1.columnWidth = new int[var2];
  313.       var1.rightJustify = new boolean[var2];
  314.       var1.rowHeader = null;
  315.       var1.columnHeight = null;
  316.       var1.maskEdit = new String[var2];
  317.       var1.maskType = new String[var2];
  318.  
  319.       for(int var3 = 0; var3 < var2; ++var3) {
  320.          var1.columnHeaderStyle[var3] = 1;
  321.          var1.columnStyle[var3] = 0;
  322.          var1.columnHeaderColor[var3] = Color.black;
  323.          var1.columnColor[var3] = Color.black;
  324.          var1.columnBGColor[var3] = Color.white;
  325.          var1.columnStyle[var3] = 0;
  326.       }
  327.  
  328.       var1.columnProtected[0] = true;
  329.       var1.columnProtected[1] = true;
  330.       var1.columnProtected[2] = true;
  331.       var1.columnProtected[3] = true;
  332.       var1.columnProtected[4] = true;
  333.       var1.columnWidth[0] = 205;
  334.       var1.columnWidth[1] = 88;
  335.       var1.columnWidth[2] = 133;
  336.       var1.columnWidth[3] = 56;
  337.       var1.columnWidth[4] = 72;
  338.       var1.rightJustify[4] = true;
  339.       var1.maskEdit[4] = "999,999,999,999";
  340.       var1.maskType[4] = "Float";
  341.       this.Report1LoadEmptyGrid();
  342.    }
  343.  
  344.    public void Report1WhereClauseMain() {
  345.       String[] var1 = new String[2];
  346.       String[] var2 = new String[2];
  347.       Vector var3 = new Vector();
  348.       Vector var4 = new Vector();
  349.       var1[0] = "Order Date";
  350.       var2[0] = "format(a.ord_date, 'yyyy/mm/dd')";
  351.       var1[1] = "Store Name";
  352.       var2[1] = "b.stor_id";
  353.       var3.addElement(new Vector());
  354.       var4.addElement(new Vector());
  355.       var3.addElement(new Vector());
  356.       var4.addElement(new Vector());
  357.       ((Vector)var3.elementAt(0)).addElement("Equal to");
  358.       ((Vector)var4.elementAt(0)).addElement("=");
  359.       ((Vector)var3.elementAt(0)).addElement("Greater than");
  360.       ((Vector)var4.elementAt(0)).addElement(">");
  361.       ((Vector)var3.elementAt(0)).addElement("Less than");
  362.       ((Vector)var4.elementAt(0)).addElement("<");
  363.       this.jaggSQL.setDSN("JDP Tutorial");
  364.       this.jaggSQL.setUID("");
  365.       this.jaggSQL.setPWD("");
  366.       this.jaggSQL.setMRW("1000");
  367.       this.jaggSQL.setTOUT("60");
  368.       JDPLoadChoice var5 = new JDPLoadChoice(this.user, this.jaggSQL, (Object)null, "", "", "", "", -1);
  369.       var5.loadChoice((Vector)var3.elementAt(1), "stor_name", "stor_id", "dbo_stores", "(1=1)", (Vector)var4.elementAt(1), 12);
  370.       int[] var6 = new int[2];
  371.       boolean[] var7 = new boolean[2];
  372.       var6[0] = 21;
  373.       var7[0] = true;
  374.       var6[1] = 0;
  375.       var7[1] = true;
  376.       this.Report1SP1 = new JDPWhereClause(this.user, super.targetPanel, "", true, "Store Name", var1, var2, var3, var4, (String[][])null, (String[][])null, var6, var7, "FROM {oj dbo_sales a LEFT OUTER JOIN dbo_stores b ON a.stor_id = b.stor_id} WHERE (1=1)");
  377.       this.Report1SP1.setDSNType("ACCESS");
  378.       this.Report1SP1.setDataType(0, 11);
  379.       this.Report1SP1.setDataType(1, 12);
  380.    }
  381.  
  382.    public void Report1SearchResultsMain() {
  383.    }
  384. }
  385.