test-entity-library-asm 2.8.18 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,198 +12,208 @@ export async function getVerifyLocalsInformation(
12
12
  repository: Repository<any>,
13
13
  { status, lazyEvent, partner, assigned_master }: IPropsQueryVerifyLocals
14
14
  ) {
15
- const timezone = getTimezoneOffset(getTimeZone());
15
+ try {
16
+ const timezone = getTimezoneOffset(getTimeZone());
16
17
 
17
- const queryBuilder = repository
18
- .createQueryBuilder("verify_local")
19
- .skip(lazyEvent.first)
20
- .take(lazyEvent.rows);
18
+ const queryBuilder = repository
19
+ .createQueryBuilder("verify_local")
20
+ .skip(lazyEvent.first)
21
+ .take(lazyEvent.rows);
21
22
 
22
- //DOC: Filtro global
23
- if (lazyEvent.filters["global"] && lazyEvent.filters["global"].value) {
24
- const globalValue = `%${lazyEvent.filters["global"].value.toLowerCase()}%`;
25
- queryBuilder.andWhere(
26
- '(LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.local_information, "$.name"))) LIKE :globalValue OR LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.local_information, "$.addressElement"))) LIKE :globalValue OR LOWER(verify_local.company_name) LIKE :globalValue OR LOWER(verify_local.partner_name) LIKE :globalValue OR LOWER(verify_local.partner_document) LIKE :globalValue)',
27
- { globalValue }
28
- );
29
- }
23
+ //DOC: Filtro global
24
+ if (lazyEvent.filters["global"] && lazyEvent.filters["global"].value) {
25
+ const globalValue = `%${lazyEvent.filters[
26
+ "global"
27
+ ].value.toLowerCase()}%`;
28
+ queryBuilder.andWhere(
29
+ '(LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.local_information, "$.name"))) LIKE :globalValue OR LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.local_information, "$.addressElement"))) LIKE :globalValue OR LOWER(verify_local.company_name) LIKE :globalValue OR LOWER(verify_local.partner_name) LIKE :globalValue OR LOWER(verify_local.partner_document) LIKE :globalValue)',
30
+ { globalValue }
31
+ );
32
+ }
30
33
 
31
- //DOC: Filtro por estado FILTRO POR DEFECTO
32
- if (status !== null && status >= 0) {
33
- queryBuilder.andWhere("verify_local.status = :status", { status });
34
- }
34
+ //DOC: Filtro por estado FILTRO POR DEFECTO
35
+ if (status !== null && status >= 0) {
36
+ queryBuilder.andWhere("verify_local.status = :status", { status });
37
+ }
35
38
 
36
- //DOC: Filtro por partner FILTRO POR DEFECTO
37
- if (partner !== null && partner >= 0) {
38
- queryBuilder.andWhere("verify_local.partner = :partner", { partner });
39
- }
39
+ //DOC: Filtro por partner FILTRO POR DEFECTO
40
+ if (partner !== null && partner >= 0) {
41
+ queryBuilder.andWhere("verify_local.partner = :partner", { partner });
42
+ }
40
43
 
41
- //DOC: Filtro por assigned_master FILTRO POR DEFECTO
42
- if (assigned_master !== null && assigned_master >= 0) {
43
- queryBuilder.andWhere("verify_local.assigned_master = :assigned_master", {
44
- assigned_master,
45
- });
46
- }
44
+ //DOC: Filtro por assigned_master FILTRO POR DEFECTO
45
+ if (assigned_master !== null && assigned_master >= 0) {
46
+ queryBuilder.andWhere("verify_local.assigned_master = :assigned_master", {
47
+ assigned_master,
48
+ });
49
+ }
47
50
 
48
- //DOC: Aplicación de filtros adicionales
49
- const filters = lazyEvent.filters;
50
- Object.keys(filters).forEach((key) => {
51
- if (filters[key] && filters[key].value) {
52
- const matchMode = filters[key].matchMode;
51
+ //DOC: Aplicación de filtros adicionales
52
+ const filters = lazyEvent.filters;
53
+ Object.keys(filters).forEach((key) => {
54
+ if (filters[key] && filters[key].value) {
55
+ const matchMode = filters[key].matchMode;
53
56
 
54
- if (key === "status") {
55
- queryBuilder.andWhere("verify_local.status = :status", {
56
- status: getStatusVerifyLocalNumber(filters[key].value ?? ""),
57
- });
58
- } else if (key === "created") {
59
- const value = filters[key].value.split("T")[0];
57
+ if (key === "status") {
58
+ queryBuilder.andWhere("verify_local.status = :status", {
59
+ status: getStatusVerifyLocalNumber(filters[key].value ?? ""),
60
+ });
61
+ } else if (key === "created") {
62
+ const value = filters[key].value.split("T")[0];
60
63
 
61
- switch (matchMode) {
62
- case "dateIs":
63
- queryBuilder.andWhere(
64
- `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) = :created`,
65
- { created: value }
66
- );
67
- break;
68
- case "dateBefore":
69
- queryBuilder.andWhere(
70
- `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) < :created`,
71
- { created: value }
72
- );
73
- break;
74
- case "dateAfter":
75
- queryBuilder.andWhere(
76
- `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) > :created`,
77
- { created: value }
78
- );
79
- break;
80
- case "dateIsNot":
81
- queryBuilder.andWhere(
82
- `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) != :created`,
83
- { created: value }
84
- );
85
- break;
86
- default:
87
- break;
88
- }
89
- } else if (
90
- key !== "global" &&
91
- ((Array.isArray(filters[key].value) && filters[key].value.length > 0) ||
92
- (!Array.isArray(filters[key].value) && filters[key].value))
93
- ) {
94
- let value = filters[key].value;
95
- if (!Array.isArray(value) && value) {
96
- value = filters[key].value.toLowerCase();
97
- }
98
- const jsonPath = key
99
- .split(".")
100
- .slice(1)
101
- .map((segment) => `$.${segment}`)
102
- .join("");
103
- const paramKey = key.split(".")[1];
64
+ switch (matchMode) {
65
+ case "dateIs":
66
+ queryBuilder.andWhere(
67
+ `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) = :created`,
68
+ { created: value }
69
+ );
70
+ break;
71
+ case "dateBefore":
72
+ queryBuilder.andWhere(
73
+ `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) < :created`,
74
+ { created: value }
75
+ );
76
+ break;
77
+ case "dateAfter":
78
+ queryBuilder.andWhere(
79
+ `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) > :created`,
80
+ { created: value }
81
+ );
82
+ break;
83
+ case "dateIsNot":
84
+ queryBuilder.andWhere(
85
+ `DATE(CONVERT_TZ(verify_local.created, '+00:00', '${timezone}')) != :created`,
86
+ { created: value }
87
+ );
88
+ break;
89
+ default:
90
+ break;
91
+ }
92
+ } else if (
93
+ key !== "global" &&
94
+ ((Array.isArray(filters[key].value) &&
95
+ filters[key].value.length > 0) ||
96
+ (!Array.isArray(filters[key].value) && filters[key].value))
97
+ ) {
98
+ let value = filters[key].value;
99
+ if (!Array.isArray(value) && value) {
100
+ value = filters[key].value.toLowerCase();
101
+ }
102
+ const jsonPath = key
103
+ .split(".")
104
+ .slice(1)
105
+ .map((segment) => `$.${segment}`)
106
+ .join("");
107
+ const paramKey = key.split(".")[1];
104
108
 
105
- switch (matchMode) {
106
- case "contains":
107
- queryBuilder.andWhere(
108
- `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
109
- key.split(".")[0]
110
- }, "${jsonPath}"))) LIKE :${paramKey}`,
111
- { [paramKey]: `%${value}%` }
112
- );
113
- break;
114
- case "startsWith":
115
- queryBuilder.andWhere(
116
- `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
117
- key.split(".")[0]
118
- }, "${jsonPath}"))) LIKE :${paramKey}`,
119
- { [paramKey]: `${value}%` }
120
- );
121
- break;
122
- case "notContains":
123
- queryBuilder.andWhere(
124
- `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
125
- key.split(".")[0]
126
- }, "${jsonPath}"))) NOT LIKE :${paramKey}`,
127
- { [paramKey]: `%${value}%` }
128
- );
129
- break;
130
- case "endsWith":
131
- queryBuilder.andWhere(
132
- `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
133
- key.split(".")[0]
134
- }, "${jsonPath}"))) LIKE :${paramKey}`,
135
- { [paramKey]: `%${value}` }
136
- );
137
- break;
138
- case "equals":
139
- if (key === "partner_document") {
140
- const partnerIds = value.map((element: Partner) => element.id);
109
+ switch (matchMode) {
110
+ case "contains":
111
+ queryBuilder.andWhere(
112
+ `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
113
+ key.split(".")[0]
114
+ }, "${jsonPath}"))) LIKE :${paramKey}`,
115
+ { [paramKey]: `%${value}%` }
116
+ );
117
+ break;
118
+ case "startsWith":
119
+ queryBuilder.andWhere(
120
+ `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
121
+ key.split(".")[0]
122
+ }, "${jsonPath}"))) LIKE :${paramKey}`,
123
+ { [paramKey]: `${value}%` }
124
+ );
125
+ break;
126
+ case "notContains":
127
+ queryBuilder.andWhere(
128
+ `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
129
+ key.split(".")[0]
130
+ }, "${jsonPath}"))) NOT LIKE :${paramKey}`,
131
+ { [paramKey]: `%${value}%` }
132
+ );
133
+ break;
134
+ case "endsWith":
135
+ queryBuilder.andWhere(
136
+ `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
137
+ key.split(".")[0]
138
+ }, "${jsonPath}"))) LIKE :${paramKey}`,
139
+ { [paramKey]: `%${value}` }
140
+ );
141
+ break;
142
+ case "equals":
143
+ if (key === "partner_document") {
144
+ const partnerIds = value.map((element: Partner) => element.id);
141
145
 
142
- if (partnerIds.length > 0) {
143
- queryBuilder.andWhere(
144
- "verify_local.partner_id IN (:...partnerIds)",
145
- {
146
- partnerIds,
147
- }
148
- );
149
- }
150
- } else if (key === "company_name") {
151
- const companyIds = value.map((element: Company) => element.id);
146
+ if (partnerIds.length > 0) {
147
+ queryBuilder.andWhere(
148
+ "verify_local.partner_id IN (:...partnerIds)",
149
+ {
150
+ partnerIds,
151
+ }
152
+ );
153
+ }
154
+ } else if (key === "company_name") {
155
+ const companyIds = value.map((element: Company) => element.id);
152
156
 
153
- if (companyIds.length > 0) {
157
+ if (companyIds.length > 0) {
158
+ queryBuilder.andWhere(
159
+ "verify_local.company_id IN (:...companyIds)",
160
+ {
161
+ companyIds,
162
+ }
163
+ );
164
+ }
165
+ } else {
154
166
  queryBuilder.andWhere(
155
- "verify_local.company_id IN (:...companyIds)",
156
- {
157
- companyIds,
158
- }
167
+ `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
168
+ key.split(".")[0]
169
+ }, "${jsonPath}"))) = :${paramKey}`,
170
+ { [paramKey]: value }
159
171
  );
160
172
  }
161
- } else {
173
+ break;
174
+ case "notEquals":
162
175
  queryBuilder.andWhere(
163
176
  `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
164
177
  key.split(".")[0]
165
- }, "${jsonPath}"))) = :${paramKey}`,
178
+ }, "${jsonPath}"))) != :${paramKey}`,
166
179
  { [paramKey]: value }
167
180
  );
168
- }
169
- break;
170
- case "notEquals":
171
- queryBuilder.andWhere(
172
- `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.${
173
- key.split(".")[0]
174
- }, "${jsonPath}"))) != :${paramKey}`,
175
- { [paramKey]: value }
176
- );
177
- break;
178
- default:
179
- break;
181
+ break;
182
+ default:
183
+ break;
184
+ }
180
185
  }
181
186
  }
182
- }
183
- });
187
+ });
184
188
 
185
- //DOC: Ordenamiento
186
- if (lazyEvent.sortField) {
187
- const order = lazyEvent.sortOrder === 1 ? "ASC" : "DESC";
188
- if (lazyEvent.sortField.startsWith("local_information.")) {
189
- const jsonPath = lazyEvent.sortField
190
- .split(".")
191
- .slice(1)
192
- .map((segment: any) => `$.${segment}`)
193
- .join("");
194
- queryBuilder.orderBy(
195
- `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.local_information, '${jsonPath}')))`,
196
- order
197
- );
198
- } else {
199
- queryBuilder.orderBy(lazyEvent.sortField, order);
189
+ //DOC: Ordenamiento
190
+ if (lazyEvent.sortField) {
191
+ const order = lazyEvent.sortOrder === 1 ? "ASC" : "DESC";
192
+ if (lazyEvent.sortField.startsWith("local_information.")) {
193
+ const jsonPath = lazyEvent.sortField
194
+ .split(".")
195
+ .slice(1)
196
+ .map((segment: any) => `$.${segment}`)
197
+ .join("");
198
+ queryBuilder.orderBy(
199
+ `LOWER(JSON_UNQUOTE(JSON_EXTRACT(verify_local.local_information, '${jsonPath}')))`,
200
+ order
201
+ );
202
+ } else {
203
+ queryBuilder.orderBy(lazyEvent.sortField, order);
204
+ }
200
205
  }
201
- }
202
206
 
203
- const [data, total] = await queryBuilder.getManyAndCount();
207
+ const [data, total] = await queryBuilder.getManyAndCount();
204
208
 
205
- return {
206
- data,
207
- totalRecords: total,
208
- };
209
+ return {
210
+ data,
211
+ totalRecords: total,
212
+ };
213
+ } catch (error) {
214
+ return {
215
+ data: [],
216
+ totalRecords: 0,
217
+ };
218
+ }
209
219
  }