diff --git a/README.md b/README.md index d98ca42..bcb0d72 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,9 @@ Library Manager System writen in Java-Swing available for Windows, Linux and Mac **TODO:** +* regra de negocio emprestimo? atrasado mas marca como dias restantes e ta gerando multa +* imagens livros esta sobrescrevendo ao salvar e salva a mesma para todos +* implementar busca de capas de livros * modulo pago de conslta por protocolo z39.50; * Licensa de Software * Modulo de serial key. diff --git a/notas.txt b/notas.txt index 7f5c77d..a83439c 100644 --- a/notas.txt +++ b/notas.txt @@ -1,4 +1,7 @@ -- remover VISIBLE e linha com create table if no exist carateres estranhios mysql build for ant + + + convert sysntax: mysql to postgresql -> sqlite \ No newline at end of file diff --git a/script.sql b/script.sql new file mode 100644 index 0000000..5b571c7 --- /dev/null +++ b/script.sql @@ -0,0 +1,319 @@ +-- MySQL Script generated by MySQL Workbench +-- 11/02/21 00:19:36 +-- Model: New Model Version: 1.0 +-- MySQL Workbench Forward Engineering + +SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; +SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; + +-- ----------------------------------------------------- +-- Schema applibrography +-- ----------------------------------------------------- + +-- ----------------------------------------------------- +-- Schema applibrography +-- ----------------------------------------------------- +CREATE SCHEMA IF NOT EXISTS `applibrography` DEFAULT CHARACTER SET utf8 ; +USE `applibrography` ; + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_leitores` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_leitores` ( + `id` INT(8) ZEROFILL NOT NULL AUTO_INCREMENT, + `nome` VARCHAR(100) NULL, + `rg` VARCHAR(30) NULL DEFAULT NULL, + `cpf` VARCHAR(20) NULL DEFAULT NULL, + `email` VARCHAR(200) NULL DEFAULT NULL, + `telefone` VARCHAR(30) NULL DEFAULT NULL, + `celular` VARCHAR(30) NULL DEFAULT NULL, + `cep` VARCHAR(100) NULL DEFAULT NULL, + `endereco` VARCHAR(255) NULL DEFAULT NULL, + `numero` VARCHAR(50) NULL DEFAULT NULL, + `complemento` VARCHAR(200) NULL DEFAULT NULL, + `bairro` VARCHAR(100) NULL DEFAULT NULL, + `cidade` VARCHAR(100) NULL DEFAULT NULL, + `estado` VARCHAR(2) NULL DEFAULT NULL, + `tipo` VARCHAR(15) NULL, + `is_locked` TINYINT NULL, + `curso` VARCHAR(45) NULL, + `curso_ano` VARCHAR(45) NULL, + `qtd_emprestimos` INT(3) NULL, + `emprestmax` INT NULL, + `observacoes` VARCHAR(225) NULL, + PRIMARY KEY (`id`)) +ENGINE = InnoDB +AUTO_INCREMENT = 00000100 +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_fornecedores` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_fornecedores` ( + `id` INT(8) NOT NULL AUTO_INCREMENT, + `nome` VARCHAR(100) NULL DEFAULT NULL, + `cnpj` VARCHAR(100) NULL DEFAULT NULL, + `email` VARCHAR(200) NULL DEFAULT NULL, + `telefone` VARCHAR(30) NULL DEFAULT NULL, + `celular` VARCHAR(30) NULL DEFAULT NULL, + `cep` VARCHAR(100) NULL DEFAULT NULL, + `endereco` VARCHAR(255) NULL DEFAULT NULL, + `numero` VARCHAR(50) NULL DEFAULT NULL, + `complemento` VARCHAR(200) NULL DEFAULT NULL, + `bairro` VARCHAR(100) NULL DEFAULT NULL, + `cidade` VARCHAR(100) NULL DEFAULT NULL, + `estado` VARCHAR(2) NULL DEFAULT NULL, + PRIMARY KEY (`id`)) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_funcionarios` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_funcionarios` ( + `id` INT(8) NOT NULL AUTO_INCREMENT, + `nome` VARCHAR(100) NOT NULL, + `rg` VARCHAR(30) NULL, + `cpf` VARCHAR(20) NULL, + `email` VARCHAR(200) NULL, + `senha` VARCHAR(10) NOT NULL, + `cargo` VARCHAR(100) NOT NULL, + `nivel_acesso` VARCHAR(50) NOT NULL, + `telefone` VARCHAR(30) NULL, + `celular` VARCHAR(30) NULL, + `cep` VARCHAR(100) NOT NULL, + `endereco` VARCHAR(255) NULL, + `numero` VARCHAR(50) NULL, + `complemento` VARCHAR(200) NULL, + `bairro` VARCHAR(100) NULL, + `cidade` VARCHAR(100) NOT NULL, + `estado` VARCHAR(2) NOT NULL, + PRIMARY KEY (`id`)) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_livros` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_livros` ( + `id` INT(8) NOT NULL AUTO_INCREMENT, + `titulo` VARCHAR(100) NOT NULL, + `autor` VARCHAR(45) NOT NULL, + `editora` VARCHAR(45) NOT NULL, + `isbn` VARCHAR(13) NOT NULL, + `ano` VARCHAR(4) NOT NULL, + `serie` VARCHAR(45) NULL, + `edicao` VARCHAR(45) NULL, + `idioma` VARCHAR(25) NOT NULL, + `tb_fornecedores_id` INT(8) NULL, + `piso` VARCHAR(45) NULL, + `corredor` VARCHAR(45) NULL, + `posicao` VARCHAR(45) NULL, + `secao` VARCHAR(45) NULL, + `disponibilidade` VARCHAR(15) NOT NULL, + `observacoes` VARCHAR(225) NULL, + `is_emprestado` TINYINT NULL, + PRIMARY KEY (`id`), + INDEX `fk_tb_livros_tb_fornecedores1_idx` (`tb_fornecedores_id` ASC), + CONSTRAINT `fk_tb_livros_tb_fornecedores1` + FOREIGN KEY (`tb_fornecedores_id`) + REFERENCES `applibrography`.`tb_fornecedores` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_emprestimos` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_emprestimos` ( + `id` INT(8) ZEROFILL NOT NULL AUTO_INCREMENT, + `data_emprestimo` DATETIME NULL, + `data_devolucao` DATETIME NULL DEFAULT NULL, + `observacoes` TEXT NULL DEFAULT NULL, + `tb_funcionarios_id` INT(8) NULL, + `tb_livros_id` INT(8) NULL, + `tb_livros_tb_fornecedores_id` INT(8) NULL, + `tb_leitores_id` INT(8) ZEROFILL NULL, + `data_entrega_agendada` DATETIME NULL, + `tb_funcionarios_iddevol` INT(8) NULL, + `static_id_emprestimo` INT(8) NULL, + PRIMARY KEY (`id`), + INDEX `fk_tb_emprestimos_tb_funcionarios1_idx` (`tb_funcionarios_id` ASC), + INDEX `fk_tb_emprestimos_tb_livros1_idx` (`tb_livros_id` ASC, `tb_livros_tb_fornecedores_id` ASC), + INDEX `fk_tb_emprestimos_tb_leitores1_idx` (`tb_leitores_id` ASC), + INDEX `fk_tb_emprestimos_tb_funcionarios2_idx` (`tb_funcionarios_iddevol` ASC), + CONSTRAINT `fk_tb_emprestimos_tb_funcionarios1` + FOREIGN KEY (`tb_funcionarios_id`) + REFERENCES `applibrography`.`tb_funcionarios` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_tb_emprestimos_tb_livros1` + FOREIGN KEY (`tb_livros_id`) + REFERENCES `applibrography`.`tb_livros` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_tb_emprestimos_tb_leitores1` + FOREIGN KEY (`tb_leitores_id`) + REFERENCES `applibrography`.`tb_leitores` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_tb_emprestimos_tb_funcionarios2` + FOREIGN KEY (`tb_funcionarios_iddevol`) + REFERENCES `applibrography`.`tb_funcionarios` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB +AUTO_INCREMENT = 10000000 +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_multa` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_multa` ( + `idmulta` INT(8) NOT NULL AUTO_INCREMENT, + `dias_atraso` INT(6) NOT NULL, + `valor_multa` DECIMAL(10,2) NULL, + `esta_pago` TINYINT NULL, + `tb_leitores_id` INT(8) ZEROFILL NOT NULL, + `tb_emprestimos_id` INT(8) ZEROFILL NOT NULL, + PRIMARY KEY (`idmulta`, `tb_emprestimos_id`), + INDEX `fk_multa_tb_leitores1_idx` (`tb_leitores_id` ASC), + INDEX `fk_tb_multa_tb_emprestimos1_idx` (`tb_emprestimos_id` ASC), + CONSTRAINT `fk_multa_tb_leitores1` + FOREIGN KEY (`tb_leitores_id`) + REFERENCES `applibrography`.`tb_leitores` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_tb_multa_tb_emprestimos1` + FOREIGN KEY (`tb_emprestimos_id`) + REFERENCES `applibrography`.`tb_emprestimos` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_opcoes` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_opcoes` ( + `id` INT NOT NULL AUTO_INCREMENT, + `data` VARCHAR(45) NOT NULL, + `parentid` INT NULL, + PRIMARY KEY (`id`), + INDEX `fk_Opcoes_Opcoes1_idx` (`parentid` ASC), + CONSTRAINT `fk_Opcoes_Opcoes1` + FOREIGN KEY (`parentid`) + REFERENCES `applibrography`.`tb_opcoes` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `applibrography`.`tb_recibos` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `applibrography`.`tb_recibos` ( + `id` INT(8) NOT NULL AUTO_INCREMENT, + `emprestimo_id` INT(8) NULL, + `data_emprestimo` VARCHAR(45) NULL, + `data_devolucao_agendada` VARCHAR(45) NULL, + `data_entrega` VARCHAR(45) NULL, + `livro` VARCHAR(45) NULL, + `usuario` VARCHAR(45) NULL, + `tipo` VARCHAR(45) NULL, + `multa` VARCHAR(45) NULL, + `status` VARCHAR(45) NULL, + `funcionario` VARCHAR(45) NULL, + PRIMARY KEY (`id`)) +ENGINE = InnoDB; + + +SET SQL_MODE=@OLD_SQL_MODE; +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; +SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; + +-- ----------------------------------------------------- +-- Data for table `applibrography`.`tb_leitores` +-- ----------------------------------------------------- +START TRANSACTION; +USE `applibrography`; +INSERT INTO `applibrography`.`tb_leitores` (`id`, `nome`, `rg`, `cpf`, `email`, `telefone`, `celular`, `cep`, `endereco`, `numero`, `complemento`, `bairro`, `cidade`, `estado`, `tipo`, `is_locked`, `curso`, `curso_ano`, `qtd_emprestimos`, `emprestmax`, `observacoes`) VALUES (00000101, 'Leitor Teste', '5.432.234-1', '099.999.345-23', 'leitor@mail.com', '(42)98877-2299', '(42)98877-2299', '854670-000', 'Rua 1 de abril', '13', 'casa', 'Centro', 'Mallet', 'PR', 'Estudante', 0, 'Letras', '1', 0, 123, 'Ok'); + +COMMIT; + + +-- ----------------------------------------------------- +-- Data for table `applibrography`.`tb_fornecedores` +-- ----------------------------------------------------- +START TRANSACTION; +USE `applibrography`; +INSERT INTO `applibrography`.`tb_fornecedores` (`id`, `nome`, `cnpj`, `email`, `telefone`, `celular`, `cep`, `endereco`, `numero`, `complemento`, `bairro`, `cidade`, `estado`) VALUES (1, 'Fornecedor Teste', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +COMMIT; + + +-- ----------------------------------------------------- +-- Data for table `applibrography`.`tb_funcionarios` +-- ----------------------------------------------------- +START TRANSACTION; +USE `applibrography`; +INSERT INTO `applibrography`.`tb_funcionarios` (`id`, `nome`, `rg`, `cpf`, `email`, `senha`, `cargo`, `nivel_acesso`, `telefone`, `celular`, `cep`, `endereco`, `numero`, `complemento`, `bairro`, `cidade`, `estado`) VALUES (1, 'Administrador', NULL, NULL, 'admin@admin', 'admin', 'Administrador', 'Administrador', NULL, NULL, '84570-000', NULL, NULL, NULL, NULL, 'Mallet', 'PR'); + +COMMIT; + + +-- ----------------------------------------------------- +-- Data for table `applibrography`.`tb_livros` +-- ----------------------------------------------------- +START TRANSACTION; +USE `applibrography`; +INSERT INTO `applibrography`.`tb_livros` (`id`, `titulo`, `autor`, `editora`, `isbn`, `ano`, `serie`, `edicao`, `idioma`, `tb_fornecedores_id`, `piso`, `corredor`, `posicao`, `secao`, `disponibilidade`, `observacoes`, `is_emprestado`) VALUES (1, 'Alice no Pis das maravilhas', 'Lewis Carrol', 'Nope', '1231231231231', '1894', '1', '1', 'Portugues', 1, NULL, NULL, NULL, 'Literatura Universal', '5', 'ok', 0); + +COMMIT; + + +-- ----------------------------------------------------- +-- Data for table `applibrography`.`tb_opcoes` +-- ----------------------------------------------------- +START TRANSACTION; +USE `applibrography`; +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (1, 'piso', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (2, 'corredor', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (3, 'secao', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (4, 'posicao', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (5, 'disponibilidade', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (6, 'printerurl', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (7, 'instituicaonome', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (8, 'instiuicaoendereco', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (17, 'piso 1', 1); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (20, 'corredor 1', 2); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (21, '1A', 3); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (22, 'Literatura Universal', 4); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (13, '0', 5); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (14, '3', 5); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (15, 'Biblioteca de Hogwarts', 7); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (16, 'Rua Epsilon, 888, Cidade Imaginaria, LA ', 8); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (9, 'tiposdeusuarios', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (18, 'Estudante', 9); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (19, 'Professor', 9); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (10, 'server url', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (11, 'libraryname', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (12, 'libraryAddress', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (23, '127.0.0.1', 12); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (24, 'Nome da Biblioteca', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (25, 'valor_multa', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (26, '300', 25); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (27, 'MsgReceipt', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (28, 'Obrigado!!', 27); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (29, 'theme', NULL); +INSERT INTO `applibrography`.`tb_opcoes` (`id`, `data`, `parentid`) VALUES (30, 'dark', 29); + +COMMIT; +