📄 workcomparator.java
字号:
package net.sf.pim.model.psp;
import java.text.Collator;
import java.util.Comparator;
import java.util.Locale;
public class WorkComparator implements Comparator {
private String prop;
private boolean asc;
public WorkComparator(String prop,boolean asc) {
this.prop = prop;
this.asc=asc;
}
public int compare(Object o1, Object o2) {
if (o1 instanceof Work && o2 instanceof Work) {
Work work1 = (Work) o1;
Work work2 = (Work) o2;
if(asc)
return compareWork(work1, work2);
else
return compareWork(work2, work1);
}
else
return 0;
}
private int compareWork(Work work1, Work work2) {
String str1 = (String) work1.getProperties().get(prop);
String str2 = (String) work2.getProperties().get(prop);
//日期按从小到大排序
if(prop.equals("rq")){
if(str1.compareTo(str2) == 0)
return Integer.parseInt(work1.getWid()) - Integer.parseInt(work2.getWid());
return str1.compareTo(str2) ;
}
//计划先按计划排序,再按工作说明排序
if(prop.equals("plan")){
if(str1.compareTo(str2) == 0)
return new WorkComparator("gzsm",asc).compare(work1, work2);
return str1.compareTo(str2);
}
//看看是不是能进行数字的排序
try{
if(prop.equals("ddsj") || prop.equals("gzsj")){
double d1=Double.parseDouble(str1);
double d2=Double.parseDouble(str2);
return (int)(d1-d2);
}
}catch(Exception e){
;
}
Collator collator = Collator.getInstance(Locale.getDefault());
return collator.compare(str1, str2);
}
public boolean equals(Object obj) {
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -