package weaver.interfaces.htsc.GlobatTools;

import com.sap.db.jdbc.Hash;
import weaver.general.Util;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/**
 * @author xf
 * @version 1.0.0
 * @ClassName TableModelUtil.java
 * @createTime 2021年12月27日 11:30:00
 */
public class TableModelUtil {

    /*
     * @title 实体类数据写入
     * @remark 备注信息
     * @author xf
     * @Params：
       * @param: ob
     * @param: name
     * @updateTime 2021/12/27 14:00
     * @return: java.lang.Object
     */
    public static Boolean createtable(Object ob )throws Exception{

            Field[] methodsarray = ob.getClass().getDeclaredFields();
            Map<String, String> innerMap = new HashMap<>();
            Arrays.stream(methodsarray).forEach((Field f) -> {
                    try {
                        Method m = ob.getClass().getMethod("get" + getMethodName(f.getName()));
                       if(!"id".equals(f.getName())){
                           innerMap.put(f.getName(), Util.null2String(m.invoke(ob)));
                       }
                    }catch (Exception exo){
                    }

            });
            String tablename=ob.getClass().getSimpleName();
            if(innerMap.size()<=0 || "".equals(tablename)){
                return  false;
            }
          return   JAVATools.Excetesql(innerMap,tablename);
    }

    private static String getMethodName(String fildeName) throws Exception{
                 byte[] items = fildeName.getBytes();
                 items[0] = (byte) ((char) items[0] - 'a' + 'A');
                 return new String(items);
   }

}
