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.
162 lines
7.7 KiB
162 lines
7.7 KiB
<?php
|
|
function BounsCount($data, $conn, $facilityno)
|
|
{
|
|
try {
|
|
require_once("../../bonus/elevator_new/elevator_new_deal_bonus.php");
|
|
$dailyNecessities = [
|
|
'MAE100' => 'passenger', //小機房
|
|
'MAM200' => 'passenger', //無機房
|
|
'MAH100' => 'dumbwaiter', //小電梯
|
|
'MAQ100' => 'positive_drive', //強趨梯
|
|
'MAF100' => 'cargo', //貨梯
|
|
'MAP100' => 'flatbase', // 平台踢
|
|
];
|
|
$contractType = [
|
|
'1' => 'strategy_customer',
|
|
'2' => 'general_customer'
|
|
];
|
|
$signing_date = $data['signing_date'];
|
|
$bonus_v1_0_date = '2024-01-02';
|
|
$bonus_v2_0_date = '2024-01-03';
|
|
$contract_type = $data['contract_type'];
|
|
$total = $data['price_total'];
|
|
$type = $contractType[$contract_type]; //戰略客戶 or 一般客戶
|
|
// $elevator_knockdown_price = $data['price_total']; //受價總額
|
|
$elevators = json_decode($data['elevators_detail_arr'], true);
|
|
$contract_no = $data['contractno'];
|
|
$salesman = $data['salesman'];
|
|
$manager = $data['manager'];
|
|
$contract_kind = 1;
|
|
$pay_arr = !empty($data['pay_arr']) ? json_decode($data['pay_arr'], true) : []; //電梯
|
|
$create_id = $data['user_id'];
|
|
$create_at = date("Y-m-d H:i:s");
|
|
$status = 1;
|
|
|
|
|
|
|
|
|
|
|
|
$result_bonus = [];
|
|
$result_bonus_arr = [];
|
|
if ($signing_date <= $bonus_v1_0_date) {
|
|
$ver = '1.0';
|
|
foreach ($elevators as $key => $elevator) {
|
|
$other_price = !empty($elevator['option_other_price']) ? $elevator['option_other_price'] : 0;
|
|
$elevator_knockdown_price = $elevator['elevator_price']; // 單台電梯售價
|
|
$elevator_list_price = $other_price + $elevator['option_price'] + $elevator['elevator_price']; //牌價
|
|
$result_bonus = elevator_new_deal_bonus_v1_0($ver, $type, $pay_arr['elevotor_pay_detail'], $salesman, $manager);
|
|
$facility_no = $facilityno[$key];
|
|
$bonus_json = [
|
|
'contract_type' => $type,
|
|
'total' => $elevator_list_price,
|
|
'fee_per_st' => $elevator_knockdown_price
|
|
];
|
|
echo "<pre>";
|
|
print_r($result_bonus);
|
|
echo "</pre>";
|
|
if (!empty($result_bonus)) {
|
|
if ($result_bonus['result_status'] != "error") {
|
|
foreach ($result_bonus['bonus_array'] as $i => $result) {
|
|
// $bonus_type = explode('-', $result['bonus_type']);
|
|
$pay_man_type = $result['bonus_type']; //發放類別
|
|
// $bonus_kind = $bonus_type[1];
|
|
$amount = round($result['bonus_amount']); //獎金水庫
|
|
$bonus_receiver = $result['bonus_receiver']; //發放人員
|
|
$bonus_json['payment_schedul_due'] = $result['payment_schedul_due'];
|
|
$bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation'];
|
|
$bonus_json['bonus_kind'] = $result['payment_schedul_due'];
|
|
$a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE);
|
|
$sql = "INSERT INTO bonus
|
|
(bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES
|
|
($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at')
|
|
";
|
|
$stmt = $conn->prepare($sql);
|
|
$stmt->execute();
|
|
}
|
|
} else {
|
|
$status = 0;
|
|
}
|
|
} else {
|
|
$status = 0;
|
|
}
|
|
}
|
|
|
|
if ($status == 0) {
|
|
$response = [
|
|
"status" => "2",
|
|
"data" => "create_bonus_error"
|
|
];
|
|
} else {
|
|
$response = [
|
|
"status" => "1",
|
|
"data" => "Success"
|
|
];
|
|
}
|
|
return $response;
|
|
} else if ($signing_date >= $bonus_v2_0_date) {
|
|
$ver = '2.0';
|
|
foreach ($elevators as $key => $elevator) {
|
|
$option_other_price = !empty($elevator['option_other_price']) ? intval($elevator['option_other_price']) : 0;
|
|
$elevator_type = $dailyNecessities[$elevator['spec']];
|
|
$elevator_list_price = $option_other_price + $elevator['option_price'] + $elevator['elevator_price'];
|
|
$elevator_knockdown_price = $elevator['elevator_price'];
|
|
$commission_fee = $elevator['commission_fee'];
|
|
$result_bonus = elevator_new_deal_bonus_v2_0(
|
|
$ver,
|
|
$type,
|
|
$elevator_type,
|
|
$elevator_list_price,
|
|
$elevator_knockdown_price,
|
|
$pay_arr['elevotor_pay_detail'],
|
|
$salesman,
|
|
$manager
|
|
);
|
|
$facility_no = $facilityno[$key];
|
|
$bonus_json = [
|
|
'contract_type' => $type,
|
|
'total' => $elevator_list_price,
|
|
'fee_per_st' => $elevator_knockdown_price
|
|
];
|
|
if (!empty($result_bonus)) {
|
|
if ($result_bonus['result_status'] != "error") {
|
|
foreach ($result_bonus['bonus_array'] as $i => $result) {
|
|
// $bonus_type = explode('-', $result['bonus_type']);
|
|
$pay_man_type = $result['bonus_type']; //發放類別
|
|
$amount = $result['bonus_amount']; //獎金水庫
|
|
$bonus_receiver = $result['bonus_receiver']; //發放人員
|
|
$bonus_json['payment_schedul_due'] = $result['payment_schedul_due'];
|
|
$bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation'];
|
|
$bonus_json['bonus_kind'] = $result['payment_schedul_due'];
|
|
$a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE);
|
|
$sql = "INSERT INTO bonus
|
|
(bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES
|
|
($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at')
|
|
";
|
|
$stmt = $conn->prepare($sql);
|
|
$stmt->execute();
|
|
}
|
|
} else {
|
|
$status = 0;
|
|
}
|
|
} else {
|
|
$status = 0;
|
|
}
|
|
}
|
|
if ($status == 0) {
|
|
$response = [
|
|
"status" => "2",
|
|
"data" => "create_bonus_error"
|
|
];
|
|
} else {
|
|
$response = [
|
|
"status" => "1",
|
|
"data" => "Success"
|
|
];
|
|
}
|
|
}
|
|
return $response;
|
|
} catch (PDOException $e) {
|
|
header("HTTP/1.1 500 Internal Server Error");
|
|
die('Error!:' . $e->getMessage());
|
|
}
|
|
}
|
|
|