'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if($selectWork !== '거래명세표') { // 견적서 echo ''; } else { // 거래명세표 echo ''; } echo ''; echo ''; echo ''; echo ''; if($selectWork !== '거래명세표') { // 견적서 echo ''; } else { // 거래명세표 echo ''; echo ''; echo ''; } echo ''; echo ''; echo ''; $col7_sum = 0; // col7 수량 합계 $col89_sum = 0; // col8 + col9 합계 $col10_sum = 0; $row_count = 0; foreach ($data as $row) { echo ''; if($selectWork !== '거래명세표') { // 견적서 $innercount = 10; } else { // 거래명세표 $innercount = 12; } for ($i = 1; $i <= $innercount; $i++) { switch ($i) { case 1: echo ''; break; case 4: echo ''; break; case 6: echo ''; break; case 7: echo ''; break; case 9: echo ''; // 단가가 들어가는 셀 break; case 10: echo ''; // 공급가액 break; case 11: echo ''; // VAT break; case 12: echo ''; // 합계 금액 break; default: echo ''; break; } } echo ''; $row_count++; $estimateSurang = $col7_sum += intval($row['col7']); } // 소계 행 추가 echo ''; echo ''; echo ''; echo ''; if($selectWork !== '거래명세표') { // 견적서 echo ''; } else { // 거래명세표 echo ''; echo ''; echo ''; } echo ''; if($option == 'option') { // 견적서 보기를 누르면 비고 표시 echo ''; echo ''; echo ''; echo ''; } echo ''; echo '
일련
번호
종류부호제품명오픈사이즈수량단위단가합계금액
가로세로금액공급가액부가세합계
' . $row['col1'] . '' . htmlspecialchars($row['col' . $i]) . '' . htmlspecialchars($row['col' . $i]) . '' . htmlspecialchars($row['col' . $i]) . '' . htmlspecialchars($row['col' . $i]) . '
소계' . $col7_sum. '
'; echo '비고'; echo ''; echo '
'; echo $comment; echo '
'; echo '
'; echo ''; } // 세부 산출내역서 echo '
'; echo '
'; echo '
'; echo '

세부 산출내역서

'; echo ''; echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $row_count = 0; $total_sum = 0; // 전체 합계를 계산할 변수 $counter = 0; $index = 0; $subtotal_array = [] ; // 소계 누계 $subtotal_surang_array = [] ; // 수량 누계 $row_array = [] ; // 각 행별 행카운트 배열 // 전체 반복 찾기 foreach ($decodedEstimateList as $column) { $subtotal = 0; // 각 일련번호별 소계 $rowCount = 0; // 행의 수 if (isset($column['col5']) && !empty($column['col5'])) { $su = floatval($column['col14']); // 수량 // 가이드레일 및 기타 부품 단가 초기화 $guidrail_price = 0; $bottomBarPrices = 0; // 하단마감재 단가 $LBarPrices = 0; // L바 단가 $bottomPlatePrices = 0; // 보강평철 단가 $guiderailSmokeBanPrices = 0; // 가이드레일용 연기차단재 단가 $boxSmokeBanPrices = 0; // 케이스용 연기차단재 단가 $maguriPrices = 0; // 마구리 단가 $finishing = $column['col7']; // 마감 (SUS, EGI) (스크린/철재 동일한 위치) $guideType = $column['col6']; // 벽면형(120*70), 혼합형 $modelCode = $column['col4']; // 모델코드 $maguriCol = $column['col45']; // 마구리 size (스크린 45위치, 철재 46위치) // 데이터베이스 테이블 이름 설정 (BDmodels) $tablename = 'BDmodels'; try { $sql = "SELECT * FROM " . $DB . "." . $tablename; $stmh = $pdo->prepare($sql); $stmh->execute(); $count = $stmh->rowCount(); if ($count < 1) { print "검색결과가 없습니다.
"; } else { // 케이스 단가 정보를 저장할 배열 $shutterBoxprices = []; // 가이드레일 단가를 저장할 배열 (모델코드, 마감, spec 기준으로 저장) $guidrailPrices = []; // 정규표현식 패턴 (숫자 형식만 매칭) $pattern = '/\d{2,4}\*\d{2,4}/'; // 전체 데이터를 반복 처리 while ($row = $stmh->fetch(PDO::FETCH_ASSOC)) { $prodcode = $row['model_name'] ?? ''; // 모델코드 $spec = $row['spec'] ?? ''; // '120*70' 형태 $seconditem = $row['seconditem'] ?? ''; // 제품 분류 $load_finishingType = $row['finishing_type'] ?? ''; // 마감형태 $unitprice = $row['unitprice'] ?? 0; // 단가에서 숫자와 소수점만 남기기 $unitprice_clean = preg_replace('/[^0-9.]/', '', $unitprice); $unitprice_value = floatval($unitprice_clean); // 케이스 단가 저장 if ($seconditem == '케이스' && $unitprice_value > 0) { $shutterBoxprices[$spec] = $unitprice_value; } // 가이드레일 단가 저장 (모델코드 + 마감 + spec 기준으로 저장) if ($seconditem == '가이드레일') { $key = $prodcode . '|' . $load_finishingType . '|' . $spec; $guidrailPrices[$key] = $unitprice_value; } // 하단마감재 단가 설정 if ($prodcode == $modelCode && $seconditem == '하단마감재' && $finishing == $load_finishingType) { if ($unitprice_value > 0) { $bottomBarPrices = $unitprice_value; } } // 가이드레일용 연기차단재 if ($seconditem == '가이드레일용 연기차단재' && $unitprice_value > 0) { $guiderailSmokeBanPrices = $unitprice_value; } // 케이스용 연기차단재 if ($seconditem == '케이스용 연기차단재' && $unitprice_value > 0) { $boxSmokeBanPrices = $unitprice_value; } // L-BAR KDSS01은 다른규격 가져옴 if ($prodcode == $modelCode && $seconditem == 'L-BAR' && $unitprice_value > 0) { $LBarPrices = $unitprice_value; } // 보강평철 if ($seconditem == '보강평철' && $unitprice_value > 0) { $bottomPlatePrices = $unitprice_value; } // 마구리 (마구리+규격 650*550) if ($seconditem == '마구리' && $spec == $maguriCol && $unitprice_value > 0) { $maguriPrices = $unitprice_value; } } // 가이드레일 단가 계산 $baseKey = $modelCode . '|' . $finishing; // 기본 키 생성 if (strpos($guideType, '혼합형') !== false) { // 혼합형 처리 (예: 혼합형(130*75)(130*125)) preg_match_all($pattern, $guideType, $matches); if (!empty($matches[0]) && count($matches[0]) == 2) { $wallKey = $baseKey . '|' . $matches[0][0]; $sideKey = $baseKey . '|' . $matches[0][1]; $wallPrice = $guidrailPrices[$wallKey] ?? 0; $sidePrice = $guidrailPrices[$sideKey] ?? 0; $guidrail_price = ($wallPrice + $sidePrice); // 1개 세트 가격 } } else if (strpos($guideType, '벽면형') !== false) { // 벽면형 또는 측면형 처리 (예: 벽면형(120*70)) preg_match($pattern, $guideType, $match); if (!empty($match[0])) { $guideSpec = $match[0]; $guideKey = $baseKey . '|' . $guideSpec; $guidrail_price = ($guidrailPrices[$guideKey] ?? 0) * 2; // 2개 세트 가격 } } else { $guidrail_price = 0; } } } catch (PDOException $Exception) { print "오류: " . $Exception->getMessage(); } // 각 행별 합계 재계산 // 주자재 계산 if($slatcheck == '1') { $tablename = 'price_raw_materials'; $query = "SELECT itemList FROM {$DB}.$tablename WHERE is_deleted IS NULL OR is_deleted = 0 ORDER BY registedate DESC LIMIT 1"; // 최신 1개의 데이터만 가져오기 $stmt = $pdo->prepare($query); $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // 모든 행을 가져옴 $price_raw_materials = 0; $price_jointbar = 0; // 모든 행을 순회하면서 원하는 데이터를 찾음 foreach ($rows as $row) { $itemList = json_decode($row['itemList'], true); $price_raw_materials = slatPrice($itemList, '스크린', '실리카'); if(!empty($price_raw_materials) ) break; } } // 견적서를 스크린 900 높이로 계산함. 기본 350 + 550 추가로 더해줌 $height = !empty($column['col11_SH']) ? floatval($column['col11_SH']) : floatval($column['col11']); $width = !empty($column['col10_SW']) ? floatval($column['col10_SW']) : floatval($column['col10']); $calculateHeight = $height + 550; $area = $width * $calculateHeight / 1000000; if($motor == '1') { // 모터가격 계산 $tablename = 'price_motor'; $query = "SELECT itemList FROM {$DB}.$tablename WHERE (is_deleted IS NULL OR is_deleted = 0) ORDER BY NUM LIMIT 1"; $stmt = $pdo->prepare($query); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); $itemList = json_decode($row['itemList'], true); // 모터 스펙 정리 (예: 400K → 400) $motorSpec = $column['col19']; $motorSpec = preg_replace('/[a-zA-Z]/', '', $motorSpec); $price = getPriceForMotor($motorSpec, $itemList); // 모터 공급사 확인 $motor_supplier = $column['col18_brand']; // 모터단가 초기화 $motorUnit_price = 0; if ($motor_supplier === '경동(견적가포함)') { $su = floatval($column['col14']); // 수량 $motorUnit_price = round($price); // 모터 가격 합산 $sums[$counter] += $motorUnit_price * $su; } // 매립 연동제어기 가격 계산 $price_controller = 0; $price1 = calculateControllerSpec($column['col15'], $itemList, '매립형'); if($price1 > 0 && !empty($column['col15'])) { $price_controller += $price1; $controller_amount += $price1 * intval($column['col15']); // 매립형 개수 곱하기 $sums[$counter] += $controller_amount; // 매립 연동제어기 가격 합산 } // 노출 연동제어기 가격 계산 $price2 = calculateControllerSpec($column['col16'], $itemList, '노출형'); if($price2 > 0 && !empty($column['col16'])) { $price_controller += $price2; $controller_amount += $price2 * intval($column['col16']); // 노출형 개수 곱하기 $sums[$counter] += $controller_amount; // 노출 연동제어기 가격 합산 } // 뒷박스 계산 $backbox_price = 0; $backbox_price = calculateControllerSpec($column['col17'], $itemList, '뒷박스'); if($backbox_price > 0 && !empty($column['col17'])) { $price_controller += $backbox_price; $controller_amount += $backbox_price; $sums[$counter] += $controller_amount; } } // 모터 받침용 앵글 가계 $tablename = 'price_angle'; $query = "SELECT itemList FROM {$DB}.$tablename where is_deleted IS NULL or is_deleted = 0 ORDER BY NUM LIMIT 1"; $stmt = $pdo->prepare($query); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); $itemList = json_decode($row['itemList'], true); // 스크린용 앵글 가격가져오기 $price_bottomangle = calculateAngle($column['col14'], $itemList, '스크린용'); // 수량, 리스트, 스크린용 // print_r($itemList ); // print_r($price_bottomangle ); // 4인치 3T (스크린용) 철재는 4T $mainangle_price = calculateMainAngle($column['col14'], $itemList, '앵글3T' , '2.5' ); $mainangle_surang = intval(str_replace(',', '', $column['col71'])); // 앵글 수량 // BOM에서 제품코드별로 가져와야 합니다. $tablename = 'bendingfee'; $query = "SELECT * FROM {$DB}.$tablename WHERE is_deleted IS NULL OR is_deleted = 0 ORDER BY NUM"; $stmt = $pdo->prepare($query); $stmt->execute(); // echo '
';
// print_r($guidrail_price);
// echo '
'; // 케이스 크기 if ($column['col36'] === 'custom') { $dimension = $column['col36_custom']; // 사용자 제작 사이즈 } else { $dimension = $column['col36']; // 케이스 500*380 } // echo '
';
// print_r($dimension);
// echo '
'; // 단가 계산 if (array_key_exists($dimension, $shutterBoxprices)) { $price = ($shutterBoxprices[$dimension] / 1000) ; } else { $price = 0; // 조건이 맞지 않는 경우 0으로 설정 } // $data 배열에 행을 추가합니다. $data[] = $row; $rowCount = 1; // 디버그모드 설정 $debug = true; $debug = false; // 일련번호, 검사비 $subtotal += $inspectionFee * $su; if($debug)print_r($subtotal . '
') ; // calculation-row 클래스와 일련번호(serial)를 가진 tr 태그 추가 if($inspectionFee > 0 ) { echo ''; // 검사비가 포함되어야 하면 data-serial="' . $counter . '">';로 선언해야 한다. echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 및 기타 필드 echo ''; // 산출식 입력 필드 (예: 수량 * 단가 등으로 계산하는 필드) echo ''; // 면적(㎡) 길이(㎜) 입력 필드 echo ''; // 면적(㎡) 길이(㎜) 단가 입력 필드 echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 주자재(스크린) 가격 $screen_price = round(floatval($price_raw_materials * round($area,2)) ); $subtotal += $screen_price * $su; if($debug)print_r($subtotal . '
') ; if($screen_price > 0 ) { if($inspectionFee < 1) { // 검사비가 없을때 1열을 만들어줘야 한다 echo ''; // 검사비가 포함되어야 하면 data-serial="' . $counter . '">';로 선언해야 한다. echo ''; echo ''; } else { // calculation-row 클래스와 일련번호(serial)를 가진 tr 태그 추가 echo ''; // 검사비가 포함되어야 하면 data-serial="' . $counter . '">';로 선언해야 한다. echo ''; } // 수량 입력 필드 echo ''; // 단위 및 기타 필드 echo ''; // 산출식 입력 필드 (예: 수량 * 단가 등으로 계산하는 필드) echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 echo ''; // 스크린 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 모터 $subtotal += $motorUnit_price * $su; if($debug)print_r($subtotal . '
') ; if ($motorUnit_price > 0) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input이 아님) echo ''; // 산출식 입력 필드 (예: 수량 * 단가 등으로 계산하는 필드) echo ''; // 면적(㎡) 입력 필드 (빈 값) echo ''; // 원자재 단가 입력 필드 (없으면 빈 입력) echo ''; // 모터 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 연동제어기 $controller_price = $price_controller; // 매립,노출/뒷박스 수중 가장 큰 수를 표시함 $controller_su = max(intval($column['col15']), intval($column['col16']),intval($column['col17'])); $subtotal += round($controller_price) * $controller_su; if($debug)print_r($subtotal . '
') ; if ($controller_price > 0 ) { echo ''; // 뒷박스 유무에 따라 다른 문장 출력 if($backbox_price > 0) { echo ''; } else { echo ''; } // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input이 아님) echo ''; // 산출식 입력 필드 (예: 수량 * 단가 등으로 계산하는 필드) echo ''; // 면적(㎡) 입력 필드 (빈 값) echo ''; // 원자재 단가 입력 필드 (없으면 빈 입력) echo ''; // 연동제어기 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 케이스 if ($column['col36'] === 'custom') { $shutterBox = $column['col36_custom']; // 사용자 제작 사이즈 } else { $shutterBox = $column['col36']; // 케이스 500*380 } $shutter_price = round($shutterBoxprices[$shutterBox],2); $basicbox_price = round($shutterBoxprices['500*380'],2); // 기본 500*380 가격; list($boxwidth, $boxheight) = explode('*', $shutterBox); // echo '
'; // echo '
';
// print_r($shutterBoxprices);
// echo '
'; if ($shutter_price < 1 && $steel == '1') { // 절곡체크가 되었을때 $basicbox_pricePermeter = $basicbox_price/(500*380/1000); $shutter_price = $basicbox_pricePermeter * floatval($boxwidth) * floatval($boxheight) / 1000; if($basicbox_price>$shutter_price ) $shutter_price = $basicbox_price ; $shutterboxMsg = $shutterBox . ' 케이스 크기 정의 없음, m당 기본사이즈 500*380 가격 (크기가 작아도 최소가격은 표준가격임) : ' . number_format($basicbox_price) . '(원)' ; $shutterboxMsg .= ' m당 단가 : ' . number_format($basicbox_pricePermeter) . '(원)' ; $shutterboxMsg .= ' m단위로 설정된 단가 : ' . number_format($shutter_price) . '(원)' ; // echo $shutterBox . ' 케이스 크기에 대한 단가가 정의되지 않았습니다. 단가를 생성해주세요. [절곡BOM] 메뉴 이용!
'. ' 1m당 기본사이즈 500*380 가격 : ' . number_format($basicbox_price) . '(원)' ; // echo '
m당 단가 : ' . number_format($basicbox_pricePermeter) . '(원)' ; // echo '
m단위로 설정된 단가 : ' . number_format($shutter_price) . '(원)' ; } $total_length = round(floatval($column['col37']) / 1000,2); // print_r($total_length); // echo '
'; // print_r($shutter_price * $total_length); $subtotal += round($shutter_price * $total_length); if($debug)print_r($subtotal . '
') ; if($total_length > 0 && $steel == '1') { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input이 아님) echo ''; // 산출식 입력 필드 (예: 수량 * 단가 등으로 계산하는 필드) echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 echo ''; // 케이스 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 케이스 연기차단재 1식으로 표현함 수량과 관계없이 연산해야 함. // $total_ea = intval($column['col47']); // $total_length = round(floatval($column['col37']) / 1000, 2); // $subtotal += round($boxSmokeBanPrices * $total_length); if($debug)print_r($subtotal . '
') ; if($total_length > 0 && $steel == '1') { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } //마구리 $subtotal += round($maguriPrices * $su); if($maguriPrices > 0 && $steel == '1') { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 모터 받침용 앵글 $angle_price = $price_bottomangle; $subtotal += round($angle_price * $su * 4); if($angle_price > 0 && !empty($column['col22']) && !($slatcheck === '1' && $motor !== '1' && $steel !== '1' && $partscheck !== '1')) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (EA는 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 (빈 값) echo ''; // 원자재 단가 입력 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 가이드레일 // 혼합형이 아니면 1SET는 *2를 적용 혼합형은 예외임 단가는 이미 2개를 1세트로 단가표가 구성되어 있으니 유의할 것 절곡BOM참조 $total_length = round(floatval($column['col23']) / 1000,2); $subtotal += round($guidrail_price * $total_length * $su); // print_r($guidrail_price * $total_length); if ($total_length > 0 && strpos($column['col6'], '없음') === false) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } //가이드레일용 연기차단재 레일 높이 + 250 적용해서 만드는 것임 //가이드레일용 연기차단재 레일 높이 + 250 적용해서 만드는 것임 $total_length = floatval($column['col23']) / 1000 ; $guiderailSmokeBanPricesTotal = round($guiderailSmokeBanPrices * $total_length ) * 2 * $su; // 결과값에 수량 곱하기 실제 컬럼은 5개로 나오는데, 계산과정을 담기위해 $su 곱하기 공식으로 사용한다. $subtotal += $guiderailSmokeBanPricesTotal ; if ($total_length > 0 && (!empty($column['col24']) || !empty($column['col25']) || !empty($column['col26']) || !empty($column['col27']) || !empty($column['col28']))) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 하단마감재(하장바) $total_length = intval($column['col48']) ; $total_length = $total_length / 1000; $subtotal += round($bottomBarPrices * $total_length * $su); if ($total_length > 0 && (!empty($column['col49']) || !empty($column['col50'])) ) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 하단마감재(L바) // 혼합형이 아니면 1SET는 *2를 적용 $total_length = intval($column['col51']) ; // 2개가 1SET , 하지만 단가가 2개가 1세트로 계산된 단가임 주의요함 $total_length = $total_length / 1000; $subtotal += round($LBarPrices * $total_length * $su); if ($total_length > 0 && (!empty($column['col52']) || !empty($column['col53'])) ) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 하단마감재(보강평철) // 조건에 따른 가격 계산 $total_length = intval($column['col54']) ; $total_length = $total_length / 1000; $subtotal += round($bottomPlatePrices * $total_length * $su); if ($total_length > 0 && (!empty($column['col55']) || !empty($column['col56'])) ) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 echo ''; // 면적(㎡) 입력 필드 echo ''; // 원자재 단가 입력 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 감기샤프트 $tablename = 'price_shaft'; $query = "SELECT itemList FROM {$DB}.$tablename WHERE is_deleted IS NULL OR is_deleted = 0 ORDER BY NUM LIMIT 1"; $stmt = $pdo->prepare($query); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); $itemList = json_decode($row['itemList'], true); $sum_shaft_price = 0; $shaft_counts = []; // 각 사이즈별 카운트를 저장할 배열 // 각각의 샤프트 계산 addShaftPrice($column['col59'], $itemList, '3', '300', $sum_shaft_price, $shaft_counts); addShaftPrice($column['col60'], $itemList, '4', '3000', $sum_shaft_price, $shaft_counts); addShaftPrice($column['col61'], $itemList, '4', '4500', $sum_shaft_price, $shaft_counts); addShaftPrice($column['col62'], $itemList, '4', '6000', $sum_shaft_price, $shaft_counts); addShaftPrice($column['col63'], $itemList, '5', '6000', $sum_shaft_price, $shaft_counts); addShaftPrice($column['col64'], $itemList, '5', '7000', $sum_shaft_price, $shaft_counts); addShaftPrice($column['col65'], $itemList, '5', '8200', $sum_shaft_price, $shaft_counts); // 샤프트 수량을 텍스트로 변환 $shaft_count_text = []; foreach ($shaft_counts as $length => $count) { $countstr = $count * $su; $shaft_count_text[] = "{$length}x{$countstr}EA"; } $shaft_count_text = implode(', ', $shaft_count_text); $subtotal += round($sum_shaft_price); if ($sum_shaft_price > 0 ) { echo ''; echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 (샤프트 수량 텍스트) echo ''; // 면적(㎡) 필드 (빈 값) echo ''; // 원자재 단가 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 무게평철12T (2000) // 무게평철 기준 단가 (2000mm당 12000원) $basePrice = 12000; $size = intval(str_replace(',', '', $column['col8'])) * 2; // 스크린 길이 * 2 $itemsep = (substr($column['col4'], 0, 2) === 'KS' || substr($column['col4'], 0, 2) === 'KW') ? '스크린' : '철재'; // 단계별 가격 계산 및 수량 저장을 위한 배열 $weight_plate_counts = []; $priceFactor = intval($column['col57']); // 무게평철 수량 // // 스크린 하단 무게평철의 단계별 가격 계산 및 수량 저장 // if ($itemsep == '스크린') { // if ($size <= 2000) { // $priceFactor = 1; // } elseif ($size <= 4000) { // $priceFactor = 2; // } elseif ($size <= 6000) { // $priceFactor = 3; // } elseif ($size <= 8000) { // $priceFactor = 4; // } elseif ($size <= 10000) { // $priceFactor = 5; // } elseif ($size <= 12000) { // $priceFactor = 6; // } elseif ($size <= 14000) { // $priceFactor = 7; // } elseif ($size <= 16000) { // $priceFactor = 8; // } elseif ($size <= 18000) { // $priceFactor = 9; // } elseif ($size <= 20000) { // $priceFactor = 10; // } // $priceFactor *= $su; // // 단계별 개수 저장 // if ($priceFactor > 0) { // $weight_plate_counts[2000] = $priceFactor ; // 2000, 2000 x 1, ...,형식으로 저장 // } // } $weight_plate_counts[2000] = $priceFactor ; // 최종 단가 계산 $weight_plate_price = $basePrice * $priceFactor; // 무게평철 수량을 텍스트로 변환 $weight_plate_count_text = []; foreach ($weight_plate_counts as $length => $count) { $weight_plate_count_text[] = "{$length}x{$count}EA"; } $weight_plate_count_text = implode(', ', $weight_plate_count_text); $total_length = intval(str_replace(',', '', $column['col57'])); $subtotal += round($weight_plate_price); if ($weight_plate_price > 0) { echo ''; // 항목 이름 echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 (무게평철 수량 텍스트) echo ''; // 면적(㎡) 필드 (빈 값) echo ''; // 원자재 단가 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 환봉(3000) 기준 단가 (3000mm당 2000원) $round_bar_price = 2000; $round_bar_surang = intval(str_replace(',', '', $column['col70'])); // 3000mm 길이의 환봉 개수 저장 $round_bar_counts = []; if ($round_bar_surang > 0) { $round_bar_counts[3000] = $round_bar_surang; } // 환봉 수량을 텍스트로 변환 $round_bar_count_text = []; foreach ($round_bar_counts as $length => $count) { $round_bar_count_text[] = "{$length}x{$count}EA"; } $round_bar_count_text = implode(', ', $round_bar_count_text); if ($round_bar_surang < 1) { $round_bar_price = 0; } $subtotal += round($round_bar_price * $round_bar_surang); if ($round_bar_surang > 0) { echo ''; // 항목 이름 echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (SET은 input에서 제외) echo ''; // 산출식 입력 필드 (환봉 수량 텍스트) echo ''; // 면적(㎡) 필드 (빈 값) echo ''; // 원자재 단가 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } // 각파이프 3000/6000 계산 (중복 제거, 한 번만 합산/출력) $tablename = 'price_pipe'; $query = "SELECT itemList FROM {$DB}.$tablename WHERE is_deleted IS NULL OR is_deleted = 0 ORDER BY NUM LIMIT 1"; $stmt = $pdo->prepare($query); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); $itemList = json_decode($row['itemList'], true); $pipe_price_3000 = calculatePipe($itemList, '1.4', '3000'); $pipe_price_6000 = calculatePipe($itemList, '1.4', '6000'); $pipe_price_3000_surang = intval(str_replace(',', '', $column['col68'])); $pipe_price_6000_surang = intval(str_replace(',', '', $column['col69'])); // 합산 및 출력은 한 번만! $subtotal += round($pipe_price_3000 * $pipe_price_3000_surang + $pipe_price_6000 * $pipe_price_6000_surang); if ($pipe_price_3000_surang > 0) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $rowCount++; } if ($pipe_price_6000_surang > 0) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $rowCount++; } $tablename = 'price_angle'; $query = "SELECT itemList FROM {$DB}.$tablename WHERE is_deleted IS NULL OR is_deleted = 0 ORDER BY NUM LIMIT 1"; $stmt = $pdo->prepare($query); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); $itemList = json_decode($row['itemList'], true); // 4인치 3T (스크린용), 철재는 4T $mainangle_price = calculateMainAngle(1, $itemList, '앵글3T', '2.5'); $mainangle_surang = intval(str_replace(',', '', $column['col71'])); // 수량 // 앵글 수량을 텍스트로 변환 $angle_counts = []; if ($mainangle_surang > 0) { $angle_counts[] = "2500x{$mainangle_surang}EA"; } $angle_count_text = implode(', ', $angle_counts); if ($mainangle_surang < 1) { $mainangle_price = 0; } // 앵글 $subtotal += round($mainangle_price * $mainangle_surang); if ($mainangle_surang > 0) { echo ''; // 항목 이름 echo ''; // 수량 입력 필드 echo ''; // 단위 필드 (EA) echo ''; // 산출식 입력 필드 (앵글 수량 텍스트) echo ''; // 면적(㎡) 필드 (빈 값) echo ''; // 원자재 단가 필드 (빈 값) echo ''; // 단가 입력 필드 echo ''; // 합계 필드 (자동 계산, 입력 불가) echo ''; echo ''; $rowCount++; } echo ''; echo ''; echo ''; echo ''; array_push($subtotal_array, round($subtotal,2)) ; array_push($subtotal_surang_array, $su) ; array_push($row_array, $rowCount) ; // 행 합치기를 위한 행수 // 전체 합계에 소계를 더함 $total_sum += round($subtotal); // 디버그용 출력 // echo 'subtotal '. $subtotal .'
'; // echo 'total_sum '. $total_sum .'
'; $rowCount++; } $counter++ ; // 전체 행카운트 } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
일련
번호
항목수량단위산출식면적(㎡)
길이(㎜)
면적(㎡)
길이(㎜) 단가
단가합계
' . ($counter+1) . ' 검사비 SET ' . number_format($inspectionFee * $su) . '
' . ($counter+1) . '주자재(스크린)
주자재(스크린) SET ' . number_format($screen_price * $su) . '
모터SET' . number_format($motorUnit_price * $su) . '
매립/노출 연동제어기(뒷박스 포함)매립/노출 연동제어기SET' . number_format($controller_amount ) . '
케이스SET' . number_format($shutter_price * $total_length) . '
케이스용 연기차단재' . number_format($boxSmokeBanPrices * $total_length ) . '
케이스 마구리SET' . number_format(round($maguriPrices * $su)) . '
모터 받침용 앵글EA' . number_format(round($angle_price * $su * 4)) . '
가이드레일 SET ' . number_format(round($guidrail_price * $total_length)) . '
레일용 연기차단재 SET ' . number_format($guiderailSmokeBanPricesTotal) . '
하장바 SET ' . number_format(round(($bottomBarPrices * $total_length))) . '
L바 SET ' . number_format(round($LBarPrices * $total_length)) . '
보강평철 SET ' . number_format(round($bottomPlatePrices * $total_length * $su)) . '
감기샤프트 ' . number_format(round($sum_shaft_price)) . '
무게평철12T (2000) EA ' . number_format(round($weight_plate_price)) . '
환봉(3000) EA ' . number_format(round($round_bar_price * $round_bar_surang)) . '
각파이프(3000) EA ' . number_format(round($pipe_price_3000 * $pipe_price_3000_surang)) . '
각파이프(6000) EA ' . number_format(round($pipe_price_6000 * $pipe_price_6000_surang)) . '
앵글3T (2500) EA ' . number_format(round($mainangle_price * $mainangle_surang)) . '
소계
전체 합계
'; echo '
'; echo '
'; $row_array_json = json_encode($row_array); $korean_total_sum = number_to_korean(round($total_sum)); // echo 'korean total sum '. $korean_total_sum .''; // PHP 배열을 JSON으로 변환 $subtotal_json = json_encode($subtotal_array); $subtotal_surang_json = json_encode($subtotal_surang_array); // 세부내역서 #################################################################################### // 세부내역서 #################################################################################### // 세부내역서 #################################################################################### // 업체발송용에서는 2.1은 나오게 해야 한다. if (True) { $data = []; $counter = 0; foreach ($decodedEstimateList as $item) { if (isset($item['col5']) && !empty($item['col5'])) { $counter++; // 각 col 값을 배열에 추가합니다. $row = []; $row['col1'] = '2.1
본체(스크린)'; $row['col2'] = $item['col3'] ?? ''; // 부호 $row['col3'] = $item['col5'] ?? ''; // 실리카 if($steel ==='1') { $row['col4'] = $item['col7'] ?? ''; // SUS $row['col5'] = $item['col7'] ?? ''; // SUS } else { $row['col4'] = ''; $row['col5'] = ''; } $row['col6'] = $item['col8']; // 오픈 가로 $row['col7'] = $item['col9']; // 오픈 세로 $row['col8'] = $item['col10']; // 제작 가로 $row['col9'] = $item['col11']; // 제작 세로 $row['col10'] = $item['col14']; // 수량 if ($item['col36'] === 'custom') { $row['col11'] = $item['col36_custom']; // 사용자 제작 사이즈 } else { $row['col11'] = $item['col36']; // 케이스 500*380 } // $data 배열에 행을 추가합니다. $data[] = $row; } } echo '
'; echo '
'; echo '

소요자재 내역

'; echo '
'; echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $col7_sum = 0; // col7 합계 $col10_sum = 0; // col10 합계 $col89_sum = 0; // col8 + col9 합계 $rowspan_applied = false; // rowspan이 적용되었는지 확인하는 플래그 $row_count = count($data); // 총 행 수 foreach ($data as $row) { echo ''; // 첫 번째 열에만 rowspan 적용 if (!$rowspan_applied) { echo ''; $rowspan_applied = true; } // 나머지 열 출력 (색상을 부여하는 코드) for ($i = 2; $i <= 11; $i++) { // col1은 이미 출력했으므로 col2부터 시작 switch ($i) { case 9: case 8: // col3에 yellowBold 클래스를 적용하여 출력 echo ''; break; case 11: // col5에 blueBold 클래스를 적용하여 출력 echo ''; break; default: // 기본적으로 fw-bold 클래스를 적용하여 출력 echo ''; break; } } // 쉼표를 제거하고 숫자형으로 변환하여 합계 계산 $col7_sum += floatval(str_replace(',', '', $row['col7'])); $col10_sum += floatval(str_replace(',', '', $row['col10'])); $col89_sum += floatval(str_replace(',', '', $row['col8'])) + floatval(str_replace(',', '', $row['col9'])); echo ''; } echo ''; echo '
구분부호종류가이드레일오픈사이즈제작사이즈수량케이스
마감유형설치유형가로세로가로세로
' . $row['col1'] . '' . htmlspecialchars($row['col' . $i]) . '' . htmlspecialchars($row['col' . $i]) . '' . htmlspecialchars($row['col' . $i]) . '
'; echo '
'; } // 모터 부분 if ($motorUnit_price > 0 || $price_controller > 0 || $price_bottomangle > 0) { // 함수 호출을 통해 계산된 값을 가져옴 $specifications = calculateMotorSpecifications($decodedEstimateList); // echo '
';
    // print_r($specifications);
    // echo '
'; // 초기화 $col1_sum = $col2_sum = $col3_sum = $col4_sum = $col5_sum = $col6_sum = 0; $col7_sum = $col8_sum = $col9_sum = $col10_sum = $col11_sum = $col12_sum = 0; $motor_supplier = $column['col18_brand']; if ($motor_supplier === '경동(견적가포함)' || $motor_supplier === '대한') { // 각 합계 값을 변수에 저장 $col1_sum = $specifications['col1_sum']; $col2_sum = $specifications['col2_sum']; $col3_sum = $specifications['col3_sum']; $col4_sum = $specifications['col4_sum']; $col5_sum = $specifications['col5_sum']; $col6_sum = $specifications['col6_sum']; $col7_sum = $specifications['col7_sum']; $col8_sum = $specifications['col8_sum']; $col9_sum = $specifications['col9_sum']; $col10_sum = $specifications['col10_sum']; $col11_sum = $specifications['col11_sum']; } if($motor == '1') { // 모터체크박스 $col12_sum = $specifications['col12_sum']; } else { $col12_sum = 0; } echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
2.2
모터
모터종류(KG) 연동제어기 브라켓트앵글
1503004005006008001000매립노출뒷박스수량수량
' . ($col1_sum ?: '') . '' . ($col2_sum ?: '') . '' . ($col3_sum ?: '') . '' . ($col4_sum ?: '') . '' . ($col5_sum ?: '') . '' . ($col6_sum ?: '') . '' . ($col7_sum ?: '') . '' . ($col8_sum ?: '') . '' . ($col9_sum ?: '') . '' . ($col10_sum ?: '') . '' . ($col11_sum ?: '') . '' . ($col12_sum ?: '') . '
'; echo '
'; } // 절곡 부분 if (True) { $data = []; // 누적 합계를 저장할 변수들 $row3_1_sum = 0; $row3_2_sum = 0; $row3_3_sum = 0; $row3_4_sum = 0; $row3_5_sum = 0; // 누적 합계를 저장할 변수들 $row5_1_sum = 0; $row5_2_sum = 0; $row5_3_sum = 0; $row5_4_sum = 0; $row5_5_sum = 0; $row5_6_sum = 0; $row5_7_sum = 0; // col39의 합 $row5_8_sum = 0; // col41의 합 $row7_1_sum = 0; // 하단마감재 $row7_2_sum = 0; // $row7_3_sum = 0; // $row8_1_sum = 0; // 하단마감재 $row8_2_sum = 0; // $row8_3_sum = 0; // $row10_1_sum = 0; $row10_2_sum = 0; $row10_3_sum = 0; $row10_4_sum = 0; $row10_5_sum = 0; $row10_6_sum = 0; foreach ($decodedEstimateList as $item) { $ValidLength = floatval($item['col23'] ?? 0); // 가이드레일의 제작 길이 $surang = floatval($item['col14'] ?? 0); // 수량 // 가이드레일 $row3_1_sum += floatval($item['col24'] ?? 0); $row3_2_sum += floatval($item['col25'] ?? 0); $row3_3_sum += floatval($item['col26'] ?? 0); $row3_4_sum += floatval($item['col27'] ?? 0); $row3_5_sum += floatval($item['col28'] ?? 0); // 케이스 $row5_1_sum += floatval($item['col38'] ?? 0); $row5_2_sum += floatval($item['col39'] ?? 0); $row5_3_sum += floatval($item['col40'] ?? 0); $row5_4_sum += floatval($item['col41'] ?? 0); $row5_5_sum += floatval($item['col42'] ?? 0); $row5_6_sum += floatval($item['col43'] ?? 0); // 5열 7행 상부덮개, 마구리 $row5_7_sum += floatval($item['col44'] ?? 0); $row5_8_sum += floatval($item['col46'] ?? 0); // 레일용 연기차단재 / 케이스용 연기차단재 $row10_1_sum += floatval($item['col31'] ?? 0); $row10_2_sum += floatval($item['col32'] ?? 0); $row10_3_sum += floatval($item['col33'] ?? 0); $row10_4_sum += floatval($item['col34'] ?? 0); $row10_5_sum += floatval($item['col35'] ?? 0); $row10_6_sum += floatval($item['col47'] ?? 0); // 추가 항목들 $row7_1_sum += floatval($item['col49'] ?? 0); // 하단마감재 3000 $row8_1_sum += floatval($item['col50'] ?? 0); // 하단마감재 4000 $row7_2_sum += floatval($item['col52'] ?? 0); // 엘바 3000 $row8_2_sum += floatval($item['col53'] ?? 0); // 엘바 4000 $row7_3_sum += floatval($item['col55'] ?? 0); // 하단마감재 보강평철 3000 $row8_3_sum += floatval($item['col56'] ?? 0); // 하단마감재 보강평철 4000 } // 테이블 출력 echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 2행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 3행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 4행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 5행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 6행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 7행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 8행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
2.3
절곡
(1) 가이드레일
(EGI 1.6T/ SUS 1.2T)
(2) 케이스
(EGI 1.6T)
(3) 하단마감재
(SUS 1.2T)
(4) 연기차단재
사이즈수량사이즈수량분류30004000분류사이즈수량
2438' . ($row3_1_sum ?: '') . '1219' . ($row5_1_sum ?: '') . ' 하단마감재
(SUS 1.2T)
' . ($row7_1_sum ?: '') . '' . ($row8_1_sum ?: '') . '레일용2438 ' . ($row10_1_sum ?: '') . '
3000' . ($row3_2_sum ?: '') . '2438' . ($row5_2_sum ?: '') . ' 3000 ' . ($row10_2_sum ?: '') . '
3500' . ($row3_3_sum ?: '') . '3000' . ($row5_3_sum ?: '') . ' 3500 ' . ($row10_3_sum ?: '') . '
4000' . ($row3_4_sum ?: '') . '3500' . ($row5_4_sum ?: '') . ' 하단보강엘바
(EGI 1.2T)
' . ($row7_2_sum ?: '') . '' . ($row8_2_sum ?: '') . ' 4000 ' . ($row10_4_sum ?: '') . '
4300' . ($row3_5_sum ?: '') . '4000' . ($row5_5_sum ?: '') . ' 4300 ' . ($row10_5_sum ?: '') . '
4150' . ($row5_6_sum ?: '') . '케이스용3000' . ($row10_6_sum ?: '') . '
상부덮개' . ($row5_7_sum ?: '') . ' 하단보강평철 ' . ($row7_3_sum ?: '') . '' . ($row8_3_sum ?: '') . '
마구리' . ($row5_8_sum ?: '') . '
'; echo '
'; } // 감기샤프트 및 부자재 if (true) { // 초기화 $row2_4_sum = $row3_4_sum = $row4_4_sum = $row5_4_sum = $row6_4_sum = 0; $row7_4_sum = $row8_4_sum = $row9_4_sum = $row10_4_sum = $row11_4_sum = 0; $row12_4_sum = $row13_4_sum = $row2_7_sum = $row4_7_sum = $row5_7_sum = 0; $row6_7_sum = $row7_7_sum = $row8_7_sum = 0; $col59InchLengthSummary = []; foreach ($decodedEstimateList as $item) { // 감기샤프트 길이별 수량 $row4_4_sum += floatval($item['col60']); $row5_4_sum += floatval($item['col61']); $row6_4_sum += floatval($item['col62']); $row7_4_sum += floatval($item['col63']); $row8_4_sum += floatval($item['col64']); $row9_4_sum += floatval($item['col65']); $row2_7_sum += floatval($item['col57']); $row4_7_sum += floatval($item['col70']); $row6_7_sum += floatval($item['col68']); $row7_7_sum += floatval($item['col69']); $row8_7_sum += floatval($item['col71']); // 보조 샤프트(2인치 등) 인치+길이 조합별 수량 누적 $inch = isset($item['col59_inch']) ? trim($item['col59_inch']) : '기타'; $length = isset($item['col59_length']) ? trim($item['col59_length']) : '미지정'; $qty = floatval($item['col59']); $key = $inch . '_' . $length; if (!isset($col59InchLengthSummary[$key])) $col59InchLengthSummary[$key] = 0; $col59InchLengthSummary[$key] += $qty; } echo '
'; echo ''; echo ''; // 1행 제목 echo ''; echo ''; echo ''; echo ''; echo ''; // 2행 (보조 인치) echo ''; foreach ($col59InchLengthSummary as $key => $qty) { [$inch, $length] = explode('_', $key); echo ''; } echo ''; echo ''; echo ''; // 3행 (보조 길이 + 일반 길이) echo ''; foreach ($col59InchLengthSummary as $key => $qty) { [$inch, $length] = explode('_', $key); echo ''; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 4행 (보조 수량 + 일반 수량) echo ''; foreach ($col59InchLengthSummary as $key => $qty) { echo ''; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 5행 부자재 구분 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 6행 부자재 규격 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 7행 부자재 수량 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
2.4
부자재
감기샤프트
(보조)
감기샤프트
' . $inch . '4인치5인치
' . ($length ?: '') . '300045006000600070008200
' . ($qty ?: '') . '' . ($row4_4_sum ?: '') . '' . ($row5_4_sum ?: '') . '' . ($row6_4_sum ?: '') . '' . ($row7_4_sum ?: '') . '' . ($row8_4_sum ?: '') . '' . ($row9_4_sum ?: '') . '
무게평철
(50*12T)
환봉 각파이프 앵글
2000 3000 3000 6000 2500
' . ($row2_7_sum ?: '') . '' . ($row4_7_sum ?: '') . '' . ($row6_7_sum ?: '') . '' . ($row7_7_sum ?: '') . '' . ($row8_7_sum ?: '') . '
'; echo '
'; } // echo ''; // 비고 if($option == 'option') { echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 2행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // 3행 echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
특이사항 ★ 해당 견적서의 유효기간은 발행일 기준 1개월 입니다.
★ 견적금액의 50%를 입금하시면 발주가 진행됩니다.
결제방법계좌이체계좌정보국민은행 796801-00-039630
담당자 ' . $orderman . ' ' . $position . '연락처070-4351-5275E-mail kd5130@naver.com
'; echo '
'; } // rowspan 처리를 위한 JavaScript 변수 전달 echo ''; ?>