public Object Accion(Object oDatos) { _afdEdoDataMdl = (AfdEdoDataMdl)oDatos; int iClaveProceso = (int)_afdEdoDataMdl.solicitud.prcclave; if (_afdEdoDataMdl.rtpclave == Constantes.Respuesta.RESPONDER) { return(ResponderSol()); } else if (_afdEdoDataMdl.rtpclave == Constantes.Respuesta.TURNAR) { _afdEdoDataMdl.ID_Hito = Constantes.RespuestaHito.SI; //BUSCAMOS QUIEN ES EL QUE ESTA ATENIDNEDO LA SOLICITUD.. PARA CREAR LA BARRERA SIT_SOL_SEGUIMIENTO solSegBuscar = new SIT_SOL_SEGUIMIENTO(); solSegBuscar.solclave = _afdEdoDataMdl.solClave; solSegBuscar.prcclave = iClaveProceso; SIT_SOL_SEGUIMIENTO segAux = _segDao.dmlSelectID(solSegBuscar); _afdEdoDataMdl.AFDseguimientoMdl.usrclave = segAux.usrclave; SIT_RED_NODO nodoNvoPRUDanalizar = ExisteNodo(_afdEdoDataMdl.solClave, Constantes.NodoEstado.PRUD_REVISARRESP_SOLICITUD, (int)segAux.usrclave, _afdEdoDataMdl.ID_Capa + 1); // BUSCAR QUIEN ATIENDE LA SOLICUTD.... PARA BUSCAR LE NODO... if (nodoNvoPRUDanalizar == null) { // CREAR NODO ACTUAL SIGUIENTE DE LA PRUFanalizar que es la barrera nodoNvoPRUDanalizar = new SIT_RED_NODO { prcclave = iClaveProceso, solclave = _afdEdoDataMdl.solClave, araclave = _afdEdoDataMdl.ID_AreaUT, nodcapa = _afdEdoDataMdl.ID_Capa + 1, nodatendido = AfdConstantes.NODO.INDETERMINADO, nedclave = Constantes.NodoEstado.PRUD_REVISARRESP_SOLICITUD, nodfeccreacion = _afdEdoDataMdl.FechaRecepcion, nodclave = Constantes.General.ID_PENDIENTE, usrclave = segAux.usrclave, perclave = Constantes.Perfil.PRUT }; _nodoDao.dmlAgregar(nodoNvoPRUDanalizar); } SIT_RED_NODORESP oNodoResp = _redNodoRespDao.dmlSelectRespUnica(_afdEdoDataMdl.AFDnodoActMdl.nodclave); _afdEdoDataMdl.repClave = oNodoResp.repclave; return(Turnar(_afdEdoDataMdl, _nodoDao.iSecuencia)); } else if (_afdEdoDataMdl.rtpclave == Constantes.Respuesta.ASIGNAR) { Asignar(); } return(0); }
public Boolean dmlSelectRespExiste(SIT_RED_NODORESP nodoResp) { String sSQL = " SELECT * FROM SIT_RED_NODORESP WHERE repClave = :P0 AND nodclave = :P1 AND sdoclave = :P2 "; List <SIT_RED_NODORESP> lstNodoResp = CrearListaMDL <SIT_RED_NODORESP>( ConsultaDML(sSQL, nodoResp.repclave, nodoResp.nodclave, nodoResp.sdoclave) as DataTable); if (lstNodoResp.Count > 0) { return(true); } else { return(false); } }
protected int ResponderSol() { SIT_RED_NODORESP oNodoResp = _redNodoRespDao.dmlSelectRespUnica(_afdEdoDataMdl.AFDnodoActMdl.nodclave); _afdEdoDataMdl.ID_Hito = Constantes.RespuestaHito.NO; _afdEdoDataMdl.ID_AreaDestino = _afdEdoDataMdl.ID_AreaInai; AccionBase(true); //RespMoverSigNodo(Int64 iNodoOrigen, Int64 iNodoDestino, int iRespEdoAct, int iRespEdoNvo) // ACTUALIZAMOS LOS DATOS DEL SEGUIMIENTO _afdEdoDataMdl.AFDseguimientoMdl.segfecfin = _afdEdoDataMdl.AFDnodoActMdl.nodfeccreacion; _afdEdoDataMdl.AFDseguimientoMdl.segultimonodo = _afdEdoDataMdl.AFDnodoActMdl.nodclave; _afdEdoDataMdl.AFDseguimientoMdl.segedoproceso = AfdConstantes.PROCESO_ESTADO.TERMINADO; _afdEdoDataMdl.AFDseguimientoMdl.usrclave = _afdEdoDataMdl.usrClaveOrigen; // SE ACTUALZIA LA ARISTA DE RESPUESTA... _afdEdoDataMdl.AFDseguimientoMdl.repclave = oNodoResp.repclave; _segDao.dmlEditar(_afdEdoDataMdl.AFDseguimientoMdl); // FINALIZAMOS EL NODOD CREADO CON LA RESPUESTA _afdEdoDataMdl.AFDnodoActMdl.nodatendido = AfdConstantes.NODO.FINALIZADO; return(_nodoDao.dmlEditar(_afdEdoDataMdl.AFDnodoActMdl)); }
protected Boolean RespMoverSigNodo(Int64 iNodoOrigen, Int64 iNodoDestino, int iRespEdoAct, int iRespEdoNvo) { try { List <SIT_RED_NODORESP> lstResp = new List <SIT_RED_NODORESP>(); lstResp = _redNodoRespDao.dmlSelectObtenerRespNodo(iNodoOrigen, Constantes.RespuestaEstado.PROPUESTA); foreach (SIT_RED_NODORESP nodoRedAnt in lstResp) { SIT_RED_NODORESP nodoRespAct = new SIT_RED_NODORESP { nodclave = iNodoDestino, repclave = nodoRedAnt.repclave, sdoclave = iRespEdoNvo }; _redNodoRespDao.dmlAgregar(nodoRespAct); nodoRedAnt.sdoclave = iRespEdoAct; _redNodoRespDao.dmlEditar(nodoRedAnt); } } catch (Exception exp) { throw new Exception("Error al mover las respuestas " + exp.Message); } return(true); }
public SIT_RED_NODORESP dmlSelectID(SIT_RED_NODORESP oDatos) { String sSQL = " SELECT * FROM SIT_RED_NODORESP WHERE nodclave = :P0 AND repclave = :P1 "; return(CrearListaMDL <SIT_RED_NODORESP>(ConsultaDML(sSQL, oDatos.nodclave, oDatos.repclave) as DataTable)[0]); }
public int dmlBorrar(SIT_RED_NODORESP oDatos) { String sSQL = " DELETE FROM SIT_RED_NODORESP WHERE nodclave = :P0 AND repclave = :P1 "; return((int)EjecutaDML(sSQL, oDatos.nodclave, oDatos.repclave)); }
public int dmlEditar(SIT_RED_NODORESP oDatos) { String sSQL = " UPDATE SIT_RED_NODORESP SET sdoclave = :P0 WHERE nodclave = :P1 AND repclave = :P2 "; return((int)EjecutaDML(sSQL, oDatos.sdoclave, oDatos.nodclave, oDatos.repclave)); }
public Object dmlAgregar(SIT_RED_NODORESP oDatos) { String sSQL = " INSERT INTO SIT_RED_NODORESP( sdoclave, repclave, nodclave) VALUES ( :P0, :P1, :P2) "; return(EjecutaDML(sSQL, oDatos.sdoclave, oDatos.repclave, oDatos.nodclave)); }
/* * CONSULTAS PARAS LAS RESPUESTAS */ public List <SIT_RESP_RESPUESTA> dmlSelectRespEdo(SIT_RED_NODORESP nodoResp) { String sSQL = " select * from SIT_RESP_RESPUESTA WHERE repclave in ( select repclave from SIT_RED_NODORESP where nodclave = :P0 and sdoclave = :P1) "; return(CrearListaMDL <SIT_RESP_RESPUESTA>(ConsultaDML(sSQL, nodoResp.nodclave, nodoResp.sdoclave))); }
public Object Accion(Object oDatos) { _afdEdoDataMdl = (AfdEdoDataMdl)oDatos; int iClaveProceso = (int)_afdEdoDataMdl.solicitud.prcclave; if (_afdEdoDataMdl.rtpclave == Constantes.Respuesta.CORREGIR) { SIT_RED_NODORESP nodoResp = _afdEdoDataMdl.dicAuxRespuesta[ProcesoGralDao.PARAM_RED_NODORESP] as SIT_RED_NODORESP; _redNodoRespDao.dmlEditar(nodoResp); //revisar el usuario y el area a donde se dirije el nuevo--.-. AccionBase(false); _respRespDao = new SIT_RESP_RESPUESTADao(_cn, _transaction, _sDataAdapter); Dictionary <SIT_RESP_RESPUESTA, SIT_RESP_DETALLE> dicRespDet = _afdEdoDataMdl.dicAuxRespuesta[ProcesoGralDao.PARAM_DIC_RESP_DETALLE] as Dictionary <SIT_RESP_RESPUESTA, SIT_RESP_DETALLE>; foreach (KeyValuePair <SIT_RESP_RESPUESTA, SIT_RESP_DETALLE> entry in dicRespDet) { Int64 irespClave = (long)_respRespDao.dmlAgregar(entry.Key); SIT_RESP_DETALLEDao oRespDetalle = new SIT_RESP_DETALLEDao(_cn, _transaction, _sDataAdapter); entry.Value.repclave = irespClave; oRespDetalle.dmlAgregar(entry.Value); // al nuevo nodo le agregamos el esado.. SIT_RED_NODORESP oNodoRespCorregir = new SIT_RED_NODORESP { repclave = irespClave, nodclave = _afdEdoDataMdl.AFDnodoActMdl.nodclave, sdoclave = Constantes.RespuestaEstado.PROPUESTA }; _redNodoRespDao.dmlAgregar(oNodoRespCorregir); } } //// long repClave = (long)prcGralDao.InsertarRegistro(_afdEdoDataMdl.dicAuxRespuesta); //// _afdEdoDataMdl.ID_Hito = Constantes.RespuestaHito.NO; //// _afdEdoDataMdl.ID_AreaDestino = _afdEdoDataMdl.ID_AreaInai; //// AccionBase(true); //// // ACTUALIZAMOS LOS DATOS DEL SEGUIMIENTO //// _afdEdoDataMdl.AFDseguimientoMdl.segfecfin = _afdEdoDataMdl.AFDnodoActMdl.nodfeccreacion; //// _afdEdoDataMdl.AFDseguimientoMdl.segultimonodo = _afdEdoDataMdl.AFDnodoActMdl.nodclave; //// _afdEdoDataMdl.AFDseguimientoMdl.segedoproceso = AfdConstantes.PROCESO_ESTADO.TERMINADO; //// _afdEdoDataMdl.AFDseguimientoMdl.usrclave = _afdEdoDataMdl.usrClaveOrigen; //// // SE ACTUALZIA LA ARISTA DE RESPUESTA... //// _afdEdoDataMdl.AFDseguimientoMdl.repclave = repClave; //// _segDao.dmlEditar(_afdEdoDataMdl.AFDseguimientoMdl); //// // FINALIZAMOS EL NODOD CREADO CON LA RESPUESTA //// _afdEdoDataMdl.AFDnodoActMdl.nodatendido = AfdConstantes.NODO.FINALIZADO; //// return _nodoDao.dmlEditar(_afdEdoDataMdl.AFDnodoActMdl); ////} ////else if (_afdEdoDataMdl.rtpclave == Constantes.Respuesta.TURNAR) ////{ //// _afdEdoDataMdl.ID_Hito = Constantes.RespuestaHito.SI; //// //BUSCAMOS QUIEN ES EL QUE ESTA ATENIDNEDO LA SOLICITUD.. PARA CREAR LA BARRERA //// SIT_SOL_SEGUIMIENTO solSegBuscar = new SIT_SOL_SEGUIMIENTO(); //// solSegBuscar.solclave = _afdEdoDataMdl.solClave; //// solSegBuscar.prcclave = iClaveProceso; //// SIT_SOL_SEGUIMIENTO segAux = _segDao.dmlSelectID(solSegBuscar); //// _afdEdoDataMdl.AFDseguimientoMdl.usrclave = segAux.usrclave; //// SIT_RED_NODO nodoNvoUTanalizar = ExisteNodo(_afdEdoDataMdl.solClave, Constantes.NodoEstado.UT_SOLICITUD_RECIBIR, (int)segAux.usrclave, _afdEdoDataMdl.ID_Capa + 1); //// // BUSCAR QUIEN ATIENDE LA SOLICUTD.... PARA BUSCAR LE NODO... //// if (nodoNvoUTanalizar == null) //// { //// // CREAR NODO ACTUAL SIGUIENTE DE LA UTanalizar que es la barrera //// nodoNvoUTanalizar = new SIT_RED_NODO //// { //// prcclave = iClaveProceso, //// solclave = _afdEdoDataMdl.solClave, //// araclave = _afdEdoDataMdl.ID_AreaUT, //// nodcapa = _afdEdoDataMdl.ID_Capa + 1, //// nodatendido = AfdConstantes.NODO.INDETERMINADO, //// nedclave = Constantes.NodoEstado.UT_SOLICITUD_RECIBIR, //// nodfeccreacion = _afdEdoDataMdl.FechaRecepcion, //// nodclave = Constantes.General.ID_PENDIENTE, //// usrclave = segAux.usrclave, //// perclave = Constantes.Perfil.UT //// }; //// _nodoDao.dmlAgregar(nodoNvoUTanalizar); //// } //// // Aqui me falta agregar el proceso Gral Dao.. //// long iRespClave = prcGralDao.AdmRegistro(_afdEdoDataMdl.dicAuxRespuesta); //// _afdEdoDataMdl.repClave = iRespClave; //// return Turnar(_afdEdoDataMdl); ////} ////else if (_afdEdoDataMdl.rtpclave == Constantes.Respuesta.ASIGNAR) ////{ //// _afdEdoDataMdl.ID_EstadoSiguiente = _afdEdoDataMdl.dicAfdFlujo[_afdEdoDataMdl.ID_EstadoActual].dicAccionEstado[_afdEdoDataMdl.rtpclave]; //// _afdEdoDataMdl.ID_Hito = Constantes.RespuestaHito.NO; //// long repClave = (long)prcGralDao.AdmRegistro(_afdEdoDataMdl.dicAuxRespuesta); //// // ACTUALIZAMOS QUE PERSONA LE VA A DAR SEGUIMIENTO //// _afdEdoDataMdl.AFDseguimientoMdl.usrclave = _afdEdoDataMdl.usrClaveDestino; //// _afdEdoDataMdl.ID_AreaDestino = _afdEdoDataMdl.ID_AreaUT; //// AccionBase(true); ////} return(0); }