Skip to main content

Groupement sur une plateforme de transit ou un dépôt distributeur

L’installation va choisir les bordereaux en attente sur Trackdéchets pour lesquels un groupement avait été indiqué comme opération précédente.

Cette installation s'identifie comme émettrice du BSFF de groupement, renseigne les autres informations requises (déchet, transporteur, destinataire) et peut faire accompagner les contenants par ce seul bordereau.

Dans cet exemple les deux contenants présents sur le bordereau de groupement auront un traitement différent :
- le fluide du premier contenant est régénéré.
- le fluide du second contenant est reconditionné avant envoi vers un centre de traitement pour destruction.

graph LR B(NO STATE) -->|"createBsff (type=GROUPEMENT)"| C(INITIAL) C -->|updateBsff|C C -->|"signBsff(EMISSION)"|D(SIGNED_BY_EMITTER) D -->|updateBsff|D D -->|"signBsff(TRANSPORT)"|F(SENT) F -->|updateBsff|F G(SENT) -->|"signBsff(RECEPTION)"|H(RECEIVED) H -->|"updateBsffPackaging (contenant n°1)"|H H -->|"updateBsffPackaging (contenant n°2)"|H H -->|"signBsff(ACCEPTATION)"|I(ACCEPTED) I -->|"updateBsffPackaging (contenant n°1)"|I I -->|"updateBsffPackaging (contenant n°2)"|I I -->|"signBsff(OPERATION)"|J(INTERMEDIATELY_PROCESSED)

Le centre de tri transit regroupement effectue une requête pour obtenir la liste des contenants éligibles au regroupement
query BsffPackagings($where: BsffPackagingWhere) {
bsffPackagings(where: $where) {
edges {
node {
id
}
}
}
}
{
"where": {
"operation": {
"code": {
"_in": [
"R12",
"D13"
]
},
"noTraceability": false
},
"bsff": {
"destination": {
"company": {
"siret": {
"_eq": "SIRET_TTR"
}
}
}
},
"nextBsff": null
}
}
Le centre de tri, transit, regroupement crée un BSFF de groupement en renseignant les identifiants Trackdéchets des contenants qu'il souhaite grouper. Le champ `packagings` est omis car les informations sur les contenants sont déduits automatiquement
mutation CreateBsff($input: BsffInput!) {
createBsff(input: $input) {
id
status
packagings {
id
}
}
}
{
"input": {
"type": "GROUPEMENT",
"emitter": {
"company": {
"siret": "SIRET_TTR",
"name": "Les gentlemen du froid",
"address": "1 rue de paradis, 75010 PARIS",
"contact": "Le directeur",
"phone": "01 00 00 00 00",
"mail": "contact@gentlemandufroid.fr"
}
},
"waste": {
"code": "14 06 01*",
"description": "R404A",
"adr": "UN 1078, Gaz frigorifique NSA (Gaz réfrigérant, NSA), 2.2 (C/E)"
},
"weight": {
"value": 1,
"isEstimate": true
},
"transporter": {
"company": {
"siret": "SIRET_TRANSPORTEUR",
"name": "Transport & Co",
"address": "1 rue des 6 chemins, 07100 ANNONAY",
"contact": "Claire Dupuis",
"mail": "claire.dupuis@transportco.fr",
"phone": "04 00 00 00 00"
}
},
"destination": {
"cap": "CAP",
"plannedOperationCode": "R2",
"company": {
"siret": "SIRET_TRAITEUR",
"name": "Traiteur & Co",
"address": "1 avenue des roses 67100 Strasbourg",
"contact": "Thomas Largeron",
"phone": "03 00 00 00 00",
"mail": "thomas.largeron@traiteur.fr"
}
},
"grouping": [
"ID_PACKAGING_1",
"ID_PACKAGING_2"
]
}
}
L'émetteur signe le BSFF
mutation SignBsff($id: ID!, $input: BsffSignatureInput!) {
signBsff(id: $id, input: $input) {
id
status
packagings {
id
}
}
}
{
"id": "ID_BSFF",
"input": {
"type": "EMISSION",
"author": "Jean Opérateur"
}
}
Les informations sur le transport sont complétées
mutation UpdateBsff($id: ID!, $input: BsffInput!) {
updateBsff(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSFF",
"input": {
"transporter": {
"transport": {
"takenOverAt": "2022-11-02",
"mode": "ROAD",
"plates": "BG-007-FR"
}
}
}
}
Le transporteur signe le BSFF
mutation SignBsff($id: ID!, $input: BsffSignatureInput!) {
signBsff(id: $id, input: $input) {
id
status
packagings {
id
}
}
}
{
"id": "ID_BSFF",
"input": {
"type": "TRANSPORT",
"author": "Jean Transporteur"
}
}
Les informations sur la réception sont complétées
mutation UpdateBsff($id: ID!, $input: BsffInput!) {
updateBsff(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSFF",
"input": {
"destination": {
"reception": {
"date": "2022-11-03"
}
}
}
}
Le destinataire signe la réception du BSFF
mutation SignBsff($id: ID!, $input: BsffSignatureInput!) {
signBsff(id: $id, input: $input) {
id
status
packagings {
id
}
}
}
{
"id": "ID_BSFF",
"input": {
"type": "RECEPTION",
"author": "Jean Transit"
}
}
Les informations sur l'acceptation du contenant n°1 sont complétées
mutation UpdateBsffPackaging($id: ID!, $input: UpdateBsffPackagingInput!) {
updateBsffPackaging(id: $id, input: $input) {
id
acceptation {
date
}
operation {
date
}
}
}
{
"id": "ID_PACKAGING_1",
"input": {
"acceptation": {
"date": "2022-11-04",
"weight": 1,
"status": "ACCEPTED",
"wasteCode": "14 06 01*",
"wasteDescription": "R404A"
}
}
}
Les informations sur l'acceptation du contenant n°2 sont complétées
mutation UpdateBsffPackaging($id: ID!, $input: UpdateBsffPackagingInput!) {
updateBsffPackaging(id: $id, input: $input) {
id
acceptation {
date
}
operation {
date
}
}
}
{
"id": "ID_PACKAGING_2",
"input": {
"acceptation": {
"date": "2022-11-04",
"weight": 1,
"status": "ACCEPTED",
"wasteCode": "14 06 01*",
"wasteDescription": "R404A"
}
}
}
L'installation de traitement signe l'acceptation des contenants. Il aurait également été possible de signer l'acceptation de chaque contenant séparément en spécifiant le paramètre `BsffSignatureInput.packagingId`
mutation SignBsff($id: ID!, $input: BsffSignatureInput!) {
signBsff(id: $id, input: $input) {
id
status
packagings {
id
}
}
}
{
"id": "ID_BSFF",
"input": {
"type": "ACCEPTATION",
"author": "Jean Dupont"
}
}
Le contenant n°1 part en régénération
mutation UpdateBsffPackaging($id: ID!, $input: UpdateBsffPackagingInput!) {
updateBsffPackaging(id: $id, input: $input) {
id
acceptation {
date
}
operation {
date
}
}
}
{
"id": "ID_PACKAGING_1",
"input": {
"operation": {
"date": "2022-11-05",
"code": "R2",
"mode": "REUTILISATION",
"description": "Régénération"
}
}
}
Le déchet du contenant n°2 contient un % trop important d'impureté et va être détruit après un reconditionnement dans un plus grand contenant. Il est également possible ici de spécifier une rupture de traçabilité avec le paramètre `noTraceability`
mutation UpdateBsffPackaging($id: ID!, $input: UpdateBsffPackagingInput!) {
updateBsffPackaging(id: $id, input: $input) {
id
acceptation {
date
}
operation {
date
}
}
}
{
"id": "ID_PACKAGING_2",
"input": {
"operation": {
"date": "2022-11-05",
"code": "R12",
"description": "Reconditionnement",
"nextDestination": {
"plannedOperationCode": "R2",
"cap": "CAP 2",
"company": {
"siret": "SIRET_INSTALLATION_DESTRUCTION",
"name": "Traiteur & Co",
"address": "1 avenue des roses 67100 Strasbourg",
"contact": "Thomas Largeron",
"phone": "03 00 00 00 00",
"mail": "thomas.largeron@traiteur.fr"
}
}
}
}
}
L'installation de traitement signe l'opération des contenants. Il aurait également été possible de signer l'opération de chaque contenant séparément en spécifiant le paramètre `BsffSignatureInput.packagingId`
mutation SignBsff($id: ID!, $input: BsffSignatureInput!) {
signBsff(id: $id, input: $input) {
id
status
packagings {
id
}
}
}
{
"id": "ID_BSFF",
"input": {
"type": "OPERATION",
"author": "Jean Opération"
}
}