feat(borrow,outbound): 默认免审批改造——命中物料需审批才走原流程
- models/base.py 加 is_approval_required 列及 isApprovalRequired 序列化;field_permissions 登记 - 新增 POST /inbound/base/batch-approval(批量设需审批,仿批量质检) - borrow_service.submit_approval / outbound_service.create_request:明细含需审批物料→须选审批人走原审批;否则创建即 status=1(待库管执行)、不发审批邮件 - 判定按 (name,spec_model) 反查启用物料
This commit is contained in:
@ -539,6 +539,44 @@ def batch_set_inspection():
|
||||
return jsonify({"code": 500, "msg": f"批量设置强制质检失败: {str(e)}"}), 500
|
||||
|
||||
|
||||
# ==============================================================================
|
||||
# 2.8 批量设置“出库/借库需审批” (POST /api/v1/inbound/base/batch-approval)
|
||||
# ==============================================================================
|
||||
@inbound_base_bp.route('/batch-approval', methods=['POST'])
|
||||
@permission_required('material_list:operation')
|
||||
def batch_set_approval_required():
|
||||
"""
|
||||
批量设置物料“出库/借库需审批”标记(仿强制质检批量接口)。
|
||||
请求体: { "ids": [1,2,3], "isApprovalRequired": true }
|
||||
"""
|
||||
try:
|
||||
data = request.get_json()
|
||||
if not data:
|
||||
return jsonify({"code": 400, "msg": "No data provided"}), 400
|
||||
|
||||
ids = data.get('ids', [])
|
||||
is_approval_required = bool(data.get('isApprovalRequired', False))
|
||||
if not ids:
|
||||
return jsonify({"code": 400, "msg": "请选择要设置的物料"}), 400
|
||||
|
||||
updated_count = 0
|
||||
for base_id in ids:
|
||||
material = MaterialBase.query.get(base_id)
|
||||
if material:
|
||||
material.is_approval_required = is_approval_required
|
||||
updated_count += 1
|
||||
db.session.commit()
|
||||
return jsonify({
|
||||
"code": 200,
|
||||
"msg": f"批量设置成功,已更新 {updated_count} 条记录",
|
||||
"data": {"updated": updated_count}
|
||||
})
|
||||
except Exception as e:
|
||||
db.session.rollback()
|
||||
current_app.logger.error(f"批量设置需审批失败: {str(e)}")
|
||||
return jsonify({"code": 500, "msg": f"批量设置需审批失败: {str(e)}"}), 500
|
||||
|
||||
|
||||
# ==============================================================================
|
||||
# 2.7 智能分组求最大连号 API (GET /api/v1/inbound/base/spec-latest)
|
||||
# ==============================================================================
|
||||
|
||||
Reference in New Issue
Block a user