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); }
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); }
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>"; }
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); } }
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); }