- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
265 lines
9.2 KiB
Plaintext
265 lines
9.2 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@include file= "/init.jsp" %>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
|
|
<!-- //JSTL 변수선언 -->
|
|
<c:set var="totalCount" value="${empty TOTAL_COUNT?0:TOTAL_COUNT}" />
|
|
<c:set var="maxPage" value="${empty MAX_PAGE_SIZE?1:MAX_PAGE_SIZE}" />
|
|
<c:set var="nPage" value="${empty param.page?1:param.page}" />
|
|
<c:set var="pageIndex" value="${(nPage-1)/10}" />
|
|
<c:set var="nextPage" value="${empty NEXT_PAGE?1:NEXT_PAGE}" />
|
|
<c:set var="prevPage" value="${empty PREV_PAGE?1:PREV_PAGE}" />
|
|
|
|
<script type="text/javascript">
|
|
|
|
$(document).ready(function(){
|
|
fnc_datepick();
|
|
|
|
$("input").keyup(function(e){
|
|
if(e.keyCode == 13){
|
|
fn_search();
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
function fn_openQnaFormPopUp(actionType, objId, writerFlag, completeFlag, res_state) {
|
|
|
|
var windowOption = "width=620 height=700 menubar=no status=no";
|
|
completeFlag = fnc_checkNullDefaultValue(completeFlag, 'N');
|
|
var url = "/qna/openQnaReqFormPopUp.do";
|
|
|
|
if (actionType !== "regist") {
|
|
if ("${isAdmin}" === "true") {
|
|
windowOption = "width=1520 height=570 menubar=no status=no";
|
|
url = "/qna/openQnaResFormPopUp.do";
|
|
} else if (writerFlag === "Y") {
|
|
if (res_state === '접수' || res_state === '') {
|
|
windowOption = "width=620 height=700 menubar=no status=no";
|
|
url = "/qna/openQnaReqFormPopUp.do";
|
|
} else {
|
|
windowOption = "width=1520 height=570 menubar=no status=no";
|
|
url = "/qna/openQnaDetailPopUp.do";
|
|
}
|
|
} else {
|
|
windowOption = "width=1520 height=570 menubar=no status=no";
|
|
url = "/qna/openQnaDetailPopUp.do";
|
|
}
|
|
}
|
|
|
|
console.log("Final URL:", url);
|
|
|
|
window.open("", "openQnaFormPopUp", windowOption);
|
|
var form = document.form1;
|
|
form.objId.value = objId;
|
|
form.actionType.value = actionType;
|
|
form.target = "openQnaFormPopUp";
|
|
form.action = url;
|
|
form.submit();
|
|
}
|
|
|
|
|
|
|
|
|
|
function search(){
|
|
document.form1.action="/qna/getQnaList.do";
|
|
document.form1.target="_self";
|
|
document.form1.submit();
|
|
}
|
|
|
|
function fn_search(){
|
|
search();
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body class="backcolor">
|
|
<form name="form1" action="" method="post">
|
|
<input type="hidden" name="objId" id="objId">
|
|
<input type="hidden" name="actionType" id="actionType">
|
|
<section>
|
|
<div class="plm_menu_name_gdnsi">
|
|
<h2>
|
|
<span>Q&A</span>
|
|
</h2>
|
|
|
|
<div class="btnArea">
|
|
<input type="button" value="조회" class="plm_btns" onclick="search();">
|
|
<input type="button" value="등록" class="plm_btns" id="btn_reg_qna" onclick="fn_openQnaFormPopUp('regist','','','');" >
|
|
</div>
|
|
</div>
|
|
<div id="plmSearchZon">
|
|
<table>
|
|
<tr>
|
|
<%--
|
|
<td class="">
|
|
<label for="" class="">구분</label>
|
|
</td>
|
|
<td>
|
|
<select name="systemType" id="systemType">
|
|
<option value="pms" ${'pms' eq systemType?'selected':''}>PMS</option>
|
|
<option value="pdm" ${'pdm' eq systemType?'selected':''}>PDM</option>
|
|
<option value="viewer" ${'viewer' eq systemType?'selected':''}>Viewer</option>
|
|
</select>
|
|
</td>
|
|
--%>
|
|
<td class="">
|
|
<label for="" class="">유형</label>
|
|
</td>
|
|
<td>
|
|
<select name="search_reqcategory" id="search_reqcategory">
|
|
<option ${'' eq param.search_reqcategory ?'selected':''} value="">선택</option>
|
|
<option ${'문의' eq param.search_reqcategory ?'selected':''} value='문의'>문의</option>
|
|
<option ${'확인요청' eq param.search_reqcategory ?'selected':''} value='확인요청'>확인요청</option>
|
|
<option ${'개선요청' eq param.search_reqcategory ?'selected':''} value='개선요청'>개선요청</option>
|
|
<option ${'데이터변경요청' eq param.search_reqcategory ?'selected':''} value='데이터변경요청'>데이터변경요청</option>
|
|
<option ${'데이터삭제요청' eq param.search_reqcategory ?'selected':''} value='데이터삭제요청'>데이터삭제요청</option>
|
|
<option ${'오류' eq param.search_reqcategory ?'selected':''} value='오류'>오류</option>
|
|
<option ${'기타' eq param.search_reqcategory ?'selected':''} value='기타'>기타</option>
|
|
</select>
|
|
</td>
|
|
<td class="">
|
|
<label for="" class="">제목</label>
|
|
</td>
|
|
<td>
|
|
<input type="text" name="search_title" id="search_title" value="${param.search_title}">
|
|
</td>
|
|
<td class="">
|
|
<label for="" class="">작성일</label>
|
|
</td>
|
|
<td>
|
|
<input type="text" id="search_reqDateFrom" name="search_reqDateFrom" class="date_margin" value="${param.search_reqDateFrom}"> ~ <input type="text" id="search_reqDateTo" name="search_reqDateTo" value="${param.search_reqDateTo}">
|
|
</td>
|
|
<td class="">
|
|
<label for="" class="">상태</label></td>
|
|
<td>
|
|
<select name="search_resstate" id="search_resstate">
|
|
<option ${'' eq param.search_resstate ?'selected':''} value="">선택</option>
|
|
<option ${'접수' eq param.search_resstate ?'selected':''} value='접수'>접수</option>
|
|
<option ${'진행중' eq param.search_resstate ?'selected':''} value='진행중'>진행중</option>
|
|
<option ${'보류' eq param.search_resstate ?'selected':''} value='보류'>보류</option>
|
|
<option ${'완료' eq param.search_resstate ?'selected':''} value='완료'>완료</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="contents_page_basic_margin">
|
|
<!--
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap">
|
|
<input type="button" value="조회" class="plm_btns" onclick="search();">
|
|
<input type="button" value="등록" class="plm_btns" id="btn_reg_qna" onclick="fn_openQnaFormPopUp('regist','','','');" >
|
|
</div>
|
|
</div>
|
|
-->
|
|
<div class="plm_table_wrap">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="4%" />
|
|
<!--
|
|
<col width="6%" />
|
|
<col width="6%" />
|
|
-->
|
|
<col width="10%" />
|
|
<col width="30%" />
|
|
<col width="15%" />
|
|
<col width="10%" />
|
|
<col width="10%" />
|
|
<col width="10%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>No</td>
|
|
<!--
|
|
<td>구분</td>
|
|
<td>카테고리</td>
|
|
-->
|
|
<td>요청유형</td>
|
|
<td>제목</td>
|
|
<td>작성자</td>
|
|
<td>작성일</td>
|
|
<td>상태</td>
|
|
<td>예정일</td>
|
|
<td>완료일</td>
|
|
</tr>
|
|
</thead>
|
|
<c:choose>
|
|
<c:when test="${empty LIST}">
|
|
<tr style="text-align:center;">
|
|
<td align="center" colspan="7">조회된 데이터가 없습니다.</td>
|
|
</tr>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:forEach var="item" items="${LIST}" varStatus="varStatus">
|
|
<tr style="text-align:center;${'checked' eq item.IMPORTANT?'font-weight:bold;background-color:red;':''}">
|
|
<td>${item.QNA_NO}</td>
|
|
<%--
|
|
<td>${item.SYSTEM_TYPE_TITLE}</td>
|
|
<td>${item.CATEGORY}</td>
|
|
--%>
|
|
<td>${item.REQ_CATEGORY}</td>
|
|
<td class="align_l4"><a href="#" onclick="fn_openQnaFormPopUp('','${item.OBJID}','${item.REQ_WRITER_FLAG}','${item.COMPLETE_FLAG}','${item.RES_STATE}');">${item.TITLE}</a></td>
|
|
<td>${item.REQ_DEPT_NAME} ${item.REQ_USER_NAME}</td>
|
|
<td>${item.REQ_REGDATE_TITLE}</td>
|
|
<td>${item.RES_STATE}</td>
|
|
<td>${item.PLAN_DATE}</td>
|
|
<td>${item.ACT_DATE}</td>
|
|
</tr>
|
|
</c:forEach>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</table>
|
|
</div>
|
|
<div class="pdm_page">
|
|
<input type="hidden" name="page" id="page" value="${nPage}">
|
|
<c:if test="${!empty LIST}">
|
|
<div class="page_pro">
|
|
<table>
|
|
<tr>
|
|
<c:choose>
|
|
<c:when test="${nPage > 1}">
|
|
<td><a href="javascript:fnc_goPrev('${prevPage}');">prev</a></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td class="no_more_page">prev</td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
<c:forEach var="v" begin="${nPage>5?nPage-5:1}"
|
|
end="${nPage>5?nPage+4:10}" step="1" varStatus="status">
|
|
<c:if test="${status.index -1 < maxPage}">
|
|
<c:choose>
|
|
<c:when test="${status.index eq nPage}">
|
|
<td><a href="#" class="now_page">${nPage}</a></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td><a href="javascript:fnc_goPage('${status.index}');">${status.index}</a></td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</c:if>
|
|
</c:forEach>
|
|
<c:choose>
|
|
<c:when test="${nPage < maxPage}">
|
|
<td><a href="javascript:fnc_goNext('${nextPage}');">next</a></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td class="no_more_page">next</td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tr>
|
|
</table>
|
|
<p id="adminPageCount">총 ${totalCount}건</p>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |