コード例 #1
0
        private List <CabeceraL> formarCabecera(DataTable tbl, string t)
        {
            List <CabeceraL> ss = new List <CabeceraL>();

            int columnas = 0;

            if (t.Equals("2"))
            {
                columnas = 7;
                columnas = 13;//ADD RSG 15.05.2017
            }
            else
            {
                columnas = 9;
                columnas = 15;//ADD RSG 15.05.2017
            }

            if (tbl.Columns.Count == columnas)
            {
                foreach (DataRow row in tbl.Rows)
                {
                    for (int i = 0; i < tbl.Columns.Count; i += columnas)
                    {
                        DataColumnCollection columns = tbl.Columns;

                        CabeceraL s = new CabeceraL();
                        if (t.Equals("1") | t.Equals("3"))
                        {
                            s.vkorg = row[columns[i]].ToString();
                            s.vtweg = row[columns[i + 1]].ToString();
                            s.spart = row[columns[i + 2]].ToString();
                            s.kunnr = row[columns[i + 3]].ToString();
                            s.pltyp = ".";
                            s.matnr = ".";
                        }
                        else if (t.Equals("2"))
                        {
                            s.vkorg = ".";
                            s.vtweg = ".";
                            s.spart = row[columns[i]].ToString();
                            s.kunnr = ".";
                            s.pltyp = ".";
                            s.matnr = row[columns[i + 1]].ToString();
                        }

                        if (!s.vkorg.Trim().Equals("") & !s.vtweg.Trim().Equals("") & !s.spart.Trim().Equals("") & !s.kunnr.Trim().Equals("") & !s.pltyp.Trim().Equals(""))
                        {
                            ss.Add(s);
                        }
                    }
                }
                List <CabeceraL> sol_final = compararCab(ss);
                ss = sol_final;
            }
            return(ss);
        }
コード例 #2
0
        private List <CabeceraL> compararCab(List <CabeceraL> cc)
        {
            List <CabeceraL> ca = new List <CabeceraL>();

            if (cc.Count > 0)
            {
                CabeceraL c = cc[0];
                for (int i = 0; i < cc.Count; i++)
                {
                    if (c.vkorg.Equals(cc[i].vkorg) & c.vtweg.Equals(cc[i].vtweg) & c.spart.Equals(cc[i].spart) & c.kunnr.Equals(cc[i].kunnr) & c.pltyp.Equals(cc[i].pltyp) & c.matnr.Equals(cc[i].matnr))
                    {
                        ca.Add(cc[i]);
                    }
                }
            }

            if (ca.Count != cc.Count)
            {
                ca = new List <CabeceraL>();
            }
            else
            {
                txtVKORG.Value = ca[0].vkorg;
                txtVTWEG.Value = ca[0].vtweg;
                txtSPART.Value = ca[0].spart;
                txtKUNNR.Value = ca[0].kunnr;
                txtPLTYP.Value = ca[0].pltyp;
                txtMATNR.Value = ca[0].matnr;
                if (tipo.Equals("1"))
                {
                    txtVKORG1.Value = ca[0].vkorg + " " + con.ListaVKORG(ca[0].vkorg, "").GetString("VTEXT");
                    txtVTWEG1.Value = ca[0].vtweg + " " + con.ListaVTWEG(ca[0].vtweg, "", "").GetString("VTEXT");
                    txtSPART1.Value = ca[0].spart + " " + con.ListaSPART(ca[0].spart, "", "", "", "").GetString("VTEXT");
                    txtKUNNR1.Value = ca[0].kunnr + " " + con.getCliente(ca[0].vkorg, ca[0].vtweg, ca[0].spart, ca[0].kunnr).GetString("NAME1");
                }
                txtPLTYP1.Value = ca[0].pltyp;
                if (tipo.Equals("2"))
                {
                    txtSPART1.Value = ca[0].spart + " " + con.ListaSPART(ca[0].spart, "", "", "", "").GetString("VTEXT");
                    txtMATNR1.Value = ca[0].matnr + " " + con.columnaMatnr(ca[0].matnr, "MAKTG", "");
                }
            }

            return(ca);
        }
コード例 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //string[] tabla = Request.Form["txtTabla"].Split('|');
            //string tipo = Request.Form["txtTipo"];
            //List<SolicitudesL> solicitud = new List<SolicitudesL>();
            string[]            tabla     = Request.Form["txtTabla"].Split('|');
            string[]            escalas   = Request.Form["txtEscalas"].Split('|');
            string              tipo      = Request.Form["txtTipo"];
            List <SolicitudesL> solicitud = new List <SolicitudesL>();
            List <Escala>       escala    = new List <Escala>();

            int longitud = 0;

            //if (tipo.Equals("1") | tipo.Equals("2"))
            //{
            longitud = 9;
            longitud = 10; //ADD RSG 23.05.2017
            //}

            for (int i = 0; i < tabla.Length - 1; i += longitud)
            {
                SolicitudesL s = new SolicitudesL();
                s.obj       = tabla[i];
                s.importe   = tabla[i + 1];
                s.moneda    = tabla[i + 2];
                s.importe_n = tabla[i + 3];
                s.moneda_n  = tabla[i + 4];
                s.fecha_a   = f.fechaD(tabla[i + 5]);
                s.fecha_b   = f.fechaD(tabla[i + 6]);
                s.id        = tabla[i + 7];
                s.modif     = tabla[i + 8];
                s.desc2     = tabla[i + 9];

                solicitud.Add(s);
            }
            for (int i = 0; i < escalas.Length - 1; i += 6)
            {
                Escala s = new Escala();

                s.obj      = escalas[i];
                s.id       = escalas[i + 1];
                s.pos      = escalas[i + 2];
                s.cantidad = escalas[i + 3];
                s.importe  = escalas[i + 4];
                s.meins    = escalas[i + 5];

                //ADD RSG 10.08.2018 ----------------------------------------------
                foreach (SolicitudesL ss in solicitud)
                {
                    if (ss.obj == s.obj)
                    {
                        escala.Add(s);
                        break;
                    }
                }
                //ADD RSG 10.08.2018----------------------------------------------

                //escala.Add(s); //DELETE RSG 10.08.2018----------------------------------------------
            }
            Conexion  con = new Conexion();
            CabeceraL c   = new CabeceraL();

            c.folio = "";
            switch (tipo)
            {
            case "1":
                c.tipo = "CM";
                break;

            case "2":
                c.tipo = "SM";
                break;

            case "3":
                c.tipo = "CG";
                break;

            case "4":
                c.tipo = "LM";
                break;

            case "5":
                c.tipo = "LG";
                break;

            case "6":
                c.tipo = "SG";
                break;
            }

            c.fecha   = f.fechaToSAP(DateTime.Now);
            c.hora    = f.hora(DateTime.Now);
            c.usuario = Request.Form["hidUsuario"];
            c.pernr   = Request.Form["hidNumEmp"];
            c.estatus = "P";
            c.visto   = " ";
            string comentarios = Request.Form["txtCOMM"];

            c.comentario = comentarios;

            string p_inc = Request.Form["P_inc"];
            string p_dec = "";

            if (p_inc.Equals(""))
            {
                p_dec = "-" + Request.Form["P_dec"];
            }

            string cambio = p_inc + p_dec;

            c.porcentaje = cambio;

            c.spart = Request.Form["txtSPART"];

            if (tipo.Equals("1") | tipo.Equals("3"))
            {
                c.vkorg = Request.Form["txtVKORG"];
                c.vtweg = Request.Form["txtVTWEG"];
                c.kunnr = Request.Form["txtKUNNR"];
            }
            else if (tipo.Equals("4") | tipo.Equals("5"))
            {
                c.vkorg = Request.Form["txtVKORG"];
                c.vtweg = Request.Form["txtVTWEG"];
                c.pltyp = Request.Form["txtPLTYP"].Split(' ')[0];
            }

            List <DetalleL> ds = new List <DetalleL>();

            for (int i = 0; i < solicitud.Count; i++)
            {
                DetalleL d = new DetalleL();
                d.folio   = "";
                d.pos     = i + 1;
                d.estatus = " ";
                if (tipo.Equals("1") | tipo.Equals("2") | tipo.Equals("4"))
                {
                    d.matnr = solicitud[i].obj;
                }
                else
                {
                    d.matkl = solicitud[i].obj;
                }
                d.pr_ant     = solicitud[i].importe;
                d.mon_ant    = solicitud[i].moneda;
                d.pr_nvo     = solicitud[i].importe_n;
                d.mon_nvo    = solicitud[i].moneda_n;
                d.porcentaje = Request.Form["P_inc"];
                if (d.porcentaje == null)
                {
                    d.porcentaje = "-" + Request.Form["P_dec"];
                }
                d.date  = f.fechaToSAP(solicitud[i].fecha_a);
                d.dateA = f.fechaToSAP(solicitud[i].fecha_b);
                d.knumh = solicitud[i].id;
                d.meins = solicitud[i].desc2.ToUpper(); //ADD RSG 23.05.2017
                ds.Add(d);

                //ADD RSG 10.08.2018 ----------------------------------------------
                foreach (Escala ss in escala)
                {
                    if (tipo.Equals("1") | tipo.Equals("2") | tipo.Equals("4"))
                    {
                        if (ss.obj == d.matnr)
                        {
                            ss.id = d.pos + "";
                        }
                    }
                    else
                    {
                        if (ss.obj == d.matkl)
                        {
                            ss.id = d.pos + "";
                        }
                    }
                }
                //ADD RSG 10.08.2018----------------------------------------------
            }


            //string folio = con.InsertaSolicitudL(c, ds);
            //lblFolio.InnerHtml = "<p class=''>" + folio + "</p>";
            string folio = con.InsertaSolicitudL(c, ds, escala);

            if (!folio.Equals(""))
            {
                folio = "La solicitud de modificación de Listas de precio ha sido recibida, y será procesada con el folio<br />" + folio;
            }
            else
            {
                folio = "Hubo un error en la creación de la Solicitud.";
            }
            lblFolio.InnerHtml = "<p class=''>" + folio + "</p>";
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                hidUsuario.Value   = Session["Usuario"].ToString();
                hidNumEmp.Value    = Session["NumEmp"].ToString();
                hidTipoEmp.Value   = Session["TipoEmp"].ToString();
                btnSubmit.Disabled = true;
                tipo = Request.Form["txtTipo"];
                if (tipo == null)
                {
                    tipo = Request.QueryString["tipo"];
                }
                if (tipo == "")
                {
                    tipo = "1";
                }
                string tab = "";
                txtTipo.Value = tipo;

                tr1.Visible = false;
                tr2.Visible = false;
                tr3.Visible = false;
                tr4.Visible = false;
                tr6.Visible = false;

                if (tipo.Equals("2"))
                {
                    lblLink.InnerHtml = "<a href='../files/LAYOUT%20LOTE.xlsx'>Descargar Layout</a>";
                }
                else
                {
                    lblLink.InnerHtml = "<a href='../files/LAYOUT%20PEDIDO.xlsx'>Descargar Layout</a>";
                }

                HttpPostedFile file = Request.Files["xlsFile"]; //Trae input FILE
                if (file != null && file.ContentLength > 0)
                {
                    if (con.conectar())
                    {
                        monedas = con.monedas();
                        meinss  = con.meinss();
                        DataTable tbl = leerExcel(file); //leer Excel

                        List <CabeceraL> cabeceras = formarCabecera(tbl, tipo);

                        if (cabeceras.Count > 0)
                        {
                            CabeceraL c = cabeceras[0];
                            IRfcTable kunn;
                            string    desc = "";
                            if (tipo.Equals("1"))
                            {
                                kunn = con.getClienteP(c.vkorg, c.vtweg, c.spart, c.kunnr, hidNumEmp.Value, hidTipoEmp.Value);
                                if (kunn.Count == 0)
                                {
                                    c.kunnr = "";
                                }
                            }
                            else
                            {
                                desc = con.columnaMatnr(c.matnr, "MAKTG", "X");
                                if (desc.Equals(""))
                                {
                                    c.kunnr = "";
                                }
                            }

                            if (!c.kunnr.Equals(""))
                            {
                                //List<SolicitudesL> solicitud = formarSolicitud(tbl, tipo);
                                List <SolicitudesL> solicitudEsc = formarSolicitud(tbl, tipo);
                                List <SolicitudesL> solicitud    = formarSolEsc(solicitudEsc);
                                solicitud = completa(solicitud, solicitudEsc);

                                if (solicitud.Count > 0)
                                {
                                    tab  = "<table id='Table9' style='borde -width: 0px; border-style: None; width: 100 %; border-collapse: collapse;'><tbody><tr class='cell08'><td></td></tr></tbody></table>";
                                    tab += "<table border='0' style='border-width: 0px; border-style: None; width: 100%; border-collapse: collapse;'><tbody>";
                                    tab += obtenerEncabezado(tipo);

                                    int pos = 0;
                                    foreach (SolicitudesL s in solicitud)
                                    {
                                        string style = "";
                                        pos++;
                                        //-------------EXISTE OBJETO
                                        if (s.tipo_error == "1")
                                        {
                                            style = "red white-text";
                                        }
                                        tab += "<tr id='tr-" + pos + "'><td class='tablaCent " + style + "' id='OBJ-" + pos + "' ondblclick='escalas(this.id)'>";
                                        tab += "<input type='hidden' id='MATNR-" + pos + "' value='" + s.obj + "' />";

                                        tab += s.obj + "</td>";
                                        //tab += "<td class='tablaCent " + style + "'>" + s.desc + "</td>";

                                        style = "";

                                        //-------------SI ES MATERIAL
                                        if (!existeMeins(s.desc2))
                                        {
                                            style = "red white-text";
                                        }
                                        //if (tipo.Equals("1") | tipo.Equals("2") | tipo.Equals("4"))
                                        tab += "<td class='tablaCent " + style + "' id='DESC2-" + pos + "' ondblclick='escalas(this.id)'>";
                                        tab += "<input type='hidden'  id='MEINS-" + pos + "' value='" + s.desc2 + "' />";
                                        tab += MeinsEsp(s.desc2) + "</td>";
                                        //ADD RSG 27.11.2017
                                        tab += "<input type='hidden'  id='MEINSE-" + pos + "' value='" + MeinsEsp(s.desc2) + "' />";

                                        style = "";

                                        //-------------CANTIDAD
                                        if (!esCantidad(s.importe_n))
                                        {
                                            style = "red white-text";
                                        }
                                        tab += "<td class='tablaCent " + style + "'>" + s.importe_n + "</td>";

                                        style = "";

                                        //-------------MONEDA
                                        if (!existeMoneda(s.moneda_n))
                                        {
                                            style = "red white-text";
                                        }
                                        tab += "<td class='tablaCent " + style + "'>";
                                        tab += "<input type='hidden'  id='KONWA-" + pos + "' value='" + s.moneda_n + "' />";
                                        tab += s.moneda_n + "</td>";

                                        style = "";

                                        //-------------FECHA
                                        if (s.tipo_error.Equals("2") | s.tipo_error.Equals("4"))
                                        {
                                            style = "red white-text";
                                        }
                                        tab  += "<td class='tablaCent " + style + "'>" + s.fecha_a.ToString("dd/MM/yyyy") + "</td>";
                                        style = "";
                                        if (s.tipo_error.Equals("3") | s.tipo_error.Equals("4"))
                                        {
                                            style = "red white-text";
                                        }
                                        tab += "<td class='tablaCent " + style + "'>" + s.fecha_b.ToString("dd/MM/yyyy") + "</td>";

                                        tab += "<td class='tablaCent " + style + "'>";
                                        tab += "<input id='chk-" + pos + "' type='checkbox' disabled='disabled' ";
                                        if (s.escala.Equals("X"))
                                        {
                                            tab += "checked='checked'";
                                        }
                                        tab += "/></td>";

                                        tab += "</tr>";
                                    }
                                    tab += "</tbody></table>";

                                    List <SolicitudesL> sol_final = quitarErroneos(solicitud);

                                    if (sol_final.Count > 0)
                                    {
                                        btnSubmit.Disabled = false;
                                        txtTabla.Value     = "";
                                        string tabla = "";
                                        foreach (SolicitudesL s in sol_final)
                                        {
                                            //txtTabla.Value += s.vkorg + "|" + s.vtweg + "|" + s.spart + "|" +
                                            //                 s.kunnr + "|" + s.pltyp + "|" + s.pltyp_n + "|" + f.fechaToOUT(s.date) + "|";}
                                            tabla += s.obj + "|0.00||" + s.importe_n + "|" + s.moneda_n + "|";
                                            tabla += s.fecha_a.ToString("dd/MM/yyyy") + "|" + s.fecha_b.ToString("dd/MM/yyyy") + "||X||";
                                            tabla += s.desc2 + "|";
                                        }

                                        txtTabla.Value = tabla;

                                        tabla = "";
                                        int    pos2 = 0;
                                        string obj  = "";
                                        foreach (SolicitudesL s in solicitudEsc)
                                        {
                                            if (s.escala.Equals("X"))
                                            {
                                                if (s.obj.Equals(obj))
                                                {
                                                    pos2++;
                                                }
                                                else
                                                {
                                                    pos2 = 1;
                                                    obj  = s.obj;
                                                }
                                                tabla += s.obj + "|" + s.pos + "|" + pos2 + "|" + s.menge + "|";
                                                //tabla += s.kbetr + "|" + s.um1 + "|";
                                                //ADD RSG 27.11.2017
                                                tabla += s.kbetr + "|" + MeinsEsp(s.um1) + "|";
                                            }
                                        }
                                        txtEscalas.Value    = tabla;
                                        lblEscala.InnerHtml = "<script>generaEscalas();</script>";
                                    }

                                    if (tipo.Equals("1"))
                                    {
                                        tr1.Visible = true;
                                        tr2.Visible = true;
                                        tr3.Visible = true;
                                        tr4.Visible = true;
                                    }
                                    else
                                    {
                                        tr3.Visible = true;
                                        tr6.Visible = true;
                                    }
                                }
                            }
                            else
                            {
                                if (tipo.Equals("1"))
                                {
                                    tab = "<div class='center red-text'>No existe el cliente o no le pertenece</div>";
                                }
                                else
                                {
                                    tab = "<div class='center red-text'>No existe el material</div>";
                                }
                            }
                        }
                        else
                        {
                            if (tipo.Equals("1"))
                            {
                                tab = "<div class='center red-text'>Debe coincidir Org de compras, canal de distribución, sector y cliente en cada posición.</div>";
                            }
                            else
                            {
                                tab = "<div class='center red-text'>Debe coincidir Sector y material en cada posición</div>";
                            }
                        }
                    }
                    else
                    {
                        tab = "<div class='center red-text'>No hay conexión a SAP</div>";
                    }
                }

                lblTabla.InnerHtml = tab;
            }
            catch (Exception ex)
            {
                //Response.Redirect("../../../Default.aspx");
                var page = HttpContext.Current.Handler as Page;
                if (page != null)
                {
                    page.ClientScript.RegisterClientScriptBlock(typeof(string), "Redirect", "window.parent.location='https://www.terzaonline.com/nworkflow/login/';", true);
                }
                //ClientScriptManager.RegisterClientScriptBlock(this.GetType(), "RedirectScript", "window.parent.location = '../../../Default.aspx'", true);
            }
        }
コード例 #5
0
        private List <CabeceraL> compararCab(List <CabeceraL> cc)
        {
            List <CabeceraL> ca = new List <CabeceraL>();

            if (cc.Count > 0)
            {
                CabeceraL c = cc[0];
                for (int i = 0; i < cc.Count; i++)
                {
                    if (c.vkorg.Equals(cc[i].vkorg) & c.vtweg.Equals(cc[i].vtweg) & c.spart.Equals(cc[i].spart) & c.kunnr.Equals(cc[i].kunnr) & c.pltyp.Equals(cc[i].pltyp))
                    {
                        ca.Add(cc[i]);
                    }
                }
            }

            if (ca.Count != cc.Count)
            {
                ca = new List <CabeceraL>();
            }
            else
            {
                txtVKORG.Value = ca[0].vkorg;
                txtVTWEG.Value = ca[0].vtweg;
                txtSPART.Value = ca[0].spart;
                txtKUNNR.Value = ca[0].kunnr;
                txtPLTYP.Value = ca[0].pltyp;

                if (!ca[0].vkorg.Equals(""))
                {
                    IRfcTable vk = con.ListaVKORG(ca[0].vkorg, hidNumEmp.Value);
                    if (vk.Count > 0)
                    {
                        txtVKORG1.Value = ca[0].vkorg + " " + vk.GetString("VTEXT");
                    }
                    else
                    {
                        return(new List <CabeceraL>());
                    }
                }
                if (!ca[0].vtweg.Equals(""))
                {
                    IRfcTable vk = con.ListaVTWEG(ca[0].vtweg, hidNumEmp.Value, ca[0].vkorg);
                    if (vk.Count > 0)
                    {
                        txtVTWEG1.Value = ca[0].vtweg + " " + vk.GetString("VTEXT");
                    }
                    else
                    {
                        return(new List <CabeceraL>());
                    }
                }
                if (!ca[0].spart.Equals(""))
                {
                    IRfcTable vk = con.ListaSPART(ca[0].spart, hidNumEmp.Value, ca[0].vkorg, ca[0].vtweg, "02");
                    if (vk.Count > 0)
                    {
                        txtSPART1.Value = ca[0].spart + " " + vk.GetString("VTEXT");
                    }
                    else
                    {
                        return(new List <CabeceraL>());
                    }
                }
                if (!ca[0].kunnr.Equals(""))
                {
                    txtKUNNR1.Value = ca[0].kunnr + " " + con.getCliente(ca[0].vkorg, ca[0].vtweg, ca[0].spart, ca[0].kunnr).GetString("NAME1");
                }
                txtPLTYP1.Value = ca[0].pltyp;
            }

            return(ca);
        }