X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=lib%2Fbase.c;h=4414c36ec56c3534a2750a1696adf367b93c5de0;hb=1c05dd8d3fbea02bd6b5b09fc16fe9a4ab112887;hp=d217e49c5ab4af898606c09b71e28c3f23a5f6e9;hpb=9474ea8850df93936cfe7ebfc424ea1161db75a2;p=cascardo%2Fdeclara.git diff --git a/lib/base.c b/lib/base.c index d217e49..4414c36 100644 --- a/lib/base.c +++ b/lib/base.c @@ -24,6 +24,11 @@ #include "rendimento.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); @@ -43,17 +48,40 @@ static int run_resumo(struct declaracao *dec, char **args, int argc) printf("retificadora\n"); if (dec->obrigatoria) printf("obrigatoria\n"); - 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)); + switch (dec->tipo) { + case SIMPLES: + printf("simples\n"); + break; + case COMPLETA: + printf("completa\n"); + break; + } + 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("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; } @@ -80,6 +108,10 @@ static void salva(struct declaracao *dec, FILE *f) rendimento_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) @@ -97,6 +129,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, @@ -107,6 +155,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); @@ -123,5 +186,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; }