responder:pt-br

Stack: PHP & Mysql
TaiwInd cnd
Moderno e colorido com bordas arrendondadas
PHP Puro sem componentes externos (composer)

1. Criar Formulario com 2 Opções (Bottom Radio): Exportar Colaborador, Exportar Pedido
Redicionar Proximo formulario correspondente: 

2. Criar formulario: exportar_colaborador
Tabela: envia_colaborador
Campos:  
  `cliente_id` : Select disting cliente from view_colaborador order by cliente gravar: cliente_id
  `usuarios_id`: select nome from usuarios order by nome gravar: usuarios_id
  `obs` : varchar(100): box (vchar 35)

3. Criar Formulario: export_pedidos p/ alimentar tabela abaixo
Tabela: envia_pedido
Campos:
  `cliente_id` : Select cliente from view_pedido gravar: cliente_id
  `produto_id` : Select disting produto from view_produto_empresa 
                 WHERE cliente_id = view.cliente_id  order by produto
  `usuarios_id`: select nome from usuarios order by nome gravar: usuarios_id
  `dt_liberacao`: data liberação (calender)  Default date(now)
  `obs`: varchar(100): box (vchar 35)
  
4. Criar Formulario: Download Arquivo
Cuidado: Exportar no formato: xlsx (PHP puro openxls) - Não utilizar composer
Formulario com 2 Opções (Bottom Radio): Exportar Colaborador, Exportar Pedido
Redicionar Proximo formulario correspondente: 

a. formulario: download_colaborador
Bottom: Download Colaborador
Cuidado: Exportar no formato: xlsx (PHP puro openxls) - Não utilizar composer
Cliente: campo tipo: select <sql> Select disting cliente from view_colaborador order by cliente </sql>
Exibir Conteudo: select cpf,email,primeiro_segundo_nome`,sobrenome`,dt_nascimento`,nome_mae`,cep`,endereco`,nr`,bairro`,cidade`,uf,complemento`,celular`,departamento` from
                 view_colaborador where cliente_id = formulario.cliente_id
Exportar: .xlxs 
Nome do Arquivo: select primeira palavra campo: cliente + date(now) Exemplo: Horizonte_06Mar26.xlsx

b. formulario: download_pedido
Bottom: Download Pedido
Cuidado: Exportar no formato: xlsx (PHP puro openxls) - Não utilizar composer
Cliente: campo tipo: select <sql> Select disting cliente from view_pedido order by cliente </sql>
Produto: campo tipo: Radio <sql> Select disting produto from view_produto_empresa order by produto where produto_id` = formulario.cliente_id </sql>
Exibir Conteudo: select cpf,valor (decimal (10,2))  from view_pedido where cliente_id = formulario.cliente_id and produto_id` = formulario.produto
Exportar: .xlxs 
Nome do Arquivo: select primeira palavra campo: cliente Exemplo: Horizonte + nome do produto + date(now) Exemplo: Horizonte_Refeição_06Mar26.xlsx				 
 


<conexao>
Serever: 31.97.64.165
Bd: cardix
Password: DIpIYIp25O
User: wander
</conexao>

<usuario>
TABLE: `usuarios` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `nome` varchar(150) NOT NULL,
  `email` varchar(150) NOT NULL,
  `senha` varchar(255) NOT NULL,
  `ativo` tinyint(1) NOT NULL DEFAULT 1,
  `UserLevels_ID` int(11) NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_usuario_email` (`email`),
  KEY `fk_usuarios_UserLevels1_idx` (`UserLevels_ID`),
  CONSTRAINT `fk_usuarios_UserLevels1` FOREIGN KEY (`UserLevels_ID`) REFERENCES `UserLevels` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

</usuario>

<envia_pedido>
TABLE `envia_pedido` (
  `idenvia_pedido` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
  `cliente_id` int(5) NOT NULL,
  `usuarios_id` int(3) NOT NULL,
  `dt_liberacao` date NOT NULL,
  `total_pedido` decimal(10,2) NOT NULL DEFAULT 0.00,
  `obs` varchar(100) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `produto_id` int(5) NOT NULL,
  PRIMARY KEY (`idenvia_pedido`),
  KEY `fk_envia_pedido_cliente1_idx` (`cliente_id`),
  KEY `fk_envia_pedido_usuarios1_idx` (`usuarios_id`),
  KEY `fk_envia_pedido_produto1_idx` (`produto_id`),
  CONSTRAINT `fk_envia_pedido_produto1` FOREIGN KEY (`produto_id`) REFERENCES `produto` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_envia_pedido_usuarios` FOREIGN KEY (`usuarios_id`) REFERENCES `usuarios` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_envia_pedidor_cliente` FOREIGN KEY (`cliente_id`) REFERENCES `cliente` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

</envia_pedido>

<envia_colaborador>
TABLE `envia_colaborador` (
  `idenvia_colaborador` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
  `cliente_id` int(5) NOT NULL,
  `usuarios_id` int(3) NOT NULL,
  `obs` varchar(100) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`idenvia_colaborador`),
  KEY `fk_envia_colaborador_cliente1_idx` (`cliente_id`),
  KEY `fk_envia_colaborador_usuarios1_idx` (`usuarios_id`),
  CONSTRAINT `fk_envia_colaborador_cliente1` FOREIGN KEY (`cliente_id`) REFERENCES `cliente` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_envia_colaborador_usuarios1` FOREIGN KEY (`usuarios_id`) REFERENCES `usuarios` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

</envia_colaborador>

<view_pedido>
VIEW: `view_pedido` 
select  `pedido`.`id` AS `idpedido`,  `pedido`.`cliente_id` AS `cliente_id`,  `cliente`.`razao_social` AS `cliente`,  `colaborador`.`nome_completo` AS `nome_completo`,  `colaborador`.`cpf` AS `cpf`,  `pedido`.`valor` AS `valor`,  `status_pedido`.`status` AS `status`,  `pedido`.`idstatus_pedido` AS `idstatus_pedido`,  `pedido`.`produto_id` AS `produto_id` from (((`pedido`  join `status_pedido`  on (`pedido`.`idstatus_pedido` = `status_pedido`.`idstatus_pedido`))  join `cliente`  on (`pedido`.`cliente_id` = `cliente`.`id`))  join `colaborador`  on (`colaborador`.`cliente_id` = `cliente`.`id`  and `pedido`.`colaborador_id` = `colaborador`.`id`)) where `pedido`.`idstatus_pedido` = 1 order by `colaborador`.`nome_completo`
</view_pedido>

<view_colaborador>
VIEW: `view_colaborador` 
select  `c`.`cpf` AS `cpf`,  `c`.`email` AS `email`,  concat(substring_index(`c`.`nome_limpo`,' ',1),' ',substring_index(substring_index(`c`.`nome_limpo`,' ',2),' ',-1)) AS `primeiro_segundo_nome`,  substring_index(`c`.`nome_limpo`,' ',-1) AS `sobrenome`,  `c`.`dt_nascimento` AS `dt_nascimento`,  `c`.`nome_mae` AS `nome_mae`,  `c`.`cep` AS `cep`,  `c`.`endereco` AS `endereco`,  `c`.`nr` AS `nr`,  `c`.`bairro` AS `bairro`,  `c`.`cidade` AS `cidade`,  `e`.`sigla` AS `uf`,  `c`.`complemento` AS `complemento`,  `c`.`celular` AS `celular`,  `d`.`departamento` AS `departamento`,  `sc`.`status` AS `status`,  `c`.`cliente_id` AS `cliente_id`,  `cl`.`razao_social` AS `cliente`,  `c`.`status_idstatus` AS `idstatus`,  `c`.`usuarios_id` AS `usuarios_id` from (((((select  `colaborador`.`id` AS `id`,  `colaborador`.`cpf` AS `cpf`,  `colaborador`.`email` AS `email`,  `colaborador`.`nome_completo` AS `nome_completo`,  `colaborador`.`endereco` AS `endereco`,  `colaborador`.`nr` AS `nr`,  `colaborador`.`bairro` AS `bairro`,  `colaborador`.`cidade` AS `cidade`,  `colaborador`.`estado_id` AS `estado_id`,  `colaborador`.`dt_nascimento` AS `dt_nascimento`,  `colaborador`.`nome_mae` AS `nome_mae`,  `colaborador`.`cep` AS `cep`,  `colaborador`.`complemento` AS `complemento`,  `colaborador`.`celular` AS `celular`,  `colaborador`.`departamento_id` AS `departamento_id`,  `colaborador`.`status_idstatus` AS `status_idstatus`,  `colaborador`.`cliente_id` AS `cliente_id`,  `colaborador`.`usuarios_id` AS `usuarios_id`,  `colaborador`.`created_at` AS `created_at`,  `colaborador`.`updated_at` AS `updated_at`,  trim(regexp_replace(`colaborador`.`nome_completo`,' (da|de|do|dos|das) ',' ')) AS `nome_limpo`  from `colaborador`) `c`  join `estado` `e`  on (`c`.`estado_id` = `e`.`id`))  join `departamento` `d`  on (`c`.`departamento_id` = `d`.`id`))  join `cliente` `cl`  on (`c`.`cliente_id` = `cl`.`id`))  join `status_colaborador` `sc`  on (`c`.`status_idstatus` = `sc`.`idstatus`)) where `c`.`status_idstatus` = 1 order by concat(substring_index(`c`.`nome_limpo`,' ',1),' ',substring_index(substring_index(`c`.`nome_limpo`,' ',2),' ', - 1))
</view_colaborador>

<view_produto_empresa>
VIEW: `view_produto_empresa` 
select  `produto_empresa`.`idproduto_empresa` AS `idproduto_empresa`,  `produto_empresa`.`cliente_id` AS `cliente_id`,  `produto_empresa`.`produto_id` AS `produto_id`,  `cliente`.`razao_social` AS `razao_social`,  `produto`.`produto` AS `produto` from ((`produto_empresa`  join `cliente`  on (`produto_empresa`.`cliente_id` = `cliente`.`id`))  join `produto`  on (`produto_empresa`.`produto_id` = `produto`.`id`)) order by `produto_empresa`.`produto_id`
</view_produto_empresa>