diff --git a/app/graphql/schema.graphql b/app/graphql/schema.graphql index 7a933303c..6b0b895f4 100644 --- a/app/graphql/schema.graphql +++ b/app/graphql/schema.graphql @@ -686,10 +686,24 @@ enum DossierState { sans_suite } +type Effectif { + """ + Année de l'effectif mensuel + """ + annee: String! + + """ + Mois de l'effectif mensuel + """ + mois: String! + nb: Float! +} + type Entreprise { capitalSocial: BigInt! codeEffectifEntreprise: String! dateCreation: ISO8601Date! + effectifs: [Effectif!]! formeJuridique: String! formeJuridiqueCode: String! inlineAdresse: String! diff --git a/app/graphql/types/personne_morale_type.rb b/app/graphql/types/personne_morale_type.rb index 357805f6c..5bc5f176b 100644 --- a/app/graphql/types/personne_morale_type.rb +++ b/app/graphql/types/personne_morale_type.rb @@ -1,6 +1,12 @@ module Types class PersonneMoraleType < Types::BaseObject class EntrepriseType < Types::BaseObject + class EffectifType < Types::BaseObject + field :mois, String, null: false, description: "Mois de l'effectif mensuel" + field :annee, String, null: false, description: "Année de l'effectif mensuel" + field :nb, Float, null: false + end + field :siren, String, null: false field :capital_social, GraphQL::Types::BigInt, null: false field :numero_tva_intracommunautaire, String, null: false @@ -10,10 +16,23 @@ module Types field :raison_sociale, String, null: false field :siret_siege_social, String, null: false field :code_effectif_entreprise, String, null: false + field :effectifs, [EffectifType], null: false field :date_creation, GraphQL::Types::ISO8601Date, null: false field :nom, String, null: false field :prenom, String, null: false field :inline_adresse, String, null: false + + def effectifs + if object.effectif_mensuel.present? + [ + { + mois: object.effectif_mois, + annee: object.effectif_annee, + nb: object.effectif_mensuel + } + ] + end + end end class AssociationType < Types::BaseObject diff --git a/app/models/entreprise.rb b/app/models/entreprise.rb index 19cecd7e1..5fb6cf719 100644 --- a/app/models/entreprise.rb +++ b/app/models/entreprise.rb @@ -12,6 +12,9 @@ class Entreprise < Hashie::Dash property :raison_sociale property :siret_siege_social property :code_effectif_entreprise + property :effectif_mois + property :effectif_annee + property :effectif_mensuel property :date_creation property :nom property :prenom diff --git a/app/models/etablissement.rb b/app/models/etablissement.rb index 98584e672..4d3236e80 100644 --- a/app/models/etablissement.rb +++ b/app/models/etablissement.rb @@ -102,6 +102,9 @@ class Etablissement < ApplicationRecord raison_sociale: entreprise_raison_sociale, siret_siege_social: entreprise_siret_siege_social, code_effectif_entreprise: entreprise_code_effectif_entreprise, + effectif_mensuel: entreprise_effectif_mensuel, + effectif_mois: entreprise_effectif_mois, + effectif_annee: entreprise_effectif_annee, date_creation: entreprise_date_creation, nom: entreprise_nom, prenom: entreprise_prenom, diff --git a/app/serializers/entreprise_serializer.rb b/app/serializers/entreprise_serializer.rb index 3a52d7917..70437d8c8 100644 --- a/app/serializers/entreprise_serializer.rb +++ b/app/serializers/entreprise_serializer.rb @@ -8,6 +8,9 @@ class EntrepriseSerializer < ActiveModel::Serializer :raison_sociale, :siret_siege_social, :code_effectif_entreprise, + :effectif_mois, + :effectif_annee, + :effectif_mensuel, :date_creation, :nom, :prenom diff --git a/app/views/shared/dossiers/_identite_entreprise.html.haml b/app/views/shared/dossiers/_identite_entreprise.html.haml index b71041c74..51a5dc51f 100644 --- a/app/views/shared/dossiers/_identite_entreprise.html.haml +++ b/app/views/shared/dossiers/_identite_entreprise.html.haml @@ -32,7 +32,7 @@ %th.libelle Effectif mensuel = try_format_mois_effectif(etablissement) - %td= etablissement.effectif_mensuel + %td= etablissement.entreprise_effectif_mensuel %tr %th.libelle Effectif de l'organisation : %td= effectif(etablissement) diff --git a/spec/controllers/api/v1/dossiers_controller_spec.rb b/spec/controllers/api/v1/dossiers_controller_spec.rb index cfbcc11c5..a329464ac 100644 --- a/spec/controllers/api/v1/dossiers_controller_spec.rb +++ b/spec/controllers/api/v1/dossiers_controller_spec.rb @@ -197,6 +197,9 @@ describe API::V1::DossiersController do :raison_sociale, :siret_siege_social, :code_effectif_entreprise, + :effectif_mois, + :effectif_annee, + :effectif_mensuel, :date_creation, :nom, :prenom