$companyCode = $resGetOperatorInfoArray['companyCode'];
$companyName = $resGetOperatorInfoArray['companyName'];
$storeCode = $resGetOperatorInfoArray['storeCode'];
$storeName = $resGetOperatorInfoArray['storeName'];
$deliverCharge = $resGetOperatorInfoArray['deliverCharge'];
$operatorType = $resGetOperatorInfoArray['operatorType'];
$operatorName = $resGetOperatorInfoArray['operatorName'];
$operatorMailAddress = $resGetOperatorInfoArray['operatorMailAddress'];
$operatorPhoneNumber = $resGetOperatorInfoArray['operatorPhoneNumber'];
$role = $resGetOperatorInfoArray['role'];
// 4. Publish New Order Id
// 発行方法について
$order_id = time();
// 5. Register Purchase Info By Order Unit
$regLastOrderInfo = "INSERT INTO regular_purchase_plan (`order_id`, `total_product_price`, `operator_id`, `store_code`, `deliver_address`, `deliver_charge_discount_flag`, `created_datetime`) VALUES ({$order_id}, {$total_price}, {$operator_id}, {$store_code}, '{$deliver_address}', {$deliver_charge_discount_flag}, NOW());";
$resRegLastOrderInfo = $dbConnectObj->executeSql($regLastOrderInfo);
if (!$resRegLastOrderInfo || $resRegLastOrderInfo == null) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE006');
    exit;
}
// 6. Register Purchase History
foreach ($orderProductDateNumArray as $orderRecord) {
    $purchase_number = $orderRecord['purchase_number'];
    if ($purchase_number == 0) {
        continue;
    }
    $product_id = $orderRecord['product_id'];
    $deliver_date = date("Y-m-d", strtotime($orderRecord['deliver_date']));
$companyCode = $resGetOperatorInfoArray['companyCode'];
$companyName = $resGetOperatorInfoArray['companyName'];
$storeCode = $resGetOperatorInfoArray['storeCode'];
$storeName = $resGetOperatorInfoArray['storeName'];
$deliverCharge = $resGetOperatorInfoArray['deliverCharge'];
$operatorName = $resGetOperatorInfoArray['operatorName'];
$deliverAddress = $resGetOperatorInfoArray['deliverAddress'];
// 4. Execute Change Order
$newOrderId = time();
foreach ($phId_chgValue_array as $phId_chngVal) {
    // 4-1. Get PurchaseHistoryId, ChangeValue
    $targetPurchaseHistoryId = $phId_chngVal['purchase_history_id'];
    $changeValue = $phId_chngVal['change_value'];
    // 4-2. Select PurchaseHistoryInfo By PurchaseHistoryId
    $sqlGetPurchaseInfo = "SELECT * FROM purchase_history WHERE purchase_history_id = {$targetPurchaseHistoryId} AND deliver_status = 0";
    $resGetPurchaseInfo = $dbConnectObj->executeSql($sqlGetPurchaseInfo);
    if (!$resGetPurchaseInfo || $resGetPurchaseInfo == null) {
        $dbConnectObj->rollback();
        $dbConnectObj->close();
        // redirect to error page
        header('location: ./error.php?ecode=SE121');
        exit;
    }
    while ($row = mysqli_fetch_array($resGetPurchaseInfo)) {
        $storeCode = $row["store_code"];
        $productId = $row["product_id"];
        $deliverDate = $row["deliver_date"];
    }
    // 4-3. Update Old PurchaseInfo, DeliverStatus -> 3
    $sqlUpdateDeliverStatusToCancel = "UPDATE purchase_history SET deliver_status = 3 WHERE purchase_history_id = {$targetPurchaseHistoryId} AND deliver_status = 0";
    $resUpdateDeliverStatusToCancel = $dbConnectObj->executeSql($sqlUpdateDeliverStatusToCancel);
    // redirect to error page
    header('location: ./error.php?ecode=SE1405');
    exit;
}
$operatorRole = $resGetOperatorDetailArray['role'];
// check user role: admin(role=1) is OK
if ($operatorRole != 1) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE1406');
    exit;
}
// 4. Get Company Info
$sqlGetCompanyInfo = "SELECT * FROM company c inner join operator o on c.operator_id = o.operator_id WHERE c.company_code = {$searchCompanyCode} AND c.delete_flag = 0 AND o.delete_flag = 0;";
$resGetCompanyInfo = $dbConnectObj->executeSql($sqlGetCompanyInfo);
if (!$resGetCompanyInfo || $resGetCompanyInfo == null) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE1407');
    exit;
}
$companyInfoArray = array();
$companyId = '';
$companyCode = '';
$companyName = '';
$storeCode = '';
while ($row = mysqli_fetch_array($resGetCompanyInfo)) {
    $tmpArray = array();
    $tmpArray = array('company_id' => $row["company_id"], 'company_code' => $row["company_code"], 'company_name' => $row["company_name"], 'store_code' => $row["store_code"], 'store_name' => $row["company_name"], 'classify_code' => $row["classify_code"], 'deliver_charge' => $row["deliver_charge"], 'slip_type' => $row["slip_type"], 'billing_type' => $row["billing_type"], 'tax_type' => $row["tax_type"], 'store_address' => $row["store_address"], 'store_phone_number' => $row["store_phone_number"], 'billing_address' => $row["billing_address"], 'billing_phone_number' => $row["billing_phone_number"], 'operator_name' => $row["operator_name"], 'operator_mail_address' => $row["operator_mail_address"], 'operator_phone_number' => $row["operator_phone_number"]);
    exit;
}
$productPriceArray = array();
while ($row = mysqli_fetch_array($resGetProductPricePerCompany)) {
    $productPriceArray += array($row["product_id"] => $row["price"]);
}
// 5. Get Purchase History Info By Store Code
if ($searchTargetDeliverDate === date("Y-m-d", strtotime($searchTargetDeliverDate))) {
    // select by target day
    $sqlGetPurchaseHistoryByOperatorId = "SELECT ph.purchase_history_id, ph.order_id, ph.store_code, ph.product_id, ph.deliver_date, ph.deliver_status, ph.purchase_number, p.product_name, p.price FROM purchase_history ph inner join product p on ph.product_id = p.product_id WHERE ph.store_code = {$storeCode} AND ph.deliver_date = '{$searchTargetDeliverDate}' ORDER BY p.product_id";
} else {
    // select from 3 month ago to latest
    $limitMonth = date('Y-m-d', strtotime("-3 month"));
    $sqlGetPurchaseHistoryByOperatorId = "SELECT ph.purchase_history_id, ph.order_id, ph.store_code, ph.product_id, ph.deliver_date, ph.deliver_status, ph.purchase_number, p.product_name, p.price FROM purchase_history ph inner join product p on ph.product_id = p.product_id WHERE ph.store_code = {$storeCode} AND ph.deliver_date >= '{$limitMonth}' ORDER BY ph.deliver_date";
}
$resGetPurchaseHistoryByOperatorId = $dbConnectObj->executeSql($sqlGetPurchaseHistoryByOperatorId);
if (!$resGetPurchaseHistoryByOperatorId || $resGetPurchaseHistoryByOperatorId == null) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE067');
    exit;
}
$orderInfoByOperatorArray = array();
while ($row = mysqli_fetch_array($resGetPurchaseHistoryByOperatorId)) {
    $orderInfoByOperatorArray[] = array('order_id' => $row["order_id"], 'store_code' => $row["store_code"], 'product_id' => $row["product_id"], 'deliver_date' => $row["deliver_date"], 'deliver_status' => $row["deliver_status"], 'purchase_number' => $row["purchase_number"], 'product_name' => $row["product_name"], 'price' => $productPriceArray[$row["product_id"]]);
}
// 6. commit, close DB
$dbConnectObj->commit();
$dbConnectObj->close();
?>
示例#5
0
include_once '../logic/common/header.inc';
// header, need HTML close tag in this code
include_once '../logic/common/_connect.inc';
// DB Connect Class
// for php-5.6.2x
date_default_timezone_set('Asia/Tokyo');
// not need if php version is over 5.6.5
// 1. Get Operator Id
$operator_id = $_SESSION["id"];
// db connect obj
$dbConnectObj = new DB_HANDLER();
$dbConnectObj->dbConnect();
$dbConnectObj->beginTransaction();
// 3. Get Operator Info
$sqlGetOperatorInfo = "SELECT * FROM company c inner join operator o on c.operator_id = o.operator_id WHERE o.operator_id = {$operator_id}";
$resGetOperatorInfo = $dbConnectObj->executeSql($sqlGetOperatorInfo);
if (!$resGetOperatorInfo || $resGetOperatorInfo == null) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE062');
    exit;
}
while ($row = mysqli_fetch_array($resGetOperatorInfo)) {
    $companyCode = $row["company_code"];
    $companyName = $row["company_name"];
    $storeCode = $row["store_code"];
    $storeName = $row["store_name"];
    $deliverCharge = $row["deliver_charge"];
    $operatorName = $row["operator_name"];
}
    // redirect to error page
    header('location: ./error.php?ecode=SE1615');
    exit;
}
$operatorRole = $resGetOperatorDetailArray['role'];
// check user role: admin(role=1) is OK
if ($operatorRole != 1) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE1616');
    exit;
}
// 5. Update Store Info
$sqlUpdateStoreInfo = "UPDATE company SET store_name = '{$storeName}', classify_code = {$classifyCode}, deliver_charge = {$deliverCharge}, slip_type = '{$slipType}', billing_type = '{$billingType}', tax_type = '{$taxType}', store_address = '{$storeAddress}', store_phone_number = {$storePhoneNumber}, billing_address = '{$billingAddress}', billing_phone_number = {$billingPhoneNumber} WHERE store_code = {$storeCode};";
$resUpdateStoreInfo = $dbConnectObj->executeSql($sqlUpdateStoreInfo);
if (!$resUpdateStoreInfo) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE1617');
    exit;
}
// 6. Update Operator Info
for ($i = 0; $i < count($operatorIdArray); $i++) {
    $operator_id = $operatorIdArray[$i];
    $operator_name = $operatorNameArray[$i];
    $operator_phone_number = $operatorPhoneNumberArray[$i];
    $operator_mail_address = $operatorMailAddressArray[$i];
    $sqlUpdateOperatorInfo = "UPDATE operator SET operator_name = '{$operator_name}', operator_mail_address = '{$operator_mail_address}', operator_phone_number = '{$operator_phone_number}' WHERE operator_id = {$operator_id} AND delete_flag = 0;";
    $resUpdateOperatorInfo = $dbConnectObj->executeSql($sqlUpdateOperatorInfo);
// 3. Get Product Price per Company
$resGetProductPricePerCompany = array();
$resGetProductPricePerCompany = $commonMethodObj->GetProductPricePerCompany($companyCode);
if (!$resGetProductPricePerCompany) {
    // redirect to error page
    header('location: ./error.php?ecode=SE066');
    exit;
}
$productPriceArray = array();
while ($row = mysqli_fetch_array($resGetProductPricePerCompany)) {
    $productPriceArray += array($row["product_id"] => $row["price"]);
}
// 4. Get Product Company Info
//$sqlGetProduct = "SELECT product_id, product_name, price FROM product WHERE delete_flag = 0;";
$sqlGetProduct = "SELECT pc.product_id, pc.price, p.product_name FROM product_company pc INNER JOIN product p on pc.product_id = p.product_id WHERE pc.delete_flag = 0 AND p.delete_flag = 0 AND pc.company_code = {$companyCode}";
$resGetProduct = $dbConnectObj->executeSql($sqlGetProduct);
if (!$resGetProduct || $resGetProduct == null) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE003');
    exit;
}
$dbConnectObj->commit();
$dbConnectObj->close();
$productInfoArray = array();
while ($row = mysqli_fetch_array($resGetProduct)) {
    $product_id = $row["product_id"];
    $order_num = $_REQUEST[$product_id];
    if ($order_num == null || $order_num == '' || $order_num < 1) {
        continue;
// not need if php version is over 5.6.5
// 2. DB connect obj
$dbConnectObj = new DB_HANDLER();
$dbConnectObj->dbConnect();
$dbConnectObj->beginTransaction();
$commonMethodObj = new COMMON_METHOD($dbConnectObj);
// 3. Get Purchase History, Regular Purchase Plan, Product Master Of Next Week
// variables
$today = date('Y-m-d');
$nextWeekStartDatetime = date('Y-m-d 00:00:00', strtotime("+4 day", strtotime($today)));
// run every thursday
$nextWeekEndDatetime = date('Y-m-d 23:59:59', strtotime("+10 day", strtotime($today)));
// sql
$sqlGetUpdateDeliverStatusByWeeklyBatch = "SELECT\nph.order_id, ph.product_id, ph.deliver_date, ph.purchase_number,\nrpp.deliver_address, rpp.total_product_price, rpp.operator_id, rpp.store_code, rpp.deliver_charge_discount_flag,\np.product_name,\no.operator_name, o.operator_mail_address, o.operator_phone_number,\nc.company_code, c.company_name, c.store_name, c.deliver_charge, c.slip_type, c.billing_type, c.tax_type, c.store_address, c.store_phone_number, c.billing_address, c.billing_phone_number\nfrom purchase_history ph\ninner join regular_purchase_plan rpp on ph.order_id = rpp.order_id\ninner join product p on ph.product_id = p.product_id\ninner join operator o on rpp.operator_id = o.operator_id\ninner join company c on rpp.store_code = c.store_code\nwhere ph.deliver_date >= '{$nextWeekStartDatetime}'\nand ph.deliver_date <= '{$nextWeekEndDatetime}'\nand ph.deliver_status = 0\norder by rpp.store_code, ph.deliver_date;";
// exec sql
$resGetUpdateDeliverStatusByWeeklyBatch = $dbConnectObj->executeSql($sqlGetUpdateDeliverStatusByWeeklyBatch);
if (!$resGetUpdateDeliverStatusByWeeklyBatch || $resGetUpdateDeliverStatusByWeeklyBatch == false) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    exit;
}
// transform result
$updateDeliverStatusArray = array();
while ($row = mysqli_fetch_array($resGetUpdateDeliverStatusByWeeklyBatch)) {
    $tmpArray = array('order_id' => $row["order_id"], 'product_id' => $row["product_id"], 'deliver_date' => $row["deliver_date"], 'purchase_number' => $row["purchase_number"], 'deliver_address' => $row["deliver_address"], 'total_product_price' => $row["total_product_price"], 'operator_id' => $row["operator_id"], 'store_code' => $row["store_code"], 'deliver_charge_discount_flag' => $row["deliver_charge_discount_flag"], 'product_name' => $row["product_name"], 'operator_name' => $row["operator_name"], 'operator_mail_address' => $row["operator_mail_address"], 'operator_phone_number' => $row["operator_phone_number"], 'company_code' => $row["company_code"], 'company_name' => $row["company_name"], 'store_name' => $row["store_name"], 'deliver_charge' => $row["deliver_charge"], 'slip_type' => $row["slip_type"], 'billing_type' => $row["billing_type"], 'tax_type' => $row["tax_type"], 'store_address' => $row["store_address"], 'store_phone_number' => $row["store_phone_number"], 'billing_address' => $row["billing_address"], 'billing_phone_number' => $row["billing_phone_number"]);
    $updateDeliverStatusArray[] = $tmpArray;
}
// 4. Update Deliver Status 0:undecision -> 1:decision
$sqlUpdateDeliverStatusToDecision = "UPDATE purchase_history SET deliver_status = 1 WHERE deliver_status = 0 AND deliver_date >= '{$nextWeekStartDatetime}' AND deliver_date <= '{$nextWeekEndDatetime}';";
$resUpdateDeliverStatusToDecision = $dbConnectObj->executeSql($sqlUpdateDeliverStatusToDecision);
if (!$resUpdateDeliverStatusToDecision || $resUpdateDeliverStatusToDecision == null) {
$operator_id = $_SESSION["id"];
$product_id_array = $_REQUEST["product_id"];
$edit_product_array = array();
foreach ($product_id_array as $product_id) {
    $name_index = "product_name_" . $product_id;
    $product_name = $_REQUEST[$name_index];
    $sell_index = "sell_select_" . $product_id;
    $sell_flag = $_REQUEST[$sell_index];
    $edit_product_array[] = array('product_id' => $product_id, 'product_name' => $product_name, 'sell_flag' => $sell_flag);
}
// 2. Update All Product Info
foreach ($edit_product_array as $edit_product_info_record) {
    $product_id = $edit_product_info_record['product_id'];
    $product_name = $edit_product_info_record['product_name'];
    $sell_flag = $edit_product_info_record['sell_flag'];
    $sqlUpdateProductInfo = "UPDATE product SET product_name = '{$product_name}', delete_flag = '{$sell_flag}' WHERE product_id = {$product_id};";
    $resUpdateProductInfo = $dbConnectObj->executeSql($sqlUpdateProductInfo);
    if (!$resUpdateProductInfo || $resUpdateProductInfo == null) {
        $dbConnectObj->rollback();
        $dbConnectObj->close();
        // redirect to error page
        header('location: ./error.php?ecode=SE2001');
        exit;
    }
}
// 3. commit, close, redirect
$dbConnectObj->commit();
$dbConnectObj->close();
// redirect All Product Page
header('location: ./all_product.php');
exit;
    // redirect to error page
    header('location: ./error.php?ecode=SE1405');
    exit;
}
$operatorRole = $resGetOperatorDetailArray['role'];
// check user role: admin(role=1) is OK
if ($operatorRole != 1) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE1406');
    exit;
}
// 5. Get Store Info
$sqlGetStoreInfo = "SELECT * FROM company c inner join operator o on c.operator_id = o.operator_id WHERE c.store_code = {$storeCode} AND c.delete_flag = 0 AND o.delete_flag = 0;";
$resGetStoreInfo = $dbConnectObj->executeSql($sqlGetStoreInfo);
if (!$resGetStoreInfo || $resGetStoreInfo == null) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE1407');
    exit;
}
$storeInfoArray = array();
$companyId = '';
$companyCode = '';
$companyName = '';
while ($row = mysqli_fetch_array($resGetStoreInfo)) {
    $tmpArray = array();
    $tmpArray = array('company_id' => $row["company_id"], 'company_code' => $row["company_code"], 'company_name' => $row["company_name"], 'store_code' => $row["store_code"], 'store_name' => $row["store_name"], 'classify_code' => $row["classify_code"], 'deliver_charge' => $row["deliver_charge"], 'slip_type' => $row["slip_type"], 'billing_type' => $row["billing_type"], 'tax_type' => $row["tax_type"], 'store_address' => $row["store_address"], 'store_phone_number' => $row["store_phone_number"], 'billing_address' => $row["billing_address"], 'billing_phone_number' => $row["billing_phone_number"], 'operator_id' => $row["operator_id"], 'operator_name' => $row["operator_name"], 'operator_mail_address' => $row["operator_mail_address"], 'operator_phone_number' => $row["operator_phone_number"]);
    $storeInfoArray[] = $tmpArray;
// db connect obj
$dbConnectObj = new DB_HANDLER();
$dbConnectObj->dbConnect();
$dbConnectObj->beginTransaction();
$commonMethodObj = new COMMON_METHOD($dbConnectObj);
// 1. Get Parameters
$operator_id = $_SESSION["id"];
$new_product_name_array = $_REQUEST["newProductName"];
// 2. Insert New Product
foreach ($new_product_name_array as $new_product_name) {
    $new_product_name = $new_product_name;
    if ($new_product_name == '' || $new_product_name == null) {
        echo 'name is nothing, ';
    } else {
        $sqlInsertNewProduct = "INSERT INTO product ( `product_name` ) VALUES ( '{$new_product_name}' );";
        $resInsertNewProduct = $dbConnectObj->executeSql($sqlInsertNewProduct);
        if (!$resInsertNewProduct || $resInsertNewProduct == null) {
            $dbConnectObj->rollback();
            $dbConnectObj->close();
            // redirect to error page
            header('location: ./error.php?ecode=SE2201');
            exit;
        }
    }
}
// 3. commit, close, redirect
$dbConnectObj->commit();
$dbConnectObj->close();
// redirect All Product Page
header('location: ./all_product.php');
exit;
示例#12
0
include_once '../logic/common/_connect.inc';
// DB Connect Class
// for php-5.6.2x
date_default_timezone_set('Asia/Tokyo');
// not need if php version is over 5.6.5
// 1. Get Parameter
$operator_id = $_SESSION["id"];
$calStartDate = $_REQUEST["sdate"];
// db connect obj
$dbConnectObj = new DB_HANDLER();
$dbConnectObj->dbConnect();
$dbConnectObj->beginTransaction();
// 2. Get Contract Info
// 企業担当者と一般ユーザで分けるか? ph.1では企業担当者のみに焦点を絞るが今後の拡張性も考慮した実装にしたい
$sqlGetContractInfo = "SELECT o.operator_name, o.operator_mail_address, o.operator_phone_number, c.company_code, c.company_name, c.store_code, c.store_name, c.classify_code, c.deliver_charge, c.slip_type, c.billing_type, c.tax_type, c.store_address, c.store_phone_number, c.billing_address, c.billing_phone_number FROM operator o inner join company c on o.operator_id = c.operator_id WHERE o.operator_id = {$operator_id} AND o.delete_flag = 0 AND c.delete_flag = 0;";
$resGetContractInfo = $dbConnectObj->executeSql($sqlGetContractInfo);
if (!$resGetContractInfo || $resGetContractInfo == null) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE101');
    exit;
}
while ($row = mysqli_fetch_array($resGetContractInfo)) {
    $operator_name = $row["operator_name"];
    $operator_mail_address = $row["operator_mail_address"];
    $operator_phone_number = $row["operator_phone_number"];
    $company_code = $row["company_code"];
    $company_name = $row["company_name"];
    $store_code = $row["store_code"];
    $store_name = $row["store_name"];