Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            entidadSC = new SeguimientoCompras();
            negocioSC = new Indicadores();

            if (Page.IsPostBack == false) // Se carga la pagina por primera vez
            {
                this.txtOrdenCompra.Focus();

                ValidadSession();
                CargarDdlCompañias();
            }
        }
Exemple #2
0
        public DataTable BuscarCotejoPago(SeguimientoCompras seguimiento)
        {
            TablaSeguimientoCompras tablaSeguimientoCompras = new TablaSeguimientoCompras();

            DataTable datos = tablaSeguimientoCompras.BuscarCotejoPago(seguimiento);

            if (datos != null)
            {
                this.log = "OK";
                return datos;
            }
            else
            {
                this.log = tablaSeguimientoCompras.Log;
                return null;
            }
        }
Exemple #3
0
        public DataTable BuscarDetalleRecepcion(SeguimientoCompras seguimiento)
        {
            TablaSeguimientoCompras tablaSeguimientoCompras = new TablaSeguimientoCompras();

            DataTable datos = tablaSeguimientoCompras.BuscarRecepciones(seguimiento);

            if (datos != null)
            {
                this.log = "OK";
                return datos;
            }
            else
            {
                this.log = tablaSeguimientoCompras.Log;
                return null;
            }
        }
Exemple #4
0
        public DataTable FindOnlyOrder(SeguimientoCompras seguimiento)
        {
            TablaSeguimientoCompras tablaSeguimientoCompras = new TablaSeguimientoCompras();

            DataTable datos = tablaSeguimientoCompras.FindOnlyOrder(seguimiento);

            if (datos != null)
            {
                this.log = "OK";
                return datos;
            }
            else
            {
                this.log = tablaSeguimientoCompras.Log;
                return null;
            }
        }
Exemple #5
0
        public DataTable Buscar(SeguimientoCompras seguimiento, string parRequisicionCancel, string parCotizacionCancel, string parOrdenCancel)
        {
            TablaSeguimientoCompras tablaSeguimientoCompras = new TablaSeguimientoCompras();

            DataTable datos = tablaSeguimientoCompras.Buscar(seguimiento, parRequisicionCancel, parCotizacionCancel, parOrdenCancel);

            if (datos != null)
            {
                this.log = "OK";
                return datos;
            }
            else
            {
                this.log = tablaSeguimientoCompras.Log;
                return null;
            }
        }
Exemple #6
0
        public DataTable BuscarAutorizadoresSC(SeguimientoCompras seguimiento)
        {
            TablaSeguimientoCompras tablaSeguimientoCompras = new TablaSeguimientoCompras();

            DataTable datos = tablaSeguimientoCompras.BuscarAutorizadores(seguimiento);

            if (datos != null)
            {
                this.log = "OK";
                return datos;
            }
            else
            {
                this.log = tablaSeguimientoCompras.Log;
                return null;
            }
        }
        protected void GridBuscar_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "comandoRecepcion":

                    GridViewRow row = (GridViewRow)((Control)e.CommandSource).NamingContainer;

                    string ordenCodigo = Convert.ToString(gridBuscar.DataKeys[row.RowIndex].Values[4]);
                    string ordenTipo = Convert.ToString(gridBuscar.DataKeys[row.RowIndex].Values[5]);
                    string ordenNumeroLinea = Convert.ToString(gridBuscar.DataKeys[row.RowIndex].Values[6]);
                   
                    lblRecepcionOrdenCodigo.Text = ordenCodigo;
                    lblRecepcionOrdenTipo.Text = ordenTipo;
                    lblRecepcionOrdenLinea.Text = ordenNumeroLinea;

                    SeguimientoCompras entidadSC = new SeguimientoCompras();

                    entidadSC.Orden = ordenCodigo;
                    entidadSC.OrdenTipo = ordenTipo;
                    entidadSC.OrdenLinea = ordenNumeroLinea;

                    Indicadores negocioSC = new Indicadores();

                    DataTable datos = negocioSC.BuscarDetalleRecepcion(entidadSC);

                    if (datos == null)
                    {
                        // Muestra mensaje Error
                        MensajeErrorFiltros(negocioSC.Log);
                    }
                    else
                    {
                        // Oculta mensaje de error
                        MensajeErrorFiltros(string.Empty);

                        // Se llena el grid con los resultados
                        gridDetalleRecepcion.DataSource = datos;
                        gridDetalleRecepcion.DataBind();


                        if (datos.Rows.Count != 0)
                        {
                            gridDetalleRecepcion.UseAccessibleHeader = true;
                            gridDetalleRecepcion.HeaderRow.TableSection = TableRowSection.TableHeader;
                        }

                        // Muestra Pop-up
                        dialogoDetalleRecepcion.Show();
                     }
                  
                    dialogoDetalleRecepcion.Show();

                    break;

                case "comandoCotejo":

                    GridViewRow row2 = (GridViewRow)((Control)e.CommandSource).NamingContainer;

                    string ordenCodigo2 = Convert.ToString(gridBuscar.DataKeys[row2.RowIndex].Values[4]);
                    string ordenTipo2 = Convert.ToString(gridBuscar.DataKeys[row2.RowIndex].Values[5]);
                    string ordenNumeroLinea2 = Convert.ToString(gridBuscar.DataKeys[row2.RowIndex].Values[6]);

                    lblCotejoOrdenCodigo.Text = ordenCodigo2;
                    lblCotejoOrdenTipo.Text = ordenTipo2;
                    lblCotejoOrdenLinea.Text = ordenNumeroLinea2;

                    SeguimientoCompras entidadCotejoSC = new SeguimientoCompras();

                    entidadCotejoSC.Orden = ordenCodigo2;
                    entidadCotejoSC.OrdenTipo = ordenTipo2;
                    entidadCotejoSC.OrdenLinea = ordenNumeroLinea2;

                    Indicadores negocioCotejoSC = new Indicadores();

                    DataTable datosCotejo = negocioCotejoSC.BuscarCotejoPago(entidadCotejoSC);

                    if (datosCotejo == null)
                    {
                        // Oculta mensaje de error
                        MensajeErrorFiltros(negocioCotejoSC.Log);
                    }
                    else
                    {
                        // Oculta mensaje de error
                        MensajeErrorFiltros(string.Empty);

                        // Se llena el grid con los resultados
                        gridDetalleCotejo.DataSource = datosCotejo;
                        gridDetalleCotejo.DataBind();

                        if (datosCotejo.Rows.Count != 0)
                        {
                            gridDetalleCotejo.UseAccessibleHeader = true;
                            gridDetalleCotejo.HeaderRow.TableSection = TableRowSection.TableHeader;
                        }

                        gridDetalleCotejo.UseAccessibleHeader = true;
                        gridDetalleCotejo.HeaderRow.TableSection = TableRowSection.TableHeader;

                        // Muestra Pop-up
                        dialogoDetalleCotejo.Show();
                    }

                    dialogoDetalleCotejo.Show();

                    break;

                case "comandoAutorizadores":

                    GridViewRow row3 = (GridViewRow)((Control)e.CommandSource).NamingContainer;

                    string ordenCodigo3 = Convert.ToString(gridBuscar.DataKeys[row3.RowIndex].Values[4]);
                    string ordenTipo3 = Convert.ToString(gridBuscar.DataKeys[row3.RowIndex].Values[5]);
                    string ordenNumeroLinea3 = Convert.ToString(gridBuscar.DataKeys[row3.RowIndex].Values[6]);

                    lblCotejoOrdenCodigo.Text = ordenCodigo3;
                    lblCotejoOrdenTipo.Text = ordenTipo3;
                    lblCotejoOrdenLinea.Text = ordenNumeroLinea3;

                    SeguimientoCompras entidadAutorizadoresSC = new SeguimientoCompras();

                    entidadAutorizadoresSC.Orden = ordenCodigo3;
                    entidadAutorizadoresSC.OrdenTipo = ordenTipo3;
                    entidadAutorizadoresSC.OrdenLinea = ordenNumeroLinea3;

                    Indicadores negocioAutorizadoresSC = new Indicadores();

                    DataTable datosAutorizadores = negocioAutorizadoresSC.BuscarAutorizadoresSC(entidadAutorizadoresSC);

                    if (datosAutorizadores == null)
                    {
                        // Oculta mensaje de error
                        MensajeErrorFiltros(negocioAutorizadoresSC.Log);
                    }
                    else
                    {
                        // Oculta mensaje de error
                        MensajeErrorFiltros(string.Empty);

                        // Se llena el grid con los resultados
                        gridDetalleAutorizadores.DataSource = datosAutorizadores;
                        gridDetalleAutorizadores.DataBind();

                        if (datosAutorizadores.Rows.Count != 0)
                        {
                            gridDetalleAutorizadores.UseAccessibleHeader = true;
                            gridDetalleAutorizadores.HeaderRow.TableSection = TableRowSection.TableHeader;
                        }

                        gridDetalleAutorizadores.UseAccessibleHeader = true;
                        gridDetalleAutorizadores.HeaderRow.TableSection = TableRowSection.TableHeader;

                        // Muestra Pop-up
                        dialogoDetalleAutorizadores.Show();
                    }

                    dialogoDetalleAutorizadores.Show();

                    break;
            }
        }
        public DataTable BuscarAutorizadores(SeguimientoCompras seguimiento)
        {
            try
            {
                return QueryDS(

                    "SELECT AUT.HORPER EMPLEADO_CLAVE, " +
                    "       EMP.ABALPH EMPLEADO_NOMBRE, " +
                    "       AUT.HODOCO DOCUMENTO_NUMERO, " +
                    "       AUT.HODCTO DOCUMENTO_TIPO, " +
                    "       AUT.HOARTG ARC_CODIGO, " +
                    "       AUT.HOASTS, " +
                    "       CASE " +
                    "        WHEN INSTR(AUT.HOASTS, 'A', 1, 1) > 0 THEN 'APROBADO' " +
                    "        WHEN INSTR(AUT.HOASTS, 'B', 1, 1) > 0 THEN 'BYPASSED' " +
                    "        WHEN INSTR(AUT.HOASTS, 'R', 1, 1) > 0 THEN 'RECHAZADO' " +
                    "        WHEN INSTR(AUT.HOASTS, 'N', 1, 1) > 0 THEN 'PENDIENTE' " +
                    "       END ARC_ESTATUS, " +
                    "       AUT.HOASTS ARC_ESTATUS, " +
                    "       AUT.HORDB  USUARIO_NOMBRE, " +
                    "       ARC.APALIM USUARIO_CLAVE, " +
                    "       CASE " +
                    "        WHEN INSTR(AUT.HOASTS, 'N', 1, 1) > 0 THEN '' ELSE TO_CHAR(TO_DATE(1900000 + AUT.HORDJ, 'yyyyddd')) " +
                    "       END AUT_FECHA " +
                    "FROM PRODDTA.F4209 AUT  " +
                    "  LEFT OUTER JOIN PRODDTA.F0101 EMP ON AUT.HORPER = EMP.ABAN8 " +
                    "  LEFT OUTER JOIN PRODDTA.F43008 ARC ON  AUT.HORPER = ARC.APRPER AND AUT.HOARTG = ARC.APARTG AND AUT.HODCTO = ARC.APDCTO " +
                    "WHERE " +
                    "  INSTR(AUT.HOASTS, 'O', 1, 1) = 0 " +
                    "  AND HODOCO = " + seguimiento.Orden +
                    "  AND HODCTO = '" + seguimiento.OrdenTipo + "'"

                ).Tables[0];
            }
            catch (Exception ex)
            {
                this.log = ex.Message;
                return null;
            }
        }
        public DataTable BuscarCotejoPago(SeguimientoCompras seguimiento)
        {
            try
            {
                return QueryDS(
                    "select  " +
                    "*  " +
                    " FROM  " +
                    " (  " +

                    "     SELECT  " +
                    "       to_number(RPKCO) AS DOCUMENTO_COMPANIA, " +
                     "       RPDCT AS DOCUMENTO_TIPO, " +
                     "       RPDOC AS DOCUMENTO_NUMERO, " +
                     "       TO_NUMBER(RPSFX) AS DOCUMENTO_LINEA, " +

                     "       TO_CHAR(TO_DATE(1900000 + RPDIVJ,'yyyyddd')) AS DOCUMENTO_FECHA, " +
                    "       TO_CHAR(TO_DATE(1900000 + RPDGJ,'yyyyddd')) AS DOCUMENTO_FECHA_LM, " +
                     "       RPMCU AS DOCUMENTO_UN, " +
                     "       RPVINV AS DOCUMENTO_FACTURA, " +
                     "       RPPOST AS DOCUMENTO_ESTADO, " +

                     "       (RPATXA/100) AS DOCUMENTO_MONTO_SIN_IVA, " +
                     "       RPTXA1 AS DOCUMENTO_IMPUESTO, " +
                    "       (RPSTAM/100) AS DOCUMENTO_MONTO_IMPUESTO,                   " +
                     "       (RPAG/100) AS DOCUMENTO_MONTO_TOTAL, " +
                     "       RPCRCD AS DOCUMENTO_MONEDA, " +
                     "       (RPAAP/100) AS DOCUMENTO_MONTO_RETENIDO, " +

                     "       to_number(replace(RPPKCO,' ',0)) AS DOCUMENTO_ORDEN_COMPANIA, " +
                     "       TO_NUMBER(REPLACE( RPPO,' ',0)) AS DOCUMENTO_ORDEN_NUMERO, " +
                    "       RPPDCT AS DOCUMENTO_ORDEN_TIPO, " +
                     "       RPSFXO AS DOCUNENTO_ORDEN_SUFIJO, " +
                     "       (RPLNID/1000) AS DOCUMENTO_ORDEN_LINEA, " +
                     "       RPITM AS DOCUMENTO_ORDEN_ITEM, " +

                     "       RPICU AS DOCUMENTO_BATCH, " +
                     "       RPICUT AS DOCUMENTO_BATCH_TIPO, " +
                    "       TO_CHAR(TO_DATE(1900000 + ICDICJ,'yyyyddd')) AS DOCUMENTO_BATCH_FECHA,         " +
                    "       (ICAME/100) AS DOCUMENTO_BATCH_MONTO, " +
                    "       ICDOCN AS DOCUMENTO_BATCH_CANTIDAD, " +
                    "       ICIAPP AS DOCUMENTO_BATCH_APROBACION, " +
                    "        ICIST AS DOCUMENTO_BATCH_STATUS  " +

                    "    FROM PRODDTA.F0411  " +
                    "    LEFT OUTER JOIN PRODDTA.F0011 ON ICICUT = RPICUT AND ICICU = RPICU   " +
                    "    where RPAG > 0 " + 
                    ") " +
                    " LEFT OUTER JOIN (  " +

                    "                   SELECT  " +
                     "                 RMDCTM AS PAGO_TIPO,  " +
                     "                 RMDOCM AS PAGO_NUMERO, " +
                     "                 RMPYE AS PAGO_PROVEEDOR, " +
                     "                 RMGLBA AS PAGO_CUENTA_BANCARIA, " +
                     "                 (RMPAAP/100) AS PAGO_MONTO, " +
                     "                 RMCRCD AS PAGO_MONEDA, " +
                    "                 TO_CHAR(TO_DATE(1900000 + RMDICJ,'yyyyddd')) AS PAGO_FECHA, " +
                     "                 RMTORG AS PAGO_ORIGINADOR, " +
                     "                 RMPID AS PAGO_SOURCE, " +
                     "                 TO_CHAR(TO_DATE(1900000 + RMUPMJ,'yyyyddd')) AS PAGO_FECHA_ACTUALIZACION, " +

                    "                 RNKCO AS PAGO_DOCUMENTO_COMPANIA, " +
                     "                 RNDCT AS PAGO_DOCUMENTO_TIPO, " +
                     "                 RNDOC AS PAGO_DOCUMENTO_NUMERO, " +
                     "                 TO_NUMBER(RNSFX) AS PAGO_DOCUMENTO_LINEA, " +

                    "                 (RNPAAP/100) AS PAGO_DOCUMENTO_MONTO, " +
                     "                 RNCRCD AS PAGO_DOCUMENTO_MONEDA, " +
                     "                 RNMCU AS PAGO_DOCUMENTO_UN, " +
                     "                 RNPO AS PAGO_DOCUMENTO_ORDEN, " +

                     "                 RMICU AS PAGO_BATCH, " +
                     "                 RMICUT AS PAGO_BATCH_TIPO, " +
                    "                 TO_CHAR(TO_DATE(1900000 + ICDICJ,'yyyyddd')) AS PAGO_BATCH_FECHA,  " +
                    "                 (ICAME/100) AS PAGO_BATCH_MONTO, " +
                    "                 ICDOCN AS PAGO_BATCH_CANTIDAD, " +
                    "                 ICIAPP AS PAGO_BATCH_APROBACION, " +
                    "                  ICIST AS PAGO_BATCH_STATUS  " +

                    "                  FROM PRODDTA.F0413  " +
                    "                  LEFT OUTER JOIN PRODDTA.F0414 ON RNPYID = RMPYID  " +
                    "                  LEFT OUTER JOIN PRODDTA.F0011 ON ICICUT = RMICUT AND ICICU = RMICU  " +
                    "                   where RMVDGJ = 0 " +
                    "                ) PAGOS ON PAGO_DOCUMENTO_COMPANIA = DOCUMENTO_COMPANIA  AND PAGO_DOCUMENTO_TIPO = DOCUMENTO_TIPO AND PAGO_DOCUMENTO_NUMERO =  DOCUMENTO_NUMERO AND PAGO_DOCUMENTO_LINEA = DOCUMENTO_LINEA  " +
                                    " where DOCUMENTO_ORDEN_NUMERO = " + seguimiento.Orden + " " +
                                    " AND DOCUMENTO_ORDEN_TIPO = '" + seguimiento.OrdenTipo + "'" +
                                    " AND DOCUMENTO_ORDEN_LINEA = " + seguimiento.OrdenLinea
                ).Tables[0];
            }
            catch (Exception ex)
            {
                this.log = ex.Message;
                return null;
            }
        }
        public DataTable BuscarRecepciones(SeguimientoCompras seguimiento)
        {
            try
            {
                return QueryDS(
                "SELECT " +
                "* " +
                "FROM ( " +
                "		SELECT " +
                "		PRMATC AS RECEPCION_MATCH, " +
                "		TO_NUMBER(PRKCO) AS RECEPCION_COMPANIA, " +
                "		PRDCT AS RECEPTION_TIPO, " +
                "		PRDOC AS RECEPCION_NUMERO, " +
                "		PRSFX AS RECEPCION_LINEA, " +

                "		PRAN8 AS RECEPCION_PROVEEDOR,   " +
                "		PRMCU AS RECEPCION_UN, " +
                "		TO_CHAR(TO_DATE(1900000 + PRTRDJ,'yyyyddd'))  AS RECEPCION_FECHA_TRANSACCION,  " +
                "		TO_CHAR(TO_DATE(1900000 + PRRCDJ,'yyyyddd')) AS RECEPCION_FECHA_RECEPCION, " +
                "		TO_CHAR(TO_DATE(1900000 + PRDGL,'yyyyddd'))  AS RECEPCION_FECHA_GL,  " +
                "		PRNLIN AS RECEPCION_CANTIDAD_LINEAS, " +
                "		PRITM AS RECEPCION_ITEM, " +
                "		PRLITM AS RECEPCION_ITEM_CODIGO, " +
                "		(PRUREC/10000) AS RECEPCION_CANTIDAD_RECIBIDA, " +
                "		(PRUCLO/10000) AS RECEPCION_CANTIDAD_CERRADA, " +
                "		(PRQTYJ/10000) AS RECEPCION_CANTIDAD_RECHAZADA, " +
                "		(PRQTYA/10000) AS REPCION_CANTIDAD_AJUSTADA, " +
                "		PRUOM AS RECEPCION_UDM_ENTRADA, " +
                "		PRUOM AS RECEPCION_UDM_COMPRA, " +
                "		(PRPRRC/10000) AS RECEPCION_COSTO_UNITARIO, " +
                "		(PRAREC/100) AS RECEPCION_MONTO_RECIBIDO, " +
                "		PRCRCD AS RECEPCION_MONEDA, " +
                "		PRTORG AS RECEPCION_GENERADOR, " +
                "		PRUSER AS RECEPCION_ACTUALIZADOR, " +
                "		PRPID AS RECEPCION_FUENTE,  " +
                "		PRJELN AS RECEPCION_JOURNAL_ENTRY,  " +

                "		TO_NUMBER(PRKCOO) AS RECEPCION_ORDEN_COMPANIA, " +
                "		PRDOCO AS RECEPCION_ORDEN_NUMERO, " +
                "		PRDCTO AS RECEPCION_ORDEN_TIPO, " +
                "		PRSFXO AS RECEPCION_ORDEN_SUFIJO, " +
                "		(PRLNID/1000) AS RECEPCION_ORDEN_LINEA, " +

                "		ICICU AS RECEPCION_BATH, " +
                "		ICICUT AS RECEPCION_BATH_TIPO, " +
                "		TO_CHAR(TO_DATE(1900000 + ICDICJ,'yyyyddd')) AS RECEPCION_BATCH_FECHA,    " +
                "		(ICAME/100) AS RECEPCION_BATCH_MONTO, " +
                "		ICDOCN AS RECEPCION_BATCH_CANTIDAD, " +
                "		ICIAPP AS RECEPCION_BATCH_APROBACION, " +
                "		ICIST AS RECEPCION_BATCH_STATUS       " +

                "		FROM PRODDTA.F43121 " +
                "		left outer join ( " +
                "		                  SELECT " +
                "		                  GLKCO, " +
                "		                  GLDOC, " +
                "		                  GLDCT, " +
                "		                  GLICU, " +
                "		                  GLICUT " +
                "		                  FROM PRODDTA.F0911 " +
                "		                  WHERE GLICUT = 'O' " +
                "		                  GROUP BY GLKCO,GLDOC,GLDCT,GLICU,GLICUT " +
                "		              ) TR ON GLKCO = PRKCOO AND GLDOC = PRDOC AND GLDCT = PRDCT  " +

                "		LEFT OUTER JOIN PRODDTA.F0011 ON ICICU = GLICU AND ICICUT =  GLICUT  " +
                "		WHERE PRDCT = 'OV' " +
                "	) " + 
                " where RECEPCION_ORDEN_NUMERO = " + seguimiento.Orden + " " +
                " AND RECEPCION_ORDEN_TIPO = '" + seguimiento.OrdenTipo + "'" +
                " AND RECEPCION_ORDEN_LINEA = " + seguimiento.OrdenLinea
                ).Tables[0];
            }
            catch (Exception ex)
            {
                this.log = ex.Message;
                return null;
            }
        }
 public DataTable Buscar(SeguimientoCompras parSeguimiento,string parRequisicionCancel, string parCotizacionCancel, string parOrdenCancel)
 {
     try
     {
         return QueryDS(
         "select " +
         "*  " +
         "from " +
         "( " +
         "    SELECT " +
         "    to_number(REQ.PDKCOO) AS REQ_COMPANIA, " +
         "    REQ.PDMCU AS REQ_BU, " +
         "    REQ.PDDOCO AS REQ_CODIGO, " +
         "    REQ.PDDCTO AS REQ_TIPO, " +
         "    REQ.PDTORG AS REQ_GENERADOR, " +
         "    (REQ.PDLNID/1000) AS REQ_LINEA_NUMERO, " +
         "TO_CHAR(TO_DATE(1900000 + REQ.PDTRDJ,'yyyyddd')) AS REQ_FECHA_CREACION, " +
         "TO_CHAR(TO_DATE(1900000 + REQ.PDDRQJ,'yyyyddd')) AS REQ_FECHA_SOLICITUD, " +
         "    REQ.PDLNTY AS REQ_LINEA_TIPO, " +
         "    REQ.PDLTTR AS REQ_LAST_STATUS, " +
         "    REQ.PDNXTR AS REQ_NEXT_STATUS, " +
         "    REQ.PDLITM AS REQ_ITEM_NUMERO, " +
         "    REQ.PDDSC1 AS REQ_ITEM_DESCRIPCION1, " +
         "    REQ.PDDSC2 AS REQ_ITEM_DESCRIPCION2, " +
         "REQ.PDANBY AS REQ_COMPRADOR_CODIGO,  " + 
         "EMP.ABALPH AS REQ_COMPRADOR_DESCRIPCION, " + 
         "    (REQ.PDUORG/10000) AS REQ_CANTIDAD_SOLICITADA, " +
         "    REQ.PDUOM AS REQ_UDM, " +
         "    COT.PDDOCO AS COT_CODIGO, " +
         "    COT.PDDCTO AS COT_TIPO, " +
         "    COT.PDTORG AS COT_GENERADOR, " +
         "    (COT.PDLNID/1000) AS COT_LINEA_NUMERO, " +
         "TO_CHAR(TO_DATE(1900000 + COT.PDTRDJ,'yyyyddd')) AS COT_FECHA_CREACION, " +
         "    COT.PDLTTR AS COT_LAST_STATUS, " +
         "    COT.PDNXTR AS COT_NEXT_STATUS, " +
         "    OC.PDDOCO AS OC_CODIGO, " +
         "    OC.PDDCTO AS OC_TIPO, " +
         "TO_CHAR(TO_DATE(1900000 + OC.PDTRDJ,'yyyyddd')) AS OC_FECHA_CREACION, " +
         "TO_CHAR(TO_DATE(1900000 + OC.PDOPDJ,'yyyyddd')) AS OC_FECHA_ENTREGA, " +
         "    OC.PDTORG AS OC_GENERADOR, " +
         "    (OC.PDLNID/1000) AS OC_LINEA_NUMERO, " +
         "    OC.PDAN8  AS PROVEEDOR, " +
         "DIR.ABALPH AS OC_PROVEEDOR_DESCRIPCION, " +
         "    OC.PDLTTR AS OC_LAST_STATUS, " +
         "    OC.PDNXTR AS OC_NEXT_STATUS, " +
         "    (OC.PDUORG/10000) AS OC_CANTIDAD_SOLICITADA, " +
         "    OC.PDUOM AS OC_UDM, " +
         "    (OC.PDPRRC/10000) AS COSTO_UNITARIO_CONVERTIDO, " +
         "    (OC.PDFRRC/10000) AS COSTO_UNITARIO, " +
         "    OC.PDCRCD AS OC_MONEDA, " +
         "    (OC.PDAEXP/100) AS TOTAL_LINEA_CONVERTIDO, " +
         "    (OC.PDFEA/100) AS TOTAL_LINEA, " +
         "    OC.PDTXA1 AS IMPUESTO, " +
         "    OC.PDDSPR AS FACTOR_DESCUENTO, " +
         "(OC.PDUOPN/10000) AS OC_CANTIDAD_SIN_RECIBIR, " +
         "(OC.PDUREC/10000) AS OC_CANTIDAD_RECIBIDA, " +
         "CASE  " +
         "WHEN OC.PDUOPN = 0 AND  OC.PDUREC > 0  THEN 'Recepcion completa' " +
         "WHEN OC.PDUREC = 0 AND  OC.PDUOPN > 0 THEN 'Sin recepcion' " +
         "WHEN OC.PDUREC > 0 AND  OC.PDUOPN > 0 THEN 'Recepcion parcial' " +
         "END AS OC_TIPO_RECEPCION,  " +
         "COTEJO_CANTIDAD " +
         "    FROM PRODDTA.F4311 REQ " +
         "    LEFT OUTER JOIN PRODDTA.F4311 COT ON COT.PDOKCO = REQ.PDKCOO AND TO_NUMBER(REPLACE(COT.PDOORN,' ',0)) =  REQ.PDDOCO AND COT.PDOCTO = REQ.PDDCTO AND COT.PDOGNO = REQ.PDLNID AND COT.PDDCTO IN ('QS','OQ','QX','QJ', '2N', '2P', '2I', '2Q') AND COT.PDLTTR not in ('" + parCotizacionCancel + "') " +
         "LEFT OUTER JOIN PRODDTA.F4311 OC ON OC.PDOKCO = COT.PDKCOO AND TO_NUMBER(REPLACE(OC.PDOORN,' ',0)) =  COT.PDDOCO AND OC.PDOCTO = COT.PDDCTO AND OC.PDOGNO = COT.PDLNID AND OC.PDDCTO IN ('OS','OP','OX','OJ', '3N', '3P', '3I', '3Q') AND OC.PDLTTR not in ('" + parOrdenCancel + "') " +
         "LEFT OUTER JOIN PRODDTA.F0101 DIR ON DIR.ABAN8 = OC.PDAN8 AND DIR.ABAT1 = 'V' " +
         "LEFT OUTER JOIN PRODDTA.F0101 EMP ON EMP.ABAN8 = REQ.PDANBY AND EMP.ABAT1 = 'E' " +
          "LEFT OUTER JOIN " +
          "              (  " +
          "                SELECT    " +
          "                COUNT(*) AS COTEJO_CANTIDAD, " +
          "                to_number(replace(RPPKCO,' ',0)) AS DOCUMENTO_ORDEN_COMPANIA, " +
          "                TO_NUMBER(REPLACE( RPPO,' ',0)) AS DOCUMENTO_ORDEN_NUMERO, " +
          "                RPPDCT AS DOCUMENTO_ORDEN_TIPO, " +
          "                RPSFXO AS DOCUNENTO_ORDEN_SUFIJO, " +
          "                (RPLNID/1000) AS DOCUMENTO_ORDEN_LINEA, " +
          "                RPITM AS DOCUMENTO_ORDEN_ITEM " +
          "                FROM PRODDTA.F0411 " +
          "                where RPAG > 0 " + 
          "                GROUP BY " +
          "                TO_NUMBER(REPLACE(RPPKCO,' ',0)), " +
          "                TO_NUMBER(REPLACE( RPPO,' ',0)), " +
          "                RPPDCT, " +
          "                RPSFXO, " +
          "                (RPLNID/1000), " +
          "                RPITM " +
          "              ) COTEJO ON DOCUMENTO_ORDEN_COMPANIA = to_number(OC.PDKCOO) AND DOCUMENTO_ORDEN_NUMERO =  OC.PDDOCO AND DOCUMENTO_ORDEN_TIPO = OC.PDDCTO  AND DOCUNENTO_ORDEN_SUFIJO = OC.PDSFXO  AND DOCUMENTO_ORDEN_LINEA = (OC.PDLNID/1000) " +
          " WHERE REQ.PDDCTO IN ('SR','OR','XR','SJ', '1N', '1P', '1I', '1Q', '2N', '3N') " +
          " AND REQ.PDLTTR NOT IN ('" + parRequisicionCancel + "') " +
         ") " +
         " where nvl(REQ_COMPANIA,'0') like '" + parSeguimiento.Compañia + "' " +
         " and nvl(trim(REQ_BU),'0') like '" + parSeguimiento.UnidadNegocio + "' " +
         " and nvl(REQ_CODIGO,'0') like '" + parSeguimiento.Requisicion + "' " +
         " and nvl(REQ_TIPO,'SR') like '" + parSeguimiento.RequisicionTipo + "' " +
         " and nvl(REQ_GENERADOR,'0') like '%" + parSeguimiento.RequisicionCreador + "%' " +
         " and nvl(REQ_COMPRADOR_DESCRIPCION,'0') like '%" + parSeguimiento.RequisicionComprador + "%' " +
         " and nvl(REQ_ITEM_DESCRIPCION1,'0') like '%" + parSeguimiento.RequisicionItemDescripcion + "%' " +
         " and nvl(COT_CODIGO,'0') like '" + parSeguimiento.Cotizacion  + "' " +
         " and nvl(COT_TIPO,'OQ') like '" + parSeguimiento.CotizacionTipo + "' " +
         " and nvl(COT_GENERADOR,'0')  like '%" + parSeguimiento.CotizacionCreador + "%' " +
         " and nvl(OC_CODIGO,'0') like '" + parSeguimiento.Orden + "' " +
         " and nvl(OC_TIPO,'OP') like '" + parSeguimiento.OrdenTipo + "' " +
         " and nvl(OC_GENERADOR,'0') like '%" + parSeguimiento.OrdenCreador + "%' " +
         " and nvl(OC_PROVEEDOR_DESCRIPCION,'0')  like '%" + parSeguimiento.OrdenProveedorDescripcion + "%' " +
         //" and nvl(to_date(OC_FECHA_CREACION),'') BETWEEN  to_date('" + parSeguimiento.OrdenFCreacion_ini + "') and  to_date('" + parSeguimiento.OrdenFCreacion_fin + "') " +
         //" and nvl(to_date(OC_FECHA_CREACION),'01/01/1910') BETWEEN  to_date(NVL(" + parSeguimiento.OrdenFCreacion_ini + ",'01/01/1900')) and  to_date(NVL(" + parSeguimiento.OrdenFCreacion_fin + ",'01/01/2300')) " +
         " and case when OC_TIPO_RECEPCION is null or OC_TIPO_RECEPCION = 'Sin recepcion' then 'NO' when OC_TIPO_RECEPCION in ('Recepcion completa','Recepcion parcial' ) then 'SI' else 'no definido' end like '%" + parSeguimiento.Recepcion + "%' " +
         " order by 3, 4, 6 "
         ).Tables[0];
     }
     catch (Exception ex)
     {
         this.log = ex.Message;
         return null;
     }
 }
        public DataTable FindOnlyOrder(SeguimientoCompras parSeguimiento)
        {
            try
            {
                return QueryDS(
                "SELECT " +
                "*  " +
                "FROM  " +
                "(  " +
                "  SELECT  " +
                "      TO_NUMBER(OC.PDKCOO) AS ORDEN_COMPANIA, " +
                "      OC.PDMCU AS ORDEN_UN, " +
                "      OC.PDDOCO AS ORDEN_NUMERO, " +
                "      OC.PDDCTO AS ORDEN_TIPO, " +
                "      OC.PDTORG AS ORDEN_GENERADOR, " +
                "      CREADOR.USUARIO_AB_DESCRIPCION as ORDEN_GENERADOR_DESC, " +
                "      OC.PDUSER AS ORDEN_ACTUALIZADOR, " +
                "      OC.PDPID AS ORDEN_FUENTE, " +
                "      (OC.PDLNID/1000) AS ORDEN_LINEA, " +
                "      OC.PDLNTY AS ORDEN_LINEA_TIPO, " +
                "      OC.PDLTTR AS ORDEN_LAST_STATUS, " +
                "      OC.PDNXTR AS ORDEN_NEXT_STATUS, " +
                "      OC.PDAN8  AS PROVEEDOR, " +
                "      PROV.ABALPH AS ORDEN_PROVEEDOR_DESCRIPCION, " +
                "      OC.PDLITM AS ORDEN_ITEM, " +
                "      OC.PDDSC1 AS ORDEN_ITEM_DESCRIPCION1, " +
                "      OC.PDDSC2 AS ORDEN_ITEM_DESCRIPCION2, " +
                "      TO_CHAR(TO_DATE(1900000 + OC.PDTRDJ, 'yyyyddd')) AS ORDEN_FECHA_CREACION, " +
                "      TO_CHAR(TO_DATE(1900000 + OC.PDDRQJ, 'yyyyddd')) AS ORDEN_FECHA_NECESIDAD, " +
                "      TO_CHAR(TO_DATE(1900000 + OC.PDOPDJ, 'yyyyddd')) AS OC_FECHA_ENTREGA, " +
                "      (OC.PDUORG/10000) AS ORDEN_CANTIDAD, " +
                "      OC.PDUOM AS ORDEN_UDM, " +
                "      (OC.PDPRRC/10000) AS ORDEN_COSTO_UNITARIO_C, " +
                "    (OC.PDFRRC/10000) AS ORDEN_COSTO_UNITARIO, " +
                "      OC.PDCRCD AS ORDEN_MONEDA, " +
                "      (OC.PDAEXP/100) AS ORDEN_TOTAL_LINEA_C, " +
                "    (OC.PDFEA/100) AS ORDEN_TOTAL_LINEA, " +
                "      OC.PDTXA1 AS ORDEN_IMPUESTO, " +
                "      OC.PDDSPR AS ORDEN_FACTOR_DESCUENTO, " +
                "      CASE   " +
                "      WHEN OC.PDUOPN = 0 AND  OC.PDUREC > 0  THEN 'Recepcion completa' " +
                "      WHEN OC.PDUREC = 0 AND  OC.PDUOPN > 0 THEN 'Sin recepcion' " +
                "      WHEN OC.PDUREC > 0 AND  OC.PDUOPN > 0 THEN 'Recepcion parcial' " +
                "      END AS OC_TIPO_RECEPCION,        " +
                "      COTEJO_CANTIDAD " +
                "  FROM PRODDTA.F4311 OC " +
                "  LEFT OUTER JOIN PRODDTA.F0101 PROV ON PROV.ABAN8 = OC.PDAN8 AND PROV.ABAT1 = 'V'  " +
                "  left outer join ( " +
                "         SELECT " +
                "         USR.ULUSER AS USUARIO_CLAVE, " +
                "         USR.ULAN8 AS USUARIO_AB_CLAVE, " +
                "         AB.ABALPH AS USUARIO_AB_DESCRIPCION " +
                "         FROM SY910.F0092 USR " +
                "         LEFT OUTER JOIN PRODDTA.F0101 AB ON AB.ABAN8 = USR.ULAN8  " +
                "       ) CREADOR ON CREADOR.USUARIO_CLAVE = OC.PDTORG  " +
                 " LEFT OUTER JOIN " +
                 "              (  " +
                 "                SELECT    " +
                 "                COUNT(*) AS COTEJO_CANTIDAD, " +
                 "                to_number(replace(RPPKCO,' ',0)) AS DOCUMENTO_ORDEN_COMPANIA, " +
                 "                TO_NUMBER(REPLACE( RPPO,' ',0)) AS DOCUMENTO_ORDEN_NUMERO, " +
                 "                RPPDCT AS DOCUMENTO_ORDEN_TIPO, " +
                 "                RPSFXO AS DOCUNENTO_ORDEN_SUFIJO, " +
                 "                (RPLNID/1000) AS DOCUMENTO_ORDEN_LINEA, " +
                 "                RPITM AS DOCUMENTO_ORDEN_ITEM " +
                 "                FROM PRODDTA.F0411 " +
                 "                 where RPAG > 0 " +  
                 "                GROUP BY " +
                 "                TO_NUMBER(REPLACE(RPPKCO,' ',0)), " +
                 "                TO_NUMBER(REPLACE( RPPO,' ',0)), " +
                 "                RPPDCT, " +
                 "                RPSFXO, " +
                 "                (RPLNID/1000), " +
                 "                RPITM " +
                 "              ) COTEJO ON DOCUMENTO_ORDEN_COMPANIA = to_number(OC.PDKCOO) AND DOCUMENTO_ORDEN_NUMERO =  OC.PDDOCO AND DOCUMENTO_ORDEN_TIPO = OC.PDDCTO  AND DOCUNENTO_ORDEN_SUFIJO = OC.PDSFXO  AND DOCUMENTO_ORDEN_LINEA = (OC.PDLNID/1000) " +
                 " WHERE OC.PDDCTO IN ('OS','OP','UP','UX','US','TS','SA','OX') " +
                ") " +
                " where ORDEN_COMPANIA like '" + parSeguimiento.Compañia + "'" +
                " and trim(ORDEN_UN) like '" + parSeguimiento.UnidadNegocio + "'" +
                " and nvl(ORDEN_NUMERO,'0') like '" + parSeguimiento.Orden + "'" +
                " and nvl(ORDEN_TIPO,'UP') LIKE '" + parSeguimiento.OrdenTipo + "' " +
                " and nvl(ORDEN_GENERADOR_DESC,'0') like '%" + parSeguimiento.OrdenCreador + "%'" +
                " and ORDEN_ITEM_DESCRIPCION1 like '%" + parSeguimiento.OrdenItemDescripcion + "%'" +
                " and nvl(ORDEN_PROVEEDOR_DESCRIPCION,'0')  like '%" + parSeguimiento.OrdenProveedorDescripcion + "%'" +
                " and case when OC_TIPO_RECEPCION is null or OC_TIPO_RECEPCION = 'Sin recepcion' then 'NO' when OC_TIPO_RECEPCION in ('Recepcion completa','Recepcion parcial' ) then 'SI' else 'no definido' end like '%" + parSeguimiento.Recepcion + "%' " +
                " ORDER BY 1, 2, 3, 4, 9 "
                ).Tables[0];
            }
            catch (Exception ex)
            {
                this.log = ex.Message;
                return null;
            }

        }
Exemple #13
0
 protected List<SeguimientoCompras> Error(SeguimientoCompras parError)
 {
     List<SeguimientoCompras> listaError = new List<SeguimientoCompras>();
     listaError.Add(parError);
     return listaError;
 }