- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
103 lines
4.7 KiB
PHP
103 lines
4.7 KiB
PHP
<?php
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/estimate/fetch_unitprice.php");
|
|
$pdo = db_connect();
|
|
|
|
// 스크린 원단 가격
|
|
$price_screen = 0;
|
|
|
|
// 절곡판 단가 4종
|
|
$price_egi_1_2t = 0; // EGI 1.15T, 1.2T
|
|
$price_egi_1_6t = 0; // EGI 1.55T, 1.6T
|
|
$price_sus_1_2t = 0;
|
|
$price_sus_1_5t = 0;
|
|
|
|
// price_raw_materials 테이블에서 스크린 실리카 가격
|
|
$query = "SELECT itemList FROM {$DB}.price_raw_materials WHERE is_deleted IS NULL OR is_deleted = 0 ORDER BY num DESC LIMIT 1";
|
|
$stmt = $pdo->prepare($query);
|
|
$stmt->execute();
|
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
if ($row) {
|
|
$itemList = json_decode($row['itemList'], true);
|
|
$price_screen = slatPrice($itemList, '스크린', '실리카');
|
|
}
|
|
|
|
// BDmodels 테이블에서 절곡판 단가 4종 로딩
|
|
$query = "SELECT * FROM {$DB}.BDmodels WHERE seconditem = '절곡판' AND is_deleted IS NULL ORDER BY num DESC";
|
|
$stmt = $pdo->prepare($query);
|
|
$stmt->execute();
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
$spec = $row['spec'] ?? '';
|
|
$finishing = $row['finishing_type'] ?? '';
|
|
$unitprice = intval(str_replace(',', '', $row['unitprice'] ?? 0));
|
|
|
|
if (in_array($spec, ['1.15T', '1.2T']) && $finishing === 'EGI') $price_egi_1_2t = $unitprice;
|
|
if (in_array($spec, ['1.55T', '1.6T']) && $finishing === 'EGI') $price_egi_1_6t = $unitprice;
|
|
if ($spec === '1.2T' && $finishing === 'SUS') $price_sus_1_2t = $unitprice;
|
|
if ($spec === '1.5T' && $finishing === 'SUS') $price_sus_1_5t = $unitprice;
|
|
}
|
|
?>
|
|
|
|
<div class="container mt-2">
|
|
<h5 class="text-center mb-2">단가 수정 테이블 (스크린 / 절곡판)</h5>
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered text-center align-middle table-sm">
|
|
<thead class="table-secondary">
|
|
<tr>
|
|
<th>항목명</th>
|
|
<th>단가 (원)</th>
|
|
<th>단가 적용</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>스크린 원단 (㎡)</td>
|
|
<td><input type="text" class="form-control text-end price-input" id="price_screen" value="<?= number_format($price_screen) ?>"></td>
|
|
<td><button type="button" class="btn btn-outline-primary btn-sm apply-price" data-target="price_screen">적용</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>EGI 1.15T / 1.2T</td>
|
|
<td><input type="text" class="form-control text-end price-input" id="price_egi_1_2t" value="<?= number_format($price_egi_1_2t) ?>"></td>
|
|
<td><button type="button" class="btn btn-outline-primary btn-sm apply-price" data-target="price_egi_1_2t">적용</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>EGI 1.55T / 1.6T</td>
|
|
<td><input type="text" class="form-control text-end price-input" id="price_egi_1_6t" value="<?= number_format($price_egi_1_6t) ?>"></td>
|
|
<td><button type="button" class="btn btn-outline-primary btn-sm apply-price" data-target="price_egi_1_6t">적용</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>SUS 1.2T</td>
|
|
<td><input type="text" class="form-control text-end price-input" id="price_sus_1_2t" value="<?= number_format($price_sus_1_2t) ?>"></td>
|
|
<td><button type="button" class="btn btn-outline-primary btn-sm apply-price" data-target="price_sus_1_2t">적용</button></td>
|
|
</tr>
|
|
<tr>
|
|
<td>SUS 1.5T</td>
|
|
<td><input type="text" class="form-control text-end price-input" id="price_sus_1_5t" value="<?= number_format($price_sus_1_5t) ?>"></td>
|
|
<td><button type="button" class="btn btn-outline-primary btn-sm apply-price" data-target="price_sus_1_5t">적용</button></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
$(document).ready(function () {
|
|
$('.apply-price').on('click', function () {
|
|
const targetId = $(this).data('target');
|
|
const price = parseFloat($('#' + targetId).val().replace(/,/g, '')) || 0;
|
|
|
|
$('.unit-price-input').each(function () {
|
|
const $this = $(this);
|
|
if ($this.data('target') === targetId) {
|
|
const row = $this.closest('tr');
|
|
const su = parseFloat(row.find('.su-input').val().replace(/,/g, '')) || 0;
|
|
const total = price * su;
|
|
$this.val(price.toLocaleString());
|
|
row.find('.total-price').text(total.toLocaleString());
|
|
}
|
|
});
|
|
});
|
|
});
|
|
</script>
|