feat: add location registration service

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka_Company
2026-05-11 11:09:38 +08:00
parent 7a3cc42798
commit e352d6dc18
2 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
from fastapi import HTTPException
from sqlalchemy.orm import Session
from app.models.finished_goods import FinishedGoodsLocation
from app.schemas.location import LocationRequest
def register_location(db: Session, req: LocationRequest) -> FinishedGoodsLocation:
existing = (
db.query(FinishedGoodsLocation)
.filter(FinishedGoodsLocation.zongpai_no == req.zongpai_no)
.first()
)
if existing:
raise HTTPException(
status_code=409,
detail={
"error_code": "DUPLICATE_LOCATION",
"message": "该总排号已存在货位记录",
"detail": {
"existing_location": existing.location_code,
"created_at": existing.created_at.isoformat(),
},
},
)
record = FinishedGoodsLocation(
zongpai_no=req.zongpai_no,
location_code=req.location_code,
)
db.add(record)
db.commit()
db.refresh(record)
return record