하석형 하석형 04-23
250423 하석형 메뉴만족도 조사 추가
@9ca2b7ede6209518b8641078dfdba37a22d2c739
src/main/java/com/takensoft/cms/menu/dao/MenuDAO.java
--- src/main/java/com/takensoft/cms/menu/dao/MenuDAO.java
+++ src/main/java/com/takensoft/cms/menu/dao/MenuDAO.java
@@ -1,8 +1,6 @@
 package com.takensoft.cms.menu.dao;
 
-import com.takensoft.cms.author.vo.AuthorVO;
 import com.takensoft.cms.contsType.vo.ContsTypeVO;
-import com.takensoft.cms.dept.vo.DeptVO;
 import com.takensoft.cms.menu.vo.*;
 import com.takensoft.common.HierachyVO;
 import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
@@ -27,6 +25,7 @@
  *  2024.06.07  |    방선주     | bbsMngMenuDelete 추가
  *  2024.07.18  |    박정하     | findAllCnt 추가
  *  2025.03.13  |    방선주     | 코드 리펙토링
+ *  2025.04.23  |    하석형     | saveMenuStsfdg 삭제
  *
  * 메뉴 정보 관련 DAO
  */
@@ -95,14 +94,6 @@
      * 메뉴 순서 조회
      */
     int findByMenuSn(String upMenuId);
-
-    /**
-     * @param menuStsfdgVO - 메뉴 만족도 정보
-     * @return int - 등록 성공 여부
-     *
-     * 메뉴별 만족도 등록
-     */
-    int saveMenuStsfdg(MenuStsfdgVO menuStsfdgVO);
 
     /************************************** Hierachy 전용 **************************************/
 
 
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 @@
+package com.takensoft.cms.menu.dao;
+
+import com.takensoft.cms.author.vo.AuthorVO;
+import com.takensoft.cms.menu.vo.MenuAuthorVO;
+import com.takensoft.cms.menu.vo.MenuDgstfnVO;
+import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @author  : 하석형
+ * @since   : 2025.04.23
+ * @modification
+ *     since    |    author    | description
+ *  2025.04.23  |    하석형     | 최초 등록
+ *
+ * 메뉴별 만족도 관련 DAO
+ */
+@Mapper("menuDgstfnDAO")
+public interface MenuDgstfnDAO {
+    /**
+     * @param
+     * @return List<MenuDgstfnVO> - 메뉴 만족도 목록
+     *
+     * 메뉴 만족도 목록 조회
+     */
+    List<MenuDgstfnVO> findAllMenuDgstfn();
+
+    /**
+     * @param menuDgstfnVO - 메뉴 만족도 정보
+     * @return List<MenuDgstfnVO> - 메뉴별 만족도 목록
+     *
+     * 메뉴별 만족도 목록 조회
+     */
+    List<MenuDgstfnVO> findAllMenuDgstfnByMenuId(MenuDgstfnVO menuDgstfnVO);
+
+    /**
+     * @param menuDgstfnVO - 메뉴 만족도 정보
+     * @return int - 등록 결과
+     *
+     * 메뉴별 만족도 등록
+     */
+    int saveMenuDgstfn(MenuDgstfnVO menuDgstfnVO);
+}(파일 끝에 줄바꿈 문자 없음)
 
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 @@
+package com.takensoft.cms.menu.service.Impl;
+
+import com.takensoft.cms.author.dao.AuthorDAO;
+import com.takensoft.cms.author.vo.AuthorVO;
+import com.takensoft.cms.menu.dao.MenuAuthorDAO;
+import com.takensoft.cms.menu.dao.MenuDAO;
+import com.takensoft.cms.menu.dao.MenuDgstfnDAO;
+import com.takensoft.cms.menu.service.MenuAuthorService;
+import com.takensoft.cms.menu.service.MenuDgstfnService;
+import com.takensoft.cms.menu.vo.MenuAuthorVO;
+import com.takensoft.cms.menu.vo.MenuDgstfnVO;
+import com.takensoft.cms.menu.vo.MenuVO;
+import com.takensoft.common.exception.CustomInsertFailException;
+import com.takensoft.common.exception.CustomNoChangeException;
+import com.takensoft.common.exception.CustomNotFoundException;
+import com.takensoft.common.exception.CustomUpdateFailException;
+import com.takensoft.common.idgen.service.IdgenService;
+import com.takensoft.common.util.JWTUtil;
+import lombok.RequiredArgsConstructor;
+import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.dao.DataAccessException;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * @author  : 하석형
+ * @since   : 2025.04.23
+ * @modification
+ *     since    |    author    | description
+ *  2025.04.23  |    하석형     | 최초 등록
+ *
+ * EgovAbstractServiceImpl - 전자정부 프레임워크에서 제공하는 추상 서비스 구현 클래스
+ * MenuDgstfnService - 메뉴별 만족도 서비스 인터페이스
+ *
+ * 메뉴별 만족도 관련 DAO
+ */
+@Service("menuDgstfnServiceImpl")
+@RequiredArgsConstructor
+public class MenuDgstfnServiceImpl extends EgovAbstractServiceImpl implements MenuDgstfnService {
+
+    private final IdgenService menuDgstfnIdgn;
+    private final MenuDgstfnDAO menuDgstfnDAO;
+    private final JWTUtil jwtUtil;
+
+    /**
+     * @param
+     * @return List<MenuDgstfnVO> - 메뉴 만족도 목록
+     * @throws DataAccessException - 데이터베이스 접근 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
+     *
+     * 메뉴 만족도 목록 조회
+     */
+    @Override
+    public List<MenuDgstfnVO> findAllMenuDgstfn() {
+        try {
+            List<MenuDgstfnVO> result = menuDgstfnDAO.findAllMenuDgstfn();
+            result.forEach(MenuDgstfnVO::calculateAverage); // 메뉴별 응답 점수 평균 계산
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
+    /**
+     * @param menuDgstfnVO - 메뉴 만족도 정보
+     * @return List<MenuDgstfnVO> - 메뉴별 만족도 목록
+     * @throws DataAccessException - 데이터베이스 접근 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
+     *
+     * 메뉴 만족도 목록 조회
+     */
+    @Override
+    public List<MenuDgstfnVO> findAllMenuDgstfnByMenuId(MenuDgstfnVO menuDgstfnVO) {
+        try {
+            List<MenuDgstfnVO> result = menuDgstfnDAO.findAllMenuDgstfnByMenuId(menuDgstfnVO);
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
+    /**
+     * @param menuDgstfnVO - 메뉴 만족도 정보
+     * @return int - 등록 결과
+     * @throws CustomInsertFailException - 등록 실패 예외 발생 시
+     * @throws DataAccessException - 데이터베이스 접근 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
+     *
+     * 메뉴별 만족도 등록
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int saveMenuDgstfn(MenuDgstfnVO menuDgstfnVO) {
+        int result = 0;
+        try {
+            // 메뉴별 만족도 아이디 생성
+            String menuDgstfnId = menuDgstfnIdgn.getNextStringId();
+            menuDgstfnVO.setMenuDgstfnId(menuDgstfnId);
+
+            // 등록된 토큰에서 사용자 정보 조회
+            String writer = jwtUtil.getWriter();
+            if (writer == null || writer.isEmpty()) {
+                throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다.");
+            }
+            menuDgstfnVO.setRgtr(writer);
+
+            result = menuDgstfnDAO.saveMenuDgstfn(menuDgstfnVO);
+            if (result == 0) {
+                throw new CustomInsertFailException("메뉴별 만족도 등록에 실패헸습니다.");
+            }
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+}(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/cms/menu/service/Impl/MenuServiceImpl.java
--- 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 @@
  * EgovAbstractServiceImpl - 전자정부 프레임워크에서 제공하는 추상 서비스 구현 클래스
  * MenuService - 메뉴 정보 인터페이스 상속
  *
- * 팝업 관련 서비스 구현체
+ * 메뉴 관련 서비스 구현체
  */
 
 @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 @@
+package com.takensoft.cms.menu.service;
+
+import com.takensoft.cms.author.vo.AuthorVO;
+import com.takensoft.cms.menu.vo.MenuDgstfnVO;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @author  : 하석형
+ * @since   : 2025.04.23
+ * @modification
+ *     since    |    author    | description
+ *  2025.04.23  |    하석형     | 최초 등록
+ *
+ * 메뉴별 만족도 관련 인터페이스
+ */
+public interface MenuDgstfnService {
+    /**
+     * @param
+     * @return List<MenuDgstfnVO> - 메뉴 만족도 목록
+     *
+     * 메뉴 만족도 목록 조회
+     */
+    List<MenuDgstfnVO> findAllMenuDgstfn();
+
+    /**
+     * @param menuDgstfnVO - 메뉴 만족도 정보
+     * @return List<MenuDgstfnVO> - 메뉴별 만족도 목록
+     *
+     * 메뉴별 만족도 목록 조회
+     */
+    List<MenuDgstfnVO> findAllMenuDgstfnByMenuId(MenuDgstfnVO menuDgstfnVO);
+
+    /**
+     * @param menuDgstfnVO - 메뉴 만족도 정보
+     * @return int - 등록 결과
+     *
+     * 메뉴별 만족도 등록
+     */
+    int saveMenuDgstfn(MenuDgstfnVO menuDgstfnVO);
+}(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/cms/menu/service/MenuService.java
--- src/main/java/com/takensoft/cms/menu/service/MenuService.java
+++ src/main/java/com/takensoft/cms/menu/service/MenuService.java
@@ -1,14 +1,10 @@
 package com.takensoft.cms.menu.service;
 
-import com.takensoft.cms.author.vo.AuthorVO;
-import com.takensoft.cms.contsType.vo.ContsTypeVO;
 import com.takensoft.cms.menu.vo.MenuRequest;
-import com.takensoft.cms.menu.vo.MenuStsfdgVO;
 import com.takensoft.cms.menu.vo.MenuVO;
 import com.takensoft.cms.menu.vo.SysMenuVO;
 import com.takensoft.common.HierachyVO;
 
-import java.util.HashMap;
 import java.util.List;
 
 /**
 
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 @@
+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 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.avrgRspnsScore = totalCount == 0 ? "0.00" : String.format("%.2f", (double) totalScore / totalCount);
+        } catch (Exception e) {
+            this.avrgRspnsScore = "0.00";
+        }
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
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 @@
-package com.takensoft.cms.menu.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author  : takensoft
- * @since   : 2024.04.08
- * @modification
- *     since    |    author    | description
- *  2024.04.08  |  takensoft   | 최초 등록
- *  2025.03.13  |    방선주     | 코드 리펙토링
- *
- * 메뉴 만족도 정보 관련 VO
- */
-@Setter
-@Getter
-@NoArgsConstructor
-@AllArgsConstructor
-public class MenuStsfdgVO {
-    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; // 등록일
-}
 
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 @@
+package com.takensoft.cms.menu.web;
+
+import com.takensoft.cms.author.vo.AuthorVO;
+import com.takensoft.cms.menu.service.MenuDgstfnService;
+import com.takensoft.cms.menu.vo.MenuDgstfnVO;
+import com.takensoft.common.message.MessageCode;
+import com.takensoft.common.util.ResponseUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @author  : 하석형
+ * @since   : 2025.04.23
+ * @modification
+ *     since    |    author    | description
+ *  2025.04.23  |    하석형     | 최초 등록
+ *
+ * 메뉴별 만족도 관련 Controller
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/admin/menuDgstfn")
+public class MenuDgstfnController {
+
+    private final MenuDgstfnService menuDgstfnService;
+    private final ResponseUtil resUtil;
+
+    /**
+     * @param
+     * @return ResponseEntity - 메뉴 만족도 목록 조회 결과를 포함하는 ResponseEntity
+     *
+     * 메뉴 만족도 목록 조회
+     */
+    @GetMapping(value = "/findAll.json")
+    public ResponseEntity<?> findAll() {
+        List<MenuDgstfnVO> result = menuDgstfnService.findAllMenuDgstfn();
+
+        // 응답 처리
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
+    }
+
+    /**
+     * @param
+     * @return ResponseEntity - 메뉴별 만족도 목록 조회 결과를 포함하는 ResponseEntity
+     *
+     * 메뉴별 만족도 목록 조회
+     */
+    @PostMapping(value = "/findAllByMenuId.json")
+    public ResponseEntity<?> findAllByMenuId(@RequestBody MenuDgstfnVO menuDgstfnVO) {
+        List<MenuDgstfnVO> result = menuDgstfnService.findAllMenuDgstfnByMenuId(menuDgstfnVO);
+
+        // 응답 처리
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
+    }
+
+    /**
+     * @param menuDgstfnVO - 메뉴별 만족도 정보
+     * @return ResponseEntity - 메뉴별 만족도 등록 결과를 포함하는 ResponseEntity
+     *
+     * 메뉴별 만족도 등록
+     */
+    @PostMapping(value = "/saveProc.json")
+    public ResponseEntity<?> saveProc(@RequestBody MenuDgstfnVO menuDgstfnVO) {
+        // 메뉴별 만족도 등록
+        int result = menuDgstfnService.saveMenuDgstfn(menuDgstfnVO);
+
+        // 응답 처리
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
+    }
+}
src/main/java/com/takensoft/common/idgen/context/ContextIdgen.java
--- src/main/java/com/takensoft/common/idgen/context/ContextIdgen.java
+++ src/main/java/com/takensoft/common/idgen/context/ContextIdgen.java
@@ -49,8 +49,8 @@
     }
 
     // 메뉴별 만족도 정보
-    @Bean(name = "menuStsfdgIdgn")
-    public IdgenService menuStsfdg() {
+    @Bean(name = "menuDgstfnIdgn")
+    public IdgenService menuDgstfn() {
         IdgenService idgenServiceImpl = new IdgenService();
         idgenServiceImpl.setCipers(15);
         idgenServiceImpl.setFillChar('0');
src/main/resources/mybatis/mapper/menu/menu-SQL.xml
--- src/main/resources/mybatis/mapper/menu/menu-SQL.xml
+++ src/main/resources/mybatis/mapper/menu/menu-SQL.xml
@@ -117,39 +117,6 @@
         )
     </insert>
 
-    <!--
-        작성자 : takensoft
-        작성일 : 2024.04.08
-        내 용 : 메뉴별 만족도 등록
-    -->
-    <insert id="saveMenuStsfdg" parameterType="MenuStsfdgVO">
-        INSERT INTO menu_dgstfn (
-            menu_dgstfn_id
-            , menu_id
-            , rspns_five
-            , rspns_four
-            , rspns_three
-            , rspns_two
-            , rspns_one
-            , opnn
-            , reg_ip
-            , rgtr
-            , reg_dt
-        ) VALUES (
-            #{menuDgstfnId}
-            , #{menuId}
-            , #{rspnsFive}
-            , #{rspnsFour}
-            , #{rspnsThree}
-            , #{rspnsTwo}
-            , #{rspnsOne}
-            , #{opnn}
-            , #{regIp}
-            , #{rgtr}
-            , NOW()
-        )
-    </insert>
-
     <sql id="selectMenu">
         SELECT mi.menu_id
              , 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+    작 성 자 : 하석형
+    작 성 일 : 2025.04.23
+    이   력
+    |    수 정 일    |    수 정 자    |    내    용
+    ========================================================================================================
+    |  2025.04.23   |     하석형     | - 최초 등록
+    ========================================================================================================
+-->
+<mapper namespace="com.takensoft.cms.menu.dao.MenuDgstfnDAO">
+    <!--
+        작 성 자 : 하석형
+        작 성 일 : 2025.04.23
+        내   용 : 메뉴 만족도 목록 조회
+    -->
+    <select id="findAllMenuDgstfn" resultType="MenuDgstfnVO">
+        SELECT
+            mi.menu_id
+            , mi.menu_nm
+            , SUM(CASE WHEN md.rspns_five = 'Y' THEN 1 ELSE 0 END) AS rspnsFiveCnt
+            , SUM(CASE WHEN md.rspns_four = 'Y' THEN 1 ELSE 0 END) AS rspnsFourCnt
+            , SUM(CASE WHEN md.rspns_three = 'Y' THEN 1 ELSE 0 END) AS rspnsThreeCnt
+            , SUM(CASE WHEN md.rspns_two = 'Y' THEN 1 ELSE 0 END) AS rspnsTwoCnt
+            , SUM(CASE WHEN md.rspns_one = 'Y' THEN 1 ELSE 0 END) AS rspnsOneCnt
+        FROM
+            menu_info mi
+        LEFT JOIN
+            menu_dgstfn md
+            ON mi.menu_id = md.menu_id
+        WHERE
+            mi.use_yn = 'Y'
+            AND mi.menu_type IS NOT NULL
+            AND TRIM(mi.menu_type) != ''
+        GROUP BY
+            mi.menu_id
+            , mi.menu_nm
+        ORDER BY
+            mi.menu_id ASC
+    </select>
+
+    <!--
+        작 성 자 : 하석형
+        작 성 일 : 2025.04.23
+        내   용 : 메뉴별 만족도 목록 조회
+    -->
+    <select id="findAllMenuDgstfnByMenuId" parameterType="MenuDgstfnVO" resultType="MenuDgstfnVO">
+        SELECT
+            md.menu_dgstfn_id
+             , md.menu_id
+             , md.rspns_five
+             , md.rspns_four
+             , md.rspns_three
+             , md.rspns_two
+             , md.rspns_one
+             , md.opnn
+             , md.reg_ip
+             , md.rgtr
+             , TO_CHAR(md.reg_dt, 'YYYY-MM-DD HH24:MI') AS reg_dt
+        FROM
+            menu_dgstfn md
+        WHERE
+            1 = 1
+        <if test ="menuId != null and menuId != ''">
+            AND md.menu_id = #{menuId}
+        </if>
+    </select>
+
+    <!--
+        작 성 자 : 하석형
+        작 성 일 : 2025.04.23
+        내   용 : 메뉴별 만족도 등록
+    -->
+    <insert id="saveMenuDgstfn" parameterType="MenuDgstfnVO">
+        INSERT INTO menu_dgstfn (
+              menu_dgstfn_id
+            , menu_id
+            , rspns_five
+            , rspns_four
+            , rspns_three
+            , rspns_two
+            , rspns_one
+            , opnn
+            , reg_ip
+            , rgtr
+            , reg_dt
+        ) VALUES (
+               #{menuDgstfnId}
+             , #{menuId}
+             , #{rspnsFive}
+             , #{rspnsFour}
+             , #{rspnsThree}
+             , #{rspnsTwo}
+             , #{rspnsOne}
+             , #{opnn}
+             , #{regIp}
+             , #{rgtr}
+             , NOW()
+         )
+    </insert>
+</mapper>(파일 끝에 줄바꿈 문자 없음)
Add a comment
List