/* Tabela RECEPADR: Receita Padrao */
/* Descrição: A trigger insere registros na tabela LOGOPERA a partir de alterações na tabela RECEPADR */
/* Objetivo: Gerar um log que vai registrar as alterações na tabela Receita Padrao,
             utilizando a tabela Geral de Logs de Operações */

IF EXISTS(SELECT * FROM sysobjects O, sysusers U
          WHERE
            o.name = 'LOG_PLA_RECEPADR'  and
            type = 'TR'               and
            u.uid = o.uid             and
            u.name = USER)
   DROP TRIGGER LOG_PLA_RECEPADR
GO

CREATE TRIGGER LOG_PLA_RECEPADR
ON RECEPADR
AFTER DELETE, INSERT, UPDATE
AS
BEGIN

   DECLARE @V_USUARIO         VARCHAR(40);
   DECLARE @V_TIPO            VARCHAR(1);
   DECLARE @V_ITPESQ          VARCHAR(40);
   DECLARE @V_DESC            VARCHAR(500);
   DECLARE @V_DTOPER          DATETIME;

   DECLARE @V_DSREMOTEADDR     VARCHAR(15);
   DECLARE @V_DSREMOTEHOST     VARCHAR(15);
   DECLARE @V_DSSERVERRDM      VARCHAR(20);
   DECLARE @V_DSSERVMETHOD     VARCHAR(30);
   DECLARE @V_DSREMOTEOPER     VARCHAR(12);

   DECLARE @V_CDARVPROD VARCHAR(20);

/* Variáveis do cursor */

   DECLARE @V_IDCOMANDO         VARCHAR(01);
   DECLARE @V_OLD_CDPRATO       VARCHAR(10);
   DECLARE @V_OLD_CDFILAUXPRAT  VARCHAR(04);
   DECLARE @V_OLD_CDPRODUTO     VARCHAR(10);
   DECLARE @V_OLD_QTPRODPRAT    DOUBLE PRECISION;
   DECLARE @V_OLD_CDAPRERECE    VARCHAR(10);
   DECLARE @V_OLD_SGUNIDADE     VARCHAR(05);
   DECLARE @V_OLD_HRTEMPPREPPR  VARCHAR(05);
   DECLARE @V_OLD_IDPRODBASEPR  VARCHAR(01);
   DECLARE @V_OLD_VRPEFATCOCPR  DOUBLE PRECISION;
   DECLARE @V_OLD_VRPEFATCORPR  DOUBLE PRECISION;
   DECLARE @V_OLD_QTBRUTAPRUNR  DOUBLE PRECISION;
   DECLARE @V_OLD_QTBRUTAPR     DOUBLE PRECISION;
   DECLARE @V_OLD_VRPEFATNUTPR  DOUBLE PRECISION;
   DECLARE @V_OLD_QTCALCNUTRPR  DOUBLE PRECISION;

   DECLARE @V_NEW_CDPRATO       VARCHAR(10);
   DECLARE @V_NEW_CDFILAUXPRAT  VARCHAR(04);
   DECLARE @V_NEW_CDPRODUTO     VARCHAR(10);
   DECLARE @V_NEW_QTPRODPRAT    DOUBLE PRECISION;
   DECLARE @V_NEW_CDAPRERECE    VARCHAR(10);
   DECLARE @V_NEW_SGUNIDADE     VARCHAR(05);
   DECLARE @V_NEW_HRTEMPPREPPR  VARCHAR(05);
   DECLARE @V_NEW_IDPRODBASEPR  VARCHAR(01);
   DECLARE @V_NEW_VRPEFATCOCPR  DOUBLE PRECISION;
   DECLARE @V_NEW_VRPEFATCORPR  DOUBLE PRECISION;
   DECLARE @V_NEW_QTBRUTAPRUNR  DOUBLE PRECISION;
   DECLARE @V_NEW_QTBRUTAPR     DOUBLE PRECISION;
   DECLARE @V_NEW_VRPEFATNUTPR  DOUBLE PRECISION;
   DECLARE @V_NEW_QTCALCNUTRPR  DOUBLE PRECISION;

   SET @V_IDCOMANDO         = NULL;
   SET @V_OLD_CDPRATO       = NULL;
   SET @V_OLD_CDFILAUXPRAT  = NULL;
   SET @V_OLD_CDPRODUTO     = NULL;
   SET @V_OLD_QTPRODPRAT    = NULL;
   SET @V_OLD_CDAPRERECE    = NULL;
   SET @V_OLD_SGUNIDADE     = NULL;
   SET @V_OLD_HRTEMPPREPPR  = NULL;
   SET @V_OLD_IDPRODBASEPR  = NULL;
   SET @V_OLD_VRPEFATCOCPR  = NULL;
   SET @V_OLD_VRPEFATCORPR  = NULL;
   SET @V_OLD_QTBRUTAPRUNR  = NULL;
   SET @V_OLD_QTBRUTAPR     = NULL;
   SET @V_OLD_VRPEFATNUTPR  = NULL;
   SET @V_OLD_QTCALCNUTRPR  = NULL;
   SET @V_NEW_CDPRATO       = NULL;
   SET @V_NEW_CDFILAUXPRAT  = NULL;
   SET @V_NEW_CDPRODUTO     = NULL;
   SET @V_NEW_QTPRODPRAT    = NULL;
   SET @V_NEW_CDAPRERECE    = NULL;
   SET @V_NEW_SGUNIDADE     = NULL;
   SET @V_NEW_HRTEMPPREPPR  = NULL;
   SET @V_NEW_IDPRODBASEPR  = NULL;
   SET @V_NEW_VRPEFATCOCPR  = NULL;
   SET @V_NEW_VRPEFATCORPR  = NULL;
   SET @V_NEW_QTBRUTAPRUNR  = NULL;
   SET @V_NEW_QTBRUTAPR     = NULL;
   SET @V_NEW_VRPEFATNUTPR  = NULL;
   SET @V_NEW_QTCALCNUTRPR  = NULL;

   SET @V_TIPO = '0';
   SET @V_DESC = '';

   EXEC NMUSUARIO @V_USUARIO;
   EXEC WEBTUNNING @V_DSREMOTEADDR,
                   @V_DSREMOTEHOST,
                   @V_DSSERVERRDM,
                   @V_DSSERVMETHOD,
                   @V_DSREMOTEOPER;

   SET @V_USUARIO = ISNULL(@V_USUARIO, '');

   DECLARE C_DADOS CURSOR FOR
      SELECT
         'D' IDCOMANDO,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          CDPRATO,
          CDFILAUXPRAT,
          CDPRODUTO,
          QTPRODPRAT,
          CDAPRERECE,
          SGUNIDADE,
          HRTEMPPREPPR,
          IDPRODBASEPR,
          VRPEFATCOCPR,
          VRPEFATCORPR,
          QTBRUTAPRUNR,
          QTBRUTAPR,
          VRPEFATNUTPR,
          QTCALCNUTRPR
      FROM
         DELETED
      WHERE
         0 = (SELECT COUNT(*) FROM INSERTED)

      UNION ALL

      SELECT
         'U' IDCOMANDO,
          INSERTED.CDPRATO,
          INSERTED.CDFILAUXPRAT,
          INSERTED.CDPRODUTO,
          INSERTED.QTPRODPRAT,
          INSERTED.CDAPRERECE,
          INSERTED.SGUNIDADE,
          INSERTED.HRTEMPPREPPR,
          INSERTED.IDPRODBASEPR,
          INSERTED.VRPEFATCOCPR,
          INSERTED.VRPEFATCORPR,
          INSERTED.QTBRUTAPRUNR,
          INSERTED.QTBRUTAPR,
          INSERTED.VRPEFATNUTPR,
          INSERTED.QTCALCNUTRPR,

          DELETED.CDPRATO,
          DELETED.CDFILAUXPRAT,
          DELETED.CDPRODUTO,
          DELETED.QTPRODPRAT,
          DELETED.CDAPRERECE,
          DELETED.SGUNIDADE,
          DELETED.HRTEMPPREPPR,
          DELETED.IDPRODBASEPR,
          DELETED.VRPEFATCOCPR,
          DELETED.VRPEFATCORPR,
          DELETED.QTBRUTAPRUNR,
          DELETED.QTBRUTAPR,
          DELETED.VRPEFATNUTPR,
          DELETED.QTCALCNUTRPR
      FROM
         INSERTED,
         DELETED
      WHERE
         INSERTED.CDPRATO      = DELETED.CDPRATO      AND
         INSERTED.CDFILAUXPRAT = DELETED.CDFILAUXPRAT AND
         INSERTED.CDPRODUTO    = DELETED.CDPRODUTO

      UNION ALL

      SELECT
         'I' IDCOMANDO,
          CDPRATO,
          CDFILAUXPRAT,
          CDPRODUTO,
          QTPRODPRAT,
          CDAPRERECE,
          SGUNIDADE,
          HRTEMPPREPPR,
          IDPRODBASEPR,
          VRPEFATCOCPR,
          VRPEFATCORPR,
          QTBRUTAPRUNR,
          QTBRUTAPR,
          VRPEFATNUTPR,
          QTCALCNUTRPR,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL,
          NULL
      FROM
         INSERTED
      WHERE
         0 = (SELECT COUNT(*) FROM DELETED);

   OPEN C_DADOS;
   FETCH NEXT FROM C_DADOS INTO @V_IDCOMANDO,
                                @V_NEW_CDPRATO,
                                @V_NEW_CDFILAUXPRAT,
                                @V_NEW_CDPRODUTO,
                                @V_NEW_QTPRODPRAT,
                                @V_NEW_CDAPRERECE,
                                @V_NEW_SGUNIDADE,
                                @V_NEW_HRTEMPPREPPR,
                                @V_NEW_IDPRODBASEPR,
                                @V_NEW_VRPEFATCOCPR,
                                @V_NEW_VRPEFATCORPR,
                                @V_NEW_QTBRUTAPRUNR,
                                @V_NEW_QTBRUTAPR,
                                @V_NEW_VRPEFATNUTPR,
                                @V_NEW_QTCALCNUTRPR,
                                @V_OLD_CDPRATO,
                                @V_OLD_CDFILAUXPRAT,
                                @V_OLD_CDPRODUTO,
                                @V_OLD_QTPRODPRAT,
                                @V_OLD_CDAPRERECE,
                                @V_OLD_SGUNIDADE,
                                @V_OLD_HRTEMPPREPPR,
                                @V_OLD_IDPRODBASEPR,
                                @V_OLD_VRPEFATCOCPR,
                                @V_OLD_VRPEFATCORPR,
                                @V_OLD_QTBRUTAPRUNR,
                                @V_OLD_QTBRUTAPR,
                                @V_OLD_VRPEFATNUTPR,
                                @V_OLD_QTCALCNUTRPR

   WHILE (@@FETCH_STATUS = 0) BEGIN
      IF @V_IDCOMANDO = 'D' /* Deleting */ BEGIN

         SET @V_DESC = @V_DESC + 'Prato=' + @V_OLD_CDPRATO + ' - ' + @V_OLD_CDFILAUXPRAT;

         SELECT @V_CDARVPROD = CDARVPROD
         FROM PRODUTO
         WHERE CDPRODUTO = @V_OLD_CDPRODUTO;

         SET @V_DESC = @V_DESC + ' Prod=' + @V_CDARVPROD;

         IF (ISNULL(@V_OLD_CDAPRERECE, '¿') <> '¿') BEGIN
            SET @V_DESC = @V_DESC + ' Apres=' + @V_OLD_CDAPRERECE;
         END;

         IF (ISNULL(@V_OLD_QTPRODPRAT, -1) <> -1) BEGIN
            SET @V_DESC = @V_DESC + ' Qtde=' + CONVERT(VARCHAR, @V_OLD_QTPRODPRAT);
         END;

         IF NOT (@V_OLD_SGUNIDADE IS NULL) BEGIN
            SET @V_DESC = @V_DESC + ' Un=' + CONVERT(VARCHAR, @V_OLD_SGUNIDADE);
         END;

         IF (ISNULL(@V_OLD_VRPEFATCOCPR, -1) <> -1) BEGIN
            SET @V_DESC = @V_DESC + ' GanhoCoc=' + CONVERT(VARCHAR, @V_OLD_VRPEFATCOCPR);
         END;

         IF (ISNULL(@V_OLD_VRPEFATCORPR, -1) <> -1) BEGIN
            SET @V_DESC = @V_DESC + ' PerdLimp=' + CONVERT(VARCHAR, @V_OLD_VRPEFATCORPR);
         END;

         IF (ISNULL(@V_OLD_HRTEMPPREPPR, '¿') <> '¿') BEGIN
            SET @V_DESC = @V_DESC + ' Temp=' + SUBSTRING(@V_OLD_HRTEMPPREPPR, 1, 2) + ':' + SUBSTRING(@V_OLD_HRTEMPPREPPR, 4, 2);
         END;

         IF (ISNULL(@V_OLD_QTBRUTAPRUNR, -1) <> -1) BEGIN
             SET @V_DESC = @V_DESC + ' QtBruta=' + CONVERT(VARCHAR, @V_OLD_QTBRUTAPRUNR);
         END;

         IF (ISNULL(@V_OLD_QTBRUTAPR, -1) <> -1) BEGIN
            SET @V_DESC = @V_DESC + ' QtReq=' + CONVERT(VARCHAR, @V_OLD_QTBRUTAPR);
         END;

         IF NOT (@V_OLD_IDPRODBASEPR IS NULL) BEGIN
            SET @V_DESC = @V_DESC + ' PrBase=' + CONVERT(VARCHAR, @V_OLD_IDPRODBASEPR);
         END;

         IF (ISNULL(@V_OLD_VRPEFATNUTPR, -1) <> -1) BEGIN
            SET @V_DESC = @V_DESC + ' AprovNutr=' + CONVERT(VARCHAR, @V_OLD_VRPEFATNUTPR);
         END;

         IF (ISNULL(@V_OLD_QTCALCNUTRPR, -1) <> -1) BEGIN
            SET @V_DESC = @V_DESC + ' QtNutr=' + CONVERT(VARCHAR, @V_OLD_QTCALCNUTRPR);
         END;

         SET @V_TIPO = '3';

         SET @V_ITPESQ = @V_OLD_CDPRATO+@V_OLD_CDFILAUXPRAT+@V_CDARVPROD;

         SET @V_DTOPER =  GETDATE();
         SELECT
            @V_DSSERVERRDM  = DSSERVERRDM,
            @V_DSREMOTEADDR = DSREMOTEADDR,
            @V_DSREMOTEHOST = DSREMOTEHOST,
            @V_DSSERVMETHOD = DSSERVMETHOD,
            @V_DSREMOTEOPER = DSREMOTEOPER
           FROM
            SQLWEBTUNNING
           WHERE NRAUDSID = @@SPID;
           SELECT @V_USUARIO = MAX(NMOPERADOR)
           FROM OPERADOR
           WHERE  @V_DSREMOTEOPER = CDOPERADOR;

         INSERT INTO LOGOPERA
            (NMTABELA,   DTOPERACAO, NMRESPOPER, IDTIPOOPER, CDPESQITEM, DSOPERACAO,
             DSRDMUSUOPER, DSENDUSUOPER, DSNMUSUOPER, DSMETUSUOPER, CDORESPOPER)
         VALUES
            ('RECEPADR',  @V_DTOPER, @V_USUARIO, @V_TIPO,  @V_ITPESQ, @V_DESC,
             @V_DSSERVERRDM, @V_DSREMOTEADDR,  @V_DSREMOTEHOST, @V_DSSERVMETHOD, @V_DSREMOTEOPER);

      END;
      ELSE BEGIN
         IF @V_IDCOMANDO = 'U' /* Updating */ BEGIN

            IF (@V_OLD_CDPRATO      <> @V_NEW_CDPRATO     ) OR
               (@V_OLD_CDFILAUXPRAT <> @V_NEW_CDFILAUXPRAT) OR
               (@V_OLD_CDPRODUTO    <> @V_NEW_CDPRODUTO   ) OR
               (@V_OLD_QTPRODPRAT   <> @V_NEW_QTPRODPRAT) OR
               (ISNULL(@V_OLD_CDAPRERECE,   '¿') <> ISNULL(@V_NEW_CDAPRERECE,   '¿')) OR
               (ISNULL(@V_OLD_SGUNIDADE,    '¿') <> ISNULL(@V_NEW_SGUNIDADE,    '¿')) OR
               (ISNULL(@V_OLD_HRTEMPPREPPR, '¿') <> ISNULL(@V_NEW_HRTEMPPREPPR, '¿')) OR
               (ISNULL(@V_OLD_IDPRODBASEPR, '¿') <> ISNULL(@V_NEW_IDPRODBASEPR, '¿')) OR
               (ISNULL(@V_OLD_VRPEFATCOCPR,  -1) <> ISNULL(@V_NEW_VRPEFATCOCPR,  -1)) OR
               (ISNULL(@V_OLD_VRPEFATCORPR,  -1) <> ISNULL(@V_NEW_VRPEFATCORPR,  -1)) OR
               (ISNULL(@V_OLD_QTBRUTAPRUNR,  -1) <> ISNULL(@V_NEW_QTBRUTAPRUNR,  -1)) OR
               (ISNULL(@V_OLD_QTBRUTAPR,     -1) <> ISNULL(@V_NEW_QTBRUTAPR,     -1)) OR
               (ISNULL(@V_OLD_VRPEFATNUTPR,  -1) <> ISNULL(@V_NEW_VRPEFATNUTPR,  -1)) OR
               (ISNULL(@V_OLD_QTCALCNUTRPR,  -1) <> ISNULL(@V_NEW_QTCALCNUTRPR,  -1)) BEGIN

               SELECT @V_CDARVPROD = CDARVPROD
               FROM PRODUTO
               WHERE CDPRODUTO = @V_OLD_CDPRODUTO;

               SET @V_TIPO  = '2';
               SET @V_ITPESQ = @V_OLD_CDPRATO+@V_OLD_CDFILAUXPRAT+@V_CDARVPROD;
            END;
         END;
         ELSE BEGIN
            SELECT @V_CDARVPROD = CDARVPROD
            FROM PRODUTO
            WHERE CDPRODUTO = @V_NEW_CDPRODUTO;

            SET @V_TIPO   = '1';
            SET @V_ITPESQ = @V_NEW_CDPRATO+@V_NEW_CDFILAUXPRAT+@V_CDARVPROD;

         END;
      END;

      IF (@V_OLD_CDPRATO <> @V_NEW_CDPRATO) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + 'Prato=' + @V_OLD_CDPRATO + '|' + @V_NEW_CDPRATO + ' - ';
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + 'Prato=' + @V_NEW_CDPRATO + ' - ';
         END;
      END;

      IF (@V_OLD_CDFILAUXPRAT <> @V_NEW_CDFILAUXPRAT) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + '-' + + @V_OLD_CDFILAUXPRAT + '|' + @V_NEW_CDFILAUXPRAT;
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + '-' + @V_NEW_CDFILAUXPRAT;
         END;
      END;

      IF (@V_OLD_CDPRODUTO <> @V_NEW_CDPRODUTO) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SELECT @V_CDARVPROD = CDARVPROD
            FROM PRODUTO
            WHERE CDPRODUTO = @V_OLD_CDPRODUTO;
            SET @V_DESC = @V_DESC + ' Prod=' + @V_CDARVPROD;

            SELECT @V_CDARVPROD = CDARVPROD
            FROM PRODUTO
            WHERE CDPRODUTO = @V_NEW_CDPRODUTO;
            SET @V_DESC = @V_DESC + '|' + @V_CDARVPROD;
         END;
         ELSE BEGIN
            SELECT @V_CDARVPROD = CDARVPROD
            FROM PRODUTO
            WHERE CDPRODUTO = @V_NEW_CDPRODUTO;
            SET @V_DESC = @V_DESC + ' Prod=' + @V_CDARVPROD;
         END;
      END;

      IF (ISNULL(@V_OLD_CDAPRERECE, '¿') <> ISNULL(@V_NEW_CDAPRERECE, '¿')) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' Apres=' + @V_OLD_CDAPRERECE + '|' + @V_NEW_CDAPRERECE;
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' Apres=' + @V_NEW_CDAPRERECE;
         END;
      END;

      IF (ISNULL(@V_OLD_QTPRODPRAT, -1) <> ISNULL(@V_NEW_QTPRODPRAT, -1)) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' Qtde.=' + CONVERT(VARCHAR, @V_OLD_QTPRODPRAT) + '|' + CONVERT(VARCHAR, @V_NEW_QTPRODPRAT);
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' Qtde=' + CONVERT(VARCHAR, @V_NEW_QTPRODPRAT);
         END;
      END;

      IF (ISNULL(@V_OLD_SGUNIDADE, '¿') <> ISNULL(@V_NEW_SGUNIDADE, '¿')) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' Un=' + @V_OLD_SGUNIDADE + '|' + @V_NEW_SGUNIDADE;
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' Un=' + @V_NEW_SGUNIDADE;
         END;
      END;

      IF (ISNULL(@V_NEW_VRPEFATCOCPR, -1) <> ISNULL(@V_NEW_VRPEFATCOCPR, -1)) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' GanhoCoc=' + CONVERT(VARCHAR, @V_OLD_VRPEFATCOCPR) + '|' + CONVERT(VARCHAR, @V_NEW_VRPEFATCOCPR);
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' GanhoCoc=' + CONVERT(VARCHAR, @V_NEW_VRPEFATCOCPR);
         END;
      END;

      IF (ISNULL(@V_OLD_VRPEFATCORPR, -1) <> ISNULL(@V_NEW_VRPEFATCORPR, -1)) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' PerdLimp=' + CONVERT(VARCHAR, @V_OLD_VRPEFATCORPR) + '|' + CONVERT(VARCHAR, @V_NEW_VRPEFATCORPR);
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' PerdLimp=' + CONVERT(VARCHAR, @V_NEW_VRPEFATCORPR);
         END;
      END;

      IF (ISNULL(@V_OLD_HRTEMPPREPPR, '¿') <> ISNULL(@V_NEW_HRTEMPPREPPR, '¿')) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' Temp=' + SUBSTRING(@V_OLD_HRTEMPPREPPR, 1, 2) + ':' + SUBSTRING(@V_OLD_HRTEMPPREPPR, 4, 2) + '|' + SUBSTRING(@V_NEW_HRTEMPPREPPR, 1, 2) + ':' + SUBSTRING(@V_NEW_HRTEMPPREPPR, 4, 2);
         END
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' Temp=' + SUBSTRING(@V_NEW_HRTEMPPREPPR, 1, 2) + ':' + SUBSTRING(@V_NEW_HRTEMPPREPPR, 4, 2);
         END
      END;

      IF (ISNULL(@V_OLD_QTBRUTAPRUNR, -1) <> ISNULL(@V_NEW_QTBRUTAPRUNR, -1)) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' QtBruta=' + CONVERT(VARCHAR, @V_OLD_QTBRUTAPRUNR) + '|' + CONVERT(VARCHAR, @V_NEW_QTBRUTAPRUNR);
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' QtBruta=' + CONVERT(VARCHAR, @V_NEW_QTBRUTAPRUNR);
         END;
      END;

      IF (ISNULL(@V_OLD_QTBRUTAPR, -1) <> ISNULL(@V_NEW_QTBRUTAPR, -1)) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' QtReq=' + CONVERT(VARCHAR, @V_OLD_QTBRUTAPR) + '|' + CONVERT(VARCHAR, @V_NEW_QTBRUTAPR);
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' QtReq=' + CONVERT(VARCHAR, @V_NEW_QTBRUTAPR);
         END;
      END;

      IF (ISNULL(@V_OLD_IDPRODBASEPR, '¿') <>ISNULL(@V_NEW_IDPRODBASEPR, '¿')) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' PrBase=' + @V_OLD_IDPRODBASEPR + '|' + @V_NEW_IDPRODBASEPR;
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' PrBase=' + @V_NEW_IDPRODBASEPR;
         END;
      END;

      IF (ISNULL(@V_OLD_VRPEFATNUTPR, -1) <> ISNULL(@V_NEW_VRPEFATNUTPR, -1)) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' AprovNutr=' + CONVERT(VARCHAR, @V_OLD_VRPEFATNUTPR) + '|' + CONVERT(VARCHAR, @V_NEW_VRPEFATNUTPR);
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' AprovNutr=' + CONVERT(VARCHAR, @V_NEW_VRPEFATNUTPR);
         END;
      END;

      IF (ISNULL(@V_OLD_QTCALCNUTRPR, -1) <> ISNULL(@V_NEW_QTCALCNUTRPR, -1)) BEGIN
         IF @V_IDCOMANDO = 'U' BEGIN
            SET @V_DESC = @V_DESC + ' QtNutr=' + CONVERT(VARCHAR, @V_OLD_QTCALCNUTRPR) + '|' + CONVERT(VARCHAR, @V_NEW_QTCALCNUTRPR);
         END;
         ELSE BEGIN
            SET @V_DESC = @V_DESC + ' QtNutr=' + CONVERT(VARCHAR, @V_NEW_QTCALCNUTRPR);
         END;
      END;

      IF ((@V_TIPO = '1') OR (@V_TIPO = '2'))BEGIN
         IF NOT @V_DESC IS NULL BEGIN
            SET @V_USUARIO = '  ';
            IF NOT @V_USUARIO IS NULL BEGIN
               SET @V_DTOPER =  GETDATE();
  	            SELECT
                  @V_DSSERVERRDM  = DSSERVERRDM,
                  @V_DSREMOTEADDR = DSREMOTEADDR,
                  @V_DSREMOTEHOST = DSREMOTEHOST,
		            @V_DSSERVMETHOD = DSSERVMETHOD,
                  @V_DSREMOTEOPER = DSREMOTEOPER
   	           FROM
                  SQLWEBTUNNING
                 WHERE NRAUDSID = @@SPID;
                 SELECT @V_USUARIO = MAX(NMOPERADOR)
                 FROM OPERADOR
                 WHERE  @V_DSREMOTEOPER = CDOPERADOR;

               INSERT INTO LOGOPERA
                  (NMTABELA,   DTOPERACAO, NMRESPOPER, IDTIPOOPER, CDPESQITEM, DSOPERACAO,
                   DSRDMUSUOPER, DSENDUSUOPER, DSNMUSUOPER, DSMETUSUOPER, CDORESPOPER)
               VALUES
                  ('RECEPADR',  @V_DTOPER, @V_USUARIO, @V_TIPO,  @V_ITPESQ, @V_DESC,
                   @V_DSSERVERRDM, @V_DSREMOTEADDR,  @V_DSREMOTEHOST, @V_DSSERVMETHOD, @V_DSREMOTEOPER);
            END;
         END;
      END;

      FETCH NEXT FROM C_DADOS INTO @V_IDCOMANDO,
                                @V_NEW_CDPRATO,
                                @V_NEW_CDFILAUXPRAT,
                                @V_NEW_CDPRODUTO,
                                @V_NEW_QTPRODPRAT,
                                @V_NEW_CDAPRERECE,
                                @V_NEW_SGUNIDADE,
                                @V_NEW_HRTEMPPREPPR,
                                @V_NEW_IDPRODBASEPR,
                                @V_NEW_VRPEFATCOCPR,
                                @V_NEW_VRPEFATCORPR,
                                @V_NEW_QTBRUTAPRUNR,
                                @V_NEW_QTBRUTAPR,
                                @V_NEW_VRPEFATNUTPR,
                                @V_NEW_QTCALCNUTRPR,
                                @V_OLD_CDPRATO,
                                @V_OLD_CDFILAUXPRAT,
                                @V_OLD_CDPRODUTO,
                                @V_OLD_QTPRODPRAT,
                                @V_OLD_CDAPRERECE,
                                @V_OLD_SGUNIDADE,
                                @V_OLD_HRTEMPPREPPR,
                                @V_OLD_IDPRODBASEPR,
                                @V_OLD_VRPEFATCOCPR,
                                @V_OLD_VRPEFATCORPR,
                                @V_OLD_QTBRUTAPRUNR,
                                @V_OLD_QTBRUTAPR,
                                @V_OLD_VRPEFATNUTPR,
                                @V_OLD_QTCALCNUTRPR
   END;
   CLOSE      C_DADOS;
   DEALLOCATE C_DADOS;

END;
GO

-- VERSAO --
EXEC ATUVEROBJ 'LOG_PLA_RECEPADR','5.85.000';
GO

