Files
vexplor/WebContent/WEB-INF/view/part/structureAscendingList.jsp
2025-08-21 09:41:46 +09:00

462 lines
16 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>
<script>
$(function(){
//차명 조회
$("#search_oemObjId").change(function(){
$(".carTypeDataOptions").remove();
if($(this).val() != ""){
$.ajax({
/* url:"/common/getCarTypetList_combo.do", */
url:"/admin/getOEMsCarList.do",
type:"POST",
data:{"oemObjId":$(this).val(), "status" : "active"},
dataType:"json",
async:true,
success:function(data){
//Swal.fire(data.length);
$.each(data, function(i){
$("#search_carObjId").append("<option value=\""+data[i].OBJID+"\" class=\"carTypeDataOptions\" "+(data[i].OBJID == '${param.search_carObjId}'?'selected':'')+">"+data[i].CAR_NAME+"("+data[i].CAR_CODE+")"+"</option>");
});
},
error: function(jqxhr, status, error){
/* Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
Swal.fire(jqxhr.status);
Swal.fire(jqxhr.responseText); */
}
});
}
});
$("input[type=text]").keyup(function(e){
if(e.keyCode == 13){
$("#btnSearch").trigger("click");
}
});
$("#btnSearch").click(function(){
$("#search_partNo").val($.trim($("#search_partNo").val()));
$("#search_partName").val($.trim($("#search_partName").val()));
document.form1.actionType.value = "";
document.form1.action = "/part/structureAscendingList.do";
document.form1.submit();
});
$("#btnExcel").click(function(){
$("#search_partNo").val($.trim($("#search_partNo").val()));
$("#search_partName").val($.trim($("#search_partName").val()));
document.form1.actionType.value = "excel";
document.form1.action = "/part/structureAscendingList.do";
document.form1.submit();
});
//1level만 활성화 시킨다.
$(".dataTr").each(function(i){
var lev = $(this).attr("data-LEVEL");
if(lev == 1){
$(this).show();
}
});
/*
//클릭시 하위정보를 토글한다.
$(".dataTr").click(function(){
var choosedLev = $(this).attr("data-LEVEL");
var choosedBomObjId = $(this).attr("data-BOM_REPORT_OBJID");
$(".dataTr").each(function(i){
var bomReportObjId = $(this).attr("data-BOM_REPORT_OBJID");
var lev = $(this).attr("data-LEVEL");
if(bomReportObjId == choosedBomObjId){
//Swal.fire("bomReportObjId : "+bomReportObjId+", choosedBomObjId : "+choosedBomObjId);
if(lev != "1"){
$(this).toggle();
}
}
});
});
*/
$(".btnToggle").click(function() {
var src = $(this).attr("src");
if (src.indexOf("Plus") > -1) {
$(this).attr("src", "/images/btnMinus.png");
} else if (src.indexOf("Minus") > -1) {
$(this).attr("src", "/images/btnPlus.png");
}
var choosedBomObjId = $(this).attr("data-BOM_REPORT_OBJID");
var choosedObjId = $(this).attr("data-OBJID");
var choosedTopObjId = $(this).attr("data-TOP_OBJID");
var choosedSubTopObjId = $(this).attr("data-SUB_TOP_OBJID");
//Swal.fire("choosedBomObjId : "+choosedBomObjId+"\nchoosedObjId : "+choosedObjId+"\nchoosedTopObjId : "+choosedTopObjId+"\nchoosedSubTopObjId : "+choosedSubTopObjId);
$(".dataTr").each(function(i) {
var bomReportObjId = $(this).attr("data-BOM_REPORT_OBJID");
var objId = $(this).attr("data-OBJID");
var topObjId = $(this).attr("data-TOP_OBJID");
var subTopObjId = $(this).attr("data-SUB_TOP_OBJID");
//Swal.fire("bomReportObjId : "+bomReportObjId+"\nobjId : "+objId+"\ntopObjId : "+topObjId+"\nsubTopObjId : "+subTopObjId);
var lev = $(this).attr("data-LEVEL");
if (choosedTopObjId == topObjId) {
//Swal.fire("bomReportObjId : "+bomReportObjId+", choosedBomObjId : "+choosedBomObjId);
if (lev != "1") {
var topObjId = $(this).attr("data-TOP_OBJID");
var realLevel = $(this).attr("data-REAL_LEVEL");
//Swal.fire(realLevel);
//Swal.fire("11 choosedObjId : "+choosedObjId+", topObjId : "+topObjId);
if (realLevel != "1") {
topObjId = $(this).attr("data-SUB_TOP_OBJID");
}
//Swal.fire("22 choosedObjId : "+choosedObjId+", topObjId : "+topObjId);
if (choosedObjId == topObjId) {
$(this).toggle();
}
}
}
});
});
/* $(".btnToggle").click(function(){
var src = $(this).attr("src");
if(src.indexOf("Plus")>-1){
$(this).attr("src", "/images/btnMinus.png");
}else if(src.indexOf("Minus")>-1){
$(this).attr("src", "/images/btnPlus.png");
}
var choosedBomObjId = $(this).attr("data-BOM_REPORT_OBJID");
var choosedObjId = $(this).attr("data-OBJID");
$(".dataTr").each(function(i){
var bomReportObjId = $(this).attr("data-BOM_REPORT_OBJID");
var lev = $(this).attr("data-LEVEL");
if(bomReportObjId == choosedBomObjId){
//Swal.fire("bomReportObjId : "+bomReportObjId+", choosedBomObjId : "+choosedBomObjId);
if(lev != "1"){
var topObjId = $(this).attr("data-TOP_OBJID");
var realLevel = $(this).attr("data-REAL_LEVEL");
//Swal.fire(realLevel);
//Swal.fire("11 choosedObjId : "+choosedObjId+", topObjId : "+topObjId);
if(realLevel != "1"){
topObjId = $(this).attr("data-SUB_TOP_OBJID");
}
//Swal.fire("22 choosedObjId : "+choosedObjId+", topObjId : "+topObjId);
if(choosedObjId == topObjId){
$(this).toggle();
}
}
}
});
}); */
//level별 색상
$(".dataTr").each(function(i) {
var lev = $(this).attr("data-REAL_LEVEL");
if (lev == 1) {
$(this).css("background-color", "#fde9d9");
} else if (lev == 2) {
$(this).css("background-color", "#daeef3");
} else if (lev == 3) {
$(this).css("background-color", "#e4dfec");
} else if (lev == 4) {
$(this).css("background-color", "#ebf1de");
} else if (lev == 5) {
$(this).css("background-color", "#f2f2f2");
} else if (lev == 6) {
$(this).css("background-color", "#f2dcdb");
} else if (lev == 7) {
$(this).css("background-color", "#eeece1");
} else if (lev == 8) {
$(this).css("background-color", "#dce6f1");
} else if (lev == 9) {
$(this).css("background-color", "#FFFFEB");
} else if (lev == 10) {
$(this).css("background-color", "#ffffff");
}
});
$(".btnEODetail").click(function() {
var objId = $(this).attr("data-EO_OBJID");
fn_openEOPopup(objId);
});
$(".btnPartDetail").click(function() {
var objId = $(this).attr("data-PART_OBJID");
fn_openPartPopup(objId);
});
$(document).ready(function() {
$("#search_oemObjId").trigger("change");
});
});
function fn_check() {
var carTypeObjId = fnc_checkNull($("#search_carObjId").val());
var productObjId = fnc_checkNull($("#search_productObjId").val());
var partNo = fnc_checkNull($("#search_partNo").val());
var partName = fnc_checkNull($("#search_partName").val());
if (carTypeObjId == "" && productObjId == "" && partNo == ""
&& partName == "") {
Swal.fire("조회조건을 설정해주시기 바랍니다.");
return false;
}
if (partName == "" && partNo.length < 5) {
Swal.fire("Part No는 최소 5자이상 입력하시기 바랍니다.");
return false;
}
if (partNo == "" && partName.length < 5) {
Swal.fire("Part Name은 최소 5자이상 입력하시기 바랍니다.");
return false;
}
return true;
}
function fn_openEOPopup(objId) {
window.open("/eo/eoDetailViewPopup.do?objId=" + objId,
"tempEoListPopup", "width=1500,height=700");
}
function fn_openPartPopup(objId) {
window
.open("/part/partDetailViewPopup.do?objid=" + objId,
"tempPartListPopup",
"width=720, height=800, menubars=no, scrollbars=yes, resizable=yes");
}
</script>
</head>
<body class="backcolor">
<form name="hiddenForm" id="hiddenForm" method="post">
<input type="hidden" name="actionType" id="actionType">
<input type="hidden" name="objId" id="objId">
<input type="hidden" name="objid" id="objid">
</form>
<form name="form1" action="" method="post">
<input type="hidden" name="actionType" value="" />
<section class="min_part_enroll" style="min-width:2550px;">
<div class="plm_menu_name">
<h2>
<span>BOM 조회(정전개)</span>
</h2>
</div>
<div id="plmSearchZon">
<table>
<tbody>
<tr>
<td class="align_r">
<label for="" class="">고객사</label>
</td>
<td>
<select name="search_oemObjId" id="search_oemObjId">
<option value="">선택</option>
<c:forEach var="item" items="${OEM_LIST}" varStatus="status">
<option value="${item.OBJID}" ${item.OBJID eq param.search_oemObjId?'selected':''}>${item.OEM_NAME}(${item.OEM_CODE})</option>
</c:forEach>
</select>
</td>
<td class="align_r">
<label for="" class="">차종</label>
</td>
<td>
<select name="search_carObjId" id="search_carObjId">
<option value="">선택</option>
</select>
</td>
<td class="align_r">
<label>제품</label>
</td>
<td>
<select name="search_productObjId" id="search_productObjId">
<option value="">선택</option>
<c:forEach var="item" items="${PRODUCT_LIST}" varStatus="status">
<option value="${item.OBJID}" ${item.OBJID eq param.search_productObjId?'selected':''}>${item.PRODUCT_NAME}</option>
</c:forEach>
</select>
</td>
<td class="align_r">
<label for="" class="">Part No</label>
</td>
<td>
<input type="text" name="search_partNo" id="search_partNo" value="${param.search_partNo}" class="text_area"/>
</td>
<td class="align_r">
<label for="" class="">Part Name</label>
</td>
<td>
<input type="text" name="search_partName" id="search_partName" value="${param.search_partName}" class="text_area" style="width:350px;"/>
</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="btnSearch">
</div>
</div>
<div class="ascendig_text"><font size="1.5px" color="red">*PartNo 혹은 PartName 조회가 가능합니다.</font></div>
<div class="plm_table_wrap">
<div style="width:100%;">
<div style="height:600px;">
<table class="plm_table">
<colgroup>
<col width="20px"/>
<col width="40px"/>
<col width="150px"/>
<col width="250px"/>
<col width="40px"/>
<col width="40px"/>
<col width="80px"/>
<col width="100px"/>
<col width="50px"/>
<col width="40px"/>
<col width="55px"/>
<col width="250px"/> <!-- 재질 -->
<col width="80px"/>
<col width="50px"/>
<col width="80px"/>
<col width="80px"/> <!-- cavity -->
<col width="60px"/>
<col width="60px"/>
<col width="50px"/>
<col width="160px"/> <!-- 생산구분 -->
<col width="80px"/>
<col width="80px"/>
<col width="80px"/>
<col width="80px"/>
<col width="50px"/>
</colgroup>
<thead>
<tr class="plm_thead">
<td colspan="2">Level</td>
<td rowspan="2">품번</td>
<td rowspan="2">품명</td>
<td rowspan="2">수량</td>
<td rowspan="2">단위</td>
<td colspan="4">ECO</td>
<td rowspan="2">ERP</td>
<td rowspan="2">재질</td>
<td rowspan="2">원소재사이즈</td>
<!-- <td>차종</td>
<td>제품</td>
<td>사양</td> -->
<td rowspan="2">도금</td>
<td rowspan="2">도장</td>
<td rowspan="2">Cavity</td>
<td colspan="2">중량</td>
<td rowspan="2">금형구분</td>
<td rowspan="2">생산구분</td>
<td colspan="4">업체구분</td>
<td rowspan="2">비고</td>
</tr>
<tr class="plm_sub_thead">
<td></td>
<td>Lv</td>
<td>No</td>
<td>Date</td>
<td>REV</td>
<td>ECD</td>
<td>제품</td>
<td>스푸르</td>
<td>금형업체</td>
<td>부자재업체</td>
<td>도금/도장업체</td>
<td>원소재업체</td>
</tr>
</thead>
<c:choose>
<c:when test="${empty LIST}">
<tr>
<td colspan="24" align="center">조회된 정보가 없습니다.</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach var="item" items="${LIST}" varStatus="status">
<tr class="dataTr" data-LEVEL="${item.LEVEL}" data-REAL_LEVEL="${item.LEV}" data-BOM_REPORT_OBJID="${item.BOM_REPORT_OBJID}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}" style="display:none;">
<td>
<c:if test="${item.LEVEL eq '1' and item.LEAF eq '0'}">
<img src="/images/btnPlus.png" width="13px" height="13px" class="btnToggle" style="${item.LEVEL eq '1' and item.LEAF eq '0'?'cursor:pointer;':''}" data-BOM_REPORT_OBJID="${item.BOM_REPORT_OBJID}" data-OBJID="${item.OBJID}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
</c:if>
</td>
<td title="${item.LEV}">${item.LEV}</td>
<td style="text-align:left !important;" title="${item.PART_NO}">
<c:forEach var="i" begin="0" end="${item.LEVEL}">
&nbsp;
</c:forEach>
<a href="#" class="btnPartDetail" data-PART_OBJID="${item.PART_OBJID}">${item.PART_NO}</a>
</td>
<td style="text-align:left !important;" title="${item.PART_NAME}">&nbsp;${item.PART_NAME}</td>
<td title="${item.QTY}">${item.QTY}</td>
<td>EA</td>
<td title="${item.EO_NO}">${item.EO_NO}<%-- <a href="#" class="btnEODetail" data-EO_OBJID="${item.EO_OBJID}">${item.EO_NO}</a> --%></td>
<td title="${item.EO_ISSUE_DATE}">${item.EO_ISSUE_DATE}</td>
<td title="${item.REV}">${item.REV}</td>
<td>
<c:choose>
<c:when test="${empty item.ECD_OBJID}">N</c:when>
<c:otherwise>
<a href="javascript:fnc_downloadFile('${item.ECD_OBJID}')">Y</a>
</c:otherwise>
</c:choose>
</td>
<td title="${item.RH_PART_NO}">${item.RH_PART_NO}</td>
<td title="${item.MATERIAL_NAME}">${item.MATERIAL_NAME}</td>
<td title="${item.THICKNESS}">${item.THICKNESS}</td>
<td title="${item.PLATED}">${item.PLATED}</td>
<td title="${item.STAMP}">${item.STAMP}</td>
<td title="${item.CAVITY}">${item.CAVITY}</td>
<td title="${item.WEIGHT}">${item.WEIGHT}</td>
<td title="${item.SPRUE}">${item.SPRUE}</td>
<%-- <c:choose>
<c:when test="${item.LEVEL eq '1'}">
<td title="${item.REGION_NAME}">${item.REGION_NAME}</td>
</c:when>
<c:otherwise>
<td>-</td>
</c:otherwise>
</c:choose> --%>
<td title="${item.M_C_NAME}">${item.M_C_NAME}</td>
<td title="${item.COMM_NAME}">${item.COMM_NAME}</td>
<td title="${item.C_M_NAME}">${item.C_M_NAME}</td>
<td title="${item.C_S_M_NAME}">${item.C_S_M_NAME}</td>
<td title="${item.C_P_P_NAME}">${item.C_P_P_NAME}</td>
<td title="${item.C_E_NAME}">${item.C_E_NAME}</td>
<td title="${item.REMARKS}">${item.REMARKS}</td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</table>
</div>
</div>
</div>
</div>
</section>
</form>
</body>
</html>