⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmfilter.java

📁 梦界家园程序开发基底框架
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    /**
     *  JM2DArrayOrder
     *  JM2DArray 偺攔彉(崀彉)
     *  @param    pfArray
     *  @param    psKey
     *  @param    Flag
     *  @return   JM2DArray
     *  @throws   Exception
     */
    @SuppressWarnings ("unchecked")
    public static JM2DArray JM2DArrayOrderDown (JM2DArray pfArray, String psKey) throws Exception {
        //MAKE CLASS
        //       final String sMethod = "JM2DArrayOrder" ;
        JM2DArray pArray2DOld = JM2DArrayCopy(pfArray);
        JM2DArray pArray2DNew = new JM2DArray(); //怴嶌惉偺JM2DArray
        JMVector pArrtmp = new JMVector(); //TEMP JM2DArray
        //尞抣偺庢摼
        HashMap haColMap = new HashMap(pArray2DOld.getColNameMap());
        JMVector paColNm = new JMVector(pArray2DOld.getColNames());
        //楍崋
        int piColumn = ((Integer) haColMap.get(psKey.toUpperCase())).intValue();
        //LENGTH偺庢摼
        int piRow = pArray2DOld.rowCount();
        //椶宆偺庢摼
        int piType = pArray2DOld.getDataType(0, piColumn);
        // 攔彉 START
        int piSmall = 0;
        //怴JM2DArray偺嶌惉
        for (; pArrtmp.size() < piRow; ) {
            // piSmall=0;
            //TEMP VALUE
            String psTemp = "0";
            Date psDate = Timestamp.valueOf("0001-01-01 01:01:01.000000001");
            //楍偺曊椺
            for (int i = -1; i < piRow - 1; ) {
                i++;
                //惍峴悢抣偺庢摼
                JMVector RowValue = new JMVector(pArray2DOld.getRow(i));
                Object objValue = RowValue.get(piColumn);
                JMVal varValue = (JMVal) objValue;
                String psValue = varValue.toString();
                Date pdateValue = null;
                psValue = psValue.substring(psValue.indexOf(",") + 1);
                psValue = psValue.substring(0, psValue.length() - 1);
                psValue = psValue.trim();
                if (pArrtmp.contains(new Integer(i))) {
                    continue;
                }
                //THE INT_DOUBLE_FLOAT_LONG_VALUE 偺攔彉
                if (piType >= 0 && piType <= 5) {
                    if (((new Double(psTemp)).doubleValue() <
                         (new Double(psValue)).doubleValue())) {
                        psTemp = psValue;
                        piSmall = i;
                    }
                } else {
                    //TYPE_DATE 偺攔彉
                    if (piType == JMVal.TYPE_DATE) {
                        //JMVector pRowValue = new JMVector ( pArray2DOld.getRow ( i ) ) ;
//                        Object pobjValue = pRowValue.get ( piColumn ) ;
                        JMVal pvarValue = (JMVal) objValue;
                        pdateValue = pvarValue.getDateValue();
                        if (psDate.getTime() < pdateValue.getTime()) {
                            psDate = pdateValue;
                            piSmall = i;
                        }
                    }
                    //TYPE_STRING 偺攔彉
                    if (piType == 8) {
                        if (psTemp.compareTo(psValue) < 0) {
                            psTemp = psValue;
                            piSmall = i;
                        }
                    }
                } //end if
            } //end for 楍
            //THE ROW_VALUE
            pArrtmp.add(new Integer(piSmall));
            //JM2DArray' AddItem
            for (int i = 0; i < paColNm.size(); i++) {
                int iTypeold = pArray2DOld.getDataType(0, i);
                //悢抣偺斾妑
                //TYPE_STRING
                if (iTypeold == JMVal.TYPE_STRING) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getStringValue(piSmall,
                                                                   paColNm.get(i).toString()));
                }
                //TYPE_SHORT
                else if (iTypeold == JMVal.TYPE_SHORT) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getShortValue(piSmall,
                                                                  paColNm.get(i).toString()));
                }
                //TYPE_LONG
                else if (iTypeold == JMVal.TYPE_LONG) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getLongValue(piSmall,
                                                                 paColNm.get(i).toString()));
                }
                //TYPE_DOUBLE
                else if (iTypeold == JMVal.TYPE_DOUBLE) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getDoubleValue(piSmall,
                                                                   paColNm.get(i).toString()));
                }
                //TYPE_CHAR
                else if (iTypeold == JMVal.TYPE_CHAR) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getCharValue(piSmall,
                                                                 paColNm.get(i).toString()));
                }
                //TYPE_FLOAT
                else if (iTypeold == JMVal.TYPE_FLOAT) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getFloatValue(piSmall,
                                                                  paColNm.get(i).toString()));
                }
                //TYPE_BYTE
                else if (iTypeold == JMVal.TYPE_BYTE) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getByteValue(piSmall,
                                                                 paColNm.get(i).toString()));
                }
                //TYPE_INT
                else if (iTypeold == JMVal.TYPE_INT) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getIntValue(piSmall,
                                                                paColNm.get(i).toString()));
                }
                //TYPE_BOOLEAN
                else if (iTypeold == JMVal.TYPE_BOOLEAN) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getBooleanValue(piSmall,
                                                                    paColNm.get(i).toString()));
                }
                //TYPE_BYTE[]
                else if (iTypeold == JMVal.TYPE_BYTEARRAY) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getByteArrayValue(piSmall,
                                                                      paColNm.get(i).toString()));
                }
                //TYPE_DATE
                else if (iTypeold == JMVal.TYPE_DATE) {
                    pArray2DNew.addItem(paColNm.get(i).toString(),
                                        pArray2DOld.getDateValue(piSmall,
                                                                 paColNm.get(i).toString()));
                } //end if
            } //end for paColNm
            pArray2DNew.nextRow();
        } //end for
        return pArray2DNew;
    }

    /**
     *  Flex2DAdd
     *  JM2DArray 擵娫偺憡壛
     *  @param   indorgVec
     *  @param   indaddVec
     *  @param   orgArr
     *  @param   addArr
     *  @return  JM2DArray
     *  @throws  Exception
     */
    @SuppressWarnings ("unchecked")
    public static JM2DArray Flex2DAdd (JMVector indorgVec, JMVector indaddVec, JM2DArray orgArr,
                                       JM2DArray addArr) throws Exception {
        JM2DArray retArr = new JM2DArray();

        HashMap haColMap = new HashMap(orgArr.getColNameMap());
        JMVector veColNa = new JMVector(orgArr.getColNames());
        //THE FIRST JM2DArray
        for (int i = 0; i < indorgVec.size(); i++) {
            for (int j = 0; j < veColNa.size(); j++) {
                int iColplace = Integer.parseInt(haColMap.get(veColNa.get(j).toString().
                                                              toUpperCase()).toString());
                int iType = orgArr.getDataType(i, iColplace);
                //TYPE_STRING
                if (iType == JMVal.TYPE_STRING) {
                    String midStr = orgArr.getStringValue(Integer.parseInt((String)
                                                                           indorgVec.get(i)), veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midStr);
                }
                //TYPE_SHORT
                else if (iType == JMVal.TYPE_SHORT) {
                    short midshort = orgArr.getShortValue(Integer.parseInt((String)
                                                                           indorgVec.get(i)), veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midshort);
                }
                //TYPE_LONG
                else if (iType == JMVal.TYPE_LONG) {
                    long midLong = orgArr.getLongValue(Integer.parseInt((String)
                                                                        indorgVec.get(i)),
                                                       veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midLong);
                }
                //TYPE_DOUBLE
                else if (iType == JMVal.TYPE_DOUBLE) {
                    double middouble = orgArr.getDoubleValue(Integer.parseInt((String)
                                                                              indorgVec.get(i)), veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), middouble);
                }
                //TYPE_CHAR
                else if (iType == JMVal.TYPE_CHAR) {
                    char midchar = orgArr.getCharValue(Integer.parseInt((String)
                                                                        indorgVec.get(i)),
                                                       veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midchar);
                }
                //TYPE_FLOAT
                else if (iType == JMVal.TYPE_FLOAT) {
                    float midfloat = orgArr.getFloatValue(Integer.parseInt((String)
                                                                           indorgVec.get(i)), veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midfloat);
                }
                //TYPE_BYTE
                else if (iType == JMVal.TYPE_BYTE) {
                    byte midbyte = orgArr.getByteValue(Integer.parseInt((String)
                                                                        indorgVec.get(i)),
                                                       veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midbyte);
                }
                //TYPE_INT
                else if (iType == JMVal.TYPE_INT) {
                    int midintold = orgArr.getIntValue(Integer.parseInt((String)
                                                                        indorgVec.get(i)),
                                                       veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midintold);
                }
                //TYPE_BOOLEAN
                else if (iType == JMVal.TYPE_BOOLEAN) {
                    boolean midbooleanold = orgArr.getBooleanValue(Integer.parseInt((
                            String) indorgVec.get(i)), veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midbooleanold);
                }
                //TYPE_BYTE[]
                else if (iType == JMVal.TYPE_BYTEARRAY) {
                    byte[] midbytesold = orgArr.getByteArrayValue(Integer.parseInt((String)
                                                                                   indorgVec.get(i)), veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), midbytesold);
                }
                //TYPE_DATE
                else if (iType == JMVal.TYPE_DATE) {
                    Date middateold = orgArr.getDateValue(Integer.parseInt((String)
                                                                           indorgVec.get(i)), veColNa.get(j).toString());
                    retArr.addItem(veColNa.get(j).toString(), middateold);
                } //end if
            } //END FOR
            retArr.nextRow();
        } //END FOR
        //THE SECOND JM2DArray
        haColMap = new HashMap(addArr.getColNameMap());
        veColNa = new JMVector(addArr.getColNames());
        for (int i = 0; i < indaddVec.size(); i++) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -