Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código

_Créditos das imagens: ChatGPT **Título:** LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código **Introdução** Olá, entusiastas de Harbour/xBase e desafios de programação! Depois de explorarmos como mesclar duas listas ordenadas no [nosso post sobre o LeetCode 21](https://www.blacktdn.com.br/2025/03/blacktdn-leetcode-21-merge-two-sorted.html), vamos dar um passo adiante e enfrentar um problema um pouco mais complexo: o LeetCode 23 - Merge K Sorted Lists. Neste artigo, vamos desvendar uma implementação em Harbour/xBase para este desafio, demonstrando como podemos inteligentemente reutilizar a solução que já construímos para o problema 21. Veremos como a modularidade e a construção sobre soluções anteriores podem simplificar problemas mais complexos. **O Problema: LeetCode 23 - Merge K Sorted Lists** O desafio é o seguinte: dado um array (`aLists` em nossa implementação) contendo `k` listas encadeadas, onde cada lista já está ordenada em ordem cres...

BlackTDN :: Select Data Table :: userRestCrudTLPPCoreFunction :: AllToJSON

_Créditos da imagem: Gerada com auxílio do Copilot_

#### Request

```json
{
    "ClassName": "userRestCrudTLPPCoreFunction",
    "FunctionName": "dna.tech.codAliasPost",
    "codAlias": "SX5",
    "yesFields": "X5_TABELA,X5_CHAVE,X5_X5_DESCRI",
    "Filter": "D_E_L_E_T_=' ' AND X5_TABELA='35'",
    "PageNumber": 1,
    "RowspPage": 10,
    "cEmp": "01",
    "cFil": "01",
    "lChkPrepEnv": false,
    "lHTTPCTLen": true,
    "lFWHTTpEncode": true,
    "cHTTPCTType": "application/json; charset=UTF-8",
    "lHTTPCTType": true
}
```

#### Result

```json
{
    "method": "get",
    "path": "/userRestCrudADVPL/codAlias/",
    "PageNumber": 1,
    "RowspPage": 10,
    "table": {
        "alias": "SX5",
        "name": "SX5010",
        "description": "Tabelas",
        "index": "X5_FILIAL+X5_TABELA+X5_CHAVE",
        "items": [
            {
                "detail": {
                    "row": 1,
                    "key": "35001",
                    "recNo": 9436,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "001"
                    }
                }
            },
            {
                "detail": {
                    "row": 2,
                    "key": "35002",
                    "recNo": 9437,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "002"
                    }
                }
            },
            {
                "detail": {
                    "row": 3,
                    "key": "35003",
                    "recNo": 9438,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "003"
                    }
                }
            },
            {
                "detail": {
                    "row": 4,
                    "key": "35004",
                    "recNo": 9439,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "004"
                    }
                }
            },
            {
                "detail": {
                    "row": 5,
                    "key": "35005",
                    "recNo": 9440,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "005"
                    }
                }
            },
            {
                "detail": {
                    "row": 6,
                    "key": "35006",
                    "recNo": 9441,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "006"
                    }
                }
            },
            {
                "detail": {
                    "row": 7,
                    "key": "35007",
                    "recNo": 9442,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "007"
                    }
                }
            },
            {
                "detail": {
                    "row": 8,
                    "key": "35008",
                    "recNo": 9443,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "008"
                    }
                }
            },
            {
                "detail": {
                    "row": 9,
                    "key": "35009",
                    "recNo": 9444,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "009"
                    }
                }
            },
            {
                "detail": {
                    "row": 10,
                    "key": "35010",
                    "recNo": 9445,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "010"
                    }
                }
            }
        ]
    },
    "hasNextPage": true,
    "NextPage": 2,
    "TotalPages": 47
}
```

#### OU... Request

```json

{
    "ClassName": "userRestCrudTLPPCoreFunction",
    "FunctionName": "dna.tech.codAliasPost",
    "codAlias": "SX5",
    "noFields": "X5_FILIAL,X5_DESCSPA,X5_DESCENG",
    "Filter": {"D_E_L_E_T_" : " ", "X5_TABELA" : "35"},
    "PageNumber": 1,
    "RowspPage": 10,
    "cEmp": "01",
    "cFil": "01",
    "lChkPrepEnv": false,
    "lHTTPCTLen": true,
    "lFWHTTpEncode": true,
    "cHTTPCTType": "application/json; charset=UTF-8",
    "lHTTPCTType": true
}
```

#### Result

```json
{
    "method": "get",
    "path": "/userRestCrudADVPL/codAlias/",
    "PageNumber": 1,
    "RowspPage": 10,
    "table": {
        "alias": "SX5",
        "name": "SX5010",
        "description": "Tabelas",
        "index": "X5_FILIAL+X5_TABELA+X5_CHAVE",
        "items": [
            {
                "detail": {
                    "row": 1,
                    "key": "35001",
                    "recNo": 9436,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "001",
                        "X5_DESCRI": "Anuenio"
                    }
                }
            },
            {
                "detail": {
                    "row": 2,
                    "key": "35002",
                    "recNo": 9437,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "002",
                        "X5_DESCRI": "Bienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 3,
                    "key": "35003",
                    "recNo": 9438,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "003",
                        "X5_DESCRI": "Trienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 4,
                    "key": "35004",
                    "recNo": 9439,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "004",
                        "X5_DESCRI": "Quadrienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 5,
                    "key": "35005",
                    "recNo": 9440,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "005",
                        "X5_DESCRI": "Quinquenio"
                    }
                }
            },
            {
                "detail": {
                    "row": 6,
                    "key": "35006",
                    "recNo": 9441,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "006",
                        "X5_DESCRI": "Pagamento Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 7,
                    "key": "35007",
                    "recNo": 9442,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "007",
                        "X5_DESCRI": "Desconto Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 8,
                    "key": "35008",
                    "recNo": 9443,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "008",
                        "X5_DESCRI": "Arredondamento do Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 9,
                    "key": "35009",
                    "recNo": 9444,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "009",
                        "X5_DESCRI": "Imposto de Renda no Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 10,
                    "key": "35010",
                    "recNo": 9445,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "010",
                        "X5_DESCRI": "Base do I.R. no Adiantamento"
                    }
                }
            }
        ]
    },
    "hasNextPage": true,
    "NextPage": 2,
    "TotalPages": 47
}
```

Comentários

Postagens mais visitadas