학습 소요시간 로직 수정

This commit is contained in:
2026-05-19 14:55:49 +09:00
parent e4851b1153
commit b85f920f40
2 changed files with 33 additions and 6 deletions

View File

@@ -33,6 +33,8 @@ public class ModelTrainDetailDto {
private String modelNo; private String modelNo;
private String modelVer; private String modelVer;
@JsonFormatDttm private ZonedDateTime step1StrtDttm; @JsonFormatDttm private ZonedDateTime step1StrtDttm;
@JsonFormatDttm private ZonedDateTime step1EndDttm;
@JsonFormatDttm private ZonedDateTime step2StrtDttm;
@JsonFormatDttm private ZonedDateTime step2EndDttm; @JsonFormatDttm private ZonedDateTime step2EndDttm;
private String statusCd; private String statusCd;
private String trainType; private String trainType;
@@ -61,11 +63,7 @@ public class ModelTrainDetailDto {
} }
private String formatDuration(ZonedDateTime start, ZonedDateTime end) { private String formatDuration(ZonedDateTime start, ZonedDateTime end) {
if (end == null) { if (start == null || end == null) {
end = ZonedDateTime.now();
}
if (start == null) {
return null; return null;
} }
@@ -83,7 +81,34 @@ public class ModelTrainDetailDto {
} }
public String getStepAllDuration() { public String getStepAllDuration() {
return formatDuration(this.step1StrtDttm, this.step2EndDttm); if (this.step2EndDttm != null) {
// step1 + step2 실제 소요시간 합산
long step1Seconds = 0;
long step2Seconds = 0;
if (this.step1StrtDttm != null && this.step1EndDttm != null) {
step1Seconds =
Math.abs(Duration.between(this.step1StrtDttm, this.step1EndDttm).getSeconds());
}
if (this.step2StrtDttm != null && this.step2EndDttm != null) {
step2Seconds =
Math.abs(Duration.between(this.step2StrtDttm, this.step2EndDttm).getSeconds());
}
long totalSeconds = step1Seconds + step2Seconds;
long hours = totalSeconds / 3600;
long minutes = (totalSeconds % 3600) / 60;
long seconds = totalSeconds % 60;
if (HeaderUtil.isEnglishRequest()) {
return String.format("%dh %dm %ds", hours, minutes, seconds);
} else {
return String.format("%d시간 %d분 %d초", hours, minutes, seconds);
}
} else {
// step2 없으면 step1만
return formatDuration(this.step1StrtDttm, this.step1EndDttm);
}
} }
} }

View File

@@ -80,6 +80,8 @@ public class ModelDetailRepositoryImpl implements ModelDetailRepositoryCustom {
modelMasterEntity.modelNo, modelMasterEntity.modelNo,
modelMasterEntity.modelVer, modelMasterEntity.modelVer,
modelMasterEntity.step1StrtDttm, modelMasterEntity.step1StrtDttm,
modelMasterEntity.step1EndDttm,
modelMasterEntity.step2StrtDttm,
modelMasterEntity.step2EndDttm, modelMasterEntity.step2EndDttm,
modelMasterEntity.statusCd, modelMasterEntity.statusCd,
modelMasterEntity.trainType, modelMasterEntity.trainType,