Update Tabellen und Suchalgo
This commit is contained in:
@@ -197,15 +197,38 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
||||
|
||||
case "search_parts": {
|
||||
const { search_term, limit = 50 } = args;
|
||||
const escaped = String(search_term).replace(/'/g, "''");
|
||||
const pattern = `N'%${escaped}%'`;
|
||||
const searchQuery = `
|
||||
SELECT TOP ${parseInt(limit)}
|
||||
'TEILE' AS TableName, Teil, Art, Gruppe, Bez, Bez2, Hersteller, WarenNr
|
||||
FROM TEILE
|
||||
WHERE
|
||||
LOWER(CAST(Teil AS NVARCHAR(MAX))) LIKE LOWER('%${search_term.replace(/'/g, "''")}%')
|
||||
OR LOWER(CAST(Bez AS NVARCHAR(MAX))) LIKE LOWER('%${search_term.replace(/'/g, "''")}%')
|
||||
OR LOWER(CAST(Bez2 AS NVARCHAR(MAX))) LIKE LOWER('%${search_term.replace(/'/g, "''")}%')
|
||||
OR LOWER(CAST(Hersteller AS NVARCHAR(MAX))) LIKE LOWER('%${search_term.replace(/'/g, "''")}%')
|
||||
SELECT TOP ${Math.max(1, parseInt(limit, 10) || 50)}
|
||||
t.Teil,
|
||||
t.Bez,
|
||||
t.Bez2,
|
||||
t.Ben7,
|
||||
t.Ben8,
|
||||
t.Hersteller,
|
||||
txt.Text AS [Text],
|
||||
ts.PrsVk AS PrsVK
|
||||
FROM TEILE t WITH (NOLOCK)
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 [Text]
|
||||
FROM TEXT WITH (NOLOCK)
|
||||
WHERE TextId = t.MemoID
|
||||
ORDER BY LfdNr
|
||||
) txt
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 PrsVk
|
||||
FROM TSSAEF WITH (NOLOCK)
|
||||
WHERE Teil = t.Teil
|
||||
ORDER BY ISN
|
||||
) ts
|
||||
WHERE
|
||||
t.Teil LIKE ${pattern} COLLATE SQL_Latin1_General_CP1_CI_AS
|
||||
OR t.Bez LIKE ${pattern} COLLATE SQL_Latin1_General_CP1_CI_AS
|
||||
OR t.Bez2 LIKE ${pattern} COLLATE SQL_Latin1_General_CP1_CI_AS
|
||||
OR t.Ben7 LIKE ${pattern} COLLATE SQL_Latin1_General_CP1_CI_AS
|
||||
OR t.Ben8 LIKE ${pattern} COLLATE SQL_Latin1_General_CP1_CI_AS
|
||||
OR t.Hersteller LIKE ${pattern} COLLATE SQL_Latin1_General_CP1_CI_AS
|
||||
`;
|
||||
const rows = await runQuery(searchQuery);
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user