- Conceitos de Programaçõa Orientada a Objetos na prática, com criação de classes e instâncias
- Leitura e escrita de arquivos
Um gerador de relatórios que recebe como entrada arquivos com dados de um estoque e gera, como saída, um relatório acerca destes dados.
Esses dados de estoque poderão ser obtidos de diversas fontes:
-
Através da importação de um arquivo
CSV
; -
Através da importação de um arquivo
JSON
; -
Através da importação de um arquivo
XML
;
Além disso, o relatório final deverá poder ser gerado em duas versões: simples e completa.
O programa é executável via Linha de Comando com o comando inventory_report <argumento1> <argumento2>
:
-
O <argumento 1> deve receber o caminho de um arquivo a ser importado. O arquivo pode ser um
csv
,json
ouxml
. -
O <argumento 2> pode receber duas strings:
simples
oucompleto
, cada uma gerando o respectivo relatório.
Arquivos de exemplo nos três formatos de importação estão disponíveis no diretório data
dentro do diretório inventory_report
.
Os arquivos CSV são separados por vírgula, como no exemplo abaixo:
id,nome_do_produto,nome_da_empresa,data_de_fabricacao,data_de_validade,numero_de_serie,instrucoes_de_armazenamento
1,Nicotine Polacrilex,Target Corporation,2020-02-18,2022-09-17,CR25 1551 4467 2549 4402 1,morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit
2,fentanyl citrate,"Galena Biopharma, Inc.",2019-12-06,2022-12-25,FR29 5951 7573 74OY XKGX 6CSG D20,bibendum morbi non quam nec dui luctus rutrum nulla tellus in
3,NITROUS OXIDE,Keen Compressed Gas Co. Inc.,2019-12-22,2023-11-07,CZ09 8588 0858 8435 9140 2695,ipsum dolor sit amet consectetuer adipiscing elit proin risus praesent
Os arquivos JSON seguem o seguinte modelo:
[
{
"id":1,
"nome_do_produto":"CALENDULA OFFICINALIS FLOWERING TOP, GERANIUM MACULATUM ROOT, SODIUM CHLORIDE, THUJA OCCIDENTALIS LEAFY TWIG, ZINC, and ECHINACEA ANGUSTIFOLIA",
"nome_da_empresa":"Forces of Nature",
"data_de_fabricacao":"2020-07-04",
"data_de_validade":"2023-02-09",
"numero_de_serie":"FR48 2002 7680 97V4 W6FO LEBT 081",
"instrucoes_de_armazenamento":"in blandit ultrices enim lorem ipsum dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus"
}
]
Os arquivos XML seguem o seguinte modelo:
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
<record>
<id>1</id>
<nome_do_produto>valsartan and hydrochlorothiazide</nome_do_produto>
<nome_da_empresa>Lake Erie Medical & Surgical Supply DBA Quality Care Products LLC</nome_da_empresa>
<data_de_fabricacao>2019-10-27</data_de_fabricacao>
<data_de_validade>2022-08-31</data_de_validade>
<numero_de_serie>MT08 VVDN 2131 9NFL C1JG KTDV RS1L LOZ</numero_de_serie>
<instrucoes_de_armazenamento>at lorem integer tincidunt ante vel ipsum praesent blandit lacinia erat</instrucoes_de_armazenamento>
</record>
</dataset>