fix(api): gracefully handle integrity error on inbound record deletion
This commit is contained in:
@ -4,6 +4,7 @@ from app.models.inbound.buy import StockBuy
|
||||
from app.models.base import MaterialBase
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from sqlalchemy import or_, func, text, and_
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
import traceback
|
||||
import json
|
||||
|
||||
@ -285,6 +286,9 @@ class BuyInboundService:
|
||||
db.session.delete(stock)
|
||||
db.session.commit()
|
||||
return material_name
|
||||
except IntegrityError:
|
||||
db.session.rollback()
|
||||
raise ValueError("该入库单已被出库、盘点或借还等业务关联,为保证账目完整,禁止删除!")
|
||||
except Exception as e:
|
||||
db.session.rollback()
|
||||
raise e
|
||||
|
||||
Reference in New Issue
Block a user