2021-04-02 15:49

/**
* 处理外部文书案件
* @param registerId
* @param processId
* @return
*/
public Map getPointView(String registerId,Integer processId) throws Exception {
Process pro = process.findById(processId);
System.out.println("==========="+registerId+"-----"+processId);
// 反射创建对象
Model obj = getObj(pro.getClassName());
//关联案件信息
FinishRecord record = finishRecord.findByProcessId(registerId, processId);
if (null == record) {
throw new Exception("请检查信息是否填写完整");
}
// System.out.println("333333333333333333==="+registerId+processId);
Integer recordId = record.getRecordId();
obj = obj.findById(recordId);
// 解析json
String json = JsonKit.toJson(obj);
Map param = new JsonUtil(json).getAsMap();
//填充主表信息
CaseZhu adviceNoteById = adviceNote.findById(registerId);
json = JsonKit.toJson(adviceNoteById);
Map stringObjectMap = new JsonUtil(json).getAsMap();
param.putAll(stringObjectMap);
// 遍历map剔除信息不完整
for (Map.Entry set : param.entrySet()) {
if (null == set.getValue()) {
param.put(set.getKey(), "");
}
if ("register_id".equals(set.getKey())) {
String str = set.getValue().toString();
param.put(set.getKey(), Double.valueOf(str).intValue());
}
}
return param;
}
/**
* 通过反射创建对象
*
* @param name class类名
* @param 不确定的子类类型
* @return 子类对象
*/
public T getObj(String name) {
return (T) reflection("com.main.model." + name);
}
/**
* 通过反射创建对象
*
* @param name class名称
* @param 不确定的类型
* @return 不确定类型的对象
*/
public static > T reflection(String name) {
T t = null;
try {
Class c = (Class) Class.forName(name);
t = c.newInstance();
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
System.err.println("请确认class名是否正确");
}
return t;
}