- ordinamento tabella titoli
- migliorata la lista degli argomenti
This commit is contained in:
@@ -241,9 +241,11 @@ module.exports.executeQueryTable = function (idapp, params) {
|
||||
|
||||
module.exports.executeQueryPickup = async function (idapp, params) {
|
||||
|
||||
let strfind = params.search;
|
||||
let strfind = tools.removeAccents(params.search.trim().toLowerCase());
|
||||
|
||||
strfind = strfind.replace(/[-@]/g, '');
|
||||
// Rimuove le parole "il" e "la" e gli spazi, le @ e i tabulazioni
|
||||
// per non farli influire sulla ricerca
|
||||
strfind = strfind.replace(/\b(il|la|gli|le|lo|un|una)\b/g, '').replace(/[-@\t]/g, '').trim();
|
||||
|
||||
if (strfind === '' && !params.filter) {
|
||||
return [];
|
||||
@@ -262,7 +264,7 @@ module.exports.executeQueryPickup = async function (idapp, params) {
|
||||
$or: [
|
||||
{
|
||||
'productInfo.name': {
|
||||
$regex: `(?i).*${tools.removeAccents(strfind)}.*`, // Cerca una o più parole che sono contenute
|
||||
$regex: `(?i).*${strfind}.*`, // Cerca una o più parole che sono contenute
|
||||
$options: 'i' // Rende la ricerca case-insensitive
|
||||
}
|
||||
},
|
||||
@@ -275,15 +277,31 @@ module.exports.executeQueryPickup = async function (idapp, params) {
|
||||
{
|
||||
'productInfo.sku': strfind
|
||||
},
|
||||
{
|
||||
$and: [
|
||||
{
|
||||
'productInfo.authors.name': {
|
||||
$regex: `(?i).*${strfind.split(' ').shift()}.*`, // Cerca la prima parola
|
||||
$options: 'i' // Rende la ricerca case-insensitive
|
||||
}
|
||||
},
|
||||
{
|
||||
'productInfo.authors.surname': {
|
||||
$regex: `(?i).*${strfind.split(' ').pop()}.*`, // Cerca la seconda parola
|
||||
$options: 'i' // Rende la ricerca case-insensitive
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
'productInfo.authors.name': {
|
||||
$regex: `(?i).*${tools.removeAccents(strfind)}.*`, // Cerca una o più parole che sono contenute
|
||||
$regex: `(?i).*${strfind}.*`, // Cerca una o più parole che sono contenute
|
||||
$options: 'i' // Rende la ricerca case-insensitive
|
||||
}
|
||||
},
|
||||
{
|
||||
'productInfo.authors.surname': {
|
||||
$regex: `(?i)\\b${tools.removeAccents(strfind)}\\b`, // Cerca parole che iniziano con strfind, e ignora gli accenti
|
||||
$regex: `(?i).*${strfind}.*`, // Cerca una o più parole che sono contenute
|
||||
$options: 'i' // Rende la ricerca case-insensitive
|
||||
}
|
||||
},
|
||||
@@ -337,6 +355,7 @@ module.exports.executeQueryPickup = async function (idapp, params) {
|
||||
authors: '$productInfo.authors',
|
||||
idStatoProdotto: "$productInfo.idStatoProdotto",
|
||||
},
|
||||
arrvariazioni: "$arrvariazioni",
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user