// 获取补充费率协议的文件的uuid List<Record> documentUuids = Db.find(sql); // 判断是否有补充费率协议文件的标志位 boolean isExistDocument = false; // 定义一个临时保存DB中补充费率协议的文件集合 List<Record> documentList =new ArrayList<>(); // 遍历文件集合 for (Record facRecDetTemp: facRecDetTempList){ // 取得本次文件的全套资料文件id String documentId = facRecDetTemp.get("documentId"); // 遍历补充费率协议的文件 for (Record documentRecord:documentUuids){ // 获取DB中补充费率协议的文件uuid String fileId=documentRecord.get("configuDate"); if (documentId.equals(fileId)){ isExistDocument=true; documentList.add(facRecDetTemp); } } } // 如果2个集合不一致 if (!isEquals(documentList,facRecDetTempList)){ // 2、发起保理业务线下审核流程 this.startBpmProcessInstance(ctl.getCurrentUser(),this.getEnv().getFactoringBusinessAuditProcess(), this.buildBpmSource(sourceMap), objToString(receptionInfos.get("receptionUuid")), isHaveDoOfflineDoc ? "1" : "0"); } // 如果标志位true,发起保理补充费率协议线下审核流程 if (isExistDocument){ this.startBpmProcessInstance(ctl.getCurrentUser(),"保理补充费率协议线下审核流程", this.buildBpmSource(sourceMap), objToString(receptionInfos.get("receptionUuid")), isHaveDoOfflineDoc ? "1" : "0"); }
/** * 比较2个list对象是否一致 * @param documentList1 * @param documentList2 * @return true/false 一致/不一致 */ public static boolean isEquals(List<Record> documentList1, List<Record> documentList2) { // 情况1:2个对象一样,则一致 if (documentList1 == documentList2) return true; // 情况2:2个对象长度不一样,则不一致 if (documentList1.size() != documentList2.size()) return false; // 情况3:循环对象1的长度 int n = documentList1.size(); int i = 0; while (n-- != 0) { // 如果有一个,不等于则说明2个集合不一致 if (!documentList1.get(i).equals(documentList2.get(i))) return false; i++; } return true; }