
ALTER TABLE `sgdvl`.`notificacaoentradaprodu` 
ADD PRIMARY KEY (`protocolo`, `lote`, `codigo`);
;



CREATE TABLE `notificacaoentradaprodu` (
  `mensagem` varchar(50) NOT NULL,
  `ultima_data` datetime DEFAULT NULL,
  `criado_em` datetime DEFAULT CURRENT_TIMESTAMP,
  `quantidade` int(11) DEFAULT NULL,
  `codigo` int(11) NOT NULL,
  `fabricante` varchar(50) DEFAULT NULL,
  `lote` varchar(50) NOT NULL DEFAULT '',
  `protocolo` int(11) NOT NULL,
  `tipo` varchar(50) DEFAULT NULL,
  `Prc_Unitario` decimal(18,4) DEFAULT NULL,
  `Prc_Fabric` decimal(18,4) DEFAULT NULL,
  `Num_NotaEntrada` int(11) NOT NULL
) ENGINE = InnoDB
  DEFAULT CHARACTER SET = utf8;







SELECT * FROM sgdvl.itensnfe;


INSERT INTO `sgdvl`.`itensnfe` (`protocolo`, `Cod_Produto`, `Cod_Lote`, `produ_descricao`, `Transacao`, `Tip_NF`, `Serie_Entrada`, `Num_NotaEntrada`, `ser_NF_Rel`, `Nf_Rel`, `Cod_Cfo`, `Descricao_cfo`, `Cod_ClaTri`, `Cod_Classif`, `Ctrl_Tributacao`, `Dat_Movimento`, `Qtd_Pedido`, `Prc_Unitario`, `Per_DescItem`, `Vlr_BasDifTri`, `Vlr_DifTri`, `Alq_IcmDeb`, `Vlr_IcmsNor`, `Vlr_IcmsTrib`, `Vlr_SubsTrib`, `Vlr_AntRec`, `Vlr_PrdSubTri`, `Vlr_Isento`, `Vlr_LiqIte`, `Cus_LiqUni`, `Prc_CustoMedio`, `Vlr_Outros`, `Qtd_FisAnt`, `Prc_CusMedAnt`, `PrcUltimaEntrada`, `Vlr_DebIcm`, `Vlr_Pis`, `Vlr_Cofins`, `Vlr_Ipi`, `Flg_UsaCreIcmSbt`, `Vlr_BruItem`, `Vlr_TotItem`, `CnpjEmitente`, `Cod_Emitente`, `Razao_Social`, `Cod_UfOrigem`, `Cod_Vendedor`, `Nome_Guerra`, `Obs_Rodape`, `Flg_Movest`, `datSync`) VALUES ('2340477', '12677', '1056/21', 'HIOSCINA+DIPIRONA GTS FR 20ML', '2023-03-14 11:51:00', 'D', '1', '404282', '1', '403198', '1411', 'DEVOLUCAO SUBST TRIBUTARIA NO ESTAD', 'F8', '0203', '60', '2023-03-14 00:00:00', '200', '10.5000', '0.0000', '0.0000', '0.0000', '0.0000', '378.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '2100.0000', '10.5000', '5.3000', '2100.0000', '5600', '5.3000', '5.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0', '2100.0000', '2100.0000', '12238888000184', '18973', 'FUNDO M. DE SA?DE DE PARNAMIRIM', 'PE', '3050', 'CARLOS ANDR? HV', 'DEVOLU??O REF A NF:403.198 MOTIVO: EMPENHAR.', '1', '2023-03-14 11:52:14');

INSERT INTO `sgdvl`.`itensnfe` (`protocolo`, `Cod_Produto`, `Cod_Lote`, `produ_descricao`, `Transacao`, `Tip_NF`, `Serie_Entrada`, `Num_NotaEntrada`, `ser_NF_Rel`, `Nf_Rel`, `Cod_Cfo`, `Descricao_cfo`, `Cod_ClaTri`, `Cod_Classif`, `Ctrl_Tributacao`, `Dat_Movimento`, `Qtd_Pedido`, `Prc_Unitario`, `Per_DescItem`, `Vlr_BasDifTri`, `Vlr_DifTri`, `Alq_IcmDeb`, `Vlr_IcmsNor`, `Vlr_IcmsTrib`, `Vlr_SubsTrib`, `Vlr_AntRec`, `Vlr_PrdSubTri`, `Vlr_Isento`, `Vlr_LiqIte`, `Cus_LiqUni`, `Prc_CustoMedio`, `Vlr_Outros`, `Qtd_FisAnt`, `Prc_CusMedAnt`, `PrcUltimaEntrada`, `Vlr_DebIcm`, `Vlr_Pis`, `Vlr_Cofins`, `Vlr_Ipi`, `Flg_UsaCreIcmSbt`, `Vlr_BruItem`, `Vlr_TotItem`, `CnpjEmitente`, `Cod_Emitente`, `Razao_Social`, `Cod_UfOrigem`, `Cod_Vendedor`, `Nome_Guerra`, `Obs_Rodape`, `Flg_Movest`, `datSync`) VALUES ('2340478', '13395', '0055/23M', 'PREDNISONA 20 MG CX/500 CPR', '2023-03-14 11:51:00', 'D', '1', '404282', '1', '403198', '1411', 'DEVOLUCAO SUBST TRIBUTARIA NO ESTAD', 'F7', '0109', '60', '2023-03-14 00:00:00', '1000', '0.1600', '0.0000', '0.0000', '0.0000', '0.0000', '28.8000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '160.0000', '0.1600', '0.1696', '160.0000', '1365500', '0.1696', '0.1600', '0.0000', '0.0000', '0.0000', '0.0000', '0', '160.0000', '160.0000', '12238888000184', '18973', 'FUNDO M. DE SA?DE DE PARNAMIRIM', 'PE', '3050', 'CARLOS ANDR? HV', 'DEVOLU??O REF A NF:403.198 MOTIVO: EMPENHAR.', '1', '2023-03-14 11:52:14');


-- ====================================================================================================================================================================
    
DROP TRIGGER IF EXISTS `sgdvl`.`TR_INSERT_notificacaoEntradaProdu`;

DELIMITER $$
USE `sgdvl`$$
CREATE DEFINER=`root`@`::1` TRIGGER `TR_INSERT_notificacaoEntradaProdu` AFTER INSERT ON `itensnfe` FOR EACH ROW
BEGIN	
		
	     if(new.Tip_NF = 'C') then  
			INSERT INTO notificacaoEntradaProdu 
				SELECT 	itensnfe.produ_descricao, 
						itensnfe.Transacao as ultima_data,
						itensnfe.Transacao as criado_em,
						itensnfe.Qtd_Pedido,
						itensnfe.Cod_Produto, 
						p.Fabricante,
						itensnfe.Cod_Lote,
						itensnfe.protocolo,
						p.Tipo,
						itensnfe.Prc_Unitario,
						p.Prc_Fabric,
						itensnfe.Num_NotaEntrada	
				FROM itensnfe
                left join 
					produ p on p.Codigo = itensnfe.Cod_Produto	
                
              	where
					itensnfe.Tip_NF = 'C' 
                    and itensnfe.protocolo = new.protocolo
					and itensnfe.Cod_Produto = new.Cod_Produto
					and itensnfe.Cod_Lote = new.Cod_Lote;
         END IF;           
END$$
DELIMITER ;









CREATE DEFINER=`root`@`::1` TRIGGER `TR_INSERT_notificacaoEntradaProdu` AFTER INSERT ON `itensnfe` FOR EACH ROW
BEGIN		
	       
			if(new.Tip_NF = 'C') then  
				INSERT INTO notificacaoentradaprodu 
					SELECT 	itensnfe.produ_descricao, 
							itensnfe.Transacao as ultima_data,
							itensnfe.Transacao as criado_em,
							itensnfe.Qtd_Pedido,
							itensnfe.Cod_Produto, 
							p.Fabricante,
							itensnfe.Cod_Lote,
							itensnfe.protocolo,
							p.Tipo,
							itensnfe.Prc_Unitario,
							p.Prc_Fabric,
							itensnfe.Num_NotaEntrada	
					FROM itensnfe
					left join 
						produ p on p.Codigo = itensnfe.Cod_Produto	
					
					where
						itensnfe.Tip_NF = 'C' 
						and itensnfe.protocolo = new.protocolo
						and itensnfe.Cod_Produto = new.Cod_Produto
						and itensnfe.Cod_Lote = new.Cod_Lote;
						
					/*	
					INSERT INTO log_aviso 
						SELECT 	itensnfe.produ_descricao, 
								itensnfe.Transacao as ultima_data,
								itensnfe.Transacao as criado_em,
								itensnfe.Qtd_Pedido,
								itensnfe.Cod_Produto, 
								p.Fabricante,
								itensnfe.Cod_Lote,
								itensnfe.protocolo,
								p.Tipo,
								itensnfe.Prc_Unitario,
								p.Prc_Fabric,
								itensnfe.Num_NotaEntrada	
						FROM itensnfe
						left join 
							produ p on p.Codigo = itensnfe.Cod_Produto	
						
						where
							itensnfe.Tip_NF = 'C' 
							and itensnfe.protocolo = new.protocolo
							and itensnfe.Cod_Produto = new.Cod_Produto
							and itensnfe.Cod_Lote = new.Cod_Lote;*/
						
		END IF;                              
END



-- =================================================================================================================================
ALTER TABLE `sgdvl`.`notificacaoentradaprodu` 
ADD PRIMARY KEY (`codigo`, `lote`, `protocolo`);
;
