// 获取应收账款质押和转让登记信息
            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;
}
 
![]()