Browse Source

feat(backend): expose GET /production-waste-outputs list API.

Co-authored-by: Cursor <cursoragent@cursor.com>
zlwu 2 months ago
parent
commit
301df76c65
1 changed files with 28 additions and 0 deletions
  1. 28 0
      backend/app/api/production.py

+ 28 - 0
backend/app/api/production.py

@@ -39,6 +39,7 @@ from app.schemas.process_route import (
 from app.models.models import SysUser
 from app.crud import production_work_order as production_work_order_svc
 from app.crud import production_task as production_task_svc
+from app.crud import production_waste_output as production_waste_output_svc
 from app.crud import cell_product as cell_product_svc
 from app.crud import qc_work_order as qc_work_order_svc
 from app.schemas.production_work_order import (
@@ -2078,6 +2079,33 @@ async def list_production_tasks(
     return success_response({"list": items, "total": total, "page": page, "pageSize": pageSize, "totalPages": tp})
 
 
+@router.get("/production-waste-outputs")
+async def list_production_waste_outputs(
+    page: int = Query(1, ge=1),
+    pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
+    keyword: Optional[str] = None,
+    createTimeStart: Optional[str] = Query(None, alias="createTimeStart"),
+    createTimeEnd: Optional[str] = Query(None, alias="createTimeEnd"),
+    user: dict = Depends(require_admin_or_super_admin),
+    db: Session = Depends(get_db),
+):
+    tenant_no = _get_tenant_no(db, user)
+    items, total = production_waste_output_svc.list_production_waste_outputs(
+        db,
+        tenant_no=tenant_no,
+        page=page,
+        page_size=pageSize,
+        keyword=keyword,
+        create_time_start=createTimeStart,
+        create_time_end=createTimeEnd,
+        user_info=user,
+    )
+    tp = production_waste_output_svc.total_pages(total, pageSize)
+    return success_response(
+        {"list": items, "total": total, "page": page, "pageSize": pageSize, "totalPages": tp}
+    )
+
+
 @router.post("/production-tasks/list-by-work-orders")
 async def list_production_tasks_by_work_orders(
     body: ProductionTaskListByWorkOrdersBody,