feat(borrow): 借库申请后端必填校验——申请原因、预计归还日期(长期借用除外)
- submit_approval 校验:申请原因非空;未勾长期借用时必须有 expected_return_time,否则 ValueError 拦截
This commit is contained in:
@ -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() == '']
|
||||
|
||||
Reference in New Issue
Block a user