Nova função para ordenação de pagamentos médicos.
[cascardo/declara.git] / lib / pagamento.c
index 92ff7ba..051a7e6 100644 (file)
@@ -130,3 +130,30 @@ char * pagamento_cnpj_ordenado(struct declaracao *dec, int codigo, int n)
                return "";
        return pagamento->cnpj;
 }
+
+static int pagamento_medico(int codigo)
+{
+       switch (codigo) {
+       case 10:
+       case 21:
+       case 26:
+               return 1;
+       default:
+               return 0;
+       }
+       return 0;
+}
+
+char * medico_cnpj_ordenado(struct declaracao *dec, int n)
+{
+       struct pagamento *pagamento;
+       int i;
+       int j = 0;
+       for (i = 0; (pagamento = list_get(dec->pagamentos, i)); i++) {
+               if (pagamento_medico(pagamento->codigo) && j++ == n)
+                       break;
+       }
+       if (!pagamento)
+               return "";
+       return pagamento->cnpj;
+}