车间,设备,采集端添加编号唯一过滤

iot
DESKTOP-1JS6RSM\Admin 3 months ago
parent 194dfcf2a3
commit 5d58002118

@ -59,6 +59,17 @@ def add_device(json_data: dict):
添加设备信息
"""
# 判断设备编号是否唯一
if json_data.get("device_number") is not None:
if db.session.scalar(
select(
exists().where(
IotDevice.device_number == json_data.get("device_number")
)
)
):
raise BizException("同编号设备已存在")
device = IotDevice(**json_data)
device.status = 0
db.session.add(device)
@ -76,6 +87,17 @@ def update_device(id: int, json_data: dict):
更新设备信息
"""
# 判断设备编号是否唯一
if json_data.get("device_number") is not None:
if db.session.scalar(
select(
exists().where(
IotDevice.device_number == json_data.get("device_number"), IotDevice.id != id
)
)
):
raise BizException("同编号设备已存在")
device = db.session.scalar(select(IotDevice).filter_by(id=id))
if not device:
raise BizException("设备信息不存在")

@ -60,6 +60,17 @@ def add_endpoint(json_data: dict):
添加采集端信息
"""
# 判断采集端编号是否唯一
if json_data.get("endpoint_number") is not None:
if db.session.scalar(
select(
exists().where(
IotEndpoint.endpoint_number == json_data.get("endpoint_number")
)
)
):
raise BizException("同编号采集端已存在")
endpoint = IotEndpoint(**json_data)
device = db.session.scalar(select(IotDevice).options(noload(IotDevice.workshop)).filter_by(id = endpoint.device_id))
if not device:
@ -81,6 +92,17 @@ def update_endpoint(id: int, json_data: dict):
更新采集端信息
"""
# 判断采集端编号是否唯一
if json_data.get("endpoint_number") is not None:
if db.session.scalar(
select(
exists().where(
IotEndpoint.endpoint_number == json_data.get("endpoint_number"), IotEndpoint.id != id
)
)
):
raise BizException("同编号采集端已存在")
endpoint = db.session.scalar(
select(IotEndpoint)
.options(noload(IotEndpoint.workshop), noload(IotEndpoint.device))

@ -13,7 +13,7 @@ from .schemas.workshop import (
from iti.applications.common import ModelFilter
from iti.applications.common.exceptions.biz_exp import BizException
from flask_jwt_extended import jwt_required
from sqlalchemy import select
from sqlalchemy import select, delete, exists
from sqlalchemy.sql.functions import func
from iti.applications.common import permission
@ -58,6 +58,17 @@ def add_workshop(json_data: dict):
添加车间信息
"""
# 判断车间编号是否唯一
if json_data.get("workshop_number") is not None:
if db.session.scalar(
select(
exists().where(
IotWorkshop.workshop_number == json_data.get("workshop_number")
)
)
):
raise BizException("同编号车间已存在")
workshop = IotWorkshop(**json_data)
workshop.status = 0
db.session.add(workshop)
@ -74,6 +85,17 @@ def update_workshop(id: int, json_data: dict):
更新车间信息
"""
# 判断车间编号是否唯一
if json_data.get("workshop_number") is not None:
if db.session.scalar(
select(
exists().where(
IotWorkshop.workshop_number == json_data.get("workshop_number"), IotWorkshop.id != id
)
)
):
raise BizException("同编号车间已存在")
workshop = db.session.scalar(select(IotWorkshop).filter_by(id=id))
if not workshop:
raise BizException("车间信息不存在")

Loading…
Cancel
Save