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;
}
}
}
}
}
}