feat(reglements): add endpoints to list and get payment details
This commit is contained in:
parent
b291cbf65f
commit
aa89ebdf9e
2 changed files with 35 additions and 8 deletions
30
api.py
30
api.py
|
|
@ -4,7 +4,7 @@ from fastapi.responses import StreamingResponse, HTMLResponse, Response
|
|||
from fastapi.encoders import jsonable_encoder
|
||||
from pydantic import BaseModel, Field, EmailStr
|
||||
from typing import List, Optional
|
||||
from datetime import datetime
|
||||
from datetime import datetime, date
|
||||
import uvicorn
|
||||
import asyncio
|
||||
from contextlib import asynccontextmanager
|
||||
|
|
@ -3240,6 +3240,34 @@ async def get_parametres_encaissement():
|
|||
raise HTTPException(500, str(e))
|
||||
|
||||
|
||||
@app.get("/reglements", tags=["Règlements"])
|
||||
async def get_tous_reglements(
|
||||
date_debut: Optional[date] = Query(None),
|
||||
date_fin: Optional[date] = Query(None),
|
||||
client_code: Optional[str] = Query(None),
|
||||
type_reglement: Optional[str] = Query(None),
|
||||
limit: int = Query(500),
|
||||
):
|
||||
"""Liste tous les règlements avec filtres optionnels"""
|
||||
params = {"limit": limit}
|
||||
if date_debut:
|
||||
params["date_debut"] = date_debut.isoformat()
|
||||
if date_fin:
|
||||
params["date_fin"] = date_fin.isoformat()
|
||||
if client_code:
|
||||
params["client_code"] = client_code
|
||||
if type_reglement:
|
||||
params["type_reglement"] = type_reglement
|
||||
|
||||
return sage_client.get_tous_reglements(params)
|
||||
|
||||
|
||||
@app.get("/reglements/{rg_no}", tags=["Règlements"])
|
||||
async def get_reglement_detail(rg_no: int):
|
||||
"""Détail complet d'un règlement"""
|
||||
return sage_client.get_reglement_detail(rg_no)
|
||||
|
||||
|
||||
@app.get("/health", tags=["System"])
|
||||
async def health_check(
|
||||
sage: SageGatewayClient = Depends(get_sage_client_for_user),
|
||||
|
|
|
|||
|
|
@ -557,13 +557,6 @@ class SageGatewayClient:
|
|||
def get_comptes_generaux(
|
||||
self, prefixe: str = None, type_compte: str = None
|
||||
) -> List[dict]:
|
||||
"""
|
||||
Récupère les comptes généraux
|
||||
|
||||
Args:
|
||||
prefixe: Filtre par préfixe (ex: "41", "51")
|
||||
type_compte: "client", "fournisseur", "banque", "caisse", "tva"
|
||||
"""
|
||||
params = {}
|
||||
if prefixe:
|
||||
params["prefixe"] = prefixe
|
||||
|
|
@ -597,5 +590,11 @@ class SageGatewayClient:
|
|||
except Exception:
|
||||
return {"status": "down"}
|
||||
|
||||
def get_tous_reglements(self, params=None):
|
||||
return self._get("/sage/reglements", params=params)
|
||||
|
||||
def get_reglement_detail(self, rg_no):
|
||||
return self._get(f"/sage/reglements/{rg_no}")
|
||||
|
||||
|
||||
sage_client = SageGatewayClient()
|
||||
|
|
|
|||
Loading…
Reference in a new issue