prepare($sql); $stmh->bindValue(1, $num, PDO::PARAM_STR); $stmh->execute(); $count = $stmh->rowCount(); if ($count < 1) { print "검색결과가 없습니다.
"; } else { $row = $stmh->fetch(PDO::FETCH_ASSOC); include "_row.php"; // $korean = number_to_korean($totalprice); } } catch (PDOException $Exception) { print "오류: " . $Exception->getMessage(); } // 제품 코드, 종류 코드, 날짜 코드, 모양&길이 코드의 의미를 매핑한 배열 $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' ]; // 1. 제품 코드 추출 (첫 번째 글자) $prodCode = substr($lot_number, 0, 1); $prodName = isset($prodNames[$prodCode]) ? $prodNames[$prodCode] : "Unknown"; // 2. 종류 코드 추출 (두 번째 글자) $specCode = substr($lot_number, 1, 1); $specName = isset($specNames[$specCode]) ? $specNames[$specCode] : "Unknown"; // 앞자리 두문자로 소재 추정 $materialRaw = $prodCode . $specCode ; // 3. 날짜 코드 추출 (세 번째부터 다섯 번째 문자) $dateCode = substr($lot_number, 2, 4); // 연도, 월, 일을 추출하여 해석 $yearCode = substr($dateCode, 0, 1); $monthCode = substr($dateCode, 1, 1); $dayCode = substr($dateCode, 2, 2); // 연도와 월 코드 해석 $year = 2020 + intval($yearCode); // 예: 4 -> 2024 $month = is_numeric($monthCode) ? intval($monthCode) : ord($monthCode) - 55; // A = 10, B = 11, C = 12 $day = intval($dayCode); $date = "{$year}년 {$month}월 {$day}일"; // 4. 모양&길이 코드 추출 (하이픈 이후 코드) $slengthCode = substr($lot_number, -2); $slength = isset($slengthNames[$slengthCode]) ? $slengthNames[$slengthCode] : "Unknown"; $formattedNumberCode = null; // 연기차단재 표현에 대한 처리부분 // $slength가 숫자만으로 구성된 경우와 아닌 경우를 검사 if (is_numeric($slength)) { // 숫자일 경우 number_format을 적용하여 출력 $formattedNumber = $slength; } else { // 숫자가 아닐 경우, 텍스트와 숫자 부분을 분리하여 처리 preg_match('/\d+$/', $slength, $matches); // 마지막 숫자 추출 $numericValue = isset($matches[0]) ? (int)$matches[0] : null; // 텍스트 형식 그대로 출력할 변수 $displayText = $slength; // 숫자 부분만 포맷팅할 변수 $formattedNumber = is_numeric($numericValue) ? $numericValue : ''; } // 결과 출력 $result = [ "제품 코드" => "$prodCode: $prodName", "종류 코드" => "$specCode: $specName", "날짜 코드" => "$dateCode: $date", "모양&길이 코드" => "$formattedNumberCode: $formattedNumber" ]; // print_r($result); switch ($materialRaw) { case 'CF': case 'CP': case 'CL': case 'CB': case 'LA': case 'RM': case 'RT': case 'RC': case 'RD': case 'ST': case 'SC': case 'SD': case 'GI': case 'BE': case 'TE': case 'SM': $material = 'EGI 1.55T'; $code ="E155"; break; case 'RS': case 'SS': case 'SU': case 'BS': case 'TS': $material = 'SUS 1.2T'; $code ="S12"; break; } $subSpec = ''; //재질 설정 switch ($materialRaw) { case 'CF': case 'CP': case 'CL': case 'CB': case 'LA': case 'RM': case 'RT': case 'RC': case 'RD': case 'ST': case 'SC': case 'SD': case 'GI': case 'BE': case 'TE': case 'SM': $subSpec = '(W576)'; break; case 'RS': case 'SS': case 'SU': case 'BS': case 'TS': $material = 'SUS 1.2T'; break; } //이미지 이름 설정 switch ($materialRaw) { case 'CF': case 'CP': case 'CL': case 'CB': $imgName = 'CF'; break; case 'RM': case 'RC': case 'RD': case 'RS': $imgName = 'RM'; break; case 'RT': $imgName = 'RT'; break; case 'SM': case 'SC': case 'SD': case 'SS': case 'SU': $imgName = 'SM'; break; case 'ST': $imgName = 'ST'; break; case 'LA': $imgName = 'LA'; break; case 'GI': $imgName = 'GI'; break; case 'BE': case 'BS': $imgName = 'BS'; break; case 'TE': case 'TS': $imgName = 'TS'; break; } //품명명별 배열설정 switch ($materialRaw) { case 'CF': $data = [ [ 'KDPS' => 'KDPS-20', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '①', '도면치수' => 380, '측정값' => null] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'CP': $data = [ [ 'KDPS' => 'KDPS-20', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '③', '도면치수' => 240, '측정값' => null] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'CL': $data = [ [ 'KDPS' => 'KDPS-20', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '②', '도면치수' => 50, '측정값' => null] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'CB': $data = [ [ 'KDPS' => 'KDPS-20', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '④', '도면치수' => 50, '측정값' => null] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'RM': $data = [ [ 'KDPS' => 'KDPS-12', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '②', '도면치수' => 80, '측정값' => null], ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'RC': $data = [ [ 'KDPS' => 'KDPS-12', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '③', '도면치수' => 45, '측정값' => null], ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'RD': $data = [ [ 'KDPS' => '', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '④', '도면치수' => 40, '측정값' => null], ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'RS': $data = [ [ 'KDPS' => '', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber ] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '(1)', '도면치수' => 30, '측정값' => null] ] ] ]; break; case 'ST': $data = [ [ 'KDPS' => 'KDPS-26', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '①', '도면치수' => 30, '측정값' => null], ['POINT' => '②', '도면치수' => 78, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'RT': $data = [ [ 'KDPS' => 'KDPS-25', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '①', '도면치수' => 30, '측정값' => null], ['POINT' => '②', '도면치수' => 78, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'SM': $data = [ [ 'KDPS' => 'KDPS-28', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '④', '도면치수' => 35, '측정값' => null], // ['POINT' => '②', '도면치수' => 80, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'SC': $data = [ [ 'KDPS' => 'KDPS-28', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '⑤', '도면치수' => 95, '측정값' => null], // ['POINT' => '②', '도면치수' => 80, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'SD': $data = [ [ 'KDPS' => 'KDPS-28', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '⑥', '도면치수' => 90, '측정값' => null], // ['POINT' => '②', '도면치수' => 80, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'SS': $data = [ [ 'KDPS' => 'KDPS-28', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber ] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '(1)', '도면치수' => 30, '측정값' => null] ] ] ]; case 'SU': $data = [ [ 'KDPS' => 'KDPS-28', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber ] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '(2)', '도면치수' => 70, '측정값' => null] ] ] ]; break; case 'LA': $data = [ [ 'KDPS' => 'KDPS-24', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '(1)', '도면치수' => 17, '측정값' => null], ['POINT' => '(2)', '도면치수' => 600, '측정값' => null], ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'GI': $data = [ [ 'KDPS' => 'KDPS-22', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 50, '측정값' => null ] ], '간격' => [ ['POINT' => '②', '도면치수' => 12, '측정값' => null], // ['POINT' => '②', '도면치수' => 600, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; // 끝 두 문자 추출 $lastTwoChars = substr($lot_number, -2); if ($lastTwoChars == '83') { // 조건이 일치하면 '너비'의 '도면치수' 값을 80으로 변경 $data[0]['너비'][0]['도면치수'] = 80; } break; case 'BE': case 'BS': $data = [ [ 'KDPS' => 'KDPS-17', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '(1)', '도면치수' => 60, '측정값' => null], // ['POINT' => '②', '도면치수' => 80, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; case 'TE': case 'TS': $data = [ [ 'KDPS' => 'KDPS-29', '품명' => $prodName . '-' . $specName, '길이' => [ ['도면치수' => $formattedNumber, '측정값' => null] ], '너비' => [ ['도면치수' => 'N/A', '측정값' => 'N/A'] ], '간격' => [ ['POINT' => '(1)', '도면치수' => 60, '측정값' => null], // ['POINT' => '②', '도면치수' => 80, '측정값' => null], // ['POINT' => '③', '도면치수' => 45, '측정값' => null], // ['POINT' => '④', '도면치수' => 40, '측정값' => null], // ['POINT' => '⑤', '도면치수' => 34, '측정값' => '없음'] ], '판정' => null, // 적합 여부 (적/부) ] ]; break; } // 결과 확인 // echo "
";
// print_r($result);
// echo "
"; $author = isset($author) ? $author : $user_name ; // 작성자 $recordsheet = isset($recordsheet) ? json_decode($recordsheet, true) : []; // print_r($recordsheet); // JSON 데이터를 JavaScript 변수로 변환 echo ""; $indateStr = date("m/d", strtotime($reg_date)); $todayStr = date("m/d"); $inspectdate = date("Y-m-d"); ?>
 

경동기업
절곡품 재고생산 작업일지
중간검사성적서



작성 검토 승인
판매/ 생산 품질
'; // 연기차단재는 원자재와 원단번호가 나와야 한다. if($imgName !== 'GI') { echo ''; } else { echo ''; echo ''; echo ''; } ?>
품명 - 생산 LOT NO
규격 로트크기     EA
길이 검사일자
입고 LOT NO ' . $rawLot . ' ' . $rawLot . ' ' . '원단' . ' ' . $fabric_lot . '검사자
중간 검사
기준서

중간검사성적서
중간검사
$item) { $rowspan = count($item['간격']); // 간격 항목의 개수를 기준으로 rowspan 설정 // 첫 번째 행 출력 echo ''; // 각 간격 행에만 gap-row 클래스 적용 echo ''; echo ''; // 양호/불량 체크박스 (rowspan 적용) echo ''; // 길이 데이터 (rowspan 적용) echo ''; echo ''; // 너비 데이터 (rowspan 적용) echo ''; echo ''; // 첫 번째 간격 데이터 출력 (첫 행에 표시) echo ''; echo ''; echo ''; // 판정 셀 (rowspan 적용) echo ''; echo ''; // 나머지 간격 데이터 출력 for ($i = 1; $i < count($item['간격']); $i++) { echo ''; // 각 간격 행에 gap-row 클래스 적용 echo ''; echo ''; echo ''; echo ''; } // 부적합 내용란 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo ''; echo '
NO 품명 중간검사 DATA 판정
(적/부)
겉모양 치수(mm)
절곡상태 길이 너비 간격
도면치수 측정값 도면치수 측정값 POINT 도면치수 측정값
' . ($index + 1) . '' . htmlspecialchars($item['품명']) . ''; echo ''; echo ''; echo '' . htmlspecialchars($item['길이'][0]['도면치수']) . ''; echo ''; echo '' . htmlspecialchars($item['너비'][0]['도면치수']) . ''; echo ''; echo '' . htmlspecialchars($item['간격'][0]['POINT']) . ' ' . htmlspecialchars($item['간격'][0]['도면치수']) . ''; echo ''; echo '
' . htmlspecialchars($item['간격'][$i]['POINT']) . ' ' . htmlspecialchars($item['간격'][$i]['도면치수']) . ''; echo ''; echo '
[부적합 내용]
'; echo ' '; echo '
종합판정
'; echo ''; echo '
'; ?>