📄 jmfilter.java
字号:
/**
* 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 + -