Browse Source

mi計算式修正

gary
jrbin 1 year ago
parent
commit
89a6bcb05a
  1. 38
      wms/mkt/pricereview_mi-api.php

38
wms/mkt/pricereview_mi-api.php

@ -71,6 +71,7 @@ try {
$elev_arr[$row[5]]["floors"] = $floors; $elev_arr[$row[5]]["floors"] = $floors;
$elev_arr[$row[5]]["speed"] = $speed; $elev_arr[$row[5]]["speed"] = $speed;
$elev_arr[$row[5]]["option"] = []; $elev_arr[$row[5]]["option"] = [];
$elev_arr[$row[5]]["mn"] = [];
$elev_qty_all += $row[1]; $elev_qty_all += $row[1];
} }
mysqli_free_result($res); mysqli_free_result($res);
@ -108,20 +109,22 @@ try {
mysqli_free_result($res); mysqli_free_result($res);
$opt_nosel_id_arr = array_diff(array_keys($opt_elev_arr), $opt_sel_id_arr); $opt_nosel_id_arr = array_diff(array_keys($opt_elev_arr), $opt_sel_id_arr);
// 保固延長<->電梯項次 // 電梯所屬保固延長
$mn_arr = []; $mn_elev_arr = $mn_sel_id_arr = [];
$sql = "select id, item_spec, item_qty, option_relate_spec from pricereview_item where mid = '$id' and item_group = 'D'"; $sql = "select id, item_spec, item_price_bp, option_relate_spec from pricereview_item where mid = '$id' and item_group = 'D'";
$res = mysqli_query($link, $sql); $res = mysqli_query($link, $sql);
while ($row = mysqli_fetch_row($res)) { while ($row = mysqli_fetch_row($res)) {
$mn_arr[$row[0]]["item_spec"] = $row[1]; $mn_elev_arr[$row[0]]["item_spec"] = $row[1];
$mn_arr[$row[0]]["item_qty"] = $row[2]; $mn_elev_arr[$row[0]]["item_price_bp"] = $row[2];
$tmp_arr = explode(",", $row[3]); $tmp_arr = explode(",", $row[3]);
$mn_arr[$row[0]]["elev_no"] = $tmp_arr; $mn_elev_arr[$row[0]]["elev_no"] = $tmp_arr;
foreach ($tmp_arr as $v) { foreach ($tmp_arr as $v) {
$elev_arr[$v]["mn"][] = $row[0]; $elev_arr[$v]["mn"][] = $row[0];
$mn_sel_id_arr[] = $row[0];
} }
} }
mysqli_free_result($res); mysqli_free_result($res);
$mn_nosel_id_arr = array_diff(array_keys($mn_elev_arr), $mn_sel_id_arr);
// 除外項目平均分到每台電梯 // 除外項目平均分到每台電梯
$exarr = []; $exarr = [];
@ -160,7 +163,7 @@ try {
//print_r($elev_arr); //print_r($elev_arr);
//print_r($opt_elev_arr); //print_r($opt_elev_arr);
//print_r($opt_nosel_id_arr); //print_r($opt_nosel_id_arr);
//print_r($mn_arr); //print_r($mn_elev_arr);
//print_r($ex_arr);exit; //print_r($ex_arr);exit;
foreach ($elev_arr as $item_no => $v) { foreach ($elev_arr as $item_no => $v) {
@ -243,8 +246,10 @@ try {
if (empty($todo_opt_arr)) $todo_opt_arr = $opt_nosel_id_arr; if (empty($todo_opt_arr)) $todo_opt_arr = $opt_nosel_id_arr;
if (!empty($todo_opt_arr)) { if (!empty($todo_opt_arr)) {
foreach ($todo_opt_arr as $val) { foreach ($todo_opt_arr as $val) {
$sql4 = "select o.base_floor, o.base_floor_plus, o.price, r.equipment from option_mi o, elevator_quotation_rule r "; $sql4 = "select o.base_floor, o.base_floor_plus, o.price, r.equipment, p.price 'OP' ";
$sql4 .= "where o.quotation_no = r.quotation_no and o.option_price_id = ".$opt_elev_arr[$val]["price_id"]." "; $sql4 .= "from option_mi o, elevator_quotation_rule r, option_price p ";
$sql4 .= "where o.quotation_no = r.quotation_no and o.option_price_id = p.id ";
$sql4 .= "and o.option_price_id = ".$opt_elev_arr[$val]["price_id"]." ";
$sql4 .= "and ($v[item_weight] between o.min_weight and o.max_weight) and o.open_kind = '".$v["item_op"]."'"; $sql4 .= "and ($v[item_weight] between o.min_weight and o.max_weight) and o.open_kind = '".$v["item_op"]."'";
$res_om = mysqli_query($link, $sql4); $res_om = mysqli_query($link, $sql4);
if ($row_om = mysqli_fetch_assoc($res_om)) { if ($row_om = mysqli_fetch_assoc($res_om)) {
@ -252,6 +257,7 @@ try {
// 特例 // 特例
if ($opt_elev_arr[$val]["price_id"] == "256" && ($v["floors"] < $row_om["base_floor"])) $row_om["price"] = 9815; if ($opt_elev_arr[$val]["price_id"] == "256" && ($v["floors"] < $row_om["base_floor"])) $row_om["price"] = 9815;
if ($opt_elev_arr[$val]["price_id"] == "266" && $v["floors"] >= 20) $plus += 44.8; // 15层,14.6元/层(19层内,跳20层再追加44.8元) if ($opt_elev_arr[$val]["price_id"] == "266" && $v["floors"] >= 20) $plus += 44.8; // 15层,14.6元/层(19层内,跳20层再追加44.8元)
if ($row_om["price"] == 0) $row_om["price"] = $row_om["OP"]*0.6; // 實體且沒成本的:抓牌價6成
// 含此option的電梯總台數 // 含此option的電梯總台數
$myelev_qty = 0; $myelev_qty = 0;
foreach ($opt_elev_arr[$val]["elev_no"] as $pval) { foreach ($opt_elev_arr[$val]["elev_no"] as $pval) {
@ -273,10 +279,18 @@ try {
// 保固延長 // 保固延長
$mnarr = []; $mnarr = [];
$mn_fee = $j = 0; $mn_fee = $j = 0;
if (!empty($v["mn"][0])) { $todo_mn_arr = $v["mn"];
foreach ($v["mn"] as $val) { if (!empty($todo_mn_arr[0])) {
foreach ($todo_mn_arr as $val) {
$mn_amt = 0; $mn_amt = 0;
$mnarr[$j][0] = $mn_arr[$val]["item_spec"]."保養費"; // 含此保延的電梯總台數
$myelev_qty = 0;
foreach ($mn_elev_arr[$val]["elev_no"] as $pval) {
$myelev_qty += $elev_arr[$pval]["item_qty"];
}
// 分配:延保總價除以電梯總台數
$mn_amt += round(0+($mn_elev_arr[$val]["item_price_bp"]/$myelev_qty), 0);
$mnarr[$j][0] = $mn_elev_arr[$val]["item_spec"]."保養費";
$mnarr[$j][1] = $mn_amt; $mnarr[$j][1] = $mn_amt;
$mn_fee += $mn_amt; $mn_fee += $mn_amt;
$j++; $j++;

Loading…
Cancel
Save