<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");  

if (!isset($_SESSION["level"]) || $_SESSION["level"] > 5) {
    sleep(1);
    header("Location:" . $WebSite . "login/login_form.php");
    exit;
}   
include $_SERVER['DOCUMENT_ROOT'] . '/load_header.php';
$title_message = '절곡품 재고생산 작업일지 및 중간검사성적서'; 
?>

<link href="css/style.css" rel="stylesheet">   
<title> <?=$title_message?> </title> 
<style>
#specailTable th, #specailTable td {
	padding: 3px!important;
}
#specailTable2 th, #specailTable2 td {
	padding: 3px!important;
}
.specailTable th, .specailTable td {
	padding: 2px!important;
}
</style>
</head> 

<body>         
<?php
$header = isset($_REQUEST['header']) ? $_REQUEST['header'] : '';  

if ($header === 'header')
    require_once($_SERVER['DOCUMENT_ROOT'] . '/myheader.php');

function checkNull($strtmp) {
    return ($strtmp !== null && trim($strtmp) !== '');
}

// 필터링 값 가져오기
$search = isset($_REQUEST['search']) ? $_REQUEST['search'] : '';  
$prodNameSelect = isset($_REQUEST['prodNameSelect']) ? $_REQUEST['prodNameSelect'] : '';
$specNameSelect = isset($_REQUEST['specNameSelect']) ? $_REQUEST['specNameSelect'] : '';
$slengthNameSelect = isset($_REQUEST['slengthNameSelect']) ? $_REQUEST['slengthNameSelect'] : '';
$mode = isset($_REQUEST["mode"]) ? $_REQUEST["mode"] : '';

$tablename = 'lot';

require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
$pdo = db_connect();

$order = " ORDER BY reg_date DESC ";

// 기본 SQL 쿼리
$sql = "SELECT * FROM " . $DB . "." . $tablename . " WHERE is_deleted IS NULL ";

// 필터 조건을 동적으로 추가
$whereClause = [];

if (checkNull($search)) {
    $whereClause[] = "search_tag LIKE '%$search%'";
}

if (checkNull($prodNameSelect)) {
    $whereClause[] = "prod = '$prodNameSelect'";
}

if (checkNull($specNameSelect)) {
    $whereClause[] = "spec = '$specNameSelect'";
}

if (checkNull($slengthNameSelect)) {
    $whereClause[] = "slength = '$slengthNameSelect'";
}

// 추가된 where 조건이 있을 경우 SQL 쿼리에 반영
if (!empty($whereClause)) {
    $sql .= " AND " . implode(' AND ', $whereClause);
}

$sql .= $order;

try {      
    $stmh = $pdo->query($sql);
    $total_row = $stmh->rowCount();    
	
 // 품목명을 매핑하는 배열
        $prodNames = [
            'R' => '가이드레일(벽면형)',
            'S' => '가이드레일(측면형)',
            'G' => '연기차단재',
            'B' => '하단마감재(스크린)',
            'T' => '하단마감재(철재)',
            'L' => 'L - Bar',
            'C' => '케이스'
        ];
		
        // 종류명을 매핑하는 배열
        $specNames = [
            'I' => '화이바원단',
            'S' => 'SUS(마감)',
            'U' => 'SUS(마감)2',
            'E' => 'EGI(마감)',
            'A' => '스크린용',
            'D' => 'D형',
            'C' => 'C형',
            'M' => '본체',
            'T' => '본체(철재)',
            'B' => '후면코너부',
            'L' => '린텔부',
            'P' => '점검구',
            'F' => '전면부'
        ];

        // 모양&길이를 매핑하는 배열
        $slengthNames = [
            '53' => 'W50 × 3000',
            '54' => 'W50 × 4000',
            '83' => 'W80 × 3000',
            '84' => 'W80 × 4000',
            '12' => '1219',
            '24' => '2438',
            '30' => '3000',
            '35' => '3500',
            '40' => '4000',
            '41' => '4150',
            '42' => '4200',
            '43' => '4300'
        ];			
?>    

<form id="board_form" name="board_form" method="post" enctype="multipart/form-data">             
    <input type="hidden" id="mode" name="mode" value="<?=$mode?>">             
    <input type="hidden" id="num" name="num"> 
    <input type="hidden" id="tablename" name="tablename" value="<?=$tablename?>">                 
    <input type="hidden" id="header" name="header" value="<?=$header?>">      

<!-- 모달 2: myModal -->
<div id="myModal" class="modal" tabindex="-1" data-bs-backdrop="static">
    <div class="modal-content" style="width:800px; z-index: 1050;"> <!-- z-index로 순서 조정 -->
        <div class="modal-header">
            <span class="modal-title">절곡품 생산 LOT </span>
            <span class="close">&times;</span>
        </div>
        <div class="modal-body">
            <div class="custom-card"></div>
        </div>
    </div>
</div>

<div class="container-fluid">
<div class="card justify-content-center text-center mt-1 mb-5">   
    <div class="card-header">
		<div class="d-flex justify-content-center align-items-center">   
			<span class="text-center fs-5">  <?=$title_message?>   </span>         
			<button type="button" class="btn btn-dark btn-sm mx-2"  onclick='location.reload();' > <i class="bi bi-arrow-clockwise"></i> </button>  	   		  				
		</div>
    </div>
    <div class="card-body">  
	<?php include $_SERVER['DOCUMENT_ROOT'] . '/lot/lotTable.php'; ?>	
	
	<div class="container mt-2 mb-4">   
	<div class="d-flex justify-content-center align-items-center">   
		▷ <?= $total_row ?> &nbsp; 

    <!-- 품목명 select box -->
    <div class="inputWrap30">
        <select id="prodNameSelect" name="prodNameSelect" class="form-select w-auto mx-1" style="font-size:0.7rem; height:32px;" >
            <option value="">품목명 선택</option>
            <?php foreach($prodNames as $key => $value) { ?>
                <option value="<?= $key ?>" <?= ($prodNameSelect == $key) ? 'selected' : '' ?>><?= $value ?></option>
            <?php } ?>
        </select>
    </div>
    &nbsp;

    <!-- 종류명 select box -->
    <div class="inputWrap30">
        <select id="specNameSelect" name="specNameSelect" class="form-select w-auto mx-1" style="font-size:0.7rem; height:32px;" >
            <option value="">종류명 선택</option>
            <?php foreach($specNames as $key => $value) { ?>
                <option value="<?= $key ?>" <?= ($specNameSelect == $key) ? 'selected' : '' ?>><?= $value ?></option>
            <?php } ?>
        </select>
    </div>
    &nbsp;

    <!-- 모양&길이 select box -->
    <div class="inputWrap30">
        <select id="slengthNameSelect" name="slengthNameSelect" class="form-select w-auto mx-1" style="font-size:0.7rem; height:32px;" >
            <option value="">모양&길이 선택</option>
            <?php foreach($slengthNames as $key => $value) { ?>
                <option value="<?= $key ?>" <?= ($slengthNameSelect == $key) ? 'selected' : '' ?>><?= $value ?></option>
            <?php } ?>
        </select>
    </div>
    &nbsp;

    <!-- 기존 검색 input -->
    <div class="inputWrap30">
        <input type="text" id="search" class="form-control text-start" style="width:150px;" name="search" value="<?= $search ?>" autocomplete="off" onKeyPress="if (event.keyCode==13){ enter(); }">
        <button class="btnClear"></button>
    </div>
    &nbsp;&nbsp;
    <button class="btn btn-outline-dark btn-sm" type="button" id="searchBtn"> <i class="bi bi-search"></i> </button> &nbsp;&nbsp;&nbsp;&nbsp;
</div>

<style>
#specailTable th, #specailTable td {
    padding: 3px!important;
}
#specailTable2 th, #specailTable2 td {
    padding: 3px!important;
}
</style>	

<div class="table-responsive">   
  <table class="table table-hover" id="myTable">         
    <thead class="table-primary">
        <th class="text-center" style="width:50px;" >번호</th>
        <th class="text-center" style="width:100px;" >등록일</th>
        <th class="text-center" style="width:100px;" >원자재 LOT</th>
        <th class="text-center" style="width:100px;" >원단 LOT</th>
        <th class="text-center" style="width:120px;" >생산 LOT</th>
		<th class="text-center" style="width:60px;" > 판정 </th>
        <th class="text-center" style="width:250px;" >품목명</th>
        <th class="text-center" style="width:250px;" >종류</th>
        <th class="text-center" style="width:200px;" >모양&길이</th>
        <th class="text-center" style="width:50px;" >수량</th>
        <th class="text-center" style="width:80px;" >작성</th>
        <th class="text-center" style="width:150px;" >비고</th>                 
    </thead>
    <tbody>
	<?php
        $start_num = $total_row;

       
        while($row = $stmh->fetch(PDO::FETCH_ASSOC)) {
            include '_row.php';                                        
        
            // 품목명, 종류, 모양&길이에 대한 친절한 표시를 준비
            $prodDisplay = isset($prodNames[$prod]) ? "{$prod}({$prodNames[$prod]})" : $prod;
            $specDisplay = isset($specNames[$spec]) ? "{$spec}({$specNames[$spec]})" : $spec;
            $slengthDisplay = isset($slengthNames[$slength]) ? "{$slength}({$slengthNames[$slength]})" : $slength;
		
			// JSON을 배열로 디코딩
			$iListArray = json_decode($recordsheet, true);
			
			// print_r($iListArray);

			// resultJudgement 값을 찾기 위한 루프
			$resultJudgement = null;

			foreach ($iListArray as $item) {
				// 배열에서 inputValue가 존재하는지 확인
				if (isset($item['inputValue']) && is_array($item['inputValue'])) {
					// inputValue의 마지막 값이 resultJudgement일 가능성 체크
					$resultJudgement = end($item['inputValue']);
					break; // 값을 찾으면 루프 종료
				}
			}			
        ?>                     
        <tr onclick="loadFormSheet('update', '<?=$num?>');" data-num="<?=$num?>">
            <td class="text-center"> <?= $start_num ?></td>
            <td class="text-center"> <?= $reg_date ?></td>
            <td class="text-center text-primary"> <?= $rawLot ?></td>
            <td class="text-center text-primary"> <?= $fabric_lot ?></td>
            <td class="text-center fw-bold text-success"><?= $lot_number ?></td>
			<?php
				// resultJudgement 값이 "합격"이면 text-dark, 아니면 text-danger로 설정
				$class = ($resultJudgement === '합격') ? 'text-dark' : 'text-danger';
			?>
			<td class="text-center fw-bold resultJudgement <?= $class ?>"><?= $resultJudgement ?></td>			
            <td class="text-center"> <?= $prodDisplay ?></td>
            <td class="text-center"> <?= $specDisplay ?></td>
            <td class="text-center"> <?= $slengthDisplay ?></td>
            <td class="text-center"> <?= $surang ?></td>
            <td class="text-center"> <?= $author ?></td>
            <td class="text-start"> <?= $remark ?></td>               
        </tr>
        <?php
            $start_num--;
        } 
        } catch (PDOException $Exception) {
            print "오류: ".$Exception->getMessage();
        }  
        ?>         
    </tbody>
</table>
</div>
</div>
</div>        
</form>

<script>

var loader = document.getElementById('loadingOverlay');
if(loader)
	loader.style.display = 'none';

var dataTable; // DataTables 인스턴스 전역 변수
var bendinglotPageNumber; // 현재 페이지 번호 저장을 위한 전역 변수

$(document).ready(function() {			
    // DataTables 초기 설정
    dataTable = $('#myTable').DataTable({
        "paging": true,
        "ordering": true,
        "searching": false,
        "pageLength": 100,
        "lengthMenu": [100, 200, 500, 1000],
        "language": {
            "lengthMenu": "Show _MENU_ entries"
        },
        "order": [[1, 'desc']] // 출고예정기준 내림정렬
    });

    // 페이지 번호 복원 (초기 로드 시)
    var savedPageNumber = getCookie('bendinglotPageNumber');
    if (savedPageNumber) {
        dataTable.page(parseInt(savedPageNumber) - 1).draw(false);
    }

    // 페이지 변경 이벤트 리스너
    dataTable.on('page.dt', function() {
        var bendinglotPageNumber = dataTable.page.info().page + 1;
        setCookie('bendinglotPageNumber', bendinglotPageNumber, 10); // 쿠키에 페이지 번호 저장
    });

    // 페이지 길이 셀렉트 박스 변경 이벤트 처리
    $('#myTable_length select').on('change', function() {
        var selectedValue = $(this).val();
        dataTable.page.len(selectedValue).draw(); // 페이지 길이 변경 (DataTable 파괴 및 재초기화 없이)

        // 변경 후 현재 페이지 번호 복원
        savedPageNumber = getCookie('bendinglotPageNumber');
        if (savedPageNumber) {
            dataTable.page(parseInt(savedPageNumber) - 1).draw(false);
        }
    });	
});

function restorePageNumber() {
    var savedPageNumber = getCookie('bendinglotPageNumber');
    // if (savedPageNumber) {
        // dataTable.page(parseInt(savedPageNumber) - 1).draw('page');
    // }
	location.reload(true);
}

$(document).ready(function() {		
	$("#searchBtn").on("click", function() {
		$("#board_form").submit();
	});	
});

var selectedRow;

function loadFormSheet(mode, num = null) {	
	if (num == null) {
		$("#mode").val('insert');
	  } else {
		$("#mode").val('modify');
		$("#num").val(num);
	}
	  
	// 클릭된 행을 저장
    selectedRow = $(`tr[data-num="${num}"]`);
	
    var url = "write_sheet.php?num=" + num ;          
	customPopup(url, '성적서', 800, 900); 	   

    // $.ajax({
        // type: "POST",
        // url: "fetch_modal.php",
        // data: { mode: mode, num: num },
        // dataType: "html",
        // success: function(response) {
            // $(".modal-body .custom-card").html(response);
            // $("#myModal").show();

    // // 품목별 선택 가능한 종류 목록 설정
            // const options = {
                // 'G': ['I'],  // 연기차단재 - 화이바원단
                // 'B': ['S', 'E'],  // 하단마감재(스크린) - SUS, EGI
                // 'T': ['S', 'E'],  // 하단마감재(철재) - SUS, EGI
                // 'L': ['A'],  // L - Bar - 스크린용
                // 'R': ['S', 'D', 'C', 'M', 'E'],  // 가이드레일 - SUS, D형, C형, 본체, EGI
                // 'S': ['S', 'D', 'C', 'M', 'E', 'U'],  // 가이드레일 - SUS, D형, C형, 본체
                // 'C': ['B', 'L', 'P', 'F']  // 케이스 - 후면코너부, 린텔부, 점검구, 전면부
            // };

            // // 품목명 매핑
            // const prodCodeMap = {
                // 'G': 'G',  // 연기차단재
                // 'B': 'B',  // 하단마감재(스크린)
                // 'T': 'T',  // 하단마감재(철재)
                // 'L': 'L',  // L - Bar
                // 'R': 'R',  // 가이드레일(벽면형)
                // 'S': 'S',  // 가이드레일(측면형)
                // 'C': 'C'   // 케이스
            // };

			// // 종류명을 매핑하는 배열 (화면에 표시될 한글명)
			// const specNames = {
				// 'I': '화이바원단',
				// 'S': 'SUS(마감)',
				// 'U': 'SUS(마감)2',
				// 'E': 'EGI(마감)',
				// 'A': '스크린용',  // 스크린용
				// 'D': 'D형',
				// 'C': 'C형',
				// 'M': '본체',
				// 'B': '후면코너부',
				// 'L': '린텔부',
				// 'P': '점검구',
				// 'F': '전면부'
			// };

			// // 종류 코드 매핑 (LOT 번호에 사용할 코드)
			// const specCodeMap = {
				// 'I': 'I',  // 화이바원단
				// 'S': 'S',  // SUS(마감)
				// 'U': 'U',  // SUS(마감)2
				// 'E': 'E',  // EGI(마감)
				// 'A': 'A',  // 스크린용
				// 'D': 'D',  // D형
				// 'C': 'C',  // C형
				// 'M': 'M',  // 본체
				// 'B': 'B',  // 후면코너부
				// 'L': 'L',  // 린텔부
				// 'P': 'P',  // 점검구
				// 'F': 'F'   // 전면부
			// };
            // // 모양&길이를 매핑하는 배열
            // const slengthOptions = {
                // '연기차단재': [
                    // { value: '53', text: 'W50 × 3000' },
                    // { value: '54', text: 'W50 × 4000' },
                    // { value: '83', text: 'W80 × 3000' },
                    // { value: '84', text: 'W80 × 4000' }
                // ],
                // '기타': [
                    // { value: '12', text: '1219' },
                    // { value: '24', text: '2438' },
                    // { value: '30', text: '3000' },
                    // { value: '35', text: '3500' },
                    // { value: '40', text: '4000' },
                    // { value: '42', text: '4200' },
                    // { value: '43', text: '4300' }
                // ]
            // };

            // const prodSelect = document.getElementById('prod');
            // const specSelect = document.getElementById('spec');
            // const slengthSelect = document.getElementById('slength');
            // const lotNumberInput = document.getElementById('lot_number');
            // const regDate = document.getElementById('reg_date').value;

            // // 날짜 코드를 생성하는 함수
            // function getDateCode(dateString) {
                // const date = new Date(dateString);
                // if (isNaN(date.getTime())) return '';  // 유효하지 않은 날짜 처리

                // const year = date.getFullYear().toString().slice(-1); // 연도의 마지막 숫자
                // const month = date.getMonth() + 1; // 월
                // const day = date.getDate(); // 일

                // const monthCode = month >= 10 ? String.fromCharCode(55 + month) : month.toString(); // 월을 A, B, C로 변환

                // return `${year}${monthCode}${day.toString().padStart(2, '0')}`;
            // }

            // // LOT 번호 업데이트 함수
            // function updateLotNumber() {        
                // const selectedProd = prodSelect.value;
                // const selectedSpec = specSelect.value;
                // const selectedSlength = slengthSelect.value;

                // const prodCode = prodCodeMap[selectedProd] || '';
                // const specCode = specCodeMap[selectedSpec] || '';
                // const slengthCode = selectedProd === 'G' 
                    // ? slengthOptions['연기차단재'].find(option => option.value === selectedSlength)?.value 
                    // : slengthOptions['기타'].find(option => option.value === selectedSlength)?.value;
                // const dateCode = getDateCode(regDate);

                // if (prodCode && specCode && slengthCode && dateCode) {
                    // lotNumberInput.value = `${prodCode}${specCode}${dateCode}-${slengthCode}`;
                // } else {
                    // lotNumberInput.value = '';
                // }
            // }

            // // 품목 변경 시
            // $(document).on('change', '#prod', function() {
                // const selectedProd = this.value;
                // const specOptions = options[selectedProd] || [];

				// // 종류 select의 옵션 초기화
				// specSelect.innerHTML = '<option value="" disabled>종류 선택</option>';

				// // 종류 select에 해당하는 품목의 옵션 추가 (화면에 한글 표시)
				// specOptions.forEach(function(spec) {
					// const optionText = specNames[spec] || '종류 없음';  // 한글명 표시
					// specSelect.innerHTML += '<option value="' + spec + '">' + optionText + '</option>';
				// });

                // // 모양&길이 select 초기화 및 옵션 추가
                // const slengthOptionsToAdd = (selectedProd === 'G') ? slengthOptions['연기차단재'] : slengthOptions['기타'];
                // slengthSelect.innerHTML = '<option value="" disabled>모양&길이 선택</option>';
                // slengthOptionsToAdd.forEach(function(option) {
                    // slengthSelect.innerHTML += '<option value="' + option.value + '">' + option.text + '</option>';
                // });

                // updateLotNumber(); // LOT 번호 업데이트
            // });

     
	// // 종류 변경 시 LOT 번호 업데이트
	// $(document).on('change', '#spec', function() {	     
		// updateLotNumber();		
	// });

	// // 모양 & 길이 선택 시 LOT 번호 업데이트
	// $(document).on('change', '#slength', function() {
		// updateLotNumber();
	// });

	// // 날짜 코드를 생성하는 함수
	// function getDateCode(dateString) {
		// const date = new Date(dateString);
		// if (isNaN(date.getTime())) return '';  // 날짜가 유효하지 않으면 빈 값 반환

		// const year = date.getFullYear().toString().slice(-1); // 연도의 마지막 숫자
		// const month = date.getMonth() + 1; // 월 (0부터 시작하므로 1을 더함)
		// const day = date.getDate(); // 일

		// // 월을 A, B, C로 변환 (10월=A, 11월=B, 12월=C)
		// const monthCode = month >= 10 ? String.fromCharCode(55 + month) : month.toString();

		// // 4자리 날짜 코드 (년도 마지막 숫자 + 월 코드 + 일)
		// return `${year}${monthCode}${day.toString().padStart(2, '0')}`;
	// }

		
		// // 품목 및 종류에 따른 재질 정보
		// const materialMap = {
			// 'G': { 'I': '화이바원단' },
			// 'B': { 'S': 'SUS 1.2T', 'E': 'EGI 1.55T' },
			// 'L': { 'A': 'EGI 1.55T' },
			// 'R': { 'S': 'SUS 1.2T', 'D': 'EGI 1.55T', 'C': 'EGI 1.55T', 'M': 'EGI 1.55T', 'E': 'EGI 1.55T' },
			// 'S': { 'S': 'SUS 1.2T', 'U': 'SUS 1.2T', 'D': 'EGI 1.55T', 'C': 'EGI 1.55T', 'M': 'EGI 1.55T', 'E': 'EGI 1.55T' },
			// 'C': { 'B': 'EGI 1.55T', 'L': 'EGI 1.55T', 'P': 'EGI 1.55T', 'F': 'EGI 1.55T' }
		// };

		// // 품목과 종류가 선택될 때 재질을 결정하는 함수
		// function updateMaterial() {
			// const prod = $('#prod').val(); // 품목 선택 값
			// const spec = $('#spec').val(); // 종류 선택 값

			// // 재질 결정
			// if (materialMap[prod] && materialMap[prod][spec]) {
				// const material = materialMap[prod][spec];
				// $('#rawLot').attr('data-searchRaw', material); // 재질을 data-searchRaw에 추가
				// console.log('재질: ' + material);
			// } else {
				// $('#rawLot').attr('data-searchRaw', ''); // 해당 조합이 없으면 빈 값
				// console.log('재질 정보 없음');
			// }
		// }

		// // 품목과 종류가 변경될 때마다 재질 업데이트
		// $('#prod, #spec').on('change', function() {
			// updateMaterial();
		// });		
		
		// updateMaterial();
							

	// // 모달을 호출할 때 tr 요소를 저장하는 변수

	// $(document).on('click', '.lotnumInput', function() {
		
		// selectedRow = $(this).closest('tr'); // 클릭된 행(tr)을 저장

		// const prod =$('select[name="prod"]').val(); // 해당 행에서 'prod'의 선택값
		// const spec =$('select[name="spec"]').val(); // 해당 행에서 'spec'의 선택값

		// console.log("선택된 품목:", prod);
		// console.log("선택된 종류:", spec);

		// // 재질을 결정하는 함수 호출
		// const material = getMaterial(prod, spec);

		// // 결정된 재질을 #rawLot input 요소의 data-searchRaw 속성에 추가
		// $('#rawLot').attr('data-searchRaw', material); 
		
		// // console.log('raw Material', material);

			// $.ajax({
				// type: 'POST',
				// url: 'fetch_lot.php',
				// data: { item_name: material },
				// dataType: 'html',
				// success: function(data) {
					// $('#lotModal .modal-body').html(data); // 모달 바디에 데이터 로드
					// setTimeout(function() {
						// $('#lotModal').modal('show'); // 모달 띄우기
					// }, 500);
					
				// },
				// error: function(xhr, status, error) {
					// console.error("AJAX Request Failed:", status, error);
					// console.error("Response:", xhr.responseText);
				// }
			// });

	// });
	
	
		
	// $(document).on('click', '.lotnumInput_fabric', function() {
		
		// selectedRow = $(this).closest('tr'); // 클릭된 행(tr)을 저장

		// // 재질을 결정하는 함수 호출
		// const material = '화이바원단';

			// $.ajax({
				// type: 'POST',
				// url: 'fetch_lot_fabric.php',
				// data: { item_name: material },
				// dataType: 'html',
				// success: function(data) {
					// $('#lotModal_fabric .modal-body').html(data); // 모달 바디에 데이터 로드
					// setTimeout(function() {
						// $('#lotModal_fabric').modal('show'); // 모달 띄우기
					// }, 500);
					
				// },
				// error: function(xhr, status, error) {
					// console.error("AJAX Request Failed:", status, error);
					// console.error("Response:", xhr.responseText);
				// }
			// });

	// });
	
		
	// $("#closeBtn").on("click", function() {
		// $("#myModal").hide();
	// });

            // let isSaving = false;
            
            // $("#saveBtn").on("click", function() {
                // if (isSaving) return;
                // isSaving = true;

                // var header = $("#header").val();
                // var formData = $("#board_form").serialize(); // 파일전송은 안된다. serialize의 단점                

                // $.ajax({
                    // url: "insert.php",
                    // type: "post",
                    // data: formData,
                    // success: function(response) {
                        // Toastify({
                            // text: "저장완료",
                            // duration: 3000,
                            // close: true,
                            // gravity: "top",
                            // position: "center",
                            // backgroundColor: "#4fbe87",
                        // }).showToast();
					// setTimeout(function() {
                            // $("#myModal").hide();
                            // location.reload();                        							
                            // isSaving = false;
						// }, 1000);
                        
                        
                    // },
                    // error: function(jqxhr, status, error) {
                        // console.log(jqxhr, status, error);
                        // isSaving = false;
                    // }
                // });
            // });

            // $("#deleteBtn").on("click", function() {
                // var level = '<?= $_SESSION["level"] ?>';

                // if (level !== '1') {
                    // Swal.fire({
                        // title: '삭제불가',
                        // text: "관리자만 삭제 가능합니다.",
                        // icon: 'error',
                        // confirmButtonText: '확인'
                    // });
                    // return;
                // }

                // Swal.fire({
                    // title: '자료 삭제',
                    // text: "삭제는 신중! 정말 삭제하시겠습니까?",
                    // icon: 'warning',
                    // showCancelButton: true,
                    // confirmButtonColor: '#3085d6',
                    // cancelButtonColor: '#d33',
                    // confirmButtonText: '삭제',
                    // cancelButtonText: '취소'
                // }).then((result) => {
                    // if (result.isConfirmed) {
                        // $("#mode").val('delete');
                        // var formData = $("#board_form").serialize();

                        // $.ajax({
                            // url: "insert.php",
                            // type: "post",
                            // data: formData,
                            // success: function(response) {
                                // Toastify({
                                    // text: "파일 삭제완료",
                                    // duration: 2000,
                                    // close: true,
                                    // gravity: "top",
                                    // position: "center",
                                    // style: {
                                        // background: "linear-gradient(to right, #00b09b, #96c93d)"
                                    // },
                                // }).showToast();

                                // $("#myModal").hide();
                                // location.reload();
                            // },
                            // error: function(jqxhr, status, error) {
                                // console.log(jqxhr, status, error);
                            // }
                        // });
                    // }
                // });
            // });
        // },
        // error: function(jqxhr, status, error) {
            // console.log("AJAX Error: ", status, error);
        // }
    // });


}

// 팝업 창 닫기 시 데이터를 전달하고 열 갱신
function closePopupAndUpdateRow(updatedData) {
    if (selectedRow) {
        // selectedRow.find('.text-center.text-primary').eq(0).text(updatedData.rawLot);
        // selectedRow.find('.text-center.text-primary').eq(1).text(updatedData.fabric_lot);
        // selectedRow.find('.fw-bold.text-success').text(updatedData.lot_number);
        selectedRow.find('.resultJudgement').text(updatedData.resultJudgement);

        // // 추가적으로 다른 필드도 업데이트 필요 시 설정
        // selectedRow.find('.text-center').eq(1).text(updatedData.reg_date);
        // selectedRow.find('.text-center').eq(6).text(updatedData.prodDisplay);
        // selectedRow.find('.text-center').eq(7).text(updatedData.specDisplay);
        // selectedRow.find('.text-center').eq(8).text(updatedData.slengthDisplay);
        // selectedRow.find('.text-center').eq(9).text(updatedData.surang);
        // selectedRow.find('.text-center').eq(10).text(updatedData.author);
        // selectedRow.find('.text-start').eq(0).text(updatedData.remark);
    }
}
	
	
// 모달에서 선택한 로트 번호를 적용
function selectLotNumber(lotNumber) {
    if (selectedRow) {
        selectedRow.find('input.lotnumInput').val(lotNumber); // 선택된 로트 번호 적용
        $('#lotModal').modal('hide');
    } else {
        console.error('selectedRow is undefined or null.');
    }
}

// 모달에서 선택한 로트 번호를 적용
function selectLotNumber_fabric(lotNumber) {
    if (selectedRow) {
        selectedRow.find('input.lotnumInput_fabric').val(lotNumber); // 선택된 로트 번호 적용
        $('#lotModal_fabric').modal('hide');
    } else {
        console.error('selectedRow is undefined or null.');
    }
}

$(document).on('click', '.nullBtn', function() {
	selectLotNumber('');
});

$(document).on('click', '.cancelBtn', function() {
	$('#lotModal').modal('hide');
});	

$(document).on('click', '.nullBtn_fabric', function() {
	selectLotNumber_fabric('');
});

$(document).on('click', '.cancelBtn_fabric', function() {
	$('#lotModal_fabric').modal('hide');
});	

$(document).on('click', '.lot-done-btn', function(e) {
    // 이벤트 전파를 막아 모달이 닫히는 것을 방지
        e.stopPropagation();
		const num = $(this).data('num');
		const tablename = $(this).data('tablename');

		console.log('num', num);
		console.log('tablename', tablename);

		Swal.fire({
			title: '로트 소진 처리',
			text: '해당 로트를 소진 처리하시겠습니까?',
			icon: 'warning',
			showCancelButton: true,
			confirmButtonColor: '#3085d6',
			cancelButtonColor: '#d33',
			confirmButtonText: '예, 처리합니다',
			cancelButtonText: '취소'
		}).then((result) => {
			if (result.isConfirmed) {
				// 사용자가 '예'를 선택한 경우에만 AJAX 요청 수행
				$.ajax({
					url: 'update_lotdone.php',
					type: 'POST',
					data: {
						num: num,
						tablename: tablename,
						mode: 'update',
						lotDone: '소진'
					},
					dataType: 'json',
					success: function(response) {
						console.log(response);
						if (response && response.success) {
							Swal.fire({
								title: '처리 완료',
								text: '소진 처리되었습니다.',
								icon: 'success',
								confirmButtonText: '확인'
							}).then(() => {                            
								// 모달이 존재할 때만 닫기
								if ($('#lotModal').hasClass('show')) {
									$('#lotModal').modal('hide');
								}

								reloadModalContent();
							});
						} else {
							Swal.fire({
								title: '오류',
								text: '소진 처리 중 오류가 발생했습니다.',
								icon: 'error',
								confirmButtonText: '확인'
							});
						}
					},
					error: function(xhr, status, error) {
						console.error('AJAX Error:', status, error);
						Swal.fire({
							title: 'AJAX 오류',
							text: '요청 중 오류가 발생했습니다.',
							icon: 'error',
							confirmButtonText: '확인'
						});
					}
				});
			}
		});
	});

$(document).on('click', '.lot-done-fabric-btn', function(e) {
    // 이벤트 전파를 막아 모달이 닫히는 것을 방지
        e.stopPropagation();
		const num = $(this).data('num');
		const tablename = $(this).data('tablename');

		console.log('num', num);
		console.log('tablename', tablename);

		Swal.fire({
			title: '로트 소진 처리',
			text: '해당 로트를 소진 처리하시겠습니까?',
			icon: 'warning',
			showCancelButton: true,
			confirmButtonColor: '#3085d6',
			cancelButtonColor: '#d33',
			confirmButtonText: '예, 처리합니다',
			cancelButtonText: '취소'
		}).then((result) => {
			if (result.isConfirmed) {
				// 사용자가 '예'를 선택한 경우에만 AJAX 요청 수행
				$.ajax({
					url: 'update_lotdone.php',
					type: 'POST',
					data: {
						num: num,
						tablename: tablename,
						mode: 'update',
						lotDone: '소진'
					},
					dataType: 'json',
					success: function(response) {
						console.log(response);
						if (response && response.success) {
							Swal.fire({
								title: '처리 완료',
								text: '소진 처리되었습니다.',
								icon: 'success',
								confirmButtonText: '확인'
							}).then(() => {                            
								// 모달이 존재할 때만 닫기
								if ($('#lotModal_fabric').hasClass('show')) {
									$('#lotModal_fabric').modal('hide');
								}

								reloadModalContent_fabric();
							});
						} else {
							Swal.fire({
								title: '오류',
								text: '소진 처리 중 오류가 발생했습니다.',
								icon: 'error',
								confirmButtonText: '확인'
							});
						}
					},
					error: function(xhr, status, error) {
						console.error('AJAX Error:', status, error);
						Swal.fire({
							title: 'AJAX 오류',
							text: '요청 중 오류가 발생했습니다.',
							icon: 'error',
							confirmButtonText: '확인'
						});
					}
				});
			}
		});
	});

function reloadModalContent_fabric() {
	
	selectedRow = $(this).closest('tr'); // 클릭된 행(tr)을 저장
	const material = '화이바원단';

	$.ajax({
		type: 'POST',
		url: 'fetch_lot_fabric.php',
		data: { item_name: material },
		dataType: 'html',
		success: function(data) {
			$('#lotModal_fabric .modal-body').html(data); // 모달 바디에 데이터 로드
			setTimeout(function() {
				$('#lotModal_fabric').modal('show'); // 모달 띄우기
			}, 500);
			
		},
		error: function(xhr, status, error) {
			console.error("AJAX Request Failed:", status, error);
			console.error("Response:", xhr.responseText);
		}
	});
}

// 모달 내용 새로고침 함수
function reloadModalContent() {
		
		selectedRow = $(this).closest('tr'); // 클릭된 행(tr)을 저장

		const prod =$('select[name="prod"]').val(); // 해당 행에서 'prod'의 선택값
		const spec =$('select[name="spec"]').val(); // 해당 행에서 'spec'의 선택값

		console.log("선택된 품목:", prod);
		console.log("선택된 종류:", spec);

		// 재질을 결정하는 함수 호출
		const material = getMaterial(prod, spec);

		// 결정된 재질을 #rawLot input 요소의 data-searchRaw 속성에 추가
		$('#rawLot').attr('data-searchRaw', material); 
		
		console.log('raw Material', material);

	$.ajax({
		type: 'POST',
		url: 'fetch_lot.php',
		data: { item_name: material },
		dataType: 'html',
		success: function(data) {
			$('#lotModal .modal-body').html(data); // 모달 바디에 데이터 로드
			setTimeout(function() {
				$('#lotModal').modal('show'); // 모달 띄우기
			}, 500);
			
		},
		error: function(xhr, status, error) {
			console.error("AJAX Request Failed:", status, error);
			console.error("Response:", xhr.responseText);
		}
	});
}

// 품목과 종류에 따른 재질 결정 함수
function getMaterial(prod, spec) {
	let material = '';
	
	// prod 및 spec 값을 코드로 해석하여 재질 결정
	if (prod === 'G' && spec === 'I') {  // 연기차단재 + 화이버원단
		material = '화이바원단';
	} else if (prod === 'B' && spec === 'S' || prod === 'T' && spec === 'S'  ) {  // 하단마감재(스크린) + SUS
		material = 'SUS 1.2T';
	} else if (prod === 'B' && spec === 'E' || prod === 'T' && spec === 'E' ) {  // 하단마감재(스크린) + EGI
		material = 'EGI 1.55T';
	} else if (prod === 'L' && spec === 'A') {  // L - Bar + 스크린용
		material = 'EGI 1.55T';
	} else if ((prod === 'R' || prod === 'S') && (spec === 'S' || spec === 'U')) {  // 가이드레일 + SUS 마감재
		material = 'SUS 1.2T';
	} else if ( (prod === 'R' || prod === 'S') && (spec === 'D' || spec === 'C' || spec === 'M' || spec === 'E')) {  // 가이드레일 + D형, C형, 본체, EGI
		material = 'EGI 1.55T';
	} else if (prod === 'C' && (spec === 'B' || spec === 'L' || spec === 'P' || spec === 'F')) {  // 케이스 + 후면코너부, 린텔부, 점검구, 전면부
		material = 'EGI 1.55T';
	}	
	return material;
}

$(document).ready(function(){    
    var modal = document.getElementById("myModal");
    var span = document.getElementsByClassName("close")[0];

    span.onclick = function() {
        modal.style.display = "none";
    }

    $(".close").on("click", function() {		
        $("#myModal").hide();
    });
	
    $("#newBtn").on("click", function() {		
        loadFormSheet('insert');
    });

    $("#searchBtn").on("click", function() {
        $("#board_form").submit();
    });		
	// upload
	$("#uploadBtn").on("click", function() {	
		  popupCenter('uploadgrid.php' , '업로드', 1800, 800);	
	});		
		
});

function enter() {
    $("#board_form").submit();
}

function inputNumberFormat(obj) {
    obj.value = obj.value.replace(/[^0-9]/g, '');    
    let value = obj.value.replace(/,/g, '');
    obj.value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}

$(document).on("keypress", "input", function(event) {
	return event.keyCode != 13;
});		

$(document).ready(function(){    
   // 방문기록 남김
   var title_message = '<?php echo $title_message ; ?>';
   saveMenuLog(title_message);
});

$(document).ready(function() {     
    // Toggle button for bendTable
    $("#bendTableToggle").on("click", function() {
        var showListSheet = getCookie("showListSheet");
        var bendTable = $("#item_Table");
        if (showListSheet === "show") {
            bendTable.css("display", "none");
            setCookie("showListSheet", "hide", 10);
        } else {
            bendTable.css("display", "block");
            setCookie("showListSheet", "show", 10);
        }
    });

    // Check the cookie value on page load and set the table visibility
    var showListSheet = getCookie("showListSheet");
    var bendTable = $("#item_Table");
    if (showListSheet === "show") {
        bendTable.css("display", "block");
    } else {
        bendTable.css("display", "none");
    }
});	

$(document).on('shown.bs.modal', '#lotModal', function() {
    $('#myModal').css('z-index', 1040);  // 기존 모달 뒤로 보내기
    $(this).css('z-index', 1050);        // 새 모달을 맨 위로
});

$(document).on('hidden.bs.modal', '#lotModal', function() {
    $('#myModal').css('z-index', 1050);  // 기존 모달을 다시 위로
});

$(document).on('shown.bs.modal', '#lotModal_fabric', function() {
    $('#myModal').css('z-index', 1040);  // 기존 모달 뒤로 보내기
    $(this).css('z-index', 1050);        // 새 모달을 맨 위로
});

$(document).on('hidden.bs.modal', '#lotModal_fabric', function() {
    $('#myModal').css('z-index', 1050);  // 기존 모달을 다시 위로
});

</script>

</body>
</html>