private void populateRecordBrowser() { form.recbrSentToXRay().clear(); SentToXrayVoCollection collSentToXRay = domain.getAllSentToXRay(form.getGlobalContext().Core.getCurrentCareContext()); if (collSentToXRay == null) { return; } for (int i = 0; i < collSentToXRay.size(); i++) { SentToXrayVo sentToXRay = collSentToXRay.get(i); StringBuffer string = new StringBuffer(); if (sentToXRay.getSentDateTimeIsNotNull()) { string.append("Sent on: " + sentToXRay.getSentDateTime()); } if (sentToXRay.getSentByIsNotNull()) { string.append(" - " + sentToXRay.getSentBy().getName()); } if (sentToXRay.getReturnedDateTimeIsNotNull()) { string.append(" - Returned on: " + sentToXRay.getReturnedDateTime()); } form.recbrSentToXRay().newRow(sentToXRay, string.toString()); } if (collSentToXRay.size() > 0 && form.getLocalContext().getselectedSendToXRay() == null) { form.getLocalContext().setselectedSendToXRay(collSentToXRay.get(0)); } form.recbrSentToXRay().setValue(form.getLocalContext().getselectedSendToXRay()); populateInstanceControls(form.getLocalContext().getselectedSendToXRay()); }
private boolean save() { // WDEV-17251 SentToXrayVo XRayClone = (form.getLocalContext().getselectedSendToXRay() != null ? (SentToXrayVo) form.getLocalContext().getselectedSendToXRay().clone() : null); SentToXrayVo sentToXRayToSave = populateInstanceDataFromScreen(XRayClone); String[] errors = sentToXRayToSave.validate(getUIErrors()); // WDEV-15334 if (errors != null && errors.length > 0) { engine.showErrors(errors); return false; } // Check SOE if (sentToXRayToSave.getID_SentToXrayIsNotNull() && domain.isStale(sentToXRayToSave)) { engine.showMessage(ConfigFlag.UI.STALE_OBJECT_MESSAGE.getValue()); if (form.getLocalContext().getselectedSendToXRayIsNotNull()) { form.getLocalContext() .setselectedSendToXRay( domain.getSentToXRay(form.getLocalContext().getselectedSendToXRay())); } if (form.getLocalContext().getcurrentTracking() != null) { form.getLocalContext() .setcurrentTracking(domain.getTracking(form.getLocalContext().getcurrentTracking())); } open(); return false; } TrackingForSendToXRayVo trackingToSave = null; if (form.getLocalContext().getcurrentTracking().getCurrentAreaIsNotNull() && !Boolean.TRUE.equals(form.getLocalContext().getcurrentTracking().getIsDischarged())) { trackingToSave = form.getLocalContext().getcurrentTracking(); // WDEV-17251 if (sentToXRayToSave.getReturnedDateTime() == null && (sentToXRayToSave.getID_SentToXray() == null || form.getLocalContext().getselectedSendToXRay() != null && form.getLocalContext().getselectedSendToXRay().getReturnedDateTime() != null)) { TrackingAttendanceStatusVo trackingStatusToSave = populateTrackingAttendanceStatus(ims.emergency.vo.lookups.TrackingStatus.SENT_TO_XRAY); trackingToSave.setIsCurrentlyInXray(true); trackingToSave.setCurrentStatus(trackingStatusToSave); } else if (sentToXRayToSave.getReturnedDateTimeIsNotNull()) { trackingToSave.setIsCurrentlyInXray(false); if (form.cmbSetCurrentStatus().getValue() != null) { TrackingAttendanceStatusVo trackingStatusToSave = populateTrackingAttendanceStatus(form.cmbSetCurrentStatus().getValue()); trackingToSave.setCurrentStatus(trackingStatusToSave); } } } try { if (trackingToSave != null) { String[] errors1 = trackingToSave.validate(); if (errors1 != null && errors1.length > 0) { engine.showErrors(errors1); return false; } form.getLocalContext().setselectedSendToXRay(domain.save(sentToXRayToSave, trackingToSave)); form.getLocalContext().setcurrentTracking(domain.getTracking(trackingToSave)); } else { if (!domain.isMostRecentRecordReturned( form.getGlobalContext().Core.getCurrentCareContext())) { engine.showMessage( "You cannot create a new record Send To XRay if the most recent record is not marked as returned!"); open(); return false; } form.getLocalContext().setselectedSendToXRay(domain.save(sentToXRayToSave, null)); } } catch (StaleObjectException e) { engine.showMessage(ConfigFlag.UI.STALE_OBJECT_MESSAGE.getValue()); if (form.getLocalContext().getselectedSendToXRay() != null) { form.getLocalContext() .setselectedSendToXRay( domain.getSentToXRay(form.getLocalContext().getselectedSendToXRay())); } if (trackingToSave != null) { form.getLocalContext().setcurrentTracking(domain.getTracking(trackingToSave)); } open(); return false; } return true; }