ftp_caepi

package module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

README

CAEPI

Obter os dados do site do FTP do CAEPI e converter o arquivo para UTF8

https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/inspecao-do-trabalho/seguranca-e-saude-no-trabalho/equipamentos-de-protecao-individual-epi/passo-a-passo-importar-dados-do-caepi.pdf

A função DownloadFTP() baixa, descompacta e converte o arquivo tgg_export_caepi.zip para UTF8.

A função ConverteCSVparaCAEPI() le o arquivo .csv e o converte para struct CaepiRecord

Instalação

go get github.com/fevitta/ftp_caepi@latest

Exemplo

package main

import (
	"fmt"
	"os"
	"strconv"
	"time"

	"github.com/fevitta/ftp_caepi"
	"github.com/joho/godotenv"
)

func main() {
	fmt.Println("Iniciando...")

    err := godotenv.Load(".env")
	if err != nil {
		log.Fatalf("Arquivo de configuracao .env nao encontrado: %s", err)
	}

	err = ftp_caepi.DownloadFTP()
	if err != nil {
		log.Fatalf("Erro ao baixar arquivo: %s", err)
	}

	listaCAEPI, err := ftp_caepi.ConverteCSVparaCAEPI("dados/dados_utf8.csv")
	if err != nil {
		fmt.Println(err)
	}

	fmt.Println("Registros processados:", len(listaCAEPI))
}    

.env (Opcional)

Crie um arquivo .env com os parametros se necessário alterar os valores padrões

ARQUIVO="tgg_export_caepi.zip"
CAMINHO="portal/fiscalizacao/seguranca-e-saude-no-trabalho/caepi/"
FTP_HOST="ftp.mtps.gov.br"
FTP_PORT=21
FTP_USER="anonymous"
FTP_PASS="anonymous"

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DownloadFTP

func DownloadFTP() error

Baixa o arquivo tgg_export_caepi.zip do FTP do CAEPI https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/inspecao-do-trabalho/seguranca-e-saude-no-trabalho/equipamentos-de-protecao-individual-epi/passo-a-passo-importar-dados-do-caepi.pdf Após baixar o arquivo, descompacta e converte para UTF8 Todas as " são removidas do arquivo, muitas delas não possuem fechamento e o csvReader se perder O arquivo só será baixado se o arquivo local for diferente (Verificado pela data de modificação) Os arquivos serão gerados na pasta /dados

Types

type CaepiRecord

type CaepiRecord struct {
	ID                     int
	NRREGISTROCA           string
	DATAVALIDADE           string
	SITUACAO               string
	NRPROCESSO             string
	CNPJ                   string
	RAZAOSOCIAL            string
	NATUREZA               string
	NOMEEQUIPAMENTO        string
	DESCRICAOEQUIPAMENTO   string
	MARCACA                string
	REFERENCIA             string
	COR                    string
	APROVADOPARALAUDO      string
	RESTRICAOLAUDO         string
	OBSERVACAOANALISELAUDO string
	CNPJLABORATORIO        string
	RAZAOSOCIALLABORATORIO string
	NRLAUDO                string
	NORMA                  string
}

func ConverteCSVparaCAEPI

func ConverteCSVparaCAEPI(caminhoCSV string) ([]CaepiRecord, error)

Converte cada linha do arquivo .csv para uma struct O arquivo possui inumeras falhas de layout, por isso defini alguns limites para os campos texto

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL