X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=lib%2Fbase.c;h=8007d123a4e8a1cd5ed8e3c08cab5a0c9eba13dc;hb=refs%2Fheads%2Fmaster;hp=f15c4ea4ce46931a51fa11c7c570792bb2a58ca0;hpb=b224a56d707ea30265e3ce2095b93c46ec3bbbec;p=cascardo%2Fdeclara.git diff --git a/lib/base.c b/lib/base.c index f15c4ea..8007d12 100644 --- a/lib/base.c +++ b/lib/base.c @@ -22,8 +22,14 @@ #include #include #include "rendimento.h" +#include "carne.h" #include "pagamento.h" #include "bem.h" +#include "isento.h" +#include "dependente.h" +#include "conjuge.h" +#include "sistema.h" +#include "totais.h" #include "util.h" SET_INT(ano); @@ -51,17 +57,34 @@ static int run_resumo(struct declaracao *dec, char **args, int argc) printf("completa\n"); break; } - printf("pago: %lld.%02d\n", reais(dec->pago), centavos(dec->pago)); - printf("retido: %lld.%02d\n", reais(dec->retido), - centavos(dec->retido)); - printf("devido: %lld.%02d\n", reais(dec->devido), - centavos(dec->devido)); + printf("pago: "FMT_R"\n", R(dec->pago)); + printf("retido: "FMT_R"\n", R(dec->retido)); + printf("devido: "FMT_R"\n", R(dec->devido)); if (dec->restituicao > 0) - printf("restituicao: %lld.%02d\n", reais(dec->restituicao), - centavos(dec->restituicao)); + printf("restituicao: "FMT_R"\n", R(dec->restituicao)); if (dec->pagar > 0) - printf("a pagar: %lld.%02d\n", reais(dec->pagar), - centavos(dec->pagar)); + printf("a pagar: "FMT_R"\n", R(dec->pagar)); + printf("base de cálculo: "FMT_R"\n", + R(totais_get(dec, "BASE"))); + printf("isentos: "FMT_R"\n", + R(totais_get(dec, "ISENTOS"))); + printf("exclusivos: "FMT_R"\n", + R(totais_get(dec, "EXCLUSIVOS"))); + printf("bens: "FMT_R"\n", + R(totais_get(dec, "BENS"))); + printf("bens: "FMT_R"\n", + R(totais_get(dec, "BENSANTERIOR"))); + printf("aliquota efetiva: "FMT_R"%%\n", + R(dec->aliquota_efetiva)); + printf("hash: %010ld\n", dec->hash); + return 0; +} + +static int run_verbose(struct declaracao *dec, char **args, int argc) +{ + if (argc != 1) + return -EINVAL; + dec->verbose = 1; return 0; } @@ -86,8 +109,13 @@ static void salva(struct declaracao *dec, FILE *f) fprintf(f, "dvconta \"%s\"\n", dec->dvconta); contribuinte_salva(dec, f); rendimento_salva(dec, f); + carne_salva(dec, f); pagamento_salva(dec, f); bem_salva(dec, f); + isento_salva(dec, f); + dependente_salva(dec, f); + conjuge_salva(dec, f); + sistema_salva(dec, f); } static int run_salva(struct declaracao *dec, char **args, int argc) @@ -105,6 +133,22 @@ static int run_salva(struct declaracao *dec, char **args, int argc) return 0; } +static int run_simples(struct declaracao *dec, char **args, int argc) +{ + if (argc != 1) + return -EINVAL; + dec->tipo = FORCA_SIMPLES; + return 0; +} + +static int run_completa(struct declaracao *dec, char **args, int argc) +{ + if (argc != 1) + return -EINVAL; + dec->tipo = FORCA_COMPLETA; + return 0; +} + static struct cmd cmd_salva = { .name = "salva", .run = run_salva, @@ -115,6 +159,21 @@ static struct cmd cmd_resumo = { .run = run_resumo, }; +static struct cmd cmd_verbose = { + .name = "verbose", + .run = run_verbose, +}; + +static struct cmd cmd_simples = { + .name = "simples", + .run = run_simples, +}; + +static struct cmd cmd_completa = { + .name = "completa", + .run = run_completa, +}; + int base_cmd_init(void) { cmd_add(&cmd_salva); @@ -131,5 +190,9 @@ int base_cmd_init(void) cmd_add(&cmd_contacorrente); cmd_add(&cmd_dvconta); + cmd_add(&cmd_verbose); + cmd_add(&cmd_simples); + cmd_add(&cmd_completa); + return 0; }