Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @statuses %{
- "1.0 Cobrança Jurídica" => %{
- "Leilão" => {:foreclosure_auction, "auction_in_progress"},
- "Tentativa de Negociação" => {:notification, "attempt_to_negotiate"},
- "Não Notificar (Casos de exceção)" => {:notification, "not_notify"}
- },
- "1.1 Notificação" => %{
- "Emissão" => {:notification, "notification_in_progress"},
- "Envio e Custas" => {:notification, "notification_in_progress"},
- "Análise do Cartório" => {:notification, "notification_in_progress"},
- "Guia ITBI" => {:notification, "notified"},
- "Negociação com Guia ITBI" => {:notification, "notified"},
- "Liminar" => {:notification, "injunction"},
- "Acordo" => {:notification, "deal"}
- },
- "1.2 Consolidação" => %{
- "Emissão" => {:consolidation, "foreclosure_in_progress"},
- "Envio e Custas" => {:consolidation, "foreclosure_in_progress"},
- "Análise do Cartório" => {:consolidation, "foreclosure_in_progress"},
- "Consolidação" => {:consolidation, "foreclosure_in_progress"},
- "Tributos" => {:consolidation, "foreclosure_in_progress"},
- "Liminar" => {:consolidation, "injunction"},
- "Acordo" => {:consolidation, "deal"}
- },
- "1.3 Leilão" => %{
- "Liminar" => {:foreclosure_auction, "injunction"}
- }
- }
- @doc """
- Cast the status from some card.
- ## Examples
- iex> cast_status(%{phase: "Leilão"}, %{"pipe" => %{"name" => "1.0 Cobrança Jurídica"}})
- %{status: {:foreclosure_auction, "auction_in_progress"}}
- """
- # credo:disable-for-lines:20
- def cast_status(%{phase: phase} = acc, card) do
- pipe = card["pipe"]["name"]
- status =
- cond do
- "1.1 Notificação" == pipe and "Intimação" == phase and customer_was_summoned?(card) ->
- {:notification, "notified"}
- "1.1 Notificação" == pipe and "Intimação" == phase and not customer_was_summoned?(card) ->
- {:notification, "notification_in_progress"}
- true ->
- case @statuses[pipe][phase] do
- nil -> {:notification, "not_started"}
- {schema, status} -> {schema, status}
- end
- end
- Map.put(acc, :status, status)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement