/**
* 获取旧供应商信息
* @param json
* @return
* @throws ActiveRecordException
*/
public Record getSuppRec(JSONArray json,String suppliersName) throws ActiveRecordException{
Record supp = null;
//默认不存在
if(json == null || json.size() == 0){
return supp;
}
String beforeName = " ";
for (int j = 0; j < json.size(); j++) {
//获取当前循环的JSON对象
JSONObject obj = JSONObject.parseObject(json.getString(j));
//获取BeforeContent信息
String BeforeContent=obj.getString("BeforeContent");
//获取afterContent信息
String afterContent=obj.getString("AfterContent");
if (StringUtils.notBlank(BeforeContent)){
//通过beforename查询供应商名称是否存在
BeforeContent = BeforeContent.replace("\n", "");
String[] nameArray = BeforeContent.split(":");
beforeName = nameArray[1].trim().substring(0,nameArray[1].length() - 1);
Record rec = null;
rec = Db.findFirst("select uuid,suppliers_name,certificates_no,op_from,op_to from biz_suppliers where sys_status=1 and suppliers_name=?",beforeName);
if(rec == null){
rec = Db.findFirst("select uuid,suppliers_name,certificates_no,op_from,op_to from biz_suppliers where sys_status=1 and (suppliers_name=? or suppliers_name=?)",BCConvertUtils.bj2qj(beforeName),BCConvertUtils.qj2bj(beforeName));
}
if(rec != null){
supp = rec;
break;
}
}
if (StringUtils.notBlank(afterContent)) {
//通过aftername查询供应商名称是否存在
afterContent = afterContent.replace("\n", "");
String[] nameArray = afterContent.split(":");
beforeName = nameArray[1].trim().substring(0,nameArray[1].length() - 1);
Record rec = null;
rec = Db.findFirst("select uuid,suppliers_name,certificates_no,op_from,op_to from biz_suppliers where sys_status=1 and suppliers_name=?",beforeName);
if(rec == null){
rec = Db.findFirst("select uuid,suppliers_name,certificates_no,op_from,op_to from biz_suppliers where sys_status=1 and (suppliers_name=? or suppliers_name=?)",BCConvertUtils.bj2qj(beforeName),BCConvertUtils.qj2bj(beforeName));
}
if(rec != null){
supp = rec;
break;
}
}
// if (obj.getString("ProjectName")!=null && (obj.getString("ProjectName").startsWith("名称变更") || obj.getString("ProjectName").equals("企业名称")
// || obj.getString("ProjectName").equals("名称"))) {
// if(obj.getString("BeforeContent").lastIndexOf("企业名称")>-1)
// {
// String[] array = BCConvertUtils.qj2bj(obj.getString("AfterContent")).split(";");
// for(String name:array)
// {
// if(name.lastIndexOf("企业名称")>-1)
// {
// name = name.replace("\n", "");
// String[] nameArray = name.split(":");
// beforeName = nameArray[1].trim();
// }
// }
// }
// else
// {
// beforeName = obj.getString("BeforeContent");
// }
// //通过beforename查询供应商名称是否存在
// Record rec = null;
// rec = Db.findFirst("select uuid,suppliers_name,certificates_no,op_from,op_to from biz_suppliers where sys_status=1 and suppliers_name=?",beforeName);
// if(rec == null){
// rec = Db.findFirst("select uuid,suppliers_name,certificates_no,op_from,op_to from biz_suppliers where sys_status=1 and (suppliers_name=? or suppliers_name=?)",BCConvertUtils.bj2qj(beforeName),BCConvertUtils.qj2bj(beforeName));
// }
// if(rec != null){
// supp = rec;
// break;
// }
// }
}
return supp;
}
/**
* 这是以变更之前供应商名字来查的数据 (beforeSuppliersName 用改前的名字,来找他,改后的名字)
* 获取工商接口中改动后的供应商名称
* @param json 工商接口返回的数据
* @param oldSuppliersName 审核的供应商名字(未改动之前)
* @return
* @throws ActiveRecordException
*/
public static String getNewSuppRec(JSONArray json ,String beforeSuppliersName) throws ActiveRecordException{
String afterContent= beforeSuppliersName;
boolean flag = false;
for (int j = 0; j < json.size();j++) {
// 获取当前的循环的JSON对象
JSONObject obj = JSONObject.parseObject(json.getString(j));
// 获取当前循环的未改动以前的数据
String beforeContent=obj.getString("BeforeContent");
// 如果当前循环的未改动以前的数据含 审核的供应商名字
if (beforeContent.contains(beforeSuppliersName)) {
// 则获取当前循环改动后的数据
afterContent=obj.getString("AfterContent");
flag = true;
break;
}
}
// 标志位为false,直接结束
if (!flag) {
return afterContent ;
}
return getNewSuppRec( json , afterContent);
}
public static void main(String[] args) throws ActiveRecordException {
String lo = "{\"ProjectName\":\"企业基本信息\",\"ChangeDate\":\"2019-06-21\",\"AfterContent\":\"名称:厦门3垒智建设有限公司,\",\"BeforeContent\":\"名称:厦门2垒智建设有限公司,\"}";
String lo1 = "{\"ProjectName\":\"企业基本信息\",\"ChangeDate\":\"2019-06-21\",\"AfterContent\":\"名称:厦门2垒智建设有限公司,\",\"BeforeContent\":\"名称:厦门1垒智建设有限公司,\"}";
String lo2 = "{\"ProjectName\":\"企业基本信息\",\"ChangeDate\":\"2019-06-21\",\"AfterContent\":\"名称:厦门1垒智建设有限公司,\",\"BeforeContent\":\"名称:厦门垒智建设有限公司,\"}";
// String lo3 = "{\"ProjectName\":\"企业基本信息\",\"ChangeDate\":\"2019-06-21\",\"AfterContent\":\"名称:厦门4垒智建设有限公司,\",\"BeforeContent\":\"名称:厦门3垒智建设有限公司,\"}";
// String lo4 = "{\"ProjectName\":\"企业基本信息\",\"ChangeDate\":\"2019-06-21\",\"AfterContent\":\"名称:厦门5垒智建设有限公司,\",\"BeforeContent\":\"名称:厦门4垒智建设有限公司,\"}";
JSONObject json = JSONObject.parseObject(lo);
JSONObject json1 = JSONObject.parseObject(lo1);
JSONObject json2 = JSONObject.parseObject(lo2);
// JSONObject json3 = JSONObject.parseObject(lo3);
// JSONObject json4 = JSONObject.parseObject(lo4);
JSONArray jsonArray = new JSONArray();
jsonArray.add(json);
jsonArray.add(json1);
jsonArray.add(json2);
// jsonArray.add(json3);
// jsonArray.add(json4);
// 这是用改前的名字,来找他,改后的名字
String abc = getNewSuppRec(jsonArray,"厦门垒智建设有限公司");
// abc 与 厦门垒智建设有限公司 这个厦门垒智建设有限公司 是最新的
// abc 与 厦门垒智建设有限公司 这个厦门垒智建设有限公司 是不一样最新的
String bc = getNewSuppRec(jsonArray,"厦门垒智建设有限公司");
// 如果 abc 为空,说明
System.out.println(abc);
}