feat: 借库审批支持手动完结——已通过(status=1)单可强制完结,库管/主管/超管可见
This commit is contained in:
@ -277,6 +277,29 @@ def approve_borrow_request(request_id):
|
||||
return jsonify({'code': 500, 'msg': f'服务器内部错误: {str(e)}'}), 500
|
||||
|
||||
|
||||
@trans_bp.route('/borrow/request/<int:request_id>/close', methods=['POST'])
|
||||
@jwt_required()
|
||||
@permission_required('op_borrow_approval')
|
||||
def close_borrow_request(request_id):
|
||||
"""
|
||||
手动完结已通过的借库审批单(status 1-已通过 → 3-已完成)
|
||||
参照出库审批的完结逻辑,供库管/主管在未走扫码借出时强制完结
|
||||
"""
|
||||
try:
|
||||
user_id, _ = get_current_user_info()
|
||||
if not user_id:
|
||||
return jsonify({'code': 401, 'msg': '用户未登录'}), 401
|
||||
|
||||
success, message, approval = BorrowApprovalService.mark_completed(request_id)
|
||||
if not success:
|
||||
return jsonify({'code': 400, 'msg': message}), 400
|
||||
|
||||
return jsonify({'code': 200, 'msg': message, 'data': approval.to_dict() if approval else None}), 200
|
||||
except Exception as e:
|
||||
traceback.print_exc()
|
||||
return jsonify({'code': 500, 'msg': f'服务器内部错误: {str(e)}'}), 500
|
||||
|
||||
|
||||
# --- 获取借库审批单列表 ---
|
||||
@trans_bp.route('/borrow/request', methods=['GET'])
|
||||
@jwt_required()
|
||||
|
||||
Reference in New Issue
Block a user