• json 数据 ,递归处理获取 数据


        /**
         * 获取旧供应商信息
         * @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("
    ", "");
                    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("
    ", "");
                    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("
    ", "");
    //                            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);
            
        }
        
  • 相关阅读:
    按比例缩放图片
    Centos8中安装并配置VDO来优化存储空间
    如何使用wipefs命令擦除磁盘上的签名
    cpufetch – 查询cpu架构信息的工具
    告别App,数字人民币钱包来了
    微软拿掉“测试版”的头衔,正式推出Windows 11 PC健康检查工具
    Find命令查找最近几天修改的文件
    Linux中source命令的使用方式
    稍微停顿,在思考一下。
    旺旺协议分析相关资料
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/11376840.html
Copyright © 2020-2023  润新知