package foundation.icall.callout.ai;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import foundation.icall.callout.JSONResponse;
|
import foundation.json.JArrayReader;
|
import foundation.json.JObjectReader;
|
import foundation.json.JSONReader;
|
import foundation.json.JType;
|
|
public class OCRResultKingDee {
|
private String batchId;
|
private boolean success;
|
private String errcode;
|
private String description;
|
private String traceId;
|
private JSONReader data;
|
private List<InvoiceVerificationDao> invoiceVerificationList;
|
|
public OCRResultKingDee(String batchId, JSONResponse jsonResponse) throws Exception {
|
this.batchId = batchId;
|
if(jsonResponse == null || jsonResponse.hasErrors()) {
|
success = false;
|
return ;
|
}
|
|
JSONReader jsonReader = jsonResponse.getReader();
|
|
success = "0000".equalsIgnoreCase(jsonReader.getString("errcode"));
|
errcode = jsonReader.getString("errcode");
|
description = jsonReader.getString("description");
|
traceId = jsonReader.getString("traceId");
|
|
JType dataType = jsonReader.getType("data");
|
|
if (JType.Array == dataType) {
|
JArrayReader jsonArray = jsonReader.getReader("data", JType.Array);
|
|
data = jsonArray;
|
invoiceVerificationList = parseBatch(jsonArray);
|
|
return ;
|
}
|
else if (JType.Object == dataType){
|
JObjectReader jsonObject = jsonReader.getReader("data", JType.Object);
|
data = jsonObject;
|
|
InvoiceVerificationDao invoiceVerification = new InvoiceVerificationDao(batchId, jsonObject);
|
invoiceVerificationList = new ArrayList<InvoiceVerificationDao>();
|
invoiceVerificationList.add(invoiceVerification);
|
|
if(!"0000".equalsIgnoreCase(jsonReader.getString("errcode")) ) {
|
invoiceVerification.setBill(false);
|
invoiceVerification.setReal(false);
|
}
|
|
return ;
|
}
|
}
|
|
private List<InvoiceVerificationDao> parseBatch(JArrayReader jsonArray) throws Exception {
|
List<InvoiceVerificationDao> invoiceVerificationList = new ArrayList<InvoiceVerificationDao>();
|
InvoiceVerificationDao invoiceVerification;
|
|
for (JSONReader jsonReader : jsonArray) {
|
invoiceVerification = new InvoiceVerificationDao(batchId, jsonReader);
|
invoiceVerificationList.add(invoiceVerification);
|
}
|
|
return invoiceVerificationList;
|
}
|
|
public String getErrcode() {
|
return errcode;
|
}
|
|
public void setErrcode(String errcode) {
|
this.errcode = errcode;
|
}
|
|
public boolean isSuccess() {
|
return success;
|
}
|
|
public void setSuccess(boolean isSuccess) {
|
this.success = isSuccess;
|
}
|
|
public String getDescription() {
|
return description;
|
}
|
|
public void setDescription(String description) {
|
this.description = description;
|
}
|
|
public String getTraceId() {
|
return traceId;
|
}
|
|
public void setTraceId(String traceId) {
|
this.traceId = traceId;
|
}
|
|
public JSONReader getData() {
|
return data;
|
}
|
|
public void setData(JSONReader data) {
|
this.data = data;
|
}
|
|
public List<InvoiceVerificationDao> getInvoiceVerificationList() {
|
return invoiceVerificationList;
|
}
|
|
public void setInvoiceVerificationList(List<InvoiceVerificationDao> invoiceVerificationList) {
|
this.invoiceVerificationList = invoiceVerificationList;
|
}
|
|
|
|
}
|