|
@@ -41,10 +41,9 @@ class DeviceTypeApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.INQUIRE, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.INQUIRE, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
@ns.doc(id='add_device', description='添加设备类别')
|
|
@@ -68,10 +67,9 @@ class DeviceTypeApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.ADD, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功')
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.ADD, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
@ns.doc(id='update_device', description='修改设备类别')
|
|
@@ -96,10 +94,9 @@ class DeviceTypeApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.UPDATE, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功')
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.UPDATE, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
|
|
@@ -129,10 +126,9 @@ class DeviceListApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.INQUIRE, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.INQUIRE, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
|
|
@@ -176,9 +172,9 @@ class DeviceApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.INQUIRE, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
|
|
|
+
|
|
|
except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.INQUIRE, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
@ns.doc(id='add_device', description='添加设备详情')
|
|
@@ -221,10 +217,9 @@ class DeviceApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.ADD, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功')
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.ADD, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
@ns.doc(id='update_device', description='添加设备')
|
|
@@ -268,10 +263,9 @@ class DeviceApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.UPDATE, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功')
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.UPDATE, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
@ns.doc(id='delete_device', description='删除设备')
|
|
@@ -293,10 +287,9 @@ class DeviceApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.DELETE, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功')
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.DELETE, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
|
|
@@ -306,6 +299,8 @@ batch_delete_user.add_argument(name='devices_id', type=str, required=True, locat
|
|
|
|
|
|
@ns.route('/batch_delete_device')
|
|
|
class BatchDeleteDeviceApi(Resource):
|
|
|
+ method_decorators = [login_required]
|
|
|
+
|
|
|
@ns.doc(id='batch_delete_device', description='批量删除设备')
|
|
|
@ns.expect(batch_delete_user)
|
|
|
def delete(self):
|
|
@@ -329,41 +324,50 @@ class BatchDeleteDeviceApi(Resource):
|
|
|
save_log(request, Module.DEVICE, OperationType.BATCH_DELETE, StatesCode.SUCCESS)
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='批量删除成功')
|
|
|
- except Exception as e:
|
|
|
|
|
|
+ except Exception as e:
|
|
|
save_log(request, Module.DEVICE, OperationType.DELETE, StatesCode.UNKNOWN_ERROR)
|
|
|
-
|
|
|
return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
|
|
|
import_device = reqparse.RequestParser(bundle_errors=True)
|
|
|
import_device.add_argument(name='files', type=FileStorage, required=True, location='files', help='导入设备Excel')
|
|
|
+import_device.add_argument(name='group_id', type=str, required=True, location='form', help='设备类别id')
|
|
|
|
|
|
|
|
|
@ns.route('/import_device')
|
|
|
class ImportDeviceApi(Resource):
|
|
|
+ method_decorators = [login_required]
|
|
|
+
|
|
|
@ns.doc(id='import_device', description='导入模版下载')
|
|
|
def get(self):
|
|
|
"""导入模版下载"""
|
|
|
+ try:
|
|
|
+ manage_path = os.path.dirname(os.path.abspath(__file__))
|
|
|
+ config_yml_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(manage_path))), 'config',
|
|
|
+ 'device.xlsx')
|
|
|
+
|
|
|
+ file_data = open(config_yml_path, 'rb')
|
|
|
+ buf = file_data.read()
|
|
|
+ file_data.close()
|
|
|
|
|
|
- manage_path = os.path.dirname(os.path.abspath(__file__))
|
|
|
- config_yml_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(manage_path))), 'config',
|
|
|
- 'device.xlsx')
|
|
|
+ response = Response(buf)
|
|
|
+ response.headers['Content-Type'] = 'application/octet-stream'
|
|
|
+ response.headers['Content-Disposition'] = 'attachment; filename=%s' % 'device.xlsx'
|
|
|
|
|
|
- file_data = open(config_yml_path, 'rb')
|
|
|
- buf = file_data.read()
|
|
|
- file_data.close()
|
|
|
+ save_log(request, Module.DEVICE, OperationType.IMPORT, StatesCode.SUCCESS)
|
|
|
|
|
|
- response = Response(buf)
|
|
|
- response.headers['Content-Type'] = 'application/octet-stream'
|
|
|
- response.headers['Content-Disposition'] = 'attachment; filename=%s' % 'device.xlsx'
|
|
|
- return response
|
|
|
+ return response
|
|
|
+ except Exception as e:
|
|
|
+ save_log(request, Module.DEVICE, OperationType.IMPORT, StatesCode.UNKNOWN_ERROR)
|
|
|
+ return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))
|
|
|
|
|
|
@ns.doc(id='import_device', description='设备导入')
|
|
|
@ns.expect(import_device)
|
|
|
def post(self):
|
|
|
"""设备导入"""
|
|
|
device_file = request.files.get('files')
|
|
|
+ device_group_id = request.form.get('group_id')
|
|
|
|
|
|
device_file_path = os.path.join(config.common.DEVICE_EXCEL_SAVE_PATH, device_file.name)
|
|
|
device_file.save(device_file_path)
|
|
@@ -373,21 +377,6 @@ class ImportDeviceApi(Resource):
|
|
|
with Session(current_app.engine) as session:
|
|
|
|
|
|
for sheet in xlsx.sheets():
|
|
|
- device_group = sheet.name
|
|
|
-
|
|
|
- try:
|
|
|
- # 添加类别
|
|
|
- add_device_group = insert(DeviceType).values(
|
|
|
- type_name=device_group
|
|
|
- )
|
|
|
- session.execute(add_device_group)
|
|
|
- session.commit()
|
|
|
- except IntegrityError:
|
|
|
- session.rollback()
|
|
|
-
|
|
|
- # 获取类别id
|
|
|
- get_device_group_id = select(DeviceType.id).where(DeviceType.type_name == device_group)
|
|
|
- device_group_id = session.execute(get_device_group_id).scalars().first()
|
|
|
|
|
|
# 添加设备数据
|
|
|
for i in range(1, sheet.nrows): # 逐行打印sheet数据
|