--- src/main/java/com/takensoft/cms/menu/dao/MenuDAO.java
+++ src/main/java/com/takensoft/cms/menu/dao/MenuDAO.java
... | ... | @@ -1,8 +1,6 @@ |
1 | 1 |
package com.takensoft.cms.menu.dao; |
2 | 2 |
|
3 |
-import com.takensoft.cms.author.vo.AuthorVO; |
|
4 | 3 |
import com.takensoft.cms.contsType.vo.ContsTypeVO; |
5 |
-import com.takensoft.cms.dept.vo.DeptVO; |
|
6 | 4 |
import com.takensoft.cms.menu.vo.*; |
7 | 5 |
import com.takensoft.common.HierachyVO; |
8 | 6 |
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; |
... | ... | @@ -27,6 +25,7 @@ |
27 | 25 |
* 2024.06.07 | 방선주 | bbsMngMenuDelete 추가 |
28 | 26 |
* 2024.07.18 | 박정하 | findAllCnt 추가 |
29 | 27 |
* 2025.03.13 | 방선주 | 코드 리펙토링 |
28 |
+ * 2025.04.23 | 하석형 | saveMenuStsfdg 삭제 |
|
30 | 29 |
* |
31 | 30 |
* 메뉴 정보 관련 DAO |
32 | 31 |
*/ |
... | ... | @@ -95,14 +94,6 @@ |
95 | 94 |
* 메뉴 순서 조회 |
96 | 95 |
*/ |
97 | 96 |
int findByMenuSn(String upMenuId); |
98 |
- |
|
99 |
- /** |
|
100 |
- * @param menuStsfdgVO - 메뉴 만족도 정보 |
|
101 |
- * @return int - 등록 성공 여부 |
|
102 |
- * |
|
103 |
- * 메뉴별 만족도 등록 |
|
104 |
- */ |
|
105 |
- int saveMenuStsfdg(MenuStsfdgVO menuStsfdgVO); |
|
106 | 97 |
|
107 | 98 |
/************************************** Hierachy 전용 **************************************/ |
108 | 99 |
|
src/main/java/com/takensoft/cms/menu/dao/MenuDgstfnDAO.java (added)
+++ src/main/java/com/takensoft/cms/menu/dao/MenuDgstfnDAO.java
... | ... | @@ -0,0 +1,45 @@ |
1 | +package com.takensoft.cms.menu.dao; | |
2 | + | |
3 | +import com.takensoft.cms.author.vo.AuthorVO; | |
4 | +import com.takensoft.cms.menu.vo.MenuAuthorVO; | |
5 | +import com.takensoft.cms.menu.vo.MenuDgstfnVO; | |
6 | +import org.egovframe.rte.psl.dataaccess.mapper.Mapper; | |
7 | + | |
8 | +import java.util.HashMap; | |
9 | +import java.util.List; | |
10 | + | |
11 | +/** | |
12 | + * @author : 하석형 | |
13 | + * @since : 2025.04.23 | |
14 | + * @modification | |
15 | + * since | author | description | |
16 | + * 2025.04.23 | 하석형 | 최초 등록 | |
17 | + * | |
18 | + * 메뉴별 만족도 관련 DAO | |
19 | + */ | |
20 | +@Mapper("menuDgstfnDAO") | |
21 | +public interface MenuDgstfnDAO { | |
22 | + /** | |
23 | + * @param | |
24 | + * @return List<MenuDgstfnVO> - 메뉴 만족도 목록 | |
25 | + * | |
26 | + * 메뉴 만족도 목록 조회 | |
27 | + */ | |
28 | + List<MenuDgstfnVO> findAllMenuDgstfn(); | |
29 | + | |
30 | + /** | |
31 | + * @param menuDgstfnVO - 메뉴 만족도 정보 | |
32 | + * @return List<MenuDgstfnVO> - 메뉴별 만족도 목록 | |
33 | + * | |
34 | + * 메뉴별 만족도 목록 조회 | |
35 | + */ | |
36 | + List<MenuDgstfnVO> findAllMenuDgstfnByMenuId(MenuDgstfnVO menuDgstfnVO); | |
37 | + | |
38 | + /** | |
39 | + * @param menuDgstfnVO - 메뉴 만족도 정보 | |
40 | + * @return int - 등록 결과 | |
41 | + * | |
42 | + * 메뉴별 만족도 등록 | |
43 | + */ | |
44 | + int saveMenuDgstfn(MenuDgstfnVO menuDgstfnVO); | |
45 | +}(파일 끝에 줄바꿈 문자 없음) |
src/main/java/com/takensoft/cms/menu/service/Impl/MenuDgstfnServiceImpl.java (added)
+++ src/main/java/com/takensoft/cms/menu/service/Impl/MenuDgstfnServiceImpl.java
... | ... | @@ -0,0 +1,125 @@ |
1 | +package com.takensoft.cms.menu.service.Impl; | |
2 | + | |
3 | +import com.takensoft.cms.author.dao.AuthorDAO; | |
4 | +import com.takensoft.cms.author.vo.AuthorVO; | |
5 | +import com.takensoft.cms.menu.dao.MenuAuthorDAO; | |
6 | +import com.takensoft.cms.menu.dao.MenuDAO; | |
7 | +import com.takensoft.cms.menu.dao.MenuDgstfnDAO; | |
8 | +import com.takensoft.cms.menu.service.MenuAuthorService; | |
9 | +import com.takensoft.cms.menu.service.MenuDgstfnService; | |
10 | +import com.takensoft.cms.menu.vo.MenuAuthorVO; | |
11 | +import com.takensoft.cms.menu.vo.MenuDgstfnVO; | |
12 | +import com.takensoft.cms.menu.vo.MenuVO; | |
13 | +import com.takensoft.common.exception.CustomInsertFailException; | |
14 | +import com.takensoft.common.exception.CustomNoChangeException; | |
15 | +import com.takensoft.common.exception.CustomNotFoundException; | |
16 | +import com.takensoft.common.exception.CustomUpdateFailException; | |
17 | +import com.takensoft.common.idgen.service.IdgenService; | |
18 | +import com.takensoft.common.util.JWTUtil; | |
19 | +import lombok.RequiredArgsConstructor; | |
20 | +import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
21 | +import org.springframework.cache.annotation.CacheEvict; | |
22 | +import org.springframework.dao.DataAccessException; | |
23 | +import org.springframework.stereotype.Service; | |
24 | +import org.springframework.transaction.annotation.Transactional; | |
25 | + | |
26 | +import java.util.*; | |
27 | + | |
28 | +/** | |
29 | + * @author : 하석형 | |
30 | + * @since : 2025.04.23 | |
31 | + * @modification | |
32 | + * since | author | description | |
33 | + * 2025.04.23 | 하석형 | 최초 등록 | |
34 | + * | |
35 | + * EgovAbstractServiceImpl - 전자정부 프레임워크에서 제공하는 추상 서비스 구현 클래스 | |
36 | + * MenuDgstfnService - 메뉴별 만족도 서비스 인터페이스 | |
37 | + * | |
38 | + * 메뉴별 만족도 관련 DAO | |
39 | + */ | |
40 | +@Service("menuDgstfnServiceImpl") | |
41 | +@RequiredArgsConstructor | |
42 | +public class MenuDgstfnServiceImpl extends EgovAbstractServiceImpl implements MenuDgstfnService { | |
43 | + | |
44 | + private final IdgenService menuDgstfnIdgn; | |
45 | + private final MenuDgstfnDAO menuDgstfnDAO; | |
46 | + private final JWTUtil jwtUtil; | |
47 | + | |
48 | + /** | |
49 | + * @param | |
50 | + * @return List<MenuDgstfnVO> - 메뉴 만족도 목록 | |
51 | + * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 | |
52 | + * @throws Exception - 그 외 예외 발생 시 | |
53 | + * | |
54 | + * 메뉴 만족도 목록 조회 | |
55 | + */ | |
56 | + @Override | |
57 | + public List<MenuDgstfnVO> findAllMenuDgstfn() { | |
58 | + try { | |
59 | + List<MenuDgstfnVO> result = menuDgstfnDAO.findAllMenuDgstfn(); | |
60 | + result.forEach(MenuDgstfnVO::calculateAverage); // 메뉴별 응답 점수 평균 계산 | |
61 | + return result; | |
62 | + } catch (DataAccessException dae) { | |
63 | + throw dae; | |
64 | + } catch (Exception e) { | |
65 | + throw e; | |
66 | + } | |
67 | + } | |
68 | + | |
69 | + /** | |
70 | + * @param menuDgstfnVO - 메뉴 만족도 정보 | |
71 | + * @return List<MenuDgstfnVO> - 메뉴별 만족도 목록 | |
72 | + * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 | |
73 | + * @throws Exception - 그 외 예외 발생 시 | |
74 | + * | |
75 | + * 메뉴 만족도 목록 조회 | |
76 | + */ | |
77 | + @Override | |
78 | + public List<MenuDgstfnVO> findAllMenuDgstfnByMenuId(MenuDgstfnVO menuDgstfnVO) { | |
79 | + try { | |
80 | + List<MenuDgstfnVO> result = menuDgstfnDAO.findAllMenuDgstfnByMenuId(menuDgstfnVO); | |
81 | + return result; | |
82 | + } catch (DataAccessException dae) { | |
83 | + throw dae; | |
84 | + } catch (Exception e) { | |
85 | + throw e; | |
86 | + } | |
87 | + } | |
88 | + | |
89 | + /** | |
90 | + * @param menuDgstfnVO - 메뉴 만족도 정보 | |
91 | + * @return int - 등록 결과 | |
92 | + * @throws CustomInsertFailException - 등록 실패 예외 발생 시 | |
93 | + * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 | |
94 | + * @throws Exception - 그 외 예외 발생 시 | |
95 | + * | |
96 | + * 메뉴별 만족도 등록 | |
97 | + */ | |
98 | + @Override | |
99 | + @Transactional(rollbackFor = Exception.class) | |
100 | + public int saveMenuDgstfn(MenuDgstfnVO menuDgstfnVO) { | |
101 | + int result = 0; | |
102 | + try { | |
103 | + // 메뉴별 만족도 아이디 생성 | |
104 | + String menuDgstfnId = menuDgstfnIdgn.getNextStringId(); | |
105 | + menuDgstfnVO.setMenuDgstfnId(menuDgstfnId); | |
106 | + | |
107 | + // 등록된 토큰에서 사용자 정보 조회 | |
108 | + String writer = jwtUtil.getWriter(); | |
109 | + if (writer == null || writer.isEmpty()) { | |
110 | + throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다."); | |
111 | + } | |
112 | + menuDgstfnVO.setRgtr(writer); | |
113 | + | |
114 | + result = menuDgstfnDAO.saveMenuDgstfn(menuDgstfnVO); | |
115 | + if (result == 0) { | |
116 | + throw new CustomInsertFailException("메뉴별 만족도 등록에 실패헸습니다."); | |
117 | + } | |
118 | + return result; | |
119 | + } catch (DataAccessException dae) { | |
120 | + throw dae; | |
121 | + } catch (Exception e) { | |
122 | + throw e; | |
123 | + } | |
124 | + } | |
125 | +}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/menu/service/Impl/MenuServiceImpl.java
+++ src/main/java/com/takensoft/cms/menu/service/Impl/MenuServiceImpl.java
... | ... | @@ -44,7 +44,7 @@ |
44 | 44 |
* EgovAbstractServiceImpl - 전자정부 프레임워크에서 제공하는 추상 서비스 구현 클래스 |
45 | 45 |
* MenuService - 메뉴 정보 인터페이스 상속 |
46 | 46 |
* |
47 |
- * 팝업 관련 서비스 구현체 |
|
47 |
+ * 메뉴 관련 서비스 구현체 |
|
48 | 48 |
*/ |
49 | 49 |
|
50 | 50 |
@Service("menuService") |
src/main/java/com/takensoft/cms/menu/service/MenuDgstfnService.java (added)
+++ src/main/java/com/takensoft/cms/menu/service/MenuDgstfnService.java
... | ... | @@ -0,0 +1,42 @@ |
1 | +package com.takensoft.cms.menu.service; | |
2 | + | |
3 | +import com.takensoft.cms.author.vo.AuthorVO; | |
4 | +import com.takensoft.cms.menu.vo.MenuDgstfnVO; | |
5 | + | |
6 | +import java.util.HashMap; | |
7 | +import java.util.List; | |
8 | + | |
9 | +/** | |
10 | + * @author : 하석형 | |
11 | + * @since : 2025.04.23 | |
12 | + * @modification | |
13 | + * since | author | description | |
14 | + * 2025.04.23 | 하석형 | 최초 등록 | |
15 | + * | |
16 | + * 메뉴별 만족도 관련 인터페이스 | |
17 | + */ | |
18 | +public interface MenuDgstfnService { | |
19 | + /** | |
20 | + * @param | |
21 | + * @return List<MenuDgstfnVO> - 메뉴 만족도 목록 | |
22 | + * | |
23 | + * 메뉴 만족도 목록 조회 | |
24 | + */ | |
25 | + List<MenuDgstfnVO> findAllMenuDgstfn(); | |
26 | + | |
27 | + /** | |
28 | + * @param menuDgstfnVO - 메뉴 만족도 정보 | |
29 | + * @return List<MenuDgstfnVO> - 메뉴별 만족도 목록 | |
30 | + * | |
31 | + * 메뉴별 만족도 목록 조회 | |
32 | + */ | |
33 | + List<MenuDgstfnVO> findAllMenuDgstfnByMenuId(MenuDgstfnVO menuDgstfnVO); | |
34 | + | |
35 | + /** | |
36 | + * @param menuDgstfnVO - 메뉴 만족도 정보 | |
37 | + * @return int - 등록 결과 | |
38 | + * | |
39 | + * 메뉴별 만족도 등록 | |
40 | + */ | |
41 | + int saveMenuDgstfn(MenuDgstfnVO menuDgstfnVO); | |
42 | +}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/menu/service/MenuService.java
+++ src/main/java/com/takensoft/cms/menu/service/MenuService.java
... | ... | @@ -1,14 +1,10 @@ |
1 | 1 |
package com.takensoft.cms.menu.service; |
2 | 2 |
|
3 |
-import com.takensoft.cms.author.vo.AuthorVO; |
|
4 |
-import com.takensoft.cms.contsType.vo.ContsTypeVO; |
|
5 | 3 |
import com.takensoft.cms.menu.vo.MenuRequest; |
6 |
-import com.takensoft.cms.menu.vo.MenuStsfdgVO; |
|
7 | 4 |
import com.takensoft.cms.menu.vo.MenuVO; |
8 | 5 |
import com.takensoft.cms.menu.vo.SysMenuVO; |
9 | 6 |
import com.takensoft.common.HierachyVO; |
10 | 7 |
|
11 |
-import java.util.HashMap; |
|
12 | 8 |
import java.util.List; |
13 | 9 |
|
14 | 10 |
/** |
src/main/java/com/takensoft/cms/menu/vo/MenuDgstfnVO.java (added)
+++ src/main/java/com/takensoft/cms/menu/vo/MenuDgstfnVO.java
... | ... | @@ -0,0 +1,59 @@ |
1 | +package com.takensoft.cms.menu.vo; | |
2 | + | |
3 | +import lombok.*; | |
4 | + | |
5 | +/** | |
6 | + * @author : takensoft | |
7 | + * @since : 2024.04.08 | |
8 | + * @modification | |
9 | + * since | author | description | |
10 | + * 2024.04.08 | takensoft | 최초 등록 | |
11 | + * 2025.03.13 | 방선주 | 코드 리펙토링 | |
12 | + * 2025.04.23 | 하석형 | 파일명 변경 | |
13 | + * | |
14 | + * 메뉴별 만족도 관련 VO | |
15 | + */ | |
16 | +@Builder | |
17 | +@Setter | |
18 | +@Getter | |
19 | +@NoArgsConstructor | |
20 | +@AllArgsConstructor | |
21 | +public class MenuDgstfnVO { | |
22 | + private String menuDgstfnId; // 메뉴별 만족도 아이디 | |
23 | + private String menuId; // 메뉴 아이디 | |
24 | + private String rspnsFive; // 응답 5(N: 미체크, Y: 체크) | |
25 | + private String rspnsFour; // 응답 4(N: 미체크, Y: 체크) | |
26 | + private String rspnsThree; // 응답 3(N: 미체크, Y: 체크) | |
27 | + private String rspnsTwo; // 응답 2(N: 미체크, Y: 체크) | |
28 | + private String rspnsOne; // 응답 1(N: 미체크, Y: 체크) | |
29 | + private String opnn; // 의견 | |
30 | + private String regIp; // 등록 아이피 | |
31 | + private String rgtr; // 등록자 | |
32 | + private String regDt; // 등록일 | |
33 | + | |
34 | + private String menuNm; // 메뉴 명 | |
35 | + private String rspnsFiveCnt; // 응답 5 개수 | |
36 | + private String rspnsFourCnt; // 응답 4 개수 | |
37 | + private String rspnsThreeCnt; // 응답 3 개수 | |
38 | + private String rspnsTwoCnt; // 응답 2 개수 | |
39 | + private String rspnsOneCnt; // 응답 1 개수 | |
40 | + private String avrgRspnsScore; // 응답 점수 평균 | |
41 | + | |
42 | + // 응답 점수 평균 계산 | |
43 | + public void calculateAverage() { | |
44 | + try { | |
45 | + int five = Integer.parseInt(rspnsFiveCnt); | |
46 | + int four = Integer.parseInt(rspnsFourCnt); | |
47 | + int three = Integer.parseInt(rspnsThreeCnt); | |
48 | + int two = Integer.parseInt(rspnsTwoCnt); | |
49 | + int one = Integer.parseInt(rspnsOneCnt); | |
50 | + | |
51 | + int totalScore = (five * 5) + (four * 4) + (three * 3) + (two * 2) + (one * 1); | |
52 | + int totalCount = one + two + three + four + five; | |
53 | + | |
54 | + this.avrgRspnsScore = totalCount == 0 ? "0.00" : String.format("%.2f", (double) totalScore / totalCount); | |
55 | + } catch (Exception e) { | |
56 | + this.avrgRspnsScore = "0.00"; | |
57 | + } | |
58 | + } | |
59 | +}(파일 끝에 줄바꿈 문자 없음) |
src/main/java/com/takensoft/cms/menu/vo/MenuStsfdgVO.java (deleted)
--- src/main/java/com/takensoft/cms/menu/vo/MenuStsfdgVO.java
... | ... | @@ -1,34 +0,0 @@ |
1 | -package com.takensoft.cms.menu.vo; | |
2 | - | |
3 | -import lombok.AllArgsConstructor; | |
4 | -import lombok.Getter; | |
5 | -import lombok.NoArgsConstructor; | |
6 | -import lombok.Setter; | |
7 | - | |
8 | -/** | |
9 | - * @author : takensoft | |
10 | - * @since : 2024.04.08 | |
11 | - * @modification | |
12 | - * since | author | description | |
13 | - * 2024.04.08 | takensoft | 최초 등록 | |
14 | - * 2025.03.13 | 방선주 | 코드 리펙토링 | |
15 | - * | |
16 | - * 메뉴 만족도 정보 관련 VO | |
17 | - */ | |
18 | -@Setter | |
19 | -@Getter | |
20 | -@NoArgsConstructor | |
21 | -@AllArgsConstructor | |
22 | -public class MenuStsfdgVO { | |
23 | - private String menuDgstfnId; // 메뉴별 만족도 아이디 | |
24 | - private String menuId; // 메뉴 아이디 | |
25 | - private String rspnsFive; // 응답 5(N: 미체크, Y: 체크) | |
26 | - private String rspnsFour; // 응답 4(N: 미체크, Y: 체크) | |
27 | - private String rspnsThree; // 응답 3(N: 미체크, Y: 체크) | |
28 | - private String rspnsTwo; // 응답 2(N: 미체크, Y: 체크) | |
29 | - private String rspnsOne; // 응답 1(N: 미체크, Y: 체크) | |
30 | - private String opnn; // 의견 | |
31 | - private String regIp; // 등록 아이피 | |
32 | - private String rgtr; // 등록자 | |
33 | - private String regDt; // 등록일 | |
34 | -} |
src/main/java/com/takensoft/cms/menu/web/MenuDgstfnController.java (added)
+++ src/main/java/com/takensoft/cms/menu/web/MenuDgstfnController.java
... | ... | @@ -0,0 +1,74 @@ |
1 | +package com.takensoft.cms.menu.web; | |
2 | + | |
3 | +import com.takensoft.cms.author.vo.AuthorVO; | |
4 | +import com.takensoft.cms.menu.service.MenuDgstfnService; | |
5 | +import com.takensoft.cms.menu.vo.MenuDgstfnVO; | |
6 | +import com.takensoft.common.message.MessageCode; | |
7 | +import com.takensoft.common.util.ResponseUtil; | |
8 | +import lombok.RequiredArgsConstructor; | |
9 | +import org.springframework.http.ResponseEntity; | |
10 | +import org.springframework.web.bind.annotation.*; | |
11 | + | |
12 | +import java.util.HashMap; | |
13 | +import java.util.List; | |
14 | + | |
15 | +/** | |
16 | + * @author : 하석형 | |
17 | + * @since : 2025.04.23 | |
18 | + * @modification | |
19 | + * since | author | description | |
20 | + * 2025.04.23 | 하석형 | 최초 등록 | |
21 | + * | |
22 | + * 메뉴별 만족도 관련 Controller | |
23 | + */ | |
24 | +@RestController | |
25 | +@RequiredArgsConstructor | |
26 | +@RequestMapping(value = "/admin/menuDgstfn") | |
27 | +public class MenuDgstfnController { | |
28 | + | |
29 | + private final MenuDgstfnService menuDgstfnService; | |
30 | + private final ResponseUtil resUtil; | |
31 | + | |
32 | + /** | |
33 | + * @param | |
34 | + * @return ResponseEntity - 메뉴 만족도 목록 조회 결과를 포함하는 ResponseEntity | |
35 | + * | |
36 | + * 메뉴 만족도 목록 조회 | |
37 | + */ | |
38 | + @GetMapping(value = "/findAll.json") | |
39 | + public ResponseEntity<?> findAll() { | |
40 | + List<MenuDgstfnVO> result = menuDgstfnService.findAllMenuDgstfn(); | |
41 | + | |
42 | + // 응답 처리 | |
43 | + return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); | |
44 | + } | |
45 | + | |
46 | + /** | |
47 | + * @param | |
48 | + * @return ResponseEntity - 메뉴별 만족도 목록 조회 결과를 포함하는 ResponseEntity | |
49 | + * | |
50 | + * 메뉴별 만족도 목록 조회 | |
51 | + */ | |
52 | + @PostMapping(value = "/findAllByMenuId.json") | |
53 | + public ResponseEntity<?> findAllByMenuId(@RequestBody MenuDgstfnVO menuDgstfnVO) { | |
54 | + List<MenuDgstfnVO> result = menuDgstfnService.findAllMenuDgstfnByMenuId(menuDgstfnVO); | |
55 | + | |
56 | + // 응답 처리 | |
57 | + return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); | |
58 | + } | |
59 | + | |
60 | + /** | |
61 | + * @param menuDgstfnVO - 메뉴별 만족도 정보 | |
62 | + * @return ResponseEntity - 메뉴별 만족도 등록 결과를 포함하는 ResponseEntity | |
63 | + * | |
64 | + * 메뉴별 만족도 등록 | |
65 | + */ | |
66 | + @PostMapping(value = "/saveProc.json") | |
67 | + public ResponseEntity<?> saveProc(@RequestBody MenuDgstfnVO menuDgstfnVO) { | |
68 | + // 메뉴별 만족도 등록 | |
69 | + int result = menuDgstfnService.saveMenuDgstfn(menuDgstfnVO); | |
70 | + | |
71 | + // 응답 처리 | |
72 | + return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); | |
73 | + } | |
74 | +} |
--- src/main/java/com/takensoft/common/idgen/context/ContextIdgen.java
+++ src/main/java/com/takensoft/common/idgen/context/ContextIdgen.java
... | ... | @@ -49,8 +49,8 @@ |
49 | 49 |
} |
50 | 50 |
|
51 | 51 |
// 메뉴별 만족도 정보 |
52 |
- @Bean(name = "menuStsfdgIdgn") |
|
53 |
- public IdgenService menuStsfdg() { |
|
52 |
+ @Bean(name = "menuDgstfnIdgn") |
|
53 |
+ public IdgenService menuDgstfn() { |
|
54 | 54 |
IdgenService idgenServiceImpl = new IdgenService(); |
55 | 55 |
idgenServiceImpl.setCipers(15); |
56 | 56 |
idgenServiceImpl.setFillChar('0'); |
--- src/main/resources/mybatis/mapper/menu/menu-SQL.xml
+++ src/main/resources/mybatis/mapper/menu/menu-SQL.xml
... | ... | @@ -117,39 +117,6 @@ |
117 | 117 |
) |
118 | 118 |
</insert> |
119 | 119 |
|
120 |
- <!-- |
|
121 |
- 작성자 : takensoft |
|
122 |
- 작성일 : 2024.04.08 |
|
123 |
- 내 용 : 메뉴별 만족도 등록 |
|
124 |
- --> |
|
125 |
- <insert id="saveMenuStsfdg" parameterType="MenuStsfdgVO"> |
|
126 |
- INSERT INTO menu_dgstfn ( |
|
127 |
- menu_dgstfn_id |
|
128 |
- , menu_id |
|
129 |
- , rspns_five |
|
130 |
- , rspns_four |
|
131 |
- , rspns_three |
|
132 |
- , rspns_two |
|
133 |
- , rspns_one |
|
134 |
- , opnn |
|
135 |
- , reg_ip |
|
136 |
- , rgtr |
|
137 |
- , reg_dt |
|
138 |
- ) VALUES ( |
|
139 |
- #{menuDgstfnId} |
|
140 |
- , #{menuId} |
|
141 |
- , #{rspnsFive} |
|
142 |
- , #{rspnsFour} |
|
143 |
- , #{rspnsThree} |
|
144 |
- , #{rspnsTwo} |
|
145 |
- , #{rspnsOne} |
|
146 |
- , #{opnn} |
|
147 |
- , #{regIp} |
|
148 |
- , #{rgtr} |
|
149 |
- , NOW() |
|
150 |
- ) |
|
151 |
- </insert> |
|
152 |
- |
|
153 | 120 |
<sql id="selectMenu"> |
154 | 121 |
SELECT mi.menu_id |
155 | 122 |
, mi.up_menu_id |
src/main/resources/mybatis/mapper/menu/menuDgstfn-SQL.xml (added)
+++ src/main/resources/mybatis/mapper/menu/menuDgstfn-SQL.xml
... | ... | @@ -0,0 +1,102 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
3 | +<!-- | |
4 | + 작 성 자 : 하석형 | |
5 | + 작 성 일 : 2025.04.23 | |
6 | + 이 력 | |
7 | + | 수 정 일 | 수 정 자 | 내 용 | |
8 | + ======================================================================================================== | |
9 | + | 2025.04.23 | 하석형 | - 최초 등록 | |
10 | + ======================================================================================================== | |
11 | +--> | |
12 | +<mapper namespace="com.takensoft.cms.menu.dao.MenuDgstfnDAO"> | |
13 | + <!-- | |
14 | + 작 성 자 : 하석형 | |
15 | + 작 성 일 : 2025.04.23 | |
16 | + 내 용 : 메뉴 만족도 목록 조회 | |
17 | + --> | |
18 | + <select id="findAllMenuDgstfn" resultType="MenuDgstfnVO"> | |
19 | + SELECT | |
20 | + mi.menu_id | |
21 | + , mi.menu_nm | |
22 | + , SUM(CASE WHEN md.rspns_five = 'Y' THEN 1 ELSE 0 END) AS rspnsFiveCnt | |
23 | + , SUM(CASE WHEN md.rspns_four = 'Y' THEN 1 ELSE 0 END) AS rspnsFourCnt | |
24 | + , SUM(CASE WHEN md.rspns_three = 'Y' THEN 1 ELSE 0 END) AS rspnsThreeCnt | |
25 | + , SUM(CASE WHEN md.rspns_two = 'Y' THEN 1 ELSE 0 END) AS rspnsTwoCnt | |
26 | + , SUM(CASE WHEN md.rspns_one = 'Y' THEN 1 ELSE 0 END) AS rspnsOneCnt | |
27 | + FROM | |
28 | + menu_info mi | |
29 | + LEFT JOIN | |
30 | + menu_dgstfn md | |
31 | + ON mi.menu_id = md.menu_id | |
32 | + WHERE | |
33 | + mi.use_yn = 'Y' | |
34 | + AND mi.menu_type IS NOT NULL | |
35 | + AND TRIM(mi.menu_type) != '' | |
36 | + GROUP BY | |
37 | + mi.menu_id | |
38 | + , mi.menu_nm | |
39 | + ORDER BY | |
40 | + mi.menu_id ASC | |
41 | + </select> | |
42 | + | |
43 | + <!-- | |
44 | + 작 성 자 : 하석형 | |
45 | + 작 성 일 : 2025.04.23 | |
46 | + 내 용 : 메뉴별 만족도 목록 조회 | |
47 | + --> | |
48 | + <select id="findAllMenuDgstfnByMenuId" parameterType="MenuDgstfnVO" resultType="MenuDgstfnVO"> | |
49 | + SELECT | |
50 | + md.menu_dgstfn_id | |
51 | + , md.menu_id | |
52 | + , md.rspns_five | |
53 | + , md.rspns_four | |
54 | + , md.rspns_three | |
55 | + , md.rspns_two | |
56 | + , md.rspns_one | |
57 | + , md.opnn | |
58 | + , md.reg_ip | |
59 | + , md.rgtr | |
60 | + , TO_CHAR(md.reg_dt, 'YYYY-MM-DD HH24:MI') AS reg_dt | |
61 | + FROM | |
62 | + menu_dgstfn md | |
63 | + WHERE | |
64 | + 1 = 1 | |
65 | + <if test ="menuId != null and menuId != ''"> | |
66 | + AND md.menu_id = #{menuId} | |
67 | + </if> | |
68 | + </select> | |
69 | + | |
70 | + <!-- | |
71 | + 작 성 자 : 하석형 | |
72 | + 작 성 일 : 2025.04.23 | |
73 | + 내 용 : 메뉴별 만족도 등록 | |
74 | + --> | |
75 | + <insert id="saveMenuDgstfn" parameterType="MenuDgstfnVO"> | |
76 | + INSERT INTO menu_dgstfn ( | |
77 | + menu_dgstfn_id | |
78 | + , menu_id | |
79 | + , rspns_five | |
80 | + , rspns_four | |
81 | + , rspns_three | |
82 | + , rspns_two | |
83 | + , rspns_one | |
84 | + , opnn | |
85 | + , reg_ip | |
86 | + , rgtr | |
87 | + , reg_dt | |
88 | + ) VALUES ( | |
89 | + #{menuDgstfnId} | |
90 | + , #{menuId} | |
91 | + , #{rspnsFive} | |
92 | + , #{rspnsFour} | |
93 | + , #{rspnsThree} | |
94 | + , #{rspnsTwo} | |
95 | + , #{rspnsOne} | |
96 | + , #{opnn} | |
97 | + , #{regIp} | |
98 | + , #{rgtr} | |
99 | + , NOW() | |
100 | + ) | |
101 | + </insert> | |
102 | +</mapper>(파일 끝에 줄바꿈 문자 없음) |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?