Журналы являются происходящим исключением [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Журналы являются происходящим исключением [закрыто]

Сообщение Anonymous »

@Override @Transactional PublicAndAndAndingto Markatdence (witisancemarkdto dto) {log.info ("Маркировка посещаемости. Input: {}", DTO); Пользователи user = AuthenticationFilter.getUSEROBJ (); if (user == null) {log.error («Пользователь не аутентифицирован»); Бросьте новое работоспособное emporteeEnotFoundException («Пользователь не аутентифицирован»); } log.info ("Аутентификация успешно для пользователя: {}", user.getemail ()); if (dto.getIntime () == null && dto.getOuttime () == null) {log.warn ("Неверный ввод: должно быть предоставлено время или время вне времени, но оба являются нулевыми."); Бросьте новое InvalidinpparameterException («должно быть предоставлено либо время, либо время.»); } Localdate сегодня = localdate.now (); Branch Branch = BranchRepository.findbyId (user.getBranch (). GetBranchId ()). OrelSethrow (() -> {log.Error («ветвь не найден для id: {}», user.getBranch (). GetBranchId ()); вернуть новое runTimeExcept ("Branch не найден");); log.info ("Branch Resolved: {} - {}", branch.getbranchid (), branch.getbranchname ()); log.debug ("Извлечение или создание записи посещаемости для {} on {}", user.getemail (), сегодня); Посещаемость посещаемости = посещаемость. Посещаемость.builder (). FirstName (user.getFirstName ()). LastName (user.getLastName ()) .email (user.getemail ()). Contact (user.getContact ()) ArrayList ()). Build (); посещаемость = withipancerepository.save (посещаемость); log.debug ("Запись посещаемости сохранялась с id: {}", посещаемость.getattendanceid ()); Список inoutlog = посещаемость.getinoutlog (); if (dto.getIntime ()! = null) {log.info ("Время регистрации в {} для user {} на местоположении: {}", dto.getIntime (), user.getemail (), dto.getlocation ()); Inouttime inlog = inouttime.builder (). Intime (dto.getintime ()). Location (dto.getlocation ()). Привлечение (посещаемость) .build (); inouttimerePository.save (Inlog); inoutlog.add (Inlog); log.debug («Верно сохранилось успешно: {}», Inlog); } else if (dto.getOuttime ()! = null) {log.info ("Попытка выйти за время выхода на {} для user {}", dto.getOuttime (), user.getemail ()); if (inoutlog.isempty ()) {log.warn ("Невозможно отметить время для {}-нет ворот сегодня.", user.getemail ()); Бросьте новое InvalidinpparameterException («Время должно быть зарегистрировано до времени».); } Inouttime lastinout = inoutlog.get (inoutlog.size () - 1); if (lastinout.getOuttime ()! = null) {log.warn ("Duplicate Time Outcovered. Бросьте новый инвалидинпутный параметрический фактор («предыдущее время выхода уже отмечено. Пожалуйста, сначала войдите в новую вовремя.»); } if (lastinout.getLocation ()! = null && dto.getLocation ()! = null &&! lastinout.getLocation (). Бросьте новое InvalidinpparameterException («несоответствие местоположения между временем и временем».); } if (dto.getOuttime (). isbefore (lastinout.getIntime ())) {log.warn ("Неверное время времени: out-time {} IS перед временем {}", dto.getOuttime (), lastinout.getIntime ()); Бросьте новое Invalidinpparameterexception («Время вне времени не может быть раньше».); } lastinout.setOuttime (dto.getOuttime ()); Lastinout.SetLocation (dto.getLocation ()); inouttimerePository.save (Lastinout); log.debug ("Время выхода успешно сохранилось для пользователя {}: {}", user.getemail (), lastinout); } log.debug («Расчеты работы и продолжительность разрыва ...»); Продолжительность TOTYWORDWORDUREGURATURE = продолжительность. Продолжительность общего нарушения = продолжительность. логический hasvalidouttime = false; for (int i = 0; i log.getIntime ()! = Null) .Sorted (Comparator.comParing (inouttime :: getIntime)). Map (inouttime :: getLocation) .findFirst (); log.info ("посещаемость отмечена успешно для пользователя: {}", user.getemail ()); return vitivencedto.builder (). withitanceid (saved.getattendanceid ()) .fullname (saved.getfirstname () + "" + saved.getlastname ()). jobrole (saved.getjobrole ()). Attendancendate (saved.getAttendancendate ()). .location (firstintimelocation.orelse (null)). totaltime (saved.getTotaltime ()). Intime (FirstIntime) .outtime (fastoutTime) .build (); } < /p>
В этом коде метода, пожалуйста, проверьте, как происходит ошибка преобразования ToString, и, пожалуйста, измените журналы для журналов, связанных с преобразованием строки < /p>
2M2025-06-08T16:40:37.879+05:30. [35M84168 [0; 39M [2M --- [0; 39M [2M [NIO-8080-EXEC-4] [0; 39M [36MC.T.S.S.Impl.AtendanceServiceImpl [0; 39M [2M: [0; 39M пытается запустить время в 17:50 для пользователя Супердадмин. ToString () вызов на объект типа [com.technosignia.sys.entity.inouttime]
сообщил об исключении:
Java.lang.stackflowerror
in java.base /java.lang.abstractstringbuilder.putStringat (AbstractStringBuilder.java.1720). java.base /java.lang.abstractstringbuilder.putStringat (AbstractStringBuilder.java:1724)
at java.base /java.lang.abstractstringbuilder.append (AbstractStringBuilder.java:583)
att java.base/java.lang.stringbuilder.append (stringbuilder.java:179)
at java.base/java.time.localtime.toString (localtim /> at com.technosignia.sys.entity.inouttime.tostring (inouttime.java:44) < /p>
Решите этот erro < /p>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -exception

Вернуться в «JAVA»