Skip to content

Instantly share code, notes, and snippets.

@ronaiza-cardoso
Created September 21, 2017 21:15
Show Gist options
  • Save ronaiza-cardoso/bd94a98a62b74030016abcf7dac27455 to your computer and use it in GitHub Desktop.
Save ronaiza-cardoso/bd94a98a62b74030016abcf7dac27455 to your computer and use it in GitHub Desktop.

Dados que preciso:

"novembro": [
  {
    "id": 58,
    "servidor": "Cathy Hurst",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 6800862,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
  {
    "id": 59,
    "servidor": "Bush Mosley",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 7603729,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
]

"outubro": [
  {
    "id": 58,
    "servidor": "Cathy Hurst",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 6800862,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
  {
    "id": 59,
    "servidor": "Bush Mosley",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 7603729,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
]

"fevereiro": [
  {
    "id": 58,
    "servidor": "Cathy Hurst",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 6800862,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
  {
    "id": 59,
    "servidor": "Bush Mosley",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 7603729,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
]

dados que tenho:

[
  {
    "id": 58,
    "servidor": "Cathy Hurst",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 6800862,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
  {
    "id": 59,
    "servidor": "Bush Mosley",
    "cod_orgao": 47000,
    "cod_uorg": 120,
    "mat_siape": 7603729,
    "exercicio": 2016,
    "periodo_permitido": "2016-07-15 06:43:53,2017-10-30 07:34:08",
    "situacao_ferias": "encerrada",
    "situacao_solicitacao": "encerrada",
    "parcela": [
      {
        "id": 0,
        "data_ini": "2016-10-17 10:01:30",
        "dias": 10,
        "data_fim": "2016-10-28 03:07:07"
      },
      {
        "id": 1,
        "data_ini": "2016-11-04 04:15:24",
        "dias": 10,
        "data_fim": "2016-11-13 09:36:25"
      },
      {
        "id": 2,
        "data_ini": "2017-02-05 11:07:10",
        "dias": 14,
        "data_fim": "2017-02-14 07:02:09"
      }
    ],
    "dec_terceiro": false,
    "abono": true,
    "opcao_adiantamento": true,
    "desconto_adiantamento": false,
    "Indicador": "Servidor em Exercício"
  },
]

com a chave data_ini de cada parcela eu devo usa-la para agrupar os objetos em meses. usei o underscore para tentar agrupar, mas os objetos de parcela sao complexos e nao consigo pegar o index de cada loop para pegar a parcela de dentro

let groupedByMonth = _.groupBy(this.servidores, (servidores) => {
  assim eu consigo pegar apenas as primeiras parcelas, mas preciso de todas
  return moment(servidores.parcela[0].data_ini).format('MMMM')
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment