package com.jiuqi.mobile.nigo.comeclose.utils; import java.lang.reflect.Field; import java.util.Date; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.KindsOfCarBean; public class BeanUtil { public static void comecloseBeanToLbsBean(Object comeclose, Object lbs) { Field[] objs = SqlUtils.getAllFields(comeclose.getClass()); Field[] fs = SqlUtils.getAllFields(lbs.getClass()); for (Field f : fs) { if (f.getName().equals("map")) { continue; } for (Field o : objs) { if (f.getName().equals(o.getName()) && f.getType().equals(o.getType())) { f.setAccessible(true); o.setAccessible(true); try { f.set(lbs, o.get(comeclose)); } catch (Exception e) { continue; } } else if (f.getName().equals(o.getName()) && SqlUtils.isIn(f.getType().getName(), "java.lang.Long", "long") && o.getType().equals(Date.class)) { f.setAccessible(true); o.setAccessible(true); try { Object date = o.get(comeclose); if (date instanceof Date) { f.set(lbs, ((Date) date).getTime()); } } catch (Exception e) { continue; } // DataDictionaryBean } else if ((f.getName().equals(o.getName()) || f.getName() .equals(o.getName() + "Code")) && SqlUtils.isIn(f.getType().getName(), "java.lang.Integer", "int", "java.lang.Long", "long") && o.getType().equals(DataDictionaryBean.class)) { f.setAccessible(true); o.setAccessible(true); try { Object dd = o.get(comeclose); if (dd instanceof DataDictionaryBean) { f.set(lbs, ((DataDictionaryBean) dd).getCode()); } } catch (Exception e) { continue; } // AdminAreaBean } else if ((f.getName().equals(o.getName()) || f.getName() .equals(o.getName() + "Code")) && SqlUtils.isIn(f.getType().getName(), "java.lang.Long", "long") && o.getType().equals(AdminAreaBean.class)) { f.setAccessible(true); o.setAccessible(true); try { Object dd = o.get(comeclose); if (dd instanceof AdminAreaBean) { f.set(lbs, ((AdminAreaBean) dd).getCode()); } } catch (Exception e) { continue; } } else if ((f.getName().equals(o.getName()) || f.getName() .equals(o.getName() + "Code")) && SqlUtils.isIn(f.getType().getName(), "java.lang.Long", "long") && o.getType().equals(KindsOfCarBean.class)) { f.setAccessible(true); o.setAccessible(true); try { Object dd = o.get(comeclose); if (dd instanceof KindsOfCarBean) { f.set(lbs, ((KindsOfCarBean) dd).getCode()); } } catch (Exception e) { continue; } } } } } public static void lbsBeanToComecloseBean(Object lbs, Object comeclose) { Field[] objs = SqlUtils.getAllFields(comeclose.getClass()); Field[] fs = SqlUtils.getAllFields(lbs.getClass()); for (Field o : objs) { for (Field f : fs) { if (f.getName().equals(o.getName()) && f.getType().equals(o.getType())) { f.setAccessible(true); o.setAccessible(true); try { o.set(comeclose, f.get(lbs)); } catch (Exception e) { continue; } } } } } }