@senior-agronegocio/angular-components 0.0.88 → 0.0.90
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.
- package/bundles/senior-agronegocio-angular-components.umd.js +370 -357
- package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js +2 -2
- package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
- package/common/agro-platform-utils.class.d.ts +9 -0
- package/common/agro-string-utils.class.d.ts +46 -146
- package/common/colors.class.d.ts +2 -0
- package/components/cancel-event-dialog/cancel-event-dialog.component.d.ts +2 -2
- package/components/event-control-board/common/event-operation.d.ts +0 -1
- package/components/event-control-board/common/event-origin.d.ts +0 -1
- package/enums/agro-numbers.enum.d.ts +3 -2
- package/esm2015/common/agro-cookie-utils.class.js +7 -3
- package/esm2015/common/agro-date-utils.class.js +7 -3
- package/esm2015/common/agro-logics.class.js +22 -20
- package/esm2015/common/agro-name-utils.class.js +5 -4
- package/esm2015/common/agro-number-utils.class.js +20 -10
- package/esm2015/common/agro-object-utils.class.js +9 -7
- package/esm2015/common/agro-platform-utils.class.js +46 -50
- package/esm2015/common/agro-string-utils.class.js +217 -215
- package/esm2015/common/colors.class.js +3 -1
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog.component.js +8 -8
- package/esm2015/components/event-control-board/common/event-control-constants.js +1 -6
- package/esm2015/components/event-control-board/common/event-operation.js +1 -2
- package/esm2015/components/event-control-board/common/event-origin.js +1 -2
- package/esm2015/components/event-control-board/event-control-board.component.js +3 -4
- package/esm2015/components/event-steps/index.js +1 -1
- package/esm2015/enums/agro-numbers.enum.js +3 -2
- package/esm2015/services/i18n/en-US.js +9 -3
- package/esm2015/services/i18n/es-CO.js +9 -3
- package/esm2015/services/i18n/pt-BR.js +9 -3
- package/esm2015/services/websocket/websocket.service.js +2 -2
- package/esm5/common/agro-cookie-utils.class.js +7 -3
- package/esm5/common/agro-date-utils.class.js +7 -3
- package/esm5/common/agro-logics.class.js +34 -42
- package/esm5/common/agro-name-utils.class.js +5 -4
- package/esm5/common/agro-number-utils.class.js +20 -10
- package/esm5/common/agro-object-utils.class.js +9 -7
- package/esm5/common/agro-platform-utils.class.js +46 -50
- package/esm5/common/agro-string-utils.class.js +217 -215
- package/esm5/common/colors.class.js +3 -1
- package/esm5/components/cancel-event-dialog/cancel-event-dialog.component.js +8 -8
- package/esm5/components/event-control-board/common/event-control-constants.js +1 -6
- package/esm5/components/event-control-board/common/event-operation.js +1 -2
- package/esm5/components/event-control-board/common/event-origin.js +1 -2
- package/esm5/components/event-control-board/event-control-board.component.js +3 -4
- package/esm5/components/event-steps/index.js +1 -1
- package/esm5/enums/agro-numbers.enum.js +3 -2
- package/esm5/services/i18n/en-US.js +9 -3
- package/esm5/services/i18n/es-CO.js +9 -3
- package/esm5/services/i18n/pt-BR.js +9 -3
- package/esm5/services/websocket/websocket.service.js +2 -2
- package/fesm2015/senior-agronegocio-angular-components.js +359 -336
- package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
- package/fesm5/senior-agronegocio-angular-components.js +370 -357
- package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/services/i18n/en-US.d.ts +8 -2
- package/services/i18n/es-CO.d.ts +8 -2
- package/services/i18n/pt-BR.d.ts +8 -2
- package/common/numbers.d.ts +0 -6
- package/esm2015/common/numbers.js +0 -8
- package/esm5/common/numbers.js +0 -8
|
@@ -206,7 +206,7 @@ var AgroEntityStatus;
|
|
|
206
206
|
var AGRO_NUMBERS;
|
|
207
207
|
(function (AGRO_NUMBERS) {
|
|
208
208
|
AGRO_NUMBERS[AGRO_NUMBERS["MINIMUM_WEIGHT"] = 0.001] = "MINIMUM_WEIGHT";
|
|
209
|
-
AGRO_NUMBERS[AGRO_NUMBERS["
|
|
209
|
+
AGRO_NUMBERS[AGRO_NUMBERS["MINUS_ONE"] = -1] = "MINUS_ONE";
|
|
210
210
|
AGRO_NUMBERS[AGRO_NUMBERS["EIGHT"] = 8] = "EIGHT";
|
|
211
211
|
AGRO_NUMBERS[AGRO_NUMBERS["EIGHT_HUNDRED"] = 800] = "EIGHT_HUNDRED";
|
|
212
212
|
AGRO_NUMBERS[AGRO_NUMBERS["EIGHT_HUNDRED_AND_EIGHT"] = 808] = "EIGHT_HUNDRED_AND_EIGHT";
|
|
@@ -1209,6 +1209,7 @@ var AGRO_NUMBERS;
|
|
|
1209
1209
|
AGRO_NUMBERS[AGRO_NUMBERS["TWO_HUNDRED_AND_TWO"] = 202] = "TWO_HUNDRED_AND_TWO";
|
|
1210
1210
|
AGRO_NUMBERS[AGRO_NUMBERS["ZERO"] = 0] = "ZERO";
|
|
1211
1211
|
AGRO_NUMBERS[AGRO_NUMBERS["FIVE_SECONDS"] = 5000] = "FIVE_SECONDS";
|
|
1212
|
+
AGRO_NUMBERS[AGRO_NUMBERS["MS_PER_DAY"] = 86400000] = "MS_PER_DAY";
|
|
1212
1213
|
})(AGRO_NUMBERS || (AGRO_NUMBERS = {}));
|
|
1213
1214
|
|
|
1214
1215
|
var AgroStringMasks;
|
|
@@ -1412,10 +1413,7 @@ class AgroObjectUtils {
|
|
|
1412
1413
|
* @returns True se os objetos forem iguais, false caso contrário.
|
|
1413
1414
|
*/
|
|
1414
1415
|
static isEqual(obj1, obj2) {
|
|
1415
|
-
|
|
1416
|
-
return true;
|
|
1417
|
-
}
|
|
1418
|
-
return false;
|
|
1416
|
+
return JSON.stringify(obj1) === JSON.stringify(obj2);
|
|
1419
1417
|
}
|
|
1420
1418
|
/**
|
|
1421
1419
|
* Verifica se um objeto é nulo.
|
|
@@ -1450,7 +1448,7 @@ class AgroObjectUtils {
|
|
|
1450
1448
|
if (!AgroObjectUtils.isObject(obj)) {
|
|
1451
1449
|
return false;
|
|
1452
1450
|
}
|
|
1453
|
-
return Object.keys(obj).length !==
|
|
1451
|
+
return Object.keys(obj).length !== AGRO_NUMBERS.ZERO;
|
|
1454
1452
|
}
|
|
1455
1453
|
/**
|
|
1456
1454
|
* Verifica se um objeto é vazio.
|
|
@@ -1528,7 +1526,12 @@ class AgroObjectUtils {
|
|
|
1528
1526
|
* @param value
|
|
1529
1527
|
*/
|
|
1530
1528
|
static fromString(value) {
|
|
1531
|
-
|
|
1529
|
+
try {
|
|
1530
|
+
return JSON.parse(value);
|
|
1531
|
+
}
|
|
1532
|
+
catch (e) {
|
|
1533
|
+
return undefined;
|
|
1534
|
+
}
|
|
1532
1535
|
}
|
|
1533
1536
|
}
|
|
1534
1537
|
|
|
@@ -1882,13 +1885,17 @@ class AgroCookieUtils {
|
|
|
1882
1885
|
}
|
|
1883
1886
|
}
|
|
1884
1887
|
static setCookie(name, value, days) {
|
|
1888
|
+
if (days < AGRO_NUMBERS.ZERO) {
|
|
1889
|
+
throw new Error("O número de dias não pode ser negativo.");
|
|
1890
|
+
}
|
|
1885
1891
|
const date = new Date();
|
|
1886
|
-
date.setTime(date.getTime() + (days *
|
|
1892
|
+
date.setTime(date.getTime() + (days * AGRO_NUMBERS.MS_PER_DAY));
|
|
1887
1893
|
const expires = 'expires=' + date.toUTCString();
|
|
1888
|
-
document.cookie = name
|
|
1894
|
+
document.cookie = `${name}=${value};${expires};path=/`;
|
|
1889
1895
|
}
|
|
1890
1896
|
}
|
|
1891
1897
|
|
|
1898
|
+
const DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';
|
|
1892
1899
|
class AgroDateUtils {
|
|
1893
1900
|
/**
|
|
1894
1901
|
* Verifica se uma data é nula ou indefinida.
|
|
@@ -1991,7 +1998,7 @@ class AgroDateUtils {
|
|
|
1991
1998
|
* @param format
|
|
1992
1999
|
* @returns
|
|
1993
2000
|
*/
|
|
1994
|
-
static formatDate(date, format =
|
|
2001
|
+
static formatDate(date, format = DEFAULT_DATE_FORMAT) {
|
|
1995
2002
|
const moment$1 = moment;
|
|
1996
2003
|
return moment$1(date).utc().format(format);
|
|
1997
2004
|
}
|
|
@@ -2001,7 +2008,10 @@ class AgroDateUtils {
|
|
|
2001
2008
|
* @returns
|
|
2002
2009
|
*/
|
|
2003
2010
|
static padZero(value) {
|
|
2004
|
-
|
|
2011
|
+
if (value < AGRO_NUMBERS.TEN) {
|
|
2012
|
+
return '0' + value;
|
|
2013
|
+
}
|
|
2014
|
+
return value.toString();
|
|
2005
2015
|
}
|
|
2006
2016
|
}
|
|
2007
2017
|
|
|
@@ -2009,130 +2019,202 @@ class AgroDateUtils {
|
|
|
2009
2019
|
* Classe utilitária para operações de string.
|
|
2010
2020
|
*/
|
|
2011
2021
|
class AgroStringUtils {
|
|
2022
|
+
/** Retorna true se a string contém apenas letras */
|
|
2023
|
+
static isOnlyLetters(str) {
|
|
2024
|
+
if (!str) {
|
|
2025
|
+
return false;
|
|
2026
|
+
}
|
|
2027
|
+
return /^[A-Za-z]+$/.test(str);
|
|
2028
|
+
}
|
|
2029
|
+
/** Retorna true se a string contém pelo menos uma letra */
|
|
2030
|
+
static hasLetters(str) {
|
|
2031
|
+
if (!str) {
|
|
2032
|
+
return false;
|
|
2033
|
+
}
|
|
2034
|
+
return /[A-Za-z]/.test(str);
|
|
2035
|
+
}
|
|
2036
|
+
/** Retorna true se a string contém apenas números */
|
|
2037
|
+
static isOnlyNumbers(str) {
|
|
2038
|
+
if (!str) {
|
|
2039
|
+
return false;
|
|
2040
|
+
}
|
|
2041
|
+
return /^\d+$/.test(str);
|
|
2042
|
+
}
|
|
2043
|
+
/** Retorna true se a string contém pelo menos um número */
|
|
2044
|
+
static hasNumbers(str) {
|
|
2045
|
+
if (!str) {
|
|
2046
|
+
return false;
|
|
2047
|
+
}
|
|
2048
|
+
return /\d/.test(str);
|
|
2049
|
+
}
|
|
2012
2050
|
/**
|
|
2013
|
-
* Verifica se
|
|
2014
|
-
* @param str - A string a ser verificada.
|
|
2015
|
-
* @returns True se a string estiver vazia ou consistir apenas de caracteres de espaço em branco, false caso contrário.
|
|
2051
|
+
* Verifica se a string está vazia.
|
|
2016
2052
|
*/
|
|
2017
2053
|
static isEmpty(str) {
|
|
2018
2054
|
var _a;
|
|
2019
2055
|
return !str || ((_a = str.trim()) === null || _a === void 0 ? void 0 : _a.length) === AGRO_NUMBERS.ZERO;
|
|
2020
2056
|
}
|
|
2021
2057
|
/**
|
|
2022
|
-
* Verifica se
|
|
2023
|
-
* @param str - A string a ser verificada.
|
|
2024
|
-
* @returns True se a string não estiver vazia e não consistir apenas de caracteres de espaço em branco, false caso contrário.
|
|
2058
|
+
* Verifica se a string não está vazia.
|
|
2025
2059
|
*/
|
|
2026
2060
|
static isNotEmpty(str) {
|
|
2027
2061
|
return !AgroStringUtils.isEmpty(str);
|
|
2028
2062
|
}
|
|
2029
|
-
/**
|
|
2030
|
-
* Verifica se uma string está vazia, consiste apenas de caracteres de espaço em branco ou é nula.
|
|
2031
|
-
* @param str - A string a ser verificada.
|
|
2032
|
-
* @returns True se a string estiver vazia, consistir apenas de caracteres de espaço em branco ou for nula, false caso contrário.
|
|
2033
|
-
*/
|
|
2063
|
+
/** Verifica se a string é nula, indefinida ou contém apenas espaços em branco */
|
|
2034
2064
|
static isBlank(str) {
|
|
2035
2065
|
return !str || AGRO_REGEX.onlyBlankSpaces.test(str);
|
|
2036
2066
|
}
|
|
2037
|
-
/**
|
|
2038
|
-
* Verifica se uma string não está vazia, não consiste apenas de caracteres de espaço em branco e não é nula.
|
|
2039
|
-
* @param str - A string a ser verificada.
|
|
2040
|
-
* @returns True se a string não estiver vazia, não consistir apenas de caracteres de espaço em branco e não for nula, false caso contrário.
|
|
2041
|
-
*/
|
|
2067
|
+
/** Verifica se a string não é nula, indefinida ou contém apenas espaços em branco */
|
|
2042
2068
|
static isNotBlank(str) {
|
|
2043
2069
|
return !AgroStringUtils.isBlank(str);
|
|
2044
2070
|
}
|
|
2045
2071
|
/**
|
|
2046
|
-
* Remove
|
|
2047
|
-
* @param str - A string a ser removidos os espaços em branco.
|
|
2048
|
-
* @returns A string sem espaços em branco ou null se a string resultante estiver vazia.
|
|
2072
|
+
* Remove espaços em branco do início e do fim da string.
|
|
2049
2073
|
*/
|
|
2050
2074
|
static trimToNull(str) {
|
|
2051
|
-
if (!str)
|
|
2075
|
+
if (!str) {
|
|
2052
2076
|
return null;
|
|
2077
|
+
}
|
|
2053
2078
|
const trimmed = str.trim();
|
|
2054
2079
|
return trimmed === "" ? null : trimmed;
|
|
2055
2080
|
}
|
|
2056
2081
|
/**
|
|
2057
|
-
*
|
|
2058
|
-
* @param str1 - A primeira string a ser comparada.
|
|
2059
|
-
* @param str2 - A segunda string a ser comparada.
|
|
2060
|
-
* @returns True se as strings forem iguais, ignorando maiúsculas e minúsculas, false caso contrário.
|
|
2082
|
+
* Compara duas strings ignorando diferenças entre maiúsculas e minúsculas.
|
|
2061
2083
|
*/
|
|
2062
2084
|
static equalsIgnoreCase(str1, str2) {
|
|
2063
2085
|
return (str1 === null || str1 === void 0 ? void 0 : str1.toLowerCase()) === (str2 === null || str2 === void 0 ? void 0 : str2.toLowerCase());
|
|
2064
2086
|
}
|
|
2065
2087
|
/**
|
|
2066
|
-
*
|
|
2067
|
-
* @param str1
|
|
2068
|
-
* @param str2
|
|
2069
|
-
* @returns
|
|
2088
|
+
* Compara duas strings considerando diferenças entre maiúsculas e minúsculas.
|
|
2070
2089
|
*/
|
|
2071
2090
|
static equals(str1, str2) {
|
|
2072
2091
|
return str1 === str2;
|
|
2073
2092
|
}
|
|
2074
|
-
/**
|
|
2075
|
-
* Inverte os caracteres de uma string.
|
|
2076
|
-
* @param str - A string a ser invertida.
|
|
2077
|
-
* @returns A string invertida.
|
|
2078
|
-
*/
|
|
2079
2093
|
static reverse(str) {
|
|
2080
2094
|
return str.split("").reverse().join("");
|
|
2081
2095
|
}
|
|
2082
|
-
/**
|
|
2083
|
-
* Verifica se a string é um e-mail.
|
|
2084
|
-
* @param str - A string a ser testada
|
|
2085
|
-
* @returns - True se a string for um e-mail, false caso contrário.
|
|
2086
|
-
*/
|
|
2087
2096
|
static isEmail(str) {
|
|
2088
2097
|
return AGRO_REGEX.isEmail.test(str);
|
|
2089
2098
|
}
|
|
2090
|
-
/**
|
|
2091
|
-
* Verifica se a string é um número inteiro positivo.
|
|
2092
|
-
* @param str - A string a ser testada
|
|
2093
|
-
* @returns - True se a string for um número inteiro positivo, false caso contrário.
|
|
2094
|
-
*/
|
|
2095
2099
|
static isPositiveInteger(str) {
|
|
2096
2100
|
return AGRO_REGEX.positiveInteger.test(str);
|
|
2097
2101
|
}
|
|
2098
|
-
/**
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
*/
|
|
2102
|
+
/** Retorna true se a string é uma string válida (não null, não undefined, não vazia) */
|
|
2103
|
+
static isString(value) {
|
|
2104
|
+
return typeof value === "string" && value.trim().length > AGRO_NUMBERS.ZERO;
|
|
2105
|
+
}
|
|
2103
2106
|
static isPositiveDecimal(str) {
|
|
2104
2107
|
return AGRO_REGEX.positiveDecimal.test(str);
|
|
2105
2108
|
}
|
|
2106
|
-
/**
|
|
2107
|
-
* Verifica se a string é um CEP (Código Postal).
|
|
2108
|
-
* @param str - A string a ser testada
|
|
2109
|
-
* @returns - True se a string for um CEP, false caso contrário.
|
|
2110
|
-
*/
|
|
2111
2109
|
static isZipCode(str) {
|
|
2112
2110
|
return AGRO_REGEX.zipCode.test(str);
|
|
2113
2111
|
}
|
|
2114
|
-
/**
|
|
2115
|
-
* Verifica se a string é um UUID.
|
|
2116
|
-
* @param str - A string a ser testada
|
|
2117
|
-
* @returns - True se a string for um UUID, false caso contrário.
|
|
2118
|
-
*/
|
|
2119
2112
|
static isUUID(str) {
|
|
2120
2113
|
return AGRO_REGEX.isUUID.test(str);
|
|
2121
2114
|
}
|
|
2122
|
-
/**
|
|
2123
|
-
* Verifica se a string é um número.
|
|
2124
|
-
* @param str - A string a ser testada
|
|
2125
|
-
* @returns - True se a string for um número, false caso contrário.
|
|
2126
|
-
*/
|
|
2127
2115
|
static isNumber(str) {
|
|
2128
2116
|
return AGRO_REGEX.isNumber.test(str);
|
|
2129
2117
|
}
|
|
2118
|
+
static validateCPF(cpf) {
|
|
2119
|
+
cpf = cpf.replace(/\D/g, "");
|
|
2120
|
+
if (cpf.length !== AGRO_NUMBERS.ELEVEN || /^(\d)\1+$/.test(cpf)) {
|
|
2121
|
+
return false;
|
|
2122
|
+
}
|
|
2123
|
+
const calcVerifier = (cpf, length) => {
|
|
2124
|
+
let sum = AGRO_NUMBERS.ZERO;
|
|
2125
|
+
for (let i = AGRO_NUMBERS.ZERO; i < length; i++) {
|
|
2126
|
+
sum += parseInt(cpf[i], AGRO_NUMBERS.TEN) * (length + AGRO_NUMBERS.ONE - i);
|
|
2127
|
+
}
|
|
2128
|
+
const result = sum % AGRO_NUMBERS.ELEVEN;
|
|
2129
|
+
return result < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - result;
|
|
2130
|
+
};
|
|
2131
|
+
const digit1 = calcVerifier(cpf, AGRO_NUMBERS.NINE);
|
|
2132
|
+
const digit2 = calcVerifier(cpf, AGRO_NUMBERS.TEN);
|
|
2133
|
+
return digit1 === parseInt(cpf[AGRO_NUMBERS.NINE], AGRO_NUMBERS.TEN) && digit2 === parseInt(cpf[AGRO_NUMBERS.TEN], AGRO_NUMBERS.TEN);
|
|
2134
|
+
}
|
|
2130
2135
|
/**
|
|
2131
|
-
*
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2136
|
+
* Detecta automaticamente se é CNPJ antigo ou novo formato.
|
|
2137
|
+
*/
|
|
2138
|
+
static validateCNPJ(cnpj) {
|
|
2139
|
+
if (!cnpj) {
|
|
2140
|
+
return false;
|
|
2141
|
+
}
|
|
2142
|
+
cnpj = cnpj.trim();
|
|
2143
|
+
// Se contém letras → valida formato alfanumérico
|
|
2144
|
+
if (AgroStringUtils.hasLetters(cnpj)) {
|
|
2145
|
+
return AgroStringUtils.validateCNPJAlfanumerico(cnpj);
|
|
2146
|
+
}
|
|
2147
|
+
// Caso contrário, valida como CNPJ tradicional
|
|
2148
|
+
return AgroStringUtils.validateCNPJAntigo(cnpj);
|
|
2149
|
+
}
|
|
2150
|
+
/**
|
|
2151
|
+
* Valida o CNPJ tradicional (somente números)
|
|
2135
2152
|
*/
|
|
2153
|
+
static validateCNPJAntigo(cnpj) {
|
|
2154
|
+
cnpj = cnpj.replace(/\D/g, "");
|
|
2155
|
+
if (!AgroStringUtils.isOnlyNumbers(cnpj)) {
|
|
2156
|
+
return false;
|
|
2157
|
+
}
|
|
2158
|
+
if (cnpj.length !== AGRO_NUMBERS.FOURTEEN) {
|
|
2159
|
+
return false;
|
|
2160
|
+
}
|
|
2161
|
+
if (/^(\d)\1{13}$/.test(cnpj)) {
|
|
2162
|
+
return false;
|
|
2163
|
+
}
|
|
2164
|
+
let soma = AGRO_NUMBERS.ZERO;
|
|
2165
|
+
for (let i = AGRO_NUMBERS.ZERO; i < AGRO_NUMBERS.TWELVE; i++) {
|
|
2166
|
+
soma += parseInt(cnpj.charAt(i), AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_1[i];
|
|
2167
|
+
}
|
|
2168
|
+
let resto = soma % AGRO_NUMBERS.ELEVEN;
|
|
2169
|
+
const digito1 = resto < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - resto;
|
|
2170
|
+
soma = AGRO_NUMBERS.ZERO;
|
|
2171
|
+
for (let i = AGRO_NUMBERS.ZERO; i < AGRO_NUMBERS.THIRTEEN; i++) {
|
|
2172
|
+
soma += parseInt(cnpj.charAt(i), AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_2[i];
|
|
2173
|
+
}
|
|
2174
|
+
resto = soma % AGRO_NUMBERS.ELEVEN;
|
|
2175
|
+
const digito2 = resto < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - resto;
|
|
2176
|
+
return parseInt(cnpj.charAt(AGRO_NUMBERS.TWELVE), AGRO_NUMBERS.TEN) === digito1 && parseInt(cnpj.charAt(AGRO_NUMBERS.THIRTEEN), AGRO_NUMBERS.TEN) === digito2;
|
|
2177
|
+
}
|
|
2178
|
+
/**
|
|
2179
|
+
* Valida o CNPJ em formato alfanumérico (padrão 2026)
|
|
2180
|
+
*/
|
|
2181
|
+
static validateCNPJAlfanumerico(cnpj) {
|
|
2182
|
+
if (!AgroStringUtils.isString(cnpj)) {
|
|
2183
|
+
return false;
|
|
2184
|
+
}
|
|
2185
|
+
// Remove caracteres especiais (pontos, barra, traço, espaços)
|
|
2186
|
+
const clean = cnpj.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
|
|
2187
|
+
// O CNPJ deve ter exatamente 14 posições
|
|
2188
|
+
if (clean.length !== AGRO_NUMBERS.FOURTEEN) {
|
|
2189
|
+
return false;
|
|
2190
|
+
}
|
|
2191
|
+
// Verifica se há pelo menos uma letra e um número
|
|
2192
|
+
if (!AgroStringUtils.hasLetters(clean) || !AgroStringUtils.hasNumbers(clean)) {
|
|
2193
|
+
return false;
|
|
2194
|
+
}
|
|
2195
|
+
// Calcula o primeiro dígito verificador
|
|
2196
|
+
const pesos1 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_1;
|
|
2197
|
+
const pesos2 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_2;
|
|
2198
|
+
// Pega os 12 primeiros caracteres
|
|
2199
|
+
const base = clean.substring(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.TWELVE);
|
|
2200
|
+
const dvInformado = clean.substring(AGRO_NUMBERS.TWELVE, AGRO_NUMBERS.FOURTEEN);
|
|
2201
|
+
const calculaDV = (str, pesos) => {
|
|
2202
|
+
let soma = AGRO_NUMBERS.ZERO;
|
|
2203
|
+
for (let i = AGRO_NUMBERS.ZERO; i < pesos.length; i++) {
|
|
2204
|
+
const char = str.charAt(i);
|
|
2205
|
+
const asciiValue = char.charCodeAt(0) - AGRO_NUMBERS.FORTY_EIGHT; // conforme documento (48 = '0')
|
|
2206
|
+
soma += asciiValue * pesos[i]; // asciiValue já calculado a partir do enum FORTY_EIGHT
|
|
2207
|
+
}
|
|
2208
|
+
const resto = soma % AGRO_NUMBERS.ELEVEN;
|
|
2209
|
+
const digito = AGRO_NUMBERS.ELEVEN - resto;
|
|
2210
|
+
return digito > AGRO_NUMBERS.NINE ? AGRO_NUMBERS.ZERO : digito; // segue mesma regra do CNPJ tradicional
|
|
2211
|
+
};
|
|
2212
|
+
const dv1 = calculaDV(base, pesos1);
|
|
2213
|
+
const dv2 = calculaDV(base + dv1.toString(), pesos2);
|
|
2214
|
+
const dvCalculado = `${dv1}${dv2}`;
|
|
2215
|
+
return dvCalculado === dvInformado;
|
|
2216
|
+
}
|
|
2217
|
+
/** Calcula a diferença entre duas strings em termos de número de caracteres diferentes */
|
|
2136
2218
|
static difference(str1, str2) {
|
|
2137
2219
|
const len1 = str1.length;
|
|
2138
2220
|
const len2 = str2.length;
|
|
@@ -2144,179 +2226,66 @@ class AgroStringUtils {
|
|
|
2144
2226
|
}
|
|
2145
2227
|
return diff;
|
|
2146
2228
|
}
|
|
2147
|
-
/**
|
|
2148
|
-
* Retorna se a string termina com a string fornecida.
|
|
2149
|
-
* @param str1
|
|
2150
|
-
* @param str2
|
|
2151
|
-
* @returns
|
|
2152
|
-
*/
|
|
2229
|
+
/** Verifica se str1 termina com str2 */
|
|
2153
2230
|
static endsWith(str1, str2) {
|
|
2154
2231
|
return str1.endsWith(str2);
|
|
2155
2232
|
}
|
|
2156
|
-
/**
|
|
2157
|
-
* Retorna se a string começa com a string fornecida.
|
|
2158
|
-
* @param str1
|
|
2159
|
-
* @param str2
|
|
2160
|
-
* @returns
|
|
2161
|
-
*/
|
|
2233
|
+
/** Verifica se str1 começa com str2 */
|
|
2162
2234
|
static startsWith(str1, str2) {
|
|
2163
2235
|
return str1.startsWith(str2);
|
|
2164
2236
|
}
|
|
2165
|
-
/**
|
|
2166
|
-
* Retorna se a string contém a string fornecida.
|
|
2167
|
-
* @param str1
|
|
2168
|
-
* @param str2
|
|
2169
|
-
* @returns
|
|
2170
|
-
*/
|
|
2237
|
+
/** Verifica se str1 contém str2 */
|
|
2171
2238
|
static contains(str1, str2) {
|
|
2172
2239
|
return str1.includes(str2);
|
|
2173
2240
|
}
|
|
2174
|
-
/**
|
|
2175
|
-
* Retorna se a string começa com a string fornecida ignorando maiúsculas e minúsculas.
|
|
2176
|
-
* @param str1
|
|
2177
|
-
* @param str2
|
|
2178
|
-
* @returns
|
|
2179
|
-
*/
|
|
2241
|
+
/** Verifica se str1 começa com str2, ignorando maiúsculas e minúsculas */
|
|
2180
2242
|
static startsWithIgnoreCase(str1, str2) {
|
|
2181
2243
|
return str1.toLowerCase().startsWith(str2.toLowerCase());
|
|
2182
2244
|
}
|
|
2183
|
-
/**
|
|
2184
|
-
* Retorna se a string termina com a string fornecida ignorando maiúsculas e minúsculas.
|
|
2185
|
-
* @param str1
|
|
2186
|
-
* @param str2
|
|
2187
|
-
* @returns
|
|
2188
|
-
*/
|
|
2245
|
+
/** Verifica se str1 termina com str2, ignorando maiúsculas e minúsculas */
|
|
2189
2246
|
static endsWithIgnoreCase(str1, str2) {
|
|
2190
2247
|
return str1.toLowerCase().endsWith(str2.toLowerCase());
|
|
2191
2248
|
}
|
|
2192
|
-
/**
|
|
2193
|
-
* Converte uma string para letras maiúsculas.
|
|
2194
|
-
* @param str - A string a ser convertida.
|
|
2195
|
-
* @returns A string convertida para letras maiúsculas.
|
|
2196
|
-
*/
|
|
2197
|
-
static toUpperCase(str) {
|
|
2198
|
-
return str.toUpperCase();
|
|
2199
|
-
}
|
|
2200
|
-
/**
|
|
2201
|
-
* Converte uma string para letras minúsculas.
|
|
2202
|
-
* @param str - A string a ser convertida.
|
|
2203
|
-
* @returns A string convertida para letras minúsculas.
|
|
2204
|
-
*/
|
|
2205
|
-
static toLowerCase(str) {
|
|
2206
|
-
return str.toLowerCase();
|
|
2207
|
-
}
|
|
2208
|
-
/**
|
|
2209
|
-
* Inverte o caso das letras em uma string.
|
|
2210
|
-
* @param str - A string a ser convertida.
|
|
2211
|
-
* @returns A string com o caso das letras invertido.
|
|
2212
|
-
*/
|
|
2249
|
+
/** Inverte o caso de cada letra na string */
|
|
2213
2250
|
static swapCase(str) {
|
|
2214
2251
|
let swapped = "";
|
|
2215
2252
|
for (let i = AGRO_NUMBERS.ZERO; i < str.length; i++) {
|
|
2216
2253
|
const char = str[i];
|
|
2217
|
-
|
|
2218
|
-
swapped += char.toLowerCase();
|
|
2219
|
-
}
|
|
2220
|
-
else {
|
|
2221
|
-
swapped += char.toUpperCase();
|
|
2222
|
-
}
|
|
2254
|
+
swapped += char === char.toUpperCase() ? char.toLowerCase() : char.toUpperCase();
|
|
2223
2255
|
}
|
|
2224
2256
|
return swapped;
|
|
2225
2257
|
}
|
|
2226
|
-
/**
|
|
2227
|
-
* Converte a primeira letra de uma string para maiúscula.
|
|
2228
|
-
* @param str - A string a ser convertida.
|
|
2229
|
-
* @returns A string com a primeira letra em maiúscula.
|
|
2230
|
-
*/
|
|
2258
|
+
/** Coloca a primeira letra da string em maiúsculo */
|
|
2231
2259
|
static capitalize(str) {
|
|
2232
2260
|
return str.charAt(AGRO_NUMBERS.ZERO).toUpperCase() + str.slice(1);
|
|
2233
2261
|
}
|
|
2234
|
-
/**
|
|
2235
|
-
* Converte a primeira letra de uma string para minúscula.
|
|
2236
|
-
* @param str - A string a ser convertida.
|
|
2237
|
-
* @returns A string com a primeira letra em minúscula.
|
|
2238
|
-
*/
|
|
2262
|
+
/** Coloca a primeira letra da string em minúsculo */
|
|
2239
2263
|
static uncapitalize(str) {
|
|
2240
2264
|
return str.charAt(AGRO_NUMBERS.ZERO).toLowerCase() + str.slice(1);
|
|
2241
2265
|
}
|
|
2242
|
-
/**
|
|
2243
|
-
* Conta o número de ocorrências de uma substring em uma string.
|
|
2244
|
-
* @param str - A string onde a contagem será realizada.
|
|
2245
|
-
* @param substring - A substring a ser contada.
|
|
2246
|
-
* @returns O número de ocorrências da substring na string.
|
|
2247
|
-
*/
|
|
2266
|
+
/** Conta o número de ocorrências de uma substring dentro de uma string */
|
|
2248
2267
|
static countMatches(str, substring) {
|
|
2249
2268
|
const regex = new RegExp(substring, "g");
|
|
2250
|
-
const matches =
|
|
2251
|
-
let match;
|
|
2252
|
-
while ((match = regex.exec(str)) !== null) {
|
|
2253
|
-
matches.push(match[0]);
|
|
2254
|
-
}
|
|
2269
|
+
const matches = str.match(regex);
|
|
2255
2270
|
return matches ? matches.length : AGRO_NUMBERS.ZERO;
|
|
2256
2271
|
}
|
|
2257
|
-
static validateCPF(cpf) {
|
|
2258
|
-
cpf = cpf.replace(/\D/g, "");
|
|
2259
|
-
if (cpf.length !== 11 || /^(\d)\1+$/.test(cpf)) {
|
|
2260
|
-
return false;
|
|
2261
|
-
}
|
|
2262
|
-
const calcVerifier = (cpf, length) => {
|
|
2263
|
-
let sum = 0;
|
|
2264
|
-
for (let i = 0; i < length; i++) {
|
|
2265
|
-
sum += parseInt(cpf[i]) * (length + 1 - i);
|
|
2266
|
-
}
|
|
2267
|
-
let result = sum % 11;
|
|
2268
|
-
return result < 2 ? 0 : 11 - result;
|
|
2269
|
-
};
|
|
2270
|
-
const digit1 = calcVerifier(cpf, 9);
|
|
2271
|
-
const digit2 = calcVerifier(cpf, 10);
|
|
2272
|
-
return digit1 === parseInt(cpf[9]) && digit2 === parseInt(cpf[10]);
|
|
2273
|
-
}
|
|
2274
|
-
static validateCNPJ(cnpj) {
|
|
2275
|
-
// Remove todos os caracteres não numéricos
|
|
2276
|
-
cnpj = cnpj.replace(/\D/g, "");
|
|
2277
|
-
// Verifica se tem 14 dígitos
|
|
2278
|
-
if (cnpj.length !== 14)
|
|
2279
|
-
return false;
|
|
2280
|
-
// Verifica se o CNPJ é uma sequência repetida (ex: 11111111111111, 22222222222222, etc.)
|
|
2281
|
-
if (/^(\d)\1{13}$/.test(cnpj))
|
|
2282
|
-
return false;
|
|
2283
|
-
// Cálculo do primeiro dígito verificador
|
|
2284
|
-
let soma = 0;
|
|
2285
|
-
let pesos1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
|
|
2286
|
-
for (let i = 0; i < 12; i++) {
|
|
2287
|
-
soma += parseInt(cnpj.charAt(i)) * pesos1[i];
|
|
2288
|
-
}
|
|
2289
|
-
let resto = soma % 11;
|
|
2290
|
-
let digito1 = resto < 2 ? 0 : 11 - resto;
|
|
2291
|
-
// Cálculo do segundo dígito verificador
|
|
2292
|
-
soma = 0;
|
|
2293
|
-
let pesos2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
|
|
2294
|
-
for (let i = 0; i < 13; i++) {
|
|
2295
|
-
soma += parseInt(cnpj.charAt(i)) * pesos2[i];
|
|
2296
|
-
}
|
|
2297
|
-
resto = soma % 11;
|
|
2298
|
-
let digito2 = resto < 2 ? 0 : 11 - resto;
|
|
2299
|
-
// Verifica se os dígitos verificadores são válidos
|
|
2300
|
-
return parseInt(cnpj.charAt(12)) === digito1 && parseInt(cnpj.charAt(13)) === digito2;
|
|
2301
|
-
}
|
|
2302
2272
|
/**
|
|
2303
|
-
*
|
|
2304
|
-
*
|
|
2305
|
-
*
|
|
2306
|
-
* @param mask
|
|
2307
|
-
* @returns
|
|
2273
|
+
* Aplica uma máscara simples à string fornecida.O padrão de máscaras é definido pelo enum AgroStringMasks ou
|
|
2274
|
+
* pode ser uma string personalizada onde '9' representa um dígito a ser substituído pelo caractere correspondente
|
|
2275
|
+
* da string.
|
|
2308
2276
|
*/
|
|
2309
2277
|
static applyMask(value, mask) {
|
|
2310
2278
|
const valueChars = value.toString().split("");
|
|
2311
2279
|
const maskChars = mask.split("");
|
|
2312
2280
|
let maskedValue = "";
|
|
2313
|
-
let j =
|
|
2281
|
+
let j = AGRO_NUMBERS.ZERO;
|
|
2314
2282
|
for (const maskChar of maskChars) {
|
|
2315
2283
|
if (j >= valueChars.length) {
|
|
2316
2284
|
break;
|
|
2317
2285
|
}
|
|
2318
2286
|
if (maskChar === "9") {
|
|
2319
|
-
maskedValue += valueChars[j
|
|
2287
|
+
maskedValue += valueChars[j];
|
|
2288
|
+
j += AGRO_NUMBERS.ONE; // increment extracted per Sonar recommendation
|
|
2320
2289
|
}
|
|
2321
2290
|
else {
|
|
2322
2291
|
maskedValue += maskChar;
|
|
@@ -2324,30 +2293,77 @@ class AgroStringUtils {
|
|
|
2324
2293
|
}
|
|
2325
2294
|
return maskedValue;
|
|
2326
2295
|
}
|
|
2327
|
-
/**
|
|
2328
|
-
* Verifica se uma string é válida.
|
|
2329
|
-
* @param str - A string a ser verificada.
|
|
2330
|
-
* @returns True se a string for válida, false caso contrário.
|
|
2331
|
-
*/
|
|
2332
2296
|
static isValid(str) {
|
|
2333
|
-
|
|
2334
|
-
return false;
|
|
2335
|
-
}
|
|
2336
|
-
if (AgroStringUtils.isNotEmpty(str)) {
|
|
2337
|
-
return true;
|
|
2338
|
-
}
|
|
2339
|
-
return false;
|
|
2297
|
+
return typeof str !== "undefined" && str !== null && this.isNotEmpty(str);
|
|
2340
2298
|
}
|
|
2341
|
-
/**
|
|
2342
|
-
* Verifica se uma string é inválida.
|
|
2343
|
-
* @param str - A string a ser verificada.
|
|
2344
|
-
* @returns True se a string for inválida, false caso contrário.
|
|
2345
|
-
*/
|
|
2346
2299
|
static isInvalid(str) {
|
|
2347
2300
|
return !AgroStringUtils.isValid(str);
|
|
2348
2301
|
}
|
|
2349
|
-
}
|
|
2302
|
+
}
|
|
2303
|
+
AgroStringUtils.CNPJ_TRADICIONAL_PESOS_1 = [
|
|
2304
|
+
AGRO_NUMBERS.FIVE,
|
|
2305
|
+
AGRO_NUMBERS.FOUR,
|
|
2306
|
+
AGRO_NUMBERS.THREE,
|
|
2307
|
+
AGRO_NUMBERS.TWO,
|
|
2308
|
+
AGRO_NUMBERS.NINE,
|
|
2309
|
+
AGRO_NUMBERS.EIGHT,
|
|
2310
|
+
AGRO_NUMBERS.SEVEN,
|
|
2311
|
+
AGRO_NUMBERS.SIX,
|
|
2312
|
+
AGRO_NUMBERS.FIVE,
|
|
2313
|
+
AGRO_NUMBERS.FOUR,
|
|
2314
|
+
AGRO_NUMBERS.THREE,
|
|
2315
|
+
AGRO_NUMBERS.TWO
|
|
2316
|
+
];
|
|
2317
|
+
AgroStringUtils.CNPJ_TRADICIONAL_PESOS_2 = [
|
|
2318
|
+
AGRO_NUMBERS.SIX,
|
|
2319
|
+
AGRO_NUMBERS.FIVE,
|
|
2320
|
+
AGRO_NUMBERS.FOUR,
|
|
2321
|
+
AGRO_NUMBERS.THREE,
|
|
2322
|
+
AGRO_NUMBERS.TWO,
|
|
2323
|
+
AGRO_NUMBERS.NINE,
|
|
2324
|
+
AGRO_NUMBERS.EIGHT,
|
|
2325
|
+
AGRO_NUMBERS.SEVEN,
|
|
2326
|
+
AGRO_NUMBERS.SIX,
|
|
2327
|
+
AGRO_NUMBERS.FIVE,
|
|
2328
|
+
AGRO_NUMBERS.FOUR,
|
|
2329
|
+
AGRO_NUMBERS.THREE,
|
|
2330
|
+
AGRO_NUMBERS.TWO
|
|
2331
|
+
];
|
|
2332
|
+
// Pesos utilizados para cálculo de dígitos verificadores do CNPJ alfanumérico (2026)
|
|
2333
|
+
AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_1 = [
|
|
2334
|
+
AGRO_NUMBERS.FIVE,
|
|
2335
|
+
AGRO_NUMBERS.FOUR,
|
|
2336
|
+
AGRO_NUMBERS.THREE,
|
|
2337
|
+
AGRO_NUMBERS.TWO,
|
|
2338
|
+
AGRO_NUMBERS.NINE,
|
|
2339
|
+
AGRO_NUMBERS.EIGHT,
|
|
2340
|
+
AGRO_NUMBERS.SEVEN,
|
|
2341
|
+
AGRO_NUMBERS.SIX,
|
|
2342
|
+
AGRO_NUMBERS.FIVE,
|
|
2343
|
+
AGRO_NUMBERS.FOUR,
|
|
2344
|
+
AGRO_NUMBERS.THREE,
|
|
2345
|
+
AGRO_NUMBERS.TWO
|
|
2346
|
+
];
|
|
2347
|
+
AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_2 = [
|
|
2348
|
+
AGRO_NUMBERS.SIX,
|
|
2349
|
+
AGRO_NUMBERS.FIVE,
|
|
2350
|
+
AGRO_NUMBERS.FOUR,
|
|
2351
|
+
AGRO_NUMBERS.THREE,
|
|
2352
|
+
AGRO_NUMBERS.TWO,
|
|
2353
|
+
AGRO_NUMBERS.NINE,
|
|
2354
|
+
AGRO_NUMBERS.EIGHT,
|
|
2355
|
+
AGRO_NUMBERS.SEVEN,
|
|
2356
|
+
AGRO_NUMBERS.SIX,
|
|
2357
|
+
AGRO_NUMBERS.FIVE,
|
|
2358
|
+
AGRO_NUMBERS.FOUR,
|
|
2359
|
+
AGRO_NUMBERS.THREE,
|
|
2360
|
+
AGRO_NUMBERS.TWO
|
|
2361
|
+
];
|
|
2350
2362
|
|
|
2363
|
+
// Cookie name constants
|
|
2364
|
+
const COOKIE_TOKEN = 'com.senior.token';
|
|
2365
|
+
const COOKIE_BASE_URL = 'com.senior.base.url';
|
|
2366
|
+
const COOKIE_SERVICES_URL = 'com.senior.services.url';
|
|
2351
2367
|
class AgroPlatformUtils {
|
|
2352
2368
|
/**
|
|
2353
2369
|
* Retorna o tenant atual
|
|
@@ -2355,31 +2371,30 @@ class AgroPlatformUtils {
|
|
|
2355
2371
|
* @returns
|
|
2356
2372
|
*/
|
|
2357
2373
|
static getCurrentTenant() {
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
const str = (_a = AgroObjectUtils.fromString(cookie)) === null || _a === void 0 ? void 0 : _a.tenantName;
|
|
2362
|
-
if (str) {
|
|
2363
|
-
return str;
|
|
2364
|
-
}
|
|
2374
|
+
const tenant = AgroPlatformUtils.getTokenField('tenantName');
|
|
2375
|
+
if (tenant) {
|
|
2376
|
+
return tenant;
|
|
2365
2377
|
}
|
|
2366
|
-
throw new Error(
|
|
2378
|
+
throw new Error(`Cookie: "${COOKIE_TOKEN}" não encontrado.`);
|
|
2367
2379
|
}
|
|
2368
2380
|
/**
|
|
2369
2381
|
* Retorna o locale do tenant atual
|
|
2370
2382
|
*
|
|
2371
2383
|
* @returns
|
|
2372
2384
|
*/
|
|
2373
|
-
static
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
const str = (_a = AgroObjectUtils.fromString(cookie)) === null || _a === void 0 ? void 0 : _a.locale;
|
|
2378
|
-
if (str) {
|
|
2379
|
-
return str;
|
|
2380
|
-
}
|
|
2385
|
+
static getCurrentTenantLocale() {
|
|
2386
|
+
const locale = AgroPlatformUtils.getTokenField('locale');
|
|
2387
|
+
if (locale) {
|
|
2388
|
+
return locale;
|
|
2381
2389
|
}
|
|
2382
|
-
throw new Error(
|
|
2390
|
+
throw new Error(`Cookie: "${COOKIE_TOKEN}" não encontrado.`);
|
|
2391
|
+
}
|
|
2392
|
+
/**
|
|
2393
|
+
* @deprecated Use getCurrentTenantLocale()
|
|
2394
|
+
* Mantido por compatibilidade retroativa.
|
|
2395
|
+
*/
|
|
2396
|
+
static getCurrenTenantLocale() {
|
|
2397
|
+
return AgroPlatformUtils.getCurrentTenantLocale();
|
|
2383
2398
|
}
|
|
2384
2399
|
/**
|
|
2385
2400
|
* Retorna o usuário logado
|
|
@@ -2387,15 +2402,8 @@ class AgroPlatformUtils {
|
|
|
2387
2402
|
* @returns string || null
|
|
2388
2403
|
*/
|
|
2389
2404
|
static getCurrentUserName() {
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
if (cookie) {
|
|
2393
|
-
const str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.fullName;
|
|
2394
|
-
if (str) {
|
|
2395
|
-
return str;
|
|
2396
|
-
}
|
|
2397
|
-
}
|
|
2398
|
-
return null;
|
|
2405
|
+
const name = AgroPlatformUtils.getTokenField('fullName');
|
|
2406
|
+
return name || null;
|
|
2399
2407
|
}
|
|
2400
2408
|
/**
|
|
2401
2409
|
* Retorna o e-mail do usuário logado
|
|
@@ -2403,16 +2411,11 @@ class AgroPlatformUtils {
|
|
|
2403
2411
|
* @returns string
|
|
2404
2412
|
*/
|
|
2405
2413
|
static getCurrentUserEmail() {
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
const str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.email;
|
|
2410
|
-
if (str) {
|
|
2411
|
-
return str;
|
|
2412
|
-
}
|
|
2414
|
+
const email = AgroPlatformUtils.getTokenField('email');
|
|
2415
|
+
if (!email) {
|
|
2416
|
+
console.info(`Cookie: "${COOKIE_TOKEN}" não encontrado.`);
|
|
2413
2417
|
}
|
|
2414
|
-
|
|
2415
|
-
return null;
|
|
2418
|
+
return email || null;
|
|
2416
2419
|
}
|
|
2417
2420
|
/**
|
|
2418
2421
|
* Retorna uma string com a baseURL atual
|
|
@@ -2420,11 +2423,11 @@ class AgroPlatformUtils {
|
|
|
2420
2423
|
* @example "https://cloud-leaf.senior.com.br" || "https://platform.senior.com.br"
|
|
2421
2424
|
*/
|
|
2422
2425
|
static getBaseURL() {
|
|
2423
|
-
const cookie = AgroCookieUtils.getCookie(
|
|
2426
|
+
const cookie = AgroCookieUtils.getCookie(COOKIE_BASE_URL);
|
|
2424
2427
|
if (cookie) {
|
|
2425
2428
|
return decodeURIComponent(cookie);
|
|
2426
2429
|
}
|
|
2427
|
-
throw new Error(
|
|
2430
|
+
throw new Error(`Cookie: "${COOKIE_BASE_URL}" não encontrado.`);
|
|
2428
2431
|
}
|
|
2429
2432
|
/**
|
|
2430
2433
|
* Retorna uma string com a URL dos serviços
|
|
@@ -2432,27 +2435,33 @@ class AgroPlatformUtils {
|
|
|
2432
2435
|
* @example "https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/"
|
|
2433
2436
|
*/
|
|
2434
2437
|
static getServicesURL() {
|
|
2435
|
-
const cookie = AgroCookieUtils.getCookie(
|
|
2438
|
+
const cookie = AgroCookieUtils.getCookie(COOKIE_SERVICES_URL);
|
|
2436
2439
|
if (AgroStringUtils.isNotEmpty(cookie)) {
|
|
2437
2440
|
return decodeURIComponent(cookie);
|
|
2438
2441
|
}
|
|
2439
|
-
throw new Error(
|
|
2442
|
+
throw new Error(`Cookie: "${COOKIE_SERVICES_URL}" não encontrado.`);
|
|
2440
2443
|
}
|
|
2441
2444
|
/**
|
|
2442
2445
|
* Retorna uma string com o token de acesso atual
|
|
2443
2446
|
* Caso contrário, retorna uma instância de Error
|
|
2444
2447
|
*/
|
|
2445
2448
|
static getCurrentAccessToken() {
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
const str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.access_token;
|
|
2450
|
-
if (str) {
|
|
2451
|
-
return str;
|
|
2452
|
-
}
|
|
2449
|
+
const token = AgroPlatformUtils.getTokenField('access_token');
|
|
2450
|
+
if (!token) {
|
|
2451
|
+
console.info(`Cookie: "${COOKIE_TOKEN}" não encontrado.`);
|
|
2453
2452
|
}
|
|
2454
|
-
|
|
2455
|
-
|
|
2453
|
+
return token || null;
|
|
2454
|
+
}
|
|
2455
|
+
/**
|
|
2456
|
+
* Helper para extrair um campo do cookie de token.
|
|
2457
|
+
*/
|
|
2458
|
+
static getTokenField(field) {
|
|
2459
|
+
const cookie = AgroCookieUtils.getCookie(COOKIE_TOKEN);
|
|
2460
|
+
if (!cookie) {
|
|
2461
|
+
return undefined;
|
|
2462
|
+
}
|
|
2463
|
+
const obj = AgroCookieUtils.parseCookieToObject(cookie, true);
|
|
2464
|
+
return obj[field];
|
|
2456
2465
|
}
|
|
2457
2466
|
}
|
|
2458
2467
|
|
|
@@ -2483,7 +2492,7 @@ class AgroNumberUtils {
|
|
|
2483
2492
|
* @returns True se for par, false caso contrário.
|
|
2484
2493
|
*/
|
|
2485
2494
|
static isEven(value) {
|
|
2486
|
-
return value %
|
|
2495
|
+
return value % AGRO_NUMBERS.TWO === AGRO_NUMBERS.ZERO;
|
|
2487
2496
|
}
|
|
2488
2497
|
/**
|
|
2489
2498
|
* Verifica se um número é ímpar.
|
|
@@ -2492,7 +2501,7 @@ class AgroNumberUtils {
|
|
|
2492
2501
|
* @returns True se for ímpar, false caso contrário.
|
|
2493
2502
|
*/
|
|
2494
2503
|
static isOdd(value) {
|
|
2495
|
-
return value %
|
|
2504
|
+
return value % AGRO_NUMBERS.TWO !== AGRO_NUMBERS.ZERO;
|
|
2496
2505
|
}
|
|
2497
2506
|
/**
|
|
2498
2507
|
* Calcula a porcentagem de um valor em relação a um total.
|
|
@@ -2502,9 +2511,10 @@ class AgroNumberUtils {
|
|
|
2502
2511
|
* @returns A porcentagem calculada.
|
|
2503
2512
|
*/
|
|
2504
2513
|
static percentage(partial, total) {
|
|
2505
|
-
if (total ===
|
|
2514
|
+
if (total === AGRO_NUMBERS.ZERO) {
|
|
2506
2515
|
throw new Error("O total não pode ser zero.");
|
|
2507
|
-
|
|
2516
|
+
}
|
|
2517
|
+
return (partial / total) * AGRO_NUMBERS.ONE_HUNDRED;
|
|
2508
2518
|
}
|
|
2509
2519
|
/**
|
|
2510
2520
|
* Formata um número para o formato monetário.
|
|
@@ -2528,6 +2538,9 @@ class AgroNumberUtils {
|
|
|
2528
2538
|
* @returns Um número aleatório no intervalo.
|
|
2529
2539
|
*/
|
|
2530
2540
|
static randomInRange(min, max) {
|
|
2541
|
+
if (max <= min) {
|
|
2542
|
+
throw new Error("O valor máximo deve ser maior que o mínimo.");
|
|
2543
|
+
}
|
|
2531
2544
|
return Math.random() * (max - min) + min;
|
|
2532
2545
|
}
|
|
2533
2546
|
/**
|
|
@@ -2537,11 +2550,13 @@ class AgroNumberUtils {
|
|
|
2537
2550
|
* @returns True se for primo, false caso contrário.
|
|
2538
2551
|
*/
|
|
2539
2552
|
static isPrime(value) {
|
|
2540
|
-
if (value <=
|
|
2553
|
+
if (value <= AGRO_NUMBERS.ONE) {
|
|
2541
2554
|
return false;
|
|
2542
|
-
|
|
2543
|
-
|
|
2555
|
+
}
|
|
2556
|
+
for (let i = AGRO_NUMBERS.TWO; i <= Math.sqrt(value); i++) {
|
|
2557
|
+
if (value % i === AGRO_NUMBERS.ZERO) {
|
|
2544
2558
|
return false;
|
|
2559
|
+
}
|
|
2545
2560
|
}
|
|
2546
2561
|
return true;
|
|
2547
2562
|
}
|
|
@@ -2552,8 +2567,11 @@ class AgroNumberUtils {
|
|
|
2552
2567
|
* @param decimals O número de casas decimais (padrão: 2).
|
|
2553
2568
|
* @returns O número arredondado.
|
|
2554
2569
|
*/
|
|
2555
|
-
static roundTo(value, decimals =
|
|
2556
|
-
|
|
2570
|
+
static roundTo(value, decimals = AGRO_NUMBERS.TWO) {
|
|
2571
|
+
if (decimals < AGRO_NUMBERS.ZERO) {
|
|
2572
|
+
throw new Error("O número de casas decimais não pode ser negativo.");
|
|
2573
|
+
}
|
|
2574
|
+
const factor = Math.pow(AGRO_NUMBERS.TEN, decimals);
|
|
2557
2575
|
return Math.round(value * factor) / factor;
|
|
2558
2576
|
}
|
|
2559
2577
|
}
|
|
@@ -2587,6 +2605,8 @@ Colors.GRAY_SCALE = {
|
|
|
2587
2605
|
SECONDARY_RGB: "153, 153, 153",
|
|
2588
2606
|
PRIMAEY_DISABLED: "#CCCCCC",
|
|
2589
2607
|
PRIMAEY_DISABLED_RGB: "204, 204, 204",
|
|
2608
|
+
PRIMARY_DISABLED: "#CCCCCC",
|
|
2609
|
+
PRIMARY_DISABLED_RGB: "204, 204, 204",
|
|
2590
2610
|
SECONDARY_DISABLED: "#D8D8D8",
|
|
2591
2611
|
SECONDARY_DISABLED_RGB: "216, 216, 216",
|
|
2592
2612
|
BLACK_HAZE: "#E5EAEA",
|
|
@@ -2646,8 +2666,7 @@ class AgroNameUtils {
|
|
|
2646
2666
|
return null;
|
|
2647
2667
|
}
|
|
2648
2668
|
const parts = fullName.trim().split(/\s+/);
|
|
2649
|
-
|
|
2650
|
-
if (parts.length < 2) {
|
|
2669
|
+
if (parts.length < AGRO_NUMBERS.TWO) {
|
|
2651
2670
|
return fullName; // Retorna o nome original se não puder ser abreviado
|
|
2652
2671
|
}
|
|
2653
2672
|
const firstName = parts[0]; // Primeiro nome completo
|
|
@@ -2666,8 +2685,9 @@ class AgroNameUtils {
|
|
|
2666
2685
|
return null;
|
|
2667
2686
|
}
|
|
2668
2687
|
const parts = fullName.trim().split(/\s+/);
|
|
2669
|
-
if (parts.length <
|
|
2688
|
+
if (parts.length < AGRO_NUMBERS.TWO) {
|
|
2670
2689
|
return fullName;
|
|
2690
|
+
}
|
|
2671
2691
|
const firstName = parts[0];
|
|
2672
2692
|
const abbreviatedLastNames = parts
|
|
2673
2693
|
.slice(1)
|
|
@@ -2761,34 +2781,35 @@ class AgroLogics {
|
|
|
2761
2781
|
static entityDistributionStats(data, keys) {
|
|
2762
2782
|
const total = data.length;
|
|
2763
2783
|
const map = new Map();
|
|
2764
|
-
|
|
2765
|
-
const
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2784
|
+
const resolvePath = (source, path) => {
|
|
2785
|
+
const parts = path.split(".");
|
|
2786
|
+
let value = source;
|
|
2787
|
+
for (const p of parts) {
|
|
2788
|
+
if (value == null) {
|
|
2789
|
+
return undefined;
|
|
2770
2790
|
}
|
|
2771
|
-
|
|
2772
|
-
}
|
|
2791
|
+
value = value[p];
|
|
2792
|
+
}
|
|
2793
|
+
return value;
|
|
2794
|
+
};
|
|
2795
|
+
for (const item of data) {
|
|
2796
|
+
const keyValues = keys.map(k => resolvePath(item, k));
|
|
2797
|
+
const uniqueKey = JSON.stringify(keyValues);
|
|
2773
2798
|
if (!map.has(uniqueKey)) {
|
|
2774
2799
|
const groupedData = {};
|
|
2775
|
-
for (const
|
|
2776
|
-
const
|
|
2777
|
-
|
|
2778
|
-
for (const p of parts) {
|
|
2779
|
-
value = value === null || value === void 0 ? void 0 : value[p];
|
|
2780
|
-
}
|
|
2781
|
-
// add the full entity (not only its ID)
|
|
2782
|
-
groupedData[c.toString().split(".")[0]] = value;
|
|
2800
|
+
for (const k of keys) {
|
|
2801
|
+
const rootName = k.toString().split(".")[0];
|
|
2802
|
+
groupedData[rootName] = resolvePath(item, k);
|
|
2783
2803
|
}
|
|
2784
2804
|
map.set(uniqueKey, { data: groupedData, count: 0 });
|
|
2785
2805
|
}
|
|
2786
|
-
map.get(uniqueKey)
|
|
2806
|
+
const entry = map.get(uniqueKey);
|
|
2807
|
+
entry.count += AGRO_NUMBERS.ONE;
|
|
2787
2808
|
}
|
|
2788
|
-
const result = Array.from(map.values()).map(
|
|
2809
|
+
const result = Array.from(map.values()).map(entry => ({
|
|
2789
2810
|
data: entry.data,
|
|
2790
2811
|
samplingQuantity: entry.count,
|
|
2791
|
-
samplingSuccess: Math.round((entry.count / total) *
|
|
2812
|
+
samplingSuccess: Math.round((entry.count / total) * AGRO_NUMBERS.ONE_HUNDRED),
|
|
2792
2813
|
}));
|
|
2793
2814
|
result.sort((a, b) => b.samplingSuccess - a.samplingSuccess);
|
|
2794
2815
|
return result;
|
|
@@ -3142,7 +3163,7 @@ let WebsocketService = class WebsocketService {
|
|
|
3142
3163
|
this.handleError('WebSocketError', data);
|
|
3143
3164
|
}
|
|
3144
3165
|
handleError(origin, data) {
|
|
3145
|
-
console.
|
|
3166
|
+
console.info(origin, data);
|
|
3146
3167
|
this.error$.next(data);
|
|
3147
3168
|
}
|
|
3148
3169
|
handleReconnection() {
|
|
@@ -3259,7 +3280,6 @@ const ptBR = {
|
|
|
3259
3280
|
"agro.angular_components.change_request_event_summary": "Alteração de \nPesagem",
|
|
3260
3281
|
"agro.angular_components.ticket_maintenance_header": "Manutenção de ticket",
|
|
3261
3282
|
"agro.angular_components.invoice_creating_event": "Emissão de NF",
|
|
3262
|
-
"agro.angular_components.invoice_close_event": "Fechamento de NF",
|
|
3263
3283
|
"agro.angular_components.balance_entry_control_event": "Entrada/saída balança",
|
|
3264
3284
|
"agro.angular_components.event_origin_label": "Origem do evento",
|
|
3265
3285
|
"agro.angular_components.event_details_header": "Detalhes do Evento",
|
|
@@ -3476,7 +3496,6 @@ const ptBR = {
|
|
|
3476
3496
|
"agro.angular_components.CREATE_INVOICE_FIXATION": "Emissão de NF",
|
|
3477
3497
|
"agro.angular_components.CANCEL_INVOICE_FIXATION": "Cancelamento de NF",
|
|
3478
3498
|
"agro.angular_components.ORIGINATION_CREATE_INVOICE": "Emissão de NF",
|
|
3479
|
-
"agro.angular_components.INVOICE_CLOSE_INVOICE": "Fechamento de NF",
|
|
3480
3499
|
"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_BALANCE": "Emissão de saldo efetivo",
|
|
3481
3500
|
"agro.angular_components.PRODUCER_NET_VALUE_EFFECTIVE_BALANCE_CONFIRMATION": "Confirmação de saldo efetivo",
|
|
3482
3501
|
"agro.angular_components.CLOSE_INVOICE_FIXATION": "Fechamento de NF",
|
|
@@ -3489,6 +3508,14 @@ const ptBR = {
|
|
|
3489
3508
|
"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE": "Emissão NF de serviço",
|
|
3490
3509
|
"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE": "Cancelamento de NF de serviço",
|
|
3491
3510
|
"agro.angular_components.REOPEN_INVOICE_FIXATION": "Reabertura da NF",
|
|
3511
|
+
"agro.angular_components.CIDASC_INTEGRATION": "Envio ao Cidasc",
|
|
3512
|
+
"agro.angular_components.CIDASC_CANCELLATION": "Cancelamento do Receituário",
|
|
3513
|
+
"agro.angular_components.CIDASC_DATA_LOAD_CULTURE": "Carga Cidasc - Cultura",
|
|
3514
|
+
"agro.angular_components.CIDASC_DATA_LOAD_PEST": "Carga Cidasc - Praga",
|
|
3515
|
+
"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT": "Carga Cidasc - Produto",
|
|
3516
|
+
"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT": "Carga Cidasc - Unidade de medida",
|
|
3517
|
+
"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT": "Carga Cidasc - Medida por hectare",
|
|
3518
|
+
"agro.angular_components.agronomic_prescription_origin_event": "Receituário Agronômico",
|
|
3492
3519
|
};
|
|
3493
3520
|
|
|
3494
3521
|
const enUS = {
|
|
@@ -3514,7 +3541,6 @@ const enUS = {
|
|
|
3514
3541
|
"agro.angular_components.change_request_event_summary": "Weight Change",
|
|
3515
3542
|
"agro.angular_components.ticket_maintenance_header": "Ticket Maintenance",
|
|
3516
3543
|
"agro.angular_components.invoice_creating_event": "Invoice Issuance",
|
|
3517
|
-
"agro.angular_components.invoice_close_event": "Invoice Closing",
|
|
3518
3544
|
"agro.angular_components.balance_entry_control_event": "Balance Entry/Exit",
|
|
3519
3545
|
"agro.angular_components.event_origin_label": "Event origin",
|
|
3520
3546
|
"agro.angular_components.event_details_header": "Event Details",
|
|
@@ -3731,13 +3757,20 @@ const enUS = {
|
|
|
3731
3757
|
"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION": "Effective confirmation",
|
|
3732
3758
|
"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE": "Provisional balance",
|
|
3733
3759
|
"agro.angular_components.CLOSE_INVOICE_TRANSFER": "Close transfer invoice",
|
|
3734
|
-
"agro.angular_components.INVOICE_CLOSE_INVOICE": "Invoice closing",
|
|
3735
3760
|
"agro.angular_components.REOPEN_INVOICE_TRANSFER": "Reopen transfer invoice",
|
|
3736
3761
|
"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE": "Financial title creation",
|
|
3737
3762
|
"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE": "Financial title cancellation",
|
|
3738
3763
|
"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE": "Service invoice issuance",
|
|
3739
3764
|
"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE": "Service invoice cancellation",
|
|
3740
3765
|
"agro.angular_components.REOPEN_INVOICE_FIXATION": "Reopen invoice fixation",
|
|
3766
|
+
"agro.angular_components.CIDASC_INTEGRATION": "Send to Cidasc",
|
|
3767
|
+
"agro.angular_components.CIDASC_CANCELLATION": "Prescription Cancellation",
|
|
3768
|
+
"agro.angular_components.CIDASC_DATA_LOAD_CULTURE": "Cidasc Load - Culture",
|
|
3769
|
+
"agro.angular_components.CIDASC_DATA_LOAD_PEST": "Cidasc Load - Pest",
|
|
3770
|
+
"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT": "Cidasc Load - Product",
|
|
3771
|
+
"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT": "Cidasc Load - Unit of measure",
|
|
3772
|
+
"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT": "Cidasc Load - Measure per hectare",
|
|
3773
|
+
"agro.angular_components.agronomic_prescription_origin_event": "Agronomic Prescription",
|
|
3741
3774
|
};
|
|
3742
3775
|
|
|
3743
3776
|
const esCO = {
|
|
@@ -3763,7 +3796,6 @@ const esCO = {
|
|
|
3763
3796
|
"agro.angular_components.change_request_event_summary": "Cambio de \nPesaje",
|
|
3764
3797
|
"agro.angular_components.ticket_maintenance_header": "Mantenimiento de ticket",
|
|
3765
3798
|
"agro.angular_components.invoice_creating_event": "Emisión de Factura",
|
|
3766
|
-
"agro.angular_components.invoice_close_event": "Cierre de Factura",
|
|
3767
3799
|
"agro.angular_components.balance_entry_control_event": "Entrada/salida balanza",
|
|
3768
3800
|
"agro.angular_components.event_origin_label": "Origen del evento",
|
|
3769
3801
|
"agro.angular_components.event_details_header": "Detalles del Evento",
|
|
@@ -3980,13 +4012,20 @@ const esCO = {
|
|
|
3980
4012
|
"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION": "Confirmación efectiva",
|
|
3981
4013
|
"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE": "Saldo provisional",
|
|
3982
4014
|
"agro.angular_components.CLOSE_INVOICE_TRANSFER": "Cierre de factura",
|
|
3983
|
-
"agro.angular_components.INVOICE_CLOSE_INVOICE": "Cierre de factura",
|
|
3984
4015
|
"agro.angular_components.REOPEN_INVOICE_TRANSFER": "Reapertura de factura",
|
|
3985
4016
|
"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE": "Creación de título financiero",
|
|
3986
4017
|
"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE": "Cancelación de título financiero",
|
|
3987
4018
|
"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE": "Emisión de NF de servicio",
|
|
3988
4019
|
"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE": "Cancelación de NF de servicio",
|
|
3989
4020
|
"agro.angular_components.REOPEN_INVOICE_FIXATION": "Reapertura de factura",
|
|
4021
|
+
"agro.angular_components.CIDASC_INTEGRATION": "Envío a Cidasc",
|
|
4022
|
+
"agro.angular_components.CIDASC_CANCELLATION": "Cancelación de Receta",
|
|
4023
|
+
"agro.angular_components.CIDASC_DATA_LOAD_CULTURE": "Carga Cidasc - Cultivo",
|
|
4024
|
+
"agro.angular_components.CIDASC_DATA_LOAD_PEST": "Carga Cidasc - Plaga",
|
|
4025
|
+
"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT": "Carga Cidasc - Producto",
|
|
4026
|
+
"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT": "Carga Cidasc - Unidad de medida",
|
|
4027
|
+
"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT": "Carga Cidasc - Medida por hectárea",
|
|
4028
|
+
"agro.angular_components.agronomic_prescription_origin_event": "Recetario Agronómico",
|
|
3990
4029
|
};
|
|
3991
4030
|
|
|
3992
4031
|
let LibTranslationService = class LibTranslationService {
|
|
@@ -4038,14 +4077,6 @@ LibTranslationService = __decorate([
|
|
|
4038
4077
|
})
|
|
4039
4078
|
], LibTranslationService);
|
|
4040
4079
|
|
|
4041
|
-
var NUMBERS;
|
|
4042
|
-
(function (NUMBERS) {
|
|
4043
|
-
NUMBERS[NUMBERS["ZERO"] = 0] = "ZERO";
|
|
4044
|
-
NUMBERS[NUMBERS["TWELVE"] = 12] = "TWELVE";
|
|
4045
|
-
NUMBERS[NUMBERS["FIFTEEN"] = 15] = "FIFTEEN";
|
|
4046
|
-
NUMBERS[NUMBERS["HUNDRED"] = 100] = "HUNDRED";
|
|
4047
|
-
})(NUMBERS || (NUMBERS = {}));
|
|
4048
|
-
|
|
4049
4080
|
let CancelEventDialogComponent = class CancelEventDialogComponent {
|
|
4050
4081
|
constructor(formBuilder, config, ref, translate) {
|
|
4051
4082
|
this.formBuilder = formBuilder;
|
|
@@ -4053,13 +4084,13 @@ let CancelEventDialogComponent = class CancelEventDialogComponent {
|
|
|
4053
4084
|
this.ref = ref;
|
|
4054
4085
|
this.translate = translate;
|
|
4055
4086
|
this.loading = false;
|
|
4056
|
-
this.reasonMinLength =
|
|
4087
|
+
this.reasonMinLength = AGRO_NUMBERS.FIFTEEN;
|
|
4057
4088
|
this.ngUnsubscribe = new Subject();
|
|
4058
4089
|
this.cpSize = {
|
|
4059
4090
|
sm: 12,
|
|
4060
|
-
md:
|
|
4061
|
-
lg:
|
|
4062
|
-
xl:
|
|
4091
|
+
md: AGRO_NUMBERS.TWELVE,
|
|
4092
|
+
lg: AGRO_NUMBERS.TWELVE,
|
|
4093
|
+
xl: AGRO_NUMBERS.TWELVE,
|
|
4063
4094
|
};
|
|
4064
4095
|
this.priority = ButtonPriority;
|
|
4065
4096
|
}
|
|
@@ -4087,14 +4118,14 @@ let CancelEventDialogComponent = class CancelEventDialogComponent {
|
|
|
4087
4118
|
multiple: false,
|
|
4088
4119
|
required: () => true,
|
|
4089
4120
|
size: this.cpSize,
|
|
4090
|
-
maxLength:
|
|
4121
|
+
maxLength: AGRO_NUMBERS.ONE_HUNDRED,
|
|
4091
4122
|
}),
|
|
4092
4123
|
];
|
|
4093
4124
|
}
|
|
4094
4125
|
setDataConfigDialog() {
|
|
4095
4126
|
var _a, _b, _c, _d;
|
|
4096
4127
|
this.cancelEventDialogConfig = (_b = (_a = this.config.data) === null || _a === void 0 ? void 0 : _a.cancelEventDialogConfig) !== null && _b !== void 0 ? _b : {};
|
|
4097
|
-
this.reasonMinLength = (_d = (_c = this.cancelEventDialogConfig) === null || _c === void 0 ? void 0 : _c.reasonMinLength) !== null && _d !== void 0 ? _d :
|
|
4128
|
+
this.reasonMinLength = (_d = (_c = this.cancelEventDialogConfig) === null || _c === void 0 ? void 0 : _c.reasonMinLength) !== null && _d !== void 0 ? _d : AGRO_NUMBERS.FIFTEEN;
|
|
4098
4129
|
}
|
|
4099
4130
|
setTranslations() {
|
|
4100
4131
|
this.translations = {
|
|
@@ -4160,7 +4191,6 @@ var EventOperation;
|
|
|
4160
4191
|
EventOperation["EFFECTIVE"] = "EFFECTIVE";
|
|
4161
4192
|
EventOperation["TICKET"] = "TICKET";
|
|
4162
4193
|
EventOperation["CREATE_INVOICE"] = "CREATE_INVOICE";
|
|
4163
|
-
EventOperation["INVOICE_CLOSE_INVOICE"] = "INVOICE_CLOSE_INVOICE";
|
|
4164
4194
|
EventOperation["EFFECTIVE_CONFIRMATION"] = "EFFECTIVE_CONFIRMATION";
|
|
4165
4195
|
EventOperation["REMOVE_PROVISIONAL"] = "REMOVE_PROVISIONAL";
|
|
4166
4196
|
EventOperation["CHANGE_REQUEST"] = "CHANGE_REQUEST";
|
|
@@ -4223,11 +4253,6 @@ const eventItem = [
|
|
|
4223
4253
|
value: EventOperation.CANCEL_INVOICE,
|
|
4224
4254
|
subLabelField: InputFields.AGRO_INVOICE_TYPE,
|
|
4225
4255
|
},
|
|
4226
|
-
{
|
|
4227
|
-
label: `agro.angular_components.${EventOperation.INVOICE_CLOSE_INVOICE}`,
|
|
4228
|
-
value: EventOperation.INVOICE_CLOSE_INVOICE,
|
|
4229
|
-
subLabelField: InputFields.AGRO_INVOICE_TYPE,
|
|
4230
|
-
},
|
|
4231
4256
|
{ label: `agro.angular_components.${EventOperation.REPROCESS_INVOICE}`, value: EventOperation.REPROCESS_INVOICE },
|
|
4232
4257
|
{ label: `agro.angular_components.${EventOperation.EFFECTIVE_CONFIRMATION}`, value: EventOperation.EFFECTIVE_CONFIRMATION },
|
|
4233
4258
|
{ label: `agro.angular_components.${EventOperation.CHANGE_REQUEST}`, value: EventOperation.CHANGE_REQUEST },
|
|
@@ -4333,7 +4358,6 @@ var EventOrigin;
|
|
|
4333
4358
|
EventOrigin["TRANSFER"] = "TRANSFER";
|
|
4334
4359
|
EventOrigin["CHANGE_REQUEST"] = "CHANGE_REQUEST";
|
|
4335
4360
|
EventOrigin["CREATE_INVOICE"] = "CREATE_INVOICE";
|
|
4336
|
-
EventOrigin["CLOSE_INVOICE"] = "CLOSE_INVOICE";
|
|
4337
4361
|
EventOrigin["FIXATION"] = "FIXATION";
|
|
4338
4362
|
EventOrigin["CANCEL_FIXATION"] = "CANCEL_FIXATION";
|
|
4339
4363
|
EventOrigin["TRANSFER_CANCELLATION"] = "TRANSFER_CANCELLATION";
|
|
@@ -4936,7 +4960,7 @@ let EventControlBoardComponent = class EventControlBoardComponent {
|
|
|
4936
4960
|
return keys.reduce((acc, key) => acc && acc[key], parsedJson);
|
|
4937
4961
|
}
|
|
4938
4962
|
catch (error) {
|
|
4939
|
-
console.
|
|
4963
|
+
console.info("Erro ao acessar o objeto pelo path: " + path, error);
|
|
4940
4964
|
return null;
|
|
4941
4965
|
}
|
|
4942
4966
|
}
|
|
@@ -5072,7 +5096,6 @@ let EventControlBoardComponent = class EventControlBoardComponent {
|
|
|
5072
5096
|
case EventOrigin.TICKET:
|
|
5073
5097
|
case EventOrigin.INVOICE:
|
|
5074
5098
|
case EventOrigin.CREATE_INVOICE:
|
|
5075
|
-
case EventOrigin.CLOSE_INVOICE:
|
|
5076
5099
|
this.sidebarLoading = true;
|
|
5077
5100
|
{
|
|
5078
5101
|
const param = JSON.parse(this.selectedStep.item.input);
|
|
@@ -5220,7 +5243,7 @@ __decorate([
|
|
|
5220
5243
|
EventControlBoardComponent = __decorate([
|
|
5221
5244
|
Component({
|
|
5222
5245
|
selector: "event-control-board",
|
|
5223
|
-
template: "<ng-container *sLoadingState=\"gridLoading\">\r\n <p-panel>\r\n <p-header>\r\n {{ \"agro.angular_components.event_control_header\" | libTranslate }}\r\n </p-header>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12\">\r\n <s-button\r\n id=\"refresh-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.refresh' | libTranslate\"\r\n (click)=\"onSearch()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"standalone && showCancelButton\"\r\n id=\"cancel-button-agro-events-lib\"\r\n iconClass=\"fa fa-times\"\r\n [label]=\"'agro.angular_components.cancel' | libTranslate\"\r\n (click)=\"openCancelModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-12\" *ngIf=\"!gridData || gridData?.length === 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-exclamation-triangle\"\r\n title=\"{{ 'agro.angular_components.nothing_found' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.table_empty_description' | libTranslate }}\"\r\n >\r\n </s-empty-state>\r\n </div>\r\n <ng-container *ngIf=\"gridData?.length > 0\">\r\n <p-table\r\n stylelass=\"custom-table\"\r\n #eventControlTable\r\n [value]=\"gridDataResolved\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [scrollable]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"!standalone\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [rows]=\"10\"\r\n [responsive]=\"true\"\r\n (onLazyLoad)=\"onGridChange($event)\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [lazyLoadOnInit]=\"false\"\r\n sortMode=\"multiple\"\r\n [rows]=\"getPageSize()\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <th\r\n *ngFor=\"let col of columns\"\r\n class=\"ui-lg-1 ui-md-1\"\r\n [pSortableColumn]=\"col.field\"\r\n scope=\"col\"\r\n >\r\n <div class=\"senior-header\">\r\n <span class=\"senior-header-title\">{{\r\n col.header\r\n }}</span>\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <th class=\"ui-lg-8 ui-md-7\" scope=\"col\">\r\n {{ \"agro.angular_components.panel_title_events_events\" | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070emp?.nomEmp }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070fil?.nomFil }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n <ng-container [ngSwitch]=\"rowData.eventOrigin\">\r\n <span *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{\r\n \"agro.angular_components.balance_entry_control_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'TICKET'\">\r\n {{\r\n \"agro.angular_components.ticket_maintenance_header\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER'\">\r\n {{\r\n \"agro.angular_components.transfer_origin_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'INVOICE'\">\r\n {{\r\n \"agro.angular_components.invoice_creating_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{\r\n \"agro.angular_components.change_request_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'FIXATION'\">\r\n {{\r\n \"agro.angular_components.fixation_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{\r\n \"agro.angular_components.cancel_fixation_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{\r\n \"agro.angular_components.transfer_cancellation_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <td class=\"ui-lg-1 ui ui-md-1\">\r\n {{ rowData.controlCode || \"\" }}\r\n </td>\r\n </ng-container>\r\n <td class=\"ui-lg-8 ui-md-7\">\r\n <ng-container *ngFor=\"let group of rowData.groups\">\r\n <s-event-steps\r\n [steps]=\"group.steps || []\"\r\n [activeIndex]=\"group.activeIndex\"\r\n (stepSelected)=\"stepSelected($event)\"\r\n >\r\n </s-event-steps>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n *ngIf=\"!standalone\"\r\n pTemplate=\"paginatorright\"\r\n class=\"custom-table\"\r\n >\r\n <span>\r\n {{\r\n \"agro.angular_components.registers_found\"\r\n | libTranslate : { total: gridTotalRecords }\r\n }}\r\n </span>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </div>\r\n </p-panel>\r\n</ng-container>\r\n<s-sidebar [visible]=\"showSidebar\" (visibleChange)=\"closeSidebar()\" header=\"{{ 'agro.angular_components.event_details_header' | libTranslate }}\">\r\n <div class=\"ui-fluid\">\r\n <p-fieldset [legend]=\"sidebarTitle\" [toggleable]=\"false\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{\r\n \"agro.angular_components.event_origin_label\" | libTranslate\r\n }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.eventType\">\r\n <p *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.invoice_creating_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.supplier\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.ruralEstate.name\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.rural_estate\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.ruralEstate.name }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.controlCode\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.control_code\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.controlCode }}</p>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.status_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.item.status\">\r\n <p *ngSwitchCase=\"'SUCCESS'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Green\"\r\n text=\"{{\r\n 'agro.angular_components.panel_title_events_completed_successfully'\r\n | libTranslate\r\n }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PROCESSING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Orange\"\r\n text=\"{{ 'agro.angular_components.processing' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'FAILED'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Red\"\r\n text=\"{{\r\n 'agro.angular_components.panel_title_events_ended_with_error'\r\n | libTranslate\r\n }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PENDING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Gray\"\r\n text=\"{{ 'agro.angular_components.pending' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{\r\n \"agro.angular_components.last_update_date\" | libTranslate\r\n }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.lastModifiedDate | date : \"dd/MM/yyyy HH:mm:ss\" }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.item.status === 'FAILED'\">\r\n <span\r\n ><strong>{{\r\n \"agro.angular_components.event_error_message\" | libTranslate\r\n }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.message || \"-\" }}</p>\r\n </div>\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <s-footer>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 width-fit\">\r\n <s-button\r\n id=\"sidebar-close-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n [label]=\"'agro.angular_components.events_close' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"closeSidebar()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"showReprocessButton\"\r\n id=\"sidebar-reprocess-button\"\r\n [priority]=\"ButtonPriority.Secondary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.reprocess_event' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"openModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n </s-footer>\r\n</s-sidebar>\r\n\r\n<p-dialog [header]=\"'agro.angular_components.event_modal_title' | libTranslate\" [(visible)]=\"displayModal\" [modal]=\"true\" class=\"dialog\">\r\n <div class=\"event-modal-text\">{{ \"agro.angular_components.event_modal\" | libTranslate }}</div>\r\n <p-footer>\r\n <div class=\"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\">\r\n <button\r\n id=\"modal-yes\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-check\"\r\n (click)=\"confirmModal()\"\r\n label=\"{{ 'agro.angular_components.yes' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n <button\r\n id=\"modal-no\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-close\"\r\n (click)=\"cancelModal()\"\r\n label=\"{{ 'agro.angular_components.no' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n </div>\r\n </p-footer>\r\n</p-dialog>\r\n",
|
|
5246
|
+
template: "<ng-container *sLoadingState=\"gridLoading\">\r\n <p-panel>\r\n <p-header>\r\n {{ \"agro.angular_components.event_control_header\" | libTranslate }}\r\n </p-header>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12\">\r\n <s-button\r\n id=\"refresh-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.refresh' | libTranslate\"\r\n (click)=\"onSearch()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"standalone && showCancelButton\"\r\n id=\"cancel-button-agro-events-lib\"\r\n iconClass=\"fa fa-times\"\r\n [label]=\"'agro.angular_components.cancel' | libTranslate\"\r\n (click)=\"openCancelModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-12\" *ngIf=\"!gridData || gridData?.length === 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-exclamation-triangle\"\r\n title=\"{{ 'agro.angular_components.nothing_found' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.table_empty_description' | libTranslate }}\"\r\n >\r\n </s-empty-state>\r\n </div>\r\n <ng-container *ngIf=\"gridData?.length > 0\">\r\n <p-table\r\n stylelass=\"custom-table\"\r\n #eventControlTable\r\n [value]=\"gridDataResolved\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [scrollable]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"!standalone\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [rows]=\"10\"\r\n [responsive]=\"true\"\r\n (onLazyLoad)=\"onGridChange($event)\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [lazyLoadOnInit]=\"false\"\r\n sortMode=\"multiple\"\r\n [rows]=\"getPageSize()\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <th *ngFor=\"let col of columns\" class=\"ui-lg-1 ui-md-1\" [pSortableColumn]=\"col.field\" scope=\"col\">\r\n <div class=\"senior-header\">\r\n <span class=\"senior-header-title\">{{ col.header }}</span>\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <th class=\"ui-lg-8 ui-md-7\" scope=\"col\">\r\n {{ \"agro.angular_components.panel_title_events_events\" | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070emp?.nomEmp }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070fil?.nomFil }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n <ng-container [ngSwitch]=\"rowData.eventOrigin\">\r\n <span *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.invoice_creating_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'AGRONOMIC_PRESCRIPTION'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'PRESCRIPTION_INTEGRATION_HUB'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <td class=\"ui-lg-1 ui ui-md-1\">\r\n {{ rowData.controlCode || \"\" }}\r\n </td>\r\n </ng-container>\r\n <td class=\"ui-lg-8 ui-md-7\">\r\n <ng-container *ngFor=\"let group of rowData.groups\">\r\n <s-event-steps\r\n [steps]=\"group.steps || []\"\r\n [activeIndex]=\"group.activeIndex\"\r\n (stepSelected)=\"stepSelected($event)\"\r\n >\r\n </s-event-steps>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template *ngIf=\"!standalone\" pTemplate=\"paginatorright\" class=\"custom-table\">\r\n <span>\r\n {{ \"agro.angular_components.registers_found\" | libTranslate: { total: gridTotalRecords } }}\r\n </span>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </div>\r\n </p-panel>\r\n</ng-container>\r\n<s-sidebar\r\n [visible]=\"showSidebar\"\r\n (visibleChange)=\"closeSidebar()\"\r\n header=\"{{ 'agro.angular_components.event_details_header' | libTranslate }}\"\r\n>\r\n <div class=\"ui-fluid\">\r\n <p-fieldset [legend]=\"sidebarTitle\" [toggleable]=\"false\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.event_origin_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.eventType\">\r\n <p *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.invoice_creating_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'AGRONOMIC_PRESCRIPTION'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'PRESCRIPTION_INTEGRATION_HUB'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.supplier\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.ruralEstate.name\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.rural_estate\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.ruralEstate.name }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.controlCode\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.control_code\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.controlCode }}</p>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.status_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.item.status\">\r\n <p *ngSwitchCase=\"'SUCCESS'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Green\"\r\n text=\"{{ 'agro.angular_components.panel_title_events_completed_successfully' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PROCESSING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Orange\"\r\n text=\"{{ 'agro.angular_components.processing' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'FAILED'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Red\"\r\n text=\"{{ 'agro.angular_components.panel_title_events_ended_with_error' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PENDING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Gray\"\r\n text=\"{{ 'agro.angular_components.pending' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.last_update_date\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.lastModifiedDate | date: \"dd/MM/yyyy HH:mm:ss\" }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.item.status === 'FAILED'\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.event_error_message\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.message || \"-\" }}</p>\r\n </div>\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <s-footer>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 width-fit\">\r\n <s-button\r\n id=\"sidebar-close-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n [label]=\"'agro.angular_components.events_close' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"closeSidebar()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"showReprocessButton\"\r\n id=\"sidebar-reprocess-button\"\r\n [priority]=\"ButtonPriority.Secondary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.reprocess_event' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"openModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n </s-footer>\r\n</s-sidebar>\r\n\r\n<p-dialog [header]=\"'agro.angular_components.event_modal_title' | libTranslate\" [(visible)]=\"displayModal\" [modal]=\"true\" class=\"dialog\">\r\n <div class=\"event-modal-text\">{{ \"agro.angular_components.event_modal\" | libTranslate }}</div>\r\n <p-footer>\r\n <div class=\"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\">\r\n <button\r\n id=\"modal-yes\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-check\"\r\n (click)=\"confirmModal()\"\r\n label=\"{{ 'agro.angular_components.yes' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n <button\r\n id=\"modal-no\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-close\"\r\n (click)=\"cancelModal()\"\r\n label=\"{{ 'agro.angular_components.no' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n </div>\r\n </p-footer>\r\n</p-dialog>\r\n",
|
|
5224
5247
|
providers: [{ provide: LOCALE_ID, useValue: "pt-BR" }],
|
|
5225
5248
|
styles: [".frozen{border-left:2px solid #ddd}.dialog{width:\"600px\";height:\"300px\";z-index:100000}:host ::ng-deep #cancel-button-agro-events-lib{background-color:#9c3a3a!important;border-color:#9c3a3a!important}:host ::ng-deep #cancel-button-agro-events-lib:hover{background-color:#642525!important}"]
|
|
5226
5249
|
})
|