Browse Source

BI-69758 fix: 表关联丢失问题

upgrade
Zhenfei.Li 5 years ago
parent
commit
9db8157fa2
  1. 51
      src/main/java/com/fr/plugin/decision/request/handler/UpgradeHandler.java

51
src/main/java/com/fr/plugin/decision/request/handler/UpgradeHandler.java

@ -6,6 +6,7 @@ import com.finebi.burger.api.bean.configuration.table.field.FineBusinessField;
import com.finebi.burger.api.request.configuration.table.DataBaseAddTableItemRequestBean; import com.finebi.burger.api.request.configuration.table.DataBaseAddTableItemRequestBean;
import com.finebi.burger.api.request.configuration.table.DataBaseAddTableRequestBean; import com.finebi.burger.api.request.configuration.table.DataBaseAddTableRequestBean;
import com.finebi.burger.api.response.configuration.table.TableAddResponseBean; import com.finebi.burger.api.response.configuration.table.TableAddResponseBean;
import com.finebi.common.impl.vo.relation.FineBusinessRelation;
import com.finebi.common.impl.vo.table.FineDBBusinessTable; import com.finebi.common.impl.vo.table.FineDBBusinessTable;
import com.finebi.direct.burger.api.service.FineTableService; import com.finebi.direct.burger.api.service.FineTableService;
import com.finebi.direct.burger.api.service.FineUserInfoService; import com.finebi.direct.burger.api.service.FineUserInfoService;
@ -137,35 +138,39 @@ public class UpgradeHandler extends HWAbstractHandler {
if (StringUtils.equals("success", dmlResult.getString("status")) && dmlResult.getBoolean("addLink")) { if (StringUtils.equals("success", dmlResult.getString("status")) && dmlResult.getBoolean("addLink")) {
ExcelLinkService.getInstance().addLink(name, connection, schema, tableName, createUser); ExcelLinkService.getInstance().addLink(name, connection, schema, tableName, createUser);
FineLoggerFactory.getLogger().info("HW_excel导入:FineDB 新增数据成功" + name); FineLoggerFactory.getLogger().info("HW_excel导入:FineDB 新增数据成功" + name);
List<FineBusinessRelation> fineBusinessRelations = CellCreator.getCellProvider().relationPathCell().getRelationsByTableNameWithoutAuth(fineBusinessTable.getName());
CellCreator.getCellProvider().tableCell().removeTable(fineBusinessTable.getName(), CellCreator.getCellProvider().userCellProvider().authorityCell().getSuperAuthority()); CellCreator.getCellProvider().tableCell().removeTable(fineBusinessTable.getName(), CellCreator.getCellProvider().userCellProvider().authorityCell().getSuperAuthority());
ObjectMapper mapper = new ObjectMapper();
JSONObject table = JSONObject.create().put("tableName", fineBusinessTable.getName()).put("connectionName", connection);
JSONArray tables = JSONArray.create().put(table);
JSONObject tablesBean = JSONObject.create().put("tables", tables);
try{
UserAuthority authorityUser = getFineUserInfoService().getUserAuthority(req);
String packid = "__my_analysis__" + authorityUser.getUser().getInfo().getUserId() + "1";
// String packid = "a94ee0f2b79f4a1e907e4def59a23454";
try {
String tableString = tablesBean.toString();
FineBusinessTable[] businessTables = createBusinessTablesFromDBNewAddTableInfo(mapper.readValue(tableString, DataBaseAddTableRequestBean.class), authorityUser.getUser().getInfo().getUserId());
TableAddResponseBean responed = getTableService().addNewTable(packid, authorityUser, businessTables);
CellCreator.getCellProvider().relationPathCell().addRelations(fineBusinessRelations, authorityUser);
addDbResult.put(FineRespond.success(responed));
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
catch(Exception e){
e.printStackTrace();
}
} }
} catch(Exception e){ } catch(Exception e){
e.printStackTrace(); e.printStackTrace();
} }
ObjectMapper mapper = new ObjectMapper();
JSONObject table = JSONObject.create().put("tableName", fineBusinessTable.getName()).put("connectionName", connection);
JSONArray tables = JSONArray.create().put(table);
JSONObject tablesBean = JSONObject.create().put("tables", tables);
try{
UserAuthority authorityUser = getFineUserInfoService().getUserAuthority(req);
String packid = "__my_analysis__" + authorityUser.getUser().getInfo().getUserId() + "1";
try {
String tableString = tablesBean.toString();
FineBusinessTable[] businessTables = createBusinessTablesFromDBNewAddTableInfo(mapper.readValue(tableString, DataBaseAddTableRequestBean.class), authorityUser.getUser().getInfo().getUserId());
TableAddResponseBean responed = getTableService().addNewTable(packid, authorityUser, businessTables);
addDbResult.put(FineRespond.success(responed));
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
catch(Exception e){
e.printStackTrace();
}
} }
}); });

Loading…
Cancel
Save