You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
5.7 KiB
171 lines
5.7 KiB
<?php
|
|
require_once('./conn.php');
|
|
require 'vendor/autoload.php';
|
|
ini_set('date.timezone', 'Asia/Taipei');
|
|
$id = $_GET['id'];
|
|
|
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
|
|
|
// 指定要讀取的 Excel 文件
|
|
$filePath = './option/option' . $id . '.xlsx';
|
|
|
|
// 嘗試讀取文件
|
|
try {
|
|
$spreadsheet = IOFactory::load($filePath);
|
|
} catch (\PhpOffice\PhpSpreadsheet\Reader\Exception $e) {
|
|
die('Error loading file: ' . $e->getMessage());
|
|
}
|
|
|
|
// 獲取活動工作表
|
|
$sheet = $spreadsheet->getActiveSheet();
|
|
|
|
|
|
$create_at = date('Y-m-d H:i:s');
|
|
$sql_str = "INSERT INTO option_price (kind, subkind, group_name, spec, memo, optional, unit, price, status, create_at) VALUES (:kind, :subkind, :group_name, :spec, :memo, :optional, :unit, :price, :status, :create_at)";
|
|
$sql_str_mi = "INSERT INTO option_mi (option_price_id, min_weight, max_weight, open_kind, base_floor, base_floor_plus, price, quotation_no, create_at) VALUES (:option_price_id, :min_weight, :max_weight, :open_kind, :base_floor, :base_floor_plus, :price, :quotation_no, :create_at)";
|
|
$open_kind_arr = ['CO', '2S'];
|
|
// 遍歷工作表中的每一行
|
|
foreach ($sheet->getRowIterator() as $key => $row) {
|
|
// 獲得單元格迭代器
|
|
$cellIterator = $row->getCellIterator();
|
|
$cellIterator->setIterateOnlyExistingCells(false); // This loops through all cells,
|
|
// even if a cell value is not set.
|
|
// By default, only cells that have a value set will be iterated.
|
|
foreach ($cellIterator as $idx => $cell) {
|
|
if ($cell !== null) {
|
|
// 打印單元格數據
|
|
// echo $cell->getValue() . '///';
|
|
}
|
|
if ($idx == 'B') {
|
|
$group_name = $cell->getValue();
|
|
echo $group_name;
|
|
} elseif ($idx == 'C') {
|
|
$spec = $cell->getValue();
|
|
echo $spec;
|
|
} elseif ($idx == 'D') {
|
|
$memo = $cell->getValue();
|
|
echo $memo;
|
|
} elseif ($idx == 'E') {
|
|
$optional = '';
|
|
if ($cell->getValue() == "標配") {
|
|
$optional = 1;
|
|
} else if($cell->getValue() == "選配") {
|
|
$optional = 2;
|
|
}else if($cell->getValue() == "加價") {
|
|
$optional = 3;
|
|
}
|
|
echo $optional;
|
|
} elseif ($idx == 'F') {
|
|
$cost = $cell->getValue();
|
|
} elseif ($idx == 'G') {
|
|
$price = $cell->getValue();
|
|
echo $price;
|
|
} elseif ($idx == 'H') {
|
|
$unit = $cell->getValue();
|
|
echo $unit;
|
|
}
|
|
}
|
|
echo "<br>"; // 換行,以分隔不同的行
|
|
|
|
$status = "Y";
|
|
$kindArr = ['A', 'B', 'C', 'D'];
|
|
if ($id == 1) {
|
|
$kind = 'A';
|
|
$subkind = 'A1';
|
|
} elseif ($id == 2) {
|
|
$kind = 'B';
|
|
$subkind = 'B1';
|
|
} elseif ($id == 3) {
|
|
$kind = 'B';
|
|
$subkind = 'B2';
|
|
} elseif ($id == 4) {
|
|
$kind = 'B';
|
|
$subkind = 'B3';
|
|
} elseif ($id == 5) {
|
|
$kind = 'B';
|
|
$subkind = 'B4';
|
|
} elseif ($id == 6) {
|
|
$kind = 'B';
|
|
$subkind = 'B5';
|
|
} elseif ($id == 7) {
|
|
$kind = 'B';
|
|
$subkind = 'B6';
|
|
} elseif ($id == 8) {
|
|
$kind = 'B';
|
|
$subkind = 'B7';
|
|
} elseif ($id == 9) {
|
|
$kind = 'C';
|
|
$subkind = 'C1';
|
|
} elseif ($id == 10) {
|
|
$kind = 'C';
|
|
$subkind = 'C2';
|
|
} elseif ($id == 11) {
|
|
$kind = 'C';
|
|
$subkind = 'C3';
|
|
} elseif ($id == 12) {
|
|
$kind = 'C';
|
|
$subkind = 'C4';
|
|
} elseif ($id == 13) {
|
|
$kind = 'D';
|
|
$subkind = 'D1';
|
|
} elseif ($id == 14) {
|
|
$kind = 'D';
|
|
$subkind = 'D2';
|
|
} elseif ($id == 15) {
|
|
$kind = 'E';
|
|
$subkind = 'E1';
|
|
} elseif ($id == 17) {
|
|
$kind = 'E';
|
|
$subkind = 'E1';
|
|
}elseif ($id == 18) {
|
|
$kind = 'F';
|
|
$subkind = 'F1';
|
|
}
|
|
|
|
if (isset($_GET['id'])) {
|
|
try {
|
|
$stmt = $conn->prepare($sql_str);
|
|
$stmt->bindParam(':kind', $kind);
|
|
$stmt->bindParam(':subkind', $subkind);
|
|
$stmt->bindParam(':group_name', $group_name);
|
|
$stmt->bindParam(':spec', $spec);
|
|
$stmt->bindParam(':memo', $memo);
|
|
$stmt->bindParam(':optional', $optional);
|
|
$stmt->bindParam(':unit', $unit);
|
|
$stmt->bindParam(':price', $price);
|
|
$stmt->bindParam(':status', $status);
|
|
$stmt->bindParam(':create_at', $create_at);
|
|
// 遍歷當前行的每一個單元格
|
|
$stmt->execute();
|
|
|
|
$last_id = $conn->lastInsertId();
|
|
|
|
|
|
$option_price_id = $last_id;
|
|
$option_price = $cost;
|
|
$quotation_no = 'Q2401002';
|
|
foreach ($open_kind_arr as $kind) {
|
|
$min_weight = 1;
|
|
$max_weight = 1600;
|
|
$open_kind = $kind;
|
|
$base_floor = 0;
|
|
$base_floor_plus = 0;
|
|
$sale_price = $option_price;
|
|
$stmt = $conn->prepare($sql_str_mi);
|
|
$stmt->bindParam(':option_price_id', $option_price_id);
|
|
$stmt->bindParam(':min_weight', $min_weight);
|
|
$stmt->bindParam(':max_weight', $max_weight);
|
|
$stmt->bindParam(':open_kind', $open_kind);
|
|
$stmt->bindParam(':base_floor', $base_floor);
|
|
$stmt->bindParam(':base_floor_plus', $base_floor_plus);
|
|
$stmt->bindParam(':price', $sale_price);
|
|
$stmt->bindParam(':quotation_no', $quotation_no);
|
|
$stmt->bindParam(':create_at', $create_at);
|
|
$stmt->execute();
|
|
}
|
|
} catch (PDOException $e) {
|
|
echo $e->getMessage();
|
|
die('Error!:' . $e->getMessage());
|
|
}
|
|
}
|
|
}
|
|
|