Skip to content

Commit ad10f05

Browse files
committed
Merge branch 'main' of https://github.com/dataease/SQLBot
2 parents ec63d65 + 60d63f2 commit ad10f05

File tree

3 files changed

+34
-28
lines changed

3 files changed

+34
-28
lines changed

backend/apps/datasource/api/datasource.py

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@
1818
router = APIRouter(tags=["datasource"], prefix="/datasource")
1919
path = "/opt/sqlbot/data/excel"
2020

21+
2122
@router.get("/ws/{oid}", include_in_schema=False)
2223
async def query_by_oid(session: SessionDep, user: CurrentUser, oid: int) -> List[CoreDatasource]:
2324
if not user.isAdmin:
2425
raise Exception("no permission to execute")
2526
return get_datasource_list(session=session, user=user, oid=oid)
2627

28+
2729
@router.get("/list")
2830
async def datasource_list(session: SessionDep, user: CurrentUser):
2931
return get_datasource_list(session=session, user=user)
@@ -134,32 +136,11 @@ async def upload_excel(session: SessionDep, file: UploadFile = File(...)):
134136
with open(save_path, "wb") as f:
135137
f.write(await file.read())
136138

137-
conn = get_data_engine()
138139
sheets = []
139-
if filename.endswith(".csv"):
140-
df = pd.read_csv(save_path)
141-
tableName = f"sheet1_{hashlib.sha256(uuid.uuid4().bytes).hexdigest()[:10]}"
142-
sheets.append({"tableName": tableName, "tableComment": ""})
143-
column_len = len(df.dtypes)
144-
fields = []
145-
for i in range(column_len):
146-
# build fields
147-
fields.append({"name": df.columns[i], "type": str(df.dtypes[i]), "relType": ""})
148-
# create table
149-
create_table(conn, tableName, fields)
150-
151-
data = [
152-
{df.columns[i]: None if pd.isna(row[i]) else (int(row[i]) if "int" in str(df.dtypes[i]) else row[i])
153-
for i in range(len(row))}
154-
for row in df.values
155-
]
156-
# insert data
157-
insert_data(conn, tableName, fields, data)
158-
else:
159-
df_sheets = pd.read_excel(save_path, sheet_name=None)
160-
# build columns and data to insert db
161-
for sheet_name, df in df_sheets.items():
162-
tableName = f"{sheet_name}_{hashlib.sha256(uuid.uuid4().bytes).hexdigest()[:10]}"
140+
with get_data_engine() as conn:
141+
if filename.endswith(".csv"):
142+
df = pd.read_csv(save_path)
143+
tableName = f"sheet1_{hashlib.sha256(uuid.uuid4().bytes).hexdigest()[:10]}"
163144
sheets.append({"tableName": tableName, "tableComment": ""})
164145
column_len = len(df.dtypes)
165146
fields = []
@@ -176,7 +157,27 @@ async def upload_excel(session: SessionDep, file: UploadFile = File(...)):
176157
]
177158
# insert data
178159
insert_data(conn, tableName, fields, data)
179-
conn.close()
160+
else:
161+
df_sheets = pd.read_excel(save_path, sheet_name=None)
162+
# build columns and data to insert db
163+
for sheet_name, df in df_sheets.items():
164+
tableName = f"{sheet_name}_{hashlib.sha256(uuid.uuid4().bytes).hexdigest()[:10]}"
165+
sheets.append({"tableName": tableName, "tableComment": ""})
166+
column_len = len(df.dtypes)
167+
fields = []
168+
for i in range(column_len):
169+
# build fields
170+
fields.append({"name": df.columns[i], "type": str(df.dtypes[i]), "relType": ""})
171+
# create table
172+
create_table(conn, tableName, fields)
173+
174+
data = [
175+
{df.columns[i]: None if pd.isna(row[i]) else (int(row[i]) if "int" in str(df.dtypes[i]) else row[i])
176+
for i in range(len(row))}
177+
for row in df.values
178+
]
179+
# insert data
180+
insert_data(conn, tableName, fields, data)
180181

181182
os.remove(save_path)
182183
return {"filename": filename, "sheets": sheets}

frontend/src/views/dashboard/editor/Toolbar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ const saveCanvasWithCheck = () => {
5555
opt: 'updateLeaf',
5656
id: dashboardInfo.value.id,
5757
name: dashboardInfo.value.name,
58-
pid: dashboardInfo.value.pid,
58+
pid: 'root',
5959
}
6060
saveDashboardResource(updateParams, function () {
6161
ElMessage({

frontend/src/views/dashboard/utils/canvasUtils.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,12 @@ export const saveDashboardResource = (params: any, callBack: Function) => {
6262
canvas_view_info: JSON.stringify(canvasViewInfo.value),
6363
}
6464
dashboardApi.create_canvas(requestParams).then((res: any) => {
65-
dashboardStore.updateDashboardInfo({ id: res.id, name: params.name, dataState: 'ready' })
65+
dashboardStore.updateDashboardInfo({
66+
id: res.id,
67+
pid: params.pid,
68+
name: params.name,
69+
dataState: 'ready',
70+
})
6671
callBack(res)
6772
})
6873
} else if (params.opt === 'newFolder') {

0 commit comments

Comments
 (0)