public ActionResult CreateFA(string id, int pid, int v) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ObtenerConfPage(923, 925); List <DET_APROBP> flujosva = db.DET_APROBP.Where(t => t.SOCIEDAD_ID == id && t.PUESTOC_ID == pid && t.VERSION == v).ToList(); var lan = ViewBag.usuario.SPRAS_ID; var puestos = db.PUESTOes.Where(t => t.ID == pid).ToList(); var sl_puestos = puestos.Select(x => new { x.ID, Puesto = x.PUESTOTs.Count > 0 ? x.PUESTOTs.Where(t => t.SPRAS_ID == lan).FirstOrDefault().TXT50 : "" }).ToList(); ViewBag.PUESTOC_ID = new SelectList(sl_puestos, "ID", "Puesto"); ViewBag.NivelesA = new SelectList(FnCommon.ObtenerCmbNivelesA(), "Value", "Text"); ViewBag.NivelesP = new SelectList(FnCommon.ObtenerCmbNivel(), "Value", "Text"); ViewBag.NivelesM = new SelectList(FnCommon.ObtenerCmbNivel(), "Value", "Text"); DET_APROBH dET_APROBP = new DET_APROBH { SOCIEDAD_ID = id, ACTIVO = true, VERSION = v + 1, PUESTOC_ID = pid }; var sociedad = db.SOCIEDADs.Find(id); ViewBag.Miles = db.PAIS.Where(t => t.LAND == sociedad.LAND).SingleOrDefault().MILES; ViewBag.PD = db.PAIS.Where(t => t.LAND == sociedad.LAND).SingleOrDefault().DECIMAL; ViewBag.FlujosActuales = flujosva; return(View(dET_APROBP)); }
public JsonResult Det_Aprob2(string bukrs, string puesto, string spras) { TAT001Entities db = new TAT001Entities(); int p = Int16.Parse(puesto); DET_APROBH dh = db.DET_APROBH.Where(a => a.SOCIEDAD_ID.Equals(bukrs) & a.PUESTOC_ID == p).OrderByDescending(a => a.VERSION).FirstOrDefault(); if (dh != null) { var c = (from N in db.DET_APROBP join St in db.PUESTOTs on N.PUESTOA_ID equals St.PUESTO_ID where N.SOCIEDAD_ID.Equals(bukrs) & N.PUESTOC_ID.Equals(p) & St.SPRAS_ID.Equals(spras) & N.VERSION.Equals(dh.VERSION) //where N.BUKRS.Equals(bukrs) select new { N.POS, N.PUESTOA_ID.Value, St.TXT50, N.MONTO, PRESUPUESTO = (bool)N.PRESUPUESTO.Value }).ToList(); TAX_LAND tl = db.TAX_LAND.Where(a => a.SOCIEDAD_ID.Equals(bukrs) & a.ACTIVO == true).FirstOrDefault(); if (tl != null) { var col = (from St in db.PUESTOTs where St.PUESTO_ID == 9 & St.SPRAS_ID.Equals(spras) //where N.BUKRS.Equals(bukrs) select new { POS = 98, Value = St.PUESTO_ID, St.TXT50, MONTO = (decimal?)decimal.Parse("-1"), PRESUPUESTO = false }); c.AddRange(col); } var ca = c.OrderBy(a => a.POS); JsonResult cc = Json(ca, JsonRequestBehavior.AllowGet); return(cc); } else { return(null); } }
public ActionResult EditF([Bind(Include = "SOCIEDAD_ID, VERSION, PUESTOC_ID, ACTIVO")] DET_APROBH modelo) { if (ModelState.IsValid) { db.Entry(modelo).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Flujos", new { id = modelo.SOCIEDAD_ID })); } ObtenerConfPage(923, 927); return(View(modelo)); }
public ActionResult EditF(string id, int pid, int v) { if (id == null || pid == 0 || v == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ObtenerConfPage(923, 927); DET_APROBH flujo = db.DET_APROBH.Where(t => t.SOCIEDAD_ID == id && t.PUESTOC_ID == pid && t.VERSION == v).SingleOrDefault(); return(View(flujo)); }
public FLUJO determinaAgenteC(DOCUMENTO d, CLIENTEF cf, int pos, int sop, string tipo)//, string next) { FLUJO f = new FLUJO(); List <DET_APROBP> ddp = new List <DET_APROBP>(); using (TAT001Entities db = new TAT001Entities()) { DET_APROBH dh = db.DET_APROBH.Where(a => a.SOCIEDAD_ID.Equals(d.SOCIEDAD_ID) & a.ACTIVO).OrderByDescending(a => a.VERSION).FirstOrDefault();// OBTIENE ENCABEZADO FLUJO DE SOCIEDAD if (dh != null) { ddp = db.DET_APROBP.Where(a => a.SOCIEDAD_ID.Equals(dh.SOCIEDAD_ID) & a.PUESTOC_ID == dh.PUESTOC_ID & a.VERSION == dh.VERSION & a.ACTIVO).ToList(); //oBTIENE TABLA DE FLUJO } if (tipo == "N") //------Si es modificación por rechazo de manager { FLUJO ffl = db.FLUJOes.Where(a => a.NUM_DOC.Equals(d.NUM_DOC) & a.ESTATUS.Equals("R")).OrderByDescending(a => a.POS).FirstOrDefault(); f = ffl; } } int ppos = 0; DET_APROBP dp = ddp.Where(a => a.POS == pos).FirstOrDefault(); //Obtiene nivel de autorización if (dp != null) //----Si existe posición { int detp = 0; if (tipo != "B" & tipo != "M")//---Si no es notificación ni modificación por rechazo de TS { if (dp.MONTO != null) { if (d.MONTO_DOC_MD > dp.MONTO) { ppos--; detp = dp.N_MONTO == null ? (pos + 1) : (int)dp.N_MONTO; } } if (ppos == 0) { if (dp.PRESUPUESTO != null & d.EXCEDE_PRES != null) { if (d.EXCEDE_PRES == "X" & dp.PRESUPUESTO == true) { ppos--; detp = dp.N_PRESUP == null ? (pos + 1) : (int)dp.N_PRESUP; } } } } else { pos = 98; } if (pos == 99) { f.USUARIOA_ID = null; } else if (ppos == 0 & sop == 98)//Cuando va a soporte(Termina autorización) { f.USUARIOA_ID = d.USUARIOD_ID; f.DETPOS = sop; } else if (ppos == 0 & sop == 99)//Cuando va a TS(Termina autorización) { f.USUARIOA_ID = cf.USUARIO6_ID; f.DETPOS = sop; } else { if ((detp - 1) == 1) { f.USUARIOA_ID = cf.USUARIO2_ID; if (cf.USUARIO2_ID != null) { f.DETPOS = detp; } else { ppos++; f.DETPOS = sop; if (sop == 99) { f.USUARIOA_ID = cf.USUARIO6_ID; } else { f.USUARIOA_ID = d.USUARIOD_ID; } } } if ((detp - 1) == 2) { f.USUARIOA_ID = cf.USUARIO3_ID; if (cf.USUARIO3_ID != null) { f.DETPOS = detp; } else { ppos++; f.DETPOS = sop; if (sop == 99) { f.USUARIOA_ID = cf.USUARIO6_ID; } else { f.USUARIOA_ID = d.USUARIOD_ID; } } } if ((detp - 1) == 3) { f.USUARIOA_ID = cf.USUARIO4_ID; if (cf.USUARIO4_ID != null) { f.DETPOS = detp; } else { ppos++; f.DETPOS = sop; if (sop == 99) { f.USUARIOA_ID = cf.USUARIO6_ID; } else { f.USUARIOA_ID = d.USUARIOD_ID; } } } if ((detp - 1) == 4) { f.USUARIOA_ID = cf.USUARIO5_ID; if (cf.USUARIO5_ID != null) { f.DETPOS = detp; } else { ppos++; f.DETPOS = sop; if (sop == 99) { f.USUARIOA_ID = cf.USUARIO6_ID; } else { f.USUARIOA_ID = d.USUARIOD_ID; } } } if (pos == 98)//Despues de rechazo de TS para PRA - regresa a TS { f.USUARIOA_ID = cf.USUARIO6_ID; f.DETPOS = 99; } } } else if (pos == 98) { f.USUARIOA_ID = cf.USUARIO6_ID; f.DETPOS = 99; } else if (pos == 0)//Despues de rechazo de TS para PR - regresa a TS { if (f.DETPOS == 99) { ppos = 1; } f.DETPOS--; f.POS = ppos; } f.POS = ppos; return(f); }
public ActionResult CreateFA([Bind(Include = "SOCIEDAD_ID,PUESTOC_ID,VERSION,ACTIVO")] DET_APROBH dET_APROBH, FormCollection collection) { if (ModelState.IsValid) { List <DET_APROBP> dET_APROBPs = new List <DET_APROBP>(); var posiciones = collection.GetValues("posicion"); var npresupuestos = collection.GetValues("NivelesPR"); var montos = collection.GetValues("monto"); var nmontos = collection.GetValues("NivelesMO"); var naprobadores = collection.GetValues("NivelesAP"); if (posiciones.Length > 1) { for (int i = 1; i < posiciones.Length; i++) { DET_APROBP dET_APROB = new DET_APROBP(); dET_APROB.POS = Convert.ToInt32(posiciones[i]); if ((i + 1) < posiciones.Length) { if (collection.AllKeys.Contains("p_" + i)) { dET_APROB.PRESUPUESTO = true; dET_APROB.N_PRESUP = Convert.ToInt16(npresupuestos[i]); } if (montos[i] != "") { dET_APROB.MONTO = Convert.ToDecimal(montos[i]); dET_APROB.N_MONTO = Convert.ToInt16(nmontos[i]); } } dET_APROB.PUESTOA_ID = Convert.ToInt16(naprobadores[i]); dET_APROB.ACTIVO = true; dET_APROB.PUESTOC_ID = dET_APROBH.PUESTOC_ID; dET_APROB.SOCIEDAD_ID = dET_APROBH.SOCIEDAD_ID; dET_APROB.VERSION = dET_APROBH.VERSION; dET_APROBPs.Add(dET_APROB); } dET_APROBH.DET_APROBP = dET_APROBPs; dET_APROBH.ACTIVO = true; db.Entry(dET_APROBH).State = EntityState.Added; db.SaveChanges(); var va = db.DET_APROBH.Where(t => t.SOCIEDAD_ID == dET_APROBH.SOCIEDAD_ID && t.PUESTOC_ID == dET_APROBH.PUESTOC_ID && t.VERSION == (dET_APROBH.VERSION - 1)).SingleOrDefault(); va.ACTIVO = false; foreach (var e in va.DET_APROBP) { e.ACTIVO = false; } db.SaveChanges(); return(RedirectToAction("MAFlujos", new { id = dET_APROBH.SOCIEDAD_ID, pid = dET_APROBH.PUESTOC_ID, v = dET_APROBH.VERSION })); } else { ModelState.AddModelError("Mensaje", "Incluya al menos una fila a la matriz de aprobación"); } } else { } ObtenerConfPage(923, 925); var flujos = db.DET_APROBH.Where(t => t.SOCIEDAD_ID == dET_APROBH.SOCIEDAD_ID && t.ACTIVO).Select(t => t.PUESTOC_ID).Distinct().ToList(); var lan = ViewBag.usuario.SPRAS_ID; var puestos = db.PUESTOes.Where(t => t.ACTIVO == true && t.ID != 1 && t.ID != 9 && !flujos.Contains(t.ID)).ToList(); var sl_puestos = puestos.Select(x => new { x.ID, Puesto = x.PUESTOTs.Count > 0 ? x.PUESTOTs.Where(t => t.SPRAS_ID == lan).FirstOrDefault().TXT50 : "" }).ToList(); ViewBag.PUESTOC_ID = new SelectList(sl_puestos, "ID", "Puesto"); ViewBag.NivelesA = new SelectList(FnCommon.ObtenerCmbNivelesA(), "Value", "Text"); ViewBag.NivelesP = new SelectList(FnCommon.ObtenerCmbNivel(), "Value", "Text"); ViewBag.NivelesM = new SelectList(FnCommon.ObtenerCmbNivel(), "Value", "Text"); var sociedad = db.SOCIEDADs.Find(dET_APROBH.SOCIEDAD_ID); ViewBag.Miles = db.PAIS.Where(t => t.LAND == sociedad.LAND).SingleOrDefault().MILES; ViewBag.PD = db.PAIS.Where(t => t.LAND == sociedad.LAND).SingleOrDefault().DECIMAL; return(View(dET_APROBH)); }
public ActionResult AgregarRol(USUARIO u) { int rol = Int32.Parse(Request.Form["txt_rol"].ToString()); string soc = Request.Form["txt_soc"].ToString(); string pais = Request.Form["txt_pai"].ToString(); MIEMBRO m = db.MIEMBROS.Where(a => a.USUARIO_ID.Equals(u.ID) & a.ROL_ID == rol).FirstOrDefault(); if (m == null) { m = new MIEMBRO(); m.ROL_ID = rol; m.USUARIO_ID = u.ID; m.ACTIVO = true; db.MIEMBROS.Add(m); } //List<DET_APROB> dd = db.DET_APROB.Where(a => a.PUESTOC_ID == u.PUESTO_ID & a.BUKRS.Equals(soc)).ToList(); GAUTORIZACION ga = new GAUTORIZACION(); ga.LAND = pais; ga.BUKRS = soc; ga.CLAVE = pais; ga.NOMBRE = soc; //db.GAUTORIZACIONs.Add(ga); USUARIO user = db.USUARIOs.Find(u.ID); user.GAUTORIZACIONs.Add(ga); db.Entry(user).State = EntityState.Modified; db.SaveChanges(); ////foreach (DET_APROB d in dd) ////{ //// DET_AGENTE da = new DET_AGENTE(); //// da.PUESTOC_ID = (int)u.PUESTO_ID; //// da.USUARIOC = u.ID; //// da.POS = d.POS; //// da.PUESTOA_ID = d.PUESTOA_ID; //// da.USUARIOA = Request.Form["txt_p-" + d.PUESTOA_ID].ToString(); //// da.ACTIVO = true; //// da.AGROUP_ID = ga.ID; //// da.MONTO = d.MONTO; //// da.PRESUPUESTO = d.PRESUPUESTO; //// db.DET_AGENTE.Add(da); //// string us = Request.Form["txt_p-" + d.PUESTOA_ID].ToString(); //// USUARIO uu = db.USUARIOs.Find(us); //// uu.GAUTORIZACIONs.Add(ga); //// db.Entry(uu).State = EntityState.Modified; //// MIEMBRO mi = db.MIEMBROS.Where(a => a.USUARIO_ID.Equals(uu.ID) & a.ROL_ID == 2).FirstOrDefault(); //// if (mi == null) //// { //// mi = new MIEMBRO(); //// mi.ROL_ID = 2; //// mi.USUARIO_ID = uu.ID; //// mi.ACTIVO = true; //// db.MIEMBROS.Add(mi); //// } //// db.SaveChanges(); ////} //string rol = Request.Form["txt_p-3"].ToString(); DET_APROBH dh = db.DET_APROBH.Where(a => a.SOCIEDAD_ID.Equals(soc) & a.PUESTOC_ID == u.PUESTO_ID).OrderByDescending(a => a.VERSION).FirstOrDefault(); if (dh != null) { DET_AGENTEH dah = new DET_AGENTEH(); dah.SOCIEDAD_ID = dh.SOCIEDAD_ID; dah.PUESTOC_ID = (int)u.PUESTO_ID; dah.VERSION = dh.VERSION; dah.AGROUP_ID = (int)ga.ID; dah.USUARIOC_ID = u.ID; dah.ACTIVO = true; db.DET_AGENTEH.Add(dah); db.SaveChanges(); List <DET_APROBP> ddp = db.DET_APROBP.Where(a => a.SOCIEDAD_ID.Equals(soc) & a.PUESTOC_ID == u.PUESTO_ID & a.VERSION == dh.VERSION).ToList(); foreach (DET_APROBP dp in ddp) { DET_AGENTEP dap = new DET_AGENTEP(); dap.SOCIEDAD_ID = dah.SOCIEDAD_ID; dap.PUESTOC_ID = dah.PUESTOC_ID; dap.VERSION = dah.VERSION; dap.AGROUP_ID = dah.AGROUP_ID; dap.POS = dp.POS; dap.PUESTOA_ID = dp.PUESTOA_ID; dap.USUARIOA_ID = Request.Form["txt_p-" + dp.PUESTOA_ID].ToString(); dap.MONTO = dp.MONTO; dap.PRESUPUESTO = dp.PRESUPUESTO; dap.ACTIVO = true; dah.DET_AGENTEP.Add(dap); //dgp.Add(dap); ////string us = dap.USUARIOA_ID; ////USUARIO uu = db.USUARIOs.Find(us); ////uu.GAUTORIZACIONs.Add(ga); ////db.Entry(uu).State = EntityState.Modified; ////MIEMBRO mi = db.MIEMBROS.Where(a => a.USUARIO_ID.Equals(uu.ID) & a.ROL_ID == 2).FirstOrDefault(); ////if (mi == null) ////{ //// mi = new MIEMBRO(); //// mi.ROL_ID = 2; //// mi.USUARIO_ID = uu.ID; //// mi.ACTIVO = true; //// db.MIEMBROS.Add(mi); ////} } TAX_LAND tl = db.TAX_LAND.Where(a => a.SOCIEDAD_ID.Equals(soc) & a.ACTIVO == true).FirstOrDefault(); if (tl != null) { DET_TAXEO dt = new DET_TAXEO(); dt.SOCIEDAD_ID = soc; dt.PAIS_ID = pais; dt.PUESTOC_ID = dah.PUESTOC_ID; dt.USUARIOC_ID = dah.USUARIOC_ID; dt.VERSION = dah.VERSION; dt.PUESTOA_ID = 9; dt.USUARIOA_ID = Request.Form["txt_p-9"].ToString(); dt.ACTIVO = true; db.DET_TAXEO.Add(dt); } db.SaveChanges(); } return(RedirectToAction("Details", new { id = u.ID })); }