====== rm29724 DA-Erstellung nicht möglich trotz DA im Status CANCELLED ====== [[https://cust-projects.seeburger.de/redmine/issues/29724|rm29724 DA-Erstellung nicht möglich trotz DA im Status CANCELLED]] ===== Description ===== ... ==== Mit eigenen Worten ==== ... ===== Analysis ===== ==== Versionen ==== === ASNDAOImpl === ASNDAOImpl.java:498 (in createASNModel()) asnModel.setDespatchStatus(ASNModel.ASN_STATUS.values()[rs.getInt("cDespatchStatus")]); Hier kann passieren, dass: * die Daten in der DB durch ein anderes Statement manipuliert werden * die Indizes von Version zu Version geändert wurden (**eher unwahrscheinlich**) ==== Test DAs ==== * rm29724_001 * -> Cancel UE * => UE.status = CANCELLED, DA = CANCELLED, PO = OPEN * rm29724_002 ===== Misc Ideas ===== * Für ''UEModel.setStatus(UEModel.UE_STATUS.CANCELLED)'' kann mit hoher Wahrscheinlichkeit nur eine Stelle im Code verantwortlich sein: * ''ASNModelFactory.cancelCompleteASN()'' (Zeile 557) * Ein Indiz dafür ist, dass an der gleichen Stelle auch UENumber auf "" (leer) gesetzt wird * Das zweite Indiz dafür ist, dass die Methode ''UEDataActionScreen.cancelUEInUpdateMode( request, asnId )'' die ASN aus der Session zieht * Das dritte Indiz dafür ist, dass die o.g. Methode beim DA-Update ausgeführt wird. D.h. nach dem Unlock. Das hat die Saskia vermutet. * Ein Indiz dagegen sind aber die verschiedenen Zeitstempel in der History für UENumber- und UEStatus-Änderungen * Für ''UEModel.setStatus(UEModel.UE_STATUS.SENT)'' können 2 Stellen im Code verantwortlich sein: * ''ASNStatusModel.recalculateASNStatusBottomUp()'' * In diesem Fall gibt es folgende Möglichkeiten: * ''recalculateASNStatusBottomUp()'' funktioniert nicht richtig * ''recalculateASNStatusBottomUp()'' bekommt nicht die richtigen ''List ueNumbers'' im Parameter * ? * ''ASNStatusModel.updateASNStatusToSent()'' * Für manche Operationen das ASNModel wird aus der Session geholt. Vielleicht führt das zu dem Problem?