public Order update(Order entity) { if (entity.getStatus().equals(ORDER_STATUS_ACTIVE)) { if (entity.getSubscriber().getId() != 0) { orderDao.find(entity.getId()).getSubscriber().setInTrip(false); entity.getSubscriber().setInTrip(true); } orderDao.find(entity.getId()).getDriver().setInTrip(false); entity.getDriver().setInTrip(true); } entity.setDeparturePoint(entity.getDeparturePoint().trim()); entity.setDestinationPoint(entity.getDestinationPoint().trim()); if (entity.getNotes() != null) { entity.setNotes(entity.getNotes().trim()); } else { entity.setNotes(null); } entity.setCash(entity.getTotal().subtract(entity.getBonus())); entity.setOperator(operatorService.getCurrentOperator()); return orderDao.update(entity); }