ERP-node/WebContent/WEB-INF/view/part/structureDescendingList.jsp

588 lines
19 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>
var abc = 0;
$(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); */
}
});
}
});
$(document).ready(function() {
$("#search_oemObjId").trigger("change");
});
$("input[type=text]").keyup(function(e){
if(e.keyCode == 13){
$("#btnSearch").trigger("click");
}
});
$("#btnSearch").click(function(){
if(fn_check()){
$("#search_partNo").val($.trim($("#search_partNo").val()));
$("#search_partName").val($.trim($("#search_partName").val()));
document.form1.actionType.value = "";
document.form1.action = "/part/structureDescendingList.do";
document.form1.submit();
}
});
$("#btnExcel").click(function(){
if(fn_check()){
$("#search_partNo").val($.trim($("#search_partNo").val()));
$("#search_partName").val($.trim($("#search_partName").val()));
document.form1.actionType.value = "excel";
document.form1.action = "/part/structureDescendingList.do";
document.form1.submit();
}
});
//1level만 활성화 시킨다.
$(".dataTr").each(function(i){
var lev = $(this).attr("data-LEVEL");
/* if(lev == 1){
$(this).show();
} */
$(this).show();
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");
}
});
/*
//클릭시 하위정보를 토글한다.
$(".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 choosedObjId = $(this).attr("data-OBJID");
var choosedBaseRootObjId = $(this).attr("data-BASE_ROOT_OBJID");
var choosedTopObjId = $(this).attr("data-TOP_OBJID");
$(".dataTr").each(function(i){
var realLevel = $(this).attr("data-REAL_LEVEL");
var level = $(this).attr("data-LEVEL");
var topObjId = $(this).attr("data-TOP_OBJID");
var baseRootObjId = $(this).attr("data-BASE_ROOT_OBJID");
if(topObjId == choosedObjId && baseRootObjId == choosedBaseRootObjId){
if(level != "1"){
$(this).toggle();
}
}
});
});
$(".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);
});
/* //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");
}
}); */
});
function fn_check(){
var partNo = fnc_checkNull($("#search_partNo").val());
var partName = fnc_checkNull($("#search_partName").val());
if(partNo == "" && partName == ""){
Swal.fire("조회조건을 설정해주시기 바랍니다.\nPart No 혹은 Part Name을 입력해주시기 바랍니다.");
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=700, height=930");
}
</script>
</head>
<body class="backcolor">
<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">*BOM조회(역전개)는 반드시 하나 이상의 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="25" 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 '0' and item.LEAF eq '0'}">
<img src="/images/btnPlus.png" width="13px" height="13px" class="btnToggle" style="${item.LEVEL eq '0' 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.BASE_LEVEL}">${item.BASE_LEVEL}</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>
<%-- <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">PartNo 혹은 Part Name을 통하여 조회 가능합니다.</div>
<div class="plm_table_wrap">
<div style="overflow-y:scroll;">
<table class="plm_table" style="width:100%;">
<colgroup>
<col width="1.5%" />
<col width="2%" />
<col width="3%" />
<col width="10%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
</colgroup>
<tr class="plm_thead">
<td colspan="2">Level</td>
<td>품번</td>
<td>품명</td>
<td>수량</td>
<td>Rev</td>
<td>ECO.No</td>
<td>ECO.Date</td>
<td>재질</td>
<td>원재료사이즈</td>
<!-- <td>차종</td>
<td>제품</td>
<td>사양</td> -->
<td>도금</td>
<td>도장</td>
<td>Cavity</td>
<td>중량_제품</td>
<td>중량_스푸르</td>
<td>금형구분</td>
<td>생산구분</td>
<td>업체_금형</td>
<td>업체_부자재</td>
<td>업체_도금/도장</td>
<td>업체_원소재</td>
<td>단위</td>
<td>ERP.Code</td>
<td>비고</td>
</tr>
</table>
</div>
<div class="plm_scroll_table" style="width:100%; height:550px;">
<table class="plm_table">
<colgroup>
<col width="1.5%" />
<col width="2%" />
<col width="3%" />
<col width="10%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
<col width="4%" />
</colgroup>
<c:choose>
<c:when test="${empty LIST}">
<tr>
<td colspan="13" align="center">조회된 정보가 없습니다.</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach var="item" items="${LIST}" varStatus="status">
<tr class="dataTr" data-REAL_LEVEL="${item.BASE_LEVEL}" data-LEVEL="${item.LEVEL}" data-ROOT_OBJID="${item.ROOT_OBJID}" data-BASE_ROOT_OBJID="${item.BASE_ROOT_OBJID}" style="display:none;">
<td>
<c:if test="${item.LEVEL eq '1'}">
<img src="/images/btnPlus.png" width="13px" height="13px" class="btnToggle" style="${item.LEVEL eq '1'?'cursor:pointer;':''}" data-OBJID="${item.OBJID}" data-BASE_ROOT_OBJID="${item.BASE_ROOT_OBJID}">
</c:if>
</td>
<td title="${item.BASE_LEVEL}">${item.BASE_LEVEL}</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 title="${item.REV}">${item.REV}</td>
<td title="${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.MATERIAL_NAME}">${item.MATERIAL_NAME}</td>
<td title="${item.THICKNESS}">${item.THICKNESS}</td>
<td title="${item.CAR_CODE}">${item.CAR_CODE}</td>
<td title="${item.PRODUCT_NAME}">${item.PRODUCT_NAME}</td>
<td title="${item.REGION_NAME}">${item.REGION_NAME}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</table>
</div>
</div>
</div>
</section>
</form>
</body>
</html> --%>