package com.takensoft.cms.menu.vo; import lombok.*; /** * @author : takensoft * @since : 2024.04.08 * @modification * since | author | description * 2024.04.08 | takensoft | 최초 등록 * 2025.03.13 | 방선주 | 코드 리펙토링 * 2025.04.23 | 하석형 | 파일명 변경 * * 메뉴별 만족도 관련 VO */ @Builder @Setter @Getter @NoArgsConstructor @AllArgsConstructor public class MenuDgstfnVO { private String menuDgstfnId; // 메뉴별 만족도 아이디 private String menuId; // 메뉴 아이디 private String rspnsFive; // 응답 5(N: 미체크, Y: 체크) private String rspnsFour; // 응답 4(N: 미체크, Y: 체크) private String rspnsThree; // 응답 3(N: 미체크, Y: 체크) private String rspnsTwo; // 응답 2(N: 미체크, Y: 체크) private String rspnsOne; // 응답 1(N: 미체크, Y: 체크) private String opnn; // 의견 private String regIp; // 등록 아이피 private String rgtr; // 등록자 private String regDt; // 등록일 private String menuNm; // 메뉴 명 private String rspnsTotCnt; // 응답 총 개수 private String rspnsFiveCnt; // 응답 5 개수 private String rspnsFourCnt; // 응답 4 개수 private String rspnsThreeCnt; // 응답 3 개수 private String rspnsTwoCnt; // 응답 2 개수 private String rspnsOneCnt; // 응답 1 개수 private String avrgRspnsScore; // 응답 점수 평균 // 응답 점수 평균 계산 public void calculateAverage() { try { int five = Integer.parseInt(rspnsFiveCnt); int four = Integer.parseInt(rspnsFourCnt); int three = Integer.parseInt(rspnsThreeCnt); int two = Integer.parseInt(rspnsTwoCnt); int one = Integer.parseInt(rspnsOneCnt); int totalScore = (five * 5) + (four * 4) + (three * 3) + (two * 2) + (one * 1); int totalCount = one + two + three + four + five; this.rspnsTotCnt = String.valueOf(totalCount); this.avrgRspnsScore = totalCount == 0 ? "0.00" : String.format("%.2f", (double) totalScore / totalCount); } catch (Exception e) { this.avrgRspnsScore = "0.00"; } } }