// 获取应收账款质押和转让登记信息
Record[] registrationRecord = savePdfregistrationNumber(txtValue);
// 储存临时对象的变量
Record temp = null;
//遍历
for (Record rd : registrationRecord) {
rd.set("grantorPledgorName", grantorPledgorName);
//如果当前循环是“初始登记”
if ("初始登记".equals(rd.getStr("registrationType"))) {
// 当临时登记对象不为空的时候,也就是代表当前循环不是第一次,循环,把上次的缓存的对象,放入集合中
if (temp != null) {
chooseRecord.add(temp);
}
//用个临时登记存一下
temp = rd;
// 如果是变更登记
} else if ("变更登记".equals(rd.getStr("registrationType"))) {
// 如果临时对象(也就是上一次的对象)的变更类型:初始登记,就把临时对象重新赋予一下值,赋值成当前次的
if ("初始登记".equals(temp.getStr("registrationType"))) {
temp = rd;
} else {
// 如果临时对象与当前循环对象的类型一致的话,就比时间的大小,大于的情况下,重新赋值临时对象,小于情况不用管
if (compareDate(rd.getStr("registrationTime"), temp.getStr("registrationTime"))) {
temp = rd;
}
}
} else {
//如果是注销登记,设为空
temp = null;
}
}
// 倒数第二条是注销登记,最后一条不是注销登记的情况下,自己额外写入一次
if (temp != null) {
chooseRecord.add(temp);
}
/**
* @param bigPDFRecord pdf信息
* @param zdRecordslist 数据库中登信息
* 解析出来的pdf信息与数据库的信息做比对的方法
*/
public List<Record> comparisonInformation(ArrayList<Record> bigPDFRecord, List<Record> zdRecordslist) {
//定义一个集合来保存,经过对比数据的PDF信息
ArrayList<Record> comparisonPDFRecord = new ArrayList<Record>();
//遍历PDF信息
bigPDFRecord : for (Record pdfRecord : bigPDFRecord) {
//不为空
if(!zdRecordslist.isEmpty()){
// 是否存在Flag
boolean isExistFlag = false;
//遍历数据库中登信息
//找得到进入
zdRecordslist : for (Record zdRecord : zdRecordslist) {
// 如果PDF信息里面的登记编号(1条),在中登信息(所有)里面找,存在,登记状态,如果一条存在就终止zdRecordslist循环,不用再继续下面的循环
// 同时设置Flag为true,以防进入下面的条件中去,下面的条件是当前zdRecordslist 循环中找不到,才进入的条件
if (pdfRecord.getStr("registrationNumber").equals(zdRecord.getStr("registerNumber"))) {
isExistFlag = true;
// 获取中登信息里面的定义状态
String fileState = zdRecord.getStr("fileState");
// 如果定义状态是为:00未定义
if ("00".equals(fileState)) {
pdfRecord.set("fileState", "未定义");
} else if ("10".equals(fileState)) {
pdfRecord.set("fileState", "已定义未解析");
} else if ("11".equals(fileState)) {
pdfRecord.set("fileState", "已定义审核中");
} else if ("13".equals(fileState)) {
pdfRecord.set("fileState", "审核未通过");
}
comparisonPDFRecord.add(pdfRecord);
break zdRecordslist ;
}
}
//找不到进入
if(!isExistFlag){
pdfRecord.set("fileState", "未解析");
comparisonPDFRecord.add(pdfRecord);
}
}else {
pdfRecord.set("fileState", "未解析");
comparisonPDFRecord.add(pdfRecord);
}
}
return comparisonPDFRecord;
}