diff --git a/inventory-backend/app/services/borrow_service.py b/inventory-backend/app/services/borrow_service.py index 9f77335..1541720 100644 --- a/inventory-backend/app/services/borrow_service.py +++ b/inventory-backend/app/services/borrow_service.py @@ -88,6 +88,14 @@ class BorrowApprovalService: if not items: raise ValueError("借库物品列表不能为空") + # ★ 借库申请必填:申请原因;预计归还日期(除非勾选长期借用/不限归还) + if not str(remark or '').strip(): + raise ValueError("借库申请原因不能为空") + _has_indefinite = any(bool(item.get('is_indefinite')) for item in items) + _has_date = any(str(item.get('expected_return_time') or '').strip() for item in items) + if not _has_indefinite and not _has_date: + raise ValueError("请填写预计归还日期,或勾选长期借用(不限归还)") + required_fields = ['name', 'spec_model', 'quantity'] for idx, item in enumerate(items): missing_fields = [f for f in required_fields if f not in item or str(item.get(f) or '').strip() == '']