domingo, 21 de junho de 2020

Contas Pagar/Receber - Parte III - Criação Demais CRUD's

Introdução

Nesse terceiro post vou mostrar como criar as lógicas de CRUD de Centro Custo, Categoria e Pessoa. Para o Centro Custo e Categoria terão somente os campos Código e Descrição, para o CRUD de Pessoa serão os campos Nome, RG/IM/IE, CPF/CNPJ e dados do endereço (Logradouro, Bairro, Municipio, UF e CEP.

Gerando Anotação via IDE
Vou definir a lógica de Centro Custo parecido com o que fiz no post anterior do Banco, com os campos Código e Descrição:

@JArchGenerateLogicCrud(nameSubPackage = "centrocusto",
master = @JArchGenerateMaster(name = "Centro Custo", tableName = "tb_centrocusto",
fields = {
@JArchGenerateField(fieldName = "codigo", fieldTable = "cd_centrocusto",
description = "Código", type = FieldType.CODE, codeLookup = true,
required = true, exclusive = true,
search = @JArchGenerateSearch(row = 1, column = 1, span = 3),
xhtml = @JArchGenerateXhtml(rowDataXhtml = 1, columnDataXhtml = 1, showDataTableList = true)),
@JArchGenerateField(fieldName = "descricao", fieldTable = "ds_centrocusto", description = "Descrição",
type = FieldType.DESCRIPTION, descriptionLookup = true, required = true, exclusive = true,
search = @JArchGenerateSearch(row = 1, column = 2, span = 9),
xhtml = @JArchGenerateXhtml(rowDataXhtml = 2, columnDataXhtml = 1, showDataTableList = true))
}
)
)


Vou definir a lógica de Categoria com os campos Código e Descrição:

@JArchGenerateLogicCrud(nameSubPackage = "categoria",
master = @JArchGenerateMaster(name = "Categoria", tableName = "tb_categoria",
fields = {
@JArchGenerateField(fieldName = "codigo", fieldTable = "cd_categoria",
description = "Código", type = FieldType.CODE, codeLookup = true,
required = true, exclusive = true,
search = @JArchGenerateSearch(row = 1, column = 1, span = 3),
xhtml = @JArchGenerateXhtml(rowDataXhtml = 1, columnDataXhtml = 1, showDataTableList = true)),
@JArchGenerateField(fieldName = "descricao", fieldTable = "ds_categoria", description = "Descrição",
type = FieldType.DESCRIPTION, descriptionLookup = true, required = true, exclusive = true,
search = @JArchGenerateSearch(row = 1, column = 2, span = 9),
xhtml = @JArchGenerateXhtml(rowDataXhtml = 2, columnDataXhtml = 1, showDataTableList = true))
}
)
)


Vou definir a lógica de Pessoa com os campos Nome, RG/IM/IE, CPF/CNPJ e Endereço:

@JArchGenerateLogicCrud(nameSubPackage = "pessoa",
master = @JArchGenerateMaster(name = "Pessoa", tableName = "tb_pessoa",
fields = {
@JArchGenerateField(fieldName = "nome", fieldTable = "nm_pessoa", description = "Nome",
type = FieldType.NAME, required = true, descriptionLookup = true,
search = @JArchGenerateSearch(row = 1, column = 1, span = 6),
xhtml = @JArchGenerateXhtml(rowDataXhtml = 1, columnDataXhtml = 1, showDataTableList = true)),
@JArchGenerateField(fieldName = "rgIm", fieldTable = "nr_rgim", description = "RG/IM",
type = FieldType.RG, required = true,
search = @JArchGenerateSearch(row = 1, column = 2, span = 3),
xhtml = @JArchGenerateXhtml(rowDataXhtml = 1, columnDataXhtml = 2, showDataTableList = true)),
@JArchGenerateField(fieldName = "cpfCnpj", fieldTable = "nr_cpfcnpj", description = "CPF/CNPJ",
type = FieldType.CPFCNPJ, required = true, codeLookup = true,
search = @JArchGenerateSearch(row = 1, column = 3, span = 3),
xhtml = @JArchGenerateXhtml(rowDataXhtml = 1, columnDataXhtml = 3, showDataTableList = true)),
@JArchGenerateField(fieldName = "endereco", fieldTable = "gn_endereco", description = "Endereço",
type = FieldType.ADDRESS,
search = {},
xhtml = @JArchGenerateXhtml(rowDataXhtml = 2, columnDataXhtml = 1, showDataTableList = false))
}
)
)


Vou adicionar os links de Centro Custo, Categoria e Banco no MenuAction, executar o MVN CLEAN COMPILE PACKAGE e subir o servidor de aplicação. Acessando a aplicação novamente:


Lista de Centro de Custo:

Dados do Centro de Custo:


Lista Categoria:
 
Dados Categoria:


Lista Pessoa:

Dados Pessoa:

Os CRUD's de Centro de Custo e Categoria são iguais ao de Banco criado no post anterior, mas o de Pessoa possuí um campo do tipo FieldType.ADDRESS que vai gerar automaticamento os campos de logradouro, bairro, municipio, UF e CEP, sendo que ao colocar o CEP os campos são preenchidos automaticamento via serviço do Correio.

CONCLUSÃO
Assim finalizamos esse terceiro post sobre a criação de um projeto de contas a pagar e receber. A estrutura apresentada nesse post contém diversas implementações prontas otimizando nosso tempo. No próximo post vou mostrar como executar os testes de sistemas. 

Segue o link dessa da video aula desse post: https://youtu.be/VxtKZGXGSaQ 

Até mais.

Nenhum comentário:

Postar um comentário

Versão 23.3.0-Final

      Introdução Nesse post vou mostrar as principais novidades da versão 23.3.0, algumas correções e pequenas alterações. Alterações Além d...