public static List generateNo(String bidId, PubBO bo, List list,
String nowNo,String coustr) throws PLBusinessException {
List codelist = new ArrayList();
int count = 0;
String bidStr = getBidStr(bidId, bo);
String str = "GDNGG-HSE-"+ coustr + "-" + bidStr + "-";
List tmpcount = new ArrayList();
for (int i = 0; i < list.size(); i++) { // 计算目前Id
String tmp = (String) list.get(i);
Integer t = new Integer(tmp.split("-")[4]);
tmpcount.add(t);
if (t.intValue() > count) {
count = t.intValue();
}
}
// 开始验证流水号是否连续
java.util.Collections.sort(tmpcount);// 排序
int j = 1;
for (int i = 0; i < count + 3; i++) {
String tmpCode = str + (i + j);
for (; i < tmpcount.size()
&& !((Integer) tmpcount.get(i)).equals(new Integer(i + j)); j++) {
tmpCode = str + (i + j);
codelist.add(tmpCode);
}
tmpCode = str + (i + j);
if (nowNo != null && nowNo.equals(tmpCode)) {
codelist.add(tmpCode);
}
if (i >= tmpcount.size()) {
codelist.add(tmpCode);
}
}
return codelist;
}