'가이드레일(벽면형)',
'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', // 1219 기장 철판이 없어서 2438 적용
'24' => '2438',
'30' => '3000',
'35' => '3500',
'40' => '4000',
'41' => '4150',
'42' => '4200',
'43' => '4300'
];
echo "찾는 형태: " . $lot_type . ' ' ;
// 'SS-24' 값을 'S', 'S', '24'로 분리하여 검색 조건에 적용
$prod_value = substr($item_name, 0, 1); // 첫 번째 'S'는 prod
$spec_value = substr($item_name, 1, 1); // 두 번째 'S'는 spec
$slength_value = substr($item_name, 3); // '24'는 slength
// echo $prod_value . ' ' . $spec_value . ' ' . $slength_value ;
if ($lot_type === 'product') {
// 생산품 로트번호 조회 코드
echo '
생산품 : ' . $item_name . '
';
} elseif ($lot_type === 'material') {
// 원자재 로트번호 조회 코드
switch ($spec_value)
{
case 'S':
if ($prod_value == 'B')
$rawitemname = "SUS1.55T";
else
$rawitemname = "SUS1.2T";
break;
case 'X' or 'M' :
$rawitemname = "EGI1.55T";
break;
case 'H' :
$rawitemname = "EGI1.15T";
break;
case 'Y' :
$rawitemname = "SUS1.2T";
break;
}
echo "원자재 " . $rawitemname . " 로트 ";
}
if (empty($item_name)) {
echo '품목명이 없습니다.
';
exit;
}
if ($lot_type === 'product') {
try {
$sql = "SELECT *
FROM {$DB}.lot
WHERE prod = :prod_value
AND spec = :spec_value
AND slength = :slength_value
AND (is_deleted IS NULL OR is_deleted = '0')
ORDER BY reg_date DESC
LIMIT 12";
// SQL 쿼리 실행 시 바인딩할 값 설정
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':prod_value', $prod_value);
$stmt->bindValue(':spec_value', $spec_value);
$stmt->bindValue(':slength_value', $slength_value);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // 여기서 'stmt' 사용
if (count($rows) > 0) {
echo ''; // 스크롤 컨테이너 시작
echo '
';
echo '';
echo '';
echo '생산로트 ';
echo '등록일 ';
echo '품목명 ';
echo '종류 ';
echo '모양&길이 ';
echo '원단로트 ';
echo '재고 ';
echo '사용수량 ';
echo ' ';
echo ' ';
echo '';
foreach ($rows as $row) {
$lot_number = htmlspecialchars($row['lot_number']);
$surang = number_format((int)$row['surang']);
$prod = htmlspecialchars($row['prod']);
$spec = htmlspecialchars($row['spec']);
$slength = htmlspecialchars($row['slength']);
$reg_date = htmlspecialchars($row['reg_date']);
$num = htmlspecialchars($row['num']); // 추가: num 값을 가져옵니다.
$fabric_lot = htmlspecialchars($row['fabric_lot']);
// 품목명, 종류, 모양&길이에 대한 친절한 표시를 준비
$prodDisplay = isset($prodNames[$prod]) ? "{$prod}({$prodNames[$prod]})" : $prod;
$specDisplay = isset($specNames[$spec]) ? "{$spec}({$specNames[$spec]})" : $spec;
$slengthDisplay = isset($slengthNames[$slength]) ? "{$slength}({$slengthNames[$slength]})" : $slength;
echo '';
echo '' . $lot_number . ' ';
echo '' . $reg_date . ' ';
echo '' . $prodDisplay . ' ';
echo '' . $specDisplay . ' ';
echo '' . $slengthDisplay . ' ';
echo '' . $fabric_lot . ' ';
echo '' . $surang . ' ';
echo '' . $usesurang . ' ';
echo ' ';
}
echo ' ';
echo '
';
echo '
'; // 스크롤 컨테이너 종료
} else {
echo '해당 품목명에 대한 로트 번호가 없습니다.
';
}
} catch (PDOException $e) {
echo '오류: ' . htmlspecialchars($e->getMessage()) . '
';
}
}
if ($lot_type === 'material') {
switch (substr($item_name, 0, 1))
{
case 'H' :
$rawitemname = "EGI1.15T";
break;
case 'X' :
$rawitemname = "EGI1.55T";
break;
case 'Y' :
$rawitemname = "SUS1.2T";
break;
}
try {
// 로트 번호를 품목명에 따라 조회
$sql = "SELECT num, item_name, lot_no, received_qty, supplier, inspection_date, specification
FROM {$DB}.instock
WHERE item_name LIKE :item_name AND is_deleted IS NULL AND lotDone IS NULL
ORDER BY inspection_date DESC, lot_no ASC ";
$stmh = $pdo->prepare($sql);
$stmh->bindValue(':item_name', "%$rawitemname%", PDO::PARAM_STR);
$stmh->execute();
$rows = $stmh->fetchAll(PDO::FETCH_ASSOC);
// echo '';
// print_r($rows);
// echo ' ';
$slength = substr($Request_item_name, 3); // '24'는 slength
if($slength == '12')
$slength = '24';
echo ' 검색어 item_name : ' . $item_name . ' ' . $rawitemname . ', 길이 : ' . $slength . '
';
if (count($rows) > 0) {
echo ''; // 스크롤 컨테이너 시작
echo '
';
echo '';
echo '';
echo '로트 번호 ';
echo '품명 ';
echo '규격 ';
echo '수량(EA) 길이(M) ';
echo '납품업체 ';
echo '검사일 ';
echo '로트소진 ';
echo ' ';
echo ' ';
echo '';
foreach ($rows as $row) {
$lot_no = htmlspecialchars($row['lot_no']);
$received_qty = number_format((int)$row['received_qty']);
$supplier = htmlspecialchars($row['supplier']);
$inspection_date = htmlspecialchars($row['inspection_date']);
$num = htmlspecialchars($row['num']);
$item_name = htmlspecialchars($row['item_name']);
$specification = htmlspecialchars($row['specification']);
$parts = explode('*', $specification);
$beforeAsterisk = isset($parts[0]) ? $parts[0] : ''; // '*' 기준 앞으로
$afterAsterisk = isset($parts[1]) ? $parts[1] : ''; // '*' 4000, 3500 이런식으로 뒤의 값 추출
if($afterAsterisk =='1219')
$afterAsterisk ='2438' ; // 철판 1219 기장은 없음
$slengthDisplay = isset($slengthNames[$slength]) ? "{$slengthNames[$slength]}" : $slength;
// echo 'beforeAsterisk : ' . intval($beforeAsterisk) . 'afterAsterisk : ' . intval($afterAsterisk) . ' , slengthDisplay : ' . intval($slengthDisplay) . ' ';
if ($item_name == '내화실') {
echo '';
echo '' . $lot_no . ' ';
echo '' . $item_name . ' ';
echo '' . $specification . ' ';
echo '' . $received_qty . ' ';
echo '' . $supplier . ' ';
echo '' . $inspection_date . ' ';
// '소진' 버튼 추가
echo '';
echo '소진 ';
echo ' ';
echo ' ';
} else {
if (intval($slengthDisplay) === intval($afterAsterisk) || strpos($slengthDisplay, '*') !== false) { // *3000 뒷 3000이 같은 코드만 or 하부베이스 120*120 형태로 불러오기
echo '';
echo ' ' . $lot_no . ' ';
echo ' ' . $item_name . ' ';
echo '' . $specification . ' ';
echo ' ' . $received_qty . ' ';
echo ' ' . $supplier . ' ';
echo ' ' . $inspection_date . ' ';
// '소진' 버튼 추가
echo '';
echo '소진 ';
echo ' ';
echo ' ';
}
}
}
echo ' ';
echo '
';
echo '
'; // 스크롤 컨테이너 종료
} else {
echo '해당 품목명에 대한 로트 번호가 없습니다. item_name : ' . $item_name . '
';
}
} catch (PDOException $e) {
echo '오류: ' . htmlspecialchars($e->getMessage()) . '
';
}
}
?>