def dataSource
long id
+ int version
String nom
Date dateDemande
Date dateDebutExecutionTraitement
if (dateFinExecutionTraitement) {
tsdateFinExecution = new Timestamp(dateFinExecutionTraitement.getTime())
}
- sql.executeUpdate("""
+
+ int nbRows = sql.executeUpdate(
+ """
update entdemon.demande_traitement
set
- statut = ${statut.name()} ,
- date_annulation_execution_traitement = $tsdateAnnulationExecution ,
- date_debut_execution_traitement = $tsdateDebutExecution ,
- date_fin_execution_traitement = $tsdateFinExecution ,
- traitement_rapport = $traitementRapport
- where id= $id
- """)
+ statut = ?,
+ date_annulation_execution_traitement = ?,
+ date_debut_execution_traitement = ?,
+ date_fin_execution_traitement = ?,
+ traitement_rapport = ?,
+ version = ?
+ where id = ?
+ and version = ?
+ """,
+ [
+ statut.name(),
+ tsdateAnnulationExecution,
+ tsdateDebutExecution,
+ tsdateFinExecution,
+ traitementRapport,
+ version + 1,
+ id,
+ version
+ ]
+ )
+
+ if (nbRows == 0) {
+ throw new DemandeTraitementLockingException(this)
+ }
+
+ version++
+
sql.close()
}
}
}
+
+ String toString() {
+ return "DefaultDemandeTraitement{id = $id, type = $traitementType}"
+ }
}