- 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
328 lines
13 KiB
Plaintext
328 lines
13 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="now" value="<%=new java.util.Date() %>"/>
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
|
|
<c:set var="connector" value="<%=connector%>" />
|
|
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
$(document).ready(function() {
|
|
fnc_datepick();
|
|
|
|
$("input[type=text]").keyup(function(e) {
|
|
if (e.keyCode == 13)
|
|
search();
|
|
});
|
|
|
|
$("#btnDelete").click(function(){
|
|
fn_deletePartMng();
|
|
});
|
|
|
|
//구조등록
|
|
$("#btnDesign").click(function(){
|
|
fn_partMngDeploy();
|
|
});
|
|
|
|
//image src encoding
|
|
$("img").each(function(i) {
|
|
var imgSrc = $(this).attr("data-SRC");
|
|
$(this).attr("src", encodeURI(imgSrc));
|
|
});
|
|
|
|
//체크박스 전체선택/전체해제
|
|
$("#allCheck").click(function() {
|
|
if ($("#allCheck").prop("checked")) {
|
|
$("input[type=checkbox]").prop("checked", true);
|
|
} else {
|
|
$("input[type=checkbox]").prop("checked", false);
|
|
}
|
|
});
|
|
|
|
$("#btnSearch").click(function() {
|
|
fn_search();
|
|
});
|
|
|
|
$("#btnExcel").click(function() {
|
|
fn_excel();
|
|
});
|
|
|
|
|
|
|
|
$("#search_customer").change(function(){
|
|
$("#search_car_type").empty();
|
|
|
|
if("" != this.value){
|
|
fnc_getCarList("", this.value, "search_car_type","${param.search_car_type}");
|
|
}
|
|
});
|
|
|
|
$("#search_product_group").change(function(){
|
|
$("#search_product").empty();
|
|
|
|
if("" != this.value){
|
|
fnc_getCodeListAppend(this.value,"search_product","${param.search_product}");
|
|
}
|
|
});
|
|
|
|
fnc_getOEMList("search_customer", "${param.search_customer}");
|
|
|
|
if("" != "${param.search_customer}"){
|
|
fnc_getCarList("", "${param.search_customer}", "search_car_type","${param.search_car_type}");
|
|
}
|
|
|
|
fnc_getCodeListAppend("<%=Constants.PRODUCT_GROUP_CODE%>","search_product_group","${param.search_product_group}");
|
|
fnc_getCodeListAppend("<%=Constants.MATERIAL_CODE%>","search_material","${param.search_material}");
|
|
|
|
$('.select2').select2();
|
|
|
|
$("#search_mold_dev").val("${param.search_mold_dev}");
|
|
$("#search_revision_release").val("${param.search_revision_release}");
|
|
});
|
|
});
|
|
|
|
//구조등록 팝업
|
|
function fn_bomDesignPopUp(objId){
|
|
var hiddenForm = document.hiddenForm;
|
|
var url = "/partMng/partMngFormPopUp.do";
|
|
|
|
if("" != objId){
|
|
url = "/partMng/partMngDetailPopUp.do";
|
|
}
|
|
|
|
var target = "partMngPopUp";
|
|
|
|
window.open(url,target,"width=600, height=700, menubars=no, scrollbars=yes, resizable=yes");
|
|
|
|
hiddenForm.action = url;
|
|
hiddenForm.OBJID.value = objId;
|
|
hiddenForm.target = target;
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
function fn_search() {
|
|
document.form1.action = "/partMng/partMngList.do";
|
|
document.form1.submit();
|
|
}
|
|
|
|
function fn_excel() {
|
|
document.form1.actionType.value = "excel";
|
|
fn_search();
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body class="backcolor">
|
|
<form name="hiddenForm" id="hiddenForm" method="post">
|
|
<input type="hidden" name="OBJID" id="OBJID">
|
|
</form>
|
|
<form name="form1" id="form1" method="post">
|
|
<input type="hidden" name="actionType" id="actionType">
|
|
<div class="min_part_enroll">
|
|
<div class="content-box">
|
|
<div class="content-box-s">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>설계관리_Part 조회</span>
|
|
</h2>
|
|
</div>
|
|
<div id="plmSearchZon">
|
|
<table>
|
|
<tbody>
|
|
<tr>
|
|
<td><label for="">고객사</label></td>
|
|
<td>
|
|
<select name="search_customer" id="search_customer" style="width:200px;" autocomplete="off" class="select2"></select>
|
|
</td>
|
|
<td><label for="">차종</label></td>
|
|
<td>
|
|
<select name="search_car_type" id="search_car_type" style="width:200px;" autocomplete="off" class="select2"></select>
|
|
</td>
|
|
<td><label for="">제품군</label></td>
|
|
<td>
|
|
<select name="search_product_group" id="search_product_group" style="width:200px;" autocomplete="off" class="select2"></select>
|
|
</td>
|
|
<td><label for="">재질</label></td>
|
|
<td>
|
|
<select name="search_material" id="search_material" style="width:200px;" autocomplete="off" class="select2"></select>
|
|
</td>
|
|
<td><label for="">품번</label></td>
|
|
<td>
|
|
<input type="text" name="search_part_no" id="search_part_no" style="width:200px;" autocomplete="off" value="${param.search_part_no}">
|
|
</td>
|
|
<td><label for="">품명</label></td>
|
|
<td>
|
|
<input type="text" name="search_part_name" id="search_part_name" style="width:200px;" autocomplete="off" value="${param.search_part_name}">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="">EO No.</label></td>
|
|
<td>
|
|
<input type="text" name="search_eo" id="search_eo" style="width:200px;" autocomplete="off" value="${param.search_eo}">
|
|
</td>
|
|
<td><label for="">EO Date</label></td>
|
|
<td>
|
|
<input type="text" name="search_eo_date_from" id="search_eo_date_from" style="width:90px;" autocomplete="off" value="${param.search_eo_date_from}">~
|
|
<input type="text" name="search_eo_date_to" id="search_eo_date_to" style="width:90px;" autocomplete="off" value="${param.search_eo_date_to}">
|
|
</td>
|
|
<td><label for="">Revision</label></td>
|
|
<td>
|
|
<select name="search_revision_release" id="search_revision_release" style="width:200px;" autocomplete="off">
|
|
<option value="">선택</option>
|
|
<option value="1">current</option>
|
|
<option value="0">all</option>
|
|
</select>
|
|
</td>
|
|
<td><label for="">금형개발</label></td>
|
|
<td>
|
|
<select name="search_mold_dev" id="search_mold_dev" style="width:200px;" autocomplete="off">
|
|
<option value="">선택</option>
|
|
<option value="new">신규</option>
|
|
<option value="carryOver">C/O</option>
|
|
</select>
|
|
</td>
|
|
<td><label for="">표면처리</label></td>
|
|
<td colspan="2">
|
|
<input type="text" name="search_surface_treatment" id="search_surface_treatment" style="width:200px;" autocomplete="off" value="${param.search_surface_treatment}">
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="contents_page_basic_margin">
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap">
|
|
<input type="button" value="Excel Download" class="plm_btns" id="btnExcel">
|
|
<input type="button" value="구조등록" class="plm_btns" id="btnDesign">
|
|
<input type="button" value="조회" class="plm_btns" id="btnSearch">
|
|
</div>
|
|
</div>
|
|
<div class="ascendig_text">
|
|
<font size="3px">총 ${fn:length(LIST)}건</font>
|
|
</div>
|
|
<div class="plm_table_wrap">
|
|
<div style="overflow-y:scroll;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="2%" />
|
|
<col width="4%" /> <!-- 순 -->
|
|
<col width="13%" /> <!-- 품번 -->
|
|
<col width="13%" /> <!-- 품명 -->
|
|
<col width="9%" /> <!-- 형상 -->
|
|
<col width="8%" /> <!-- EO No -->
|
|
<col width="7%" /> <!-- EO Date -->
|
|
<col width="5%" /> <!-- Revision -->
|
|
<col width="5%" /> <!-- 수량 -->
|
|
<col width="9%" /> <!-- 재질 -->
|
|
<col width="9%" /> <!-- 중량 -->
|
|
<col width="7%" /> <!-- SIZE -->
|
|
<col width="8%" /> <!-- 표면처리 -->
|
|
<col width="8%" /> <!-- SPEC -->
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td rowspan="2">
|
|
<input type="checkbox" id="allCheck" class="checkBox">
|
|
</td>
|
|
<td rowspan="2">순</td>
|
|
<td rowspan="2">품번</td>
|
|
<td rowspan="2">품명</td>
|
|
<td rowspan="2">형상</td>
|
|
<td rowspan="2">EO No</td>
|
|
<td rowspan="2">EO Date</td>
|
|
<td rowspan="2">Revision</td>
|
|
<td rowspan="2">수량</td>
|
|
<td rowspan="2">재질</td>
|
|
<td rowspan="2">중량</td>
|
|
<td rowspan="2">SIZE</td>
|
|
<td rowspan="2">표면처리</td>
|
|
<td rowspan="2">SPEC</td>
|
|
<td colspan="2">금형개발</td>
|
|
</tr>
|
|
<tr class="plm_thead">
|
|
<td>신규</td>
|
|
<td>C/O</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<div class="plm_scroll_table" style="height:500px;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="2%" />
|
|
<col width="4%" /> <!-- 순 -->
|
|
<col width="13%" /> <!-- 품번 -->
|
|
<col width="13%" /> <!-- 품명 -->
|
|
<col width="9%" /> <!-- 형상 -->
|
|
<col width="8%" /> <!-- EO No -->
|
|
<col width="7%" /> <!-- EO Date -->
|
|
<col width="5%" /> <!-- Revision -->
|
|
<col width="5%" /> <!-- 수량 -->
|
|
<col width="9%" /> <!-- 재질 -->
|
|
<col width="9%" /> <!-- 중량 -->
|
|
<col width="7%" /> <!-- SIZE -->
|
|
<col width="8%" /> <!-- 표면처리 -->
|
|
<col width="8%" /> <!-- SPEC -->
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
</colgroup>
|
|
<c:choose>
|
|
<c:when test="${empty LIST}">
|
|
<tr style="text-align: center;">
|
|
<td align="center" colspan="16">조회된 데이터가 없습니다.</td>
|
|
</tr>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:forEach var="item" items="${LIST}" varStatus="varStatus">
|
|
<tr>
|
|
<td><input type="checkbox" name="OBJID" value="${item.OBJID}" data-STATUS="${item.STATUS_TITLE}" data-WRITER="${item.WRITER}"></td>
|
|
<td>${item.RNUM}</td><!-- 순 -->
|
|
<td title="${item.PART_NO}"><a href="#" onclick="openPartMngPopup('${item.OBJID}');">${item.PART_NO}</a></td><!-- 품번 -->
|
|
<td title="${item.PART_NAME}">${item.PART_NAME}</td><!-- 품명 -->
|
|
<td title="">
|
|
<c:if test="${!empty item.SAVED_FILE_NAME and !empty item.REAL_FILE_NAME and !empty item.FILE_PATH}">
|
|
<img src="#" height='85px' width='100%' onclick="fnc_openImagePopUp(this.src)" data-SRC="/common/viewImage.do?realFileName=${item.REAL_FILE_NAME}&savedFileName=${item.SAVED_FILE_NAME}&attDir=${item.FILE_PATH}"/>
|
|
</c:if>
|
|
</td><!-- 형상 -->
|
|
<td title="${item.EO_NO}">${item.EO_NO}</td><!-- EO No -->
|
|
<td title="${item.EO_DATE_TITLE}">${item.EO_DATE_TITLE}</td><!-- EO Date -->
|
|
<td title="${item.REVISION}">${item.REVISION}</td><!-- Revision -->
|
|
<td title="${item.QTY}">${item.QTY}</td><!-- 수량 -->
|
|
<td title="${item.MATERIAL}">${item.MATERIAL}</td><!-- 재질 -->
|
|
<td title="${item.WEIGHT}">${item.WEIGHT}</td><!-- 중량 -->
|
|
<td title="${item.SIZE}">${item.SIZE}</td><!-- SIZE -->
|
|
<td title="${item.SURFACE_TREATMENT}">${item.SURFACE_TREATMENT}</td><!-- 표면처리 -->
|
|
<td title="${item.SPEC_NO}">${item.SPEC_NO}</td><!-- SPEC -->
|
|
<td title="">${'new' eq item.MOLD_DEV ? 'O':''}</td><!-- 신규 -->
|
|
<td title="">${'carryOver' eq item.MOLD_DEV ? 'O':''}</td><!-- C/O -->
|
|
</tr>
|
|
</c:forEach>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |