ERP-node/WebContent/WEB-INF/view/productionplanning/assemblyWbsFormPopUp.jsp

800 lines
32 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_jqGrid.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
<script>
var headerNames = [];
var colModels = [];
var grid;
$(document).ready(function(){
fnc_datepick2();
$('.select2').select2();
$("._table1").scroll(function () {
$("._table2").scrollLeft($("._table1").scrollLeft());
});
$("._table2").scroll(function () {
$("._table1").scrollLeft($("._table2").scrollLeft());
});
selectSetVal("data-select", true);
$("#mainGrid").jqGrid({
height : 630,
colNames : headerNames,
colModel : colModels,
autowidth : true,
shrinkToFit : false,
rownumbers : false,
viewrecords : true
});
$("input[type=text]").keyup(function(e){
if(e.keyCode == 13){
$("#btnSearch").trigger("click");
}
});
//체크박스 전체선택/전체해제
$("#allCheck").click(function(){
if($("#allCheck").prop("checked")) {
$("input[name=chk_objId]").prop("checked",true);
} else {
$("input[name=chk_objId]").prop("checked",false);
}
});
$("#btnApply").click(function(){
fn_Apply();
});
$("#customer_cd").change(function(){
//fnc_productUPGNEWList(this.value,"","upg_no", "");
fn_projectNameList(this.value, "project_name", "");
});
$("#project_name").change(function(){
fn_UnitCodeList(this.value, "unit_code", "");
});
if("${param.customer_cd}"!=""){
fn_projectNameList("${param.customer_cd}", "project_name","");
$("#project_name").val("${param.project_name}");
}
if("${param.project_name}"!=""){
fn_UnitCodeList("${param.project_name}", "unit_code","");
$("#unit_code").val("${param.unit_code}");
}
$("#btnClose").click(function(){
self.close();
});
$("#btnSave" ).click(function(){
fn_save();
});
var search_level = '${param.search_level}';
$(".dataTr").each(function(i){
var lev = $(this).attr("data-LEVEL");
//if(lev == 1){ //1level만 활성화
if(!fnc_isEmpty(search_level)){ //검색조건 LEVEL까지만 활성화
if(Number(lev) <= Number(search_level)){ //검색조건 LEVEL까지만 활성화
$(this).show();
}
}else{
$(this).show(); //전체 펼치기
}
});
$(".btnToggle").click(function(){
var choosedIsMinus = false;
var choosedSrc = $(this).attr("src");
if(choosedSrc.indexOf("Minus")>-1){
$(this).attr("src", "/images/btnPlus.png");
choosedIsMinus = true;
}else if(choosedSrc.indexOf("Plus")>-1){
$(this).attr("src", "/images/btnMinus.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");
var choosedLev = $(this).attr("data-REAL_LEVEL");
//Swal.fire("choosedBomObjId : "+choosedBomObjId+"\nchoosedObjId : "+choosedObjId+"\nchoosedTopObjId : "+choosedTopObjId+"\nchoosedSubTopObjId : "+choosedSubTopObjId);
var isSelectedTopRow = false; //클릭한 최상위 로우 여부
var isBeforeSub = false; //이전의 자식 여부
var isBeforeMinus = false;
var isBeforePlus = false; //+버튼이 있을때(하위는 hide상태)
var isBeforePlusLev = '';
var isBeforeLev = '';
$(".dataTr").each(function(i){
var src = $(this).find("img").attr("src");
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");
var lev = $(this).attr("data-REAL_LEVEL");
if(isBeforePlusLev >= lev){
isBeforePlus = false;
}else{
if(isBeforePlus && !choosedIsMinus){//+눌러서 보여줄때
return; //하위의 +인 하위는 pass(숨김상태)
}
}
//Swal.fire("bomReportObjId : "+bomReportObjId+"\nobjId : "+objId+"\ntopObjId : "+topObjId+"\nsubTopObjId : "+subTopObjId);
//console.log("1 " + choosedObjId + ":" + objId + ":" + choosedLev + ":" + lev + ":" + isSelectedTopRow + ":" + isBeforeSub);
if(isSelectedTopRow && Number(choosedLev) < Number(lev)){
//$(this).toggle();
if(choosedIsMinus){
$(this).hide();
}else{
if(!isBeforePlus) //중간에 +인 상태가 있으면 하위는 패스(숨김)
$(this).show();
}
}else{
isBeforeSub = false; //레벨이 높은게 나오면 자식 아님
}
//console.log("2 " + choosedObjId + ":" + objId + ":" + choosedLev + ":" + lev + ":" + isSelectedTopRow + ":" + isBeforeSub);
if(isBeforeSub || choosedObjId == objId){
isSelectedTopRow = true;
isBeforeSub = true;
}else{
isSelectedTopRow = false; //하위로 내려가다가 레벨이 바뀌면 false로 변경
}
//var isMinus = false;
//var src = $(this).attr("src");
if(src && src.indexOf("Minus")>-1 && choosedObjId != objId){
//$(this).attr("src", "/images/btnPlus.png");
isBeforeMinus = true;
isBeforePlus = false;
}else if(src && src.indexOf("Plus")>-1 && choosedObjId != objId){
//$(this).attr("src", "/images/btnMinus.png");
isBeforeMinus = false;
isBeforePlus = true;
isBeforePlusLev = lev;
}else{
//isBeforeMinus = false;
//isBeforePlus = false;
}
//console.log("3 " + choosedObjId + ":" + objId + ":" + choosedLev + ":" + lev + ":" + isSelectedTopRow + ":" + isBeforeSub);
/* 기존 로직(1단계에서만 +- 가능)
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();
}
}
}
*/
isBeforeLev = lev;
});
});
//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);
});
$(".receiveHistoryDetail").click(function(){
var partObjId = $(this).attr("data-PART_OBJID");
var projectName = $(this).attr("data-PROJECT_NAME");
var unit = "${param.unit_code}";
fn_openReceiveHistoryPopup(partObjId,projectName,unit);
});
$("#search_product_mgmt_objId").change(function(){
fnc_getSpecNameListAppend(this.value,"search_spec_name","${param.search_spec_name}");
});
$(".File").click(function(){
var popup_width = 800;
var popup_height = 335;
var objId = $(this).attr("data-OBJID");
var docType =$(this).attr("data-docType");
var docTypeName = $(this).attr("data-docTypeName");
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
var url = "/projectConcept/FileRegistPopup.do"+params;
fn_centerPopup(popup_width, popup_height, url);
});
});
function fn_save(){
if(fnc_validate('form1')){
if(confirm("저장하시겠습니까?")){
$.ajax({
url : "/productionplanning/saveassemblyList.do",
type : "POST",
data : $("#form1").serialize(),
dataType : "json",
success : function(data) {
alert(data.RESULT.msg);
opener.fn_search();
self.close();
},
error : function(jqxhr, status, error) {
}
});
}
}
}
function fn_File_openPopup(objId, docType, docTypeName){
var param = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
window.open("/common/FileRegistPopup.do"+params, "", "width=800, height=335");
}
function imageFormatter(cellvalue, options, rowObject)
{
console.log("rowObject:"+rowObject);
var realFileName = fnc_checkNull(rowObject.REAL_FILE_NAME);
var savedFileName = fnc_checkNull(rowObject.SAVED_FILE_NAME);
var attDir = fnc_checkNull(rowObject.FILE_PATH);
var imgTag = "";
if("" != realFileName && "" != savedFileName && "" != attDir){
var imgSrc = "/common/viewImage.do?realFileName="+rowObject.REAL_FILE_NAME+"&savedFileName="+rowObject.SAVED_FILE_NAME+"&attDir="+rowObject.FILE_PATH;
imgTag = "<img src='"+encodeURI(imgSrc)+"' height='85px' width='100%' />";
}
return imgTag;
}
function file3DFormatter(cellvalue, options, rowObject)
{
return attachFileFormatter(cellvalue, options, rowObject, "3D_CAD");
}
function file2DFormatter(cellvalue, options, rowObject)
{
return attachFileFormatter(cellvalue, options, rowObject, "2D_DRAWING_CAD");
}
function filePDFFormatter(cellvalue, options, rowObject)
{
return attachFileFormatter(cellvalue, options, rowObject, "2D_PDF_CAD");
}
function attachFileFormatter(cellvalue, options, rowObject, attachFileType)
{
var imgTag = "";
var fileCnt;
if("3D_CAD" == attachFileType){
fileCnt = fnc_checkNull(rowObject.FILE_3D_CNT);
}else if("2D_DRAWING_CAD" == attachFileType){
fileCnt = fnc_checkNull(rowObject.FILE_2D_CNT);
}else if("2D_PDF_CAD" == attachFileType){
fileCnt = fnc_checkNull(rowObject.FILE_PDF_CNT);
}
if(0 < fileCnt){
imgTag = "<img src='/images/folder_blue.png' height='20px' width='20px' />";
}else{
imgTag = "<img src='/images/file_empty.png' height='20px' width='20px' />";
}
return imgTag;
}
function fn_check(){
var partNo = fnc_checkNull($("#search_partNo").val());
var partName = fnc_checkNull($("#search_partName").val());
if(partNo == "" && partName == ""){
Swal.fire("조회조건을 설정해주시기 바랍니다.");
return false;
}
if(partName == "" && partNo.length < 5){
Swal.fire("품번은 최소 5자이상 입력하시기 바랍니다.");
return false;
}
if(partNo == "" && partName.length < 5){
Swal.fire("품명은 최소 5자이상 입력하시기 바랍니다.");
return false;
}
return true;
}
function fn_openEOPopup(objId){
window.open("",target,"width=1000,height=800");
window.open("/eoMng/eoMngDetailPopUp.do?OBJID="+objId, "tempEoListPopup","width=1000,height=800,toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}
function fn_openPartPopup(objId){
window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}
function fn_openReceiveHistoryPopup(partObjId,projectName,unit){
window.open("/productionplanning/assemblyWbsHistoryPopUp.do?PART_OBJID="+partObjId+"&PROJECT_NAME="+projectName+"&UNIT="+unit, "ReceiveHistoryPopup", "width=600, height=300, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}
var gridFn = {
search : function() {
grid.setGridParam({
url : "/partMng/getStructureAscendingList.do",
datatype : "json",
postData : $("#form1").serialize()
}).trigger("reloadGrid");
}
}
function openPartMngPopup(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=730, menubars=no, scrollbars=yes, resizable=yes");
hiddenForm.action = url;
hiddenForm.OBJID.value = objId;
hiddenForm.target = target;
hiddenForm.submit();
}
function fn_search(){
location.reload();
}
function fn_Apply(){
var actDate = $("#ACT_DATE").val();
var userCd = $("#USER_CD").val();
var userCheck =$("input[name='USER_CHECK']:checked").val();
var actCheck = $("input[name='ACT_CHECK']:checked").val();
$("input[name^='chk_objId']").each(function(index) {
var groupCheck = $(this).val();
if ($(this).is(":checked")) {
//alert("groupCheck:"+groupCheck);
if (userCheck == 'YES') {
$(".ASSEMBLY_USER_ID_"+groupCheck).val(userCd).trigger("change");
}
if (actCheck == 'YES') {
$(".ASSEMBLY_DATE_"+groupCheck).val(actDate).trigger("change");
}
}
});
}
</script>
</head>
<body class="backcolor">
<form id="EXCEL_" name="EXCEL_" action="/partMng/structureAscendingExcelList.do" method="post">
<input type="hidden" name="csvBuffer" id="csvBuffer" value="">
<input type="hidden" name="fileName" id="fileName" value="">
</form>
<form name="hiddenForm" id="hiddenForm" method="post">
<input type="hidden" name="OBJID" id="OBJID">
</form>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="UNIT_CODE" id="UNIT_CODE" value="${param.unit_code}">
<input type="hidden" name="PROJECT_NAME" id="PROJECT_NAME" value="${param.project_name}">
<div class="min_part_enroll">
<div class="content-box">
<div class="content-box-s">
<div class="plm_menu_name">
<h2>
<span>공정실적 등록</span>
</h2>
</div>
</div>
</div>
</div>
<div id="plmSearchZon">
<table>
<tbody>
<tr>
<td><label for="customer_cd">고객사</label></td>
<td>
<select name="customer_cd" id="customer_cd" style="" class="select2" disabled>
<option value="">선택</option>
${code_map.customer_cd}
</select>
</td>
<td><label for="project_name">프로젝트번호</label></td>
<td>
<select name="project_name" id="project_name" style="" class="select2" disabled>
<option value="">선택</option>
${code_map.project_name}
</select>
</td>
<td><label for="unit_code">유닛명</label></td>
<td>
<select name="unit_code" id="unit_code" style="" class="select2" disabled>
<option value="">선택</option>
${code_map.unit_code}
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="contents_page_basic_margin">
<div class="ascendig_text" style="float: left; width:10%;">
<font size="2px">총 ${fn:length(List)}건</font>
</div>
<div style="float: right; margin-right: 30px;">
<table>
<tr>
<td></td>
<td colspan="2" style="text-align:center; font-size:11px;">조립담당자</td>
<td colspan="2" style="text-align:center; font-size:11px;">조립완료일</td>
<td></td>
</tr>
<tr>
<td style="text-align:center; font-size:11px; color:red;">입고결과(구매품표준): 입고수량 / 발주수량</td>
<td><input type="checkbox" name="USER_CHECK" id="USER_CHECK" value="YES"/></td>
<td><select name="USER_CD" id="USER_CD" style="width:100px;margin-right:10px;" class="select2"><option value=''>선택</option>${code_map.assembly_user_id}</select></td>
<td><input type="checkbox" name="ACT_CHECK" id="ACT_CHECK" value="YES"/></td>
<td><input type='text' name='ACT_DATE' id="ACT_DATE" class='' style="padding-left:5px; margin-top:3px; width:80px;"/></td>
<td><input type="button" value="일괄적용" id="btnApply" class="plm_btns" ></td>
</tr>
</table>
</div>
<div id="structureTableWrap2" style="width:98%;padding-top:10px">
<div class="in_table_scroll_wrap _table1" style="height:25px;width:100%;">
<table class="plm_table" id="headtr">
<colgroup>
<col width="20px" />
<col width="20px" />
<c:choose>
<c:when test="${!empty List}">
<c:forEach var="item" items="${List}" varStatus="status">
<c:if test="${status.index eq '0'}">
<c:forEach var="i" begin="1" end="${item.MAX_LEVEL}">
<col width="20px" />
</c:forEach>
</c:if>
</c:forEach>
</c:when>
</c:choose>
<col width="120px" /> <!-- 품번 -->
<col width="150px" /> <!-- 품명 -->
<col width="35px" /> <!-- Qty -->
<col width="35px" /> <!-- 3D -->
<col width="35px" /> <!-- 2D -->
<col width="35px" /> <!-- 2D PDF -->
<col width="90px" /> <!-- Material -->
<col width="130px" /> <!-- SPEC. -->
<!--
<col width="100px" /> 후처리
-->
<col width="100px" /> <!-- MAKER. -->
<col width="60px" /> <!-- REVISION -->
<col width="78px" /> <!-- EO No -->
<col width="75px" /> <!-- EO Date -->
<col width="70px" /> <!-- 부품 유향 -->
<!--
<col width="80px" /> REMARK
-->
<!-- 조립(제작) 입력 -->
<col width="100px" /> <!-- 입고예정일 -->
<col width="100px" /> <!-- 입고예정일 -->
<col width="60px" /> <!-- 입고결과 -->
<!-- <col width="80px" /> 인계자
<col width="80px" /> 인수일 -->
<col width="60px" /> <!-- 인수수량-->
<!-- <col width="80px" /> 인수담당자 -->
<col width="60px" /> <!-- 인수이력-->
<col width="80px" /> <!-- 조립담당자-->
<col width="80px" /> <!-- 조립일-->
<col width="40px" /> <!-- 자사-->
<col width="40px" /> <!-- 외주-->
</colgroup>
<thead>
<tr class="plm_thead">
<td><input type="checkbox" id="allCheck"></td>
<td></td>
<c:choose>
<c:when test="${!empty List}">
<c:forEach var="item" items="${List}" varStatus="status">
<c:if test="${status.index eq '0'}">
<c:forEach var="i" begin="1" end="${item.MAX_LEVEL}">
<td>${i}</td>
</c:forEach>
</c:if>
</c:forEach>
</c:when>
</c:choose>
<td>품번</td>
<td>품명 </td>
<td>수량</td>
<td>3D</td>
<td>2D</td>
<td>PDF</td>
<td>재질</td>
<td>사양(규격)</td>
<!--
<td>후처리</td>
-->
<td>MAKER</td>
<td>Revision</td>
<td>EO No</td>
<td>EO Date</td>
<td>PART구분</td>
<!--
<td>비고</td>
-->
<!-- 조립(제작) 입력 -->
<td>입고예정일</td>
<td>입고일</td>
<td>입고결과</td>
<!-- <td>인계자</td>
<td>인수일</td> -->
<td>인수수량</td>
<!-- <td>인수담당자</td> -->
<td>인수이력</td>
<td class="editableheader">조립담당자</td>
<td class="editableheader">조립완료일</td>
<td class="editableheader">자사</td>
<td class="editableheader">외주</td>
</tr>
</thead>
</table>
</div>
<div class="in_table_scroll_wrap _table2" style="height:calc(90vh - 130px);; width:100.5%;"> <!-- 560px -->
<table class="plm_table" id="connectedList">
<colgroup>
<col width="20px" />
<col width="20px" />
<c:choose>
<c:when test="${!empty List}">
<c:forEach var="item" items="${List}" varStatus="status">
<c:if test="${status.index eq '0'}">
<c:forEach var="i" begin="1" end="${item.MAX_LEVEL}">
<col width="20px" />
</c:forEach>
</c:if>
</c:forEach>
</c:when>
</c:choose>
<col width="120px" /> <!-- 품번 -->
<col width="150px" /> <!-- 품명 -->
<col width="35px" /> <!-- Qty -->
<col width="35px" /> <!-- 3D -->
<col width="35px" /> <!-- 2D -->
<col width="35px" /> <!-- 2D PDF -->
<col width="90px" /> <!-- Material -->
<col width="130px" /> <!-- SPEC. -->
<!--
<col width="100px" /> 후처리
-->
<col width="100px" /> <!-- MAKER. -->
<col width="60px" /> <!-- REVISION -->
<col width="78px" /> <!-- EO No -->
<col width="75px" /> <!-- EO Date -->
<col width="70px" /> <!-- 부품 유향 -->
<!--
<col width="80px" /> REMARK
-->
<!-- 조립(제작) 입력 -->
<col width="100px" /> <!-- 입고예정일 -->
<col width="100px" /> <!-- 입고예정일 -->
<col width="60px" /> <!-- 입고결과 -->
<!-- <col width="80px" /> 인계자
<col width="80px" /> 인수일 -->
<col width="60px" /> <!-- 인수수량-->
<!-- <col width="80px" /> 인수담당자 -->
<col width="60px" /> <!-- 인수이력-->
<col width="80px" /> <!-- 조립담당자-->
<col width="80px" /> <!-- 조립일-->
<col width="40px" /> <!-- 자사-->
<col width="40px" /> <!-- 외주-->
</colgroup>
<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}" data-OBJID="${item.PART_OBJID}${status.index}" style="display:none;">
<c:choose>
<c:when test="${(item.PART_TYPE_TITLE eq '제작품') or (item.PART_TYPE_TITLE eq '구매품')}">
<td><input style="width: 15px; height: 15px" type="checkbox" value="${item.PART_OBJID}" name="chk_objId" id="chk_objId" data-objId="${item.PART_OBJID}"></td>
</c:when>
<c:otherwise>
<td></td>
</c:otherwise>
</c:choose>
<td>
<c:if test="${item.LEAF eq '0'}">
<c:choose>
<c:when test="${empty param.search_level}">
<img src="/images/btnMinus.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.PART_OBJID}${status.index}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
</c:when>
<c:when test="${param.search_level > item.LEV}">
<img src="/images/btnMinus.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.PART_OBJID}${status.index}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
</c:when>
<c:when test="${param.search_level <= item.LEV}">
<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.PART_OBJID}${status.index}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
</c:when>
</c:choose>
</c:if>
</td>
<c:forEach var="i" begin="1" end="${item.MAX_LEVEL}">
<c:if test="${item.LEVEL eq i}">
<td title="${item.LEV}">*</td>
</c:if>
<c:if test="${item.LEVEL ne i}">
<td title="${item.LEV}"> </td>
</c:if>
</c:forEach>
<td style="text-align:left !important;" title="${item.PART_NO}">
<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}" class="align_r2">${item.QTY}<%-- <fmt:formatNumber value="${item.QTY}" pattern="#,###" /> --%></td>
<td><a href="#" class="File file_${item.FILE_3D_CNT eq 0?'empty_':''}icon" data-OBJID="${item.PART_OBJID}" data-docType="3D_CAD" data-docTypeName="3D CAD 첨부파일"></a></td>
<td><a href="#" class="File file_${item.FILE_2D_CNT eq 0?'empty_':''}icon" data-OBJID="${item.PART_OBJID}" data-docType="2D_DRAWING_CAD" data-docTypeName="2D(Drawing) CAD 첨부파일"></a></td>
<td><a href="#" class="File file_${item.FILE_PDF_CNT eq 0?'empty_':''}icon" data-OBJID="${item.PART_OBJID}" data-docType="2D_PDF_CAD" data-docTypeName="2D(PDF) CAD 첨부파일"></a></td>
<td title="${item.MATERIAL}" class="align_c">${item.MATERIAL}</td><!-- 재질 -->
<td title="${item.SPEC}" class="align_l" style="text-align: left; padding-left: 5px;">${item.SPEC}</td><!-- SPEC -->
<%--
<td title="${item.POST_PROCESSING}" class="align_l" style="text-align: left; padding-left: 5px;">${item.POST_PROCESSING}</td><!-- 후처리 -->
--%>
<td title="${item.MAKER}" class="align_l" style="text-align: left; padding-left: 5px;">${item.MAKER}</td><!-- SPEC -->
<td title="${item.REVISION}" class="align_c" style="text-align: left; padding-left: 5px;">${item.REVISION}</td><!-- REVISION -->
<td title="${item.EO_NO}" class="align_c" style="text-align: left; padding-left: 5px;">${item.EO_NO}</td><!-- EO_NO -->
<td title="${item.EO_DATE}" class="align_c" style="text-align: left; padding-left: 5px;">${item.EO_DATE}</td><!-- EO_DATE -->
<td title="${item.PART_TYPE_TITLE}" class="align_c">${item.PART_TYPE_TITLE}</td><!-- SIZE -->
<%--
<td title="${item.REMARK}" class="align_c">${item.REMARK}</td><!-- REMARK -->
--%>
<input type="hidden" name="OBJID" value="${item.ASS_OBJID}">
<input type="hidden" name="CHILD_OBJID" value="${item.CHILD_OBJID}">
<input type="hidden" name="PART_OBJID" value="${item.PART_OBJID}">
<input type="hidden" name="PARENT_OBJID" value="${item.BOM_REPORT_OBJID}">
<c:if test="${item.LEVEL eq 1 or item.LEVEL eq 2 or item.PART_TYPE_TITLE eq '' or item.PART_TYPE_TITLE eq null}">
<td class="align_c"></td>
<td class="align_c"></td>
<!-- <td class="align_c"><input type="hidden" name="TRANSFER_USER_ID"></td>
<td class="align_c"><input type="hidden" name="RECEIVE_DATE"></td> -->
<td class="align_l2"><input type="hidden" name="RECEIVE_QTY"></td>
<!-- <td class="align_l2"><input type="hidden" name="RECEIVE_USER_ID"></td> -->
<td class="align_l2"></td>
<td class="align_l2"></td>
<td class="align_l2" ><input type="hidden" name="ASSEMBLY_USER_ID"></td>
<td class="align_c" ><input type="hidden" name="ASSEMBLY_DATE"></td>
<td class="align_l2" ><input type="hidden" name="INSOURCING_${item.PART_OBJID}"></td>
<td class="align_l2" ><input type="hidden" name="OUTSOURCING_${item.PART_OBJID}"></td>
</c:if>
<c:if test="${item.LEVEL ne 1 and item.LEVEL ne 2 and !(item.PART_TYPE_TITLE eq '' or item.PART_TYPE_TITLE eq null)}">
<td class="align_c" title="${item.ARRIVAL_PLAN_DATES}">${item.ARRIVAL_PLAN_DATES}</td>
<td class="align_c" title="${item.RECEIPT_DATES}">${item.RECEIPT_DATES}</td>
<td class="align_r2" title="${item.DELIVERY_QTY}">${item.DELIVERY_QTY}</td>
<%-- <td class="align_c" title="${item.TRANSFER_USER_ID}">${item.TRANSFER_USER_NAME}</td>
<td class="align_c" title="">${item.RECEIVE_DATE}</td> --%>
<td class="align_r2" title="${item.RECEIVE_QTY}">${item.RECEIVE_QTY}</td>
<%-- <td class="align_c" title="${item.RECEIVE_USER_ID}">${item.RECEIVE_USER_NAME}</td> --%>
<td><a href="#" class="receiveHistoryDetail file_${item.RECEIVE_QTY eq null ?'empty_':''}icon" data-PART_OBJID="${item.PART_OBJID}" data-PARENT_OBJID="${item.BOM_REPORT_OBJID}" data-PROJECT_NAME="${param.project_name}"></a></td>
<td class="align_l2" title="${item.ASSEMBLY_USER_ID}"><select name="ASSEMBLY_USER_ID" type="select" class="select ASSEMBLY_USER_ID_${item.PART_OBJID}" data-select="${item.ASSEMBLY_USER_ID}">${code_map.assembly_user_id}</select></td>
<td class="align_c" title=""><input type="text" name="ASSEMBLY_DATE" value="${item.ASSEMBLY_DATE}" class="align_c ASSEMBLY_DATE_${item.PART_OBJID}"></td>
<td class="align_c" title="${item.INSOURCING}"><input type="checkbox" name="INSOURCING_${item.PART_OBJID}" id="INSOURCING" value="YES" class="align_c" ${item.INSOURCING eq 'YES' ? 'checked' : ''}></td>
<td class="align_c" title="${item.OUTSOURCING}"><input type="checkbox" name="OUTSOURCING_${item.PART_OBJID}" id="OUTSOURCING" value="YES" class="align_c" ${item.OUTSOURCING eq 'YES' ? 'checked' : ''}></td>
<%-- <td class="align_c" title="${item.INSOURCING}"><input type="number" name="INSOURCING" value="${item.INSOURCING}" class="align_c"></td>
<td class="align_c" title="${item.OUTSOURCING}"><input type="number" name="OUTSOURCING" value="${item.OUTSOURCING}" class="align_c"></td> --%>
<%-- <td class="align_l2" title="${item.TRANSFER_USER_ID}"><select name="TRANSFER_USER_ID" type="select" class="select" data-select="${item.TRANSFER_USER_ID}">${code_map.transfer_user_id}</select></td>
<td class="align_c" title=""><input type="text" name="RECEIVE_DATE" value="${item.RECEIVE_DATE}" class="align_c"></td>
<td class="align_l2" title="${item.RECEIVE_QTY}"><input type="number" name="RECEIVE_QTY" value="${item.RECEIVE_QTY}"></td>
<td class="align_l2" title="${item.RECEIVE_USER_ID}"><select name="RECEIVE_USER_ID" type="select" class="select" data-select="${item.RECEIVE_USER_ID}">${code_map.receive_user_id}</select></td>
--%>
</c:if>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</table>
</div>
</div>
</div>
<div class="btn_wrap">
<div class="plm_btn_wrap_center">
<input type="button" value="저장" id="btnSave" class="plm_btns">
<input type="button" value="닫기" id="btnClose" class="plm_btns">
</div>
</div>
</form>
</body>
<style>
.container::-webkit-scrollbar-thumb {background: linear-gradient(to bottom, #f5d78e, #f5d78e) !important;}
.container::-webkit-scrollbar-track {background-color: white !important;}
.container::-webkit-scrollbar-button { display: none !important;}
</style>
</html>