Saltar al contenido principal

CaseStateModule

Transiciones de estado y consulta de estados. Thread-safe.

Ejemplo General​

```python
states = client.caso().state()
states.next(NextStateRequest(caso_id="c1", working_sub_state_primary_level_id="ws2"))
```

Métodos​

def __init__(config: ShoriConfig, http: HttpExecutor) -> None​

Parámetros:

  • config (ShoriConfig) —
  • http (HttpExecutor) —

def next(request: NextStateRequest | Mapping[str, Any]) -> None​

Avanza un caso al siguiente estado.

Parámetros:

  • request (NextStateRequest | Mapping[str, Any]) — NextStateRequest o dict con casoId y workingSubStatePrimaryLevelId.

Lanza:

  • ApiException — Si el API rechaza la transición.
  • ResourceNotFoundException — Si el caso no existe.

Ejemplo de uso:

```python
client.caso().state().next(
NextStateRequest(caso_id="caso-uuid", working_sub_state_primary_level_id="ws-uuid")
)
```

def next_massive(request: Sequence[NextStateRequest | Mapping[str, Any]]) -> None​

Avanza una lista de casos al siguiente estado en una sola llamada.

Parámetros:

  • request (Sequence[NextStateRequest | Mapping[str, Any]]) — Secuencia de NextStateRequest o dict.

Ejemplo de uso:

```python
client.caso().state().next_massive([
{"casoId": "c1", "workingSubStatePrimaryLevelId": "ws2"},
{"casoId": "c2", "workingSubStatePrimaryLevelId": "ws2"},
])
```

def next_by_caso_id_int(request: NextStateByCasoIdIntRequest | Mapping[str, Any]) -> None​

Avanza un caso usando su número interno (casoIdInt) en lugar del UUID.

Parámetros:

  • request (NextStateByCasoIdIntRequest | Mapping[str, Any]) — NextStateByCasoIdIntRequest o dict.

Ejemplo de uso:

```python
client.caso().state().next_by_caso_id_int(
NextStateByCasoIdIntRequest(caso_id_int=1001, working_sub_state_primary_level_id="ws-uuid")
)
```

def next_massive_by_caso_id_int(request: Sequence[NextStateByCasoIdIntRequest | Mapping[str, Any]]) -> None​

Avanza una lista de casos de forma masiva usando el número interno.

Parámetros:

  • request (Sequence[NextStateByCasoIdIntRequest | Mapping[str, Any]]) — Secuencia de NextStateByCasoIdIntRequest o dict.

Ejemplo de uso:

```python
client.caso().state().next_massive_by_caso_id_int([
{"casoIdInt": 1001, "workingSubStatePrimaryLevelId": "ws2"},
{"casoIdInt": 1002, "workingSubStatePrimaryLevelId": "ws2"},
])
```

def search(request: StateFilter) -> StateSearchResult​

Obtiene los estados de los casos.

Parámetros:

  • request (StateFilter) — StateFilter.

Retorna: StateSearchResult — StateSearchResult con state_response, count y num_elements.

Ejemplo de uso:

```python
res = client.caso().state().search(
StateFilter.builder().code(FilterOperator.LIKE, "Aprob").build()
)
```

def search_working_sub_state(request: WorkingSubStateFilter) -> WorkingSubStateSearchResult​

Busca los working sub states (subestados de trabajo) de los casos.

Parámetros:

  • request (WorkingSubStateFilter) — WorkingSubStateFilter.

Retorna: WorkingSubStateSearchResult — WorkingSubStateSearchResult.

Ejemplo de uso:

```python
res = client.caso().state().search_working_sub_state(
WorkingSubStateFilter.builder()
.caso_type_id("tipo-uuid")
.finalist(FilterOperator.EQ, "false")
.build()
)
```