Ver código fonte

API 서비스 관리, API 서비스 신청 메뉴 분리 작업중

huiwon.seo 4 anos atrás
pai
commit
5e80a81bf4

+ 123 - 0
src/main/java/com/lemon/lifecenter/controller/ApiApplicationController.java

@@ -0,0 +1,123 @@
+package com.lemon.lifecenter.controller;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.lemon.lifecenter.common.LifeCenterConfigVO;
+import com.lemon.lifecenter.common.LifeCenterController;
+import com.lemon.lifecenter.common.LifeCenterFunction;
+import com.lemon.lifecenter.common.LifeCenterPaging;
+import com.lemon.lifecenter.common.LifeCenterSessionController;
+import com.lemon.lifecenter.dto.ApiManagerDTO;
+import com.lemon.lifecenter.dto.CenterInfoDTO;
+import com.lemon.lifecenter.service.ApiManagerService;
+import com.lemon.lifecenter.service.CenterService;
+
+
+/*
+ * API 서비스 신청 
+ *  - 생활치료센터 관리자들이 신청
+ */
+
+@Controller
+@RequestMapping( "/apiApplication" )
+public class ApiApplicationController extends LifeCenterController {
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    @Autowired
+    private ApiManagerService service;
+    
+    @Autowired
+    private LifeCenterConfigVO config;
+    
+    private LifeCenterPaging paging;
+    
+    @Autowired
+    private CenterService centerService;
+    
+    @RequestMapping("/info")
+    public ModelAndView info( HttpServletRequest request ) {
+
+        // VIEW쪽에서는 신청내역이 있으면 신청정보를 보여주고 없을경우 API 서비스 소개 내용 표시할 것
+        String sesId  = LifeCenterSessionController.getSession( request, "sesId" );
+        
+        ApiManagerDTO dto = new ApiManagerDTO();
+        dto.setManagerId( sesId );
+        dto = service.selectApiManagerInfoOne( dto );
+        
+        ModelAndView mv = setMV( "api/info" );
+        
+        mv.addObject( "info", dto );
+        mv.addObject( "viewType", "USER" );
+        
+        return mv;
+    }
+    
+    @RequestMapping("/new")
+    public ModelAndView apiManagerNew(HttpServletRequest request) {
+        String sesId  = LifeCenterSessionController.getSession( request, "sesId" );
+        String sesName  = LifeCenterSessionController.getSession( request, "sesName" );
+        String sesCenterCode  = LifeCenterSessionController.getSession( request, "sesCenterCode" );
+        String sesCenterName  = LifeCenterSessionController.getSession( request, "sesCenterName" );
+        String sesPhoneNumber  = LifeCenterSessionController.getSession( request, "sesPhoneNumber" );
+        
+        ApiManagerDTO dto = new ApiManagerDTO();
+        
+        dto.setManagerId(sesId);
+        dto.setManagerName(sesName);
+        dto.setCenterCode(sesCenterCode);
+        dto.setCenterName(sesCenterName);
+        dto.setManagerPhone(sesPhoneNumber);
+        
+        CenterInfoDTO cdto = new CenterInfoDTO();
+        cdto.setCenterCode(Integer.valueOf(sesCenterCode));
+        cdto = centerService.selectCenterInfo(cdto);
+         
+        dto.setCooperativeCode(cdto.getCooperativeCode());
+        dto.setCooperativeName(cdto.getCooperativeName());
+        
+        ModelAndView mv = setMV("api/new");
+        mv.addObject("info", dto);
+        return mv;
+    }
+    
+    @RequestMapping( value = "/new/insert", method = RequestMethod.POST)
+    public String insertApiManager(
+            @ModelAttribute("dto") final ApiManagerDTO dto,
+            HttpServletRequest request,HttpServletResponse response) {
+        String sesId  = LifeCenterSessionController.getSession( request, "sesId" );
+        String sesName  = LifeCenterSessionController.getSession( request, "sesName" );
+        String sesCenterCode  = LifeCenterSessionController.getSession( request, "sesCenterCode" );
+        String sesCenterName  = LifeCenterSessionController.getSession( request, "sesCenterName" );
+        
+        dto.setManagerId(sesId);
+        dto.setManagerName(sesName);
+        dto.setCenterCode(sesCenterCode);
+        dto.setCenterName(sesCenterName);
+        
+        CenterInfoDTO cdto = new CenterInfoDTO();
+        cdto.setCenterCode(Integer.valueOf(sesCenterCode));
+        cdto = centerService.selectCenterInfo(cdto);
+         
+        dto.setCooperativeCode(cdto.getCooperativeCode());
+        //검색용으로 저장
+        dto.setHospitalName(cdto.getCooperativeName());
+        
+        service.insertApiManager(dto);
+        
+        LifeCenterFunction.scriptMessage( response, "alertBox({ txt: '서비스 신청을 완료하였습니다.', callBack : function(){ location.href='/apiManager/list'; } });" );
+        return "/common/blank";
+        
+        //return "redirect:/cooperation/info?cooperativeCode="+dto.getCooperativeCode();
+    }
+}

+ 13 - 58
src/main/java/com/lemon/lifecenter/controller/ApiManagerController.java

@@ -27,6 +27,12 @@ import com.lemon.lifecenter.dto.CenterInfoDTO;
 import com.lemon.lifecenter.service.ApiManagerService;
 import com.lemon.lifecenter.service.CenterService;
 
+
+/*
+ * API 서비스 관리 
+ *  - 시스템관리자(보건복지부 or 정보원)가 API신청건에 대해 승인이나 해제 
+ */
+
 @Controller
 @RequestMapping("/apiManager")
 public class ApiManagerController extends LifeCenterController {
@@ -79,71 +85,20 @@ public class ApiManagerController extends LifeCenterController {
         return mv;
     }
     
-    @RequestMapping("/new")
-    public ModelAndView apiManagerNew(HttpServletRequest request) {
-        String sesId  = LifeCenterSessionController.getSession( request, "sesId" );
-        String sesName  = LifeCenterSessionController.getSession( request, "sesName" );
-        String sesCenterCode  = LifeCenterSessionController.getSession( request, "sesCenterCode" );
-        String sesCenterName  = LifeCenterSessionController.getSession( request, "sesCenterName" );
-        String sesPhoneNumber  = LifeCenterSessionController.getSession( request, "sesPhoneNumber" );
-        
-        ApiManagerDTO dto = new ApiManagerDTO();
-        
-        dto.setManagerId(sesId);
-        dto.setManagerName(sesName);
-        dto.setCenterCode(sesCenterCode);
-        dto.setCenterName(sesCenterName);
-        dto.setManagerPhone(sesPhoneNumber);
-        
-        CenterInfoDTO cdto = new CenterInfoDTO();
-        cdto.setCenterCode(Integer.valueOf(sesCenterCode));
-        cdto = centerService.selectCenterInfo(cdto);
-         
-        dto.setCooperativeCode(cdto.getCooperativeCode());
-        dto.setCooperativeName(cdto.getCooperativeName());
-        
-        ModelAndView mv = setMV("api/new");
-        mv.addObject("info", dto);
-        return mv;
-    }
     
     @RequestMapping("/info")
-    public ModelAndView info(@RequestParam(value="idx", required=false, defaultValue="" ) String idx) {
+    public ModelAndView info(@RequestParam(value="idx", required=true) int idx) {
         ApiManagerDTO dto = new ApiManagerDTO();
-        dto = service.selectApiManagerInfoOne(idx);
-        ModelAndView mv = setMV( "api/info" );
-        mv.addObject("info", dto);
-        return mv;
-    }
-    
-    @RequestMapping( value = "/new/insert", method = RequestMethod.POST)
-    public String insertApiManager(
-            @ModelAttribute("dto") final ApiManagerDTO dto,
-            HttpServletRequest request,HttpServletResponse response) {
-        String sesId  = LifeCenterSessionController.getSession( request, "sesId" );
-        String sesName  = LifeCenterSessionController.getSession( request, "sesName" );
-        String sesCenterCode  = LifeCenterSessionController.getSession( request, "sesCenterCode" );
-        String sesCenterName  = LifeCenterSessionController.getSession( request, "sesCenterName" );
         
-        dto.setManagerId(sesId);
-        dto.setManagerName(sesName);
-        dto.setCenterCode(sesCenterCode);
-        dto.setCenterName(sesCenterName);
+        dto.setIdx( idx );
+        dto = service.selectApiManagerInfoOne( dto );
         
-        CenterInfoDTO cdto = new CenterInfoDTO();
-        cdto.setCenterCode(Integer.valueOf(sesCenterCode));
-        cdto = centerService.selectCenterInfo(cdto);
-         
-        dto.setCooperativeCode(cdto.getCooperativeCode());
-        //검색용으로 저장
-        dto.setHospitalName(cdto.getCooperativeName());
         
-        service.insertApiManager(dto);
-        
-        LifeCenterFunction.scriptMessage( response, "alertBox({ txt: '서비스 신청을 완료하였습니다.', callBack : function(){ location.href='/apiManager/list'; } });" );
-        return "/common/blank";
+        ModelAndView mv = setMV( "api/info" );
+        mv.addObject( "info", dto );
+        mv.addObject( "viewType", "MANAGER" );
         
-        //return "redirect:/cooperation/info?cooperativeCode="+dto.getCooperativeCode();
+        return mv;
     }
     
     @RequestMapping( value = "/accept", method = RequestMethod.POST)

+ 1 - 1
src/main/java/com/lemon/lifecenter/mapper/ApiManagerMapper.java

@@ -13,7 +13,7 @@ import com.lemon.lifecenter.dto.CooperationDTO;
 public interface ApiManagerMapper {
     public int selectApiManagerCount(ApiManagerDTO dto);
     public List<ApiManagerDTO> selectApiManagerList(ApiManagerDTO dto);
-    public ApiManagerDTO selectApiManagerInfoOne(String idx);
+    public ApiManagerDTO selectApiManagerInfoOne(ApiManagerDTO dto);
     public void insertApiManager(ApiManagerDTO dto);
     public void updateUseYnApiManager(ApiManagerDTO dto);
     

+ 2 - 2
src/main/java/com/lemon/lifecenter/service/ApiManagerService.java

@@ -23,8 +23,8 @@ public class ApiManagerService {
         return mapper.selectApiManagerList(dto);
     }
     
-    public ApiManagerDTO selectApiManagerInfoOne(String idx) {
-        return mapper.selectApiManagerInfoOne(idx);
+    public ApiManagerDTO selectApiManagerInfoOne(ApiManagerDTO dto) {
+        return mapper.selectApiManagerInfoOne(dto);
     }
     
     public void insertApiManager(ApiManagerDTO dto) {

+ 11 - 6
src/main/resources/mybatis/mapper/api/apiManager.xml

@@ -73,7 +73,7 @@
         ]]>
     </select>
     
-    <select id="selectApiManagerInfoOne" parameterType="String" resultType="ApiManagerDTO">
+    <select id="selectApiManagerInfoOne" parameterType="ApiManagerDTO" resultType="ApiManagerDTO">
         <![CDATA[
             SELECT
                 AM.IDX,
@@ -86,9 +86,9 @@
                 AM.API_KEY                                               AS apiKey,
                 AM.COOPERATIVE_CODE                                      AS cooperativeCode,
                 AM.USE_YN                                                AS useYn,
-                AM.REQUEST_DATE                                          AS requestDate,
-                AM.ACCEPT_DATE                                           AS acceptDate,
-                AM.CREATE_DATE                                           AS createDate,
+                DATE_FORMAT( AM.REQUEST_DATE, '%Y-%m-%d %H:%i' )         AS requestDate,
+                DATE_FORMAT( AM.ACCEPT_DATE, '%Y-%m-%d %H:%i' )          AS acceptDate,
+                DATE_FORMAT( AM.CREATE_DATE, '%Y-%m-%d %H:%i' )          AS createDate,
                 CASE WHEN AM.USE_YN = 'C' THEN '승인완료'
                      WHEN AM.USE_YN = 'W' THEN '승인대기'
                      WHEN AM.USE_YN = 'D' THEN '승인해제'
@@ -106,9 +106,14 @@
                 AM.EXPIRE_DATE                                           AS expireDate
             FROM
                 API_MANAGER AM
-            WHERE 1 = 1
-            AND IDX = #{idx}
+            WHERE IDX = #{idx}
         ]]>
+        
+        <if test='managerId != null and managerId != ""'>
+            <![CDATA[
+                OR manager_id = #{managerId}
+            ]]>
+        </if>
     </select>
     
     <insert id="insertApiManager" parameterType="ApiManagerDTO">

+ 325 - 97
src/main/webapp/WEB-INF/jsp/api/info.jsp

@@ -64,106 +64,334 @@ $( function(){
                     <div class="row">
                         <div class="col-12">
                             <div class="card">
-                                <form action="./accept" id="newForm" method="post">
-                                <c:if test="${info.useYn ne 'D'}"><input type="hidden" value="${info.idx}" name="idx">
-                                <input type="hidden" value="<c:if test="${info.useYn eq 'W'}">C</c:if><c:if test="${info.useYn eq 'C'}">D</c:if>" name="useYn"></c:if>
-                                    <div class="card-body">
-                                        <table class="table mobile-table">
-                                            <colgroup>
-                                                <col style="width:15%">
-                                                <col style="width:35%">
-                                                <col style="width:15%">
-                                                <col style="width:35%">
-                                            </colgroup>
-                                            <tr>
-                                                <th>신청자 명</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.managerName}" />
-                                                </td>
-                                            </tr>
-                                            <tr>
-                                                <th>병원 명</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.cooperativeName}" />
-                                                </td>
-                                            </tr>
-                                            <tr>
-                                                <th>부서 명</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.departmentName}" />
-                                                </td>
-                                            </tr>
-                                            <tr>
-                                                <th>이메일 주소</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.managerEmail}" />
-                                                </td>
-                                            </tr>
-                                            <tr>
-                                                <th>전화번호</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.managerPhone}" />
-                                                </td>
-                                            </tr>
-                                            <c:if test="${info.useYn eq 'C'}">
-                                            <tr>
-                                                <th>api key</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.apiKey}" />
-                                                </td>
-                                            </tr>
-                                            </c:if>
-                                            <tr>
-                                                <th>센터코드</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.centerCode}" />
-                                                </td>
-                                            </tr>
-                                            <tr>
-                                                <th>신청일</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.requestDate}" />
-                                                </td>
-                                            </tr>
-                                            <c:if test="${info.useYn eq 'C'}">
-                                            <tr>
-                                                <th>승인일</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.acceptDate}" />
-                                                </td>
-                                            </tr>
-                                            </c:if>
-                                            <c:if test="${info.useYn eq 'D'}">
-                                            <tr>
-                                                <th>해제일</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.expireDate}" />
-                                                </td>
-                                            </tr>
-                                            </c:if>
-                                            <tr>
-                                                <th>생성일</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.createDate}" />
-                                                </td>
-                                            </tr>
-                                            <tr>
-                                                <th>사용 목적</th>
-                                                <td colspan="3">
-                                                    <c:out value="${info.usePurpose}" />
-                                                </td>
-                                            </tr>
-                                        </table>
-                                        <div class="row mt-3">
-                                            <div class="col-12">
-                                                <div class="text-right">
-                                                    <c:if test="${info.useYn ne 'D'}"><button type="submit" class="btn btn-primary w100"><c:if test="${info.useYn eq 'W'}">승인</c:if><c:if test="${info.useYn eq 'C'}">해제</c:if></button></c:if>
-                                                    <button type="button" class="btn btn-primary w100" onclick="location.href='./list';">목록</button>
+                                <c:choose>
+                                    <c:when test="${info eq null}">
+                                        <div class="alert alert-light bg-warning text-dark p-3">
+                                            <span style="font-size:15px;">생활치료센터 비대면진료시스템에 등록되어 관리되고 있는 환자들의 기본정보, <br/>생체정보(체온, 혈압, 맥박, 산소포화도, 혈당, 임상증상), 의료진 메모 Data를 API로 조회 할 수 있는 서비스 입니다.</span>
+                                        </div>
+                                        
+                                        <h2 class="text-dark mb-3 pb-2 border-bottom mt-4">생활치료센터 비대면진료시스템 API 목록</h2>
+                                        <div class="p-1 mb-5">
+                                            <div class="border p-3">
+<!--                                             <span class="badge badge-info h6">→</span> -->
+                                                <h3>Request</h3>
+                                                
+                                                <div class="mt-4"></div>
+                                                
+                                                
+                                                <h5>URL</h5>
+                                                <div class="bg-dark text-white p-3 border-radius m-2">https://life-center-dev.lemonhc.com/lifeCenter/api/toAction</div>
+                                                
+                                                
+                                                <div class="mt-4"></div>
+                                                
+                                                <h5>Parameter</h5>
+                                                <div class="p-2">
+                                                    <table class="table mobile-table">
+                                                        <thead>
+                                                            <tr>
+                                                                <th>Name</th>
+                                                                <th>Type</th>
+                                                                <th>Description</th>
+                                                                <th>Required</th>
+                                                            </tr>
+                                                        </thead>
+                                                        
+                                                        <tbody>
+                                                            <tr>
+                                                                <td>template_object</td>
+                                                                <td><code>JSON Object</code></td>
+                                                                <td>메시지 구성 요소를 담은 객체(Object)<br><a href="/docs/latest/ko/message/message-template#feed">피드</a>, <a href="/docs/latest/ko/message/message-template#list">리스트</a>, <a href="/docs/latest/ko/message/message-template#location">위치</a>, <a href="/docs/latest/ko/message/message-template#commerce">커머스</a>, <a href="/docs/latest/ko/message/message-template#text">텍스트</a> 중 하나</td>
+                                                                <td>O</td>
+                                                            </tr>
+                                                        </tbody>
+                                                    </table>
                                                 </div>
                                             </div>
                                         </div>
-                                    </div>
-                                </form>
+                                        
+                                        
+                                        
+                                        <h2 class="text-dark mb-3 pb-2 border-bottom">생활치료센터 비대면진료시스템 API 서비스 운영 정책</h2>
+                                        <div class="p-1 mb-5">
+                                            <div class="card border">
+                                                <div class="card-body">
+                                                    <blockquote class="blockquote mb-4">
+                                                        <p class="mb-1">1. 생활치료센터 비대면진료시스템 API 서비스</p>
+                                                        <footer class="blockquote-footer">생활치료센터 비대면진료시스템 API는 24시간 365일 무중단으로 운영되고 있습니다.</footer>
+                                                    </blockquote>
+                                                    
+                                                    <blockquote class="blockquote mb-4">
+                                                        <p class="mb-1">2. 생활치료센터 비대면진료시스템 API 서비스 사용 안내</p>
+                                                        <footer class="blockquote-footer">API 서비스 신청 (하단 신청 메뉴 선택) → 신청서 양식 작성 및 제출 → 서비스 신청 승인 대기 → 승인 완료 → API 서비스 사용</footer>
+                                                    </blockquote>
+                                                    
+                                                    <blockquote class="blockquote mb-4">
+                                                        <p class="mb-1">3. 생활치료센터 비대면진료시스템 API 공지 및 FAQ</p>
+                                                        <footer class="blockquote-footer">생활치료센터 비대면진료시스템 API 관련 변경사항은 페이지 좌측 공지사항 메뉴에서 확인하실 수 있습니다.
+                                                            <br/><span class="ml-3">* 공지사항 게시판 : https://life-center.lemonhc.com/notice/list</span>
+                                                            <br/><span class="ml-3">* 생활치료센터 비대면진료시스템 API 이용관련 페이지 아래의 FAQ를 보시면 자주 묻는 질문들에 대한 답변을 파악하실 수 있습니다</span>
+                                                        </footer>
+                                                    </blockquote>
+                                                    
+                                                    <blockquote class="blockquote">
+                                                        <p class="mb-1">4. 문의</p>
+                                                        <footer class="blockquote-footer">API 이용 관련 기술, 정책 문의는 ~~~~~~</footer>
+                                                    </blockquote>
+                                                </div>
+                                            </div>
+                                        </div>
+                                        
+                                        
+                                        
+                                        
+                                        <h2 class="text-dark mb-3 pb-2 border-bottom">생활치료센터 비대면진료시스템 API FAQ</h2>
+                                        <div class="panel-group p-1" id="faqAccordion">
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question0">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> API를 사용하려고 하는데 어떻게 해야 하나요?</a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question0" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">페이지 하단의 서비스 신청을 선택 후 신청 내용을 작성 후 신청 완료하면 검토 후 문제 없으면 승인 후 사용이 가능합니다. </span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                            
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question1">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> 생활치료센터 비대면진료시스템 API 사용 방법은 어떻게 되나요 ?</a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question1" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">신청 완료되면 API 서비스 메뉴에서 API 연동 인증을 위한 정보(아이디, 인증키) 제공과 상세한 서비스 안내에 대한 내용을 파악하실 수 있습니다.</span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                            
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question2">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> 생활치료센터 비대면진료시스템 API는 어떤 API를 제공하고 있습니까?</a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question2" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">제공하는 API의 종류는 상단의 생활치료센터 비대면진료시스템 API 목록을 참고하시기 바랍니다.</span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                            
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question3">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> 생활치료센터 비대면진료시스템 API를 사용할 때 비용을 지불하나요? </a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question3" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">생활치료센터 비대면진료시스템 API는 무료로 제공되고 있습니다.</span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                            
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question4">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> API가 작동하지 않아요</a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question4" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">API가 작동하지 않을 때는 API 호출 URL에 있는 오타나 필수 요청 변수 설정 오류가 원인인 경우가 많습니다.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 호출 URL에 오타가 있는지, 누락됐거나 값이 잘못 설정된 필수 요청 변수가 있는지 한 번 더 확인해 주세요. </span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                            
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question5">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> 호출 URL에 오류가 없는데도 API가 작동하지 않아요</a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question5" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">담당자에게 연락을 주시면 확인 후 피드백을 드리겠습니다.</span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                            
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question6">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> 네이버 오픈API에 대한 문의는 어디로 해야 하나요?</a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question6" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">문의: ~~~~</span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                            
+                                            <div class="mb-4">
+                                                <div class="panel-heading accordion-toggle question-toggle collapsed bg-light border p-2" data-toggle="collapse" data-parent="#faqAccordion" data-target="#question7">
+                                                     <div class="panel-title h4 mb-0">
+                                                        <a href="#" class="ing text-muted"><span class="badge badge-dark">Q</span> 제휴 신청 승인까지 얼마의 시간이 소요되나요?</a>
+                                                        <i class="fa fa-fw fa-caret-down float-right text-dark"></i>
+                                                    </div>
+                                                </div>
+                                                <div id="question7" class="panel-collapse collapse border">
+                                                    <div class="panel-body m-3 h5">
+                                                        <span class="badge badge-dark">A</span>
+                                                        <span class="text-muted">업무일 기준으로 ???일 정도 소요됩니다. </span>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                        </div>
+                                        <!--/panel-group-->
+                                        
+                                        
+                                    </c:when>
+                                    
+                                    <c:otherwise>
+                                        <form action="./accept" id="newForm" method="post">
+                                            <c:if test="${viewType eq 'MANAGER'}">
+                                                <c:if test="${info.useYn ne 'D'}">
+                                                    <input type="hidden" value="${info.idx}" name="idx">
+                                                    <input type="hidden" value="<c:if test="${info.useYn eq 'W'}">C</c:if><c:if test="${info.useYn eq 'C'}">D</c:if>" name="useYn">
+                                                </c:if>
+                                            </c:if>
+                                            
+                                            <div class="card-body">
+                                                <table class="table mobile-table">
+                                                    <colgroup>
+                                                        <col style="width:15%">
+                                                        <col style="width:35%">
+                                                        <col style="width:15%">
+                                                        <col style="width:35%">
+                                                    </colgroup>
+                                                    <tr>
+                                                        <th>신청자 명</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.managerName}" />
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <th>병원 명</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.cooperativeName}" />
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <th>부서 명</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.departmentName}" />
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <th>이메일 주소</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.managerEmail}" />
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <th>전화번호</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.managerPhone}" />
+                                                        </td>
+                                                    </tr>
+                                                    <c:if test="${info.useYn eq 'C'}">
+                                                    <tr>
+                                                        <th>api key</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.apiKey}" />
+                                                        </td>
+                                                    </tr>
+                                                    </c:if>
+                                                    <tr>
+                                                        <th>센터코드</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.centerCode}" />
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <th>신청일</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.requestDate}" />
+                                                        </td>
+                                                    </tr>
+                                                    <c:if test="${info.useYn eq 'C'}">
+                                                    <tr>
+                                                        <th>승인일</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.acceptDate}" />
+                                                        </td>
+                                                    </tr>
+                                                    </c:if>
+                                                    <c:if test="${info.useYn eq 'D'}">
+                                                    <tr>
+                                                        <th>해제일</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.expireDate}" />
+                                                        </td>
+                                                    </tr>
+                                                    </c:if>
+                                                    <tr>
+                                                        <th>생성일</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.createDate}" />
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <th>사용 목적</th>
+                                                        <td colspan="3">
+                                                            <c:out value="${info.usePurpose}" />
+                                                        </td>
+                                                    </tr>
+                                                </table>
+                                                <div class="row mt-3">
+                                                    <div class="col-12">
+                                                        <c:if test="${viewType eq 'MANAGER'}">
+                                                            <div class="text-right">
+                                                                <c:if test="${info.useYn ne 'D'}">
+                                                                    <c:if test="${info.useYn eq 'W'}">
+                                                                        <button type="submit" class="btn btn-primary w100">승인</button>
+                                                                    </c:if>
+                                                                    <c:if test="${info.useYn eq 'C'}">
+                                                                        <button type="submit" class="btn btn-danger w100">해제</button>
+                                                                    </c:if>
+                                                                </c:if>
+                                                                <button type="button" class="btn btn-outline-primary w100" onclick="location.href='./list';">목록</button>
+                                                            </div>
+                                                        </c:if>
+                                                        
+                                                        
+                                                    </div>
+                                                </div>
+                                            </div>
+                                        </form>
+                                    
+                                    </c:otherwise>
+                                </c:choose>
                             </div>
                         </div>
                     </div>

+ 12 - 1
src/main/webapp/WEB-INF/jsp/include/sidebar.jsp

@@ -89,7 +89,7 @@
                         <li class="sidebar-item <c:if test='${data._MENUPATH eq "push"}'>active</c:if>">
                             <a class="sidebar-link" href="/push/list">푸시 서비스 관리</a>
                         </li>
-                        <li class="sidebar-item <c:if test='${data._MENUPATH eq "apiManager"}'>active</c:if>">
+                        <li class="sidebar-item <c:if test='${data._MENUPATH eq "apimanager"}'>active</c:if>">
                             <a class="sidebar-link" href="/apiManager/list">API 서비스 관리</a>
                         </li>
                         
@@ -97,6 +97,17 @@
                             <a class="sidebar-link" href="/role/list">그룹 권한 관리</a>
                         </li>
                     </c:if>
+                    
+                    <c:if test="${data._SES_ID eq 'user' or data._SES_ID eq 'system'}">
+                        <li class="sidebar-item <c:if test='${data._MENUPATH eq "staffmedimanager"}'>active</c:if>">
+                            <a class="sidebar-link" href="/staffMediManager/list">의료인력 현황</a>
+                        </li>
+                        
+                        <li class="sidebar-item <c:if test='${data._MENUPATH eq "staffgovmanager"}'>active</c:if>">
+                            <a class="sidebar-link" href="/staffGovManager/list">행정인력 현황</a>
+                        </li>
+                    </c:if>
+                    
                 </ul>
             </li>
         </ul>