Bonjour,
je travaille actuellement sur un projet de gestion de prêt en j2ee, et j'ai un problème avec la modification d'un champs en base de données:
quand mon produit revient de prêt et mauvais état je l'envoie en réparation et voici ce que mon code fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public void assignLoanEntryToRepair(int loanEntryId, String assignBy) { LoanEntryEntity loanEntryEntity = em.find(LoanEntryEntity.class, loanEntryId); if (loanEntryEntity == null) throw new NullPointerException("product"); returnProduct(assignBy, loanEntryEntity); List<InputRequestEntity> inputRequests = loanEntryEntity.getProduct().getInputRequest(); inputRequests.get(inputRequests.size() - 1).setDoit(false); loanEntryEntity.setRepair(true); }Et lorsque le produit est réparé on le sort de réparation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 private void returnProduct(String returnBy, LoanEntryEntity loanEntryEntity) { final ProductEntity product = loanEntryEntity.getProduct(); em.lock(product, LockModeType.WRITE); if (product.isValidationLock()) return; loanEntryEntity.setReturned(true); InputRequestEntity inputRequest = new InputRequestEntity(); inputRequest.setProduct(product); inputRequest.setDoit(true); em.persist(inputRequest); em.flush(); product.getInputRequest().add(inputRequest); }
J'ai un problème avec ma sortie de réparation (OutOfRepair), lors de ma sortie de réparation le champs "doit" en base ne prends pas la valeur "true" (setDoit="true") et je ne comprends pas ce qui se passe , surtout que lorsque mon produit est réparé en moins de 2h et donc est sorti de l'état "repair", le champs doit prend bien la valeur "true" mais quelques heures après lors de la sortie il ne prend plus cette valeur "true".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void outOfRepair(int loanEntryId, String author) { LoanEntryEntity loanEntryEntity = em.find(LoanEntryEntity.class, loanEntryId); if (loanEntryEntity == null) throw new NullPointerException("product"); ProductEntity product = loanEntryEntity.getProduct(); em.lock(product, LockModeType.READ); if (product.isValidationLock()) return; List<InputRequestEntity> inputRequests = product.getInputRequest(); inputRequests.get(inputRequests.size() - 1).setDoit(true); loanEntryEntity.setRepair(false); }
Merci pour vos éclairages.
Partager