List of usage examples for org.apache.commons.fileupload DiskFileUpload parseRequest
public List parseRequest(HttpServletRequest req) throws FileUploadException
From source file:com.krawler.esp.servlets.AdminServlet.java
public static String editCompanyDetails(Connection conn, HttpServletRequest request, String companyid) throws ServiceException, SessionExpiredException { String status = "failure"; // int notificationduration = 0; int notificationtype = 0; double activity = 0; String sd = ""; String companyEmail = ""; DiskFileUpload fu = new DiskFileUpload(); HashMap arrParam = new HashMap(); FileItem fi1 = null;/* w ww . ja va2s . c om*/ String logouploadmsg = ""; List fileItems = null; try { fileItems = fu.parseRequest(request); } catch (FileUploadException e) { throw ServiceException.FAILURE("Admin.createUser", e); } for (Iterator k = fileItems.iterator(); k.hasNext();) { fi1 = (FileItem) k.next(); arrParam.put(fi1.getFieldName(), fi1.getString()); } try { String ipAddress = AuthHandler.getIPAddress(request); int auditMode = 0; String loginid = AuthHandler.getUserid(request); String params = AuthHandler.getAuthor(conn, loginid) + " (" + AuthHandler.getUserName(request) + ")"; int editAll = Integer.parseInt(request.getParameter("editAll")); // if(editAll >= 1) { // PreparedStatement pstmt = conn.prepareStatement("SELECT subdomain FROM company WHERE companyid=?"); // pstmt.setString(1, companyid); // ResultSet rs = pstmt.executeQuery(); // String subdomain = ""; // if (rs.next()) { // subdomain = rs.getString("subdomain"); // } // boolean domainflag = true; // sd = StringUtil.serverHTMLStripper(arrParam.get("domainname").toString().toLowerCase()); // if (!subdomain.equals(arrParam.get("domainname"))) { // if (SignupHandler.subdomainIsAvailable(conn, sd).equalsIgnoreCase("failure") || StringUtil.isNullOrEmpty(sd)) { // domainflag = false; // } else { // //mailtoAllOnSubdomainChange(conn, subdomain, sd, request); TODO: commented for now. need to implement. - brajesh@090909 // } // } // companyEmail = StringUtil.serverHTMLStripper(arrParam.get("mail").toString().trim()); // String companyname = StringUtil.serverHTMLStripper(arrParam.get("companyname").toString()); // String address = StringUtil.serverHTMLStripper(arrParam.get("address").toString()); // String city = StringUtil.serverHTMLStripper(arrParam.get("city").toString()); // String state = StringUtil.serverHTMLStripper(arrParam.get("state").toString()); // String country = StringUtil.serverHTMLStripper(arrParam.get("country").toString()); // String phone = StringUtil.serverHTMLStripper(arrParam.get("phone").toString()); // String fax = StringUtil.serverHTMLStripper(arrParam.get("fax").toString()); // String zip = StringUtil.serverHTMLStripper(arrParam.get("zip").toString()); // String timezone = StringUtil.serverHTMLStripper(arrParam.get("timezone").toString()); // String website = StringUtil.serverHTMLStripper(arrParam.get("website").toString()); // String currency = StringUtil.serverHTMLStripper(arrParam.get("currency").toString()); // notificationduration = Integer.parseInt(arrParam.get("dur").toString()); if (arrParam.containsKey("1")) { activity = Double.parseDouble("1"); activity = Math.pow(2, activity); notificationtype += activity; } if (arrParam.containsKey("2")) { activity = Double.parseDouble("2"); activity = Math.pow(2, activity); notificationtype += activity; } // if (!(StringUtil.isNullOrEmpty(sd)) && !(StringUtil.isNullOrEmpty(companyname)) && !(StringUtil.isNullOrEmpty(country)) && !(StringUtil.isNullOrEmpty(timezone)) && !(StringUtil.isNullOrEmpty(currency))) { // if (domainflag) { DbUtil.executeUpdate(conn, "update company set notificationtype=? where companyid=?;", new Object[] { notificationtype, companyid }); int o_diff = Constants.DEFAULT_PERT_DURATION_DIFF, p_diff = Constants.DEFAULT_PERT_DURATION_DIFF; if (arrParam.containsKey("optimisticdiff")) { o_diff = Integer.parseInt(arrParam.get("optimisticdiff").toString()); } if (arrParam.containsKey("pessimisticdiff")) { p_diff = Integer.parseInt(arrParam.get("pessimisticdiff").toString()); } DbUtil.executeUpdate(conn, "update pertdefaults_company set o_diff=?, p_diff=? where companyid=?", new Object[] { o_diff, p_diff, companyid }); boolean val = false; if (arrParam.containsKey("milestonewidget")) { if ("on".equals(arrParam.get("milestonewidget").toString())) val = true; } DbUtil.executeUpdate(conn, "UPDATE company SET milestonewidget = ? WHERE companyid = ?", new Object[] { val, companyid }); WidgetStateHandler.updateCustomWidgetSetting(conn, companyid, val); val = false; if (arrParam.containsKey("checklist")) { if ("on".equals(arrParam.get("checklist").toString())) { val = true; new CheckListManager().calculateAllTasksProgresses(conn, companyid); } } DbUtil.executeUpdate(conn, "UPDATE company SET checklist = ? WHERE companyid = ?", new Object[] { val, companyid }); val = false; if (arrParam.containsKey("docaccess")) { if ("on".equals(arrParam.get("docaccess").toString())) { val = true; OpenOfficeServiceResolver resolver = OpenOfficeServiceResolver.get(request.getServletContext()); DocsConversionHandler.convertDocs(companyid, resolver); } } DbUtil.executeUpdate(conn, "UPDATE company SET docaccess = ? WHERE companyid = ?", new Object[] { val, companyid }); // pst = conn.prepareStatement("Select activityid,featureid from activitieslist where activityname=?"); // pst.setString(1, "ChangeCompanyLogo"); // ResultSet rset = pst.executeQuery(); // if (rset.next()) { // int actid = rset.getInt("activityid"); // int featid = rset.getInt("featureid"); // pst = conn.prepareStatement("SELECT permissions FROM userpermissions WHERE userid = ? and featureid=?"); // pst.setString(1, AuthHandler.getUserid(request)); // pst.setInt(2, featid); // ResultSet rset1 = pst.executeQuery(); // if (rset1.next()) { // int perm = rset1.getInt("permissions"); // int num = (int) Math.pow(2, actid); // if ((perm & num) == num) { // res = true; // } // } // } // if (res && editAll == 1) { // if (arrParam.get("logo").toString().length() != 0) { // genericFileUpload uploader = new genericFileUpload(); // uploader.doPostCompay(fileItems, companyid, StorageHandler.GetProfileImgStorePath()); // if (uploader.isUploaded()) { // DbUtil.executeUpdate(conn, "UPDATE company set image=? where companyid = ?", // new Object[]{ProfileImageServlet.ImgBasePath + companyid + uploader.getCompanyImageExt(), companyid}); // } // logouploadmsg = uploader.ErrorMsg; // // AuditTrail.insertLog(conn, "331", loginid, "", "", companyid, // params, ipAddress, auditMode); // } // } String holidaysJson = arrParam.get("holidays").toString(); com.krawler.utils.json.base.JSONObject holidays = new JSONObject(holidaysJson); String qry1 = "SELECT holiday,description FROM companyholidays where companyid=?"; DbResults rs = DbUtil.executeQuery(conn, qry1, companyid); List hDays = new ArrayList(); while (rs.next()) { hDays.add(rs.getObject("holiday").toString()); } DbUtil.executeUpdate(conn, "DELETE FROM companyholidays WHERE companyid = ?", new Object[] { companyid }); String qry = "INSERT INTO companyholidays (companyid, holiday, description) VALUES (?,?,?)"; com.krawler.utils.json.base.JSONArray jarr = holidays.getJSONArray("data"); for (int k = 0; k < jarr.length(); k++) { com.krawler.utils.json.base.JSONObject jobj = jarr.getJSONObject(k); DbUtil.executeUpdate(conn, qry, new Object[] { companyid, jobj.getString("day"), jobj.getString("description") }); } if (hDays.size() != jarr.length()) { AuditTrail.insertLog(conn, "333", loginid, "", "", companyid, params, ipAddress, auditMode); } AuditTrail.insertLog(conn, "332", loginid, "", "", companyid, params, ipAddress, auditMode); /* // notification config options String updateqry = "UPDATE notification set notifysum = ? where companyid = ? and nid = ?"; String insertqry = "INSERT INTO notification (companyid, nid, notifysum) VALUES (?,?,?)"; qry = "SELECT count(*) as count from notification where companyid = ? and nid = ?"; String notifyJson = arrParam.get("notifyconf").toString(); JSONObject notifyJObj = new JSONObject(notifyJson); jarr = notifyJObj.getJSONArray("data"); for (int k = 0; k < jarr.length(); k++) { JSONObject jobj = jarr.getJSONObject(k); String nid = jobj.getString("nid"); int type = 1; int sum = 0; while (true) { if (jobj.has(String.valueOf(type))) { if (jobj.getBoolean(String.valueOf(type))) { sum += Math.pow(2, type); } type++; } else { break; } } pstmt = conn.prepareStatement(qry); pstmt.setString(1, companyid); pstmt.setString(2, nid); ResultSet notifySet = pstmt.executeQuery(); if (notifySet.next()) { if (notifySet.getInt("count") > 0) { DbUtil.executeUpdate(conn, updateqry, new Object[]{sum, companyid, nid}); } else { DbUtil.executeUpdate(conn, insertqry, new Object[]{companyid, nid, sum}); } } } */ // status = "success" + "," + logouploadmsg; // } else { // status = "success" + "," + "Subdomain is already registered."; // } // } // } else if (arrParam.get("logo").toString().length() != 0) { // status = editCompanyLogo(conn, fileItems, companyid, AuthHandler.getUserid(request)); // AuditTrail.insertLog(conn, "331", loginid, "", "", companyid, // params, ipAddress, auditMode); // } status = "success"; } catch (JSONException ex) { Logger.getLogger(AdminServlet.class.getName()).log(Level.SEVERE, null, ex); } return status; }
From source file:forseti.nomina.JNomMovDirDlg.java
@SuppressWarnings({ "rawtypes", "unchecked" }) public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doPost(request, response); String nom_nomina_dlg = ""; request.setAttribute("nom_nomina_dlg", nom_nomina_dlg); String mensaje = ""; short idmensaje = -1; String usuario = getSesion(request).getID_Usuario(); if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) { if (!getSesion(request).getRegistrado()) { irApag("/forsetiweb/errorAtributos.jsp", request, response); return; } else {//from ww w.j a va 2 s . co m try { HttpSession ses = request.getSession(true); JFacturasXML nomrecxml = (JFacturasXML) ses.getAttribute("nom_rec_xml"); Vector archivos = new Vector(); DiskFileUpload fu = new DiskFileUpload(); List items = fu.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) nomrecxml.getParametros().put(item.getFieldName(), item.getString()); else archivos.addElement(item); } // revisa por las entidades JNominaEntidadesSetIds setids = new JNominaEntidadesSetIds(request, usuario, getSesion(request).getSesion("NOM_NOMINA").getEspecial()); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } SubirArchivosCFD(request, response, nomrecxml, archivos); return; } catch (FileUploadException e) { e.printStackTrace(); return; } catch (Exception e) { e.printStackTrace(); return; } } } if (request.getParameter("proceso") != null && !request.getParameter("proceso").equals("")) { // revisa por las entidades JNominaEntidadesSetIds setids = new JNominaEntidadesSetIds(request, usuario, getSesion(request).getSesion("NOM_NOMINA").getEspecial()); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } request.setAttribute("idmod", "NOM_NOMINA"); request.setAttribute("fact_xml", "NOMINA"); // Revisa por intento de intrusion (Salto de permiso de entidad) if (!request.getParameter("proceso").equals("AGREGAR_NOMINA") && request.getParameter("id") != null) { JNominasModuloSet set = new JNominasModuloSet(request); set.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; set.Open(); if (set.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "AL", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM|" + request.getParameter("id") + "|" + setids.getAbsRow(0).getID_Sucursal() + "||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } if (request.getParameter("proceso").equals("ENLAZAR_RECIBO")) { //System.out.println("Enlazar Recibos"); // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setids.getAbsRow(0).getCFD() || (setnom.getAbsRow(0).getTipo() != 1 && setnom.getAbsRow(0).getTipo() != 2 && setnom.getAbsRow(0).getTipo() != 5 && setnom.getAbsRow(0).getTipo() != 6 && setnom.getAbsRow(0).getTipo() != 7 && setnom.getAbsRow(0).getTipo() != 8)) { idmensaje = 3; mensaje += "ERROR: No se puede enlazar ningun CFDI porque esta entidad de nmina genera sus propios CFDIs, o porque esta nmina es del tipo especial, la cual no es compatible para sellar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni ENLAZAR, { //System.out.println("Subproceso Nulo"); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/fact_dlg_xmls.jsp", request, response); return; } else { //System.out.println("Subproceso NO Nulo"); if (request.getParameter("subproceso").equals("ENLAZAR")) { // Se supone que el recibo aun no estar ligado a un recibo existente... JCFDCompSet comprobante = new JCFDCompSet(request, "NOMINA"); comprobante.m_Where = "UUID = '" + p(request.getParameter("uuid")) + "'"; comprobante.Open(); if (comprobante.getNumRows() < 1 || !comprobante.getAbsRow(0).getFSI_Tipo().equals("ENT") || comprobante.getAbsRow(0).getFSI_ID() != Integer .parseInt(getSesion(request).getSesion("NOM_NOMINA").getEspecial())) { idmensaje = 3; mensaje += "ERROR: No se ha cargado el CFDI del recibo, ste ya esta ligado a otro recibo, el CFDI se carg en otra entidad<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } HttpSession ses = request.getSession(true); JFacturasXML nomrecxml = (JFacturasXML) ses.getAttribute("nom_rec_xml"); if (nomrecxml == null) { nomrecxml = new JFacturasXML(); ses.setAttribute("nom_rec_xml", nomrecxml); } else { nomrecxml = null; nomrecxml = new JFacturasXML(); ses.setAttribute("nom_rec_xml", nomrecxml); } StringBuffer sb_mensaje = new StringBuffer(); if (!JForsetiCFD.CargarDocumentoCFDI(request, nomrecxml, sb_mensaje, request.getParameter("uuid"), "N")) { idmensaje = 3; mensaje += sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (nomrecxml.getComprobante().getProperty("tipoDeComprobante").equals("ingreso") || nomrecxml.getComprobante().getProperty("tipoDeComprobante").equals("traslado")) { idmensaje = 3; mensaje += "ERROR: El tipo de comprobante fiscal digital CFDI, No corresponde con el tipo de documento a enlazar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Verifica que el RFC del Emisor sea igual al RFC registrado, o que sea rfc generico JBDSSet set = new JBDSSet(request); set.ConCat(true); set.m_Where = "Nombre = 'FSIBD_" + p(getSesion(request).getBDCompania()) + "'"; set.Open(); if (!nomrecxml.getRFC_Emisor().equalsIgnoreCase(set.getAbsRow(0).getRFC())) { idmensaje = 3; mensaje = "ERROR: El RFC del emisor en el XML no pertenece a la compaia"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") == null) // Significa que debe agregar un nuevo recibo { if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede enlazar el CFDI a un recibo nuevo porque la nmina ya esta protegida <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //float descuento = Float.parseFloat(nomrecxml.getComprobante().getProperty("descuento")); //float totalImpuestosRetenidos = Float.parseFloat(nomrecxml.getImpuestos().getProperty("totalImpuestosRetenidos")); JMasempSet setemp = new JMasempSet(request); setemp.m_Where = "ID_Compania = '0' and ID_Sucursal = '" + getSesion(request).getSesion("NOM_NOMINA").getEspecial() + "' and ( RFC_Letras || RFC_Fecha || RFC_Homoclave ) ~~* '" + p(nomrecxml.getRFC_Receptor()) + "'"; setemp.Open(); //System.out.println(setemp.getSQL()); if (setemp.getNumRows() == 0) { idmensaje = 1; mensaje = "PRECAUCION: No existe el empleado dado de alta en el sistema, est dado de alta en otra entidad o el RFC del empleado no coincide con el del recibo"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNomMovDirSes rec = (JNomMovDirSes) ses.getAttribute("nom_nomina_dlg"); if (rec == null) { rec = new JNomMovDirSes(); ses.setAttribute("nom_nomina_dlg", rec); } else rec.resetear(); JProcessSet setRec = new JProcessSet(request); setRec.setSQL("select Recibo from VIEW_NOM_CALCULO_NOMINA_ESP where ID_Nomina = '" + p(request.getParameter("id")) + "' order by Recibo desc limit 1"); setRec.Open(); if (setRec.getNumRows() > 0) rec.setRecibo(Integer.valueOf(setRec.getAbsRow(0).getSTS("Col1")) + 1); else rec.setRecibo(1); //Llena el recibo rec.setUUID(nomrecxml.getTFD().getProperty("UUID")); rec.setID_Empleado(setemp.getAbsRow(0).getID_Empleado()); rec.setNombre(setemp.getAbsRow(0).getNombre() + " " + setemp.getAbsRow(0).getApellido_Paterno() + " " + setemp.getAbsRow(0).getApellido_Materno()); JCalculoNominaDetSet dset = new JCalculoNominaDetSet(request); dset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; dset.Open(); for (int i = 0; i < nomrecxml.getPercepciones().size(); i++) { Properties percepcion = (Properties) nomrecxml.getPercepciones().elementAt(i); int clave; String descripcion; boolean esDeduccion; int idmovimiento; try { idmovimiento = Integer.parseInt(percepcion.getProperty("Clave")); } catch (NumberFormatException e) { idmovimiento = 0; } JMovimientosNomSet cat = new JMovimientosNomSet(request); cat.m_Where = "ID_Movimiento = '" + idmovimiento + "'"; //System.out.println(cat.getSQL()); cat.Open(); if (cat.getNumRows() > 0) { clave = cat.getAbsRow(0).getID_Movimiento(); descripcion = cat.getAbsRow(0).getDescripcion(); esDeduccion = cat.getAbsRow(0).getDeduccion(); } else // Si no existe la clave en el catalogo, enlaza desde catlogo intermediario { clave = 0; descripcion = percepcion.getProperty("Concepto"); esDeduccion = false; } float gravado = Float.parseFloat(percepcion.getProperty("ImporteGravado")); float exento = Float.parseFloat(percepcion.getProperty("ImporteExento")); rec.agregaPartida(clave, descripcion, gravado, exento, 0.00F, esDeduccion); } for (int i = 0; i < nomrecxml.getDeducciones().size(); i++) { Properties deduccion = (Properties) nomrecxml.getDeducciones().elementAt(i); int clave; String descripcion; boolean esDeduccion; JMovimientosNomSet cat = new JMovimientosNomSet(request); cat.m_Where = "ID_Movimiento = '" + p(deduccion.getProperty("Clave")) + "'"; //System.out.println(cat.getSQL()); cat.Open(); if (cat.getNumRows() > 0) { clave = cat.getAbsRow(0).getID_Movimiento(); descripcion = cat.getAbsRow(0).getDescripcion(); esDeduccion = cat.getAbsRow(0).getDeduccion(); } else // Si no existe la clave en el catalogo, enlaza desde catlogo intermediario { clave = 0; descripcion = deduccion.getProperty("Concepto"); esDeduccion = true; } float gravado = Float.parseFloat(deduccion.getProperty("ImporteGravado")); float exento = Float.parseFloat(deduccion.getProperty("ImporteExento")); rec.agregaPartida(clave, descripcion, 0.00F, 0.00F, -(gravado + exento), esDeduccion); } for (int i = 0; i < nomrecxml.getIncapacidades().size(); i++) { Properties incapacidad = (Properties) nomrecxml.getIncapacidades().elementAt(i); float dias = Float.parseFloat(incapacidad.getProperty("DiasIncapacidad")); int tipo = Integer.parseInt(incapacidad.getProperty("TipoIncapacidad")); if (tipo == 1) rec.setIXA(dias); else if (tipo == 2) rec.setIXE(dias); else rec.setIXM(dias); } for (int i = 0; i < nomrecxml.getHorasExtras().size(); i++) { Properties horasextra = (Properties) nomrecxml.getHorasExtras().elementAt(i); byte dias = Byte.parseByte(horasextra.getProperty("Dias")); String tipo = horasextra.getProperty("TipoHoras"); float horas = Float.parseFloat(horasextra.getProperty("HorasExtra")); rec.setDiasHorasExtras(dias); if (tipo.equals("Dobles") || tipo.equals("dobles")) rec.setHE(horas); else // Triples o triples rec.setHT(horas); } rec.establecerResultados(); if ((JUtil.redondear(rec.getSumGravado() + rec.getSumExento() + rec.getSumDeduccion(), 2) - JUtil.redondear( Float.parseFloat(nomrecxml.getComprobante().getProperty("total")), 2)) > 0.1 || (JUtil.redondear( rec.getSumGravado() + rec.getSumExento() + rec.getSumDeduccion(), 2) - JUtil.redondear( Float.parseFloat( nomrecxml.getComprobante().getProperty("total")), 2)) < -0.1) { idmensaje = 3; mensaje = "ERROR: El total en el CFDI no corresponde al Total calculado en el registro a partir de este CFDI. No se puede agregar. DOC: " + JUtil.redondear( rec.getSumGravado() + rec.getSumExento() + rec.getSumDeduccion(), 2) + " XML: " + JUtil.redondear( Float.parseFloat(nomrecxml.getComprobante().getProperty("total")), 2); getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else // Significa que debe Enlazar a un recibo existente { if (setnom.getAbsRow(0).getFormaPago().equals("N")) //Si no est ya pagada la nomina lo rechaza porque no hay poliza para enlazar el cfdi a la contabilidad electronica { idmensaje = 3; mensaje += "ERROR: No se puede enlazar el CFDI a un recibo existente porque la nmina no esta pagada an, lo que significa que no existe una pliza asociada para el enlace a la contabilidad elecrnica <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; cset.Open(); //System.out.println(setemp.getSQL()); if (cset.getAbsRow(0).getID_CFD() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo ya tiene un CFDI asociado. No puedes asociar otro CFDI al mismo recibo<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JMasempSetCons setemp = new JMasempSetCons(request); setemp.m_Where = "ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; setemp.Open(); if (JUtil.redondear( cset.getAbsRow(0).getGravado() + cset.getAbsRow(0).getExento() + cset.getAbsRow(0).getDeduccion(), 2) != JUtil.redondear( Float.parseFloat(nomrecxml.getComprobante().getProperty("total")), 2) || !(setemp.getAbsRow(0).getRFC_Letras() + setemp.getAbsRow(0).getRFC_Fecha() + setemp.getAbsRow(0).getRFC_Homoclave()) .equals(nomrecxml.getRFC_Receptor())) { idmensaje = 1; mensaje += "PRECAUCION: Los totales o los RFCs del recibo y el CFDI no coinciden. No se puede asociar este CFDI al registro<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Aqui asocia. Enlazar(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } else if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarRecursos(request, response) == -1) { AgregarCambiarEmp(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("AGREGAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JAdmCompaniasSet setcom = new JAdmCompaniasSet(request); setcom.m_Where = "ID_Compania = '0' and ID_Sucursal = '" + getSesion(request).getSesion("NOM_NOMINA").getEspecial() + "'"; setcom.Open(); Byte numero_nomina = new Byte(setcom.getAbsRow(0).getNumero()); Date desde = new Date(setcom.getAbsRow(0).getFecha().getTime()); Calendar hast = new GregorianCalendar(); hast.setTime(setcom.getAbsRow(0).getFecha()); Integer ano = new Integer(JUtil.obtAno(hast)); Integer tipo_de_nomina = new Integer(-1); if (setcom.getAbsRow(0).getPeriodo().equals("sem")) hast.add(Calendar.DATE, 6); else if (setcom.getAbsRow(0).getPeriodo().equals("qui")) hast.add(Calendar.DATE, 14); else { hast.add(Calendar.MONTH, 1); hast.add(Calendar.DATE, -1); } Date hasta = hast.getTime(); request.setAttribute("numero_nomina", numero_nomina); request.setAttribute("ano", ano); request.setAttribute("desde", desde); request.setAttribute("hasta", hasta); request.setAttribute("tipo_de_nomina", tipo_de_nomina); // Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametros(request, response)) { AgregarCambiarCabecero(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de AGREGADO para agregar `por primera vez { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAMBIAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar la nómina porque ya esta protegida<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setnom.getAbsRow(0).getTipo() != 1 && setnom.getAbsRow(0).getTipo() != 2) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar la nmina porque no es una nmina normal<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Byte numero_nomina = new Byte((byte) setnom.getAbsRow(0).getNumero_Nomina()); Integer ano = new Integer(setnom.getAbsRow(0).getAno()); Date desde = new Date(setnom.getAbsRow(0).getFecha_Desde().getTime()); Date hasta = new Date(setnom.getAbsRow(0).getFecha_Hasta().getTime()); Integer tipo_de_nomina = new Integer(setnom.getAbsRow(0).getTipo()); request.setAttribute("numero_nomina", numero_nomina); request.setAttribute("ano", ano); request.setAttribute("desde", desde); request.setAttribute("hasta", hasta); request.setAttribute("tipo_de_nomina", tipo_de_nomina); // Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametros(request, response)) { AgregarCambiarCabecero(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de AGREGADO para agregar `por primera vez { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("ELIMINAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_ELIMINAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_ELIMINAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_ELIMINAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede eliminar la nómina porque ya esta protegida <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and TFD >= 2"; cset.Open(); if (cset.getNumRows() > 0) { idmensaje = 3; mensaje += "ERROR: No se puede eliminar la nmina porque por lo menos un recibo ya tiene su CFDI enlazado. Primero debes desenlazar el CFDI desde el mdulo de CFDI y CE del centro de control<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Eliminar(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CALCULAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede calcular la nómina porque ya est protegida <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setnom.getAbsRow(0).getTipo() == 1 || setnom.getAbsRow(0).getTipo() == 2) { if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { //Normales Calcular(request, response, 12); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de AGREGADO para agregar `por primera vez { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_calcular.jsp", request, response); return; } } else if (setnom.getAbsRow(0).getTipo() == 5 || setnom.getAbsRow(0).getTipo() == 6) { //Aguinaldo Calcular(request, response, 56); return; } else { idmensaje = 3; mensaje += "ERROR: No se puede calcular la nmina porque el tipo de nmina no es calculable <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("GENERAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (!setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("P") || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede generar pago de nómina porque no esta protegida, ya esta pagada o esta cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Generar(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CARGAR_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_CARGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_CARGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_CARGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setids.getAbsRow(0).getCFD() || (setnom.getAbsRow(0).getTipo() != 1 && setnom.getAbsRow(0).getTipo() != 2 && setnom.getAbsRow(0).getTipo() != 5 && setnom.getAbsRow(0).getTipo() != 6)) { idmensaje = 3; mensaje += "ERROR: No se puede cargar ningun CFDI porque esta entidad de nmina genera sus propios CFDIs, o porque el tipo, no es compatible para sellar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Integer subir_archivos = new Integer(2); request.setAttribute("subir_archivos", subir_archivos); HttpSession ses = request.getSession(true); JFacturasXML rec = (JFacturasXML) ses.getAttribute("nom_rec_xml"); if (rec == null) { rec = new JFacturasXML(); ses.setAttribute("nom_rec_xml", rec); } else { rec = null; rec = new JFacturasXML(); ses.setAttribute("nom_rec_xml", rec); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/subir_archivos.jsp?verif=/servlet/CEFNomMovDirDlg&archivo_1=xml&archivo_2=pdf&proceso=CARGAR_RECIBO&subproceso=ENVIAR", request, response); return; } else if (request.getParameter("proceso").equals("SELLAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { if (setids.getAbsRow(0).getCFD() == false) { idmensaje = 1; mensaje += "PRECAUCION: Esta entidad de nmina no está establecida como CFDI. No se pueden sellar los registros<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (!setnom.getAbsRow(0).getCerrado() || !setnom.getAbsRow(0).getStatus().equals("P") || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede sellar esta nmina porque no esta protegida, no esta pagada o est cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setnom.getAbsRow(0).getTipo() == 1 || setnom.getAbsRow(0).getTipo() == 2 || setnom.getAbsRow(0).getTipo() == 5 || setnom.getAbsRow(0).getTipo() == 6 || setnom.getAbsRow(0).getTipo() == 7 || setnom.getAbsRow(0).getTipo() == 8) { JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; SetMod.m_OrderBy = "Recibo ASC"; SetMod.Open(); for (int i = 0; i < SetMod.getNumRows(); i++) { if (SetMod.getAbsRow(i).getTFD() == 3) continue; StringBuffer sb_mensaje = new StringBuffer(254); idmensaje = generarCFDI(request, response, "NOMINA", Integer.parseInt(request.getParameter("id")), SetMod.getAbsRow(i).getID_Empleado(), setids, SetMod.getAbsRow(i).getTFD(), sb_mensaje); mensaje += SetMod.getAbsRow(i).getID_Empleado() + " " + sb_mensaje.toString() + "<br>"; if (idmensaje == 3) break; } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { idmensaje = 3; mensaje += "ERROR: No se puede sellar la nómina porque se trata de una nómina especial. <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("PROTEGER_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (!setnom.getAbsRow(0).getFormaPago().equals("N") || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede desproteger la nmina porque ya esta pagada o esta cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Proteger(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CONSULTAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_cons.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("MOVER_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_cons.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("AGR_EMP")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede agregar el empleado porque la nmina ya est protegida o est cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabeceroRecibo(request, response) == -1) { AgregarCambiarEmp(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { HttpSession ses = request.getSession(true); JNomMovDirSes rec = (JNomMovDirSes) ses.getAttribute("nom_nomina_dlg"); if (rec == null) { rec = new JNomMovDirSes(); ses.setAttribute("nom_nomina_dlg", rec); } else rec.resetear(); JProcessSet setRec = new JProcessSet(request); setRec.setSQL("select Recibo from VIEW_NOM_CALCULO_NOMINA_ESP where ID_Nomina = '" + p(request.getParameter("id")) + "' order by Recibo desc limit 1"); setRec.Open(); if (setRec.getNumRows() > 0) rec.setRecibo(Integer.valueOf(setRec.getAbsRow(0).getSTS("Col1")) + 1); else rec.setRecibo(1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAM_EMP")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar el recibo porque la nmina ya est protegida o est cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; cset.Open(); if (cset.getAbsRow(0).getTFD() >= 2) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar el recibo porque ya tiene un CFDI enlazado.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (AgregarCabeceroRecibo(request, response) == -1) { AgregarCambiarEmp(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { HttpSession ses = request.getSession(true); JNomMovDirSes rec = (JNomMovDirSes) ses.getAttribute("nom_nomina_dlg"); if (rec == null) { rec = new JNomMovDirSes(); ses.setAttribute("nom_nomina_dlg", rec); } else rec.resetear(); //Llena el empleado JCalculoNominaEspSet set = new JCalculoNominaEspSet(request); set.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; set.Open(); rec.setID_Empleado(set.getAbsRow(0).getID_Empleado()); rec.setNombre(set.getAbsRow(0).getNombre()); rec.setFaltas(set.getAbsRow(0).getFaltas()); rec.setHE(set.getAbsRow(0).getHE()); rec.setHD(set.getAbsRow(0).getHD()); rec.setHT(set.getAbsRow(0).getHT()); rec.setIXA(set.getAbsRow(0).getIXA()); rec.setIXE(set.getAbsRow(0).getIXE()); rec.setIXM(set.getAbsRow(0).getIXM()); rec.setRecibo(set.getAbsRow(0).getRecibo()); rec.setDiasHorasExtras(set.getAbsRow(0).getDiasHorasExtras()); JCalculoNominaDetSet dset = new JCalculoNominaDetSet(request); dset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; dset.Open(); for (int i = 0; i < dset.getNumRows(); i++) { rec.agregaPartida(dset.getAbsRow(i).getID_Movimiento(), dset.getAbsRow(i).getDescripcion(), dset.getAbsRow(i).getGravado(), dset.getAbsRow(i).getExento(), dset.getAbsRow(i).getDeduccion(), dset.getAbsRow(i).getEsDeduccion()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("BORR_EMP")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede borrar el recibo porque la nmina ya est protegida o est cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; cset.Open(); if (cset.getAbsRow(0).getTFD() >= 2) { idmensaje = 3; mensaje += "ERROR: No se puede eliminar el recibo porque ya tiene un CFDI enlazado.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } EliminarEmp(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("IMPRIMIR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("IMPRESION")) { // Impresion StringBuffer bsmensaje = new StringBuffer(254); String SQLCab = "select * from view_nomina_recibos_impcab where ID_Nomina = " + request.getParameter("id") + " and ID_Empleado = '" + request.getParameter("idempleado") + "'"; String SQLDet = "select * from view_nomina_recibos_impdet where ID_Nomina = " + request.getParameter("id") + " and ID_Empleado = '" + request.getParameter("idempleado") + "' order by esdeduccion asc, id_movimiento asc"; idmensaje = Imprimir(SQLCab, SQLDet, request.getParameter("idformato"), bsmensaje, request, response); if (idmensaje != -1) { getSesion(request).setID_Mensaje(idmensaje, bsmensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { request.setAttribute("impresion", "CEFNomMovDirDlg"); request.setAttribute("tipo_imp", "NOM_NOMINA"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Recibo()); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/impresion_dlg.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("ENVIAR_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo no está sellado completamente, no se puede enviar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JMasempSet set = new JMasempSet(request); set.m_Where = "ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; set.Open(); if (set.getAbsRow(0).getSMTP() == 0) // Maneja smtp manual o automtico { idmensaje = 1; mensaje += "PRECAUCION: Este empleado no esta confgurado para recibir sus recibos por correo <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JFsiSMTPClient smtp = new JFsiSMTPClient(); smtp.enviarCFDIMPE(request, "NOM", request.getParameter("id"), request.getParameter("idempleado"), set.getAbsRow(0).getNombre(), set.getAbsRow(0).getEMail()); if (smtp.getStatusSMTP() == JFsiSMTPClient.ERROR) { idmensaje = 3; mensaje += "ERROR: " + smtp.getError(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } getSesion(request).setID_Mensaje((short) 0, "El correo se ha mandado satisfactoriamente"); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("XML_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo no está sellado completamente, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "NOMINA"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/nom/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; else // Es CFDI generado internamente { nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/SIGN_NOM-" + request.getParameter("id") + "-" + request.getParameter("idempleado") + ".xml"; } destino = "NOM-" + SetMod.getAbsRow(0).getID_Nomina() + "-" + SetMod.getAbsRow(0).getRecibo() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "El recibo se bajo satisfactoriamente"; return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("PDF_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo no está sellado completamente, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "NOMINA"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/nom/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/PDFs/NOM-" + request.getParameter("id") + "-" + request.getParameter("idempleado") + ".pdf"; destino = "NOM-" + SetMod.getAbsRow(0).getID_Nomina() + "-" + SetMod.getAbsRow(0).getRecibo() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "El recibo se bajo satisfactoriamente"; return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // si no se mandan parametros, manda a error { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } }
From source file:com.krawler.spring.iphone.iphoneController.java
private String sendMail(HttpServletRequest request, HttpServletResponse response) throws JSONException { String result = null;//from ww w . j av a2 s . co m try { DiskFileUpload fu = new DiskFileUpload(); java.util.List fileItems = null; String imageName = ""; fileItems = fu.parseRequest(request); java.util.HashMap arrParam = new java.util.HashMap(); java.util.Iterator k = null; for (k = fileItems.iterator(); k.hasNext();) { FileItem fi1 = (FileItem) k.next(); arrParam.put(fi1.getFieldName(), fi1.getString()); } String to = request.getParameter("mailto"); String from = request.getParameter("from"); String accountid = StringUtil.serverHTMLStripper( arrParam.get("from").toString().replaceAll("[^\\w|\\s|'|\\-|\\[|\\]|\\(|\\)]", "").trim()); String subject = StringUtil.serverHTMLStripper( arrParam.get("subject").toString().replaceAll("[^\\w|\\s|'|\\-|\\[|\\]|\\(|\\)]", "").trim()); String body = arrParam.get("body").toString();//StringUtil.serverHTMLStripper(arrParam.get("body").toString().replaceAll("[^\\w|\\s|'|\\-|\\[|\\]|\\(|\\)]", "").trim()); String addressFrom1 = URLEncoder.encode(accountid, "ISO-8859-1"); String fromAccount = URLEncoder.encode(accountid, "ISO-8859-1"); String sendDescription = URLEncoder.encode(body, "ISO-8859-1"); String sendSubject = URLEncoder.encode(subject, "ISO-8859-1"); String sendTo = URLEncoder.encode(to, "ISO-8859-1"); String subject1 = URLEncoder.encode(subject, "ISO-8859-1"); String Url = "action=EmailUIAjax&addressFrom1=" + addressFrom1 + "&addressTo1=" + sendTo + "&composeType=" + "&emailUIAction=sendEmail&fromAccount=" + fromAccount + "&krawler_body_only=true" + "&module=Emails&saveToKrawler=1&sendCharset=ISO-8859-1&sendDescription=" + sendDescription + "" + "&sendSubject=" + sendSubject + "&sendTo=" + sendTo + "&setEditor=1&subject1=" + subject1 + "&to_pdf=true"; RequestDispatcher dispatcher = request .getRequestDispatcher("/Common/MailIntegration/mailIntegrate.do?" + Url); dispatcher.forward(request, response); } catch (Exception ex) { logger.warn(ex.getMessage(), ex); result = "{\"success\":\"false\",\"error\":\"Error occured while sending mail(" + ex.toString() + ")\",\"data\":[]}"; } return result; }
From source file:forseti.compras.JCompFactDlg.java
@SuppressWarnings({ "unchecked", "rawtypes" }) public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //request.setAttribute("fsi_modulo",request.getRequestURI()); super.doPost(request, response); String comp_fact_dlg = ""; request.setAttribute("comp_fact_dlg", comp_fact_dlg); String mensaje = ""; short idmensaje = -1; String usuario = getSesion(request).getID_Usuario(); if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) { if (!getSesion(request).getRegistrado()) { irApag("/forsetiweb/errorAtributos.jsp", request, response); return; } else {/*from www. j a v a2s. c om*/ try { HttpSession ses = request.getSession(true); JFacturasXML compfactxml = (JFacturasXML) ses.getAttribute("comp_fact_xml"); Vector archivos = new Vector(); DiskFileUpload fu = new DiskFileUpload(); List items = fu.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) compfactxml.getParametros().put(item.getFieldName(), item.getString()); else archivos.addElement(item); } // revisa por las entidades JComprasEntidadesSetIdsV2 setids; String idmod = compfactxml.getParametros().getProperty("idmod"), idmod4 = compfactxml.getParametros().getProperty("idmod4"), moddes = compfactxml.getParametros().getProperty("moddes"); request.setAttribute("idmod", idmod); request.setAttribute("moddes", moddes); setids = new JComprasEntidadesSetIdsV2(request, usuario, getSesion(request).getSesion(idmod).getEspecial(), (idmod.equals("COMP_GAS") ? 2 : 0)); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (!idmod.equals("COMP_DEV")) // Si no es devolucion { if (!getSesion(request).getPermiso(idmod + "_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_AGREGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { if (!getSesion(request).getPermiso("COMP_DEV_DEVOLVER") && !getSesion(request).getPermiso("COMP_DEV_REBAJAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "COMP_DEV_DEVOLVER") + " / " + MsjPermisoDenegado(request, "CEF", "COMP_DEV_REBAJAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "COMP_DEV_DEVOLVER", "CDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } System.out.println("PROPIEDAD: " + compfactxml.getParametros().getProperty("proceso")); if (compfactxml.getParametros().getProperty("proceso").equals("CARGAR_OTROS")) SubirArchivosOTROS(request, response, compfactxml, archivos); else SubirArchivosCFD(request, response, compfactxml, archivos); return; } catch (FileUploadException e) { e.printStackTrace(); return; } catch (Exception e) { e.printStackTrace(); return; } } } if (request.getParameter("proceso") != null && !request.getParameter("proceso").equals("")) { // revisa por las entidades JComprasEntidadesSetIdsV2 setids; String idmod, idmod4, moddes; if (request.getParameter("tipomov").equals("FACTURAS")) { idmod = "COMP_FAC"; idmod4 = "CFAC"; moddes = "FACTURAS"; } else if (request.getParameter("tipomov").equals("ORDENES")) { idmod = "COMP_ORD"; idmod4 = "CORD"; moddes = "ORDENES"; } else if (request.getParameter("tipomov").equals("RECEPCIONES")) { idmod = "COMP_REC"; idmod4 = "CREC"; moddes = "RECEPCIONES"; } else if (request.getParameter("tipomov").equals("GASTOS")) { idmod = "COMP_GAS"; idmod4 = "CGAS"; moddes = "GASTOS"; } else { idmod = "COMP_DEV"; idmod4 = "CDEV"; moddes = "DEVOLUCIONES"; } request.setAttribute("idmod", idmod); request.setAttribute("moddes", moddes); request.setAttribute("fact_xml", "COMPRAS"); setids = new JComprasEntidadesSetIdsV2(request, usuario, getSesion(request).getSesion(idmod).getEspecial(), (idmod.equals("COMP_GAS") ? 2 : 0)); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Revisa por intento de intrusion (Salto de permiso de entidad) if (!request.getParameter("proceso").equals("AGREGAR_COMPRA") && request.getParameter("ID") != null) { boolean intrusion = false; if (moddes.equals("FACTURAS")) { JComprasFactSet set = new JComprasFactSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Factura = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else if (moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 set = new JComprasRecepSetV2(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else if (moddes.equals("ORDENES")) { JComprasOrdenesSet set = new JComprasOrdenesSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Orden = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else if (moddes.equals("GASTOS")) { JComprasGastosSet set = new JComprasGastosSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Gasto = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else { JComprasDevolucionesSet set = new JComprasDevolucionesSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } if (intrusion) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "AL", getSesion(request).getID_Usuario(), idmod, idmod4 + "|" + request.getParameter("ID") + "|" + setids.getAbsRow(0).getID_Entidad() + "||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } if (request.getParameter("proceso").equals("ENLAZAR_COMPRA")) { if (moddes.equals("FACTURAS") || moddes.equals("RECEPCIONES") || moddes.equals("DEVOLUCIONES") || moddes.equals("GASTOS")) { // Revisa si tiene permisos if (!idmod.equals("COMP_DEV")) // Si no es devolucion { if (!getSesion(request).getPermiso(idmod + "_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_AGREGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { if (!getSesion(request).getPermiso("COMP_DEV_DEVOLVER") && !getSesion(request).getPermiso("COMP_DEV_REBAJAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "COMP_DEV_DEVOLVER") + " / " + MsjPermisoDenegado(request, "CEF", "COMP_DEV_REBAJAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "COMP_DEV_DEVOLVER", "CDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } if (setids.getAbsRow(0).getFija()) { idmensaje = 3; mensaje += "ERROR: No se puede subir ningun CFDI, CBB o Factura Extranjera porque esta entidad de compra o gasto est establecida como Fija<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni ENLAZAR, { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/fact_dlg_xmls.jsp", request, response); return; } else { if (request.getParameter("subproceso").equals("ENLAZAR")) { // Se supone que la compra aun no estar ligada a una compra existente... /////////////////////////////////////////////////////////////////////////// String[] valoresParamUUID = request.getParameterValues("uuid"); String[] valoresParamCBBEXT = request.getParameterValues("cbbext"); String tipoEnlace = ""; boolean EnlazarCompraExistente = (request.getParameter("ID") == null ? false : true); if (valoresParamUUID == null && valoresParamCBBEXT == null) { idmensaje = 3; mensaje += "ERROR: Se deben seleccionar, ya sea los CFDIs o los CBBs o Facturas Extranjeras que se desean enlazar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Si existen ambos, UUIDs y CBB o EXT, marcar error if (valoresParamUUID != null && valoresParamCBBEXT != null && valoresParamUUID.length > 0 && valoresParamCBBEXT.length > 0) { idmensaje = 3; mensaje += "ERROR: No se pueden enlazar ambos tipos de documento, CFDIs mas CBB o Facturas Extranjeras, a una misma compra.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (valoresParamCBBEXT != null && valoresParamCBBEXT.length > 0 && !EnlazarCompraExistente) { idmensaje = 3; mensaje += "ERROR: Los documentos CBB o Facturas extranjeras, deben enlazarse forzosamente a una compra existente.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } float TotalUUIDs = 0F; String UUIDs = ""; float TC = 1.0F, TCAnt = 1.0F; String RFC_Emisor = ""; HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); if (rec == null) { rec = new JCompFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("comp_fact_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); rec.setReferencia("s/r"); if (valoresParamUUID != null) { tipoEnlace = "UUID"; for (int u = 0; u < valoresParamUUID.length; u++) { ///////////////////////////// VP INI ///////////////////////////////////////////// JCFDCompSet comprobante = new JCFDCompSet(request, "COMPRAS"); comprobante.m_Where = "UUID = '" + p(valoresParamUUID[u]) + "'"; comprobante.Open(); //System.out.println("NUM: " + valoresParamUUID.length + " UUID: " + valoresParamUUID[u]); if (comprobante.getNumRows() < 1 || !comprobante.getAbsRow(0).getFSI_Tipo().equals("ENT") || comprobante.getAbsRow(0).getFSI_ID() != Integer .parseInt(getSesion(request).getSesion(idmod).getEspecial())) { idmensaje = 3; mensaje += "ERROR: No se ha cargado el CFDI de la compra, este ya esta ligado a otra compra, o el CFDI se cargo en otra entidad<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JFacturasXML compfactxml = new JFacturasXML(); StringBuffer sb_mensaje = new StringBuffer(); if (!JForsetiCFD.CargarDocumentoCFDI(request, compfactxml, sb_mensaje, valoresParamUUID[u]/*request.getParameter("uuid")*/, "E")) { idmensaje = 3; mensaje += sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if ((compfactxml.getComprobante().getProperty("tipoDeComprobante") .equals("ingreso") && moddes.equals("DEVOLUCIONES")) || (compfactxml.getComprobante().getProperty("tipoDeComprobante") .equals("egreso") && !moddes.equals("DEVOLUCIONES")) || compfactxml.getComprobante().getProperty("tipoDeComprobante") .equals("traslado")) { idmensaje = 3; mensaje += "ERROR: El tipo de comprobante fiscal digital CFDI, No corresponde con el tipo de documento a enlazar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Verifica que el RFC del Receptor sea igual al RFC registrado, o que sea rfc generico JBDSSet set = new JBDSSet(request); set.ConCat(true); set.m_Where = "Nombre = 'FSIBD_" + p(getSesion(request).getBDCompania()) + "'"; set.Open(); if (!compfactxml.getRFC_Receptor() .equalsIgnoreCase(set.getAbsRow(0).getRFC())) { idmensaje = 3; mensaje = "ERROR: El RFC del receptor en el XML no pertenece a la compaia"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } RFC_Emisor = compfactxml.getRFC_Emisor(); //Verifica los tipos de cambio, Si son mas de un CFDI, no deben tener distintos tipos de cambio if (u == 0) { try { TC = Float.parseFloat( compfactxml.getComprobante().getProperty("TipoCambio")); } catch (NumberFormatException e) { TC = 1.0F; } try { TCAnt = Float.parseFloat( compfactxml.getComprobante().getProperty("TipoCambio")); } catch (NumberFormatException e) { TCAnt = 1.0F; } } else { try { TC = Float.parseFloat( compfactxml.getComprobante().getProperty("TipoCambio")); } catch (NumberFormatException e) { TC = 1.0F; } } if (TC != TCAnt) { idmensaje = 3; mensaje = "ERROR: En mltiples enlaces, los tipos de cambio deben coincidir. Los gastos tienen distintos tipos de cambio"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") == null) // Significa que debe agregar una nueva compra { if (moddes.equals("DEVOLUCIONES") || moddes.equals("ORDENES")) { idmensaje = 1; mensaje = "PRECAUCION: Solo se pueden enlazar devoluciones previamente generadas desde compras. Selecciona la devolucin e intenta enlazar de nuevo."; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (valoresParamUUID.length > 1 && !moddes.equals("GASTOS")) { idmensaje = 1; mensaje = "PRECAUCION: Solo se pueden enlazar multiples CFDI a un gasto, y no, a una compra"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } float descuento = Float .parseFloat(compfactxml.getComprobante().getProperty("descuento")); if (descuento != 0.0) { idmensaje = 1; mensaje = "PRECAUCION: Por el momento, la carga de compras no soportan descuentos implicitos porque en el CFDI no se especifica a que producto(s) o servicio(s) aplica cada descuento, lo que hace imposible determinar un costo verdadero."; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } rec.agregaCFDI(compfactxml); if (valoresParamUUID.length == 1) // es un solo CFDI (Siempre en el caso de Compras y Recepciones... y algunas veces en gastos) { float tc, iva; int idmon; Date fecha = JUtil.estFechaCFDI( compfactxml.getComprobante().getProperty("fecha")); rec.setFecha(fecha); try { tc = Float.parseFloat( compfactxml.getComprobante().getProperty("TipoCambio")); } catch (NumberFormatException e) { tc = 1.0F; } rec.setTC(tc); idmon = ((tc == 1) ? 1 : 2); //cambiar por 2 cuando se inserte moneda de dolares automaticamente al instalar empresa... Para ya distribuir rec.setID_Moneda((byte) idmon); rec.setTotal(Float .parseFloat(compfactxml.getComprobante().getProperty("total"))); try { iva = Float.parseFloat(compfactxml.getImpuestos() .getProperty("totalImpuestosTrasladados")); } catch (NumberFormatException e) { iva = 0.0F; } rec.setIVA(iva); rec.setSubTotal(Float.parseFloat( compfactxml.getComprobante().getProperty("subTotal"))); rec.setDescuento(descuento); rec.setImporte(rec.getSubTotal() - descuento); rec.setReferencia("s/r"); rec.setFechaEntrega(fecha); JPublicContMonedasSetV2 setMon = new JPublicContMonedasSetV2(request); setMon.m_Where = "Clave = '" + idmon + "'"; setMon.Open(); rec.setMoneda(setMon.getAbsRow(0).getMoneda()); rec.setObs("Carga desde Factura Electrnica: " + compfactxml.getTFD().getProperty("UUID")); JProveeProveeMasSetV2 setpro = new JProveeProveeMasSetV2(request); setpro.m_Where = "ID_Tipo = 'PR' and ID_EntidadCompra = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and RFC ~~* '" + p(compfactxml.getRFC_Emisor()) + "'"; setpro.Open(); if (setpro.getNumRows() > 0) { JProveeProveeSetV2 setpro2 = new JProveeProveeSetV2(request); setpro2.m_Where = "ID_Tipo = 'PR' and Clave = '" + setpro.getAbsRow(0).getID_Clave() + "'"; setpro2.Open(); rec.setClave(setpro.getAbsRow(0).getID_Clave()); rec.setNombre(setpro2.getAbsRow(0).getNombre()); rec.setRFC(compfactxml.getRFC_Emisor()); rec.setNumero(setpro2.getAbsRow(0).getNumero()); rec.setColonia(setpro.getAbsRow(0).getColonia()); rec.setCP(setpro.getAbsRow(0).getCP()); rec.setDireccion(setpro.getAbsRow(0).getDireccion()); rec.setPoblacion(setpro.getAbsRow(0).getPoblacion()); rec.setTels(setpro2.getAbsRow(0).getTel()); } } for (int i = 0; i < compfactxml.getConceptos().size(); i++) { Properties concepto = (Properties) compfactxml.getConceptos() .elementAt(i); float cantidad = Float.parseFloat(concepto.getProperty("cantidad")); float precio = Float.parseFloat(concepto.getProperty("valorUnitario")); String unidad = concepto.getProperty("unidad"); String idprod = ""; String descripcion = concepto.getProperty("descripcion"); String obs = concepto.getProperty("descripcion"); String tipo = (!moddes.equals("GASTOS") ? "P" : "G"); float importe = Float.parseFloat(concepto.getProperty("importe")); float ivapor = 0.00F, iepspor = 0.00F, ivaretpor = 0.00F, isrretpor = 0.00F, ivaimp = 0.00F, iepsimp = 0.00F, ivaretimp = 0.00F, isrretimp = 0.00F; float totalPart = importe; // Ahora verifica la existencia del producto en InvServProveeCodigos para la asociacin JInvsServProveeCodigosSet pcod = new JInvsServProveeCodigosSet(request); pcod.m_Where = "ID_RFC = '" + p(rec.getRFC()) + "' and ID_Descripcion = '" + p(concepto.getProperty("descripcion")) + "' and ID_Moneda = '" + rec.getID_Moneda() + "'"; //System.out.println(pcod.m_Where); pcod.Open(); if (pcod.getNumRows() > 0) { JPublicInvServInvCatalogSetV2 cat = new JPublicInvServInvCatalogSetV2( request); if (!moddes.equals("GASTOS")) cat.m_Where = "Clave = '" + p(pcod.getAbsRow(0).getID_Prod()) + "' and ID_Tipo = 'P' and SeProduce = '0' and Status = 'V'"; else cat.m_Where = "Clave = '" + p(pcod.getAbsRow(0).getID_Prod()) + "' and ID_Tipo = 'G' and Status = 'V'"; //System.out.println(cat.getSQL()); cat.Open(); if (cat.getNumRows() > 0) { idprod = cat.getAbsRow(0).getClave(); descripcion = cat.getAbsRow(0).getDescripcion(); tipo = cat.getAbsRow(0).getID_Tipo(); //Aqui inicia los impuestos segun lo establecido en la entidad de compra y el catlogo ivapor = cat.getAbsRow(0).getIVA() ? rec.getIVAPorcentual() : 0.0F; iepspor = cat.getAbsRow(0).getImpIEPS(); ivaretpor = cat.getAbsRow(0).getImpIVARet(); isrretpor = cat.getAbsRow(0).getImpISRRet(); ivaimp = (ivapor != 0.0) ? (((importe - descuento) * ivapor) / 100.0F) : 0.0F; iepsimp = (iepspor != 0.0) ? (((importe - descuento) * iepspor) / 100.0F) : 0.0F; ivaretimp = (ivaretpor != 0.0) ? (((importe - descuento) * ivaretpor) / 100.0F) : 0.0F; isrretimp = (isrretpor != 0.0) ? (((importe - descuento) * isrretpor) / 100.0F) : 0.0F; } } //System.out.println(descripcion + " " + ivapor + " " + ivaimp + " " + totalPart); rec.agregaPartida(cantidad, unidad, idprod, idprod, descripcion, precio, importe, 0.00F, ivapor, iepspor, ivaretpor, isrretpor, 0.00F, ivaimp, iepsimp, ivaretimp, isrretimp, totalPart, obs, tipo); } UUIDs += compfactxml.getTFD().getProperty("UUID"); TotalUUIDs += JUtil.redondear( Float.parseFloat(compfactxml.getComprobante().getProperty("total")), 2); } /////////////////////////////////////////////////////////////////////////////////// else // Significa que debe Enlazar a una compra existente { ////////////////////////////////////////////////////////////////////////////////// UUIDs += compfactxml.getTFD().getProperty("UUID"); TotalUUIDs += JUtil.redondear( Float.parseFloat(compfactxml.getComprobante().getProperty("total")), 2); } /////////////////////////////////////// VP END /////////////////////////////////////////// } } else if (valoresParamCBBEXT != null) { tipoEnlace = "CBBEXT"; for (int u = 0; u < valoresParamCBBEXT.length; u++) { ///////////////////////////// VP INI ///////////////////////////////////////////// JCFDCompOtrSet compotr = new JCFDCompOtrSet(request); compotr.m_Where = "ID_CFD = '" + p(valoresParamCBBEXT[u].substring(7)) + "'"; compotr.Open(); //System.out.println("NUM: " + valoresParamUUID.length + " UUID: " + valoresParamUUID[u]); if (compotr.getNumRows() < 1 || !compotr.getAbsRow(0).getFSI_Tipo().equals("ENT") || compotr.getAbsRow(0).getFSI_ID() != Integer .parseInt(getSesion(request).getSesion(idmod).getEspecial())) { idmensaje = 3; mensaje += "ERROR: No se ha cargado el CBB o Factura extranjera de la compra, esta ya esta ligada a otra compra, o el CBB o Factura extranjera se cargo en otra entidad<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Verifica los tipos de cambio, Si son mas de un CBB o EXT, no deben tener distintos tipos de cambio if (u == 0) { try { TC = compotr.getAbsRow(0).getTC(); } catch (NumberFormatException e) { TC = 1.0F; } try { TCAnt = compotr.getAbsRow(0).getTC(); } catch (NumberFormatException e) { TCAnt = 1.0F; } } else { try { TC = compotr.getAbsRow(0).getTC(); } catch (NumberFormatException e) { TC = 1.0F; } } if (TC != TCAnt) { idmensaje = 3; mensaje = "ERROR: En mltiples enlaces, los tipos de cambio deben coincidir. Los gastos tienen distintos tipos de cambio"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } UUIDs += compotr.getAbsRow(0).getUUID(); TotalUUIDs += JUtil.redondear(compotr.getAbsRow(0).getTotal(), 2); } } if (!EnlazarCompraExistente) { StringBuffer sb_mensaje = new StringBuffer(); rec.setUUID(UUIDs); rec.setTotalUUIDs(TotalUUIDs); idmensaje = rec.establecerConcordancia(request, sb_mensaje); rec.establecerResultados(); if ((rec.getTotal() - rec.getTotalUUIDs()) > 0.1 || (rec.getTotal() - rec.getTotalUUIDs()) < -0.1) { idmensaje = 3; sb_mensaje.append( "ERROR: El total en el, o los CFDIs no corresponden al Total calculado en el registro a partir de estos registros. No se puede agregar. DOC: " + rec.getTotal() + " XML, CBB o EXT: " + rec.getTotalUUIDs()); } getSesion(request).setID_Mensaje(idmensaje, sb_mensaje.toString()); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 SetMod = new JComprasRecepSetV2(request); SetMod.m_Where = "ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta recepcion ya esta cancelada, no se puede enlazar el CFDI, CBB o EXT<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Esta recepcion ya tiene una compra asociada, no se puede enlazar el CFDI, CBB o EXT. Debes enlazarlo a la compra<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0 || SetMod.getAbsRow(0).getTFD() > 1) { idmensaje = 1; mensaje += "PRECAUCION: Este documento ya tiene CFDIs, CBBs o EXTs asociados. No puedes asociar al mismo documento<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 1) != JUtil .redondear(TotalUUIDs, 1)) { idmensaje = 3; mensaje = "ERROR: El total en el, o los CFDIs, CBBs o EXTs no corresponden al Total del registro. No se puede enlazar. DOC: " + JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 2) + " XML: " + JUtil.redondear(TotalUUIDs, 2); getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_Proveedor() != 0 && tipoEnlace != "CBBEXT") { JProveeProveeMasSetV2 setpro = new JProveeProveeMasSetV2(request); setpro.m_Where = "ID_Tipo = 'PR' and ID_EntidadCompra = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and ID_Clave = '" + SetMod.getAbsRow(0).getID_Proveedor() + "'"; setpro.Open(); if (!setpro.getAbsRow(0).getRFC().equalsIgnoreCase(RFC_Emisor)) { idmensaje = 3; mensaje = "ERROR: El RFC del proveedor no corresponde al RFC del emisor en el CFDI. No se puede enlazar. DOC: " + setpro.getAbsRow(0).getRFC() + " XML: " + RFC_Emisor; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } else if (moddes.equals("FACTURAS")) { JComprasFactSet SetMod = new JComprasFactSet(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta compra ya esta cancelada, no se puede enlazar el CFDI, CBB o EXT<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0 || SetMod.getAbsRow(0).getTFD() > 1) { idmensaje = 1; mensaje += "PRECAUCION: Este documento ya tiene CFDIs, CBBs o EXTs asociados. No puedes asociar al mismo documento<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 1) != JUtil .redondear(TotalUUIDs, 1)) { idmensaje = 3; mensaje = "ERROR: El total en el, o los CFDIs, CBBs o EXTs no corresponden al Total del registro. No se puede enlazar. DOC: " + JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 2) + " CE: " + JUtil.redondear(TotalUUIDs, 2); getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_Proveedor() != 0 && tipoEnlace != "CBBEXT") { JProveeProveeMasSetV2 setpro = new JProveeProveeMasSetV2(request); setpro.m_Where = "ID_Tipo = 'PR' and ID_EntidadCompra = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and ID_Clave = '" + SetMod.getAbsRow(0).getID_Proveedor() + "'"; setpro.Open(); if (!setpro.getAbsRow(0).getRFC().equalsIgnoreCase(RFC_Emisor)) { idmensaje = 3; mensaje = "ERROR: El RFC del proveedor no corresponde al RFC del emisor en el CFDI. No se puede enlazar. DOC: " + setpro.getAbsRow(0).getRFC() + " CE: " + RFC_Emisor; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } else if (moddes.equals("GASTOS")) { JComprasGastosSet SetMod = new JComprasGastosSet(request); SetMod.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este gasto ya esta cancelado, no se puede enlazar el CFDI, CBB o EXT<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0 || SetMod.getAbsRow(0).getTFD() > 1) { idmensaje = 1; mensaje += "PRECAUCION: Este documento ya tiene CFDIs, CBBs o EXTs asociados. No puedes asociar al mismo documento<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 1) != JUtil .redondear(TotalUUIDs, 1)) { idmensaje = 3; mensaje = "ERROR: El total en el, o los CFDIs, CBBs o EXTs no corresponden al Total del registro. No se puede enlazar. DOC: " + JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 2) + " CE: " + JUtil.redondear(TotalUUIDs, 2); getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (JUtil.redondear(SetMod.getAbsRow(0).getTC(), 1) != JUtil .redondear(TCAnt, 1)) { idmensaje = 3; mensaje = "ERROR: El tipo de cambio del documento no coincide con el o los CFDI, CBB o Facturas extranjeras cargadas. No se puede enlazar. DOC: " + JUtil.redondear(SetMod.getAbsRow(0).getTC(), 2) + " CE: " + JUtil.redondear(TCAnt, 2); getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (moddes.equals("DEVOLUCIONES")) { JComprasDevolucionesSet SetMod = new JComprasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolucion ya esta cancelada, no se puede enlazar el CFDI, CBB o EXT<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0 || SetMod.getAbsRow(0).getTFD() > 1) { idmensaje = 1; mensaje += "PRECAUCION: Este documento ya tiene CFDIs, CBBs o EXTs asociados. No puedes asociar al mismo documento<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 1) != JUtil .redondear(TotalUUIDs, 1)) { idmensaje = 3; mensaje = "ERROR: El total en el, o los CFDIs, CBBs o EXTs no corresponden al Total del registro. No se puede enlazar. DOC: " + JUtil.redondear(SetMod.getAbsRow(0).getTotal(), 2) + " CE: " + JUtil.redondear(TotalUUIDs, 2); getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_Proveedor() != 0 && tipoEnlace != "CBBEXT") { JProveeProveeMasSetV2 setpro = new JProveeProveeMasSetV2(request); setpro.m_Where = "ID_Tipo = 'PR' and ID_EntidadCompra = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and ID_Clave = '" + SetMod.getAbsRow(0).getID_Proveedor() + "'"; setpro.Open(); if (!setpro.getAbsRow(0).getRFC().equalsIgnoreCase(RFC_Emisor)) { idmensaje = 3; mensaje = "ERROR: El RFC del proveedor no corresponde al RFC del emisor en el CFDI. No se puede enlazar. DOC: " + setpro.getAbsRow(0).getRFC() + " XML: " + RFC_Emisor; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } else // sale si no es recepcion, factura gasto o devolucion return; // Aqui asocia. Enlazar(request, response, moddes, idmod, idmod4, UUIDs, tipoEnlace); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } else if (request.getParameter("subproceso").equals("AGR_PART")) { if (!moddes.equals("DEVOLUCIONES")) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } else { idmensaje = 1; mensaje += "No se permite agregar partidas en devoluciones"; getSesion(request).setID_Mensaje(idmensaje, mensaje); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("ACTUALIZAR") || request.getParameter("subproceso").equals("AGR_PROVEE")) { AgregarRecursos(request, response); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarRecursos(request, response) == -1) { HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); //rec.setReferencia(p(request.getParameter("referencia"))); if (moddes.equals("FACTURAS") || moddes.equals("GASTOS")) { if (request.getParameter("forma_pago").equals("contado")) { request.setAttribute("fsipg_tipo", "compras"); request.setAttribute("fsipg_proc", "retiro"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_ident", getSesion(request).getSesion(idmod).getEspecial()); if (VerificarParametros(request, response) && VerificarPagoMult(request, response)) { Agregar(request, response, moddes, setids, idmod, idmod4); return; } } else { if (VerificarParametros(request, response)) { request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } } else if (moddes.equals("RECEPCIONES")) { if (VerificarParametros(request, response)) { request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } else // sale si es devolucion u orden... Las devoluciones no se pueden enlazar desde cero, solo enlaces a devoluciones creadas previamente return; } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } } } else // Sale si no es FACTURA, DEVOLUCION O RECEPCION return; } else if (request.getParameter("proceso").equals("AGREGAR_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_AGREGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); if (rec == null) { rec = new JCompFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("comp_fact_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabecero(request, response) == -1) { if (moddes.equals("FACTURAS") || moddes.equals("GASTOS")) { if (request.getParameter("forma_pago").equals("contado")) { HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); request.setAttribute("fsipg_tipo", "compras"); request.setAttribute("fsipg_proc", "retiro"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_ident", getSesion(request).getSesion(idmod).getEspecial()); if (VerificarParametros(request, response) && VerificarPagoMult(request, response)) { Agregar(request, response, moddes, setids, idmod, idmod4); return; } } else { if (VerificarParametros(request, response)) { // establece los atributos por default para compras de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } } else { if (VerificarParametros(request, response)) { // establece los atributos por default para compras de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_PROVEE")) { AgregarCabecero(request, response); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabecero(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("DATOS_IMPORTACION")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("COMP_FAC_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "COMP_FAC_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "COMP_FAC_AGREGAR", "CFAC||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("FACTURAS")) { JComprasFactSet SetMod = new JComprasFactSet(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta compra ya esta cancelada, no se puede gestionar informacin de importacin<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JProveeProveeMasSetV2 pro = new JProveeProveeMasSetV2(request); pro.m_Where = "ID_Clave = '" + SetMod.getAbsRow(0).getID_Proveedor() + "'"; pro.Open(); if (SetMod.getAbsRow(0).getID_Proveedor() == 0 || SetMod.getAbsRow(0).getMoneda() == 1 || pro.getAbsRow(0).getPais().equals("MEX") || pro.getAbsRow(0).getPedimento().equals("--")) { idmensaje = 1; mensaje += "PRECAUCION: Este proveedor es nacional, o es un proveedor extranjero con el cual no manejamos importaciones definitivas, o en su defecto, la compra no fue realizada en moneda extranjera. No se puede gestionar informacin de importacin<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JComercioExteriorCabSet ext = new JComercioExteriorCabSet(request, "COMPRA"); ext.m_Where = "ID_VC = '" + p(request.getParameter("ID")) + "'"; ext.Open(); } else // sale si no es factura return; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg_datimp.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (VerificarParametrosDatosImportacion(request, response)) { DatosImportacion(request, response); return; } irApag("/forsetiweb/compras/comp_fact_dlg_datimp.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("CARGAR_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_CARGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_CARGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_CARGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setids.getAbsRow(0).getFija()) { idmensaje = 3; mensaje += "ERROR: No se puede subir ningun CFDI porque esta entidad de compra o gasto est establecida como Fija<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Integer subir_archivos = new Integer(2); request.setAttribute("subir_archivos", subir_archivos); HttpSession ses = request.getSession(true); JFacturasXML rec = (JFacturasXML) ses.getAttribute("comp_fact_xml"); if (rec == null) { rec = new JFacturasXML(); ses.setAttribute("comp_fact_xml", rec); } else { rec = null; rec = new JFacturasXML(); ses.setAttribute("comp_fact_xml", rec); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/subir_archivos.jsp?verif=/servlet/CEFCompFactDlg&archivo_1=xml&archivo_2=pdf&proceso=CARGAR_COMPRA&subproceso=ENVIAR&moddes=" + moddes + "&idmod=" + idmod + "&idmod4=" + idmod4, request, response); return; } else if (request.getParameter("proceso").equals("CARGAR_OTROS")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_CARGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_CARGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_CARGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setids.getAbsRow(0).getFija()) { idmensaje = 3; mensaje += "ERROR: No se puede subir ningun otro Documento porque esta entidad de compra o gasto est establecida como Fija<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Integer subir_archivos = new Integer(1); request.setAttribute("subir_otros", subir_archivos); HttpSession ses = request.getSession(true); JFacturasXML rec = (JFacturasXML) ses.getAttribute("comp_fact_xml"); if (rec == null) { rec = new JFacturasXML(); ses.setAttribute("comp_fact_xml", rec); } else { rec = null; rec = new JFacturasXML(); ses.setAttribute("comp_fact_xml", rec); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/subir_otros.jsp?verif=/servlet/CEFCompFactDlg&proceso=CARGAR_OTROS&subproceso=ENVIAR&moddes=" + moddes + "&idmod=" + idmod + "&idmod4=" + idmod4, request, response); return; } else if (request.getParameter("proceso").equals("XML_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("FACTURAS")) { JComprasFactSet SetMod = new JComprasFactSet(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta compra no tiene un enlace a un CFDI, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; String destino = "FAC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La compra factura se bajo satisfactoriamente"; return; } else if (moddes.equals("GASTOS")) { JComprasGastosSet SetMod = new JComprasGastosSet(request); SetMod.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este gasto no tiene un enlace a un CFDI, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0) // Solo tiene un CFDI asociado { JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; String destino = "GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); } else // Tiene varios CFDI asociados { JCompGastosCFDSet uuids = new JCompGastosCFDSet(request); uuids.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; uuids.Open(); String nombres[] = new String[uuids.getNumRows()]; String destinos[] = new String[uuids.getNumRows()]; for (int i = 0; i < uuids.getNumRows(); i++) { JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + uuids.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); nombres[i] = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; destinos[i] = "GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + "-" + (i + 1) + ".xml"; } JBajarArchivo fd = new JBajarArchivo(); fd.doDownloadMultipleFilesInZip(response, getServletConfig().getServletContext(), ("GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + "-XMLs.zip"), nombres, destinos); } idmensaje = 0; mensaje = "La compra gasto se bajo satisfactoriamente"; return; } /*else if(moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 SetMod = new JComprasRecepSetV2(request); SetMod.m_Where = "ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if(SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisin no esta completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request,"COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; String destino = "REC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La recepcin se bajo satisfactoriamente"; return; }*/ else if (moddes.equals("DEVOLUCIONES")) { JComprasDevolucionesSet SetMod = new JComprasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolucin no tiene un enlace a un CFDI, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; String destino = "DSC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La devolucion se bajo satisfactoriamente"; return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("PDF_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("FACTURAS")) { JComprasFactSet SetMod = new JComprasFactSet(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() < 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta compra no tiene una asociacin de CFDI, CBB o EXT, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getTFD() == 3) //es factura electronica CFDI { JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; String destino = "FAC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); } else if (SetMod.getAbsRow(0).getTFD() == 4 || SetMod.getAbsRow(0).getTFD() == 5) //es CBB o EXT { JCFDCompOtrSet cfd = new JCFDCompOtrSet(request); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/OTRs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; String destino = "FAC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); } idmensaje = 0; mensaje = "La compra gasto se bajo satisfactoriamente"; return; } else if (moddes.equals("GASTOS")) { JComprasGastosSet SetMod = new JComprasGastosSet(request); SetMod.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() < 3 || SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este gasto no tiene ninguna asociacin de CFDIs, CBBs o EXTs, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getTFD() == 3) { if (SetMod.getAbsRow(0).getID_CFD() != 0) // Solo tiene un CFDI asociado { JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; String destino = "GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); } else // Tiene varios CFDI asociados { JCompGastosCFDSet uuids = new JCompGastosCFDSet(request); uuids.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; uuids.Open(); String nombres[] = new String[uuids.getNumRows()]; String destinos[] = new String[uuids.getNumRows()]; for (int i = 0; i < uuids.getNumRows(); i++) { JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + uuids.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); nombres[i] = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; destinos[i] = "GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + "-" + (i + 1) + ".pdf"; } JBajarArchivo fd = new JBajarArchivo(); fd.doDownloadMultipleFilesInZip(response, getServletConfig().getServletContext(), ("GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + "-PDFs.zip"), nombres, destinos); } } else if (SetMod.getAbsRow(0).getTFD() == 4 || SetMod.getAbsRow(0).getTFD() == 5 || SetMod.getAbsRow(0).getTFD() == 6) { if (SetMod.getAbsRow(0).getID_CFD() != 0) // Solo tiene un CBB o EXT asociado { JCFDCompOtrSet cfd = new JCFDCompOtrSet(request); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/OTRs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; String destino = "GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); } else // Tiene varios CBB o Ext ASociados { JCompGastosCFDSet uuids = new JCompGastosCFDSet(request); uuids.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; uuids.Open(); String nombres[] = new String[uuids.getNumRows()]; String destinos[] = new String[uuids.getNumRows()]; for (int i = 0; i < uuids.getNumRows(); i++) { JCFDCompOtrSet cfd = new JCFDCompOtrSet(request); cfd.m_Where = "ID_CFD = '" + uuids.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); nombres[i] = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/OTRs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; destinos[i] = "GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + "-" + (i + 1) + ".pdf"; } JBajarArchivo fd = new JBajarArchivo(); fd.doDownloadMultipleFilesInZip(response, getServletConfig().getServletContext(), ("GAS-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + "-PDFs.zip"), nombres, destinos); } } idmensaje = 0; mensaje = "La compra gasto se bajo satisfactoriamente"; return; } else if (moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 SetMod = new JComprasRecepSetV2(request); SetMod.m_Where = "ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión no está completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; String destino = "REC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La remisión se bajo satisfactoriamente"; return; } else if (moddes.equals("DEVOLUCIONES")) { JComprasDevolucionesSet SetMod = new JComprasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolucion no está completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/comp/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; String destino = "DSC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La devolucion se bajo satisfactoriamente"; return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAMBIAR_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_CAMBIAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya esta cancelado, no se puede cambiar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya tiene una factura asociada, no se puede cambiar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es orden return; HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); if (rec == null) { rec = new JCompFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("comp_fact_dlg", rec); } else { rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); } // Llena el pedido o cotizacion if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); // checa si se permite la rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } JComprasFactSetCab SetCab = new JComprasFactSetCab(request, request.getParameter("tipomov")); JComprasFactSetDet SetDet = new JComprasFactSetDet(request, request.getParameter("tipomov")); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametros(request, response)) { // establece los atributos por default para compras de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Cambiar(request, response, moddes, idmod, idmod4); return; } } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_CLIENT")) { AgregarCabecero(request, response); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabecero(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("CONSULTAR_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); if (rec == null) { rec = new JCompFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("comp_fact_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); // Llena la factura if (moddes.equals("FACTURAS")) { JComprasFactSet SetMod = new JComprasFactSet(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } else if (moddes.equals("GASTOS")) { JComprasGastosSet SetMod = new JComprasGastosSet(request); SetMod.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } else if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } else if (moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 SetMod = new JComprasRecepSetV2(request); SetMod.m_Where = "ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } else if (moddes.equals("DEVOLUCIONES")) { JComprasDevolucionesSet SetMod = new JComprasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } JComprasFactSetCab SetCab = new JComprasFactSetCab(request, moddes); JComprasFactSetDet SetDet = new JComprasFactSetDet(request, moddes); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } RDP("CEF", getSesion(request).getConBD(), "OK", getSesion(request).getID_Usuario(), idmod, idmod4 + "|" + request.getParameter("ID") + "|" + getSesion(request).getSesion(idmod).getEspecial() + "||", ""); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CANCELAR_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_CANCELAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_CANCELAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_CANCELAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta orden ya est cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetMod.getAbsRow(0).getStatus().equals("F")) { idmensaje = 1; mensaje += "PRECAUCION: Esta orden ya tiene una factura o recepcin asociada, no se puede cancelar. Primero debes cancelar la factura o recepcin para poder cancelar la orden de compra <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "ORDENES", idmod, idmod4); return; } } else if (moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 SetMod = new JComprasRecepSetV2(request); SetMod.m_Where = "ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta recepcin ya esta cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetMod.getAbsRow(0).getID_Factura() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta recepcin ya tiene una factura asociada. No se puede cancelar, primero cancela la factura para poder cancelar la recepcin <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (!setids.getAbsRow(0).getFijaCost() && setids.getAbsRow(0).getAuditarAlm() && !SetMod.getAbsRow(0).getStatus().equals("R")) { idmensaje = 1; mensaje += "PRECAUCION: Esta recepcin necesita estar revertida desde el módulo del almacén para poder cancelarla <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "RECEPCIONES", idmod, idmod4); return; } } if (moddes.equals("FACTURAS")) { JComprasFactSet SetMod = new JComprasFactSet(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); JComprasRecepSetV2 SetRec = new JComprasRecepSetV2(request); SetRec.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetRec.Open(); JComprasDevolucionesSet SetDev = new JComprasDevolucionesSet(request); SetDev.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDev.Open(); if (SetDev.getNumRows() > 0) { for (int i = 0; i < SetDev.getNumRows(); i++) { if (!SetDev.getAbsRow(i).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura tiene devoluciones asociadas sin cancelar. Primero debes cancelar las devoluciones asociadas para poder cancelar la factura <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura ya est cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetRec.getNumRows() == 0 && SetMod.getAbsRow(0).getID_PolCost() != -1 && !setids.getAbsRow(0).getFijaCost() && setids.getAbsRow(0).getAuditarAlm() && !SetMod.getAbsRow(0).getStatus().equals("R")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura necesita estar revertida desde el mdulo del almacn para poder cancelarla <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "FACTURAS", idmod, idmod4); return; } } else if (moddes.equals("DEVOLUCIONES")) { JComprasDevolucionesSet SetMod = new JComprasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolución ya está cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetMod.getAbsRow(0).getDevReb().equals("DEV") && !setids.getAbsRow(0).getFijaCost() && setids.getAbsRow(0).getAuditarAlm() && !SetMod.getAbsRow(0).getStatus().equals("R")) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolución necesita estar revertida desde el mdulo del almacn para poder cancelarla <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "DEVOLUCIONES", idmod, idmod4); return; } } else if (moddes.equals("GASTOS")) { JComprasGastosSet SetMod = new JComprasGastosSet(request); SetMod.m_Where = "ID_Gasto = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura ya est cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "GASTOS", idmod, idmod4); return; } } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("FACTURAR_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("COMP_FAC_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "COMP_FAC_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "COMP_FAC_AGREGAR", "CFAC||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR, abre la ventana del proceso de FACTURADO por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya esta cancelado, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya tiene una remisión o factura asociada, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 SetMod = new JComprasRecepSetV2(request); SetMod.m_Where = "ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión ya esta cancelada, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("R") || SetMod.getAbsRow(0).getFactura() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión ya tiene una factura asociada o está revertida, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es orden o recepcion return; HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); if (rec == null) { rec = new JCompFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "FACTURAS"); ses.setAttribute("comp_fact_dlg", rec); } else { rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "FACTURAS"); } // Llena la factura if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } else if (moddes.equals("RECEPCIONES")) { JComprasRecepSetV2 SetMod = new JComprasRecepSetV2(request); SetMod.m_Where = "ID_Recepcion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); if (SetMod.getAbsRow(0).getID_CFD() != 0) { JCFDCompSet cfd = new JCFDCompSet(request, "COMPRAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); rec.setUUID(cfd.getAbsRow(0).getUUID()); } } JComprasFactSetCab SetCab = new JComprasFactSetCab(request, request.getParameter("tipomov")); JComprasFactSetDet SetDet = new JComprasFactSetDet(request, request.getParameter("tipomov")); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg_generar.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (moddes.equals("ORDENES") || moddes.equals("RECEPCIONES")) { if (request.getParameter("fecha") == null || request.getParameter("referencia") == null || request.getParameter("fecha").equals("")) { idmensaje = 1; mensaje += "PRECAUCION: Se debe enviar la fecha y referencia de la factura <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg_generar.jsp", request, response); return; } else if (request.getParameter("forma_pago").equals("contado")) { HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); request.setAttribute("fsipg_tipo", "compras"); request.setAttribute("fsipg_proc", "retiro"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_ident", getSesion(request).getSesion(idmod).getEspecial()); if (VerificarParametros(request, response) && VerificarPagoMult(request, response)) { AgregarDesde(request, response, "CFAC", "COMP_FAC", request.getParameter("ID"), idmod4, idmod, setids); return; } irApag("/forsetiweb/compras/comp_fact_dlg_generar.jsp", request, response); return; } else { if (VerificarParametros(request, response)) { // establece los atributos por default para compras de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); AgregarDesde(request, response, "CFAC", "COMP_FACT", request.getParameter("ID"), idmod4, idmod, setids); return; } irApag("/forsetiweb/compras/comp_fact_dlg_generar.jsp", request, response); return; } } } } } else if (request.getParameter("proceso").equals("RECIBIR_COMPRA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("COMP_REC_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "COMP_REC_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "COMP_REC_AGREGAR", "CREC||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR, abre la ventana del proceso de FACTURADO por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya esta cancelado, no se puede remisionar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya tiene una factura o remisión asociada, no se puede a remisionar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es orden return; HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompFactSes) ses.getAttribute("comp_fact_dlg"); if (rec == null) { rec = new JCompFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "RECEPCIONES"); ses.setAttribute("comp_fact_dlg", rec); } else { rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "RECEPCIONES"); } // Llena la factura if (moddes.equals("ORDENES")) { JComprasOrdenesSet SetMod = new JComprasOrdenesSet(request); SetMod.m_Where = "ID_Orden = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); } JComprasFactSetCab SetCab = new JComprasFactSetCab(request, request.getParameter("tipomov")); JComprasFactSetDet SetDet = new JComprasFactSetDet(request, request.getParameter("tipomov")); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg_generar.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (moddes.equals("ORDENES")) { if (request.getParameter("fecha") == null || request.getParameter("referencia") == null || request.getParameter("fecha").equals("")) { idmensaje = 1; mensaje += "PRECAUCION: Se debe enviar la fecha y referencia de la remisión <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg_generar.jsp", request, response); return; } else { if (VerificarParametros(request, response)) { AgregarDesde(request, response, "CREC", "COMP_REC", request.getParameter("ID"), idmod4, idmod, setids); return; } irApag("/forsetiweb/compras/comp_fact_dlg_generar.jsp", request, response); return; } } } } } else if (request.getParameter("proceso").equals("IMPRIMIR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("IMPRESION")) { StringBuffer bsmensaje = new StringBuffer(254); String SQLCab = "select * from "; String SQLDet = "select * from "; if (moddes.equals("FACTURAS")) { SQLCab += "view_compras_facturas_impcab where ID_Factura = "; SQLDet += "view_compras_facturas_impdet where ID_Factura = "; } else if (moddes.equals("ORDENES")) { SQLCab += "view_compras_ordenes_impcab where ID_Orden = "; SQLDet += "view_compras_ordenes_impdet where ID_Orden = "; } else if (moddes.equals("RECEPCIONES")) { SQLCab += "view_compras_recepciones_impcab where ID_Recepcion = "; SQLDet += "view_compras_recepciones_impdet where ID_Recepcion = "; } else if (moddes.equals("GASTOS")) { SQLCab += "view_compras_gastos_impcab where ID_Gasto = "; SQLDet += "view_compras_gastos_impdet where ID_Gasto = "; } else // DEVOLUCIONES { SQLCab += "view_compras_devoluciones_impcab where ID_Devolucion = "; SQLDet += "view_compras_devoluciones_impdet where ID_Devolucion = "; } SQLCab += request.getParameter("ID"); SQLDet += request.getParameter("ID"); idmensaje = Imprimir(SQLCab, SQLDet, request.getParameter("idformato"), bsmensaje, request, response); if (idmensaje != -1) { getSesion(request).setID_Mensaje(idmensaje, bsmensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // significa que debe llamar a la ventana de formatos de impresion { if (moddes.equals("FACTURAS")) { request.setAttribute("impresion", "CEFCompFactDlg"); request.setAttribute("tipo_imp", "COMP_FAC"); request.setAttribute("formato_default", setids.getAbsRow(0).getFormato()); } else if (moddes.equals("ORDENES")) { request.setAttribute("impresion", "CEFCompFactDlg"); request.setAttribute("tipo_imp", "COMP_ORD"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Orden()); } else if (moddes.equals("RECEPCIONES")) { request.setAttribute("impresion", "CEFCompFactDlg"); request.setAttribute("tipo_imp", "COMP_REC"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Recepcion()); } else if (moddes.equals("GASTOS")) { request.setAttribute("impresion", "CEFCompFactDlg"); request.setAttribute("tipo_imp", "COMP_GAS"); } else // DEVOLUCIONES { request.setAttribute("impresion", "CEFCompFactDlg"); request.setAttribute("tipo_imp", "COMP_DEV"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Devolucion()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/impresion_dlg.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("DEVOLVER_COMPRA") || request.getParameter("proceso").equals("REBAJAR_COMPRA")) { // Revisa si tiene permisos if (request.getParameter("proceso").equals("DEVOLVER_COMPRA") && !getSesion(request).getPermiso("COMP_DEV_DEVOLVER")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "COMP_DEV_DEVOLVER"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "COMP_DEV_DEVOLVER", "CDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("proceso").equals("REBAJAR_COMPRA") && !getSesion(request).getPermiso("COMP_DEV_REBAJAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "COMP_DEV_REBAJAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "COMP_DEV_REBAJAR", "CDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { JComprasFactSet SetMod = new JComprasFactSet(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura ya esta cancelada, no se puede generar la devolucin <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("proceso").equals("DEVOLVER_COMPRA")) { if (SetMod.getAbsRow(0).getID_PolCost() == -1 || (!SetMod.getAbsRow(0).getStatus().equals("E") && setids.getAbsRow(0).getAuditarAlm())) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura debe estar guardada, revertida, o ser factura sin movimiento al almacn. Solo se pueden devolver las facturas emitidas con movimientos al almacn <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // Rebajar venta { if (SetMod.getAbsRow(0).getID_PolCost() != -1 && !SetMod.getAbsRow(0).getStatus().equals("E") && setids.getAbsRow(0).getAuditarAlm()) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura debe estar guardada o revertida. Solo se pueden rebajar las facturas emitidas <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompDevSes) ses.getAttribute("comp_dev_dlg"); if (rec == null) { rec = new JCompDevSes(request, getSesion(request).getSesion("COMP_FAC").getEspecial(), usuario, "DEVOLUCIONES"); ses.setAttribute("comp_dev_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion("COMP_FAC").getEspecial(), usuario, "DEVOLUCIONES"); rec.setClave((int) SetMod.getAbsRow(0).getID_Proveedor()); rec.setNombre(SetMod.getAbsRow(0).getProveedor()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setID_Factura(SetMod.getAbsRow(0).getID_Factura()); if (request.getParameter("proceso").equals("DEVOLVER_COMPRA")) rec.setDevReb("DEV"); else rec.setDevReb("REB"); JComprasFactSetCab SetCab = new JComprasFactSetCab(request, "FACTURAS"); JComprasFactSetDet SetDet = new JComprasFactSetDet(request, "FACTURAS"/*"AGR_DEVOL"*/); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabeceroDev(request, response) == -1) { HttpSession ses = request.getSession(true); JCompFactSes rec = (JCompDevSes) ses.getAttribute("comp_dev_dlg"); if (rec.getForma_Pago().equals("contado")) { request.setAttribute("fsipg_tipo", "compras"); request.setAttribute("fsipg_proc", "deposito"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_ident", getSesion(request).getSesion("COMP_FAC").getEspecial()); request.setAttribute("fsipg_id_concepto", 0); request.setAttribute("fsipg_desc_concepto", ""); if (VerificarParametrosDev(request, response) && VerificarPagoMult(request, response)) { AgregarDev(request, response, setids); return; } } else if (rec.getForma_Pago().equals("credito")) { request.setAttribute("fsipg_tipo", "compras"); if (VerificarParametrosDev(request, response) && VerificarSaldo(request, response)) { AgregarDev(request, response, setids); return; } } else //if(rec.getForma_Pago().equals("ninguno")) { request.setAttribute("fsipg_tipo", "compras"); if (VerificarParametrosDev(request, response)) { AgregarDev(request, response, setids); return; } } } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabeceroDev(request, response) == -1) { if (VerificarParametrosPartidaDev(request, response)) EditarPartidaDev(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabeceroDev(request, response) == -1) { BorrarPartidaDev(request, response); } irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } idmensaje = 1; mensaje += "PRECAUCION: No se pueden agregar partidas a una devolucion o rebaja. Intenta editar o borrar lo que no desees devolver o rebajar"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/compras/comp_fact_dlg.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("RASTREAR_MOVIMIENTO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_CONSULTAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_CONSULTAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_CONSULTAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { JRastreo rastreo = new JRastreo(request, getSesion(request).getSesion(idmod) .generarTitulo(JUtil.Msj("CEF", idmod, "VISTA", "CONSULTAR_COMPRA", 3)), idmod4, request.getParameter("ID")); String rastreo_imp = "true"; request.setAttribute("rastreo_imp", rastreo_imp); // Ahora pone los atributos para el jsp request.setAttribute("rastreo", rastreo); RDP("CEF", getSesion(request).getConBD(), "OK", getSesion(request).getID_Usuario(), idmod + "_CONSULTAR", idmod4 + "|" + request.getParameter("ID") + "|" + getSesion(request).getSesion(idmod).getEspecial() + "||", ""); irApag("/forsetiweb/rastreo_imp.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //" ERROR: Se debe enviar el identificador de la pliza que se quiere consultar<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // si no se mandan parametros, manda a error { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } }
From source file:forseti.ventas.JVenFactDlg.java
@SuppressWarnings({ "unchecked", "rawtypes" }) public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doPost(request, response); String ven_fact_dlg = ""; request.setAttribute("ven_fact_dlg", ven_fact_dlg); String mensaje = ""; short idmensaje = -1; String usuario = getSesion(request).getID_Usuario(); if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) { if (!getSesion(request).getRegistrado()) { irApag("/forsetiweb/errorAtributos.jsp", request, response); return; } else {/* w w w. j a v a 2 s. co m*/ try { HttpSession ses = request.getSession(true); JFacturasXML venfactxml = (JFacturasXML) ses.getAttribute("ven_fact_xml"); Vector archivos = new Vector(); DiskFileUpload fu = new DiskFileUpload(); List items = fu.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) venfactxml.getParametros().put(item.getFieldName(), item.getString()); else archivos.addElement(item); } // revisa por las entidades JVentasEntidadesSetIdsV2 setids; String idmod = venfactxml.getParametros().getProperty("idmod"), idmod4 = venfactxml.getParametros().getProperty("idmod4"), moddes = venfactxml.getParametros().getProperty("moddes"); request.setAttribute("idmod", idmod); request.setAttribute("moddes", moddes); setids = new JVentasEntidadesSetIdsV2(request, usuario, getSesion(request).getSesion(idmod).getEspecial()); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (!idmod.equals("VEN_DEV")) // Si no es devolucion { if (!getSesion(request).getPermiso(idmod + "_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_AGREGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { if (!getSesion(request).getPermiso("VEN_DEV_DEVOLVER") && !getSesion(request).getPermiso("VEN_DEV_REBAJAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_DEV_DEVOLVER") + " / " + MsjPermisoDenegado(request, "CEF", "VEN_DEV_REBAJAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_DEV_DEVOLVER", "VDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } SubirArchivosCFD(request, response, venfactxml, archivos); return; } catch (FileUploadException e) { e.printStackTrace(); return; } catch (Exception e) { e.printStackTrace(); return; } } } if (request.getParameter("proceso") != null && !request.getParameter("proceso").equals("")) { // revisa por las entidades JVentasEntidadesSetIdsV2 setids; String idmod, idmod4, moddes; if (request.getParameter("tipomov").equals("FACTURAS")) { idmod = "VEN_FAC"; idmod4 = "VFAC"; moddes = "FACTURAS"; } else if (request.getParameter("tipomov").equals("PEDIDOS")) { idmod = "VEN_PED"; idmod4 = "VPED"; moddes = "PEDIDOS"; } else if (request.getParameter("tipomov").equals("REMISIONES")) { idmod = "VEN_REM"; idmod4 = "VREM"; moddes = "REMISIONES"; } else if (request.getParameter("tipomov").equals("COTIZACIONES")) { idmod = "VEN_COT"; idmod4 = "VCOT"; moddes = "COTIZACIONES"; } else { idmod = "VEN_DEV"; idmod4 = "VDEV"; moddes = "DEVOLUCIONES"; } request.setAttribute("idmod", idmod); request.setAttribute("moddes", moddes); request.setAttribute("fact_xml", "VENTAS"); setids = new JVentasEntidadesSetIdsV2(request, usuario, getSesion(request).getSesion(idmod).getEspecial()); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Revisa por intento de intrusion (Salto de permiso de entidad) if (!request.getParameter("proceso").equals("AGREGAR_VENTA") && request.getParameter("ID") != null) { boolean intrusion = false; if (moddes.equals("FACTURAS")) { JVentasFactSetV2 set = new JVentasFactSetV2(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Factura = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet set = new JVentasRemisionesSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Remision = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else if (moddes.equals("PEDIDOS")) { JVentasPedidosSet set = new JVentasPedidosSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Pedido = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet set = new JVentasCotizacionesSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } else { JVentasDevolucionesSet set = new JVentasDevolucionesSet(request); set.m_Where = "ID_Entidad = '" + setids.getAbsRow(0).getID_Entidad() + "' and ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; set.Open(); if (set.getNumRows() < 1) intrusion = true; } if (intrusion) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "AL", getSesion(request).getID_Usuario(), idmod, idmod4 + "|" + request.getParameter("ID") + "|" + setids.getAbsRow(0).getID_Entidad() + "||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } if (request.getParameter("proceso").equals("ENLAZAR_VENTA")) { if (moddes.equals("FACTURAS") || moddes.equals("REMISIONES") || moddes.equals("DEVOLUCIONES")) { // Revisa si tiene permisos if (!idmod.equals("VEN_DEV")) // Si no es devolucion { if (!getSesion(request).getPermiso(idmod + "_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_AGREGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { if (!getSesion(request).getPermiso("VEN_DEV_DEVOLVER") && !getSesion(request).getPermiso("VEN_DEV_REBAJAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_DEV_DEVOLVER") + " / " + MsjPermisoDenegado(request, "CEF", "VEN_DEV_REBAJAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_DEV_DEVOLVER", "VDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } if (setids.getAbsRow(0).getCFD() || setids.getAbsRow(0).getFija()) { idmensaje = 3; mensaje += "ERROR: No se puede enlazar ningun CFDI porque esta entidad de venta est establecida como Fija o genera sus propios CFDIs<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni ENLAZAR, { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/fact_dlg_xmls.jsp", request, response); return; } else { if (request.getParameter("subproceso").equals("ENLAZAR")) { // Se supone que la compra aun no estar ligada a una compra existente... HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (rec == null) { rec = new JVenFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("ven_fact_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); JCFDCompSet comprobante = new JCFDCompSet(request, "VENTAS"); comprobante.m_Where = "UUID = '" + p(request.getParameter("uuid")) + "'"; comprobante.Open(); if (comprobante.getNumRows() < 1 || !comprobante.getAbsRow(0).getFSI_Tipo().equals("ENT") || comprobante.getAbsRow(0).getFSI_ID() != Integer .parseInt(getSesion(request).getSesion(idmod).getEspecial())) { idmensaje = 3; mensaje += "ERROR: No se ha cargado el CFDI de la venta, este ya esta ligado a otra venta, o el CFDI se carg en otra entidad<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JFacturasXML venfactxml = new JFacturasXML(); StringBuffer sb_mensaje = new StringBuffer(); if (!JForsetiCFD.CargarDocumentoCFDI(request, venfactxml, sb_mensaje, request.getParameter("uuid"), "I")) { idmensaje = 3; mensaje += sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if ((venfactxml.getComprobante().getProperty("tipoDeComprobante").equals("ingreso") && moddes.equals("DEVOLUCIONES")) || (venfactxml.getComprobante().getProperty("tipoDeComprobante") .equals("egreso") && !moddes.equals("DEVOLUCIONES")) || venfactxml.getComprobante().getProperty("tipoDeComprobante") .equals("traslado")) { idmensaje = 3; mensaje += "ERROR: El tipo de comprobante fiscal digital CFDI, No corresponde con el tipo de documento a enlazar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Verifica que el RFC del Emisor sea igual al RFC registrado, o que sea rfc generico JBDSSet set = new JBDSSet(request); set.ConCat(true); set.m_Where = "Nombre = 'FSIBD_" + p(getSesion(request).getBDCompania()) + "'"; set.Open(); if (!venfactxml.getRFC_Emisor().equalsIgnoreCase(set.getAbsRow(0).getRFC())) { idmensaje = 3; mensaje = "ERROR: El RFC del emisor en el XML no pertenece a la compaia"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") == null) // Significa que debe agregar una nueva venta { if (moddes.equals("DEVOLUCIONES") || moddes.equals("PEDIDOS") || moddes.equals("COTIZACIONES")) { idmensaje = 1; mensaje = "PRECAUCION: Solo se pueden enlazar devoluciones previamente generadas desde facturas. Selecciona una devolucin e intenta enlazar de nuevo."; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } float descuento = Float .parseFloat(venfactxml.getComprobante().getProperty("descuento")); if (descuento != 0.0) { idmensaje = 1; mensaje = "PRECAUCION: Por el momento, la carga de ventas no soportan descuentos implicitos porque en el CFDI no se especifica a que producto(s) o servicio(s) aplica cada descuento, lo que hace imposible determinar un costo verdadero."; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } rec.agregaCFDI(venfactxml); Date fecha = JUtil.estFechaCFDI(venfactxml.getComprobante().getProperty("fecha")); rec.setFecha(fecha); float tc; try { tc = Float.parseFloat(venfactxml.getComprobante().getProperty("TipoCambio")); } catch (NumberFormatException e) { tc = 1.0F; } rec.setTC(tc); int idmon = ((tc == 1) ? 1 : 2); //cambiar por 2 cuando se inserte moneda de dolares automaticamente al instalar empresa... Para ya distribuir rec.setID_Moneda((byte) idmon); rec.setTotal(Float.parseFloat(venfactxml.getComprobante().getProperty("total"))); float iva; try { iva = Float.parseFloat( venfactxml.getImpuestos().getProperty("totalImpuestosTrasladados")); } catch (NumberFormatException e) { iva = 0.0F; } rec.setIVA(iva); rec.setSubTotal( Float.parseFloat(venfactxml.getComprobante().getProperty("subTotal"))); rec.setDescuento(descuento); rec.setImporte(rec.getSubTotal() - descuento); rec.setReferencia("s/r"); rec.setFechaEntrega(fecha); JPublicContMonedasSetV2 setMon = new JPublicContMonedasSetV2(request); setMon.m_Where = "Clave = '" + idmon + "'"; setMon.Open(); rec.setMoneda(setMon.getAbsRow(0).getMoneda()); rec.setObs("Carga desde Factura Electrnica: " + venfactxml.getTFD().getProperty("UUID")); rec.setID_Bodega(setids.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(setids.getAbsRow(0).getBodega()); JClientClientMasSetV2 setcli = new JClientClientMasSetV2(request); setcli.m_Where = "ID_Tipo = 'CL' and ID_EntidadVenta = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and RFC ~~* '" + p(venfactxml.getRFC_Receptor()) + "'"; setcli.Open(); if (setcli.getNumRows() > 0) { JClientClientSetV2 setcli2 = new JClientClientSetV2(request); setcli2.m_Where = "ID_Tipo = 'CL' and Clave = '" + setcli.getAbsRow(0).getID_Clave() + "'"; setcli2.Open(); rec.setClave(setcli.getAbsRow(0).getID_Clave()); rec.setNombre(setcli2.getAbsRow(0).getNombre()); rec.setRFC(venfactxml.getRFC_Emisor()); rec.setNumero(setcli2.getAbsRow(0).getNumero()); rec.setColonia(setcli.getAbsRow(0).getColonia()); rec.setCP(setcli.getAbsRow(0).getCP()); rec.setDireccion(setcli.getAbsRow(0).getDireccion()); rec.setPoblacion(setcli.getAbsRow(0).getPoblacion()); rec.setTels(setcli2.getAbsRow(0).getTel()); rec.setID_Vendedor(setcli.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(setcli.getAbsRow(0).getVendedorNombre()); } for (int i = 0; i < venfactxml.getConceptos().size(); i++) { Properties concepto = (Properties) venfactxml.getConceptos().elementAt(i); float cantidad = Float.parseFloat(concepto.getProperty("cantidad")); float precio = Float.parseFloat(concepto.getProperty("valorUnitario")); String unidad = concepto.getProperty("unidad"); String idprod = ""; String descripcion = concepto.getProperty("descripcion"); String obs = concepto.getProperty("descripcion"); String tipo = ""; float importe = Float.parseFloat(concepto.getProperty("importe")); float ivapor = 0.00F, iepspor = 0.00F, ivaretpor = 0.00F, isrretpor = 0.00F, ivaimp = 0.00F, iepsimp = 0.00F, ivaretimp = 0.00F, isrretimp = 0.00F; float totalPart = importe; JPublicInvServInvCatalogSetV2 cat = new JPublicInvServInvCatalogSetV2(request); cat.m_Where = "(Clave = '" + p(concepto.getProperty("noIdentificacion")) + "' or Codigo = '" + p(concepto.getProperty("noIdentificacion")) + "') and NoSeVende = '0' and Status = 'V'"; //System.out.println(cat.getSQL()); cat.Open(); if (cat.getNumRows() > 0) { idprod = cat.getAbsRow(0).getClave(); descripcion = cat.getAbsRow(0).getDescripcion(); tipo = cat.getAbsRow(0).getID_Tipo(); } //System.out.println(descripcion + " " + ivapor + " " + ivaimp + " " + totalPart); rec.agregaPartida(cantidad, unidad, idprod, idprod, descripcion, precio, importe, 0.00F, ivapor, iepspor, ivaretpor, isrretpor, 0.00F, ivaimp, iepsimp, ivaretimp, isrretimp, totalPart, obs, tipo); } rec.setUUID(venfactxml.getTFD().getProperty("UUID")); rec.setTotalUUIDs(JUtil.redondear( Float.parseFloat(venfactxml.getComprobante().getProperty("total")), 2)); idmensaje = rec.establecerConcordancia(request, sb_mensaje); rec.establecerResultados(); if ((rec.getTotal() - rec.getTotalUUIDs()) > 0.1 || (rec.getTotal() - rec.getTotalUUIDs()) < -0.1) { idmensaje = 3; sb_mensaje.append( "ERROR: El total en el o los CFDI no corresponden al Total calculado en el registro a partir de estos CFDI. No se puede agregar. DOC: " + rec.getTotal() + " XML: " + rec.getTotalUUIDs()); } getSesion(request).setID_Mensaje(idmensaje, sb_mensaje.toString()); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else // Significa que debe Enlazar a una compra existente { //////////////////////////////////////////////// String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisin ya esta cancelada, no se puede enlazar el CFDI<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisin ya tiene una factura asociada, no se puede enlazar el CFDI. Debes enlazarlo a la factura<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisin ya tiene un CFDI asociado. No puedes asociar otro CFDI a la misma remisin<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JClientClientMasSetV2 setcli = new JClientClientMasSetV2(request); setcli.m_Where = "ID_Tipo = 'CL' and ID_EntidadVenta = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and ID_Clave = '" + SetMod.getAbsRow(0).getID_Cliente() + "'"; setcli.Open(); if (SetMod.getAbsRow(0).getTotal() != Float .parseFloat(venfactxml.getComprobante().getProperty("total")) || !setcli.getAbsRow(0).getRFC() .equals(venfactxml.getRFC_Receptor())) { idmensaje = 1; mensaje += "PRECAUCION: Los totales o los RFCs de la remisin y el CFDI no coinciden. No se puede asociar este CFDI al registro<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura ya esta cancelada, no se puede enlazar el CFDI<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura ya tiene un CFDI asociado. No puedes asociar otro CFDI a la misma factura<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JClientClientMasSetV2 setcli = new JClientClientMasSetV2(request); setcli.m_Where = "ID_Tipo = 'CL' and ID_EntidadVenta = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and ID_Clave = '" + SetMod.getAbsRow(0).getID_Cliente() + "'"; setcli.Open(); if (SetMod.getAbsRow(0).getTotal() != Float .parseFloat(venfactxml.getComprobante().getProperty("total")) || !setcli.getAbsRow(0).getRFC() .equals(venfactxml.getRFC_Receptor())) { idmensaje = 1; mensaje += "PRECAUCION: Los totales o los RFCs de la factura y el CFDI no coinciden. No se puede asociar este CFDI al registro<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (moddes.equals("DEVOLUCIONES")) { JVentasDevolucionesSet SetMod = new JVentasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolucion ya esta cancelada, no se puede enlazar el CFDI<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getID_CFD() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolucion ya tiene un CFDI asociado. No puedes asociar otro CFDI a la misma compra<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JClientClientMasSetV2 setcli = new JClientClientMasSetV2(request); setcli.m_Where = "ID_Tipo = 'CL' and ID_EntidadVenta = '" + getSesion(request).getSesion(idmod).getEspecial() + "' and ID_Clave = '" + SetMod.getAbsRow(0).getID_Cliente() + "'"; setcli.Open(); if (SetMod.getAbsRow(0).getTotal() != Float .parseFloat(venfactxml.getComprobante().getProperty("total")) || !setcli.getAbsRow(0).getRFC() .equals(venfactxml.getRFC_Receptor())) { idmensaje = 1; mensaje += "PRECAUCION: Los totales o los RFCs de la devolucion y el CFDI no coinciden. No se puede asociar este CFDI al registro<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es recepcion, factura gasto o devolucion return; // Aqui asocia. Enlazar(request, response, moddes, idmod, idmod4); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } else if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarRecursos(request, response) == -1) { HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); rec.setReferencia(p(request.getParameter("referencia"))); if (moddes.equals("FACTURAS")) { if (request.getParameter("forma_pago").equals("contado")) { request.setAttribute("fsipg_tipo", "ventas"); request.setAttribute("fsipg_proc", "deposito"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_ident", getSesion(request).getSesion(idmod).getEspecial()); if (VerificarParametros(request, response) && VerificarPagoMult(request, response)) { Agregar(request, response, moddes, setids, idmod, idmod4); return; } } else { if (VerificarParametros(request, response)) { request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } } else if (moddes.equals("REMISIONES")) { if (VerificarParametros(request, response)) { request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } else // sale si es devolucion u orden... Las devoluciones no se pueden enlazar desde cero, solo enlaces a devoluciones creadas previamente return; } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } } } else // Sale si no es FACTURA, DEVOLUCION O REMISION return; } else if (request.getParameter("proceso").equals("AGREGAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_AGREGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (rec == null) { rec = new JVenFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("ven_fact_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabecero(request, response) == -1) { if (moddes.equals("FACTURAS")) { HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (request.getParameter("forma_pago").equals("contado")) { request.setAttribute("fsipg_tipo", "ventas"); request.setAttribute("fsipg_proc", "deposito"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_ident", getSesion(request).getSesion(idmod).getEspecial()); if (VerificarParametros(request, response) && VerificarPagoMult(request, response)) { Agregar(request, response, moddes, setids, idmod, idmod4); return; } } else { if (VerificarParametros(request, response)) { // establece los atributos por default para ventas de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } } else { if (VerificarParametros(request, response)) { // establece los atributos por default para ventas de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Agregar(request, response, moddes, setids, idmod, idmod4); return; } } } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_CLIENT")) { AgregarCabecero(request, response); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabecero(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("DATOS_EXPORTACION")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("VEN_FAC_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_FAC_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_FAC_AGREGAR", "VFAC||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta venta ya esta cancelada, no se puede gestionar informacin de exportacin<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setids.getAbsRow(0).getCFD() && SetMod.getAbsRow(0).getTFD() >= 2) { idmensaje = 1; mensaje += "PRECAUCION: Esta venta ya esta sellada. No se puede gestionar informacin de exportacin porque ya est gestionada en el complemento de la factura electrnica generada por forseti<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JClientClientMasSetV2 cli = new JClientClientMasSetV2(request); cli.m_Where = "ID_Clave = '" + SetMod.getAbsRow(0).getID_Cliente() + "'"; cli.Open(); if (SetMod.getAbsRow(0).getID_Cliente() == 0 || SetMod.getAbsRow(0).getMoneda() == 1 || cli.getAbsRow(0).getPais().equals("MEX") || cli.getAbsRow(0).getPedimento().equals("--")) { idmensaje = 1; mensaje += "PRECAUCION: Este cliente es nacional, o es un cliente extranjero con el cual no manejamos exportaciones definitivas, o en su defecto, la venta no fue realizada en moneda extranjera. No se puede gestionar informacin de exportacin<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es factura return; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg_datexp.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (VerificarParametrosDatosExportacion(request, response)) { DatosExportacion(request, response); return; } irApag("/forsetiweb/ventas/ven_fact_dlg_datexp.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("CARGAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_CARGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_CARGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_CARGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setids.getAbsRow(0).getCFD() || setids.getAbsRow(0).getFija()) { idmensaje = 3; mensaje += "ERROR: No se puede cargar ningun CFDI porque esta entidad de venta est establecida como Fija o genera sus propios CFDIs<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Integer subir_archivos = new Integer(2); request.setAttribute("subir_archivos", subir_archivos); HttpSession ses = request.getSession(true); JFacturasXML rec = (JFacturasXML) ses.getAttribute("ven_fact_xml"); if (rec == null) { rec = new JFacturasXML(); ses.setAttribute("ven_fact_xml", rec); } else { rec = null; rec = new JFacturasXML(); ses.setAttribute("ven_fact_xml", rec); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/subir_archivos.jsp?verif=/servlet/CEFVenFactDlg&archivo_1=xml&archivo_2=pdf&proceso=CARGAR_VENTA&subproceso=ENVIAR&moddes=" + moddes + "&idmod=" + idmod + "&idmod4=" + idmod4, request, response); return; } else if (request.getParameter("proceso").equals("SELLAR_VENTA")) { // Revisa si tiene permisos if (!idmod.equals("VEN_DEV")) // Si no es devolucion { if (!getSesion(request).getPermiso(idmod + "_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_AGREGAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { if (!getSesion(request).getPermiso("VEN_DEV_DEVOLVER") && !getSesion(request).getPermiso("VEN_DEV_REBAJAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_DEV_DEVOLVER") + " / " + MsjPermisoDenegado(request, "CEF", "VEN_DEV_REBAJAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_DEV_DEVOLVER", "VDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (setids.getAbsRow(0).getCFD() == false) { idmensaje = 1; mensaje += "PRECAUCION: Esta entidad de venta no está establecida como CFDI. No se puede sellar el registro<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() == 3 || SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este registro ya est sellado o cancelado <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } StringBuffer sb_mensaje = new StringBuffer(254); idmensaje = generarCFDI(request, response, "FACTURAS", Integer.parseInt(request.getParameter("ID")), Long.toString(SetMod.getAbsRow(0).getID_Cliente()), setids, SetMod.getAbsRow(0).getTFD(), sb_mensaje); mensaje = sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() == 3 || SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión ya está sellada o cancelada<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } StringBuffer sb_mensaje = new StringBuffer(254); idmensaje = generarCFDI(request, response, "REMISIONES", Integer.parseInt(request.getParameter("ID")), Long.toString(SetMod.getAbsRow(0).getID_Cliente()), setids, SetMod.getAbsRow(0).getTFD(), sb_mensaje); mensaje = sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (moddes.equals("DEVOLUCIONES")) { JVentasDevolucionesSet SetMod = new JVentasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() == 3 || SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este registro ya esta sellado o cancelada<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } StringBuffer sb_mensaje = new StringBuffer(254); idmensaje = generarCFDI(request, response, "DEVOLUCIONES", Integer.parseInt(request.getParameter("ID")), Long.toString(SetMod.getAbsRow(0).getID_Cliente()), setids, SetMod.getAbsRow(0).getTFD(), sb_mensaje); mensaje = sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("XML_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura no está completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "VENTAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/ven/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; else // Es CFDI generado internamente { if (SetMod.getAbsRow(0).getStatus().equals("C")) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/CANCEL_FAC-" + request.getParameter("ID") + ".xml"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/SIGN_FAC-" + request.getParameter("ID") + ".xml"; } destino = "FAC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La factura se bajo satisfactoriamente"; return; } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión no está completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "VENTAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/ven/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; else { if (SetMod.getAbsRow(0).getStatus().equals("C")) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/CANCEL_REM-" + request.getParameter("ID") + ".xml"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/SIGN_REM-" + request.getParameter("ID") + ".xml"; } destino = "REM-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La remisión se bajo satisfactoriamente"; return; } else if (moddes.equals("DEVOLUCIONES")) { JVentasDevolucionesSet SetMod = new JVentasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta dev no está completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "VENTAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/ven/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; else { if (SetMod.getAbsRow(0).getStatus().equals("C")) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/CANCEL_DSV-" + request.getParameter("ID") + ".xml"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/SIGN_DSV-" + request.getParameter("ID") + ".xml"; } destino = "DSV-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La devolucion se bajo satisfactoriamente"; return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("ENVIAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_Cliente() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura no está completamente sellada, o es de mostrador. No hay nada que enviar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JClientClientSetV2 set = new JClientClientSetV2(request); set.m_Where = "Clave = '" + SetMod.getAbsRow(0).getID_Cliente() + "'"; set.Open(); if (set.getAbsRow(0).getSMTP() == 0) // Maneja smtp manual o automtico { idmensaje = 1; mensaje += "PRECAUCION: Este cliente no esta confgurado para recibir sus cfdi por correo <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JFsiSMTPClient smtp = new JFsiSMTPClient(); smtp.enviarCFDIMPE(request, "FAC", request.getParameter("ID"), "", set.getAbsRow(0).getNombre(), set.getAbsRow(0).getEMail()); if (smtp.getStatusSMTP() == JFsiSMTPClient.ERROR) { idmensaje = 3; mensaje += "ERROR: " + smtp.getError(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } getSesion(request).setID_Mensaje((short) 0, "El correo se ha mandado satisfactoriamente"); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_Cliente() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remision no está completamente sellada, o es de mostrador. No hay nada que enviar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JClientClientSetV2 set = new JClientClientSetV2(request); set.m_Where = "Clave = '" + SetMod.getAbsRow(0).getID_Cliente() + "'"; set.Open(); if (set.getAbsRow(0).getSMTP() == 0) // Maneja smtp manual o automtico { idmensaje = 1; mensaje += "PRECAUCION: Este cliente no esta confgurado para recibir sus cfdi por correo <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JFsiSMTPClient smtp = new JFsiSMTPClient(); smtp.enviarCFDIMPE(request, "REM", request.getParameter("ID"), "", set.getAbsRow(0).getNombre(), set.getAbsRow(0).getEMail()); if (smtp.getStatusSMTP() == JFsiSMTPClient.ERROR) { idmensaje = 3; mensaje += "ERROR: " + smtp.getError(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } getSesion(request).setID_Mensaje((short) 0, "El correo se ha mandado satisfactoriamente"); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (moddes.equals("DEVOLUCIONES")) { JVentasDevolucionesSet SetMod = new JVentasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_Cliente() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolucion/rebaja no está completamente sellada, o es de mostrador. No hay nada que enviar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JClientClientSetV2 set = new JClientClientSetV2(request); set.m_Where = "Clave = '" + SetMod.getAbsRow(0).getID_Cliente() + "'"; set.Open(); if (set.getAbsRow(0).getSMTP() == 0) // Maneja smtp manual o automtico { idmensaje = 1; mensaje += "PRECAUCION: Este cliente no esta confgurado para recibir sus cfdi por correo <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JFsiSMTPClient smtp = new JFsiSMTPClient(); smtp.enviarCFDIMPE(request, "DSV", request.getParameter("ID"), "", set.getAbsRow(0).getNombre(), set.getAbsRow(0).getEMail()); if (smtp.getStatusSMTP() == JFsiSMTPClient.ERROR) { idmensaje = 3; mensaje += "ERROR: " + smtp.getError(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } getSesion(request).setID_Mensaje((short) 0, "El correo se ha mandado satisfactoriamente"); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("PDF_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura no esta completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "VENTAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/ven/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/PDFs/FAC-" + request.getParameter("ID") + ".pdf"; destino = "FAC-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La factura se bajo satisfactoriamente"; return; } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión no está completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "VENTAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/ven/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/PDFs/REM-" + request.getParameter("ID") + ".pdf"; destino = "REM-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La remisión se bajo satisfactoriamente"; return; } else if (moddes.equals("DEVOLUCIONES")) { JVentasDevolucionesSet SetMod = new JVentasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolucion no esta completamente sellada, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "VENTAS"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/ven/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/PDFs/DSV-" + request.getParameter("ID") + ".pdf"; destino = "DSV-" + SetMod.getAbsRow(0).getID_Entidad() + "-" + SetMod.getAbsRow(0).getNumero() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "La devolucion se bajo satisfactoriamente"; return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAMBIAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_CAMBIAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya esta cancelado, no se puede cambiar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya tiene una factura asociada, no se puede cambiar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya esta cancelada, no se puede cambiar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya tiene un pedido, remisión o factura asociada, no se puede cambiar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es ni pedido ni cotizacion porque seria factura o remision ( se estaria violando la seguridad ) return; HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (rec == null) { rec = new JVenFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("ven_fact_dlg", rec); } else { rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); } // Llena el pedido o cotizacion if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); // checa si se permite la rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); // checa si se permite la rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } JVentasFactSetCabV2 SetCab = new JVentasFactSetCabV2(request, request.getParameter("tipomov")); JVentasFactSetDetV2 SetDet = new JVentasFactSetDetV2(request, request.getParameter("tipomov")); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametros(request, response)) { // establece los atributos por default para ventas de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); Cambiar(request, response, moddes, idmod, idmod4); return; } } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_CLIENT")) { AgregarCabecero(request, response); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabecero(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabecero(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("CONSULTAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (rec == null) { rec = new JVenFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); ses.setAttribute("ven_fact_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, moddes); // Llena la factura if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (moddes.equals("DEVOLUCIONES")) { JVentasDevolucionesSet SetMod = new JVentasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } JVentasFactSetCabV2 SetCab = new JVentasFactSetCabV2(request, moddes); JVentasFactSetDetV2 SetDet = new JVentasFactSetDetV2(request, moddes); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } RDP("CEF", getSesion(request).getConBD(), "OK", getSesion(request).getID_Usuario(), idmod, idmod4 + "|" + request.getParameter("ID") + "|" + getSesion(request).getSesion(idmod).getEspecial() + "||", ""); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CANCELAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_CANCELAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_CANCELAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_CANCELAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya está cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetMod.getAbsRow(0).getStatus().equals("F")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya tiene un pedido, remisión o factura asociada, no se puede cancelar. Primero debes cancelar el pedido, remisión o factura para poder cancelar la cotización <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "COTIZACIONES", idmod, idmod4, new StringBuffer()); return; } } else if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya est cancelado <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetMod.getAbsRow(0).getStatus().equals("F")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya tiene una factura o remisin asociada, no se puede cancelar. Primero debes cancelar la factura o remision para poder cancelar el pedido <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "PEDIDOS", idmod, idmod4, new StringBuffer()); return; } } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión ya esta cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetMod.getAbsRow(0).getID_Factura() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión ya tiene una factura asociada. No se puede cancelar, primero cancela la factura para poder cancelar la remisin <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (!setids.getAbsRow(0).getFijaCost() && setids.getAbsRow(0).getAuditarAlm() && !SetMod.getAbsRow(0).getStatus().equals("R")) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión necesita estar revertida desde el módulo del almacén para poder cancelarla <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { StringBuffer sb_mensaje = new StringBuffer(); int idms = cancelarCFDI(request, response, "REMISIONES", Integer.parseInt(request.getParameter("ID")), SetMod.getAbsRow(0).getTFD(), sb_mensaje); if (idms == JForsetiCFD.ERROR) // quiere decir algun tipo de error de cfd { idmensaje = 3; mensaje += sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "REMISIONES", idmod, idmod4, sb_mensaje); return; } } } if (moddes.equals("FACTURAS")) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); JVentasRemisionesSet SetRem = new JVentasRemisionesSet(request); SetRem.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetRem.Open(); JVentasDevolucionesSet SetDev = new JVentasDevolucionesSet(request); SetDev.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDev.Open(); if (SetDev.getNumRows() > 0) { for (int i = 0; i < SetDev.getNumRows(); i++) { if (!SetDev.getAbsRow(i).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura tiene devoluciones asociadas sin cancelar. Primero debes cancelar las devoluciones asociadas para poder cancelar la factura <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura ya est cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetRem.getNumRows() == 0 && SetMod.getAbsRow(0).getID_PolCost() != -1 && !setids.getAbsRow(0).getFijaCost() && setids.getAbsRow(0).getAuditarAlm() && !SetMod.getAbsRow(0).getStatus().equals("R")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura necesita estar revertida desde el mdulo del almacn para poder cancelarla <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { StringBuffer sb_mensaje = new StringBuffer(); int idms = cancelarCFDI(request, response, "FACTURAS", Integer.parseInt(request.getParameter("ID")), SetMod.getAbsRow(0).getTFD(), sb_mensaje); if (idms == JForsetiCFD.ERROR) // quiere decir algun tipo de error de cfd { idmensaje = 3; mensaje += sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "FACTURAS", idmod, idmod4, sb_mensaje); return; } } } else if (moddes.equals("DEVOLUCIONES")) { JVentasDevolucionesSet SetMod = new JVentasDevolucionesSet(request); SetMod.m_Where = "ID_Devolucion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolución ya está cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else if (SetMod.getAbsRow(0).getDevReb().equals("DEV") && !setids.getAbsRow(0).getFijaCost() && setids.getAbsRow(0).getAuditarAlm() && !SetMod.getAbsRow(0).getStatus().equals("R")) { idmensaje = 1; mensaje += "PRECAUCION: Esta devolución necesita estar revertida desde el mdulo del almacn para poder cancelarla <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { StringBuffer sb_mensaje = new StringBuffer(); int idms = cancelarCFDI(request, response, "DEVOLUCIONES", Integer.parseInt(request.getParameter("ID")), SetMod.getAbsRow(0).getTFD(), sb_mensaje); if (idms == JForsetiCFD.ERROR) // quiere decir algun tipo de error de cfd { idmensaje = 3; mensaje += sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { CancelarFactura(request, response, "DEVOLUCIONES", idmod, idmod4, sb_mensaje); return; } } } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("FACTURAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("VEN_FAC_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_FAC_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_FAC_AGREGAR", "VFAC||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR, abre la ventana del proceso de FACTURADO por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya esta cancelado, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya tiene una remisión o factura asociada, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión ya esta cancelada, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("R") || SetMod.getAbsRow(0).getFactura() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Esta remisión ya tiene una factura asociada o está revertida, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("tipomov").equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya esta cancelada, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya tiene un pedido, remisión o factura asociada, no se puede facturar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es ni pedido ni cotizacion porque seria factura ( se estaria violando la seguridad ) return; HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (rec == null) { rec = new JVenFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "FACTURAS"); ses.setAttribute("ven_fact_dlg", rec); } else { rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "FACTURAS"); } // Llena la factura if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (moddes.equals("REMISIONES")) { JVentasRemisionesSet SetMod = new JVentasRemisionesSet(request); SetMod.m_Where = "ID_Remision = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } JVentasFactSetCabV2 SetCab = new JVentasFactSetCabV2(request, request.getParameter("tipomov")); JVentasFactSetDetV2 SetDet = new JVentasFactSetDetV2(request, request.getParameter("tipomov")); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (moddes.equals("PEDIDOS") || moddes.equals("COTIZACIONES") || moddes.equals("REMISIONES")) { HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (request.getParameter("fecha") == null || request.getParameter("referencia") == null || request.getParameter("fecha").equals("")) { idmensaje = 1; mensaje += "PRECAUCION: Se debe enviar la fecha y referencia de la factura <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } else if (request.getParameter("forma_pago").equals("contado")) { request.setAttribute("fsipg_tipo", "ventas"); request.setAttribute("fsipg_proc", "deposito"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_ident", getSesion(request).getSesion(idmod).getEspecial()); if (VerificarParametros(request, response) && VerificarPagoMult(request, response)) { AgregarDesde(request, response, "VFAC", "VEN_FAC", request.getParameter("ID"), idmod4, idmod, setids); return; } irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } else { if (VerificarParametros(request, response)) { // establece los atributos por default para ventas de crdito request.setAttribute("fsipg_cambio", 0F); request.setAttribute("fsipg_efectivo", 0F); request.setAttribute("fsipg_bancos", 0F); AgregarDesde(request, response, "VFAC", "VEN_FACT", request.getParameter("ID"), idmod4, idmod, setids); return; } irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } } } } } else if (request.getParameter("proceso").equals("REMISIONAR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("VEN_REM_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_REM_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_REM_AGREGAR", "VREM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR, abre la ventana del proceso de FACTURADO por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya esta cancelado, no se puede remisionar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Este pedido ya tiene una factura o remisión asociada, no se puede a remisionar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya esta cancelada, no se puede remisionar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya tiene un pedido, remisión o factura asociada, no se puede remisionar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es ni pedido ni cotizacion porque seria factura ( se estaria violando la seguridad ) return; HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (rec == null) { rec = new JVenFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "REMISIONES"); ses.setAttribute("ven_fact_dlg", rec); } else { rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "REMISIONES"); } // Llena la factura if (moddes.equals("PEDIDOS")) { JVentasPedidosSet SetMod = new JVentasPedidosSet(request); SetMod.m_Where = "ID_Pedido = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } else if (request.getParameter("tipomov").equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); } JVentasFactSetCabV2 SetCab = new JVentasFactSetCabV2(request, request.getParameter("tipomov")); JVentasFactSetDetV2 SetDet = new JVentasFactSetDetV2(request, request.getParameter("tipomov")); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (moddes.equals("PEDIDOS") || moddes.equals("COTIZACIONES")) { if (request.getParameter("fecha") == null || request.getParameter("referencia") == null || request.getParameter("fecha").equals("")) { idmensaje = 1; mensaje += "PRECAUCION: Se debe enviar la fecha y referencia de la remisión <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } else { if (VerificarParametros(request, response)) { AgregarDesde(request, response, "VREM", "VEN_REM", request.getParameter("ID"), idmod4, idmod, setids); return; } irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } } } } } else if (request.getParameter("proceso").equals("PEDIR_VENTA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("VEN_PED_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_PED_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_PED_AGREGAR", "VPED||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR, abre la ventana del proceso de FACTURADO por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (moddes.equals("COTIZACIONES")) { JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya esta cancelada, no se puede pedir <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (SetMod.getAbsRow(0).getStatus().equals("F") || SetMod.getAbsRow(0).getStatus().equals("N")) { idmensaje = 1; mensaje += "PRECAUCION: Esta cotización ya tiene un pedido, remisión o factura asociada, no se puede pedir <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // sale si no es cotizacion porque seria ( se estaria violando la seguridad ) return; HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenFactSes) ses.getAttribute("ven_fact_dlg"); if (rec == null) { rec = new JVenFactSes(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "PEDIDOS"); ses.setAttribute("ven_fact_dlg", rec); } else { rec.resetear(request, getSesion(request).getSesion(idmod).getEspecial(), usuario, "PEDIDOS"); } // Llena el pedido JVentasCotizacionesSet SetMod = new JVentasCotizacionesSet(request); SetMod.m_Where = "ID_Cotizacion = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); //rec.setFactNum(SetMod.getAbsRow(0).getNumero()); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setFecha(SetMod.getAbsRow(0).getFecha()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setFechaEntrega(SetMod.getAbsRow(0).getFecha()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); JVentasFactSetCabV2 SetCab = new JVentasFactSetCabV2(request, moddes); JVentasFactSetDetV2 SetDet = new JVentasFactSetDetV2(request, moddes); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (request.getParameter("tipomov").equals("COTIZACIONES")) { if (request.getParameter("fecha") == null || request.getParameter("referencia") == null || request.getParameter("fecha").equals("")) { idmensaje = 1; mensaje += "PRECAUCION: Se debe enviar la fecha y referencia del pedido <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } else { if (VerificarParametros(request, response)) { AgregarDesde(request, response, "VPED", "VEN_PED", request.getParameter("ID"), idmod4, idmod, setids); return; } irApag("/forsetiweb/ventas/ven_fact_dlg_generar.jsp", request, response); return; } } } } } else if (request.getParameter("proceso").equals("IMPRIMIR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod)) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod, idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("IMPRESION")) { StringBuffer bsmensaje = new StringBuffer(254); String SQLCab = "select * from "; String SQLDet = "select * from "; if (moddes.equals("FACTURAS")) { SQLCab += "view_ventas_facturas_impcab where ID_Factura = "; SQLDet += "view_ventas_facturas_impdet where ID_Factura = "; } else if (moddes.equals("PEDIDOS")) { SQLCab += "view_ventas_pedidos_impcab where ID_Pedido = "; SQLDet += "view_ventas_pedidos_impdet where ID_Pedido = "; } else if (moddes.equals("REMISIONES")) { SQLCab += "view_ventas_remisiones_impcab where ID_Remision = "; SQLDet += "view_ventas_remisiones_impdet where ID_Remision = "; } else if (moddes.equals("COTIZACIONES")) { SQLCab += "view_ventas_cotizaciones_impcab where ID_Cotizacion = "; SQLDet += "view_ventas_cotizaciones_impdet where ID_Cotizacion = "; } else //Devoluciones { SQLCab += "view_ventas_devoluciones_impcab where ID_Devolucion = "; SQLDet += "view_ventas_devoluciones_impdet where ID_Devolucion = "; } SQLCab += request.getParameter("ID"); SQLDet += request.getParameter("ID"); idmensaje = Imprimir(SQLCab, SQLDet, request.getParameter("idformato"), bsmensaje, request, response); if (idmensaje != -1) { getSesion(request).setID_Mensaje(idmensaje, bsmensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // significa que debe llamar a la ventana de formatos de impresion { if (moddes.equals("FACTURAS")) { request.setAttribute("impresion", "CEFVenFactDlg"); request.setAttribute("tipo_imp", "VEN_FAC"); request.setAttribute("formato_default", setids.getAbsRow(0).getFormato()); } else if (moddes.equals("PEDIDOS")) { request.setAttribute("impresion", "CEFVenFactDlg"); request.setAttribute("tipo_imp", "VEN_PED"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Pedido()); } else if (moddes.equals("REMISIONES")) { request.setAttribute("impresion", "CEFVenFactDlg"); request.setAttribute("tipo_imp", "VEN_REM"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Remision()); } else if (moddes.equals("COTIZACIONES")) { request.setAttribute("impresion", "CEFVenFactDlg"); request.setAttribute("tipo_imp", "VEN_COT"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Cotizacion()); } else //DEVOLUCIONES { request.setAttribute("impresion", "CEFVenFactDlg"); request.setAttribute("tipo_imp", "VEN_DEV"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Devolucion()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/impresion_dlg.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("DEVOLVER_VENTA") || request.getParameter("proceso").equals("REBAJAR_VENTA")) { // Revisa si tiene permisos if (request.getParameter("proceso").equals("DEVOLVER_VENTA") && !getSesion(request).getPermiso("VEN_DEV_DEVOLVER")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_DEV_DEVOLVER"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_DEV_DEVOLVER", "VDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("proceso").equals("REBAJAR_VENTA") && !getSesion(request).getPermiso("VEN_DEV_REBAJAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "VEN_DEV_REBAJAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "VEN_DEV_REBAJAR", "VDEV||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { JVentasFactSetV2 SetMod = new JVentasFactSetV2(request); SetMod.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getStatus().equals("C")) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura ya esta cancelada, no se puede generar la devolucin <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("proceso").equals("DEVOLVER_VENTA")) { if (SetMod.getAbsRow(0).getID_PolCost() == -1 || (!SetMod.getAbsRow(0).getStatus().equals("E") && setids.getAbsRow(0).getAuditarAlm())) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura debe estar guardada, revertida, o ser factura sin movimiento al almacn. Solo se pueden devolver las facturas emitidas con movimientos al almacn <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //SetRem.getNumRows() == 0 && SetMod.getAbsRow(0).getID_PolCost() != -1 && !setids.getAbsRow(0).getFijaCost() && setids.getAbsRow(0).getAuditarAlm() && !SetMod.getAbsRow(0).getStatus().equals("R") ) } else // Rebajar venta { if (SetMod.getAbsRow(0).getID_PolCost() != -1 && !SetMod.getAbsRow(0).getStatus().equals("E") && setids.getAbsRow(0).getAuditarAlm()) { idmensaje = 1; mensaje += "PRECAUCION: Esta factura debe estar guardada o revertida. Solo se pueden rebajar las facturas emitidas <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenDevSes) ses.getAttribute("ven_dev_dlg"); if (rec == null) { rec = new JVenDevSes(request, getSesion(request).getSesion("VEN_FAC").getEspecial(), usuario, "DEVOLUCIONES"); ses.setAttribute("ven_dev_dlg", rec); } else rec.resetear(request, getSesion(request).getSesion("VEN_FAC").getEspecial(), usuario, "DEVOLUCIONES"); rec.setClave((int) SetMod.getAbsRow(0).getID_Cliente()); rec.setNombre(SetMod.getAbsRow(0).getCliente()); rec.setID_Moneda(SetMod.getAbsRow(0).getMoneda()); rec.setTC(SetMod.getAbsRow(0).getTC()); rec.setTotal(SetMod.getAbsRow(0).getTotal()); rec.setReferencia(SetMod.getAbsRow(0).getReferencia()); rec.setID_Vendedor(SetMod.getAbsRow(0).getID_Vendedor()); rec.setVendedorNombre(SetMod.getAbsRow(0).getVendedorNombre()); rec.setID_Factura(SetMod.getAbsRow(0).getID_Factura()); if (request.getParameter("proceso").equals("DEVOLVER_VENTA")) rec.setDevReb("DEV"); else rec.setDevReb("REB"); JVentasFactSetCabV2 SetCab = new JVentasFactSetCabV2(request, "FACTURAS"); JVentasFactSetDetV2 SetDet = new JVentasFactSetDetV2(request, "FACTURAS"/*"AGR_DEVOL"*/); SetCab.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetDet.m_Where = "ID_Factura = '" + p(request.getParameter("ID")) + "'"; SetCab.Open(); SetDet.Open(); rec.setMoneda(SetCab.getAbsRow(0).getMoneda()); rec.setNumero((int) SetCab.getAbsRow(0).getNumero()); rec.setColonia(SetCab.getAbsRow(0).getColonia()); if (SetCab.getAbsRow(0).getCondicion() == 0) rec.setForma_Pago("contado"); else if (SetCab.getAbsRow(0).getCondicion() == 1) rec.setForma_Pago("credito"); else rec.setForma_Pago("ninguno"); rec.setCP(SetCab.getAbsRow(0).getCP()); rec.setDescuento(SetCab.getAbsRow(0).getDescuento()); rec.setDireccion(SetCab.getAbsRow(0).getDireccion()); rec.setImporte(SetCab.getAbsRow(0).getImporte()); rec.setIVA(SetCab.getAbsRow(0).getIVA()); rec.setIEPS(SetCab.getAbsRow(0).getIEPS()); rec.setIVARet(SetCab.getAbsRow(0).getIVARet()); rec.setISRRet(SetCab.getAbsRow(0).getISRRet()); rec.setObs(SetCab.getAbsRow(0).getObs()); rec.setPoblacion(SetCab.getAbsRow(0).getPoblacion()); rec.setRFC(SetCab.getAbsRow(0).getRFC()); rec.setSubTotal(SetCab.getAbsRow(0).getSubTotal()); rec.setTels(SetCab.getAbsRow(0).getTel()); rec.setID_Bodega(SetCab.getAbsRow(0).getID_Bodega()); rec.setBodegaDesc(SetCab.getAbsRow(0).getNombre()); for (int i = 0; i < SetDet.getNumRows(); i++) { rec.agregaPartida(SetDet.getAbsRow(i).getCantidad(), SetDet.getAbsRow(i).getID_UnidadSalida(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getID_Prod(), SetDet.getAbsRow(i).getDescripcion(), SetDet.getAbsRow(i).getPrecio(), SetDet.getAbsRow(i).getImporte(), SetDet.getAbsRow(i).getDescuento(), SetDet.getAbsRow(i).getIVA(), SetDet.getAbsRow(i).getIEPS(), SetDet.getAbsRow(i).getIVARet(), SetDet.getAbsRow(i).getISRRet(), SetDet.getAbsRow(i).getImporteDesc(), SetDet.getAbsRow(i).getImporteIVA(), SetDet.getAbsRow(i).getImporteIEPS(), SetDet.getAbsRow(i).getImporteIVARet(), SetDet.getAbsRow(i).getImporteISRRet(), SetDet.getAbsRow(i).getTotalPart(), SetDet.getAbsRow(i).getObs(), SetDet.getAbsRow(i).getID_Tipo()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { // Solicitud de envio a procesar if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabeceroDev(request, response) == -1) { HttpSession ses = request.getSession(true); JVenFactSes rec = (JVenDevSes) ses.getAttribute("ven_dev_dlg"); if (rec.getForma_Pago().equals("contado")) { request.setAttribute("fsipg_tipo", "ventas"); request.setAttribute("fsipg_total", rec.getTotal()); request.setAttribute("fsipg_proc", "retiro"); request.setAttribute("fsipg_ident", getSesion(request).getSesion("VEN_FAC").getEspecial()); request.setAttribute("fsipg_id_concepto", 0); request.setAttribute("fsipg_desc_concepto", ""); if (VerificarParametrosDev(request, response) && VerificarPagoMult(request, response)) { AgregarDev(request, response, setids); return; } } else if (rec.getForma_Pago().equals("credito")) { request.setAttribute("fsipg_tipo", "ventas"); if (VerificarParametrosDev(request, response) && VerificarSaldo(request, response)) { AgregarDev(request, response, setids); return; } } else //Ningun pago { request.setAttribute("fsipg_tipo", "ventas"); if (VerificarParametrosDev(request, response)) { AgregarDev(request, response, setids); return; } } } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabeceroDev(request, response) == -1) { if (VerificarParametrosPartidaDev(request, response)) EditarPartidaDev(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } else if (request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabeceroDev(request, response) == -1) { BorrarPartidaDev(request, response); } irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } idmensaje = 1; mensaje += "PRECAUCION: No se pueden agregar partidas a una devolucion o rebaja. Intenta editar o borrar lo que no desees devolver o rebajar"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/ventas/ven_fact_dlg.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("RASTREAR_MOVIMIENTO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso(idmod + "_CONSULTAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", idmod + "_CONSULTAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), idmod + "_CONSULTAR", idmod4 + "||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("ID") != null) { String[] valoresParam = request.getParameterValues("ID"); if (valoresParam.length == 1) { JRastreo rastreo = new JRastreo(request, getSesion(request).getSesion(idmod) .generarTitulo(JUtil.Msj("CEF", idmod, "VISTA", "CONSULTAR_VENTA", 3)), idmod4, request.getParameter("ID")); String rastreo_imp = "true"; request.setAttribute("rastreo_imp", rastreo_imp); // Ahora pone los atributos para el jsp request.setAttribute("rastreo", rastreo); RDP("CEF", getSesion(request).getConBD(), "OK", getSesion(request).getID_Usuario(), idmod + "_CONSULTAR", idmod4 + "|" + request.getParameter("ID") + "|" + getSesion(request).getSesion(idmod).getEspecial() + "||", ""); irApag("/forsetiweb/rastreo_imp.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); //"PRECAUCION: Solo se permite consultar una pliza a la vez <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); //" ERROR: Se debe enviar el identificador de la pliza que se quiere consultar<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // si no se mandan parametros, manda a error { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } }
From source file:nextapp.echo2.webcontainer.filetransfer.JakartaCommonsFileUploadProvider.java
/** * @see nextapp.echo2.webcontainer.filetransfer.MultipartUploadSPI#updateComponent(nextapp.echo2.webrender.Connection, * nextapp.echo2.app.filetransfer.UploadSelect) */// w w w .ja v a 2 s.c o m public void updateComponent(Connection conn, UploadSelect uploadSelect) throws IOException, ServletException { DiskFileUpload handler = null; HttpServletRequest request = null; List items = null; Iterator it = null; FileItem item = null; boolean searching = true; InputStream in = null; int size = 0; String contentType = null; String name = null; try { handler = new DiskFileUpload(); handler.setSizeMax(getFileUploadSizeLimit()); handler.setSizeThreshold(getMemoryCacheThreshold()); handler.setRepositoryPath(getDiskCacheLocation().getCanonicalPath()); request = conn.getRequest(); items = handler.parseRequest(request); searching = true; it = items.iterator(); while (it.hasNext() && searching) { item = (FileItem) it.next(); if (UploadFormService.FILE_PARAMETER_NAME.equals(item.getFieldName())) { in = item.getInputStream(); size = (int) item.getSize(); contentType = item.getContentType(); name = item.getName(); File tempFile = writeTempFile(in, uploadSelect); UploadEvent uploadEvent = new UploadEvent(tempFile, size, contentType, name); UploadSelectPeer.activateUploadSelect(uploadSelect, uploadEvent); searching = false; } } } catch (FileUploadException e) { throw new IOException(e.getMessage()); } }
From source file:oe.product.fck.common.SimpleUploaderServlet.java
/** * Manage the Upload requests.<br> * * The servlet accepts commands sent in the following format:<br> * simpleUploader?Type=ResourceType<br><br> * It store the file (renaming it in case a file with the same name exists) and then return an HTML file * with a javascript command in it.//from w w w.j a v a 2 s .com * */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (debug) System.out.println("--- BEGIN DOPOST ---"); response.setContentType("text/html; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); String typeStr = request.getParameter("Type"); String currentPath = baseDir + typeStr; String currentDirPath = getServletContext().getRealPath(currentPath); currentPath = request.getContextPath() + currentPath; if (debug) System.out.println(currentDirPath); String retVal = "0"; String newName = ""; String fileUrl = ""; String errorMessage = ""; String $fileName = ""; String fileName = ""; if (enabled) { DiskFileUpload upload = new DiskFileUpload(); try { List items = upload.parseRequest(request); Map fields = new HashMap(); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) fields.put(item.getFieldName(), item.getString()); else fields.put(item.getFieldName(), item); } FileItem uplFile = (FileItem) fields.get("NewFile"); String fileNameLong = uplFile.getName(); fileNameLong = fileNameLong.replace('\\', '/'); String[] pathParts = fileNameLong.split("/"); fileName = pathParts[pathParts.length - 1]; String nameWithoutExt = getNameWithoutExtension(fileName); fileName = new String(fileName.getBytes("GBK"), "UTF-8"); String ext = getExtension(fileName); $fileName = UUID.randomUUID().toString() + "." + ext; fileUrl = currentPath + "/" + $fileName; File pathToSave = new File(currentDirPath, $fileName); if (extIsAllowed(typeStr, ext)) { int counter = 1; while (pathToSave.exists()) { fileName = fileName + "(" + counter + ")" + "." + ext; newName = fileName; fileUrl = currentPath + "/" + $fileName + "(" + counter + ")" + "." + ext; retVal = "201"; pathToSave = new File(currentDirPath, newName); counter++; } uplFile.write(pathToSave); } else { retVal = "202"; errorMessage = ""; if (debug) System.out.println("Invalid file type: " + ext); } } catch (Exception ex) { if (debug) ex.printStackTrace(); retVal = "203"; } } else { retVal = "1"; errorMessage = "This file uploader is disabled. Please check the WEB-INF/web.xml file"; } out.println("<script type=\"text/javascript\">"); out.println("window.parent.OnUploadCompleted(" + retVal + ",'" + fileUrl + "','" + fileName + "','" + errorMessage + "');"); out.println("</script>"); out.flush(); out.close(); if (debug) System.out.println("--- END DOPOST ---"); }
From source file:org.apache.catalina.manager.HTMLManagerServlet.java
/** * Process a POST request for the specified resource. * * @param request The servlet request we are processing * @param response The servlet response we are creating * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet-specified error occurs *///w w w . ja v a 2 s.c o m public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // Identify the request parameters that we need String command = request.getPathInfo(); if (command == null || !command.equals("/upload")) { doGet(request, response); return; } // Prepare our output writer to generate the response message response.setContentType("text/html; charset=" + Constants.CHARSET); String message = ""; // Create a new file upload handler DiskFileUpload upload = new DiskFileUpload(); // Get the tempdir File tempdir = (File) getServletContext().getAttribute("javax.servlet.context.tempdir"); // Set upload parameters upload.setSizeMax(-1); upload.setRepositoryPath(tempdir.getCanonicalPath()); // Parse the request String basename = null; File appBaseDir = null; String war = null; FileItem warUpload = null; try { List items = upload.parseRequest(request); // Process the uploaded fields Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { if (item.getFieldName().equals("deployWar") && warUpload == null) { warUpload = item; } else { item.delete(); } } } while (true) { if (warUpload == null) { message = sm.getString("htmlManagerServlet.deployUploadNoFile"); break; } war = warUpload.getName(); if (!war.toLowerCase().endsWith(".war")) { message = sm.getString("htmlManagerServlet.deployUploadNotWar", war); break; } // Get the filename if uploaded name includes a path if (war.lastIndexOf('\\') >= 0) { war = war.substring(war.lastIndexOf('\\') + 1); } if (war.lastIndexOf('/') >= 0) { war = war.substring(war.lastIndexOf('/') + 1); } // Identify the appBase of the owning Host of this Context // (if any) String appBase = null; appBase = ((Host) context.getParent()).getAppBase(); appBaseDir = new File(appBase); if (!appBaseDir.isAbsolute()) { appBaseDir = new File(System.getProperty("catalina.base"), appBase); } basename = war.substring(0, war.indexOf(".war")); File file = new File(appBaseDir, war); if (file.exists()) { message = sm.getString("htmlManagerServlet.deployUploadWarExists", war); break; } warUpload.write(file); try { URL url = file.toURL(); war = url.toString(); war = "jar:" + war + "!/"; } catch (MalformedURLException e) { file.delete(); throw e; } break; } } catch (Exception e) { message = sm.getString("htmlManagerServlet.deployUploadFail", e.getMessage()); log(message, e); } finally { if (warUpload != null) { warUpload.delete(); } warUpload = null; } // Extract the nested context deployment file (if any) File localWar = new File(appBaseDir, basename + ".war"); File localXml = new File(configBase, basename + ".xml"); try { extractXml(localWar, localXml); } catch (IOException e) { log("managerServlet.extract[" + localWar + "]", e); return; } String config = null; try { if (localXml.exists()) { URL url = localXml.toURL(); config = url.toString(); } } catch (MalformedURLException e) { throw e; } // If there were no errors, deploy the WAR if (message.length() == 0) { message = deployInternal(config, null, war); } list(request, response, message); }
From source file:org.apache.catalina.servlets.HTMLManagerServlet.java
/** * Process a POST request for the specified resource. * * @param request The servlet request we are processing * @param response The servlet response we are creating * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet-specified error occurs *//*from w w w.j a va2 s . co m*/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // Identify the request parameters that we need String command = request.getPathInfo(); if (command == null || !command.equals("/upload")) { doGet(request, response); return; } // Prepare our output writer to generate the response message Locale locale = Locale.getDefault(); String charset = context.getCharsetMapper().getCharset(locale); response.setLocale(locale); response.setContentType("text/html; charset=" + charset); String message = ""; // Create a new file upload handler DiskFileUpload upload = new DiskFileUpload(); // Get the tempdir File tempdir = (File) getServletContext().getAttribute("javax.servlet.context.tempdir"); // Set upload parameters upload.setSizeMax(-1); upload.setRepositoryPath(tempdir.getCanonicalPath()); // Parse the request String war = null; FileItem warUpload = null; try { List items = upload.parseRequest(request); // Process the uploaded fields Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { if (item.getFieldName().equals("installWar") && warUpload == null) { warUpload = item; } else { item.delete(); } } } while (true) { if (warUpload == null) { message = sm.getString("htmlManagerServlet.installUploadNoFile"); break; } war = warUpload.getName(); if (!war.toLowerCase().endsWith(".war")) { message = sm.getString("htmlManagerServlet.installUploadNotWar", war); break; } // Get the filename if uploaded name includes a path if (war.lastIndexOf('\\') >= 0) { war = war.substring(war.lastIndexOf('\\') + 1); } if (war.lastIndexOf('/') >= 0) { war = war.substring(war.lastIndexOf('/') + 1); } // Identify the appBase of the owning Host of this Context // (if any) String appBase = null; File appBaseDir = null; appBase = ((Host) context.getParent()).getAppBase(); appBaseDir = new File(appBase); if (!appBaseDir.isAbsolute()) { appBaseDir = new File(System.getProperty("catalina.base"), appBase); } File file = new File(appBaseDir, war); if (file.exists()) { message = sm.getString("htmlManagerServlet.installUploadWarExists", war); break; } warUpload.write(file); try { URL url = file.toURL(); war = url.toString(); war = "jar:" + war + "!/"; } catch (MalformedURLException e) { file.delete(); throw e; } break; } } catch (Exception e) { message = sm.getString("htmlManagerServlet.installUploadFail", e.getMessage()); log(message, e); } finally { if (warUpload != null) { warUpload.delete(); } warUpload = null; } // If there were no errors, install the WAR if (message.length() == 0) { message = install(null, null, war); } list(request, response, message); }
From source file:org.apache.struts.upload.CommonsMultipartRequestHandler.java
/** * <p> Parses the input stream and partitions the parsed items into a set * of form fields and a set of file items. In the process, the parsed * items are translated from Commons FileUpload <code>FileItem</code> * instances to Struts <code>FormFile</code> instances. </p> * * @param request The multipart request to be processed. * @throws ServletException if an unrecoverable error occurs. */// w w w . j av a 2 s. c o m public void handleRequest(HttpServletRequest request) throws ServletException { // Get the app config for the current request. ModuleConfig ac = (ModuleConfig) request.getAttribute(Globals.MODULE_KEY); // Create and configure a DIskFileUpload instance. DiskFileUpload upload = new DiskFileUpload(); // The following line is to support an "EncodingFilter" // see http://issues.apache.org/bugzilla/show_bug.cgi?id=23255 upload.setHeaderEncoding(request.getCharacterEncoding()); // Set the maximum size before a FileUploadException will be thrown. upload.setSizeMax(getSizeMax(ac)); // Set the maximum size that will be stored in memory. upload.setSizeThreshold((int) getSizeThreshold(ac)); // Set the the location for saving data on disk. upload.setRepositoryPath(getRepositoryPath(ac)); // Create the hash tables to be populated. elementsText = new Hashtable(); elementsFile = new Hashtable(); elementsAll = new Hashtable(); // Parse the request into file items. List items = null; try { items = upload.parseRequest(request); } catch (DiskFileUpload.SizeLimitExceededException e) { // Special handling for uploads that are too big. request.setAttribute(MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED, Boolean.TRUE); return; } catch (FileUploadException e) { log.error("Failed to parse multipart request", e); throw new ServletException(e); } // Partition the items into form fields and files. Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { addTextParameter(request, item); } else { addFileParameter(item); } } }