public JsonResult Obtener(string nrodoc) { try { var rol = Session["Loged_usrfile_rol"]; if (!"C".Equals(rol)) { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } string rpta; if (!String.IsNullOrWhiteSpace(nrodoc)) { nrodoc = nrodoc.Trim(); string codcia = Session["Loged_usrfile_ciafile"].ToString(); anexos anexo = db.anexos.Where(a => a.idcia.Equals(codcia) && a.tipane.Equals("C") && a.codane.Equals(nrodoc) && a.situane.Equals("V")).FirstOrDefault(); if (anexo != null) { return(Json(new { respuesta = Msg.OpExitosa, anexo = anexo }, JsonRequestBehavior.AllowGet)); } else { rpta = "ADVERTENCIA: El Anexo no est\u00E1 registrado o se encuentra deshabilitado"; } } else { rpta = Msg.AttrNoNuloVacio(Msg.NUMDOC); } return(Json(new { respuesta = rpta }, JsonRequestBehavior.AllowGet)); } catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e.Message }, JsonRequestBehavior.AllowGet)); } }
public static anexos crearObtener(string codcia, string nrodoc, string desane, string refane) { try { appbosaEntities db = new appbosaEntities(); if (String.IsNullOrWhiteSpace(desane) || String.IsNullOrWhiteSpace(desane) || String.IsNullOrWhiteSpace(desane) || String.IsNullOrWhiteSpace(desane)) { return(null); } anexos anexo = db.anexos.Where(a => a.idcia.Equals(codcia) && a.tipane.Equals("C") && a.codane.Equals(nrodoc)).FirstOrDefault(); if (anexo == null) { anexo = new anexos(); anexo.idcia = codcia; anexo.tipane = "C"; anexo.desane = desane.Trim().ToUpper(); anexo.refane = refane.Trim().ToUpper(); anexo.nrodoc = nrodoc; anexo.situane = "V"; if (nrodoc.Trim().Length == 11) { anexo.tipdoc = "06"; anexo.codane = nrodoc.Trim(); anexo.rucane = nrodoc; db.anexos.Add(anexo); db.SaveChanges(); return(anexo); } else if (nrodoc.Trim().Length == 8) { anexo.tipdoc = "01"; anexo.codane = nrodoc.Trim(); db.anexos.Add(anexo); db.SaveChanges(); return(anexo); } else { return(null); } } else { return(anexo); } }catch (Exception ex) { return(null); } }
public JsonResult Actualizar(string a) { try { var rol = Session["Loged_usrfile_rol"]; if (!"C".Equals(rol)) { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } anexos anexo = JsonConvert.DeserializeObject <anexos>(a); string rpta; if (!String.IsNullOrWhiteSpace(anexo.nrodoc)) { anexo.nrodoc = anexo.nrodoc.Trim(); string codcia = Session["Loged_usrfile_ciafile"].ToString(); anexos aux = db.anexos.Where(b => b.idcia.Equals(codcia) && b.tipane.Equals("C") && b.codane.Equals(anexo.nrodoc)).FirstOrDefault(); if (aux != null) { if (aux.situane.Equals("V")) { aux.refane = anexo.refane != null?anexo.refane.ToUpper() : ""; aux.tipdoc = anexo.tipdoc != null?anexo.tipdoc.ToUpper() : ""; aux.nrodoc = anexo.nrodoc != null?anexo.nrodoc.ToUpper() : ""; aux.rucane = anexo.tipdoc.Equals("06") ? anexo.nrodoc : ""; aux.nombre1 = anexo.nombre1 != null?anexo.nombre1.ToUpper() : ""; aux.nombre2 = anexo.nombre2 != null?anexo.nombre2.ToUpper() : ""; aux.apepat = anexo.apepat != null?anexo.apepat.ToUpper() : ""; aux.apemat = anexo.apemat != null?anexo.apemat.ToUpper() : ""; if (String.IsNullOrWhiteSpace(anexo.desane)) { string[] s = { aux.nombre1, aux.nombre2, aux.apepat, aux.apemat }; aux.desane = anexo.desane != null?anexo.desane.ToUpper() : String.Join(" ", s); } aux.fmod = DateTime.Now.ToString("dd/MM/yyyy"); db.SaveChanges(); return(Json(new { respuesta = Msg.OpExitosa, anexo = new { aux.nrodoc, aux.desane, aux.refane } }, JsonRequestBehavior.AllowGet)); } else { rpta = "ERROR: No se puede actualizar porque el registro esta deshabilitado"; } } else { rpta = "ADVERTENCIA: Anexo no registrado"; } } else { rpta = Msg.AttrNoNuloVacio(Msg.NUMDOC); } return(Json(new { respuesta = rpta }, JsonRequestBehavior.AllowGet)); } catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e.Message }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Crear(string a) { try { var rol = Session["Loged_usrfile_rol"]; if (!"C".Equals(rol)) { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } anexos anexo = JsonConvert.DeserializeObject <anexos>(a); string rpta = "ERROR: "; bool estado = true; if (String.IsNullOrWhiteSpace(anexo.tipdoc)) { estado = false; rpta += Msg.AttrNoNuloVacio("Tipo de documento") + "\n"; } if (String.IsNullOrWhiteSpace(anexo.nrodoc)) { estado = false; rpta += Msg.AttrNoNuloVacio(Msg.NUMDOC) + "\n"; } if (estado) { string codcia = Session["Loged_usrfile_ciafile"].ToString(); string idusr = Session["Loged_usrfile_idusr"].ToString(); anexos aux = db.anexos.Where(b => b.idcia.Equals(codcia) && b.tipane.Equals("C") && b.codane.Equals(anexo.nrodoc)).FirstOrDefault(); if (aux == null) { anexo.idcia = codcia; anexo.codane = anexo.nrodoc; anexo.tipane = "C"; anexo.refane = anexo.refane != null?anexo.refane.ToUpper() : ""; anexo.tipdoc = anexo.tipdoc != null?anexo.tipdoc.ToUpper() : ""; anexo.nrodoc = anexo.nrodoc != null?anexo.nrodoc.ToUpper() : ""; anexo.rucane = anexo.tipdoc.Equals("06")? anexo.nrodoc : ""; anexo.nombre1 = anexo.nombre1 != null?anexo.nombre1.ToUpper() : ""; anexo.nombre2 = anexo.nombre2 != null?anexo.nombre2.ToUpper() : ""; anexo.apepat = anexo.apepat != null?anexo.apepat.ToUpper() : ""; anexo.apemat = anexo.apemat != null?anexo.apemat.ToUpper() : ""; if (String.IsNullOrWhiteSpace(anexo.desane)) { string[] s = { anexo.nombre1, anexo.nombre2, anexo.apepat, anexo.apemat }; anexo.desane = anexo.desane != null?anexo.desane.ToUpper() : String.Join(" ", s); } anexo.tipper = ""; if (!String.IsNullOrWhiteSpace(anexo.rucane)) { switch (anexo.rucane.ToCharArray()[0]) { case '1': anexo.tipper = "01"; break; case '2': anexo.tipper = "02"; break; default: break; } } anexo.situane = "V"; anexo.usuario = idusr; anexo.fcrea = DateTime.Now.ToString("dd/MM/yyyy"); anexo.fmod = anexo.fcrea; db.anexos.Add(anexo); db.SaveChanges(); anexo = db.anexos.Where(b => b.idcia.Equals(codcia) && b.tipane.Equals("C") && b.codane.Equals(anexo.nrodoc) && b.situane.Equals("V")).FirstOrDefault(); return(Json(new { respuesta = Msg.OpExitosa, anexo = anexo }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { respuesta = "ADVERTENCIA: El anexo ya existe", anexo = new { anexo.nrodoc, anexo.desane, anexo.refane } }, JsonRequestBehavior.AllowGet)); } } return(Json(new { respuesta = rpta }, JsonRequestBehavior.AllowGet)); }catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { respuesta = "ERROR: " + e.Message }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Consulta(string tipdoc, string serie, string correlativo, string fecha, string importe) { try { appbosaEntities db = new appbosaEntities(); DateTime cdate; List <string> tdtipdoc = db.tdtipdoc.ToList().Select(b => b.TIPDOC).ToList(); var cm = db.maesgen.Where(a => a.idmaesgen.Equals("002") && tdtipdoc.Contains(a.clavemaesgen)).ToList(); ViewBag.tipdocs = cm.ToList(); ViewBag.td = tipdoc; if (DateTime.TryParse(fecha, out cdate)) { venc vc = db.venc.Where(a => a.SERIE.Equals(serie) && a.NRODOC.Equals(correlativo) ).FirstOrDefault(); if (vc != null && vc.CDATE.Equals(cdate)) { decimal impIn; if (Decimal.TryParse(importe.Replace(',', '.'), out impIn)) { decimal impDB = db.vend.Where(a => a.CODCIA.Equals(vc.CODCIA) && a.CODIGO.Equals(vc.CODIGO)).Sum(a => a.TOTAL); if (impIn == impDB) { List <vend> vds = db.vend.Where(a => a.CODCIA.Equals(vc.CODCIA) && a.CODIGO.Equals(vc.CODIGO)).ToList(); ciafile cia = db.ciafile.Where(a => a.idcia.Equals(vc.CODCIA)).FirstOrDefault(); sucursal suc = db.sucursal.Where(a => a.codcia.Equals(cia.idcia) && a.codigo.Equals(vc.SUCURSAL)).FirstOrDefault(); anexos anexo = db.anexos.Where(a => a.idcia.Equals(cia.idcia) && a.tipane.Equals(vc.TIPANE) && a.codane.Equals(vc.CODANE)).FirstOrDefault(); if (anexo.tipdoc.Equals(tipdoc)) { maesgen emision = db.maesgen.Where(a => a.idmaesgen.Equals("110") && a.clavemaesgen.Equals(vc.TIPDOC)).FirstOrDefault(); maesgen mgtd = db.maesgen.Where(a => a.idmaesgen.Equals("002") && a.clavemaesgen.Equals(anexo.tipdoc)).FirstOrDefault(); maesgen mgmoneda = db.maesgen.Where(a => a.idmaesgen.Equals("015") && a.clavemaesgen.Equals(vc.CODMON)).FirstOrDefault(); var u = (from a in db.venpag join b in db.forventa on a.FORVENTA equals b.codigo from c in db.forpago.Where(d => d.codigo.Equals(a.FORPAGO)).DefaultIfEmpty() from d in db.tarjetas.Where(t => t.codigo.Equals(a.TARJETA)).DefaultIfEmpty() where a.CODCIA.Equals(vc.CODCIA) && a.CODIGO.Equals(vc.CODIGO) select new { codigo = a.CODIGO, importe = a.IMPORTE, recibido = a.RECIBIDO, vuelto = a.VUELTO, forventa = b.descripcion, forpago = c.descripcion, tarjeta = d.descripcion } ).ToList(); decimal total = 0, sumagra = 0, sumaina = 0, sumaexo = 0, sumaigv = 0; foreach (vend item in vds) { sumaigv += item.IGV; total += item.TOTAL; switch (item.TIPOVALORVENTA) { case "01": item.GRAVADO = item.NETO; sumagra += (decimal)item.GRAVADO; break; case "02": item.EXONERADO = item.NETO; sumaexo += (decimal)item.EXONERADO; break; case "03": item.INAFECTO = item.NETO; sumaina += (decimal)item.INAFECTO; break; } } parreg prigv = db.parreg.Where(a => a.IDCIA.Equals(cia.idcia) && a.FORM.Equals("COM")).FirstOrDefault(); AppAccounting.NumLetras nl = new AppAccounting.NumLetras(); ViewBag.cia = cia; ViewBag.suc = suc; ViewBag.fecha = cdate.ToString("dd/MM/yyyy"); ViewBag.venc = vc; ViewBag.vends = vds; ViewBag.anexo = anexo; ViewBag.tipdoc = mgtd.parm1maesgen; ViewBag.tipdocdesc = mgtd.desmaesgen; ViewBag.docemi = emision.parm6maesgen; ViewBag.moneda = mgmoneda.parm1maesgen; ViewBag.gravado = sumagra; ViewBag.exonerado = sumaexo; ViewBag.inafecto = sumaina; ViewBag.igv = sumaigv; ViewBag.com_tasa_igv = prigv.COM_TASA_IGV; ViewBag.total = total; ViewBag.totalstr = nl.Numero_to_Letras(mgmoneda.clavemaesgen, total); ViewBag.resumen = u; ViewBag.serie = vc.SERIE; ViewBag.correlativo = vc.NRODOC; ViewBag.abrevia = mgmoneda.abrevia; return(View("Documento")); } } } else { ViewBag.msg_error = "El monto total debe ser un n\u00FAmero v\u00E1lido"; return(View("Consulta")); } } ViewBag.msg_error = "Los datos ingresados no coinciden con ninguno de nuestros registros"; return(View("Consulta")); } else { ViewBag.msg_error = "Formato de fecha incorrecto"; return(View("Consulta")); } } catch (Exception ex) { return(RedirectToAction("Error", "Error", ex.Message)); } }
public JsonResult Facturar(string codconc, string nroane, string desane, string refane, string tipdoc, string vp) { try { var rol = Session["Loged_usrfile_rol"]; if (!"C".Equals(rol)) { return(Json(new { respuesta = Msg.PermisoDenegado }, JsonRequestBehavior.AllowGet)); } string codcia = Session["Loged_usrfile_ciafile"].ToString(); string sucursal = Session["Loged_usrfile_sucursal"].ToString(); string punemi = Session["Loged_usrfile_punemi"].ToString(); string idusr = Session["Loged_usrfile_idusr"].ToString(); string desusr = Session["Loged_usrfile_desusr"].ToString(); anexos anexo = AnexosController.crearObtener(codcia, nroane, desane, refane); if (anexo == null) { return(Json(new { respuesta = "ERROR: Error al obtener o crear el anexo, asegurese que los datos del cliente esten correctamente ingresados" }, JsonRequestBehavior.AllowGet)); } parreg parreg = db.parreg.Where(a => a.IDCIA.Equals(codcia) && a.FORM.Equals("POS")).FirstOrDefault(); if (parreg == null) { return(Json(new { respuesta = Msg.ErrParam }, JsonRequestBehavior.AllowGet)); } parreg prigv = db.parreg.Where(a => a.IDCIA.Equals(codcia) && a.FORM.Equals("COM")).FirstOrDefault(); if (prigv == null) { return(Json(new { respuesta = Msg.ErrParam }, JsonRequestBehavior.AllowGet)); } string numdoc = GenCod.NumDoc(db, codcia, punemi, tipdoc); if (String.IsNullOrWhiteSpace(numdoc)) { return(Json(new { respuesta = Msg.ErrGenerar(Msg.NUMDOC) }, JsonRequestBehavior.AllowGet)); } string codvenc = GenCod.CodVenc(db, codcia, punemi); if (codvenc == null) { return(Json(new { respuesta = Msg.ErrGenerar(Msg.CODIGO + " de la venta") }, JsonRequestBehavior.AllowGet)); } List <venpag> lista = JsonConvert.DeserializeObject <List <venpag> >(vp); int index = 1; foreach (venpag item in lista) { item.CODCIA = codcia; item.CODIGO = codvenc; item.ITEM = index.ToString().PadLeft(3, '0'); item.RECIBIDO = item.VUELTO + item.IMPORTE; if (String.IsNullOrWhiteSpace(item.FORPAGO)) { item.TARJETA = null; } if (String.IsNullOrWhiteSpace(item.TARJETA)) { item.TARJETA = null; } if (String.IsNullOrWhiteSpace(item.REFERENCIA)) { item.TARJETA = null; } db.venpag.Add(item); index++; } conc conc = db.conc.Where(a => a.CODCIA.Equals(codcia) && a.SUCURSAL.Equals(sucursal) && a.CODIGO.Equals(codconc)).FirstOrDefault(); if (conc == null) { return(Json(new { respuesta = Msg.AttrNoExiste(Msg.CODCONSUMO) }, JsonRequestBehavior.AllowGet)); } venc venc = new venc(); venc.CODCIA = codcia; venc.CODIGO = codvenc; venc.SUCURSAL = sucursal; venc.PUNEMI = punemi; venc.PROC_VENTA = "VD"; venc.TIPO = "B"; venc.PRG = "V0105"; venc.PERIODO = DateTime.Now.Year.ToString(); venc.FECMOV = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")); venc.MES = DateTime.Now.ToString("MM"); venc.TIPANE = "C"; venc.CODANE = anexo.codane; venc.DIRECCION = refane; venc.TIPDOC = tipdoc; venc.NUMDOC = numdoc; venc.FECDOC = DateTime.Now.ToString("dd/MM/yyyy"); venc.FECVEN = DateTime.Now.ToString("dd/MM/yyyy"); venc.CTIPCAM = 0; venc.CDATE = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")); venc.CHORA = DateTime.Now.ToString("hh:mm:ss"); venc.CUSER = idusr; venc.CSIT = "RF"; venc.IS_GR_REMITENTE = "N"; venc.CODMON = parreg.POS_MON_REFERENCIA; venc.SERIE = numdoc.ToString().Split('-')[0]; venc.NRODOC = numdoc.ToString().Split('-')[1]; venc.CONSUMO = conc.CODIGO; if (conc.SITUACION.Equals("A")) { conc.SITUACION = "C"; List <cond> items = db.cond.Where(a => a.CODCIA.Equals(codcia) && a.CODIGO.Equals(conc.CODIGO)).ToList(); index = 1; decimal total = 0, sumagra = 0, sumaexo = 0, sumaina = 0, sumaigv = 0; foreach (cond item in items) { vend vend = new vend(); vend.CODCIA = codcia; vend.CODIGO = venc.CODIGO; vend.ITEM = index.ToString().PadLeft(3, '0'); vend.IS_LOTE = "N"; vend.PREUNI = (decimal)item.PREUNI; vend.CANTIDAD = (decimal)item.CANTIDAD; vend.SUBTOTAL = (decimal)item.TOTAL; vend.PORCDESC = 0; vend.DESCUENTO = 0; vend.TOTAL = vend.SUBTOTAL; vend.IGV = (decimal)(vend.TOTAL * prigv.COM_TASA_IGV / (100 + prigv.COM_TASA_IGV)); vend.CONVENTA = item.CONVENTA; conventa conventa = db.conventa.Where(a => a.codcia.Equals(codcia) && a.codigo.Equals(item.CONVENTA) && a.situa.Equals("V")).FirstOrDefault(); vend.CODARTI = conventa.codigo; vend.DESARTI = conventa.descripcion; vend.TIPOVALORVENTA = conventa.tipovalorventa; vend.NETO = vend.TOTAL - vend.IGV; sumaigv += vend.IGV; total += vend.TOTAL; switch (vend.TIPOVALORVENTA) { case "01": vend.GRAVADO = vend.NETO; sumagra += (decimal)vend.GRAVADO; break; case "02": vend.EXONERADO = vend.NETO; sumaexo += (decimal)vend.EXONERADO; break; case "03": vend.INAFECTO = vend.NETO; sumaina += (decimal)vend.INAFECTO; break; default: break; } db.vend.Add(vend); index++; } db.venc.Add(venc); db.SaveChanges(); ciafile ciafile = db.ciafile.Where(a => a.idcia.Equals(codcia)).FirstOrDefault(); sucursal suc = db.sucursal.Where(a => a.codcia.Equals(codcia) && a.codigo.Equals(sucursal)).FirstOrDefault(); var u = (from a in db.venpag join b in db.forventa on a.FORVENTA equals b.codigo from c in db.forpago.Where(d => d.codigo.Equals(a.FORPAGO)).DefaultIfEmpty() from d in db.tarjetas.Where(t => t.codigo.Equals(a.TARJETA)).DefaultIfEmpty() where a.CODCIA.Equals(codcia) && a.CODIGO.Equals(codvenc) select new{ codigo = a.CODIGO, importe = a.IMPORTE, recibido = a.RECIBIDO, vuelto = a.VUELTO, forventa = b.descripcion, forpago = c.descripcion, tarjeta = d.descripcion } ).ToList(); peratencion per = db.peratencion.Where(a => a.codcia.Equals(codcia) && a.codigo.Equals(conc.PERATENCION)).FirstOrDefault(); maesgen mgmoneda = db.maesgen.Where(a => a.idmaesgen.Equals("015") && a.clavemaesgen.Equals(venc.CODMON)).FirstOrDefault(); maesgen emision = db.maesgen.Where(a => a.idmaesgen.Equals("110") && a.clavemaesgen.Equals(tipdoc)).FirstOrDefault(); maesgen mgtd = db.maesgen.Where(a => a.idmaesgen.Equals("002") && a.clavemaesgen.Equals(anexo.tipdoc)).FirstOrDefault(); NumLetras nl = new NumLetras(); return(Json(new { respuesta = Msg.OpExitosa, cia = ciafile, suc = suc, fecha = venc.FECDOC, hora = DateTime.Now.ToString("hh:mm tt"), venc = venc, anexo = anexo, tipdoc = mgtd.parm1maesgen, docemi = emision.parm6maesgen, moneda = mgmoneda.parm1maesgen, gravado = sumagra, exonerado = sumaexo, inafecto = sumaina, igv = sumaigv, total = total, totalstr = nl.Numero_to_Letras(mgmoneda.clavemaesgen, total), resumen = u, cajero = desusr, cod1 = venc.SERIE, cod2 = venc.NRODOC, abrevia = mgmoneda.abrevia, }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { respuesta = "ERROR: Error el consumo est\u00E1 cerrado" }, JsonRequestBehavior.AllowGet)); } } catch (System.Data.EntityException ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { respuesta = "ERROR: " + ex.Message }, JsonRequestBehavior.AllowGet)); } }