expose effectif_annuel dans api graphql

This commit is contained in:
Christophe Robillard 2020-04-22 19:00:25 +02:00
parent 453adf3c74
commit 792e755af9
6 changed files with 36 additions and 21 deletions

View file

@ -687,23 +687,24 @@ enum DossierState {
} }
type Effectif { type Effectif {
"""
Année de l'effectif mensuel
"""
annee: String!
"""
Mois de l'effectif mensuel
"""
mois: String!
nb: Float! nb: Float!
periode: String!
} }
type Entreprise { type Entreprise {
capitalSocial: BigInt! capitalSocial: BigInt!
codeEffectifEntreprise: String! codeEffectifEntreprise: String!
dateCreation: ISO8601Date! dateCreation: ISO8601Date!
effectifs: [Effectif!]!
"""
effectif moyen d'une année
"""
effectifAnnuel: Effectif
"""
effectif pour un mois donné
"""
effectifMensuel: Effectif
formeJuridique: String! formeJuridique: String!
formeJuridiqueCode: String! formeJuridiqueCode: String!
inlineAdresse: String! inlineAdresse: String!

View file

@ -2,8 +2,7 @@ module Types
class PersonneMoraleType < Types::BaseObject class PersonneMoraleType < Types::BaseObject
class EntrepriseType < Types::BaseObject class EntrepriseType < Types::BaseObject
class EffectifType < Types::BaseObject class EffectifType < Types::BaseObject
field :mois, String, null: false, description: "Mois de l'effectif mensuel" field :periode, String, null: false
field :annee, String, null: false, description: "Année de l'effectif mensuel"
field :nb, Float, null: false field :nb, Float, null: false
end end
@ -16,21 +15,28 @@ module Types
field :raison_sociale, String, null: false field :raison_sociale, String, null: false
field :siret_siege_social, String, null: false field :siret_siege_social, String, null: false
field :code_effectif_entreprise, String, null: false field :code_effectif_entreprise, String, null: false
field :effectifs, [EffectifType], null: false field :effectif_mensuel, EffectifType, null: true, description: "effectif pour un mois donné"
field :effectif_annuel, EffectifType, null: true, description: "effectif moyen d'une année"
field :date_creation, GraphQL::Types::ISO8601Date, null: false field :date_creation, GraphQL::Types::ISO8601Date, null: false
field :nom, String, null: false field :nom, String, null: false
field :prenom, String, null: false field :prenom, String, null: false
field :inline_adresse, String, null: false field :inline_adresse, String, null: false
def effectifs def effectif_mensuel
if object.effectif_mensuel.present? if object.effectif_mensuel.present?
[ {
{ periode: [object.effectif_mois, object.effectif_annee].join('/'),
mois: object.effectif_mois, nb: object.effectif_mensuel
annee: object.effectif_annee, }
nb: object.effectif_mensuel end
} end
]
def effectif_annuel
if object.effectif_annuel.present?
{
periode: object.effectif_annuel_annee,
nb: object.effectif_annuel
}
end end
end end
end end

View file

@ -15,6 +15,8 @@ class Entreprise < Hashie::Dash
property :effectif_mois property :effectif_mois
property :effectif_annee property :effectif_annee
property :effectif_mensuel property :effectif_mensuel
property :effectif_annuel
property :effectif_annuel_annee
property :date_creation property :date_creation
property :nom property :nom
property :prenom property :prenom

View file

@ -105,6 +105,8 @@ class Etablissement < ApplicationRecord
effectif_mensuel: entreprise_effectif_mensuel, effectif_mensuel: entreprise_effectif_mensuel,
effectif_mois: entreprise_effectif_mois, effectif_mois: entreprise_effectif_mois,
effectif_annee: entreprise_effectif_annee, effectif_annee: entreprise_effectif_annee,
effectif_annuel: entreprise_effectif_annuel,
effectif_annuel_annee: entreprise_effectif_annuel_annee,
date_creation: entreprise_date_creation, date_creation: entreprise_date_creation,
nom: entreprise_nom, nom: entreprise_nom,
prenom: entreprise_prenom, prenom: entreprise_prenom,

View file

@ -11,6 +11,8 @@ class EntrepriseSerializer < ActiveModel::Serializer
:effectif_mois, :effectif_mois,
:effectif_annee, :effectif_annee,
:effectif_mensuel, :effectif_mensuel,
:effectif_annuel,
:effectif_annuel_annee,
:date_creation, :date_creation,
:nom, :nom,
:prenom :prenom

View file

@ -200,6 +200,8 @@ describe API::V1::DossiersController do
:effectif_mois, :effectif_mois,
:effectif_annee, :effectif_annee,
:effectif_mensuel, :effectif_mensuel,
:effectif_annuel,
:effectif_annuel_annee,
:date_creation, :date_creation,
:nom, :nom,
:prenom :prenom