- 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
330 lines
12 KiB
Plaintext
330 lines
12 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
|
pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@ page import="java.util.*"%>
|
|
<%@include file= "/init.jsp" %>
|
|
<%
|
|
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
|
String connector = person.getUserId();
|
|
%>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
<c:set var="connector" value="<%=connector %>" />
|
|
<c:set var="now" value="<%=new java.util.Date() %>"/>
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
|
|
<style>
|
|
.select2-selection__choice {
|
|
font-size: 11px;
|
|
background-color: #fff !important;
|
|
border: none !important;
|
|
margin-right: 0px !important;
|
|
}
|
|
.select2-selection__choice__remove {
|
|
display: contents !important;
|
|
}
|
|
.select2-container .select2-selection--multiple {
|
|
min-height: 20px !important;
|
|
}
|
|
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
|
margin-top: 3.5px !important;
|
|
}
|
|
.select2-selection__rendered {
|
|
height: 18px !important;
|
|
}
|
|
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
|
overflow: auto !important;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
$(function(){
|
|
|
|
$("._table1").scroll(function () {
|
|
$("._table2").scrollLeft($("._table1").scrollLeft());
|
|
});
|
|
$("._table2").scroll(function () {
|
|
$("._table1").scrollTop($("._table2").scrollTop());
|
|
$("._table1").scrollLeft($("._table2").scrollLeft());
|
|
});
|
|
|
|
$("#btnSearch").click(function(){
|
|
$("#page").val("1");
|
|
fn_search();
|
|
});
|
|
|
|
//구조 등록
|
|
$("#btnReg").click(function(){
|
|
fn_investmentCostPopUp("");
|
|
});
|
|
|
|
//엔터 조회
|
|
$("input").keyup(function(e){
|
|
if(e.keyCode == 13){
|
|
$("#page").val("1");
|
|
fn_search();
|
|
}
|
|
|
|
});
|
|
|
|
$("#btnDelete").click(function(){
|
|
fn_delete();
|
|
});
|
|
|
|
$('.select2').select2();
|
|
|
|
fnc_datepick();
|
|
|
|
/* fnc_yearPick(); */
|
|
|
|
$("#SEARCH_OEM_OBJID").change(function(){
|
|
if("" != this.value){
|
|
fnc_getCarList("", this.value, "SEARCH_CAR_OBJID","");
|
|
}
|
|
});
|
|
|
|
$("#SEARCH_PRODUCT_GROUP_OBJID").change(function(){
|
|
$("#SEARCH_PRODUCT_OBJID").empty();
|
|
|
|
if("" != this.value){
|
|
fnc_getProductList(this.value, "SEARCH_PRODUCT_OBJID","");
|
|
}
|
|
});
|
|
|
|
if("${code_map.cs_category}"!=""){
|
|
fnc_getCodeListAppend("${code_map.cs_category}","category_h","${info.CATEGORY_H}");
|
|
}
|
|
|
|
$("#cs_category").change(function(){
|
|
if($(this).val()!=""){
|
|
|
|
fnc_getCodeListAppend($(this).val(),"category_h","");
|
|
}
|
|
});
|
|
|
|
var busArry = "${param.project_nos}".split(",");
|
|
|
|
if(busArry != '' && busArry != null){
|
|
for(var i=0;i<busArry.length;i++){
|
|
$("#project_no option[value="+busArry[i]+"]").attr("selected",true);
|
|
}
|
|
}
|
|
$("#project_no").select2({multiple: true});
|
|
});
|
|
|
|
function fn_searchLink(product_cd, project_no, warranty,category_h) {
|
|
//페이지이동 검색조건 param
|
|
var Year = $("#Year").val();
|
|
|
|
var url = "/as/asMngList.do?Year="+Year+"&product="+product_cd+"&product_cd="+product_cd+"&project_no_txt="+project_no+"&warranty="+warranty+"&category_h="+category_h+"&appr_status=complete";
|
|
|
|
document.form1.action = url;
|
|
document.form1.submit();
|
|
|
|
}
|
|
|
|
function fn_search(){
|
|
var selectedValues = $("#project_no").val();
|
|
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
name: 'project_nos',
|
|
value: selectedValues
|
|
}).appendTo('#form1');
|
|
|
|
document.form1.action = "/as/asList.do";
|
|
document.form1.submit();
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body style="overflow-x: hidden;">
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<div style="min-width:1680px;">
|
|
<div class="content-box">
|
|
<div class="plm_menu_name_gdnsi">
|
|
<h2>
|
|
<span>CS관리_현황</span>
|
|
</h2>
|
|
<div class="btnArea">
|
|
<input type="button" class="plm_btns" value="조회" id="btnSearch">
|
|
</div>
|
|
</div>
|
|
<div id="plmSearchZon">
|
|
<table>
|
|
<tr>
|
|
<td><label for="Year">년도</label></td>
|
|
<td>
|
|
<select name="Year" id="Year" class="select2" autocomplete="off">
|
|
<option value="">선택</option>
|
|
<c:forEach begin="${sysYear-4}" end="${sysYear}" var="req_year">
|
|
<option value="${req_year}"${param.Year eq req_year ? 'selected':'' }>${req_year}</option>
|
|
</c:forEach>
|
|
</select>
|
|
</td>
|
|
<td><label for="">제품구분</label></td>
|
|
<td><select name="product_cd" id="product_cd" class="select2" autocomplete="off"><option value="">선택</option>${code_map.product_cd}</select></td>
|
|
|
|
<td><label for="project_no">프로젝트번호</label></td>
|
|
<td>
|
|
<select name="project_no" id="project_no" style="width:300px;" class="select2" autocomplete="off" multiple="multiple">
|
|
<option value="">선택</option>
|
|
${code_map.project_no}
|
|
</select>
|
|
</td>
|
|
|
|
<td><label for="">유/무상</label></td>
|
|
<td><select name="warranty" id="warranty" class="select2" autocomplete="off"><option value="">선택</option>${code_map.warranty}</select></td>
|
|
|
|
<td><label for="">CS구분</label></td>
|
|
<td><select name="cs_category" id="cs_category" class="select2" autocomplete="off" ><option value="">선택</option>${code_map.cs_category}</select></td>
|
|
|
|
<td><label for="">유형</label></td>
|
|
<td><select name="category_h" id="category_h" class="select2" def-value="${info.CATEGORY_H}" reqTitle="유형" type="select"><option value="">선택</option></select></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<section class="contents_page_basic_margin">
|
|
<div>
|
|
<font size="2px" class="total_count_text">총 ${(!empty LIST) ? fn:length(LIST):'0'} 건</font>
|
|
</div>
|
|
<div class="in_table_scroll_wrap _table1" style="height:79px;width:100%;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="70px"><!-- 제품구분 -->
|
|
<col width="100px"><!-- 당사프로젝트 번호 -->
|
|
|
|
<col width="80px"><!-- 유상 -->
|
|
<col width="80px"><!-- 발생비용 -->
|
|
<col width="80px"><!-- 무상 -->
|
|
<col width="80px"><!-- 발생비용 -->
|
|
|
|
<c:choose>
|
|
<c:when test="${!empty columnList}">
|
|
<c:forEach var="header" items="${columnList}" varStatus="status">
|
|
<col width="80px">
|
|
</c:forEach>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<col width="80px">
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td rowspan="3">제품구분(기계형식)</td>
|
|
<td rowspan="3">프로젝트번호</td>
|
|
<td rowspan="3">유상</td>
|
|
<td rowspan="3">발생비용</td>
|
|
<td rowspan="3">무상</td>
|
|
<td rowspan="3">발생비용</td>
|
|
<td colspan="${(!empty columnList) ? fn:length(columnList):'0'}">유형</td>
|
|
</tr>
|
|
<tr class="plm_sub_thead">
|
|
<c:choose>
|
|
<c:when test="${!empty columnList}">
|
|
<c:forEach var="colData" items="${columnList}" varStatus="status">
|
|
<c:set var="colName" value="${colData.COL_NAME}" />
|
|
<c:set var="headerTitle" value="${colData.NAME}" />
|
|
<c:set var="groupHeaderTitle" value="${colData.GROUP_NAME}" />
|
|
<c:set var="groupSeq" value="${colData.GROUP_SEQ}" />
|
|
<c:set var="groupCnt" value="${colData.GROUP_CNT}" />
|
|
|
|
<c:if test="${'1' eq groupSeq}">
|
|
<td colspan="${(!empty groupCnt) ? groupCnt:'0'}">${groupHeaderTitle}</td>
|
|
</c:if>
|
|
</c:forEach>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td></td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tr>
|
|
<tr class="plm_sub_thead">
|
|
<c:choose>
|
|
<c:when test="${!empty columnList}">
|
|
<c:forEach var="colData" items="${columnList}" varStatus="status">
|
|
<c:set var="colName" value="${colData.COL_NAME}" />
|
|
<c:set var="headerTitle" value="${colData.NAME}" />
|
|
|
|
<td>${headerTitle}</td>
|
|
</c:forEach>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td></td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="in_table_scroll_wrap _table2" style="height:600px; width:100%; overflow-y:auto;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="70px"><!-- 제품구분 -->
|
|
<col width="100px"><!-- 당사프로젝트 번호 -->
|
|
|
|
<col width="80px"><!-- 유상 -->
|
|
<col width="80px"><!-- 발생비용 -->
|
|
<col width="80px"><!-- 무상 -->
|
|
<col width="80px"><!-- 발생비용 -->
|
|
|
|
<c:choose>
|
|
<c:when test="${!empty columnList}">
|
|
<c:forEach var="colData" items="${columnList}" varStatus="status">
|
|
<col width="80px"><!-- ES SPEC -->
|
|
</c:forEach>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<col width="80px"><!-- ES SPEC -->
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</colgroup>
|
|
<tbody>
|
|
<c:choose>
|
|
<c:when test="${!empty LIST}">
|
|
<c:forEach var="info" items="${LIST}" varStatus="status">
|
|
<tr>
|
|
<td title="${info.PRODUCT_NAME}">${info.PRODUCT_NAME}(${info.MECHANICAL_TYPE})</td>
|
|
<td title="${info.PROJECT_NO}">${info.PROJECT_NO}</td>
|
|
<td title="${info.WARRANTY1}"><a href="#" onclick="fn_searchLink('${info.PRODUCT}','${info.PROJECT_NO}','0000157','');">${info.WARRANTY1}</a></td>
|
|
<td title="${info.COST1}"><a href="#" onclick="fn_searchLink('${info.PRODUCT}','${info.PROJECT_NO}','0000157','');">${info.COST1}</a></td>
|
|
<td title="${info.WARRANTY2}"><a href="#" onclick="fn_searchLink('${info.PRODUCT}','${info.PROJECT_NO}','0000158','');">${info.WARRANTY2}</a></td>
|
|
<td title="${info.COST2}"><a href="#" onclick="fn_searchLink('${info.PRODUCT}','${info.PROJECT_NO}','0000158','');">${info.COST2}</a></td>
|
|
|
|
<c:choose>
|
|
<c:when test="${!empty columnList}">
|
|
<c:forEach var="colData" items="${columnList}" varStatus="status">
|
|
<c:set var="code" value="${colData.CODE_ID}" />
|
|
<c:set var="colName" value="${colData.COL_NAME}" />
|
|
<c:set var="headerTitle" value="${colData.NAME}" />
|
|
|
|
<td><a href="#" onclick="fn_searchLink('${info.PRODUCT}','${info.PROJECT_NO}','','${code}');">${info[colName]}</a></td>
|
|
</c:forEach>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td></td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tr>
|
|
</c:forEach>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<tr>
|
|
<td colspan="33" align="center">조회된 데이터가 없습니다.</td>
|
|
</tr>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |