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

  1. import java.awt.BorderLayout;
  2. import java.awt.CheckboxGroup;
  3. import java.awt.Color;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Font;
  7. import java.awt.Panel;
  8. import java.util.StringTokenizer;
  9. import java.util.Vector;
  10.  
  11. public class SalesReport extends JDPClassLayout {
  12.    JDPUser user;
  13.    JDPJagg jaggSQL;
  14.    JDPPopupMessage popuppanel;
  15.    JDPMaskEdit JDPMaskEditMain;
  16.    String moduleParameter;
  17.    Panel Main;
  18.    JDPSearchResults ResultList1;
  19.    JDPTextGrid ReportLayout1;
  20.  
  21.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  22.       this.user = var1;
  23.       this.moduleParameter = var3;
  24.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  25.       ((Container)this).setLayout(new BorderLayout());
  26.       this.popuppanel = new JDPPopupMessage(var1, this);
  27.       ((Container)this).add(this.popuppanel);
  28.       this.JDPMaskEditMain = new JDPMaskEdit();
  29.       new CheckboxGroup();
  30.       this.Main = new Panel();
  31.       this.ResultList1Main();
  32.       this.ReportLayout1Main();
  33.       this.Main.setLayout(new BorderLayout());
  34.       ((Container)this).add("Center", this.Main);
  35.       this.Main.add("West", this.ResultList1);
  36.       this.Main.add("Center", this.ReportLayout1);
  37.       this.InitComponents();
  38.       var1.gParm.addElement(this);
  39.    }
  40.  
  41.    public boolean handleEvent(Event var1) {
  42.       switch (var1.id) {
  43.          case 503:
  44.          case 504:
  45.          case 505:
  46.             this.popuppanel.postEvent(var1);
  47.             return false;
  48.          case 1001:
  49.             if (var1.target.equals(this.ResultList1)) {
  50.                this.ReportLayout1LoadGrid(this.ResultList1.getSelectedKey());
  51.                return true;
  52.             }
  53.  
  54.             return false;
  55.          default:
  56.             return false;
  57.       }
  58.    }
  59.  
  60.    public void InitComponents() {
  61.    }
  62.  
  63.    public void ResultList1Main() {
  64.       String var1 = "stor_id";
  65.       String[] var2 = new String[0];
  66.       String var3 = "(1=1)";
  67.       String[] var4 = new String[]{"Stor name"};
  68.       String[] var5 = new String[]{"stor_name"};
  69.       this.jaggSQL.setDSN("JDP Tutorial");
  70.       this.jaggSQL.setJdbcDriver("sun.jdbc.odbc.JdbcOdbcDriver");
  71.       this.jaggSQL.setJdbcPrefix("jdbc:odbc:");
  72.       this.jaggSQL.setJdbcSuffix("JDP Tutorial");
  73.       this.jaggSQL.setUID("");
  74.       this.jaggSQL.setPWD("");
  75.       this.jaggSQL.setCSTR(" ");
  76.       this.jaggSQL.setMRW("1000");
  77.       this.jaggSQL.setTOUT("60");
  78.       this.ResultList1 = new JDPSearchResults(this.user, super.targetPanel, true, this.jaggSQL, false, var1, var2, var3, var4, var5, var5, "", true, "Total Entries:");
  79.       int[] var6 = new int[8];
  80.       var6[0] = 3;
  81.       var6[1] = 5;
  82.       this.ResultList1.setMinWidth(130);
  83.       this.ResultList1.setIcons(var6);
  84.       this.ResultList1.setFromWhereClause(" FROM dbo_stores WHERE (1=1)");
  85.       this.ResultList1.clearList("");
  86.       this.ResultList1.loadList();
  87.    }
  88.  
  89.    public void ReportLayout1Main() {
  90.       this.ReportLayout1SetGridSettings();
  91.    }
  92.  
  93.    public void ReportLayout1LoadGrid(String[] var1) {
  94.       JDPTextGrid var2 = this.ReportLayout1;
  95.       if (var1 != null && var1.length >= 0) {
  96.          int var4 = 0;
  97.          Vector var5 = new Vector();
  98.          String var6 = this.jaggSQL.getSEP();
  99.          int var7 = 0;
  100.          byte var11 = 6;
  101.          this.jaggSQL.setDSN("JDP Tutorial");
  102.          this.jaggSQL.setJdbcDriver("sun.jdbc.odbc.JdbcOdbcDriver");
  103.          this.jaggSQL.setJdbcPrefix("jdbc:odbc:");
  104.          this.jaggSQL.setJdbcSuffix("JDP Tutorial");
  105.          this.jaggSQL.setUID("");
  106.          this.jaggSQL.setPWD("");
  107.          this.jaggSQL.setCSTR("");
  108.          this.jaggSQL.setMRW("1000");
  109.          this.jaggSQL.setTOUT("60");
  110.          new Vector();
  111.          new Vector();
  112.          String var12 = "SELECT stor_id, ord_num, format(ord_date, 'mm/dd/yy'), title_id, qty, payterms FROM dbo_sales WHERE (1=1)  ";
  113.          if (var1.length > 0 && var1[0] != null) {
  114.             var12 = var12 + " AND stor_id='" + var1[0] + "'" + " ORDER BY stor_id,ord_num";
  115.          }
  116.  
  117.          this.user.mainmsg.setStatusMsg("Accessing database...", 0);
  118.          var4 = this.jaggSQL.execSQL(var12, var5);
  119.          if (var4 == -1) {
  120.             this.user.u.setSqlMessage(this.jaggSQL, var12);
  121.          } else {
  122.             var7 = this.jaggSQL.getRowCount();
  123.             var2.currentText = new String[var11][var7 + 30];
  124.             var2.cellFont = new Font[var11][var7 + 30];
  125.             var2.gridColor = Color.white;
  126.             boolean[] var13 = new boolean[var11];
  127.             String[] var14 = new String[var11];
  128.             boolean[] var15 = new boolean[6];
  129.             boolean[] var16 = new boolean[6];
  130.             byte var17 = 2;
  131.             var15[1] = true;
  132.             var16[0] = true;
  133.             var13[4] = true;
  134.             float[][] var9 = new float[1][1];
  135.             float[][] var10 = new float[1][1];
  136.             int var18 = 0;
  137.             int var19 = var11 / 2 - 1;
  138.             if (var19 < 0) {
  139.                var19 = 0;
  140.             }
  141.  
  142.             var2.currentText[var19][1] = "Sales by Store";
  143.             var2.cellFont[var19][1] = new Font(this.user.plainFont.getName(), 1, this.user.plainFont.getSize() + 4);
  144.  
  145.             for(int var20 = 0; var20 < var11; ++var20) {
  146.                var2.cellFont[var20][3] = this.user.boldFont;
  147.             }
  148.  
  149.             var2.currentText[0][3] = "Stor Id";
  150.             var2.currentText[1][3] = "Ord Num";
  151.             var2.currentText[2][3] = "Ord Date";
  152.             var2.currentText[3][3] = "Title Id";
  153.             var2.currentText[4][3] = "Qty";
  154.             var2.currentText[5][3] = "Payterms";
  155.             var18 = 4;
  156.             var9 = new float[var17][var11];
  157.             var10 = new float[var17][var11];
  158.  
  159.             int var21;
  160.             for(var21 = 0; var21 < var7; ++var21) {
  161.                String var8 = (String)var5.elementAt(var21);
  162.                if (var8 != null && var8.trim().compareTo("") != 0) {
  163.                   StringTokenizer var3 = new StringTokenizer(var8);
  164.  
  165.                   for(int var22 = 0; var22 < var11; ++var22) {
  166.                      var2.currentText[var22][var21 + var18] = var3.nextToken(var6).trim();
  167.                      if (var2.maskEdit[var22] != null) {
  168.                         if (var2.maskType[var22] == "Float") {
  169.                            var2.currentText[var22][var21 + var18] = this.JDPMaskEditMain.formatFloat(var2.currentText[var22][var21 + var18], var2.maskEdit[var22]);
  170.                         } else {
  171.                            var2.currentText[var22][var21 + var18] = this.JDPMaskEditMain.formatString(var2.currentText[var22][var21 + var18], var2.maskEdit[var22]);
  172.                         }
  173.                      }
  174.                   }
  175.  
  176.                   for(int var23 = var11 - 1; var23 >= 0; --var23) {
  177.                      String var24 = var2.currentText[var23][var21 + var18];
  178.                      if (var17 > var23 && var21 > 0) {
  179.                         if (var24.equals(var14[var23])) {
  180.                            var2.currentText[var23][var21 + var18] = "";
  181.                         } else {
  182.                            if (var15[var23]) {
  183.                               for(int var25 = 0; var25 < var11; ++var25) {
  184.                                  var2.currentText[var25][var21 + var18 + 1] = var2.currentText[var25][var21 + var18];
  185.                                  var2.currentText[var25][var21 + var18] = "";
  186.                                  var2.cellFont[var25][var21 + var18 + 1] = var2.cellFont[var25][var21 + var18];
  187.                                  var2.cellFont[var25][var21 + var18] = null;
  188.                               }
  189.  
  190.                               var2.currentText[var23][var21 + var18] = "Subtotal";
  191.                               var2.cellFont[var23][var21 + var18] = this.user.boldFont;
  192.  
  193.                               for(int var26 = var23 + 1; var26 < var11; ++var26) {
  194.                                  if (var13[var26]) {
  195.                                     var2.currentText[var26][var21 + var18] = this.JDPMaskEditMain.formatFloat(var9[var23][var26], var2.maskEdit[var26]);
  196.                                     var2.cellFont[var26][var21 + var18] = this.user.boldFont;
  197.                                  }
  198.  
  199.                                  var9[var23][var26] = 0.0F;
  200.                               }
  201.  
  202.                               ++var18;
  203.                            }
  204.  
  205.                            var2.currentText[var23][var21 + var18] = var24;
  206.                         }
  207.                      }
  208.  
  209.                      if (var17 > 0 && var21 > 0) {
  210.                         try {
  211.                            float var40 = Float.valueOf(this.JDPMaskEditMain.stripFloat(var14[var23]));
  212.  
  213.                            for(int var42 = 0; var42 < var17; ++var42) {
  214.                               var9[var42][var23] += var40;
  215.                               var10[var42][var23] += var40;
  216.                            }
  217.                         } catch (Exception var28) {
  218.                         }
  219.                      }
  220.  
  221.                      var14[var23] = var24;
  222.                   }
  223.                }
  224.             }
  225.  
  226.             for(int var34 = 0; var34 < var11; ++var34) {
  227.                try {
  228.                   float var35 = Float.valueOf(this.JDPMaskEditMain.stripFloat(var14[var34]));
  229.  
  230.                   for(int var37 = 0; var37 < var17; ++var37) {
  231.                      var9[var37][var34] += var35;
  232.                      var10[var37][var34] += var35;
  233.                   }
  234.                } catch (Exception var27) {
  235.                }
  236.             }
  237.  
  238.             for(int var36 = var11 - 1; var36 >= 0; --var36) {
  239.                if (var17 > var36 && var15[var36]) {
  240.                   var2.currentText[var36][var21 + var18] = "Subtotal";
  241.                   var2.cellFont[var36][var21 + var18] = this.user.boldFont;
  242.  
  243.                   for(int var38 = var36 + 1; var38 < var11; ++var38) {
  244.                      if (var13[var38]) {
  245.                         var2.currentText[var38][var21 + var18] = this.JDPMaskEditMain.formatFloat(var9[var36][var38], var2.maskEdit[var38]);
  246.                         var2.cellFont[var38][var21 + var18] = this.user.boldFont;
  247.                      }
  248.                   }
  249.  
  250.                   ++var18;
  251.                }
  252.             }
  253.  
  254.             for(int var39 = var11 - 1; var39 >= 0; --var39) {
  255.                if (var17 > var39 && var16[var39]) {
  256.                   var2.currentText[var39][var21 + var18] = "Total";
  257.                   var2.cellFont[var39][var21 + var18] = this.user.boldFont;
  258.  
  259.                   for(int var41 = var39 + 1; var41 < var11; ++var41) {
  260.                      if (var13[var41]) {
  261.                         var2.currentText[var41][var21 + var18] = this.JDPMaskEditMain.formatFloat(var10[var39][var41], var2.maskEdit[var41]);
  262.                         var2.cellFont[var41][var21 + var18] = this.user.boldFont;
  263.                      }
  264.                   }
  265.  
  266.                   ++var18;
  267.                }
  268.             }
  269.  
  270.             var2.newTable();
  271.             this.user.mainmsg.clearStatusMsg();
  272.          }
  273.       } else {
  274.          this.ReportLayout1LoadEmptyGrid();
  275.       }
  276.    }
  277.  
  278.    public void ReportLayout1LoadEmptyGrid() {
  279.       JDPTextGrid var1 = this.ReportLayout1;
  280.       byte var2 = 6;
  281.       var1.currentText = new String[var2][50];
  282.       var1.cellChanged = null;
  283.       var1.rowChanged = null;
  284.       var1.columnSelected = null;
  285.       var1.rowKey = new String[50][1];
  286.       var1.newTable();
  287.       var1.totalDataRows = 0;
  288.    }
  289.  
  290.    void ReportLayout1SetGridSettings() {
  291.       if (this.ReportLayout1 == null) {
  292.          this.ReportLayout1 = new JDPTextGrid(this.user);
  293.       }
  294.  
  295.       JDPTextGrid var1 = this.ReportLayout1;
  296.       byte var2 = 6;
  297.       var1.columnHeader = null;
  298.       var1.columnHeaderStyle = new int[var2];
  299.       var1.columnStyle = new int[var2];
  300.       var1.columnHeaderColor = new Color[var2];
  301.       var1.columnColor = new Color[var2];
  302.       var1.columnBGColor = new Color[var2];
  303.       var1.columnProtected = new boolean[var2];
  304.       var1.columnWidth = new int[var2];
  305.       var1.rightJustify = new boolean[var2];
  306.       var1.rowHeader = null;
  307.       var1.columnHeight = null;
  308.       var1.maskEdit = new String[var2];
  309.       var1.maskType = new String[var2];
  310.  
  311.       for(int var3 = 0; var3 < var2; ++var3) {
  312.          var1.columnHeaderStyle[var3] = 1;
  313.          var1.columnStyle[var3] = 0;
  314.          var1.columnHeaderColor[var3] = Color.black;
  315.          var1.columnColor[var3] = Color.black;
  316.          var1.columnBGColor[var3] = Color.white;
  317.          var1.columnStyle[var3] = 0;
  318.       }
  319.  
  320.       var1.columnProtected[0] = true;
  321.       var1.columnProtected[1] = true;
  322.       var1.columnProtected[2] = true;
  323.       var1.columnProtected[3] = true;
  324.       var1.columnProtected[4] = true;
  325.       var1.columnProtected[5] = true;
  326.       var1.columnWidth[0] = 46;
  327.       var1.columnWidth[1] = 80;
  328.       var1.columnWidth[2] = 81;
  329.       var1.columnWidth[3] = 56;
  330.       var1.columnWidth[4] = 55;
  331.       var1.columnWidth[5] = 98;
  332.       var1.rightJustify[4] = true;
  333.       var1.maskEdit[4] = "999,999,999,999";
  334.       var1.maskType[4] = "Float";
  335.       this.ReportLayout1LoadEmptyGrid();
  336.    }
  337. }
  338.