Compare commits

...

102 Commits

Author SHA1 Message Date
0ba9297f39 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-12-10 18:47:36 +01:00
7c036172d8 Aggiunto parallel stream in retrieve items dalla cache 2025-12-10 18:47:22 +01:00
bb47dd458e Finish FixSavePreventivo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 16:22:40 +01:00
530b6af4ef [CRM] fix completeOrder 2025-12-10 16:20:22 +01:00
6b71d6b784 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 13:35:53 +01:00
de4d8d225f Aggiunto codMart nella richiesta di retrieveGiacenza 2025-12-10 13:35:43 +01:00
755e7394b4 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:19:31 +01:00
ce06683722 Fix duplicate key su mtbCols 2025-12-10 12:19:11 +01:00
7a5c024005 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:16:13 +01:00
c82f2a57d8 gestito errore date promo duplicate e sistemata retun dei Thread 2025-12-10 12:13:13 +01:00
b9e863a563 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:01:54 +01:00
60e4429c3f [ANOMALIE UL]
- aggiunta eliminazione livello anomalia
2025-12-10 12:01:44 +01:00
d7012d4e1f eliminta conversione caratteri e sistemata data iniz promo 2025-12-10 11:44:10 +01:00
6a237ce4d9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 15:03:33 +01:00
a64932d918 correzioni ad esportazione e importazione dialogo 2025-12-09 15:03:21 +01:00
a15d009f76 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 14:32:50 +01:00
a62f37d930 aggiornamento menu 2025-12-09 14:32:39 +01:00
a4a2b34379 Merge branch 'release/Release-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 12:44:05 +01:00
f2d67ea89d anomalie merce
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 12:43:27 +01:00
fda162d867 esportazione document md
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 18:27:06 +01:00
2008ef0e8f Divisa setup TIPO_MOVIMENTO_FISCALE in TIPO_MOVIMENTO_FISCALE_CAR e TIPO_MOVIMENTO_FISCALE_SCAR
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 18:14:35 +01:00
6d8e0e747f Varie per carelli giacenza, attività integry gramm usa
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 15:19:07 +01:00
5417e28630 Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-05 13:23:42 +01:00
4ac4686645 [ROSSOGARGANO - AnomalieMerce]
- nuova gestione anomalie merce
2025-12-05 13:23:31 +01:00
1594154639 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 11:38:02 +01:00
3a4a954b91 [CRM] fix completeOrder
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-12-05 11:37:53 +01:00
744f92c881 [CARELLI] Aggiunto markDocumentReceived
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 10:58:45 +01:00
6e5f099fc2 aggiunta tabelle equivalenti 2025-12-05 10:51:39 +01:00
697cd58e39 aggiunta tabelle equivalenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 10:09:38 +01:00
4bf1f6021f aggiunta tabelle equivalenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 09:41:52 +01:00
118d2d83d5 Fix su query di calcolo fabbisogno linee prod per WMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 17:54:08 +01:00
149bdc36b3 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 13:02:34 +01:00
89c69bc0d2 cambiata la chiave sulla tabella azienda 2025-12-04 13:02:19 +01:00
240f18d19d Fix qta_prod per storico mes
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 13:01:16 +01:00
9a8a144705 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-04 12:13:52 +01:00
2f412f1ad6 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 12:13:52 +01:00
8e8b03889a Creato servizio di create udc with rows 2025-12-04 12:13:47 +01:00
dd4ace59bd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 11:25:26 +01:00
52c0e0ca61 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 11:25:25 +01:00
e2f2b9bde9 Migliorato check di correttezza barcode_ul per i le UDC anonime 2025-12-04 11:25:21 +01:00
4ea9be84db Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 11:23:04 +01:00
11e4b1cf20 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-12-04 11:23:04 +01:00
a66cfa16d8 Aggiunto check di correttezza barcode_ul per i le UDC anonime 2025-12-04 11:22:59 +01:00
9f628973e9 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 09:25:43 +01:00
9fa7f9628c Finish FixCreateContact
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 09:25:43 +01:00
1a5156d53c Fix creazione attività in createContact crm 2025-12-04 09:25:34 +01:00
ba667fd28e inseriti campi cod_linea, cod_slinea, cod_sslinea nella entity mtb_aart
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 08:44:44 +01:00
cddc7f8979 - fix retrieve depositi utente in login
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 16:56:50 +01:00
60c436256e Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-03 15:48:54 +01:00
46449c47b9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 15:48:53 +01:00
f8b6d3ebe0 aggiunto gramm usa 2025-12-03 15:48:31 +01:00
b3d29219ee Modifica per corretta generazione scadenza di fine mese (febbraio)
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 12:14:41 +01:00
2c81a6566b Finish FixNotifyUser
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 12:02:26 +01:00
f697a122b6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 12:02:26 +01:00
3f4ed16f20 Fix allegato in b64 nella mail 2025-12-03 12:02:13 +01:00
cbbfbb16b8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 11:38:46 +01:00
585a04ffba Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 11:38:45 +01:00
b025be1bd9 Cambiato response entity in downloadStbEmailContent e downloadJtbDisegniFiles 2025-12-03 11:38:36 +01:00
5453826156 Cambiato response entity allegati fatturazione 2025-12-03 11:36:21 +01:00
8312d48970 Cambiata risposta downloadStbActivityFileAttachment 2025-12-03 11:12:47 +01:00
b50c348528 Cambiato response entity allegati fatturazione 2025-12-03 11:10:42 +01:00
64aeff7bf6 disabilitata setup che chiede se stampare o meno la lettera di quietanza a rossogargano
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 09:56:14 +01:00
2a8cf16ce0 Fix localDate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 19:15:05 +01:00
3539e82849 Fix check localDate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 18:52:17 +01:00
f4faa20652 Aggiornata connessione FRUDIS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 17:33:54 +01:00
e7f5959e27 creata migratoio e servizio per svuotare il db.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 16:35:50 +01:00
1d897f1461 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 15:46:05 +01:00
3d76dec03a Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 15:08:49 +01:00
754b58fd37 creata setup che se abilitata chiede se stampare o meno la lettera di quietanza 2025-12-02 15:08:35 +01:00
0627fd59c9 aggiunte tabelle sincronizzaione articoli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 14:52:47 +01:00
31480b8fbe Utilizzati nuovi servizi WMS per scaricoMateriaPrimaDaPosizione/scaricoMateriaPrimaDaOrdine
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 10:43:16 +01:00
c1efdf48a6 Modifiche migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 10:08:30 +01:00
e1de9f4db9 Attivazione nuova gestione produzione dulciar
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 09:54:02 +01:00
ce2ec669ba Attivazione nuova gestione produzione dulciar 2025-12-02 09:53:57 +01:00
5011aa271d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 19:10:14 +01:00
fa996c210c Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 19:03:04 +01:00
c5b5fb62a1 Abilitazione nuova versione generazione ordini di produzione 2025-12-01 19:02:57 +01:00
8ee9e2fe57 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:53:14 +01:00
7cf9df3549 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:31:26 +01:00
2a5314fd1e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:13:14 +01:00
e7252f7fea Merge remote-tracking branch 'origin/develop' into develop 2025-12-01 17:55:09 +01:00
b5e1d2e1ce Abilitazione log picking
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 16:50:12 +01:00
53ef2539f5 aggiunto suffisso anche per griglie 2025-12-01 16:16:22 +01:00
6136d9b848 Migliorato errore di dbName, profileDb e CustomerDb non valido
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 16:07:28 +01:00
fe2be9b926 aggiunte nuove entity in sincronizzazioni
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-01 15:10:30 +01:00
1b113999b2 Rimosso log
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 13:11:11 +01:00
4ebcae77ca Migliorie
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-12-01 13:09:58 +01:00
8d35f9284a Refactoring UserCacheService, adesso sfrutta EntityCache più che il caching integrato.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 13:05:59 +01:00
6c2eaaa37a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 11:44:34 +01:00
fb03aa1ea7 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 11:43:30 +01:00
c16e23d3bf Modifica migration per DMS 2025-12-01 11:43:21 +01:00
27055f8e5e Cambiata configurazione ram su Dockerfile
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 11:02:55 +01:00
b8ac769ffd Aggiunto flag_attivo nel trigger changeTipoRiep
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-12-01 10:57:27 +01:00
0216bc5d53 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 10:57:09 +01:00
db3973637d Aggiunto flag_attivo nel trigger changeTipoRiep 2025-12-01 10:57:03 +01:00
7dab29e8c2 Aggiornato ems_settings.json
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
# Conflicts:
#	docker/tomcat/conf/integry/ems_settings.json
2025-12-01 10:23:34 +01:00
809ffe73b9 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 10:02:06 +01:00
b2d24ab6b4 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 09:48:04 +01:00
6bb7b55618 inserito campo flag_attivo nella ctb_cont 2025-12-01 09:47:54 +01:00
00efbe6fcf Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 08:55:11 +01:00
3e0c443ce3 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 08:48:08 +01:00
b4442bc251 correzione per evitare che i campi stringa vuoti "" vengano salvati come tali 2025-11-28 19:20:32 +01:00
157 changed files with 11392 additions and 2200 deletions

View File

@@ -1,9 +1,14 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="LocalDate passato a SimpleDate" />
<option name="myName" value="LocalDate Checks" />
<inspection_tool class="2b489e84-a2d7-30b2-9eff-e1ae310a3021" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="3ba9f580-3fdd-3896-b2c5-a57a36bbdc46" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="68d10b55-8d01-38ad-9579-a3dca4cd32a8" enabled="true" level="ERROR" enabled_by_default="true" editorAttributes="ERRORS_ATTRIBUTES" />
<inspection_tool class="731e1524-8144-3953-9fa9-9ef0eb4affb5" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="AbstractBeanReferencesInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="AccessStaticViaInstance" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ActionIsNotPreviewFriendly" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ActionPresentationInstantiatedInCtor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="AddExplicitTargetToParameterAnnotation" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="AddOperatorModifier" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="AmbiguousNonLocalJump" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
@@ -44,6 +49,7 @@
<inspection_tool class="AnonymousHasLambdaAlternative" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="AnonymousInnerClass" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="AopLanguageInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ApplicationServiceAsStaticFinalFieldOrProperty" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ArgNamesErrorsInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ArgNamesWarningsInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="AroundAdviceStyleInspection" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -69,6 +75,8 @@
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,java.lang.foreign.Arena,ofAuto,java.lang.foreign.Arena,global,com.annimon.stream.Stream,of" />
</inspection_tool>
<inspection_tool class="BadExpressionStatementJS" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="BatchJobDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="BatchXmlDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="BigDecimalLegacyMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="BigDecimalMethodWithoutRoundingCalled" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="BintrayPublishingPlugin" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -143,12 +151,18 @@
<inspection_tool class="CollectionAddedToSelf" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CommaExpressionJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CommentedOutCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="CompanionObjectInExtension" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparatorCombinators" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparatorMethodParameterNotUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparatorResultComparison" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparisonOfShortAndChar" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparisonToNaN" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComplexRedundantLet" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ComponentNotRegistered" enabled="false" level="WARNING" enabled_by_default="false">
<option name="CHECK_ACTIONS" value="true" />
<option name="IGNORE_NON_PUBLIC" value="true" />
</inspection_tool>
<inspection_tool class="ComponentRegistrationProblems" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ComposeErroneousRelation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComposeMissingKeys" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ComposeUnknownKeys" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -229,6 +243,7 @@
<inspection_tool class="CssUnresolvedClassInComposesRule" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnresolvedCustomProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnusedSymbol" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CsvValidation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CustomRegExpInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CyclicJobDependency" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="DanglingJavadoc" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -253,9 +268,11 @@
<inspection_tool class="DeprecatedIsStillUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DeprecatedLombok" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DeprecatedMavenDependency" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DeprecatedStaplerJellyCustomTagAttribute" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="Deprecation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DestructuringWrongName" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DevContainerIdeSettings" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="DevKitPropertiesMessageValidation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DevcontainerFolder" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="DialogTitleCapitalization" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DiamondCanBeReplacedWithExplicitTypeArguments" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -349,6 +366,7 @@
</inspection_tool>
<inspection_tool class="EmptySynchronizedStatement" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EmptyTryBlock" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EmptyWebServiceClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EndlessStream" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EnhancedSwitchBackwardMigration" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="EnhancedSwitchMigration" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -376,11 +394,13 @@
<inspection_tool class="ExpressionMayBeFactorized" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ExtendsAnnotation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ExtendsObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ExtensionRegisteredAsServiceOrComponent" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ExternalizableWithoutPublicNoArgConstructor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ExtractMethodRecommender" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FallThroughInSwitchStatementJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FieldCanBeLocal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FieldMayBeFinal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FileEqualsUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FillPermitsList" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="FilterIsInstanceCallWithClassLiteralArgument" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="FilterIsInstanceResultIsAlwaysEmpty" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -403,6 +423,7 @@
<inspection_tool class="ForLoopReplaceableByWhile" enabled="false" level="WARNING" enabled_by_default="false">
<option name="m_ignoreLoopsWithoutConditions" value="true" />
</inspection_tool>
<inspection_tool class="ForbiddenInSuspectContextMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ForeignDelegate" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ForwardCompatibility" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FrequentlyUsedInheritorInspection" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -578,16 +599,20 @@
<option name="FLAG_EXPLICIT_CONVERSION" value="true" />
<option name="IGNORE_NODESET_TO_BOOLEAN_VIA_STRING" value="true" />
</inspection_tool>
<inspection_tool class="ImplicitlyExposedWebServiceMethods" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="IncompatibleMask" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncompatibleMaskJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncompleteDestructuring" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="InconsistentCommentForJavaParameter" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InconsistentResourceBundle" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InconsistentTextBlockIndent" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectCancellationExceptionHandling" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="IncorrectDateTimeFormat" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectHttpHeaderInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectMessageFormat" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectParentDisposable" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectPluginDslStructure" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="IncorrectServiceRetrieving" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="IndexOfReplaceableByContains" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IndexZeroUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InfiniteLoopJS" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -600,19 +625,24 @@
<inspection_tool class="InjectionValueTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InnerClassMayBeStatic" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InsertLiteralUnderscores" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="InspectionDescriptionNotFoundInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InspectionUsingGrayColors" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InstantiatingObjectToGetClassObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InstantiationOfUtilityClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IntegerDivisionInFloatingPointContext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IntegerMultiplicationImplicitCastToLong" enabled="false" level="WARNING" enabled_by_default="false">
<option name="ignoreNonOverflowingCompileTimeConstants" value="true" />
</inspection_tool>
<inspection_tool class="IntentionDescriptionNotFoundInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InterfaceMethodClashesWithObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IntroduceWhenSubject" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="InvalidComparatorMethodReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InvalidIconSrc" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IterableUsedAsVararg" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IteratorHasNextCallsIteratorNext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JBoss" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JCenterRepository" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JComponentDataProvider" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSAccessibilityCheck" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSAnnotator" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JSArrowFunctionBracesCanBeRemoved" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -727,6 +757,7 @@
<inspection_tool class="JavadocReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JavaeeApplicationDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JdkProxiedBeanTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="Jexl" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JoinDeclarationAndAssignment" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="JoinDeclarationAndAssignmentJava" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="JpaAttributeMemberSignatureInspection" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -763,6 +794,7 @@
<inspection_tool class="JvmCoverageInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KDocUnresolvedReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KarmaConfigFile" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KeymapXmlDom" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinAmbiguousActuals" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinConstantConditions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinDoubleNegation" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
@@ -770,6 +802,8 @@
<inspection_tool class="KotlinInvalidBundleOrProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinMavenPluginPhase" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinNoActualForExpect" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinObjectExtensionRegistration" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinObjectRegisteredAsExtension" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinOptionsToCompilerOptions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinRedundantOverride" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinTestJUnit" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -795,15 +829,21 @@
<option name="CHECK_NON_ANNOTATED_REFERENCES" value="true" />
</inspection_tool>
<inspection_tool class="LateinitVarOverridesLateinitVar" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LeakableMapKey" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LengthOneStringsInConcatenation" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="LessResolvedByNameOnly" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="LessUnresolvedMixin" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LessUnresolvedVariable" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LiftReturnOrAssignment" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="LightServiceMigrationCode" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LightServiceMigrationXML" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LightServiceMustBeFinal" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="LimitedScopeInnerClass" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="LiquibaseXmlUnresolvedProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ListIndexOfReplaceableByContains" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ListRemoveInLoop" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ListenerImplementationMustNotBeDisposable" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="LiveTemplateI18n" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LocalVariableName" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="LogStatementNotGuardedByLogCondition" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WEAK WARNING" enabled_by_default="false">
@@ -877,6 +917,7 @@
<inspection_tool class="MicronautDataRepositoryMethodReturnType" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MigrateFromJavaLangIo" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="MigrateToJavaLangIo" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="MigrateToOptControl" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MimeType" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="MinMaxValuesInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedArrayReadWrite" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -892,9 +933,12 @@
</option>
</inspection_tool>
<inspection_tool class="MismatchedJavadocCode" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedLightServiceLevelAndCtor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedStringBuilderQueryUpdate" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedStringCase" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MisorderedAssertEqualsArguments" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingAccessibleContext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingActionUpdateThread" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingAspectjAutoproxyInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingDeprecatedAnnotationOnScheduledForRemovalApi" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="MissingFinalNewline" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -902,6 +946,7 @@
<option name="ignoreObjectMethods" value="true" />
<option name="ignoreAnonymousClassMethods" value="false" />
</inspection_tool>
<inspection_tool class="MissingRecentApi" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="MissingSerialAnnotation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissortedModifiers" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="m_requireAnnotationsFirst" value="true" />
@@ -945,8 +990,10 @@
<inspection_tool class="NodeCoreCodingAssistance" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonAsciiCharacters" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonAtomicOperationOnVolatileField" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonDefaultConstructor" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="NonExtendableApiUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonFinalFieldInEnum" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonJaxWsWebServices" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonSerializableWithSerialVersionUIDField" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonStrictComparisonCanBeEquality" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="NotNullFieldNotInitialized" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -980,6 +1027,7 @@
<inspection_tool class="ObviousNullCheck" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OctalLiteral" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OneToOneWithLazy" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OneWayWebMethod" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="OnlyOneElementUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OpenRewriteYamlRecipe" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="OptionalAssignedToNull" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -994,6 +1042,7 @@
<inspection_tool class="OverflowingLoopIndex" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OverrideOnly" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OverwrittenKey" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PSScriptAnalyzer" enabled="false" level="SERVER PROBLEM" enabled_by_default="false" />
<inspection_tool class="PackageDirectoryMismatch" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PackageInfoWithoutPackage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PackageJsonMismatchedDependency" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1010,6 +1059,12 @@
<inspection_tool class="PatternVariablesCanBeReplacedWithCast" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="PbDuplicatedImports" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PgSelectFromProcedureInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlCapitalization" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlDynamicPlugin" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlExtensionRegistration" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlI18n" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlPluginLogo" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlValidity" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PointcutMethodStyleInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PointlessArithmeticExpression" enabled="false" level="WARNING" enabled_by_default="false">
<option name="m_ignoreExpressionsContainingConstants" value="true" />
@@ -1027,22 +1082,27 @@
<inspection_tool class="PostCssCustomSelector" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PostCssMediaRange" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PostCssUnresolvedModuleValueReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PostfixTemplateDescriptionNotFound" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PreferCurrentCoroutineContextToCoroutineContext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PresentationAnnotation" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PreviewFeature" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PrimitiveArrayArgumentToVariableArgMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PrivatePropertyName" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PropertyName" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ProtectedInFinal" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ProtectedMemberInFinalClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PsiElementConcatenation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PublicField" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="ignoreEnums" value="false" />
<option name="ignorableAnnotations">
<value />
</option>
</inspection_tool>
<inspection_tool class="PublicTestExtensionFunction" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QsPrivateBeanMembersInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QsProperties" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QsYaml" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QuickFixGetFamilyNameViolation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="RawUseOfParameterizedType" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ReactiveStreamsNullableInLambdaInTransform" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ReactiveStreamsPublisherImplementation" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1189,6 +1249,7 @@
<inspection_tool class="ReplaceWithIgnoreCaseEquals" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ReplaceWithJavadoc" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ReplaceWithOperatorAssignment" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="RequiredArtifactTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="RequiredAttributes" enabled="false" level="WARNING" enabled_by_default="false">
<option name="myAdditionalRequiredHtmlAttributes" value="" />
</inspection_tool>
@@ -1203,11 +1264,31 @@
<inspection_tool class="RunBlocking" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="RunBlockingInSuspendFunction" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SSBasedInspection" enabled="true" level="WARNING" enabled_by_default="true">
<searchConfiguration name="Date equals LocalDate inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.util\.Date" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="Date equals LocalDateTime inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.util\.Date" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.time\.LocalDateTime" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="LocalDate equals Date inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.util\.Date" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="LocalDate passato a SimpleDateFormat" text="$formatter$.format($date$)" recursive="true" caseInsensitive="true" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="formatter" nameOfExprType="java\.text\.SimpleDateFormat" within="" contains="" />
<constraint name="date" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="LocalDateTime equals Date inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.time\.LocalDateTime" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.util\.Date" within="" contains="" />
</searchConfiguration>
</inspection_tool>
<inspection_tool class="SafeCastWithReturn" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SafeVarargsDetector" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1242,6 +1323,7 @@
<inspection_tool class="SimplifiableCallChain" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifiableConditionalExpression" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifiableIfStatement" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="SimplifiableServiceRetrieving" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifyAssertNotNull" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="SimplifyBooleanWithConstants" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifyCollector" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1391,7 +1473,9 @@
<inspection_tool class="SqlUnusedSubqueryItemInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlUnusedVariableInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlWithoutWhereInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StatefulEp" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticImportCanBeUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticInitializationInExtensions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticInitializerReferencesSubClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticMethodImportLombok" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StreamToLoop" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -1477,6 +1561,7 @@
<inspection_tool class="ThymeleafMessagesResolveInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ThymeleafVariablesResolveInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ToArrayCallWithZeroLengthArrayArgument" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TokenSetInParserDefinition" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TomlUnresolvedReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TooBroadScope" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="m_allowConstructorAsInitializer" value="false" />
@@ -1513,8 +1598,10 @@
<inspection_tool class="TypeScriptUnresolvedReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="TypeScriptValidateGenericTypes" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="TypeScriptValidateTypes" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UElementAsPsi" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UNCHECKED_WARNING" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UNUSED_IMPORT" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UastHintedVisitorAdapterHints" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UastIncorrectHttpHeaderInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UastIncorrectMimeTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnaryPlus" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1524,8 +1611,10 @@
<inspection_tool class="UndefinedJob" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UndefinedParamsPresent" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UndefinedStage" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UndesirableClassUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnfinishedStepVerifier" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnhandledExceptionInJSP" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnknownIdInMetaInformation" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnknownLanguage" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnnecessarilyQualifiedInnerClassAccess" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="ignoreReferencesNeedingImport" value="false" />
@@ -1585,10 +1674,14 @@
<inspection_tool class="UnreachableCatch" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnreachableCodeJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnresolvedMessageChannel" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnresolvedPluginConfigReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnresolvedPropertyKey" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnresolvedReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnresolvedRestParam" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnsafeReturnStatementVisitor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsafeVfsRecursion" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsatisfiedRange" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnspecifiedActionsPlace" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnstableApiUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsupportedCharacter" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsupportedChronoFieldUnitCall" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1615,12 +1708,20 @@
<inspection_tool class="UsagesOfObsoleteApi" enabled="false" level="TEXT ATTRIBUTES" enabled_by_default="false" />
<inspection_tool class="UseBulkOperation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseCompareMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseDPIAwareBorders" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseDPIAwareInsets" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseExpressionBody" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="UseHashCodeMethodInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseJBColor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UsePlatformProcessAwaitExit" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UsePluginIdEquals" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UsePrimitiveTypes" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UsePropertyAccessSyntax" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="UseVirtualFileEquals" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UselessCallOnCollection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UselessCallOnNotNull" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UtilSchemaInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ValidExternallyBoundObject" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="VarargParameter" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="VariableInitializerIsRedundant" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="VariableNeverRead" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1640,6 +1741,7 @@
<inspection_tool class="VulnerableCodeUsages" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="VulnerableLibrariesGlobal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="VulnerableLibrariesLocal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WSReferenceInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="WadlDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="WaitWhileHoldingTwoLocks" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WebProperties" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -1651,11 +1753,15 @@
<option name="ignoreNonEmtpyLoops" value="true" />
</inspection_tool>
<inspection_tool class="WithStatementJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WorkspaceEntityMutableField" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WorkspaceImplAbsent" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WorkspaceImplObsolete" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WrapUnaryOperator" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="WrapperTypeMayBePrimitive" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WriteOnlyObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WrongPackageStatement" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="WrongPropertyKeyValueDelimiter" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="WsdlHighlightingInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="XmlDefaultAttributeValue" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="XmlDeprecatedElement" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="XmlDuplicatedId" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -1677,6 +1783,21 @@
<inspection_tool class="YAMLSchemaValidation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="YAMLUnresolvedAlias" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="YAMLUnusedAnchor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="checkReturnValue" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="checkedExceptions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpa.jpb.model.DataClassEqualsAndHashCodeInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.CompositeIdClassSerializable" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.ConverterSpecifiedIncorrectlyInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.DuplicateVersionAnnotationInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.EntityIdMissingInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.IncompatibleTableAnnotationInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokDataInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokEqualsAndHashCodeInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokToStringIncludeInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokToStringInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.NoArgsConstructorInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.UnsupportedTypeWithoutConverterInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="d539a2c0-2ebf-35d7-921f-25a581173971" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="dependsOnMethodTestNG" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="groupsTestNG" enabled="false" level="WARNING" enabled_by_default="false">
<option name="groups">

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="PROJECT_PROFILE" value="LocalDate Checks" />
<version value="1.0" />
</settings>
</component>

View File

@@ -6,5 +6,25 @@
<constraint name="formatter" nameOfExprType="java\.text\.SimpleDateFormat" within="" contains="" />
<constraint name="date" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="LocalDate equals java.util.Date inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.util\.Date" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="java.util.Date equals LocalDate inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.util\.Date" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="java.util.Date equals LocalDateTime inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.util\.Date" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.time\.LocalDateTime" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="LocalDateTime equals java.util.Date inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.time\.LocalDateTime" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.util\.Date" within="" contains="" />
</searchConfiguration>
</component>
</project>

View File

@@ -3,7 +3,7 @@ FROM tomcat:9-jre8-alpine
RUN apk add --no-cache fontconfig ttf-dejavu
ENV TZ="Europe/Rome"
ENV JAVA_OPTS="-DDISABLE_DROOLS_COMPILE=TRUE -Xms512M -Xmx1G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
ENV JAVA_OPTS="-DDISABLE_DROOLS_COMPILE=TRUE -Xms512M -Xmx2G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
ENV USERDOMAIN="STUDIO-ML"
COPY docker/tomcat/conf/integry/ems.properties /usr/local/tomcat/conf/integry/

View File

@@ -46,6 +46,16 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "RESINA_COLOR_PASQUALE",
"connectionType": "MSSQL",
"dbName": "RESINACOLOR_PASQUALE",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "ALAMBICCO",
"connectionType": "MSSQL",
@@ -86,26 +96,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "CAPELLI_MONELLI",
"connectionType": "MSSQL",
"dbName": "capelli_monelli",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PENELOPE_EXCHANGE",
"connectionType": "MSSQL",
"dbName": "penelope_exchange",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": false
},
{
"profileName": "CARELLI",
"connectionType": "MSSQL",
@@ -137,7 +127,7 @@
"internalDb": true
},
{
"profileName": "COSMAPACK",
"profileName": "COSMINT",
"connectionType": "MSSQL",
"dbName": "cosmint",
"username": "sa",
@@ -206,6 +196,36 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAD",
"connectionType": "MSSQL",
"dbName": "PAPARELLAD",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAP",
"connectionType": "MSSQL",
"dbName": "PAPARELLAP",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAPIETRO",
"connectionType": "MSSQL",
"dbName": "PAPARELLAPIETRO",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "FOLLIESGROUP",
"connectionType": "MSSQL",
@@ -386,16 +406,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "NUOVAVG",
"connectionType": "MSSQL",
"dbName": "vgalimenti",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "OF_DEMO",
"connectionType": "MSSQL",
@@ -416,16 +426,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAPIETRO",
"connectionType": "MSSQL",
"dbName": "paparellapietro",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAD",
"connectionType": "MSSQL",
@@ -446,6 +446,26 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLA_IMMOBILIARE",
"connectionType": "MSSQL",
"dbName": "immobiliare",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLA_IMMOBILIARE_SRL",
"connectionType": "MSSQL",
"dbName": "immobiliaresrl",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "RISTO_CASH",
"connectionType": "MSSQL",
@@ -476,6 +496,16 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SABATO",
"connectionType": "MSSQL",
"dbName": "SABATO",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SANTANTONIO",
"connectionType": "MSSQL",
@@ -496,16 +526,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SABATO",
"connectionType": "MSSQL",
"dbName": "SABATO",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SICILIANIDMSOLAP",
"connectionType": "MSSQL",
@@ -556,36 +576,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "BIOSUIT",
"connectionType": "MSSQL",
"dbName": "BIOSUIT",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SUIT_PUGLIA",
"connectionType": "MSSQL",
"dbName": "SUIT_PUGLIA",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "CARNI_SARDEGNA",
"connectionType": "MSSQL",
"dbName": "CARNI_SARDEGNA",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "TEMPESTA",
"connectionType": "MSSQL",
@@ -727,9 +717,9 @@
"internalDb": true
},
{
"profileName": "ROSSOGARGANO",
"profileName": "CAPELLI_MONELLI",
"connectionType": "MSSQL",
"dbName": "RossoGargano",
"dbName": "capelli_monelli",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
@@ -737,10 +727,20 @@
"internalDb": true
},
{
"profileName": "Aida",
"profileName": "PENELOPE_EXCHANGE",
"connectionType": "MSSQL",
"dbName": "aida",
"username": "sa",
"dbName": "penelope_exchange",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": false
},
{
"profileName": "ROSSOGARGANO",
"connectionType": "MSSQL",
"dbName": "RossoGargano",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
@@ -772,7 +772,7 @@
"dbName": "frudis",
"username": "SA",
"password": "sZ",
"host": "192.168.2.214",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
@@ -826,6 +826,26 @@
"encryptedDbPsw": false,
"internalDb": false
},
{
"profileName": "COSMAPACK",
"connectionType": "MSSQL",
"dbName": "COSMINT",
"username": "sa",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "Aida",
"connectionType": "MSSQL",
"dbName": "aida",
"username": "sa",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "VETTA",
"connectionType": "MSSQL",
@@ -835,22 +855,32 @@
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "CARNI_SARDEGNA",
"connectionType": "MSSQL",
"dbName": "CARNI_SARDEGNA",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
}
],
"defaultMailConfiguration": {
"from": "developer@integry.it",
"smtp": "mail.studioml.it",
"port": 1025,
"from": "internal@integry.it",
"smtp": "smtp.integry.it",
"port": 25,
"enableSSL": false,
"username": "mailuser",
"password": "ZTikBVpBmZC6CVtGamTQ",
"username": "sender@integry.it",
"password": "sendsqlml",
"encryptedPassword": false
},
"loggerConfiguration": {
"level": "DEBUG",
"deleteDays": 7,
"dbDeleteDays": 0,
"dbMaxSize": "1G"
"deleteDays": 15,
"dbDeleteDays": 3,
"dbMaxSize": "500M"
},
"enablePermissionCheck": false,
"minioConfiguration": {

View File

@@ -21,6 +21,7 @@ public class CommonConstants {
public static final String TIMESTAMP = "timestamp";
public static final String DATE_FORMAT_YMD_SLASHED = "yyyy/MM/dd";
public static final String DATE_FORMAT_YMD = "yyyy-MM-dd";
public static final String DATE_FORMAT_DMY = "dd/MM/yyyy";
public static final String DATE_FORMAT_DMY_DASHED = "dd-MM-yyyy";
@@ -28,7 +29,7 @@ public class CommonConstants {
public static final String TIME_FORMAT = "HH:mm:ss";
public static final String DATETIME_FORMAT_YMD = String.format("%s %s", DATE_FORMAT_YMD, TIME_FORMAT);
public static final String DATETIME_FORMAT_YMD = String.format("%s %s", DATE_FORMAT_YMD_SLASHED, TIME_FORMAT);
public static final String DATETIME_FORMAT_DMY = String.format("%s %s", DATE_FORMAT_DMY_DASHED, TIME_FORMAT);
public static final String DATETIME_FORMAT_DMY_SLASHED = String.format("%s %s", DATE_FORMAT_DMY, TIME_FORMAT);
public static final String DATETIME_FORMAT_DMY_DASHED = String.format("%s %s", DATE_FORMAT_DMY_DASHED, TIME_FORMAT);
@@ -47,6 +48,10 @@ public class CommonConstants {
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATE_YMD_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_YMD_SLASHED)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_YMD_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_YMD)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATE_YMD_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_YMD)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_YMD_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_YMD)
@@ -54,6 +59,8 @@ public class CommonConstants {
public static final DateTimeFormatter DATE_DMY_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_DMY)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATE_DMY_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_DMY_DASHED)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_DMY_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_DMY_SLASHED)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_DMY_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_DMY_DASHED)

View File

@@ -69,7 +69,6 @@ public class EmsCoreDBLoader {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionPool)){
discoverAllConnections(multiDBTransactionManager);
setupAzienda(multiDBTransactionManager);
userCacheService.discoverAllUsers(multiDBTransactionManager);
if (onComplete != null) onComplete.run(multiDBTransactionManager);
} catch (Exception ex) {

View File

@@ -0,0 +1,27 @@
package it.integry.ems.adapter;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.utility.UtilityString;
import java.io.IOException;
public class LongDeserializer extends JsonDeserializer<Long> {
@Override
public Long deserialize(JsonParser parser, DeserializationContext context)
throws IOException {
String string = parser.getText();
if (!UtilityString.isNullOrEmpty(string)) {
if (string.equalsIgnoreCase("null")) {
return EmsRestConstants.LONG_NULL;
}
return new Long(string);
} else
return null;
}
}

View File

@@ -793,9 +793,8 @@ public class EmsController {
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_EMAIL_CONTENT, method = RequestMethod.GET)
public byte[] downloadStbEmailContent(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam Integer idEmail) throws Exception {
public ResponseEntity<byte[]> downloadStbEmailContent(@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam Integer idEmail) throws Exception {
StbEmailContent stbEmailContent = new StbEmailContent();
stbEmailContent.setIdEmail(idEmail);
stbEmailContent.setOperation(OperationType.SELECT_OBJECT);
@@ -803,11 +802,7 @@ public class EmsController {
stbEmailContent = entityProcessor.processEntity(stbEmailContent, multiDBTransactionManager);
if (stbEmailContent != null) {
response.setContentType("application/octet-stream");
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition.attachment().filename("email.eml").build().toString());
byte[] byteArr = null;
byte[] byteArr;
String pattern = "[^\\x00-\\x7F]";
Pattern pat = Pattern.compile(pattern);
@@ -819,13 +814,18 @@ public class EmsController {
byteArr = Base64.decodeBase64(stbEmailContent.getEmailContent());
}
response.setContentLength(byteArr != null ? byteArr.length : 0);
return byteArr;
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.contentLength(byteArr != null ? byteArr.length : 0)
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
.builder("attachment")
.filename("email.eml")
.build()
.toString())
.body(byteArr);
}
response.sendError(404, "Allegato non trovato");
return null;
return ResponseEntity.notFound().build();
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_DTB_DOC_PDF, method = RequestMethod.GET)
@@ -884,12 +884,13 @@ public class EmsController {
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_DTB_ORD_PDF, method = RequestMethod.GET)
public byte[] downloadDtbOrdPdf(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String gestione,
@RequestParam String dataOrd,
@RequestParam Integer numOrd,
@RequestParam Integer versione) throws Exception {
public ResponseEntity<byte[]> downloadDtbOrdPdf(
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String gestione,
@RequestParam String dataOrd,
@RequestParam Integer numOrd,
@RequestParam Integer versione) throws Exception {
DtbOrdPdf dtbOrdPdf = new DtbOrdPdf();
dtbOrdPdf.setGestione(gestione);
dtbOrdPdf.setDataOrd(UtilityDate.RecognizeDate(dataOrd));
@@ -900,17 +901,20 @@ public class EmsController {
dtbOrdPdf = entityProcessor.processEntity(dtbOrdPdf, multiDBTransactionManager);
if (dtbOrdPdf != null) {
response.setContentType("application/octet-stream");
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition.attachment().filename(dtbOrdPdf.getFilename()).build().toString());
byte[] byteArr = dtbOrdPdf.getFilecontentByteArr(true);
response.setContentLength(byteArr != null ? byteArr.length : 0);
return byteArr;
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_PDF)
.contentLength(byteArr != null ? byteArr.length : 0)
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
.builder("attachment")
.filename(ContentDisposition.attachment().filename(dtbOrdPdf.getFilename()).build().toString())
.build()
.toString())
.body(byteArr);
}
response.sendError(404, "Allegato non trovato");
return null;
return ResponseEntity.notFound().build();
}
@RequestMapping(value = EmsRestConstants.PATH_UPLOAD_STB_FILE_ATTACHMENT, method = RequestMethod.POST)

View File

@@ -35,9 +35,10 @@ public class DbmsChangeTrackerComponent {
add(StbEditLimit.ENTITY);
add(StbGestSetup.ENTITY);
add(StbGestSetupDepo.ENTITY);
add(WtbGestSetupUser.ENTITY);
add(StbUser.ENTITY);
add(WtbClie.ENTITY);
add(WtbDepo.ENTITY);
add(WtbGestSetupUser.ENTITY);
}};

View File

@@ -44,6 +44,14 @@ public class EntityCacheComponent implements ApplicationListener {
private final HashMap<IntegryCustomerDB, ConcurrentHashMap<String, ConcurrentHashMap<HashMap<String, Object>, EntityBase>>> entityCache = new HashMap<>();
// Lock per IntegryCustomerDB per garantire accessi sincronizzati alla cache di quel customer
private final ConcurrentHashMap<IntegryCustomerDB, Object> cacheLocks = new ConcurrentHashMap<>();
private Object getCacheLock(IntegryCustomerDB customerDB) {
cacheLocks.putIfAbsent(customerDB, new Object());
return cacheLocks.get(customerDB);
}
private final HashMap<String, Class<? extends EntityBase>> enabledEntities = new HashMap<String, Class<? extends EntityBase>>() {{
put(MtbAart.ENTITY, MtbAart.class);
put(MtbAartBarCode.ENTITY, MtbAartBarCode.class);
@@ -52,9 +60,10 @@ public class EntityCacheComponent implements ApplicationListener {
put(StbEditLimit.ENTITY, StbEditLimit.class);
put(StbGestSetup.ENTITY, StbGestSetup.class);
put(StbGestSetupDepo.ENTITY, StbGestSetupDepo.class);
put(WtbGestSetupUser.ENTITY, WtbGestSetupUser.class);
put(StbUser.ENTITY, StbUser.class);
put(WtbDepo.ENTITY, WtbDepo.class);
put(WtbGestSetupUser.ENTITY, WtbGestSetupUser.class);
put(WtbClie.ENTITY, WtbClie.class);
}};
public EntityCacheComponent(DbmsChangeTrackerComponent dbmsChangeTrackerComponent, EntityPropertyHolder entityPropertyHolder) {
@@ -103,20 +112,23 @@ public class EntityCacheComponent implements ApplicationListener {
}
private void refreshCacheForEntity(Connection connection, IntegryCustomerDB customerDB, String tableName) throws Exception {
Class<? extends EntityBase> clazz = enabledEntities.get(tableName);
// Sincronizziamo l'intera operazione di refresh per il customerDB per evitare accessi concorrenti
synchronized (getCacheLock(customerDB)) {
Class<? extends EntityBase> clazz = enabledEntities.get(tableName);
// if (clazz == null)
// throw new RuntimeException("Entity cache is not enabled for table " + tableName);
entityCache.putIfAbsent(customerDB, new ConcurrentHashMap<>());
entityCache.get(customerDB).remove(tableName);
entityCache.putIfAbsent(customerDB, new ConcurrentHashMap<>());
entityCache.get(customerDB).remove(tableName);
ConcurrentHashMap<HashMap<String, Object>, EntityBase> entities = retrieveEntityList(connection, tableName, clazz);
entityCache.get(customerDB).put(tableName, entities);
ConcurrentHashMap<HashMap<String, Object>, EntityBase> entities = retrieveEntityList(connection, tableName, clazz);
entityCache.get(customerDB).put(tableName, entities);
logger.trace(String.format("[%s] Cached %d records for entity %s",
customerDB.getValue(),
entities.size(),
clazz.getSimpleName()));
logger.trace(String.format("[%s] Cached %d records for entity %s",
customerDB.getValue(),
entities.size(),
clazz.getSimpleName()));
}
}
public <T extends EntityBase> List<T> getCachedEntitiesList(IntegryCustomerDB customerDB, String tableName, Predicate<T> filterPredicate) {
@@ -125,20 +137,29 @@ public class EntityCacheComponent implements ApplicationListener {
}
public <T extends EntityBase> Stream<T> getCachedEntitiesStream(IntegryCustomerDB customerDB, String tableName, Predicate<T> filterPredicate) {
if (!isCacheEnabled(customerDB, tableName)) {
try {
refreshCacheForEntity(customerDB, tableName);
} catch (Exception e) {
throw new RuntimeException(e);
// Per evitare accessi concorrenti leggiamo/snapshottiamo la cache sotto lock per quel customerDB
Stream<T> snapshot;
synchronized (getCacheLock(customerDB)) {
if (!isCacheEnabled(customerDB, tableName)) {
try {
refreshCacheForEntity(customerDB, tableName);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
// prendo un'istantanea degli oggetti clonati per poter lavorare fuori dal lock
snapshot = entityCache.get(customerDB)
.get(tableName)
.values()
.parallelStream()
.map(x -> (T) x.clone());
if (filterPredicate != null)
snapshot = snapshot.filter(filterPredicate);
}
return entityCache.get(customerDB).get(tableName)
.values()
.parallelStream()
.map(x -> (T) x)
.filter(filterPredicate)
.map(x -> (T) x.clone());
return snapshot;
}
@@ -176,9 +197,12 @@ public class EntityCacheComponent implements ApplicationListener {
event.getPrimaryKey());
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
// sincronizziamo la modifica per il customerDB
synchronized (getCacheLock(event.getCustomerDB())) {
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -195,9 +219,13 @@ public class EntityCacheComponent implements ApplicationListener {
enabledEntities.get(event.getTableName()),
event.getPrimaryKey());
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
// sincronizziamo la modifica per il customerDB
synchronized (getCacheLock(event.getCustomerDB())) {
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
}
} catch (Exception e) {
throw new RuntimeException(e);
@@ -210,12 +238,17 @@ public class EntityCacheComponent implements ApplicationListener {
HashMap<String, Object> entityPrimaryKey = convertSqlMapToEntityMap(event.getPrimaryKey(), enabledEntities.get(event.getTableName()));
final EntityBase removedItem = entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.remove(entityPrimaryKey);
// sincronizziamo la rimozione per il customerDB
final EntityBase removedItem;
synchronized (getCacheLock(event.getCustomerDB())) {
removedItem = entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.remove(entityPrimaryKey);
}
}
private void handleTableTrackingResetted(TableTrackingResettedEvent event) throws Exception {
// reset e refresh sono eseguiti in modo sincronizzato per quel customer
resetTablesCache(event.getCustomerDB());
refreshCacheGlobal(event.getCustomerDB());
}
@@ -267,14 +300,19 @@ public class EntityCacheComponent implements ApplicationListener {
private void resetTableCache(IntegryCustomerDB customerDB, String tableName) {
if (entityCache.containsKey(customerDB) && entityCache.get(customerDB).containsKey(tableName)) {
entityCache.get(customerDB).remove(tableName);
synchronized (getCacheLock(customerDB)) {
if (entityCache.containsKey(customerDB) && entityCache.get(customerDB).containsKey(tableName)) {
entityCache.get(customerDB).remove(tableName);
}
}
}
private void resetTablesCache(IntegryCustomerDB customerDB) {
entityCache.remove(customerDB);
// sincronizziamo la rimozione dell'intera cache per il customer
synchronized (getCacheLock(customerDB)) {
entityCache.remove(customerDB);
}
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.exception;
public class InvalidCustomerDbException extends RuntimeException {
public InvalidCustomerDbException(String dbName) {
super("Invalid customer database name: " + dbName + ". Please check your ems_settings.json");
}
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.exception;
public class InvalidDbNameException extends RuntimeException {
public InvalidDbNameException(String dbName) {
super("Invalid database name: " + dbName + ". Please check your ems_settings.json");
}
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.exception;
public class InvalidProfileDbException extends RuntimeException {
public InvalidProfileDbException(String profileDb) {
super("Invalid profile db: " + profileDb + ". Please check your ems_settings.json");
}
}

View File

@@ -2,6 +2,7 @@ package it.integry.ems.file_formatter.txt;
import com.annimon.stream.Stream;
import it.integry.ems_model.annotation.DtoField;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -10,6 +11,7 @@ import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -76,8 +78,16 @@ public class TxtMapper<T> {
if (ignorePosition)
stringBuilder.append(value).append(fieldsSplitChar);
else
else {
if ( stringBuilder.length() > 0 && stringBuilder.length() < dtoField.startPosition() ) {
int numChar = dtoField.startPosition() - stringBuilder.length();
for (int i = 0; i < numChar; i++) {
stringBuilder.append(fieldsSplitChar);
}
}
stringBuilder.insert(dtoField.startPosition(), value).append(fieldsSplitChar);
}
} catch (Exception e) {
logger.error(e);
@@ -208,6 +218,8 @@ public class TxtMapper<T> {
if (value != null) {
if (!UtilityString.isNullOrEmpty(dtoField.format()) && value instanceof Date) {
value = new SimpleDateFormat(dtoField.format()).format(value);
} else if (!UtilityString.isNullOrEmpty(dtoField.format()) && value instanceof LocalDate) {
value = UtilityLocalDate.formatDate((LocalDate) value, dtoField.format() );
} else if (!UtilityString.isNullOrEmpty(dtoField.formula()) && value instanceof BigDecimal) {
value = ((BigDecimal) value).setScale(dtoField.scale(), RoundingMode.HALF_DOWN);
String formula = dtoField.formula().replaceAll("this", value.toString());

View File

@@ -33,6 +33,7 @@ public class JsonObjectMapperConfig {
module.addDeserializer(BigDecimal.class, new BigDecimalDeserialize());
module.addDeserializer(Integer.class, new IntegerDeserializer());
module.addDeserializer(Long.class, new LongDeserializer());
module.addDeserializer(String.class, new StringUnicodeDeserialize());

View File

@@ -177,7 +177,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected void cloneTable(String sourceTable, String newTable,boolean fillNewTable, boolean dropOldTable, boolean renameNewTable) throws Exception {
protected void cloneTable(String sourceTable, String newTable, boolean fillNewTable, boolean dropOldTable, boolean renameNewTable) throws Exception {
UtilityDB.cloneTable(connection, sourceTable, newTable, fillNewTable, dropOldTable, renameNewTable);
}
@@ -423,6 +423,25 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
}
protected String getSetupValue(String gestName, String section, String keySection) throws SQLException {
String sql = Query.format("SELECT value FROM " + StbGestSetup.ENTITY +
" WHERE gest_name = %s AND" +
" section = %s AND" +
" key_section = %s", gestName, section, keySection);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
}
//Create a getStbGestSetup method to return the entire StbGestSetup object
protected StbGestSetup getStbGestSetup(String gestName, String section, String keySection) throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
String sql = Query.format("SELECT * FROM stb_gest_setup " +
" WHERE gest_name = %s AND" +
" section = %s AND" +
" key_section = %s", gestName, section, keySection);
return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, sql, StbGestSetup.class);
}
protected void deleteSetup(String gestName, String section, String keySection) throws Exception {
StbGestSetup stbGestSetup = new StbGestSetup()
.setGestName(gestName)

View File

@@ -71,7 +71,8 @@ public enum IntegryCustomer {
Gramm(IntegryCustomerDB.Gramm_Gramm,
IntegryCustomerDB.Gramm_PrimeOlive,
IntegryCustomerDB.Gramm_ProveStage,
IntegryCustomerDB.Gramm_2MHolding),
IntegryCustomerDB.Gramm_2MHolding,
IntegryCustomerDB.Gramm_GrammUsa),
Idrotecnica(IntegryCustomerDB.Idrotecnica_Idrotecnica),
Igood(IntegryCustomerDB.Igood_Aida,
IntegryCustomerDB.Igood_Igood,

View File

@@ -1,5 +1,6 @@
package it.integry.ems.migration._base;
import it.integry.ems.exception.InvalidCustomerDbException;
import it.integry.ems_model.utility.UtilityString;
import java.util.Arrays;
@@ -96,6 +97,7 @@ public enum IntegryCustomerDB {
Gramm_PrimeOlive("primeolive"),
Gramm_ProveStage("grammprovestage"),
Gramm_2MHolding("dueemme"),
Gramm_GrammUsa("gramm_usa"),
Idrotecnica_Idrotecnica("idrotecnica"),
@@ -234,6 +236,6 @@ public enum IntegryCustomerDB {
return Arrays.stream(values()).filter(x -> x.getValue().equalsIgnoreCase(value))
.findFirst()
.orElse(null);
.orElseThrow(() -> new InvalidCustomerDbException(value));
}
}

View File

@@ -6,6 +6,7 @@ import it.integry.ems_model.entity.StbUser;
import it.integry.ems_model.entity.WtbUsers;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import it.integry.security.utility.CryptoUtils;
@@ -57,7 +58,7 @@ public class Migration_20220413102657 extends BaseMigration implements Migration
.setUserCode(wtbUser.getUserCode())
.setDetails(wtbUser.getDetails())
.setLastAccessDatetime(wtbUser.getLastAccessDatetime())
.setPasswordEndtime(wtbUser.getPasswordEndtime())
.setPasswordEndtime(UtilityLocalDate.localDateTimeFromDate(wtbUser.getPasswordEndtime()))
.setUrlCss(wtbUser.getUrlCss())
.setCodLang(wtbUser.getCodLang())
.setCreationDatetime(wtbUser.getCreationDatetime())

View File

@@ -10,6 +10,9 @@ public class Migration_20251114163222 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("ALTER TABLE vtb_dest ADD data_mod DATETIME");
executeStatement("ALTER TABLE ptb_pros ADD data_mod DATETIME");
executeStatement("ALTER TABLE ptb_pros_rif ADD data_mod DATETIME");

View File

@@ -10,6 +10,8 @@ public class Migration_20251117100418 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateProcedure("sp_moveTableToFileGroup", "CREATE PROCEDURE [dbo].[sp_moveTableToFileGroup] (@tableName varchar(max), @fileGroup varchar(max), @fileName varchar(max), @createFile varchar(1) = 'N')\n" +
"AS\n" +

View File

@@ -11,6 +11,9 @@ public class Migration_20251118172320 extends BaseMigration implements Migration
return;
if (isDMS())
return;
createOrUpdateTrigger("tr_changeTipoRiep", "CREATE TRIGGER [dbo].[tr_changeTipoRiep]\n" +
" ON [dbo].[ctb_cont]\n" +
" INSTEAD OF update\n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251119084719 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table dtb_note_doc add flag_bio bit not null default 0");
}

View File

@@ -11,6 +11,9 @@ public class Migration_20251120123843 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table gtb_anag alter column citta varchar(60)");
createOrUpdateFunction("IntToBase36", "CREATE FUNCTION dbo.IntToBase36(@n bigint)\n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251120153047 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table gtb_anag alter column rag_soc varchar(100)");
}

View File

@@ -10,6 +10,8 @@ public class Migration_20251120181812 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateView("cvw_tipi_pdc", "CREATE VIEW cvw_tipi_pdc AS\n" +
"SELECT '1' AS codice, Upper('Attivo') descrizione, '1' as sezione\n" +

View File

@@ -10,6 +10,8 @@ public class Migration_20251121150257 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getMaggiorazioneSpese", "CREATE FUNCTION [dbo].[getMaggiorazioneSpese](@dataValidita datetime, @codVlis varchar(5), @codSpes varchar(5)) \n" +
"RETURNS TABLE AS \n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251124135552 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getGrigliaAcquisto","CREATE FUNCTION [dbo].[getGrigliaAcquisto] (@dataValidita datetime, @codAlis varchar(5), @codMdep varchar(5), @codArtFor varchar(25), @codMart varchar(15)) RETURNS TABLE AS\n" +
"return\n" +
"SELECT *\n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251124164630 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getMaterialiDistinta",
"CREATE FUNCTION [dbo].[getMaterialiDistinta](@codProd VARCHAR(15), @explodeSemilavorati BIT)\n" +
" RETURNS TABLE\n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251125095325 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getMaterialiDistinta",
"CREATE FUNCTION [dbo].[getMaterialiDistinta](@codProd VARCHAR(15), @explodeSemilavorati BIT)\n" +
" RETURNS TABLE\n" +

View File

@@ -0,0 +1,60 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251125100117 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("create table dbo.mtb_livelli_anomalie\n" +
"(\n" +
" id bigint identity\n" +
" constraint pk_mtb_livelli_anomalie\n" +
" primary key,\n" +
" descrizione varchar(255) not null,\n" +
" hex_colore varchar(20) default '#ffffff',\n" +
" escludi_picking_vendita bit default 0 not null,\n" +
" escludi_picking_lavorazione bit default 0 not null\n" +
")");
executeStatement("create table dbo.mtb_anomalie_ul\n" +
"(\n" +
" id bigint identity\n" +
" constraint pk_mtb_anomalie_ul\n" +
" primary key,\n" +
" descrizione varchar(200) not null,\n" +
" annotazioni varchar(400),\n" +
" inizio_anomalia datetime,\n" +
" fine_anomalia datetime,\n" +
" id_livello_anomalia bigint not null\n" +
" constraint mtb_anomalie_ul_mtb_livelli_anomalie_id_fk\n" +
" references dbo.mtb_livelli_anomalie,\n" +
" cod_jfas varchar(5)\n" +
" constraint mtb_anomalie_ul_jtb_fasi_cod_jfas_fk\n" +
" references dbo.jtb_fasi\n" +
")");
executeStatement("alter table dbo.mtb_colt\n" +
" add id_anomalia bigint\n" +
" constraint mtb_colt_mtb_anomalie_ul_id_fk\n" +
" references dbo.mtb_anomalie_ul (id)");
if (isCustomerDb(IntegryCustomerDB.RossoGargano_RossoGargano)) {
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Prodotto non conforme', N'#FF0000', 1, 1)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Prodotto uscito con alte temperature', N'#E36C0A', 1, 0)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Pedana in osservazione', N'#FFC000', 1, 0)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Barattoli con difetto di marcatura', N'#00B050', 0, 0)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Barattoli difettati', N'#00B0F0', 0, 1)");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -10,6 +10,9 @@ public class Migration_20251125105713 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateProcedure("MRP_UpdateQtaImpProx", "CREATE Procedure [dbo].[MRP_UpdateQtaImpProx](@elencoArticoli varchar(max) = null)\n" +
"AS \n" +

View File

@@ -12,6 +12,9 @@ public class Migration_20251127104634 extends BaseMigration implements Migration
return;
if (!isCustomer(IntegryCustomer.Biolevante)) return;
if (isDMS())
return;
createOrUpdateFunction("f_pp_consuntivo_prod_tracc", "CREATE function [dbo].[f_pp_consuntivo_prod_tracc] (@as_codProdParent varchar(15), @as_partitaMagParent varchar(20), @ac_qtaProdParent numeric(20,5), @as_codProd varchar(15), @as_partitaMag varchar(20), @ac_qtaProd numeric(20, 5), @ai_livello integer, @as_item_id varchar(255), @ai_idRiga integer) \n" +
"RETURNS @dettCosti TABLE(livello integer, \n" +
" item_id varchar(255),\n" +

View File

@@ -15,6 +15,9 @@ public class Migration_20251127114735 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement(
"exec DropForeignKey 'mtb_aart', 'mtb_marchio_linea'",
"exec DropForeignKey 'mtb_aart', 'mtb_marchio_slinea'",

View File

@@ -10,6 +10,9 @@ public class Migration_20251128153854 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("update stb_menu set flag_attivo = 'N' where cod_opz in ('mg077', 'mg078', 'mg079', 'mg080')");
}

View File

@@ -11,6 +11,9 @@ public class Migration_20251128190648 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
if (isCustomerDb(IntegryCustomerDB.Carelli_Winact)) {
dropTable("crl_amac_manutenzioni_files");
dropTable("ctb_amac_manutenzioni");

View File

@@ -0,0 +1,19 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201090147 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table ctb_cont add flag_attivo bit not null default 1");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,62 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201105344 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateTrigger("tr_changeTipoRiep", "CREATE TRIGGER [dbo].[tr_changeTipoRiep]\n" +
" ON [dbo].[ctb_cont]\n" +
" INSTEAD OF update\n" +
"AS\n" +
"BEGIN\n" +
"\tSET NOCOUNT ON;\n" +
"\tdeclare @cnt int = 0\n" +
"\n" +
"\n" +
"\tif Update(tipo_riep ) \n" +
"\tbegin\n" +
"\t\tSELECT @cnt = COUNT(*) from ctb_movr inner join inserted on ctb_movr.cod_ccon = inserted.cod_ccon and \n" +
"\t\t( (inserted.tipo_riep is null and ctb_movr.cod_anag is not null ) or (inserted.tipo_riep is null and ctb_movr.cod_anag is null ) )\n" +
"\tend\n" +
"\t \n" +
"\t \n" +
" IF @cnt > 0\n" +
" BEGIN\n" +
" THROW 50002, 'Update non consentito: esistono movimenti collegati.', 1;\n" +
" RETURN;\n" +
" END\n" +
"\t\n" +
"\tupdate ctb_cont \n" +
"\tset cod_cmas = inserted.cod_cmas,\n" +
"\t\tcod_cgrp = inserted.cod_cgrp,\n" +
"\t\tdescrizione = inserted.descrizione,\n" +
"\t\ttipo_riep = inserted.tipo_riep,\n" +
"\t\tsaldo_att = inserted.saldo_att,\n" +
"\t\tflag_cont_analit = inserted.flag_cont_analit,\n" +
"\t\tcod_biva = inserted.cod_biva,\n" +
"\t\tcod_jfas = inserted.cod_jfas,\n" +
"\t\tcod_csct = inserted.cod_csct,\n" +
"\t\tflag_risconto = inserted.flag_risconto,\n" +
"\t\tperc_ded = inserted.perc_ded,\n" +
"\t\tdiacod = inserted.diacod,\n" +
"\t\tdata_ins = inserted.data_ins,\n" +
"\t\tdata_mod = inserted.data_mod,\n" +
"\t\tflag_attivo = inserted.flag_attivo\n" +
"\tfrom ctb_cont inner join inserted on ctb_cont.cod_ccon = inserted.cod_ccon\n" +
"\n" +
"END");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,29 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201124048 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
createSetup("PICKING", "ACCETTAZIONE_BOLLA", "FLAG_ENABLE_MARK_RECEIVED", "N",
"Abilita il tasto nell'avanti elenco per poter settare a true il campo merce_ricevuta in wdtb_doct", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
if (isCustomer(IntegryCustomer.Carelli)) {
updateSetupValue("PICKING", "ACCETTAZIONE_BOLLA", "FLAG_ENABLE_MARK_RECEIVED", "S");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,23 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201164935 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("W_DDOCU_TAB_RC", "SETUP", "LOG_PICKING", "N",
"Se impostato a S viene salvato un file di log su ogni singola postazione, un file al giorno, con il log dei passaggi nella fase di picking)", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,31 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251202094633 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Dulciar_Dulciar))
return;
executeStatement("update stb_gest_setup set value = 'S' where gest_name = 'DTB_ORDT' and key_section in ('NUOVA_PROCEDURA','DISABLE_TRIGGER_ORDL')");
executeStatement("update stb_gest_sync set syncronize = 'R' where gest_name like 'lord%'");
executeStatement("update stb_gest_sync set syncronize = 'R' where gest_name like 'pord%'");
executeStatement("insert into stb_abil \n" +
"select case when gest_name = 'lordi' then 'LG081' else 'AG031' end , user_name, 'S', case when gest_name = 'lordi' then 'lordi_tab' else 'pordi_tab' end from stb_abil \n" +
"where gest_name in ('lordi','pordi') and case when gest_name = 'lordi' then 'LG081' else 'AG031' end + user_name not in (select cod_opz + user_name from stb_abil where cod_opz in ('LG081','AG031'))");
executeStatement("update stb_abil set flag_abil = 'N' where gest_name in ('lordi','pordi')");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,29 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251202140350 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("w_cmovi_rc", "SETUP", "PRINT_QUIETANZA", "S",
"chiede e fa stampare la lettera di quietanza", false, null, false, false,
false, false, false, null, false, null);
if(isCustomer(IntegryCustomer.Carelli))
updateSetupValue("w_cmovi_rc", "SETUP", "PRINT_QUIETANZA", "N");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,70 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251202161223 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateView("cvw_saldo_scad", "CREATE VIEW dbo.cvw_saldo_scad\n" +
" WITH SCHEMABINDING\n" +
" AS\n" +
" SELECT ctb_scad.tipo_anag,\n" +
" ctb_scad.cod_anag,\n" +
" ctb_scad.anno_part,\n" +
" ctb_scad.ser_doc,\n" +
" ctb_scad.num_doc,\n" +
" SUM(ctb_scad.imp_dare) AS dare_scad,\n" +
" SUM(ctb_scad.imp_avere) AS avere_scad,\n" +
" COUNT_BIG(*) AS id\n" +
" FROM dbo.ctb_scad\n" +
" GROUP BY ctb_scad.tipo_anag,\n" +
" ctb_scad.cod_anag,\n" +
" ctb_scad.anno_part,\n" +
" ctb_scad.ser_doc,\n" +
" ctb_scad.num_doc");
executeStatement("CREATE UNIQUE CLUSTERED INDEX ix_cvw_saldo_scad\n" +
" ON dbo.cvw_saldo_scad (\n" +
" tipo_anag,\n" +
" cod_anag,\n" +
" anno_part,\n" +
" ser_doc,\n" +
" num_doc\n" +
" );");
createOrUpdateView("cvw_saldo_part",
"CREATE VIEW dbo.cvw_saldo_part\n" +
" WITH SCHEMABINDING\n" +
"AS\n" +
"SELECT ctb_part.tipo_anag,\n" +
" ctb_part.cod_anag,\n" +
" ctb_part.anno_part,\n" +
" ctb_part.ser_doc,\n" +
" ctb_part.num_doc,\n" +
" SUM(ctb_parr.imp_dare * ctb_part.cambio_divi_cont / ctb_parr.cambio_divi_cont) AS dare_part,\n" +
" SUM(ctb_parr.imp_avere * ctb_part.cambio_divi_cont / ctb_parr.cambio_divi_cont) AS avere_part,\n" +
" COUNT_BIG(*) AS id\n" +
"FROM dbo.ctb_part\n" +
" INNER JOIN dbo.ctb_parr\n" +
" ON ctb_part.tipo_anag = ctb_parr.tipo_anag AND ctb_part.cod_anag = ctb_parr.cod_anag AND\n" +
" ctb_part.anno_part = ctb_parr.anno_part AND ctb_part.ser_doc = ctb_parr.ser_doc AND\n" +
" ctb_part.num_doc = ctb_parr.num_doc\n" +
"GROUP BY ctb_part.tipo_anag, ctb_part.cod_anag, ctb_part.anno_part, ctb_part.ser_doc, ctb_part.num_doc");
executeStatement("CREATE UNIQUE CLUSTERED INDEX ix_cvw_saldo_part\n" +
" ON dbo.cvw_saldo_part (\n" +
" tipo_anag,\n" +
" cod_anag,\n" +
" anno_part,\n" +
" ser_doc,\n" +
" num_doc\n" +
" );");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,21 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251203085140 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if(isCustomer(IntegryCustomer.RossoGargano))
updateSetupValue("w_cmovi_rc", "SETUP", "PRINT_QUIETANZA", "N");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,46 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251203121227 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateFunction("f_AggiungiGiorniScad", "CREATE FUNCTION [dbo].[f_AggiungiGiorniScad](@dataIniz DateTime, @giorni int, @ls_dataRif varchar(20)) \n" +
"RETURNS dateTime\n" +
" begin\n" +
"\n" +
" declare @ldt_dataInizCalc dateTime\n" +
" DECLARE @mesi INT = @giorni / 30;\n" +
"\n" +
" SELECT @ldt_dataInizCalc = \n" +
" CASE WHEN (@giorni % 30) > 0 OR left(@ls_dataRif, 12) = 'DATA FATTURA' THEN \n" +
" DATEADD(Day, @giorni , @dataIniz )\n" +
" ELSE\n" +
" CASE WHEN @ls_dataRif = 'FINE MESE' AND @giorni = 30 AND Datepart(month, @dataIniz) = 1\n" +
" THEN\n" +
" dbo.f_getLastDayOfMonth(Convert(datetime, Cast(Year(@dataIniz) as varchar) + '/02/01' ))\n" +
" ELSE\n" +
" CASE WHEN (@giorni % 30) = 0 AND @ls_dataRif = 'FINE MESE' AND Datepart(month, @dataIniz) = 12\n" +
" THEN\n" +
" dbo.f_getLastDayOfMonth(DATEADD(Month, @mesi , @dataIniz ))\n" +
" ELSE\n" +
" dbo.f_getLastDayOfMonth(DATEADD(Day, @giorni , @dataIniz ))\n" +
" END \n" +
" END\n" +
" END\n" +
" return (@ldt_dataInizCalc)\n" +
" end;");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251203165544 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("exec dbo.DropPrimaryKey 'azienda'\n",
"alter table azienda add id tinyint not null default 1;\n",
"alter table azienda add constraint pk_azienda primary key (id);\n",
"alter table azienda add constraint chk_id_azienda CHECK (id = 1)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,21 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251204131327 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table mtb_aart_desc Add descrizione_html text",
"alter table mtb_aart_equi add flag_equi_anag BIT not null DEFAULT 0"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205101442 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table srl_activity_type_user add activity_default bit not null default 0;\n",
"CREATE UNIQUE INDEX ux_srl_activity_type_user_default\n" +
"ON srl_activity_type_user (user_name, flag_tipologia)\n" +
"WHERE activity_default = 1;");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,256 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205111526 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateView("mvw_sitart_udc_det_all","CREATE VIEW [dbo].[mvw_sitart_udc_det_all] AS\n" +
"WITH SitMtbColr AS (\n" +
" /*Vengono presi tutti i Colli di carico*/\n" +
" SELECT mtb_colt.gestione,\n" +
" mtb_colt.data_collo,\n" +
" mtb_colt.ser_collo,\n" +
" mtb_colt.num_collo,\n" +
" mtb_colt.segno,\n" +
" mtb_colt.cod_anag,\n" +
" mtb_colt.cod_vdes,\n" +
" mtb_colt.cod_mdep,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.cod_col,\n" +
" mtb_colr.cod_tagl,\n" +
" mtb_colr.partita_mag,\n" +
" mtb_colr.cod_jcom,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" qta_cnf,\n" +
" mtb_colr.peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" mtb_colt.posizione,\n" +
" mtb_colt.cod_jfas,\n" +
" mtb_colt.id_anomalia as id_anomalia\n" +
" FROM mtb_colr\n" +
" inner join mtb_colt on\n" +
" mtb_colt.gestione = mtb_colr.gestione\n" +
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
" WHERE mtb_colr.data_collo >= '2020/01/01'\n" +
" AND segno = 1\n" +
"\n" +
" UNION ALL\n" +
" /*Vengono presi, a storno, tutti i colli che fanno riferimento ad altri colli di carico*/\n" +
" SELECT mtb_colr.gestione_rif,\n" +
" mtb_colr.data_collo_rif,\n" +
" mtb_colr.ser_collo_rif,\n" +
" mtb_colr.num_collo_rif,\n" +
" collo_rif.segno,\n" +
" collo_rif.cod_anag,\n" +
" collo_rif.cod_vdes,\n" +
" collo_rif.cod_mdep,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.cod_col,\n" +
" mtb_colr.cod_tagl,\n" +
" mtb_colr.partita_mag,\n" +
" NULL AS cod_jcom,\n" +
" -qta_col,\n" +
" -num_cnf,\n" +
" qta_cnf,\n" +
" -mtb_colr.peso_netto_kg,\n" +
" -peso_lordo_kg,\n" +
" collo_rif.posizione,\n" +
" collo_rif.cod_jfas,\n" +
" NULL as id_anomalia\n" +
" FROM mtb_colr\n" +
" LEFT OUTER JOIN mtb_colt AS collo_rif\n" +
" ON mtb_colr.gestione_rif = collo_rif.gestione AND\n" +
" mtb_colr.data_collo_rif = collo_rif.data_collo AND\n" +
" mtb_colr.num_collo_rif = collo_rif.num_collo AND\n" +
" mtb_colr.ser_collo_rif = collo_rif.ser_collo\n" +
" WHERE mtb_colr.data_collo >= '2020/01/01'\n" +
" AND gestione_rif IS NOT NULL /*and mtb_colt.segno = -1 */\n" +
" UNION ALL\n" +
" /*Vengono presi anche tutti i colli di scarico non ancora agganciati a documento tranne quelli di scarico a lavorazione perche' il materiale versato nelle linee di produzione si ritiene subito consumato*/\n" +
" SELECT mtb_colt.gestione,\n" +
" mtb_colt.data_collo,\n" +
" mtb_colt.ser_collo,\n" +
" mtb_colt.num_collo,\n" +
" mtb_colt.segno,\n" +
" mtb_colt.cod_anag,\n" +
" mtb_colt.cod_vdes,\n" +
" mtb_colt.cod_mdep,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.cod_col,\n" +
" mtb_colr.cod_tagl,\n" +
" mtb_colr.partita_mag,\n" +
" mtb_colr.cod_jcom,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" qta_cnf,\n" +
" mtb_colr.peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" mtb_colt.posizione,\n" +
" mtb_colt.cod_jfas,\n" +
" NULL as id_anomalia\n" +
" FROM mtb_colr\n" +
" inner join mtb_colt on\n" +
" mtb_colt.gestione = mtb_colr.gestione\n" +
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
" WHERE mtb_colr.data_collo >= '2020/01/01'\n" +
" AND segno = -1\n" +
" AND cod_dtip IS NULL\n" +
" AND mtb_colt.gestione <> 'L'),\n" +
" SitMtbColt AS (SELECT SitMtbColr.gestione,\n" +
" SitMtbColr.data_collo,\n" +
" SitMtbColr.ser_collo,\n" +
" SitMtbColr.num_collo,\n" +
" SitMtbColr.segno,\n" +
" SitMtbColr.cod_mdep,\n" +
" SitMtbColr.posizione,\n" +
" SitMtbColr.cod_mart,\n" +
" SitMtbColr.cod_col,\n" +
" SitMtbColr.cod_tagl,\n" +
" SitMtbColr.partita_mag,\n" +
" mtb_partita_mag.data_scad,\n" +
" MAX(SitMtbColr.cod_jcom) AS cod_jcom,\n" +
" SUM(qta_col) AS qta_col,\n" +
" SUM(num_cnf) AS num_cnf,\n" +
" AVG(SitMtbColr.qta_cnf) AS qta_cnf,\n" +
" SUM(SitMtbColr.peso_netto_kg) AS peso_netto_kg,\n" +
" SUM(peso_lordo_kg) AS peso_lordo_kg,\n" +
" SitMtbColr.cod_jfas,\n" +
" flag_qta_cnf_fissa,\n" +
" MAX(SitMtbColr.id_anomalia) as id_anomalia\n" +
" FROM SitMtbColr\n" +
" LEFT OUTER JOIN mtb_partita_mag ON SitMtbColr.cod_mart = mtb_partita_mag.cod_mart AND\n" +
" SitMtbColr.partita_mag = mtb_partita_mag.partita_mag\n" +
" INNER JOIN mtb_aart ON SitMtbColr.cod_mart = mtb_aart.cod_mart\n" +
" GROUP BY SitMtbColr.gestione, SitMtbColr.data_collo, SitMtbColr.ser_collo, SitMtbColr.num_collo,\n" +
" SitMtbColr.segno, SitMtbColr.cod_mdep,\n" +
" SitMtbColr.posizione, SitMtbColr.cod_mart, SitMtbColr.cod_col, SitMtbColr.cod_tagl,\n" +
" SitMtbColr.partita_mag,\n" +
" mtb_partita_mag.data_scad, SitMtbColr.cod_jfas, mtb_aart.flag_qta_cnf_fissa)\n" +
"SELECT gestione,\n" +
" data_collo,\n" +
" ser_collo,\n" +
" num_collo,\n" +
" segno,\n" +
" cod_mdep,\n" +
" SitMtbColt.posizione,\n" +
" SitMtbColt.cod_mart,\n" +
" cod_col,\n" +
" cod_tagl,\n" +
" partita_mag,\n" +
" data_scad,\n" +
" cod_jcom,\n" +
" CASE\n" +
" WHEN flag_dig = 'S' THEN\n" +
" CAST(qta_col AS INT)\n" +
" ELSE ROUND(qta_col, cifre_dec)\n" +
" END as qta_col,\n" +
" CASE\n" +
" WHEN flag_dig = 'S' THEN\n" +
" CASE\n" +
" WHEN flag_dig = 'S' THEN\n" +
" CAST(qta_col AS INT)\n" +
" ELSE ROUND(qta_col, cifre_dec)\n" +
" END / case when SitMtbColt.qta_cnf = 0 then 1 else SitMtbColt.qta_cnf end\n" +
" ELSE num_cnf\n" +
" END as num_cnf,\n" +
" --qta_col,\n" +
" --num_cnf,\n" +
" CASE\n" +
" WHEN SitMtbColt.flag_qta_cnf_fissa = 'S'\n" +
" THEN SitMtbColt.qta_cnf\n" +
" ELSE qta_col / CASE WHEN num_cnf = 0 THEN 1 ELSE num_cnf END\n" +
" END AS qta_cnf,\n" +
" peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" cod_jfas,\n" +
" SitMtbColt.flag_qta_cnf_fissa,\n" +
" mtb_unt_mis.flag_dig,\n" +
" mtb_unt_mis.cifre_dec,\n" +
" SitMtbColt.id_anomalia\n" +
"FROM SitMtbColt\n" +
" INNER JOIN mtb_aart ON SitMtbColt.cod_mart = mtb_aart.cod_mart\n" +
" INNER JOIN mtb_unt_mis ON mtb_aart.unt_mis = mtb_unt_mis.unt_mis");
createOrUpdateView("mvw_sitart_udc_det","CREATE VIEW [dbo].[mvw_sitart_udc_det] AS\n" +
"SELECT gestione,\n" +
" data_collo,\n" +
" ser_collo,\n" +
" num_collo,\n" +
" segno,\n" +
" cod_mdep,\n" +
" posizione,\n" +
" cod_mart,\n" +
" cod_col,\n" +
" cod_tagl,\n" +
" partita_mag,\n" +
" data_scad,\n" +
" cod_jcom,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" qta_cnf,\n" +
" peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" cod_jfas,\n" +
" id_anomalia\n" +
"FROM mvw_sitart_udc_det_all\n" +
"WHERE qta_col > 0");
createOrUpdateView("mvw_sitart_udc_det_inventario","CREATE VIEW [dbo].[mvw_sitart_udc_det_inventario] as\n" +
"SELECT UL.gestione,\n" +
" data_collo,\n" +
" ser_collo,\n" +
" num_collo,\n" +
" segno,\n" +
" UL.cod_mdep,\n" +
" UL.posizione,\n" +
" mtb_depo_posizioni.priorita,\n" +
" mtb_aart.cod_mgrp AS codGruppo,\n" +
" mtb_grup.descrizione AS Gruppo,\n" +
" mtb_aart.cod_msgr AS CodSgruppo,\n" +
" mtb_sgrp.descrizione AS Sottogruppo,\n" +
" UL.cod_mart,\n" +
" diacod,\n" +
" mtb_aart.descrizione_estesa,\n" +
" partita_mag,\n" +
" UL.cod_jcom,\n" +
" jtb_comt.descrizione AS commessa,\n" +
" mtb_aart.unt_mis,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" UL.qta_cnf,\n" +
" UL.peso_netto_kg,\n" +
" UL.peso_lordo_kg,\n" +
" UL.cod_jfas,\n" +
" UL.id_anomalia\n" +
"FROM [mvw_sitart_udc_det] UL\n" +
" LEFT OUTER JOIN jtb_comt ON UL.cod_jcom = jtb_comt.cod_jcom\n" +
" LEFT OUTER JOIN mtb_depo_posizioni\n" +
" on UL.cod_mdep = mtb_depo_posizioni.cod_mdep and UL.posizione = mtb_depo_posizioni.posizione,\n" +
" mtb_aart,\n" +
" mtb_grup,\n" +
" mtb_sgrp\n" +
"WHERE UL.cod_mart = mtb_aart.cod_mart\n" +
" AND mtb_aart.cod_mgrp = mtb_grup.cod_mgrp\n" +
" AND mtb_aart.cod_mgrp = mtb_sgrp.cod_mgrp\n" +
" AND mtb_aart.cod_msgr = mtb_sgrp.cod_msgr\n" +
" AND qta_col <> 0\n");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,44 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205130201 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if ( !existsColumn("mtb_depo", "data_iniz_vent" ))
executeStatement("ALTER TABLE mtb_depo ADD data_iniz_vent datetime");
if ( !existsColumn("mtb_depo", "data_fine_vent" ))
executeStatement("ALTER TABLE mtb_depo ADD data_fine_vent datetime");
if ( !existsColumn("ctb_movi", "ventilazione" ))
executeStatement("ALTER TABLE ctb_movi ADD ventilazione bit not null default 1");
if (isCustomer(IntegryCustomer.CapelliMonelli) && isCustomerDb(IntegryCustomerDB.Gramm_GrammUsa)) {
executeStatement(
"CREATE TABLE [oltb_operregi_log] (data_file DATETIME, prog_file INT, cod_CUA VARCHAR (16), ID_depo NUMERIC (10, 0), num_operaz INT, data_operaz DATETIME, id_err INT, error_text VARCHAR (MAX), tipo_errore INT)",
"ALTER TABLE [atb_offt] ADD flag_tipo_off INT",
"ALTER TABLE [ctb_varbeni] ADD num_cmov INT",
"CREATE TABLE [mtb_list_costo_lisa_data] (id BIGINT, listino VARCHAR (5), data_rif DATETIME, cod_mart VARCHAR (15), cod_art_for VARCHAR (25), cod_promo VARCHAR (10), costo_lisa DECIMAL (20, 5))",
"ALTER TABLE [atb_tipi] ADD socio_aziendale BIT",
"ALTER TABLE [dtb_dif_bolle] ADD targa VARCHAR (20), posti_pallet INT",
"CREATE TABLE [oltb_categorie] (cod_ocat VARCHAR (5), categoria VARCHAR (80))",
"ALTER TABLE [ctb_movi] ADD ventilazione BIT",
"CREATE TABLE [oltb_macroaree] (Cod_omar VARCHAR (5), acronimo VARCHAR (5), macro_area VARCHAR (80), flag_ObbligOrigSpec VARCHAR (1), flag_DopIgp VARCHAR (1))",
"ALTER TABLE [dtb_ord_steps] ADD posizione_out VARCHAR (MAX)",
"CREATE TABLE [oltb_origspec] (cod_omar VARCHAR (5), cod_oorspec VARCHAR (5), acronimo VARCHAR (5), origine_spec VARCHAR (80))"
);
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,46 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205154053 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("DELETE FROM STB_GEST_SETUP WHERE GEST_NAME LIKE '%DOCUMENTI DI VENDITA'");
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "EMAIL_FOR_LOG", null,
"Inserire il file l'indirizzo email per inviare il log dell'importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "GG_CANC_FILE", null,
"Giorni per la cancellazione dei file dalla cartella di appoggio", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "IMPORT_REST", "S",
"Inserire S/N per attivare/disattivare il salvataggio con i servizi REST", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "PATH_FILE", null,
"Directory dove vengono salvati i file temporanei, se non è configurata i file saranno salvati in c:\\mlSetupWS\\TEMP_EXPORT", false, null, false, false,
false, false, false, null, false, null);
if (!isCustomer(IntegryCustomer.Sardinya)) return;
updateSetupValue("EXPORT_DOCUMENTI VENDITA", "MD", "ATTIVO", "S",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,38 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.entity.StbGestSetup;
public class Migration_20251205173303 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
StbGestSetup setupMovimentoFiscale = getStbGestSetup("PICKING", "RETTIFICA_GIACENZE", "TIPO_MOVIMENTO_FISCALE");
deleteSetup("PICKING", "RETTIFICA_GIACENZE", "TIPO_MOVIMENTO_FISCALE");
createSetup(setupMovimentoFiscale.getGestName(),
setupMovimentoFiscale.getSection(),
setupMovimentoFiscale.getKeySection() + "_CAR",
setupMovimentoFiscale.getValue(),
setupMovimentoFiscale.getDescription(),
setupMovimentoFiscale.getQueryDefault());
createSetup(setupMovimentoFiscale.getGestName(),
setupMovimentoFiscale.getSection(),
setupMovimentoFiscale.getKeySection() + "_SCAR",
setupMovimentoFiscale.getValue(),
setupMovimentoFiscale.getDescription(),
setupMovimentoFiscale.getQueryDefault());
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,19 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251209114959 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table dbo.mtb_cols add valore varchar(200)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -364,7 +364,7 @@ public class LoadColliService {
if (mtbColtWithDocAlready != null && !mtbColtWithDocAlready.isEmpty()) {
throw new Exception("Il collo n° " + mtbColtWithDocAlready.get(0).getNumCollo() +
" del " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(mtbColtWithDocAlready.get(0).getDataCollo()) +
" del " + CommonConstants.DATE_DMY_SLASHED_FORMATTER.format(mtbColtWithDocAlready.get(0).getDataCollo()) +
" già agganciato al documento " + mtbColtWithDocAlready.get(0).getCodDtip() +
" del " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(mtbColtWithDocAlready.get(0).getDataDoc()) +
" n. " + mtbColtWithDocAlready.get(0).getNumDoc());

View File

@@ -8,16 +8,14 @@ import it.integry.ems_model.entity.DtbDocr;
import it.integry.ems_model.entity.DtbDoct;
import it.integry.ems_model.entity.NtbDoct;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityDate;
import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString;
import it.integry.ems_model.utility.*;
import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -26,14 +24,11 @@ import static it.integry.ems.rules.completing.QueryRules.getSingleValue;
public class DocumentCheckRules {
private static void checkDataMov(Date dataCmov, DtbDoct entity, Connection conn) throws Exception {
SimpleDateFormat annoFormat = new SimpleDateFormat("yyyy");
SimpleDateFormat dateformat = new SimpleDateFormat(CommonConstants.DATETIME_FORMAT_YMD);
// ACQUISIZIONE DATI AZIENDA
HashMap<String, Object> DatiAzi = Azienda.getDatiAzienda(conn);
Integer annoAtt = new Integer(DatiAzi.get("anno_attuale").toString());
Integer annoContab = new Integer(DatiAzi.get("anno_contab").toString());
Date ultDataGio = dateformat.parse(DatiAzi.get("ult_data_gio").toString());
Azienda DatiAzi = Azienda.getDefaultAzienda(conn);
Integer annoAtt = DatiAzi.getAnnoAttuale();
Integer annoContab = DatiAzi.getAnnoContab();
Date ultDataGio = UtilityLocalDate.localDateToDate(DatiAzi.getUltDataGio());
Integer annoMov = AccountingRules.getAnnoComp(conn, dataCmov);

View File

@@ -17,6 +17,7 @@ public class ForeignKeyDTO {
put(WtbJrept.ENTITY, "Report inesistente");
put(StbDevices.ENTITY, "Dispositivo inesistente");
put(StbPublications.ENTITY, "Pubblicazione inesistente");
put(MtbAnomalieUl.ENTITY, "Anomalia inesistente");
}};
String tableName;

View File

@@ -191,6 +191,12 @@ public class OrdineLavorazioneDTO {
@JsonProperty("qtaProd")
@JsonSerialize
private BigDecimal qtaProd;
@SqlField(value = "qta_ord")
@JsonProperty("qtaOrd")
@JsonSerialize
private BigDecimal qtaOrd;
@SqlField(value = "qta_lav")
@JsonProperty("qtaLav")
@JsonSerialize
@@ -726,6 +732,15 @@ public class OrdineLavorazioneDTO {
return this;
}
public BigDecimal getQtaOrd() {
return qtaOrd;
}
public OrdineLavorazioneDTO setQtaOrd(BigDecimal qtaOrd) {
this.qtaOrd = qtaOrd;
return this;
}
public BigDecimal getQtaLav() {
return qtaLav;
}

View File

@@ -223,7 +223,8 @@ public class ProductionOrderDataHandlerService {
" jtb_comt.cod_jcom,\n" +
" jtb_comt.descrizione as descrizione_commessa,\n" +
" jl.id_lotto,\n" +
" dtb_ordt.qta_prod as qta_ord \n" +
" mtb_aart.qta_cnf,\n" +
" ordl.qta_prod AS qta_ord\n" +
"FROM dtb_ordt\n" +
" INNER JOIN dtb_ordt ordl ON dtb_ordt.gestione = ordl.gestione_rif\n" +
" AND dtb_ordt.data_ord = ordl.data_ord_rif\n" +
@@ -358,7 +359,7 @@ public class ProductionOrderDataHandlerService {
.forEach(order -> {
final Map<String, List<OrdineInevasoGroupMercDTO>> groups = grpMerc.stream()
.filter(x -> Objects.equals(x.getNumOrd(), order.getNumOrd()) &&
x.getDataOrd().equals(order.getDataOrd()) &&
UtilityLocalDate.localDateFromDate(x.getDataOrd()).isEqual(order.getDataOrd()) &&
x.getGestione().equalsIgnoreCase(order.getGestione()))
.collect(Collectors.groupingBy(OrdineInevasoGroupMercDTO::getCodMgrp));

View File

@@ -3,6 +3,8 @@ package it.integry.ems.settings.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import it.integry.ems.exception.InvalidDbNameException;
import it.integry.ems.exception.InvalidProfileDbException;
import it.integry.ems.expansion.ObservableArrayList;
import it.integry.ems.expansion.ObservableField;
import it.integry.ems.settings.SettingsHelper;
@@ -199,7 +201,7 @@ public class SettingsModel implements InitializingBean {
.filter(x -> x.getDbName().equalsIgnoreCase(dbName))
.map(AvailableConnectionModel::getProfileName)
.findFirst()
.orElse(null);
.orElseThrow(() -> new InvalidDbNameException(dbName));
return profileDb;
}
@@ -209,7 +211,7 @@ public class SettingsModel implements InitializingBean {
.filter(x -> x.getProfileName().equalsIgnoreCase(profileDb))
.map(AvailableConnectionModel::getDbName)
.findFirst()
.orElse(null);
.orElseThrow(() -> new InvalidProfileDbException(profileDb));
return dbName;
}

View File

@@ -1,29 +1,26 @@
package it.integry.ems.user.service;
import it.integry.annotations.PostContextConstruct;
import it.integry.ems.dynamic_cache.EntityCacheComponent;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.model.IntegryApplicationEnum;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.task.TaskExecutorService;
import it.integry.ems.user.dto.UserDTO;
import it.integry.ems_model.entity.StbUser;
import it.integry.ems_model.entity.WtbClie;
import it.integry.ems_model.entity.WtbDepo;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityHash;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import javax.annotation.Nullable;
import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@Service
public class UserCacheService {
@@ -31,73 +28,22 @@ public class UserCacheService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private TaskExecutorService taskExecutorService;
@Autowired
private EntityCacheComponent entityCacheComponent;
private final Logger logger = LogManager.getLogger();
private final HashMap<String, List<UserDTO>> cachedUsers = new HashMap<>();
private final ReentrantLock cacheLock = new ReentrantLock();
boolean canStart = false;
@PostContextConstruct(priority = 10)
private void init() {
canStart = true; //!UtilityDebug.isDebugExecution();
}
@Scheduled(fixedDelay = 5, timeUnit = TimeUnit.MINUTES)
private void internalCacheUpdate() {
internalCacheUpdate(false);
}
private void internalCacheUpdate(boolean forceStart) {
if (!forceStart && !canStart) return;
List<AvailableConnectionModel> availableConnectionModels =
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) {
for (AvailableConnectionModel model : availableConnectionModels) {
try {
multiDBTransactionManager.addConnection(model);
} catch (Exception ex) {
logger.info(String.format("Cannot find %s database", model.getDbName()), ex);
}
}
this.discoverAllUsers(multiDBTransactionManager);
} catch (Exception ex) {
logger.error("Refresh user cache", ex);
}
}
private void cache(String dbName, UserDTO user) {
cachedUsers.putIfAbsent(dbName, new ArrayList<>());
List<UserDTO> users = cachedUsers.get(dbName);
Optional<UserDTO> existentUser = users.stream()
.filter(x -> x.getUsername().equalsIgnoreCase(user.getUsername()))
.findFirst();
existentUser.ifPresent(users::remove);
users.add(user);
}
public List<String> retrieveProfilesOfUser(String username, String password, IntegryApplicationEnum application) {
ArrayList<String> profiles = new ArrayList<>();
for (Map.Entry<String, List<UserDTO>> users : cachedUsers.entrySet()) {
final UserDTO foundUser = retrieveUser(users.getKey(), username, password, application);
final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionModel availableConnection : availableConnections) {
final UserDTO foundUser = retrieveUser(availableConnection.getDbName(), username, password, application);
if (foundUser != null) {
profiles.add(settingsModel.getProfileDbFromDbName(users.getKey()));
profiles.add(availableConnection.getProfileName());
}
}
@@ -105,152 +51,118 @@ public class UserCacheService {
}
public @Nullable UserDTO retrieveUser(String dbName, String md5User) {
cacheLock.lock();
try {
List<UserDTO> users = cachedUsers.getOrDefault(dbName, null);
List<UserDTO> users = internalUsersRetrieve(IntegryCustomerDB.parse(dbName), null);
if (users == null || users.isEmpty())
return null;
if (users == null || users.isEmpty())
return null;
if (md5User == null || md5User.isEmpty())
return null;
if (md5User == null || md5User.isEmpty())
return null;
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> {
String md5Hash = UtilityHash.generateMd5(String.format("%s%s", x.getUsername().toLowerCase(), x.getPassword().toLowerCase()));
return md5Hash.contentEquals(md5User);
})
.findFirst();
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> {
String md5Hash = UtilityHash.generateMd5(String.format("%s%s", x.getUsername().toLowerCase(), x.getPassword().toLowerCase()));
return md5Hash.contentEquals(md5User);
})
.findFirst();
return foundUser.orElse(null);
return foundUser.orElse(null);
} finally {
cacheLock.unlock();
}
}
public @Nullable UserDTO retrieveUser(String dbName, String username, String password, IntegryApplicationEnum application) {
cacheLock.lock();
try {
List<UserDTO> users = cachedUsers.getOrDefault(dbName, null);
List<UserDTO> users = internalUsersRetrieve(IntegryCustomerDB.parse(dbName), username);
if (users == null || users.isEmpty())
return null;
if (users == null || users.isEmpty())
return null;
if (password == null || password.isEmpty())
return null;
if (password == null || password.isEmpty())
return null;
String finalPasswordHex = UtilityHash.generateHash(password.toUpperCase());
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> x.getUsername().equalsIgnoreCase(username) &&
x.isAttivo() &&
x.getPasswordHash().contentEquals(finalPasswordHex) &&
(application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
String finalPasswordHex = UtilityHash.generateHash(password.toUpperCase());
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> x.isAttivo() &&
x.getPasswordHash().contentEquals(finalPasswordHex) &&
(application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
return foundUser.orElse(null);
return foundUser.orElse(null);
} finally {
cacheLock.unlock();
}
}
public @Nullable UserDTO retrieveUserData(String profileDb, String username, IntegryApplicationEnum application) {
cacheLock.lock();
try {
String dbName = settingsModel.getDbNameFromProfileDb(profileDb);
String dbName = settingsModel.getDbNameFromProfileDb(profileDb);
List<UserDTO> users = cachedUsers.getOrDefault(dbName, null);
List<UserDTO> users = internalUsersRetrieve(IntegryCustomerDB.parse(dbName), username);
if (users == null || users.isEmpty())
return null;
if (users == null || users.isEmpty())
return null;
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> x.getUsername().equalsIgnoreCase(username) &&
(application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> (application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
return foundUser.orElse(null);
} finally {
cacheLock.unlock();
}
return foundUser.orElse(null);
}
public void discoverAllUsers(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
cacheLock.lock();
try {
List<Callable<Void>> calls = new ArrayList<>();
for (final Connection connection : multiDBTransactionManager.getActiveConnections()) {
calls.add(() -> {
try {
String sql = "SELECT su.user_name,\n" +
" dbo.sys_dcd_pss(su.password) AS password, \n" +
" CONVERT(varchar(max), HASHBYTES('SHA2_512', UPPER(dbo.sys_dcd_pss(su.password))),2) AS password_hash,\n" +
" su.key_group,\n" +
" su.full_name,\n" +
" su.e_mail,\n" +
" su.last_access_datetime,\n" +
" su.password_endtime,\n" +
" su.cod_lang,\n" +
" su.flag_password_expiring,\n" +
" CAST(IIF(su.password_endtime IS NOT NULL AND\n" +
" DATEDIFF(DAY, su.password_endtime, GETDATE()) > 0 AND su.flag_password_expiring = 'S', 1,\n" +
" 0) AS BIT) AS is_password_expired,\n" +
" IIF(su.key_group = '3' AND su.user_code IS NULL, wc.cod_anag, su.user_code) AS user_code,\n" +
" CAST(IIF(ISNULL(su.flag_attivo, 'N') = 'S', 1, 0) AS BIT) AS is_attivo,\n" +
" CAST(IIF(su.flag_intra_user = 'S' OR su.flag_dba = 'S', 1, 0) AS BIT) AS is_internal,\n" +
" CAST(IIF(su.flag_intra_user = 'S' OR su.flag_extra_user = 'S', 1, 0) AS BIT) AS is_web,\n" +
" '" + connection.getProfileName() + "' AS profile_db\n" +
"FROM " + StbUser.ENTITY + " su " +
" LEFT OUTER JOIN wtb_clie wc ON su.user_name = wc.user_name\n" +
"WHERE dbo.sys_dcd_pss(su.password) IS NOT NULL";
private List<UserDTO> internalUsersRetrieve(IntegryCustomerDB customerDB, String username) {
return entityCacheComponent.<StbUser>getCachedEntitiesStream(
customerDB,
StbUser.ENTITY,
x -> x.getPasswordDecoded() != null && (username == null || x.getUserName().equalsIgnoreCase(username)))
.map(x -> {
UserDTO userDTO = new UserDTO()
.setProfileDb(settingsModel.getProfileDbFromDbName(customerDB.getValue()))
.setUsername(x.getUserName())
.setPassword(x.getPasswordDecoded())
.setPasswordHash(UtilityHash.generateHash(x.getPasswordDecoded().toUpperCase()))
.setKeyGroup(x.getKeyGroup())
.setFullname(x.getFullName())
.setEmail(x.geteMail())
.setLastAccessDatetime(x.getLastAccessDatetime())
.setPasswordEndtime(x.getPasswordEndtime())
.setCodLang(x.getCodLang())
.setFlagPasswordExpiring(x.getFlagPasswordExpiring() != null ? x.getFlagPasswordExpiring().charAt(0) : null)
.setPasswordExpired(x.getPasswordEndtime() != null
&& LocalDateTime.now().isAfter(x.getPasswordEndtime())
&& "S".equalsIgnoreCase(x.getFlagPasswordExpiring()))
.setUserCode(x.getUserCode()) //To be customized
.setAttivo("S".equalsIgnoreCase(x.getFlagAttivo()))
.setInternal("S".equalsIgnoreCase(x.getFlagIntraUser()) || "S".equalsIgnoreCase(x.getFlagDba()))
.setWeb("S".equalsIgnoreCase(x.getFlagIntraUser()) || "S".equalsIgnoreCase(x.getFlagExtraUser()));
final List<UserDTO> userDTOS = UtilityDB.executeSimpleQueryDTO(connection, sql, UserDTO.class);
if (userDTO.getKeyGroup() != null && userDTO.getKeyGroup() == 3) {
final List<WtbClie> wtbClie = entityCacheComponent.getCachedEntitiesList(customerDB, WtbClie.ENTITY,
y -> y.getUserName().equalsIgnoreCase(userDTO.getUsername()));
if (userDTOS != null)
userDTOS.forEach(x -> {
List<WtbDepo> availableDepoList = entityCacheComponent.getCachedEntitiesList(connection.getIntegryCustomerDB(), WtbDepo.ENTITY,
y -> x.getUsername().equalsIgnoreCase(y.getUserName())
);
x.setAvailableDepoList(availableDepoList);
cache(connection.getDbName(), x);
});
} catch (Exception ex) {
logger.error(String.format("Errore durante la retrieve degli utenti su \"%s\". %s", connection.getProfileName(), ex.getMessage()), ex);
if (!wtbClie.isEmpty())
userDTO.setUserCode(wtbClie.get(0).getCodAnag());
}
return null;
});
}
List<WtbDepo> availableDepoList = entityCacheComponent.getCachedEntitiesList(customerDB, WtbDepo.ENTITY,
y -> userDTO.getUsername().equalsIgnoreCase(y.getUserName())
);
userDTO.setAvailableDepoList(availableDepoList);
taskExecutorService.executeTasks(calls);
} finally {
cacheLock.unlock();
}
return userDTO;
})
.collect(Collectors.toList());
}
public void invalidateCache() {
cacheLock.lock();
this.cachedUsers.clear();
cacheLock.unlock();
this.internalCacheUpdate(true);
}
}

View File

@@ -45,7 +45,7 @@ public class UserRegistrationService {
.setPassword(userRegistrationDTO.getPassword())
.seteMail(userRegistrationDTO.getEmail())
.setUserNameRif(userRegistrationDTO.getCodAzienda())
.setPasswordEndtime(EmsRestConstants.DATE_NULL)
.setPasswordEndtime(EmsRestConstants.LOCAL_DATE_TIME_NULL)
.setKeyGroup(userRegistrationDTO.getKeyGroup())
.setFlagExtraUser("S")
.setCryptPassword(true);

View File

@@ -15,14 +15,17 @@ import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.StbFilesAttached;
import it.integry.ems_model.entity.StbUser;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.*;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.List;
@Service
@@ -61,8 +64,6 @@ public class UserService {
UtilityEntity.throwEntityException(stbUser);
userCacheService.invalidateCache();
return stbUser;
}
@@ -91,11 +92,11 @@ public class UserService {
entityProcessor.processEntity(stbUser, multiDBTransactionManager);
Date passwordEndtime = EmsRestConstants.DATE_NULL;
LocalDateTime passwordEndtime = EmsRestConstants.LOCAL_DATE_TIME_NULL;
if (stbUser.getFlagPasswordExpiring().equalsIgnoreCase("S") &&
stbUser.getPasswordExpiresDays() != 0) {
passwordEndtime = UtilityDate.dateAdd(new Date(), stbUser.getPasswordExpiresDays());
passwordEndtime = LocalDateTime.now().plusDays(stbUser.getPasswordExpiresDays());
}
stbUser
@@ -111,8 +112,6 @@ public class UserService {
UtilityEntity.throwEntityException(stbUser);
userCacheService.invalidateCache();
return stbUser;
}
@@ -143,18 +142,7 @@ public class UserService {
}
public List<String> retrieveAvailableProfiles(String username, String password) {
List<String> profiles;
profiles = userCacheService.retrieveProfilesOfUser(username, password, requestDataDTO.getApplication());
if (profiles.isEmpty()) {
// SELEZIONE CICLICA IN TUTTI I DB SPECIFICATI
userCacheService.invalidateCache();
profiles = userCacheService.retrieveProfilesOfUser(username, password, requestDataDTO.getApplication());
}
return profiles;
return userCacheService.retrieveProfilesOfUser(username, password, requestDataDTO.getApplication());
}
public String getSignatureIdAttach(String username) throws Exception {

View File

@@ -70,6 +70,7 @@ public class UtilityEntity {
(field instanceof LocalDateTime && ((LocalDateTime)field).isEqual(EmsRestConstants.LOCAL_DATE_TIME_NULL)) ||
(field instanceof BigDecimal && ((BigDecimal) field).compareTo(EmsRestConstants.BIGDECIMAL_NULL) == 0) ||
(field instanceof Integer && field.equals(EmsRestConstants.INTEGER_NULL)) ||
(field instanceof Long && field.equals(EmsRestConstants.LONG_NULL)) ||
(field instanceof String && ((String) field).equalsIgnoreCase(EmsRestConstants.NULL)));
}

View File

@@ -1152,7 +1152,11 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
}
}
Object value = field.get(entity);
if (value != null && !(value instanceof String && ((String) value).equalsIgnoreCase(EmsRestConstants.NULL))) {
if (value != null &&
!(value instanceof String && ((String) value).equalsIgnoreCase(EmsRestConstants.NULL)) &&
!(value instanceof Long && ((Long) value) == (EmsRestConstants.LONG_NULL)) &&
!(value instanceof Integer && ((Integer) value) == (EmsRestConstants.INTEGER_NULL))
) {
sqlFields.put(columnName, field.get(entity));
} else {
sqlFields.clear();

View File

@@ -15,6 +15,7 @@ public class EmsRestConstants {
public static final LocalTime LOCAL_TIME_NULL = LocalTime.MAX; // 23:59:59.99999
public static final LocalDateTime LOCAL_DATE_TIME_NULL = LocalDateTime.of(1900, 1, 1, 0, 0, 0); // 1/1/1900
public static final Integer INTEGER_NULL = Integer.MIN_VALUE;
public static final Long LONG_NULL = Long.MIN_VALUE;
public static final BigDecimal BIGDECIMAL_NULL = new BigDecimal(Integer.MIN_VALUE);
public static final String ENTITY_TYPE = "type";

View File

@@ -17,7 +17,8 @@ import org.kie.api.definition.type.PropertyReactive;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Date;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.HashMap;
@Master
@@ -33,6 +34,9 @@ public class Azienda extends EntityBase {
private static final long serialVersionUID = 1L;
@PK
@SqlField(value = "id", nullable = false)
private Short id;
@SqlField(value = "nome_ditta", maxLength = 40, nullable = false)
private String nomeDitta;
@@ -70,7 +74,7 @@ public class Azienda extends EntityBase {
private Integer annoAttuale;
@SqlField(value = "ult_data_gio")
private Date ultDataGio;
private LocalDate ultDataGio;
@SqlField(value = "ult_num_gio")
private Integer ultNumGio;
@@ -85,10 +89,10 @@ public class Azienda extends EntityBase {
private String ribaRSocBreve;
@SqlField(value = "data_iniz_msg")
private Date dataInizMsg;
private LocalDate dataInizMsg;
@SqlField(value = "data_fine_msg")
private Date dataFineMsg;
private LocalDate dataFineMsg;
@SqlField(value = "messaggio_doc", maxLength = 130)
private String messaggioDoc;
@@ -97,10 +101,10 @@ public class Azienda extends EntityBase {
private String liquidazioniIva;
@SqlField(value = "last_upg_db")
private Date lastUpgDb;
private LocalDate lastUpgDb;
@SqlField(value = "data_upd_sw", nullable = false)
private Date dataUpdSw;
private LocalDateTime dataUpdSw;
@SqlField(value = "logo_file", maxLength = 128)
private String logoFile;
@@ -166,7 +170,7 @@ public class Azienda extends EntityBase {
private String persFisicaSesso;
@SqlField(value = "pers_fisica_data_nascita")
private Date persFisicaDataNascita;
private LocalDate persFisicaDataNascita;
@SqlField(value = "pers_fisica_comune_nascita", maxLength = 30)
private String persFisicaComuneNascita;
@@ -274,11 +278,26 @@ public class Azienda extends EntityBase {
private String rapprLegaleComuneNascita;
@SqlField(value = "rappr_legale_data_nascita")
private Date rapprLegaleDataNascita;
private LocalDate rapprLegaleDataNascita;
@SqlField(value = "rappr_legale_prov_nascita", maxLength = 2)
private String rapprLegaleProvNascita;
@SqlField(value = "rappr_legale", maxLength = 255)
private String rapprLegale;
@SqlField(value = "flag_fatt_ele", maxLength = 1)
private String flagFattEle;
@SqlField(value = "cod_fda", maxLength = 20)
private String codFda;
@SqlField(value = "cod_fce")
private Integer codFce;
@SqlField(value = "cod_lucid", maxLength = 20)
private String codLucid;
@SqlField(value = "giorno_iniz_anno_fisc", nullable = false)
private Integer giornoInizAnnoFisc;
@@ -288,6 +307,9 @@ public class Azienda extends EntityBase {
@SqlField(value = "flag_regime_speciale_iva", maxLength = 1, nullable = false, defaultObjectValue = "N")
private String flagRegimeSpecialeIva;
@SqlField(value = "cod_cuc", maxLength = 10)
private String codCuc;
@JsonIgnore
@SqlField(value = "jwt_secret_key", maxLength = -1)
private String jwtSecretKey;
@@ -309,261 +331,323 @@ public class Azienda extends EntityBase {
String sql = "SELECT TOP 1 * FROM azienda";
return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, Azienda.class);
}
public String getApplicationName() {
return applicationName;
}
public ApplicationName getApplicationNameEnum() {
return ApplicationName.valueOf(getApplicationName());
}
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
public Short getId() {
return id;
}
public Azienda setId(Short id) {
this.id = id;
return this;
}
public String getNomeDitta() {
return nomeDitta;
}
public void setNomeDitta(String nomeDitta) {
public Azienda setNomeDitta(String nomeDitta) {
this.nomeDitta = nomeDitta;
return this;
}
public String getIndirizzo() {
return indirizzo;
}
public void setIndirizzo(String indirizzo) {
public Azienda setIndirizzo(String indirizzo) {
this.indirizzo = indirizzo;
return this;
}
public String getCap() {
return cap;
}
public void setCap(String cap) {
public Azienda setCap(String cap) {
this.cap = cap;
return this;
}
public String getCitta() {
return citta;
}
public void setCitta(String citta) {
public Azienda setCitta(String citta) {
this.citta = citta;
return this;
}
public String getProv() {
return prov;
}
public void setProv(String prov) {
public Azienda setProv(String prov) {
this.prov = prov;
return this;
}
public String getPartIva() {
return partIva;
}
public void setPartIva(String partIva) {
public Azienda setPartIva(String partIva) {
this.partIva = partIva;
return this;
}
public String getNumTel() {
return numTel;
}
public void setNumTel(String numTel) {
public Azienda setNumTel(String numTel) {
this.numTel = numTel;
return this;
}
public String getNumFax() {
return numFax;
}
public void setNumFax(String numFax) {
public Azienda setNumFax(String numFax) {
this.numFax = numFax;
return this;
}
public String geteMail() {
return eMail;
}
public void seteMail(String eMail) {
public Azienda seteMail(String eMail) {
this.eMail = eMail;
return this;
}
public Integer getAnnoContab() {
return annoContab;
}
public void setAnnoContab(Integer annoContab) {
public Azienda setAnnoContab(Integer annoContab) {
this.annoContab = annoContab;
return this;
}
public Integer getAnnoMagaz() {
return annoMagaz;
}
public void setAnnoMagaz(Integer annoMagaz) {
public Azienda setAnnoMagaz(Integer annoMagaz) {
this.annoMagaz = annoMagaz;
return this;
}
public Integer getAnnoAttuale() {
return annoAttuale;
}
public void setAnnoAttuale(Integer annoAttuale) {
public Azienda setAnnoAttuale(Integer annoAttuale) {
this.annoAttuale = annoAttuale;
return this;
}
public Date getUltDataGio() {
public LocalDate getUltDataGio() {
return ultDataGio;
}
public void setUltDataGio(Date ultDataGio) {
public Azienda setUltDataGio(LocalDate ultDataGio) {
this.ultDataGio = ultDataGio;
return this;
}
public Integer getUltNumGio() {
return ultNumGio;
}
public void setUltNumGio(Integer ultNumGio) {
public Azienda setUltNumGio(Integer ultNumGio) {
this.ultNumGio = ultNumGio;
return this;
}
public String getRibaRSoc1() {
return ribaRSoc1;
}
public void setRibaRSoc1(String ribaRSoc1) {
public Azienda setRibaRSoc1(String ribaRSoc1) {
this.ribaRSoc1 = ribaRSoc1;
return this;
}
public String getRibaRSoc2() {
return ribaRSoc2;
}
public void setRibaRSoc2(String ribaRSoc2) {
public Azienda setRibaRSoc2(String ribaRSoc2) {
this.ribaRSoc2 = ribaRSoc2;
return this;
}
public String getRibaRSocBreve() {
return ribaRSocBreve;
}
public void setRibaRSocBreve(String ribaRSocBreve) {
public Azienda setRibaRSocBreve(String ribaRSocBreve) {
this.ribaRSocBreve = ribaRSocBreve;
return this;
}
public Date getDataInizMsg() {
public LocalDate getDataInizMsg() {
return dataInizMsg;
}
public void setDataInizMsg(Date dataInizMsg) {
public Azienda setDataInizMsg(LocalDate dataInizMsg) {
this.dataInizMsg = dataInizMsg;
return this;
}
public Date getDataFineMsg() {
public LocalDate getDataFineMsg() {
return dataFineMsg;
}
public void setDataFineMsg(Date dataFineMsg) {
public Azienda setDataFineMsg(LocalDate dataFineMsg) {
this.dataFineMsg = dataFineMsg;
return this;
}
public String getMessaggioDoc() {
return messaggioDoc;
}
public void setMessaggioDoc(String messaggioDoc) {
public Azienda setMessaggioDoc(String messaggioDoc) {
this.messaggioDoc = messaggioDoc;
return this;
}
public String getLiquidazioniIva() {
return liquidazioniIva;
}
public void setLiquidazioniIva(String liquidazioniIva) {
public Azienda setLiquidazioniIva(String liquidazioniIva) {
this.liquidazioniIva = liquidazioniIva;
return this;
}
public Date getLastUpgDb() {
public LocalDate getLastUpgDb() {
return lastUpgDb;
}
public void setLastUpgDb(Date lastUpgDb) {
public Azienda setLastUpgDb(LocalDate lastUpgDb) {
this.lastUpgDb = lastUpgDb;
return this;
}
public LocalDateTime getDataUpdSw() {
return dataUpdSw;
}
public Azienda setDataUpdSw(LocalDateTime dataUpdSw) {
this.dataUpdSw = dataUpdSw;
return this;
}
public String getLogoFile() {
return logoFile;
}
public void setLogoFile(String logoFile) {
public Azienda setLogoFile(String logoFile) {
this.logoFile = logoFile;
return this;
}
public String getLogoB64() {
return logoB64;
}
public void setLogoB64(String logoB64) {
public Azienda setLogoB64(String logoB64) {
this.logoB64 = logoB64;
return this;
}
public BigDecimal getUltDareAv() {
return ultDareAv;
}
public void setUltDareAv(BigDecimal ultDareAv) {
public Azienda setUltDareAv(BigDecimal ultDareAv) {
this.ultDareAv = ultDareAv;
return this;
}
public Integer getSollTop() {
return sollTop;
}
public void setSollTop(Integer sollTop) {
public Azienda setSollTop(Integer sollTop) {
this.sollTop = sollTop;
return this;
}
public Integer getSollLeft() {
return sollLeft;
}
public void setSollLeft(Integer sollLeft) {
public Azienda setSollLeft(Integer sollLeft) {
this.sollLeft = sollLeft;
return this;
}
public Integer getGgUtili() {
return ggUtili;
}
public void setGgUtili(Integer ggUtili) {
public Azienda setGgUtili(Integer ggUtili) {
this.ggUtili = ggUtili;
return this;
}
public String getCodSia() {
return codSia;
}
public void setCodSia(String codSia) {
public Azienda setCodSia(String codSia) {
this.codSia = codSia;
return this;
}
public String getFlagFattDiff() {
return flagFattDiff;
}
public void setFlagFattDiff(String flagFattDiff) {
public Azienda setFlagFattDiff(String flagFattDiff) {
this.flagFattDiff = flagFattDiff;
return this;
}
public String getSollHeadPersonal() {
return sollHeadPersonal;
}
public void setSollHeadPersonal(String sollHeadPersonal) {
public Azienda setSollHeadPersonal(String sollHeadPersonal) {
this.sollHeadPersonal = sollHeadPersonal;
return this;
}
public String getLastUpgSp() {
return lastUpgSp;
}
public void setLastUpgSp(String lastUpgSp) {
public Azienda setLastUpgSp(String lastUpgSp) {
this.lastUpgSp = lastUpgSp;
return this;
}
public String getLastUpgDbMenu() {
@@ -579,352 +663,445 @@ public class Azienda extends EntityBase {
return sitoWeb;
}
public void setSitoWeb(String sitoWeb) {
public Azienda setSitoWeb(String sitoWeb) {
this.sitoWeb = sitoWeb;
return this;
}
public BigDecimal getCapitaleSoc() {
return capitaleSoc;
}
public void setCapitaleSoc(BigDecimal capitaleSoc) {
public Azienda setCapitaleSoc(BigDecimal capitaleSoc) {
this.capitaleSoc = capitaleSoc;
return this;
}
public String getCciaa() {
return cciaa;
}
public void setCciaa(String cciaa) {
public Azienda setCciaa(String cciaa) {
this.cciaa = cciaa;
}
public String getCodRuop() {
return codRuop;
}
public void setCodRuop(String codRuop) {
this.codRuop = codRuop;
return this;
}
public String getIscRegImp() {
return iscRegImp;
}
public void setIscRegImp(String iscRegImp) {
public Azienda setIscRegImp(String iscRegImp) {
this.iscRegImp = iscRegImp;
return this;
}
public String getRagSocMod() {
return ragSocMod;
}
public void setRagSocMod(String ragSocMod) {
public Azienda setRagSocMod(String ragSocMod) {
this.ragSocMod = ragSocMod;
return this;
}
public String getPrefissoEan() {
return prefissoEan;
}
public void setPrefissoEan(String prefissoEan) {
public Azienda setPrefissoEan(String prefissoEan) {
this.prefissoEan = prefissoEan;
return this;
}
public String getCodFiscale() {
return codFiscale;
}
public void setCodFiscale(String codFiscale) {
public Azienda setCodFiscale(String codFiscale) {
this.codFiscale = codFiscale;
return this;
}
public String getPersFisicaCognome() {
return persFisicaCognome;
}
public void setPersFisicaCognome(String persFisicaCognome) {
public Azienda setPersFisicaCognome(String persFisicaCognome) {
this.persFisicaCognome = persFisicaCognome;
return this;
}
public String getPersFisicaNome() {
return persFisicaNome;
}
public void setPersFisicaNome(String persFisicaNome) {
public Azienda setPersFisicaNome(String persFisicaNome) {
this.persFisicaNome = persFisicaNome;
return this;
}
public String getPersFisicaSesso() {
return persFisicaSesso;
}
public void setPersFisicaSesso(String persFisicaSesso) {
public Azienda setPersFisicaSesso(String persFisicaSesso) {
this.persFisicaSesso = persFisicaSesso;
return this;
}
public Date getPersFisicaDataNascita() {
public LocalDate getPersFisicaDataNascita() {
return persFisicaDataNascita;
}
public void setPersFisicaDataNascita(Date persFisicaDataNascita) {
public Azienda setPersFisicaDataNascita(LocalDate persFisicaDataNascita) {
this.persFisicaDataNascita = persFisicaDataNascita;
return this;
}
public String getPersFisicaComuneNascita() {
return persFisicaComuneNascita;
}
public void setPersFisicaComuneNascita(String persFisicaComuneNascita) {
public Azienda setPersFisicaComuneNascita(String persFisicaComuneNascita) {
this.persFisicaComuneNascita = persFisicaComuneNascita;
return this;
}
public String getPersFisicaProvNascita() {
return persFisicaProvNascita;
}
public void setPersFisicaProvNascita(String persFisicaProvNascita) {
public Azienda setPersFisicaProvNascita(String persFisicaProvNascita) {
this.persFisicaProvNascita = persFisicaProvNascita;
return this;
}
public String getFlagPersFisica() {
return flagPersFisica;
}
public void setFlagPersFisica(String flagPersFisica) {
public Azienda setFlagPersFisica(String flagPersFisica) {
this.flagPersFisica = flagPersFisica;
return this;
}
public String getPersFisicaCodFisc() {
return persFisicaCodFisc;
}
public void setPersFisicaCodFisc(String persFisicaCodFisc) {
public Azienda setPersFisicaCodFisc(String persFisicaCodFisc) {
this.persFisicaCodFisc = persFisicaCodFisc;
return this;
}
public String getRapprLegaleCodFisc() {
return rapprLegaleCodFisc;
}
public void setRapprLegaleCodFisc(String rapprLegaleCodFisc) {
public Azienda setRapprLegaleCodFisc(String rapprLegaleCodFisc) {
this.rapprLegaleCodFisc = rapprLegaleCodFisc;
return this;
}
public String getSedeAmm() {
return sedeAmm;
}
public void setSedeAmm(String sedeAmm) {
public Azienda setSedeAmm(String sedeAmm) {
this.sedeAmm = sedeAmm;
}
public boolean isFlagSetIvaOmaggi() {
return "S".equalsIgnoreCase(flagSetIvaOmaggi);
return this;
}
public String getFlagSetIvaOmaggi() {
return flagSetIvaOmaggi;
}
public void setFlagSetIvaOmaggi(String flagSetIvaOmaggi) {
public boolean isFlagSetIvaOmaggi() {
return flagSetIvaOmaggi.equalsIgnoreCase("S");
}
public Azienda setFlagSetIvaOmaggi(String flagSetIvaOmaggi) {
this.flagSetIvaOmaggi = flagSetIvaOmaggi;
}
public String getApplicationName() {
return applicationName;
}
public ApplicationName getApplicationNameEnum() {
return ApplicationName.valueOf(getApplicationName());
}
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
return this;
}
public String getFlagTipoFatturazione() {
return flagTipoFatturazione;
}
public void setFlagTipoFatturazione(String flagTipoFatturazione) {
public Azienda setFlagTipoFatturazione(String flagTipoFatturazione) {
this.flagTipoFatturazione = flagTipoFatturazione;
return this;
}
public String getTribunale() {
return tribunale;
}
public void setTribunale(String tribunale) {
public Azienda setTribunale(String tribunale) {
this.tribunale = tribunale;
return this;
}
public Integer getSettRitardoAnno() {
return settRitardoAnno;
}
public void setSettRitardoAnno(Integer settRitardoAnno) {
public Azienda setSettRitardoAnno(Integer settRitardoAnno) {
this.settRitardoAnno = settRitardoAnno;
return this;
}
public String getDbDistributore() {
return dbDistributore;
}
public void setDbDistributore(String dbDistributore) {
public Azienda setDbDistributore(String dbDistributore) {
this.dbDistributore = dbDistributore;
return this;
}
public String getCodAteco() {
return codAteco;
}
public void setCodAteco(String codAteco) {
public Azienda setCodAteco(String codAteco) {
this.codAteco = codAteco;
return this;
}
public String getLastUpgQc() {
return lastUpgQc;
}
public void setLastUpgQc(String lastUpgQc) {
public Azienda setLastUpgQc(String lastUpgQc) {
this.lastUpgQc = lastUpgQc;
return this;
}
public String getTipoAzienda() {
return tipoAzienda;
}
public void setTipoAzienda(String tipoAzienda) {
public Azienda setTipoAzienda(String tipoAzienda) {
this.tipoAzienda = tipoAzienda;
return this;
}
public String getNazione() {
return nazione;
}
public void setNazione(String nazione) {
public Azienda setNazione(String nazione) {
this.nazione = nazione;
return this;
}
public String getCodDiviContab() {
return codDiviContab;
}
public void setCodDiviContab(String codDiviContab) {
public Azienda setCodDiviContab(String codDiviContab) {
this.codDiviContab = codDiviContab;
return this;
}
public String getCodIvaOmaggi() {
return codIvaOmaggi;
}
public void setCodIvaOmaggi(String codIvaOmaggi) {
public Azienda setCodIvaOmaggi(String codIvaOmaggi) {
this.codIvaOmaggi = codIvaOmaggi;
return this;
}
public String getCodCconQuadra() {
return codCconQuadra;
}
public void setCodCconQuadra(String codCconQuadra) {
public Azienda setCodCconQuadra(String codCconQuadra) {
this.codCconQuadra = codCconQuadra;
return this;
}
public String getCodRuop() {
return codRuop;
}
public Azienda setCodRuop(String codRuop) {
this.codRuop = codRuop;
return this;
}
public Long getProgressivoSscc() {
return progressivoSscc;
}
public Azienda setProgressivoSscc(Long progressivoSscc) {
this.progressivoSscc = progressivoSscc;
return this;
}
public String getCodSdiDitta() {
return codSdiDitta;
}
public Azienda setCodSdiDitta(String codSdiDitta) {
this.codSdiDitta = codSdiDitta;
return this;
}
public String getRegFisc() {
return regFisc;
}
public void setRegFisc(String regFisc) {
public Azienda setRegFisc(String regFisc) {
this.regFisc = regFisc;
return this;
}
public String getStatoLiquidazione() {
return statoLiquidazione;
}
public void setStatoLiquidazione(String statoLiquidazione) {
public Azienda setStatoLiquidazione(String statoLiquidazione) {
this.statoLiquidazione = statoLiquidazione;
return this;
}
public String getEmailSdi() {
return emailSdi;
}
public void setEmailSdi(String emailSdi) {
public Azienda setEmailSdi(String emailSdi) {
this.emailSdi = emailSdi;
return this;
}
public String getFromEmailSdi() {
return fromEmailSdi;
}
public void setFromEmailSdi(String fromEmailSdi) {
public Azienda setFromEmailSdi(String fromEmailSdi) {
this.fromEmailSdi = fromEmailSdi;
return this;
}
public String getIdCreditoreSepa() {
return idCreditoreSepa;
}
public void setIdCreditoreSepa(String idCreditoreSepa) {
public Azienda setIdCreditoreSepa(String idCreditoreSepa) {
this.idCreditoreSepa = idCreditoreSepa;
return this;
}
public String getMessaggioPrivacy() {
return messaggioPrivacy;
}
public void setMessaggioPrivacy(String messaggioPrivacy) {
public Azienda setMessaggioPrivacy(String messaggioPrivacy) {
this.messaggioPrivacy = messaggioPrivacy;
return this;
}
public String getRapprLegaleNome() {
return rapprLegaleNome;
}
public void setRapprLegaleNome(String rapprLegaleNome) {
public Azienda setRapprLegaleNome(String rapprLegaleNome) {
this.rapprLegaleNome = rapprLegaleNome;
return this;
}
public String getRapprLegaleCognome() {
return rapprLegaleCognome;
}
public void setRapprLegaleCognome(String rapprLegaleCognome) {
public Azienda setRapprLegaleCognome(String rapprLegaleCognome) {
this.rapprLegaleCognome = rapprLegaleCognome;
return this;
}
public String getRapprLegaleSesso() {
return rapprLegaleSesso;
}
public void setRapprLegaleSesso(String rapprLegaleSesso) {
public Azienda setRapprLegaleSesso(String rapprLegaleSesso) {
this.rapprLegaleSesso = rapprLegaleSesso;
return this;
}
public String getRapprLegaleComuneNascita() {
return rapprLegaleComuneNascita;
}
public void setRapprLegaleComuneNascita(String rapprLegaleComuneNascita) {
public Azienda setRapprLegaleComuneNascita(String rapprLegaleComuneNascita) {
this.rapprLegaleComuneNascita = rapprLegaleComuneNascita;
return this;
}
public Date getRapprLegaleDataNascita() {
public LocalDate getRapprLegaleDataNascita() {
return rapprLegaleDataNascita;
}
public void setRapprLegaleDataNascita(Date rapprLegaleDataNascita) {
public Azienda setRapprLegaleDataNascita(LocalDate rapprLegaleDataNascita) {
this.rapprLegaleDataNascita = rapprLegaleDataNascita;
return this;
}
public String getRapprLegaleProvNascita() {
return rapprLegaleProvNascita;
}
public void setRapprLegaleProvNascita(String rapprLegaleProvNascita) {
public Azienda setRapprLegaleProvNascita(String rapprLegaleProvNascita) {
this.rapprLegaleProvNascita = rapprLegaleProvNascita;
return this;
}
public String getRapprLegale() {
return rapprLegale;
}
public Azienda setRapprLegale(String rapprLegale) {
this.rapprLegale = rapprLegale;
return this;
}
public String getFlagFattEle() {
return flagFattEle;
}
public Azienda setFlagFattEle(String flagFattEle) {
this.flagFattEle = flagFattEle;
return this;
}
public String getCodFda() {
return codFda;
}
public Azienda setCodFda(String codFda) {
this.codFda = codFda;
return this;
}
public Integer getCodFce() {
return codFce;
}
public Azienda setCodFce(Integer codFce) {
this.codFce = codFce;
return this;
}
public String getCodLucid() {
return codLucid;
}
public Azienda setCodLucid(String codLucid) {
this.codLucid = codLucid;
return this;
}
public Integer getGiornoInizAnnoFisc() {
@@ -963,30 +1140,12 @@ public class Azienda extends EntityBase {
return this;
}
public Date getDataUpdSw() {
return dataUpdSw;
public String getCodCuc() {
return codCuc;
}
public Azienda setDataUpdSw(Date dataUpdSw) {
this.dataUpdSw = dataUpdSw;
return this;
}
public Long getProgressivoSscc() {
return progressivoSscc;
}
public Azienda setProgressivoSscc(Long progressivoSscc) {
this.progressivoSscc = progressivoSscc;
return this;
}
public String getCodSdiDitta() {
return codSdiDitta;
}
public Azienda setCodSdiDitta(String codSdiDitta) {
this.codSdiDitta = codSdiDitta;
public Azienda setCodCuc(String codCuc) {
this.codCuc = codCuc;
return this;
}
}

View File

@@ -74,6 +74,9 @@ public class CtbCont extends EntityBase {
@SqlField(value = "data_mod", defaultObjectValue = CommonConstants.TIMESTAMP)
private Date dataMod;
@SqlField(value = "flag_attivo", nullable = false, defaultObjectValue = "1")
private Boolean flagAttivo;
public CtbCont() {
super(logger);
}
@@ -201,6 +204,15 @@ public class CtbCont extends EntityBase {
return this;
}
public Boolean getFlagAttivo() {
return flagAttivo;
}
public CtbCont setFlagAttivo(Boolean flagAttivo) {
this.flagAttivo = flagAttivo;
return this;
}
@Override
protected void deleteChilds() throws Exception {
String sql = Query.format(

View File

@@ -10,8 +10,8 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Master
@@ -190,10 +190,10 @@ public class DtbTipi extends EntityBase {
private String pathBanner;
@SqlField(value = "data_iniz_banner")
private Date dataInizBanner;
private LocalDate dataInizBanner;
@SqlField(value = "data_fine_banner")
private Date dataFineBanner;
private LocalDate dataFineBanner;
@SqlField(value = "flag_dest_obb", maxLength = 1, nullable = false, defaultObjectValue = "N")
private String flagDestObb;
@@ -747,20 +747,20 @@ public class DtbTipi extends EntityBase {
return this;
}
public Date getDataInizBanner() {
public LocalDate getDataInizBanner() {
return dataInizBanner;
}
public DtbTipi setDataInizBanner(Date dataInizBanner) {
public DtbTipi setDataInizBanner(LocalDate dataInizBanner) {
this.dataInizBanner = dataInizBanner;
return this;
}
public Date getDataFineBanner() {
public LocalDate getDataFineBanner() {
return dataFineBanner;
}
public DtbTipi setDataFineBanner(Date dataFineBanner) {
public DtbTipi setDataFineBanner(LocalDate dataFineBanner) {
this.dataFineBanner = dataFineBanner;
return this;
}

View File

@@ -313,6 +313,15 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@SqlField(value = "cod_mssfa", maxLength = 6)
private String codMssfa;
@SqlField(value = "cod_linea", maxLength = 6)
private String codLinea;
@SqlField(value = "cod_slinea", maxLength = 6)
private String codSlinea;
@SqlField(value = "cod_sslinea", maxLength = 6)
private String codSslinea;
@Priority(1)
private MtbAartMarchio mtbAartMarchio;
@@ -351,6 +360,9 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@EntityChild
private List<MrlAartSchTecSet> mrlAartSchTecSet = new ArrayList<>();
@EntityChild
private List<MtbAartColori> mtbAartColori = new ArrayList<>();
@Priority(101)
List<JtbCicl> jtbCicl;
@@ -1275,6 +1287,15 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
return this;
}
public List<MtbAartColori> getMtbAartColori() {
return mtbAartColori;
}
public MtbAart setMtbAartColori(List<MtbAartColori> mtbAartColori) {
this.mtbAartColori = mtbAartColori;
return this;
}
public List<MtbLisa> getMtbLisa() {
return mtbLisa;
}
@@ -1328,6 +1349,33 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
return this;
}
public String getCodLinea() {
return codLinea;
}
public MtbAart setCodLinea(String codLinea) {
this.codLinea = codLinea;
return this;
}
public String getCodSlinea() {
return codSlinea;
}
public MtbAart setCodSlinea(String codSlinea) {
this.codSlinea = codSlinea;
return this;
}
public String getCodSslinea() {
return codSslinea;
}
public MtbAart setCodSslinea(String codSslinea) {
this.codSslinea = codSslinea;
return this;
}
@Override
protected void updateChilds() throws Exception {
insertChilds();
@@ -1367,6 +1415,8 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
mtbAartLink.deleteAllEntities(connection, this);
MrlAartSchTecSet mrlAartSchTecSet = new MrlAartSchTecSet();
mrlAartSchTecSet.deleteAllEntities(connection, this);
MtbAartColori mtbAartColori = new MtbAartColori();
mtbAartColori.deleteAllEntities(connection, this);
}
@Override

View File

@@ -5,16 +5,18 @@ import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.math.BigDecimal;
import java.util.Objects;
@PropertyReactive
@Table(MtbAartBarCode.ENTITY)
@JsonTypeName(MtbAartBarCode.ENTITY)
public class MtbAartBarCode extends EntityBase {
public class MtbAartBarCode extends EntityBase implements EquatableEntityInterface<MtbAartBarCode> {
private final static Logger logger = LogManager.getLogger();
@@ -86,4 +88,31 @@ public class MtbAartBarCode extends EntityBase {
this.tipoCodBarre = tipoCodBarre;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartBarCode)) return false;
MtbAartBarCode that = (MtbAartBarCode) o;
return Objects.equals(getCodBarre(), that.getCodBarre()) && Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getQtaCnf(), that.getQtaCnf()) && Objects.equals(getFlagPrimario(), that.getFlagPrimario()) && Objects.equals(getTipoCodBarre(), that.getTipoCodBarre());
}
@Override
public int hashCode() {
return Objects.hash(getCodBarre(), getCodMart(), getQtaCnf(), getFlagPrimario(), getTipoCodBarre());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodBarre(), getCodMart());
}
@Override
public boolean equalsKey(MtbAartBarCode other) {
if (this == other) return true;
if (!(other instanceof MtbAartBarCode)) return false;
MtbAartBarCode mtbAartBarCode = other;
return Objects.equals(getCodBarre(), mtbAartBarCode.getCodBarre()) &&
Objects.equals(getCodMart(), mtbAartBarCode.getCodMart());
}
}

View File

@@ -6,14 +6,17 @@ import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.util.Objects;
@PropertyReactive
@Table(MtbAartCarat.ENTITY)
@JsonTypeName(MtbAartCarat.ENTITY)
public class MtbAartCarat extends EntityBase {
public class MtbAartCarat extends EntityBase implements EquatableEntityInterface<MtbAartCarat> {
private final static Logger logger = LogManager.getLogger();
@@ -82,4 +85,31 @@ public class MtbAartCarat extends EntityBase {
this.chkCompatibilita = chkCompatibilita;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartCarat)) return false;
MtbAartCarat that = (MtbAartCarat) o;
return Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getCarat(), that.getCarat()) && Objects.equals(getValCarat(), that.getValCarat()) && Objects.equals(getNote(), that.getNote()) && Objects.equals(getChkCompatibilita(), that.getChkCompatibilita());
}
@Override
public int hashCode() {
return Objects.hash(getCodMart(), getCarat(), getValCarat(), getNote(), getChkCompatibilita());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodMart(), getCarat());
}
@Override
public boolean equalsKey(MtbAartCarat other) {
if (this == other) return true;
if (!(other instanceof MtbAartCarat)) return false;
MtbAartCarat mtbAartBarCode = other;
return Objects.equals(getCarat(), mtbAartBarCode.getCarat()) &&
Objects.equals(getCodMart(), mtbAartBarCode.getCodMart());
}
}

View File

@@ -0,0 +1,100 @@
package it.integry.ems_model.entity;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.annotation.Master;
import org.kie.api.definition.type.PropertyReactive;
import it.integry.ems_model.annotation.Table;
import com.fasterxml.jackson.annotation.JsonTypeName;
import org.apache.logging.log4j.Logger;
import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.FK;
@Master()
@PropertyReactive()
@Table(value = MtbAartColori.ENTITY)
@JsonTypeName(value = MtbAartColori.ENTITY)
public class MtbAartColori extends EntityBase implements EquatableEntityInterface<MtbAartColori> {
public final static String ENTITY = "mtb_aart_colori";
private final static Long serialVersionUID = 1L;
private final static Logger logger = LogManager.getLogger();
public MtbAartColori() {
super(logger);
}
@PK()
@SqlField(value = "cod_mart", maxLength = 15, nullable = false)
@FK(tableName = MtbAart.ENTITY, columnName = "cod_mart")
private String codMart;
@PK()
@SqlField(value = "cod_col", maxLength = 6, nullable = false)
@FK(tableName = MtbColori.ENTITY, columnName = "cod_col")
private String codCol;
@SqlField(value = "cod_barre", maxLength = 25, nullable = true)
private String codBarre;
public String getCodMart() {
return codMart;
}
public MtbAartColori setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public String getCodCol() {
return codCol;
}
public MtbAartColori setCodCol(String codCol) {
this.codCol = codCol;
return this;
}
public String getCodBarre() {
return codBarre;
}
public MtbAartColori setCodBarre(String codBarre) {
this.codBarre = codBarre;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartColori)) return false;
MtbAartColori that = (MtbAartColori) o;
return Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getCodCol(), that.getCodCol()) && Objects.equals(getCodBarre(), that.getCodBarre());
}
@Override
public int hashCode() {
return Objects.hash(getCodMart(), getCodCol(), getCodBarre());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodMart(), getCodCol());
}
@Override
public boolean equalsKey(MtbAartColori other) {
if (this == other) return true;
if (!(other instanceof MtbAartColori)) return false;
MtbAartColori mtbAartColori = other;
return Objects.equals(getCodCol(), mtbAartColori.getCodCol()) &&
Objects.equals(getCodMart(), mtbAartColori.getCodMart());
}
}

View File

@@ -6,15 +6,18 @@ import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.util.Objects;
@Master
@PropertyReactive
@Table(MtbAartEqui.ENTITY)
@JsonTypeName(MtbAartEqui.ENTITY)
public class MtbAartEqui extends EntityBase {
public class MtbAartEqui extends EntityBase implements EquatableEntityInterface<MtbAartEqui> {
private final static Logger logger = LogManager.getLogger();
@@ -85,4 +88,29 @@ public class MtbAartEqui extends EntityBase {
public void setDescrizioneEstera(String descrizioneEstera) {
this.descrizioneEstera = descrizioneEstera;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartEqui)) return false;
MtbAartEqui that = (MtbAartEqui) o;
return Objects.equals(getIdArtEqui(), that.getIdArtEqui()) && Objects.equals(getDescrizione(), that.getDescrizione()) && Objects.equals(getFlagEquiPrezzo(), that.getFlagEquiPrezzo()) && Objects.equals(getFlagEquiCosto(), that.getFlagEquiCosto()) && Objects.equals(getDescrizioneEstera(), that.getDescrizioneEstera());
}
@Override
public int hashCode() {
return Objects.hash(getIdArtEqui(), getDescrizione(), getFlagEquiPrezzo(), getFlagEquiCosto(), getDescrizioneEstera());
}
@Override
public int hashCodeKey() {
return Objects.hash(getIdArtEqui());
}
@Override
public boolean equalsKey(MtbAartEqui other) {
if (this == other) return true;
if (!(other instanceof MtbAartEqui)) return false;
MtbAartEqui mtbAartEqui = (MtbAartEqui) other;
return Objects.equals(getIdArtEqui(), mtbAartEqui.getIdArtEqui());
}
}

View File

@@ -1,8 +1,11 @@
package it.integry.ems_model.entity;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.annotation.Master;
import org.kie.api.definition.type.PropertyReactive;
@@ -16,7 +19,7 @@ import it.integry.ems_model.annotation.SqlField;
@PropertyReactive()
@Table(value = MtbAartLinea.ENTITY)
@JsonTypeName(value = MtbAartLinea.ENTITY)
public class MtbAartLinea extends EntityBase {
public class MtbAartLinea extends EntityBase implements EquatableEntityInterface<MtbAartLinea> {
public final static String ENTITY = "mtb_aart_linea";
@@ -53,4 +56,28 @@ public class MtbAartLinea extends EntityBase {
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartLinea)) return false;
MtbAartLinea that = (MtbAartLinea) o;
return Objects.equals(getCodLinea(), that.getCodLinea()) && Objects.equals(getDescrizione(), that.getDescrizione());
}
@Override
public int hashCode() {
return Objects.hash(getCodLinea(), getDescrizione());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodLinea());
}
@Override
public boolean equalsKey(MtbAartLinea other) {
if (this == other) return true;
if (!(other instanceof MtbAartLinea)) return false;
MtbAartLinea mtbAartLinea = other;
return Objects.equals(getCodLinea(), mtbAartLinea.getCodLinea());
}
}

View File

@@ -62,7 +62,8 @@ public class MtbAartMarchio extends EntityBase implements EquatableEntityInterfa
if (this == o) return true;
if (!(o instanceof MtbAartMarchio)) return false;
MtbAartMarchio mtbAartMarchio = (MtbAartMarchio) o;
return Objects.equals(getMarchio(), mtbAartMarchio.getMarchio()) && Objects.equals(getMarchio(), mtbAartMarchio.getMarchio());
return Objects.equals(getMarchio(), mtbAartMarchio.getMarchio()) &&
Objects.equals(getMarchio(), mtbAartMarchio.getMarchio());
}
@Override

View File

@@ -1,8 +1,11 @@
package it.integry.ems_model.entity;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.annotation.Master;
import org.kie.api.definition.type.PropertyReactive;
@@ -16,7 +19,7 @@ import it.integry.ems_model.annotation.SqlField;
@PropertyReactive()
@Table(value = MtbAartSlinea.ENTITY)
@JsonTypeName(value = MtbAartSlinea.ENTITY)
public class MtbAartSlinea extends EntityBase {
public class MtbAartSlinea extends EntityBase implements EquatableEntityInterface<MtbAartSlinea> {
public final static String ENTITY = "mtb_aart_slinea";
@@ -52,4 +55,29 @@ public class MtbAartSlinea extends EntityBase {
this.descrizione = descrizione;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartSlinea)) return false;
MtbAartSlinea that = (MtbAartSlinea) o;
return Objects.equals(getCodSlinea(), that.getCodSlinea()) && Objects.equals(getDescrizione(), that.getDescrizione());
}
@Override
public int hashCode() {
return Objects.hash(getCodSlinea(), getDescrizione());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodSlinea());
}
@Override
public boolean equalsKey(MtbAartSlinea other) {
if (this == other) return true;
if (!(other instanceof MtbAartSlinea)) return false;
MtbAartSlinea mtbAartSlinea = other;
return Objects.equals(getCodSlinea(), mtbAartSlinea.getCodSlinea());
}
}

View File

@@ -0,0 +1,83 @@
package it.integry.ems_model.entity;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.annotation.Master;
import org.kie.api.definition.type.PropertyReactive;
import it.integry.ems_model.annotation.Table;
import com.fasterxml.jackson.annotation.JsonTypeName;
import org.apache.logging.log4j.Logger;
import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
@Master()
@PropertyReactive()
@Table(value = MtbAartSslinea.ENTITY)
@JsonTypeName(value = MtbAartSslinea.ENTITY)
public class MtbAartSslinea extends EntityBase implements EquatableEntityInterface<MtbAartSslinea> {
public final static String ENTITY = "mtb_aart_sslinea";
private final static Long serialVersionUID = 1L;
private final static Logger logger = LogManager.getLogger();
public MtbAartSslinea() {
super(logger);
}
@PK()
@SqlField(value = "cod_sslinea", maxLength = 6, nullable = false)
private String codSslinea;
@SqlField(value = "descrizione", maxLength = 255, nullable = false)
private String descrizione;
public String getCodSslinea() {
return codSslinea;
}
public MtbAartSslinea setCodSslinea(String codSslinea) {
this.codSslinea = codSslinea;
return this;
}
public String getDescrizione() {
return descrizione;
}
public MtbAartSslinea setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartSslinea)) return false;
MtbAartSslinea that = (MtbAartSslinea) o;
return Objects.equals(getCodSslinea(), that.getCodSslinea()) && Objects.equals(getDescrizione(), that.getDescrizione());
}
@Override
public int hashCode() {
return Objects.hash(getCodSslinea(), getDescrizione());
}
@Override
public boolean equalsKey(MtbAartSslinea other) {
if (this == other) return true;
if (!(other instanceof MtbAartSslinea)) return false;
MtbAartSslinea mtbAartSslinea = other;
return Objects.equals(getCodSslinea(), mtbAartSslinea.getCodSslinea());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodSslinea());
}
}

View File

@@ -0,0 +1,113 @@
package it.integry.ems_model.entity;
import com.fasterxml.jackson.annotation.JsonTypeName;
import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.time.LocalDateTime;
@Master
@PropertyReactive
@Table(MtbAnomalieUl.ENTITY)
@JsonTypeName(MtbAnomalieUl.ENTITY)
public class MtbAnomalieUl extends EntityBase {
private static final long serialVersionUID = 1L;
private final static Logger logger = LogManager.getLogger();
public static final String ENTITY = "mtb_anomalie_ul";
public MtbAnomalieUl() {
super(logger);
}
@PK
@Identity
@SqlField(value = "id", nullable = false)
private Long id;
@SqlField("descrizione")
private String descrizione;
@SqlField("annotazioni")
private String annotazioni;
@SqlField("inizio_anomalia")
private LocalDateTime inizioAnomalia;
@SqlField("fine_anomalia")
private LocalDateTime fineAnomalia;
@SqlField("cod_jfas")
private String codJfas;
@FK(tableName = MtbLivelliAnomalie.ENTITY, columnName = "id")
@SqlField("id_livello_anomalia")
private Long idLivelloAnomalia;
public Long getId() {
return id;
}
public MtbAnomalieUl setId(Long id) {
this.id = id;
return this;
}
public String getDescrizione() {
return descrizione;
}
public MtbAnomalieUl setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
public String getAnnotazioni() {
return annotazioni;
}
public MtbAnomalieUl setAnnotazioni(String annotazioni) {
this.annotazioni = annotazioni;
return this;
}
public LocalDateTime getInizioAnomalia() {
return inizioAnomalia;
}
public MtbAnomalieUl setInizioAnomalia(LocalDateTime inizioAnomalia) {
this.inizioAnomalia = inizioAnomalia;
return this;
}
public LocalDateTime getFineAnomalia() {
return fineAnomalia;
}
public MtbAnomalieUl setFineAnomalia(LocalDateTime fineAnomalia) {
this.fineAnomalia = fineAnomalia;
return this;
}
public String getCodJfas() {
return codJfas;
}
public MtbAnomalieUl setCodJfas(String codJfas) {
this.codJfas = codJfas;
return this;
}
public Long getIdLivelloAnomalia() {
return idLivelloAnomalia;
}
public MtbAnomalieUl setIdLivelloAnomalia(Long idLivelloAnomalia) {
this.idLivelloAnomalia = idLivelloAnomalia;
return this;
}
}

View File

@@ -0,0 +1,83 @@
package it.integry.ems_model.entity;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.annotation.Master;
import org.kie.api.definition.type.PropertyReactive;
import it.integry.ems_model.annotation.Table;
import com.fasterxml.jackson.annotation.JsonTypeName;
import org.apache.logging.log4j.Logger;
import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
@Master()
@PropertyReactive()
@Table(value = MtbColori.ENTITY)
@JsonTypeName(value = MtbColori.ENTITY)
public class MtbColori extends EntityBase implements EquatableEntityInterface<MtbColori> {
public final static String ENTITY = "mtb_colori";
private final static Long serialVersionUID = 1L;
private final static Logger logger = LogManager.getLogger();
public MtbColori() {
super(logger);
}
@PK()
@SqlField(value = "cod_col", maxLength = 6, nullable = false)
private String codCol;
@SqlField(value = "descrizione", maxLength = 255, nullable = false)
private String descrizione;
public String getCodCol() {
return codCol;
}
public MtbColori setCodCol(String codCol) {
this.codCol = codCol;
return this;
}
public String getDescrizione() {
return descrizione;
}
public MtbColori setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbColori)) return false;
MtbColori mtbColori = (MtbColori) o;
return Objects.equals(getCodCol(), mtbColori.getCodCol()) && Objects.equals(getDescrizione(), mtbColori.getDescrizione());
}
@Override
public int hashCode() {
return Objects.hash(getCodCol(), getDescrizione());
}
@Override
public boolean equalsKey(MtbColori other) {
if (this == other) return true;
if (!(other instanceof MtbColori)) return false;
MtbColori mtbColori = other;
return Objects.equals(getCodCol(), mtbColori.getCodCol());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodCol(), getCodCol());
}
}

View File

@@ -63,6 +63,9 @@ public class MtbCols extends EntityBase {
@SqlField(value = "causale", nullable = false)
private Causale causale;
@SqlField(value = "valore", nullable = true)
private String valore;
public MtbCols() {
super(logger);
}
@@ -157,9 +160,18 @@ public class MtbCols extends EntityBase {
return this;
}
public String getValore() {
return valore;
}
public MtbCols setValore(String valore) {
this.valore = valore;
return this;
}
public enum Causale implements IBaseEnum<Causale> {
CREAZIONE((short) 0), RETTIFICA((short) 1), POSIZIONAMENTO((short) 2), VERSAMENTO((short) 3);
CREAZIONE((short) 0), RETTIFICA((short) 1), POSIZIONAMENTO((short) 2), VERSAMENTO((short) 3), ANOMALIA_ASSOCIATA((short) 4), ANOMALIA_RIMOSSA((short) 5);
private final short value;

View File

@@ -176,6 +176,10 @@ public class MtbColt extends EntityBase implements EquatableEntityInterface<MtbC
@SqlField(value = "progressivo_ul", nullable = false)
private Integer progressivoUl;
@FK(tableName = MtbAnomalieUl.ENTITY, columnName = "id")
@SqlField(value = "id_anomalia")
private Long idAnomalia;
private String insPartitaMag;
private transient String stpPrz;
@@ -733,6 +737,15 @@ public class MtbColt extends EntityBase implements EquatableEntityInterface<MtbC
return this;
}
public Long getIdAnomalia() {
return idAnomalia;
}
public MtbColt setIdAnomalia(Long idAnomalia) {
this.idAnomalia = idAnomalia;
return this;
}
@Override
public boolean equalsKey(MtbColt other) {
if (this == other)

View File

@@ -0,0 +1,85 @@
package it.integry.ems_model.entity;
import com.fasterxml.jackson.annotation.JsonTypeName;
import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
@Master
@PropertyReactive
@Table(MtbLivelliAnomalie.ENTITY)
@JsonTypeName(MtbLivelliAnomalie.ENTITY)
public class MtbLivelliAnomalie extends EntityBase {
private static final long serialVersionUID = 1L;
private final static Logger logger = LogManager.getLogger();
public static final String ENTITY = "mtb_livelli_anomalie";
public MtbLivelliAnomalie() {
super(logger);
}
@PK
@Identity
@SqlField("id")
private Long id;
@SqlField("descrizione")
private String descrizione;
@SqlField(value = "hex_colore",maxLength = 20)
private String hexColore;
@SqlField(value = "escludi_picking_vendita",nullable = false, defaultObjectValue = "0")
private Boolean escludiPickingVendita = false;
@SqlField(value = "escludi_picking_lavorazione",nullable = false, defaultObjectValue = "0")
private Boolean escludiPickingLavorazione = false;
public Long getId() {
return id;
}
public MtbLivelliAnomalie setId(Long id) {
this.id = id;
return this;
}
public String getDescrizione() {
return descrizione;
}
public MtbLivelliAnomalie setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
public String getHexColore() {
return hexColore;
}
public MtbLivelliAnomalie setHexColore(String hexColore) {
this.hexColore = hexColore;
return this;
}
public Boolean getEscludiPickingVendita() {
return escludiPickingVendita;
}
public MtbLivelliAnomalie setEscludiPickingVendita(Boolean escludiPickingVendita) {
this.escludiPickingVendita = escludiPickingVendita;
return this;
}
public Boolean getEscludiPickingLavorazione() {
return escludiPickingLavorazione;
}
public MtbLivelliAnomalie setEscludiPickingLavorazione(Boolean escludiPickingLavorazione) {
this.escludiPickingLavorazione = escludiPickingLavorazione;
return this;
}
}

View File

@@ -56,32 +56,36 @@ public class MtbSfam extends EntityBase implements EquatableEntityInterface<MtbS
return codMgrp;
}
public void setCodMgrp(String codMgrp) {
public MtbSfam setCodMgrp(String codMgrp) {
this.codMgrp = codMgrp;
return this;
}
public String getCodMsgr() {
return codMsgr;
}
public void setCodMsgr(String codMsgr) {
public MtbSfam setCodMsgr(String codMsgr) {
this.codMsgr = codMsgr;
return this;
}
public String getCodMsfa() {
return codMsfa;
}
public void setCodMsfa(String codMsfa) {
public MtbSfam setCodMsfa(String codMsfa) {
this.codMsfa = codMsfa;
return this;
}
public String getDescrizione() {
return descrizione;
}
public void setDescrizione(String descrizione) {
public MtbSfam setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
public List<MtbSsfam> getMtbSsfam() {

View File

@@ -34,6 +34,9 @@ public class SrlActivityTypeUser extends EntityBase {
@SqlField(value = "user_name", maxLength = 40, nullable = false)
private String userName;
@SqlField(value = "activity_default", maxLength = 40, nullable = false)
private Boolean activityDefault;
public SrlActivityTypeUser() {
super(logger);
}
@@ -61,4 +64,13 @@ public class SrlActivityTypeUser extends EntityBase {
public void setUserName(String userName) {
this.userName = userName;
}
public Boolean getActivityDefault() {
return activityDefault;
}
public SrlActivityTypeUser setActivityDefault(Boolean activityDefault) {
this.activityDefault = activityDefault;
return this;
}
}

View File

@@ -1,5 +1,6 @@
package it.integry.ems_model.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
import it.integry.common.var.CommonConstants;
@@ -7,6 +8,7 @@ import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityPassword;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
@@ -96,7 +98,7 @@ public class StbUser extends EntityBase {
private String lastPasswords;
@SqlField(value = "password_endtime")
private Date passwordEndtime;
private LocalDateTime passwordEndtime;
@SqlField(value = "password_expires_days", defaultObjectValue = "180")
private Integer passwordExpiresDays;
@@ -422,11 +424,11 @@ public class StbUser extends EntityBase {
return this;
}
public Date getPasswordEndtime() {
public LocalDateTime getPasswordEndtime() {
return passwordEndtime;
}
public StbUser setPasswordEndtime(Date passwordEndtime) {
public StbUser setPasswordEndtime(LocalDateTime passwordEndtime) {
this.passwordEndtime = passwordEndtime;
return this;
}
@@ -670,4 +672,12 @@ public class StbUser extends EntityBase {
JrlFlavUsers jrlFlavUsers = new JrlFlavUsers();
jrlFlavUsers.deleteAllEntities(connection, this);
}
@JsonIgnore
public String getPasswordDecoded() {
if (this.password != null)
return UtilityPassword.sysDcdPss(this.password);
return null;
}
}

View File

@@ -249,6 +249,9 @@ public class WdtbDoct extends DtbBaseDocT {
@SqlField(value = "cod_lingua", maxLength = 5)
private String codLingua;
@SqlField(value = "merce_ricevuta", nullable = false, defaultObjectValue = "0")
private Boolean merceRicevuta;
@JsonProperty
private String partIva;
@@ -1024,6 +1027,15 @@ public class WdtbDoct extends DtbBaseDocT {
return this;
}
public Boolean getMerceRicevuta() {
return merceRicevuta;
}
public WdtbDoct setMerceRicevuta(Boolean merceRicevuta) {
this.merceRicevuta = merceRicevuta;
return this;
}
public String getPartIva() {
return partIva;
}

View File

@@ -880,6 +880,11 @@ public class SqlFieldHolder {
dato = "null";
} else
dato = obj.toString();
} else if (obj instanceof Long) {
if (obj.equals(EmsRestConstants.LONG_NULL)) {
dato = "null";
} else
dato = obj.toString();
} else if (obj instanceof BigDecimal) {
if (obj.equals(EmsRestConstants.BIGDECIMAL_NULL)) {
dato = "null";
@@ -968,6 +973,11 @@ public class SqlFieldHolder {
dato = null;
} else
dato = obj;
} else if (obj instanceof Long) {
if (obj.equals(EmsRestConstants.LONG_NULL)) {
dato = null;
} else
dato = obj;
} else if (obj instanceof BigDecimal) {
if (obj.equals(EmsRestConstants.BIGDECIMAL_NULL)) {
dato = null;

View File

@@ -8,16 +8,19 @@ public class UtilityException {
public static String convertExceptionToHumanReadableText(Exception e) {
String errorMessage = e.getMessage();;
String errorMessage = e.getMessage();
int errorCode = -1;
if (e instanceof NullPointerException) {
if(e.getStackTrace().length > 0)
if (e.getStackTrace().length > 0)
errorMessage = "Null value at " + e.getStackTrace()[0].toString();
else errorMessage = "Empty stacktrace\n" + e;
} else if (e instanceof BaseSystemException) {
errorCode = ((BaseSystemException) e).getCode();
errorMessage = ((BaseSystemException) e).getCustomMessage();
} else if (e instanceof EntityException) {
EntityException entityException = (EntityException) e;
@@ -34,33 +37,28 @@ public class UtilityException {
message += entityException.getMessage() + "\n";
}
String startMatch = "it.integry.rules.Rule_";
String endMatch = "Eval";
if (entityException.getInnerException().getMessage().startsWith(startMatch)) {
isRuleException = true;
String innerMessage = entityException.getInnerException().getMessage();
String ruleName = innerMessage.substring(innerMessage.indexOf(startMatch) + startMatch.length(), innerMessage.indexOf(endMatch));
if (isRuleException(message))
message = removeRulePrefixFromExceptionMessage(message);
message += "\nRegola: " + ruleName;
}
if (isIntegryException(message))
message = e.getMessage();
if (!isRuntimeException) {
message += "\n(" + ((EntityException) e).getInnerException().getMessage() + ")";
}
errorMessage = message;
} else if (e instanceof RuntimeException || e instanceof JRException) {
String message = e.getCause() != null && e.getCause().getMessage() != null ? e.getCause().getMessage() : e.toString();
String message = e.getCause() != null && e.getCause().getMessage() != null ?
e.getCause().getMessage() :
e.toString();
String startMatch = "it.integry.rules.Rule_";
String endMatch = "Eval";
if (isRuleException(message))
message = removeRulePrefixFromExceptionMessage(message);
if (e.getMessage() != null && e.getMessage().startsWith(startMatch)) {
String innerMessage = e.getMessage();
String ruleName = innerMessage.substring(innerMessage.indexOf(startMatch) + startMatch.length(), innerMessage.indexOf(endMatch));
message += "\nRegola: " + ruleName;
}
if (isIntegryException(message))
message = e.getMessage();
errorMessage = message;
}
@@ -68,4 +66,29 @@ public class UtilityException {
return errorMessage;
}
private static boolean isRuleException(String exceptionMessage) {
String startMatch = "it.integry.rules.Rule_";
return exceptionMessage != null && exceptionMessage.startsWith(startMatch);
}
private static String removeRulePrefixFromExceptionMessage(String message) {
String startMatch = "it.integry.rules.Rule_";
String endMatch = "Eval";
if (isRuleException(message)) {
final String innerMessage = message;
String ruleName = innerMessage.substring(innerMessage.indexOf(startMatch) + startMatch.length(), innerMessage.indexOf(endMatch));
message += "\nRegola: " + ruleName;
}
return message;
}
private static boolean isIntegryException(String exceptionMessage) {
String startMatch = "it.integry.ems";
return exceptionMessage != null && exceptionMessage.startsWith(startMatch);
}
}

View File

@@ -136,7 +136,7 @@ public class UtilityFilter {
})
.collect(Collectors.joining(" " + logic + " "));
return "(" + sql + ")";
return UtilityString.hasContent(sql) ? "(" + sql + ")" : "1=1";
}
public static String processSort(SortDTO[] sort) {

View File

@@ -1,6 +1,8 @@
package it.integry.ems_model.utility;
import it.integry.ems.expansion.RunnableArgsWithReturn;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.resolver.SqlFieldHolder;
import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;
@@ -76,7 +78,7 @@ public class UtilityHashMap {
}
// Metodo ausiliario per conversioni di tipi
private static Object convertValue(Object value, Class<?> targetType) {
private static Object convertValue(Object value, Class<?> targetType) throws Exception {
if (targetType == int.class || targetType == Integer.class) {
return Integer.parseInt(value.toString());
} else if (targetType == long.class || targetType == Long.class) {
@@ -89,6 +91,11 @@ public class UtilityHashMap {
return Boolean.parseBoolean(value.toString());
} else if (targetType == String.class) {
return value.toString();
}else{
final RunnableArgsWithReturn<Object, Object> converter = SqlFieldHolder.getConverter(value.getClass(), targetType);
if( converter != null){
return converter.run(value);
}
}
return null; // Aggiungi altre conversioni se necessario
}

View File

@@ -0,0 +1,60 @@
package it.integry.ems_model.utility;
public class UtilityPassword {
/**
* Replica della funzione SQL Server dbo.sys_dcd_pss in Java 1.8.
*
* @param input stringa in ingresso (equivalente a @input VARCHAR(MAX))
* @return stringa "decrypted" (equivalente al RETURN VARCHAR(MAX))
*/
public static String sysDcdPss(String input) {
if (input == null || input.isEmpty()) {
return input;
}
// In SQL:
// DECLARE @decrypted AS VARCHAR(MAX)
// SELECT @decrypted = SUBSTRING(@input, 1, 1)
StringBuilder decrypted = new StringBuilder();
decrypted.append(input.charAt(0));
int minAscii = 0;
int maxAscii = 122;
// DECLARE @firstCharAscii AS INT = ASCII(@decrypted);
int firstCharAscii = (int) decrypted.charAt(0);
// In SQL l'indice @i parte da 0 e il WHILE usa DATALENGTH(@input)
// con caratteri 1-based: substring(@input, @i, 1).
// In Java useremo un for su index 1-based per aderire alla logica.
int dataLength = input.length(); // DATALENGTH per VARCHAR = numero di caratteri
int i = 0;
while (i < dataLength) {
i = i + 1;
// IF @i = 1 CONTINUE
if (i == 1) {
continue;
}
// substring(@input, @i, 1) -> input.charAt(i - 1) in Java (0-based)
int currentCharAscii = (int) input.charAt(i - 1);
if (currentCharAscii <= maxAscii) {
currentCharAscii = currentCharAscii - firstCharAscii;
if (currentCharAscii <= minAscii) {
currentCharAscii = currentCharAscii + maxAscii;
}
} else {
currentCharAscii = currentCharAscii - firstCharAscii;
}
decrypted.append((char) currentCharAscii);
}
return decrypted.toString();
}
}

View File

@@ -34,15 +34,7 @@ public class UtilityThread {
int finalI = i;
calls.add(() -> {
try {
return runnables.get(finalI).run();
} catch (Exception ex) {
logger.error("executeParallel", ex);
//if (rethrowError) throw ex;
}
return null;
return runnables.get(finalI).run();
});
}

View File

@@ -3,7 +3,6 @@ package it.integry.security.jwt;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.ExpiredJwtException;
import io.jsonwebtoken.Jwts;
import it.integry.common.var.CommonConstants;
import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.response.ServiceRestResponse;
@@ -77,7 +76,7 @@ public class JWTFilter extends GenericFilterBean {
UsernamePasswordAuthenticationToken authenticationToken = accessTokenProvider.getAuthentication(profileDb, token);
SecurityContextHolder.getContext().setAuthentication(authenticationToken);
logger.debug("Set Authentication to security context for '{}'.", authenticationToken.getName());
logger.trace("Set Authentication to security context for '{}'.", authenticationToken.getName());
}
} catch (Exception ex) {
handleException(ex, httpServletRequest, httpServletResponse);

File diff suppressed because one or more lines are too long

View File

@@ -62,22 +62,22 @@ then
modify ( $r ) { setCodAnag(codAnag) }
end
rule "completeFlagEsportatoSoggettoSian"
no-loop
when
eval(completeRulesEnabled)
$r : OltbSoggetti(operation != OperationType.DELETE && codAnag != null && codSoggetto != null && flagEsportato == null)
then
String sql =
"SELECT TOP 1 oltb_soggetti.flag_esportato " +
" FROM oltb_soggetti "+
" WHERE oltb_soggetti.cod_soggetto = " + UtilityDB.valueToString($r.getCodSoggetto()) +
" ORDER BY oltb_soggetti.flag_esportato DESC";
Boolean flagEsportato = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
flagEsportato = (flagEsportato==null?flagEsportato=false:flagEsportato);
modify ( $r ) {
setFlagEsportato(flagEsportato)
}
end
//rule "completeFlagEsportatoSoggettoSian"
//no-loop
//when
// eval(completeRulesEnabled)
// $r : OltbSoggetti(operation != OperationType.DELETE && codAnag != null && codSoggetto != null && flagEsportato == null)
//then
// String sql =
// "SELECT TOP 1 oltb_soggetti.flag_esportato " +
// " FROM oltb_soggetti "+
// " WHERE oltb_soggetti.cod_soggetto = " + UtilityDB.valueToString($r.getCodSoggetto()) +
// " ORDER BY oltb_soggetti.flag_esportato DESC";
//
// Boolean flagEsportato = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
// flagEsportato = (flagEsportato==null?flagEsportato=false:flagEsportato);
// modify ( $r ) {
// setFlagEsportato(flagEsportato)
// }
//end

View File

@@ -26,6 +26,10 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.http.ContentDisposition;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@@ -303,35 +307,28 @@ public class EmsEngineController {
return ServiceRestResponse.createPositiveResponse(orientations);
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_JTB_DISEGNI_FILES, method = RequestMethod.GET, produces = "application/octet-stream")
public byte[] downloadJtbDisegniFiles(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String codDisegno,
@RequestParam String fileName
) throws IOException {
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_JTB_DISEGNI_FILES, method = RequestMethod.GET)
public ResponseEntity<byte[]> downloadJtbDisegniFiles(@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String codDisegno,
@RequestParam String fileName
) throws Exception {
JtbDisegniFiles jtbDisegniFiles = emsEngineService.downloadJtbDisegniFiles(codDisegno, fileName);
try {
JtbDisegniFiles jtbDisegniFiles = emsEngineService.downloadJtbDisegniFiles(codDisegno, fileName);
if (jtbDisegniFiles == null) {
throw new Exception("Disegno non trovato!");
}
response.setContentType("application/octet-stream");
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
byte[] byteArr = Base64.decodeBase64(jtbDisegniFiles.getContent());
String z = new String(byteArr, StandardCharsets.UTF_8);
response.setContentLength(byteArr != null ? byteArr.length : 0);
return byteArr;
} catch (Exception e) {
response.sendError(404, "Allegato non trovato");
if (jtbDisegniFiles == null) {
return ResponseEntity.notFound().build();
}
byte[] byteArr = Base64.decodeBase64(jtbDisegniFiles.getContent());
return null;
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.contentLength(byteArr != null ? byteArr.length : 0)
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
.builder("attachment")
.filename(fileName)
.build()
.toString())
.body(byteArr);
}
}

View File

@@ -12,6 +12,9 @@ public class ActivityTypeDTO {
@SqlField(value = "flag_view_calendar")
private boolean flagViewCalendar;
@SqlField(value = "activity_default")
private boolean activityDefault;
public String getActivityTypeIdNext() {
return activityTypeIdNext;
}
@@ -38,4 +41,13 @@ public class ActivityTypeDTO {
this.flagViewCalendar = flagViewCalendar;
return this;
}
public boolean isActivityDefault() {
return activityDefault;
}
public ActivityTypeDTO setActivityDefault(boolean activityDefault) {
this.activityDefault = activityDefault;
return this;
}
}

View File

@@ -1206,9 +1206,13 @@ public class ActivityService {
}
public List<ActivityTypeDTO> getActivityType() throws Exception {
String sql = "SELECT DISTINCT activity_type_id, flag_tipologia\n" +
String sql = "SELECT DISTINCT srl_activity_type.activity_type_id, \n" +
"srl_activity_type.flag_tipologia,\n" +
"srl_activity_type_user.activity_default\n" +
"FROM srl_activity_type\n" +
"WHERE activity_type_id IN (SELECT srl_activity_type.activity_type_id\n" +
"inner join srl_activity_type_user on srl_activity_type_user.activity_type_id = srl_activity_type.activity_type_id and \n" +
" srl_activity_type_user.flag_tipologia = srl_activity_type.flag_tipologia\n" +
"WHERE srl_activity_type.activity_type_id IN (SELECT srl_activity_type.activity_type_id\n" +
" FROM srl_activity_type\n" +
" INNER JOIN stb_activity_type ON srl_activity_type.activity_type_id_next =\n" +
" stb_activity_type.activity_type_id\n" +
@@ -1222,7 +1226,8 @@ public class ActivityService {
" AND s.flag_attiva = 'S')\n" +
" GROUP BY srl_activity_type.activity_type_id, srl_activity_type.flag_tipologia\n" +
" HAVING COUNT(DISTINCT flag_tipologia_next) = 1) \n" +
" AND flag_tipologia_next = 'A'";
" AND flag_tipologia_next = 'A'\n" +
" and srl_activity_type_user.user_name = " + UtilityDB.valueToString(requestDataDTO.getUsername());
return UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, ActivityTypeDTO.class);
}

Some files were not shown because too many files have changed in this diff Show More