@Override public ModuleService getModule(Serializable moduleID) { Module module; if (moduleID instanceof Long) module = (Module) moduleEngine.getModule((Long) moduleID); else module = (Module) moduleEngine.getModule(moduleID.toString()); if (module == null) return null; SFTSystem mainSystem = (SFTSystem) moduleEngine.getSystem(module); // TableService mainDataTable = this.makeBizTable(mainSystem); DemsyModuleService ret = new DemsyModuleService(module, mainDataTable); // List<TableService> childrenDataTables = new ArrayList(); List<IBizField> fkFields = bizEngine.getFieldsOfSlave(mainSystem); for (IBizField fkField : fkFields) { SFTSystem fkSystem = (SFTSystem) fkField.getSystem(); DemsyEntityTableService bizTable = this.makeBizTable(fkSystem); childrenDataTables.add(bizTable); // 设置该子表通过哪个字段引用了主表? bizTable.set("fkfield", fkField.getPropName()); // TODO:应通过模块表达式来解析数据表对象,目前暂时不支持模块对数据表的引用表达式。 } ret.setChildrenDataTables(childrenDataTables); return ret; }