📄 jmfilter.java
字号:
else if (iType == JMVal.TYPE_DOUBLE) {
double middouble = orgArr.getDoubleValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), middouble);
}
//TYPE_CHAR
else if (iType == JMVal.TYPE_CHAR) {
char midchar = orgArr.getCharValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midchar);
}
//TYPE_FLOAT
else if (iType == JMVal.TYPE_FLOAT) {
float midfloat = orgArr.getFloatValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midfloat);
}
//TYPE_BYTE
else if (iType == JMVal.TYPE_BYTE) {
byte midbyte = orgArr.getByteValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midbyte);
}
//TYPE_INT
else if (iType == JMVal.TYPE_INT) {
int midintold = orgArr.getIntValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midintold);
}
//TYPE_BOOLEAN
else if (iType == JMVal.TYPE_BOOLEAN) {
boolean midbooleanold = orgArr.getBooleanValue(i,
veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midbooleanold);
}
//TYPE_BYTE[]
else if (iType == JMVal.TYPE_BYTEARRAY) {
byte[] midbytesold = orgArr.getByteArrayValue(i,
veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midbytesold);
}
//TYPE_DATE
else if (iType == JMVal.TYPE_DATE) {
Date middateold = orgArr.getDateValue(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 < addArr.rowCount(); i++) {
for (int j = 0; j < veColNa.size(); j++) {
int iColplace = Integer.parseInt(haColMap.get(veColNa.get(j).toString().
toUpperCase()).toString());
int iType = addArr.getDataType(i, iColplace);
//TYPE_STRING
if (iType == JMVal.TYPE_STRING) {
String midStr = addArr.getStringValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midStr);
}
//TYPE_SHORT
else if (iType == JMVal.TYPE_SHORT) {
short midshort = addArr.getShortValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midshort);
}
//TYPE_LONG
else if (iType == JMVal.TYPE_LONG) {
long midLong = addArr.getLongValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midLong);
}
//TYPE_DOUBLE
else if (iType == JMVal.TYPE_DOUBLE) {
double middouble = addArr.getDoubleValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), middouble);
}
//TYPE_CHAR
else if (iType == JMVal.TYPE_CHAR) {
char midchar = addArr.getCharValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midchar);
}
//TYPE_FLOAT
else if (iType == JMVal.TYPE_FLOAT) {
float midfloat = addArr.getFloatValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midfloat);
}
//TYPE_BYTE
else if (iType == JMVal.TYPE_BYTE) {
byte midbyte = addArr.getByteValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midbyte);
}
//TYPE_INT
else if (iType == JMVal.TYPE_INT) {
int midintold = addArr.getIntValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midintold);
}
//TYPE_BOOLEAN
else if (iType == JMVal.TYPE_BOOLEAN) {
boolean midbooleanold = addArr.getBooleanValue(i,
veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midbooleanold);
}
//TYPE_BYTE[]
else if (iType == JMVal.TYPE_BYTEARRAY) {
byte[] midbytesold = addArr.getByteArrayValue(i,
veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), midbytesold);
}
//TYPE_DATE
else if (iType == JMVal.TYPE_DATE) {
Date middateold = addArr.getDateValue(i, veColNa.get(j).toString());
retArr.addItem(veColNa.get(j).toString(), middateold);
} //END IF
} //END FOR
retArr.nextRow();
} //END FOR
return retArr;
}
/**
*
* @param aosource
* @param askey
* @param aiSign
* @param asValue
* @return JM2DArray
* @throws Exception
*/
@SuppressWarnings ("unchecked")
public static JM2DArray selectGet (JM2DArray aosource,
String[] askey, int[] aiSign, String[] asValue) throws Exception {
JM2DArray poResult = new JM2DArray();
JMVector selVecor = new JMVector();
boolean Flg = false;
boolean Flg11 = false;
String v1 = "";
//haColMap
HashMap haColMap = null;
//LENGTH偺庢摼
if (aosource == null || aosource.rowCount() == 0 || aosource.isEmpty()) {
throw new NullPointerException("aosource is null !");
}
if (askey == null || aiSign == null || asValue == null ||
askey.length == 0 || aiSign.length == 0 || asValue.length == 0) {
throw new NullPointerException("asValue is error !");
}
if (askey.length != aiSign.length || askey.length != asValue.length
|| aiSign.length != asValue.length) {
throw new NullPointerException("asValue is error !");
}
haColMap = new HashMap(aosource.getColNameMap());
int piRow = aosource.rowCount();
//曊椺
for (int i = 0; i < piRow; i++) {
Flg11 = true;
for (int j = 0; j < askey.length; j++) {
//楍崋
int piColumn = ((Integer) haColMap.get(askey[j].toUpperCase())).
intValue();
//椶宆偺庢摼
int piType = aosource.getDataType(0, piColumn);
//惍峴悢抣偺庢摼
JMVector RowValue = new JMVector(aosource.getRow(i));
Object objValue = RowValue.get(piColumn);
JMVal varValue = (JMVal) objValue;
String psValue = varValue.toString();
v1 = psValue.substring(psValue.indexOf(",") + 1);
v1 = v1.substring(0, v1.length() - 1);
v1 = v1.trim();
//THE INT_DOUBLE_FLOAT_LONG_VALUE 偺攔彉
if (piType >= 0 && piType <= 5) {
double pv1 = Double.parseDouble("" + v1);
double pv2 = Double.parseDouble("" + asValue[j]);
Flg = compareTo2(pv1, aiSign[j], pv2);
if (Flg == false) {
Flg11 = false;
break;
}
} else {
//TYPE_STRING 偺攔彉
String pstemp = "" + asValue[j];
Flg = compareTo(v1, aiSign[j], pstemp);
if (Flg == false) {
Flg11 = false;
break;
}
} //end if type
} //end for 曊椺
if (Flg11 == true) {
selVecor.add("" + i);
}
} //end for 曊椺
poResult = Flex2DReduce(selVecor, aosource);
return poResult;
}
/**
*
* @param v1
* @param sign
* @param v2
* @return boolean
* @throws Exception
*/
private static boolean compareTo (String v1, int sign, String v2) throws Exception {
boolean pfresult = false;
try {
int piresult = v1.compareTo(v2);
if (piresult == 0 && (sign == 0 || sign == 3 || sign == 4)) {
pfresult = true;
}
if (piresult != 0 && sign == -1) {
pfresult = true;
}
if (piresult < 0 && (sign == 2 || sign == 4)) {
pfresult = true;
}
if (piresult > 0 && (sign == 1 || sign == 3)) {
pfresult = true;
}
} catch (Exception e) {
}
return pfresult;
}
/**
*
* @param v1
* @param sign
* @param v2
* @return boolean
* @throws Exception
*/
private static boolean compareTo2 (double v1, int sign, double v2) throws Exception {
boolean pfresult = false;
try {
if (v1 == v2 && (sign == 0 || sign == 3 || sign == 4)) {
pfresult = true;
}
if (v1 != v2 && sign == -1) {
pfresult = true;
}
if (v1 < v2 && (sign == 2 || sign == 4)) {
pfresult = true;
}
if (v1 > v2 && (sign == 1 || sign == 3)) {
pfresult = true;
}
} catch (Exception e) {
}
return pfresult;
}
} //end class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -