Files
wace_plm/WebContent/WEB-INF/view/partMng/bomReportListDesc.jsp
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- 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
2025-08-29 15:46:08 +09:00

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>