Ejemplo n.º 1
0
  @Override
  @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
  public BuckWaResponse update(BuckWaRequest request) {
    if (logger.isInfoEnabled()) {
      logger.info(this.getClass().toString() + "-update-");
    }
    BuckWaResponse response = new BuckWaResponse();
    try {
      Holiday holiday = (Holiday) request.get("holiday");

      response.setStatus(BuckWaConstants.FAIL);
      if (holiday.getHolidayName().length() < 1) {
        response.setErrorCode("E017");
      } else {
        Holiday oldHoliday = holidayDao.getHolidayById(holiday.getHolidayId());
        boolean isExist = holidayDao.isHolidayExist(holiday);
        boolean isSameYear = oldHoliday.getYearId().equals(holiday.getYearId());
        boolean isSameDate = oldHoliday.getHolidayDate().equals(holiday.getHolidayDate());
        boolean isSameDesc = oldHoliday.getHolidayDesc().equals(holiday.getHolidayDesc());
        boolean isSameName = oldHoliday.getHolidayName().equals(holiday.getHolidayName());
        boolean isSameEnable = oldHoliday.isEnable() == holiday.isEnable();

        boolean isDirty = !(isSameYear && isSameDate && isSameDesc && isSameEnable && isSameName);

        if (!isExist || isDirty) {
          holidayDao.update(holiday);
          response.setSuccessCode("S002");
          response.setStatus(BuckWaConstants.SUCCESS);
        } else {
          response.setErrorCode("E002");
        }
      }
    } catch (Exception ex) {
      ex.printStackTrace();
      response.setStatus(BuckWaConstants.FAIL);
      response.setErrorCode("E001");
    }

    return response;
  }