fprintf(f, "%-11.11s", ""); /* CPF Dependente 6 */
fprintf(f, "%-8.8s", ""); /* DN Dependente 6 */
/* medico maior, TODO: outros códigos */
- fprintf(f, "%-14.14s", pagamento_cnpj_ordenado(dec, 26, 0));
+ fprintf(f, "%-14.14s", medico_cnpj_ordenado(dec, 0));
/* medico maior 2, TODO: outros códigos */
- fprintf(f, "%-14.14s", pagamento_cnpj_ordenado(dec, 26, 1));
+ fprintf(f, "%-14.14s", medico_cnpj_ordenado(dec, 1));
fprintf(f, "%-11.11s", ""); /* CPF pensao */
fprintf(f, "%-11.11s", ""); /* CPF inventariante */
fprintf(f, "%-40.40s", dec->contribuinte.municipio);
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;
+}
int pagamento_cmd_init(void);
char * pagamento_cnpj_ordenado(struct declaracao *dec, int codigo, int n);
+char * medico_cnpj_ordenado(struct declaracao *dec, int n);
#endif