I have the function below that makes an insert in the table ESP35302_TMP but before entering I need to do a validation in this table, if there is already the bar code number that I am inserting, if it already exists that it does not need to execute this function. Is there a way to validate this function?
Code:
public function Inserir(Gtc $dados) {
$this->conn->beginTransaction();
try {
$stmt = $this->conn->prepare(
'INSERT INTO ESP35302_TMP (NrCodigoBarras,CdInscricao,NrSerie,NrNotaFiscal,NrPedido,NrOrdemCompra,NrTransporte,NrVolume,QtVolume,NrMarca,DsProduto,CdDestinatario,DsDestinatario,DsCidadeDestino,DsUFDestino,VlPesoTotalPedido,DtSeparacaoCarga,DsUsuario,NrBox,NrCarga,DtMovimento)
VALUES(:NrCodigoBarras, :CdInscricao, :NrSerie, :NrNotaFiscal, :NrPedido, :NrOrdemCompra, :NrTransporte, :NrVolume, :QtVolume, :NrMarca, :DsProduto, :CdDestinatario, :DsDestinatario, :DsCidadeDestino, :DsUFDestino, :VlPesoTotalPedido, :DtSeparacaoCarga, :DsUsuario, :NrBox, :NrCarga, :DtMovimento)'
);
$stmt->bindValue(':NrCodigoBarras', $dados->getCdBarModif(), PDO::PARAM_INT);
$stmt->bindValue(':CdInscricao', $dados->getCdRemetente(), PDO::PARAM_INT);
$stmt->bindValue(':NrSerie', $dados->getNrSerie(), PDO::PARAM_INT);
$stmt->bindValue(':NrNotaFiscal', $dados->getNrNotaFiscal(), PDO::PARAM_INT);
$stmt->bindValue(':NrPedido', $dados->getNrNotaFiscal(), PDO::PARAM_INT);
$stmt->bindValue(':NrOrdemCompra', $dados->getDsMarca(), PDO::PARAM_INT);
$stmt->bindValue(':NrTransporte', date('dmY'), PDO::PARAM_INT);
$stmt->bindValue(':NrVolume', $dados->getNrVolume(), PDO::PARAM_INT);
$stmt->bindValue(':QtVolume', $dados->getQtVolume(), PDO::PARAM_INT);
$stmt->bindValue(':NrMarca', $dados->getDsMarca(), PDO::PARAM_INT);
$stmt->bindValue(':DsProduto', substr($dados->getRemetente(), 0, 20) . '_' . substr($dados->getDestinatario(), 0, 20), PDO::PARAM_INT);
$stmt->bindValue(':CdDestinatario', $dados->getCdDestinatario(), PDO::PARAM_INT);
$stmt->bindValue(':DsDestinatario', $dados->getDestinatario(), PDO::PARAM_INT);
$stmt->bindValue(':DsCidadeDestino', $dados->getDsLocal(), PDO::PARAM_INT);
$stmt->bindValue(':DsUFDestino', $dados->getDsUf(), PDO::PARAM_INT);
$stmt->bindValue(':VlPesoTotalPedido', $dados->getQtPesoCubado(), PDO::PARAM_INT);
$stmt->bindValue(':DtSeparacaoCarga', $dados->getDtSeparacaoCarga(), PDO::PARAM_INT);
$stmt->bindValue(':DsUsuario', 'GDE', PDO::PARAM_INT);
$stmt->bindValue(':NrBox', '1', PDO::PARAM_INT);
$stmt->bindValue(':NrCarga', $dados->getNrCarga(), PDO::PARAM_INT);
$stmt->bindValue(':DtMovimento', $dados->getDtSeparacaoCarga(), PDO::PARAM_INT);
$stmt->execute();
$this->conn->commit();
} catch (Exception $e) {
$this->conn->rollback();
}
}