package com.yihu.jw.hospital.prescription.service.entrance.util;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * Created by zdm on 2019/5/27.
 */
public class ConvertUtil {

    /**
     * 返回单个对象数据解析
     * @param obj
     * @return
     * @throws Exception
     */
    public static JSONObject convertObjectEnvelopByString(String obj)throws Exception{
        JSONObject jsonObject=JSONObject.fromObject(obj);
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
            JSONObject jsonObjectMgsInfo=(JSONObject)jsonObject.get("MsgInfo");
            if(null!=jsonObjectMgsInfo){
                return  (JSONObject)jsonObjectMgsInfo.get("Msg");
            }else {
                return null;
            }
        }else {
            return null;
        }
    }

    /**
     * 返回对象数组数据解析
     * @param obj
     * @return
     * @throws Exception
     */
    public static  JSONArray convertListEnvelopByString(String obj)throws Exception{
        JSONObject jsonObject=JSONObject.fromObject(obj);
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
            JSONArray jsonObjectMgsInfo=(JSONArray)jsonObject.get("MsgInfo");
            if(null!=jsonObjectMgsInfo){
                return jsonObjectMgsInfo;
            }else {
                return null;
            }
        }else {
            return  null;
        }
    }

    /**
     * 返回对象数组数据解析
     * @param obj
     * @return
     * @throws Exception
     */
    public static  JSONArray convertListEnvelopInBodyRow(String obj)throws Exception{
        JSONObject jsonObject=JSONObject.fromObject(obj);
        JSONArray jsonArray=new JSONArray();
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
            JSONArray jsonObjectMgsInfo=JSONArray.fromObject(jsonObject.get("MsgInfo"));
            if(null!=jsonObjectMgsInfo){
                for (Object object : jsonObjectMgsInfo) {
                    JSONObject jsonObjectBody=(JSONObject)object;
                    jsonObjectBody= (JSONObject)jsonObjectBody.get("body");
                    if(null!=jsonObjectBody){
                        jsonArray.add(jsonObjectBody.get("row")) ;
                    }
                }
                return jsonArray;
            }else {
                return null;
            }
        }else {
            return  null;
        }
    }

    /**
     * 返回对象数组数据解析
     * @param obj
     * @return
     * @throws Exception
     */
    public  static JSONArray convertListEnvelopInRow(String obj)throws Exception{
        JSONObject jsonObject=JSONObject.fromObject(obj);
        JSONArray jsonArray=new JSONArray();
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
            JSONArray jsonObjectMgsInfo=(JSONArray)jsonObject.get("MsgInfo");
            if(null!=jsonObjectMgsInfo){
                for (Object object : jsonObjectMgsInfo) {
                    JSONObject jsonObjectBody=(JSONObject)object;
                    if(null!=jsonObjectBody){
                        jsonArray.add(jsonObjectBody.get("row")) ;
                    }
                }
                return jsonArray;
            }else {
                return null;
            }
        }else {
            return  null;
        }
    }

    /**
     * 返回对象数组数据解析
     * @param obj
     * @return
     * @throws Exception
     */
    public static  JSONArray convertListEnvelopInBody(String obj)throws Exception{
        JSONObject jsonObject=JSONObject.fromObject(obj);
        JSONArray jsonArray=new JSONArray();
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
            JSONArray jsonObjectMgsInfo=(JSONArray)jsonObject.get("MsgInfo");
            if(null!=jsonObjectMgsInfo){
                for (Object object : jsonObjectMgsInfo) {
                    JSONObject jsonObjectBody=(JSONObject)object;
                    Object objectBody=jsonObjectBody.get("body");
                    if(objectBody instanceof JSONArray){
                        net.sf.json.JSONArray jsonArrayBody = (net.sf.json.JSONArray) jsonObjectBody.get("body");
                        for (Object objectBodySub : jsonArrayBody) {
                            jsonArray.add(objectBodySub);
                        }
                    }else {
                        jsonArray.add(jsonObjectBody) ;

                    }
                }
                return jsonArray;
            }else {
                return null;
            }
        }else {
            return  null;
        }
    }

    /**
     * 返回对象数组数据解析
     * @param obj
     * @return
     * @throws Exception
     */
    public static  JSONObject convertListEnvelopInRequest(String obj)throws Exception{
        JSONObject jsonObject=JSONObject.fromObject(obj);
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
            JSONArray jsonObjectMgsInfo=(JSONArray)jsonObject.get("MsgInfo");
            if(null!=jsonObjectMgsInfo){
                for (Object object : jsonObjectMgsInfo) {
                    JSONObject jsonObjectBody = (JSONObject) object;
                    return jsonObjectBody;
                }
            }
        }
        return  null;
    }

    /**
     * BS10112处方开方接口返回对象数组数据解析
     * @param obj
     * @return
     * @throws Exception
     */
    public static  JSONObject convertListEnvelopInRequestBS10112(String obj)throws Exception{
        JSONObject jsonObject=JSONObject.fromObject(obj);
        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
            JSONArray jsonObjectMgsInfo=(JSONArray)jsonObject.get("MsgInfo");
            if(null!=jsonObjectMgsInfo){
                for (Object object : jsonObjectMgsInfo) {
                    JSONObject jsonObjectBody = (JSONObject) object;
                    Object objectBody=jsonObjectBody.get("resquest");
                    jsonObjectBody = (JSONObject) objectBody;
                    return jsonObjectBody;
                }
            }
        }
        return  null;
    }

    /**
     * 返回对象数组数据解析
     * @param obj
     * @return
     * @throws Exception
     */
//    public static  JSONArray convertListEnvelopInBodyRowMS02003(String obj)throws Exception{
//        JSONObject jsonObject=JSONObject.fromObject(obj);
//        JSONArray jsonArray=new JSONArray();
//        if(null!=jsonObject&&"1".equals(jsonObject.get("code").toString())){
//            JSONArray jsonObjectMgsInfo=(JSONArray)jsonObject.get("MsgInfo");
//            if(null!=jsonObjectMgsInfo){
//                for (Object object : jsonObjectMgsInfo) {
//                    net.sf.json.JSONObject jsonArraySub = (net.sf.json.JSONObject) object;
//                    jsonObjectMgsInfo=(JSONArray)jsonArraySub.get("body");
//                    if(jsonObjectMgsInfo instanceof JSONArray)
//                        for (Object objectSub : jsonObjectMgsInfo) {
//
//                        }
//                        }
//
//                }
//                return jsonArray;
//            }else {
//                return null;
//            }
//        }else {
//            return  null;
//        }
//    }
}
