Browse Source

獎金計算+新梯價審

gary
Cheng 1 year ago
parent
commit
e15136d97c
  1. 59
      wms/bonus/api/postCalBouns.php
  2. 2
      wms/bonus/bonus.php
  3. 4
      wms/bonus/bonus_index1.php
  4. 20
      wms/contract-repair/js/alpine.js
  5. 5
      wms/mkt/pricereview-check.php
  6. 15
      wms/mkt/pricereview-create.php
  7. 41
      wms/mkt/pricereview-edit.php
  8. 12
      wms/mkt/pricereview-record-submit.php
  9. 2
      wms/mkt/pricereview_mi-api.php

59
wms/bonus/api/postCalBouns.php

@ -51,7 +51,7 @@ if (!empty($_POST)) {
if ($checkbox == 13) {
// 保養獎金計算
$result = maintenance_contract_bonus_v2_1(
$results = maintenance_contract_bonus_v2_1(
$bonuns_verson,
$clientType[$client_type],
$paykind[$pay_kind],
@ -63,20 +63,49 @@ if (!empty($_POST)) {
$manager,
$contract_manger
);
if ($results['result_status'] != 'error') {
array_push($bonus_json, [
'maintain_type' => $maintain_type,
'total' => $maintain_price_month,
'fee_per_st' => $maintain_price_total,
'commission_fee' => $commission_fee,
'paykind' => $paykind[$pay_kind],
'receivable_date_due' => $pay_day,
]);
}
// $result = [
// $bonuns_verson,
// $clientType[$client_type],
// $paykind[$pay_kind],
// $maintain_price_month,
// $maintain_price_total,
// $commission_fee,
// $pay_day,
// $receiver,
// $manager,
// $contract_manger
// ];
// echo json_encode($result);
if (!empty($_POST['status']) && $_POST['status'] == 'save') {
foreach ($results['bonus_array'] as $i => $result) {
// echo '<pre>';
// print_r($result);
// echo '</pre>';
$bonus_type = $result['bonus_type'];
$pay_day = $result['pay_day_due'];
$amount = $result['bonus_amount'];
$receiver = $result['bonus_receiver'];
$discount = $result['discount'];
foreach ($bonus_json as $json) {
$json['discount'] = "$discount";
$a = json_encode($json);
}
echo '<pre>';
print_r($a);
echo '</pre>';
// exit();
// $sql = "INSERT INTO bonus
// (bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,pay_day,status,bonus_json,create_id,create_at) VALUES
// ($bonus_type,'$bonus_verson','$contract_no',$contract_type,'$facility_no',$amount,'$receiver','$pay_day',$status,'$a','$create_id','$create_at')";
// $stmt = $conn->prepare($sql);
// $stmt->execute();
// $count++;
// echo '<pre>';
// print_r($count . '-- > Success');
// echo '</pre>';
// exit;
}
} else {
header('Content-Type: application/json');
echo json_encode($result);
echo json_encode($results);
}
}
}

2
wms/bonus/bonus.php

@ -102,7 +102,7 @@ WHERE c.checkBillNo = '$checkBillNo'
<!-- <input type="button" hidden x-ref="initbtn" @click="isPay()" /> -->
<div style="overflow-x:auto;margin-top:12px">
<a class="btn btn-info btn-sm">
<a href="bonus_index1.php?function_name=bonus&token=<?php echo $token; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-plus"></span>
</a>
<a href="/wms/bonus/bonus.php?function_name=bonus&token=<?php echo $token; ?>" class=" btn <?php echo (!isset($_GET['check'])) ? "btn btn-primary" : "btn-secondary"; ?> btn-sm categoryBtn"> 所有獎金</a>

4
wms/bonus/bonus_index1.php

@ -345,14 +345,14 @@ require_once('../contract-repair/conn.php');
</template>
</table>
<!-- <button x-show="" @click="save()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn">
<button x-show="step == 3" @click="save()" :disabled="isLoading" type="button" class="btn btn-primary btn-lg pull-right savebtn">
<template x-if="!isLoading">
<span>存檔</span>
</template>
<template x-if="isLoading">
<div class="loader"></div>
</template>
</button> -->
</button>
<button x-show="step<=2" @click="nextStepFn()" type="button" class="btn btn-primary btn-lg pull-right savebtn" :disabled="isLoading">
<template x-if="!isLoading">
<span>下一步</span>

20
wms/contract-repair/js/alpine.js

@ -1087,14 +1087,26 @@ const bonunsIndexTest = () => {
// })
},
save() {
if (this.step == 1) {
if (this.step == 3) {
const form = new FormData();
form.append('contract_no', this.data.contract_no);
form.append('status', 'save');
form.append('checkbox', this.data.checkbox);
form.append('bonuns_verson', this.data.bonus_verson);
form.append('contract_type', this.data.contract_type);
form.append('maintain_month', this.data.maintain_month);
form.append('maintain_price_total', this.data.maintain_price_total);
form.append('payDay', this.data.payDay);
axios.post('./api/updateBonus.php', form).then(res => {
form.append('receiver', this.data.receiver);
form.append('manager', this.data.manager);
form.append('paykind', this.data.paykind);
form.append('contract_manger', this.data.contract_manger);
form.append('maintain_price_month', this.data.maintain_price_month);
form.append('commission_fee', this.data.commission_fee);
form.append('client_type', this.data.client_type);
axios.post('./api/postCalBouns.php', form).then(res => {
console.log(res.data);
}).catch(err => {
console.log(err.response.data);
})
}
},

5
wms/mkt/pricereview-check.php

@ -205,6 +205,7 @@ foreach ($res as $data) {
}
mysqli_free_result($res_spec);
} elseif ($row['item_group'] == "B") {
$option_arr[$row['item_no']]['price_id'] = $row['price_id'];
$option_arr[$row['item_no']]['item_spec'] = $row['item_spec'];
$option_arr[$row['item_no']]['item_unit_price'] = $row['item_unit_price'];
$option_arr[$row['item_no']]['item_qty'] = $row['item_qty'];
@ -641,6 +642,7 @@ foreach ($res as $data) {
</tr>
<tr>
<th nowrap>項次</th>
<th>OPTION ID</th>
<th>選配規格</th>
<th>單價</th>
<th>數量</th>
@ -663,6 +665,7 @@ foreach ($res as $data) {
?>
<tr>
<td><?php echo $idx; ?></td>
<td><?php echo $val['price_id'] ?></td>
<td><input type="text" name="option_seat" class="form-control" size="30" value="<?= str_replace("()", "", str_replace("&amp;", "", str_replace("&lt;br&gt;", "", str_replace("&amp;lt;br&amp;gt;", "", $val['item_spec'])))); ?>"></td>
<td><input type="text" name="option_unit_price" class="form-control dollar-right" size="8" value="<?= number_format($val["item_unit_price"]); ?>"></td>
<td><input type="text" name="option_qty" class="form-control" size="2" value="<?= number_format($val["item_qty"]); ?>"></td>
@ -676,7 +679,7 @@ foreach ($res as $data) {
?>
<?php if ($total_qty > 0) : ?>
<tr>
<td colspan="4">小計</td>
<td colspan="5">小計</td>
<td colspan="3"><input type="text" name="option_amt" id="option_amt" class="form-control dollar-right" size="8" value="<?= number_format($item_amt_B_all); ?>"></td>
</tr>
<?php endif; ?>

15
wms/mkt/pricereview-create.php

@ -1931,6 +1931,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
</tr>
<tr>
<th>選配規格</th>
<th>OPTION ID</th>
<th>單價</th>
<th>數量</th>
<th>複價</th>
@ -1959,8 +1960,9 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
<a href="" name="option_href" data-toggle="modal"><?php echo $v["item_spec"]; ?></a>
<?php } ?>
</td>
<td><input type="text" name="option_price_id" class="form-control dollar-right" size="8" value="<?php echo $v['price_id']; ?>" readonly></td>
<td><input type="text" name="option_unit_price" class="form-control dollar-right" size="8" value="<?php echo number_format($v["item_unit_price"]); ?>" readonly></td>
<td><input type="text" name="option_qty" class="form-control" size="2" maxlength="2" value="<?php echo $v["item_qty"]; ?>"></td>
<td><input type="text" name="option_qty" class="form-control" size="3" maxlength="3" value="<?php echo $v["item_qty"]; ?>"></td>
<td><input type="text" name="option_price_bp" class="form-control dollar-right" size="8" value="<?php echo number_format($v["item_price_bp"]); ?>" readonly>
<input type="hidden" name="item_group" value="B"><input type="hidden" name="op_id" value="<?php echo $v["id"]; ?>">
</td>
@ -1979,8 +1981,9 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
<td name="option_seat">
<a href="" name="option_href" data-toggle="modal"><?php echo (isset($v["seat"])) ? $v["seat"] : ""; ?></a>
</td>
<td><input type="text" name="option_price_id" class="form-control dollar-right" size="8" value="<?php echo isset($v['price_id']) ? $v['price_id'] : ''; ?>" readonly></td>
<td><input type="text" name="option_unit_price" class="form-control dollar-right" size="8" value="<?php echo (isset($v["option_price"])) ? number_format($v["option_price"]) : 0; ?>" readonly></td>
<td><input type="text" name="option_qty" class="form-control" size="2" maxlength="2" value="<?php echo (isset($v["option_num"])) ? $v["option_num"] : 0; ?>"></td>
<td><input type="text" name="option_qty" class="form-control" size="3" maxlength="3" value="<?php echo (isset($v["option_num"])) ? $v["option_num"] : 0; ?>"></td>
<td><input type="text" name="option_price_bp" class="form-control dollar-right" size="8" value="<?php echo (isset($v["option_price"]) && isset($v["option_num"])) ? number_format($v["option_price"] * $v["option_num"]) : 0; ?>" readonly>
<input type="hidden" name="item_group" value="B">
<input type="hidden" name="op_id" class="optionshow" value="<?php echo isset($v['id']) ? $v['id'] : ""; ?>">
@ -2002,8 +2005,9 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
<td name="option_seat">
<a href="" name="option_href" data-toggle="modal" @click="searchtext = ''">點選</a>
</td>
<td><input type="text" name="option_price_id" class="form-control dollar-right" size="8" value="<?php echo isset($v['price_id']) ? $v['price_id'] : ''; ?>" readonly></td>
<td><input type="text" name="option_unit_price" class="form-control dollar-right" size="8" value="<?php echo (isset($v["option_price"])) ? number_format($v["option_price"]) : 0; ?>" readonly></td>
<td><input type="text" name="option_qty" class="form-control" size="2" maxlength="2" value="<?php echo (isset($v["option_num"])) ? $v["option_num"] : 0; ?>"></td>
<td><input type="text" name="option_qty" class="form-control" size="3" maxlength="3" value="<?php echo (isset($v["option_num"])) ? $v["option_num"] : 0; ?>"></td>
<td><input type="text" name="option_price_bp" class="form-control dollar-right" size="8" value="<?php echo (isset($v["option_price"]) && isset($v["option_num"])) ? number_format($v["option_price"] * $v["option_num"]) : 0; ?>" readonly>
<input type="hidden" name="item_group" value="B">
<input type="hidden" name="op_id" value="">
@ -2016,7 +2020,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
</tr>
<?php } ?>
<tr>
<td colspan="3">小計</td>
<td colspan="4">小計</td>
<td colspan="4"><input type="text" name="option_amt" id="option_amt" class="form-control dollar-right" size="8" readonly></td>
</tr>
</tbody>
@ -2519,7 +2523,6 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
<input type="hidden" name="option_price_bp_all" id="option_price_bp_all">
<input type="hidden" name="option_memo_all" id="option_memo_all">
<input type="hidden" name="option_relate_facil_all" id="option_relate_facil_all">
<input type="hidden" name="Exclusions_all" id="Exclusions_all">
<input type="hidden" name="mn_id_all" id="mn_id_all">
<input type="hidden" name="mn_kind_all" id="mn_kind_all">
<input type="hidden" name="mn_seat_all" id="mn_seat_all">
@ -2535,6 +2538,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
<input type="hidden" name="except_unit_price_all" id="except_unit_price_all">
<input type="hidden" name="except_qty_all" id="except_qty_all">
<input type="hidden" name="except_price_bp_all" id="except_price_bp_all">
<input type="hidden" name="Exclusions_all" id="Exclusions_all">
<input type="hidden" name="pmstatus">
<input type="hidden" name="case_name" value="<?php echo $case_name; ?>">
<input type="hidden" name="token" value="<?php echo $token; ?>">
@ -2559,6 +2563,7 @@ include "../footer.php";
let sepc = pobj.find('td').eq(2).html() + '<br />(' + pobj.find('td').eq(3).html() + ')';
sepc = sepc.replace("()", "")
jobj.html(pobj.find('td').eq(1).html() + " ");
jobj.closest('td').parent().find('input[name=option_price_id]').val(pobj.find('td').eq(0).html());
jobj.closest('td').parent().find('input[name=option_unit_price]').val(pobj.find('td').eq(6).html());
jobj.closest('td').parent().find('input[name=option_price_bp]').val(commafy(pobj.find('td').eq(6).html().replace(/[,]+/g, "") * jobj.closest('td').parent().find('input[name=option_qty]').val().replace(/[,]+/g, "")));
jobj.closest('td').parent().find('input[name=op_id]').val(pobj.find('td').eq(0).html());

41
wms/mkt/pricereview-edit.php

@ -68,6 +68,7 @@ foreach ($res as $data) {
$ex_arr[$row['item_no']]['item_qty'] = $row['item_qty'];
$ex_arr[$row['item_no']]['item_price_bp'] = $row['item_price_bp'];
$ex_arr[$row['item_no']]['note'] = $row['note']; // 詢價單號
$ex_arr[$row['item_no']]['option_relate_spec'] = $row['option_relate_spec'];
}
}
mysqli_free_result($res_i);
@ -653,7 +654,7 @@ foreach ($res as $data) {
$('#btnadd3').click(function() {
$('#tb3 tr:last').prev().after($("tr[name='except_templ']").last().clone().find('input').val('').end());
$("tr[name='except_templ']").last().find('input[name=except_act]').val('I');
$('#tb3 tr:last').prev().find('td[name=Exclusions]').html('');
$('#tb3 tr:last').prev().find('td[name=ex_relate_facil]').html('');
//$('#tb3 tr:last').prev().find('td').first().html($("tr[name='except_templ']").length);
//$('#tb3 tr:last').prev().find('td').eq(1).find('a').attr('id', $("tr[name='except_templ']").length);
@ -683,6 +684,7 @@ foreach ($res as $data) {
$("#optionModal .modal-body td").unbind().click(function() {
var pobj = $(this).closest('td').parent();
jobj.html(pobj.find('td').eq(0).html() + ' ' + pobj.find('td').eq(1).html());
jobj.closest('td').parent().find('input[name=option_price_id]').val(pobj.find('input[name=option_id]').val());
jobj.closest('td').parent().find('input[name=option_unit_price]').val(pobj.find('td').eq(5).html());
jobj.closest('td').parent().find('input[name=option_price_bp]').val(commafy(pobj.find('td').eq(5).html().replace(/[,]+/g, "") * jobj.closest('td').parent().find('input[name=option_qty]').val().replace(/[,]+/g, "")));
jobj.closest('td').parent().find('input[name=op_id]').val(pobj.find('input[name=option_id]').val());
@ -1065,10 +1067,17 @@ foreach ($res as $data) {
})
$('#mn_memo_all').val(mnMemoArr);
var mnRelateFacilArr = [];
$("td[name='mn_relate_facil']").each(function() {
mnRelateFacilArr.push($(this).html().trim());
})
$('#mn_relate_facil_all').val(mnRelateFacilArr);
var exRelateFacilArr = [];
$("td[name='ex_relate_facil']").each(function() {
exRelateFacilArr.push($(this).html().trim());
})
$('#ex_relate_facil_all').val(exRelateFacilArr);
var exNoteArr = [];
$("input[name='except_note']").each(function() {
exNoteArr.push($(this).val());
@ -1148,6 +1157,13 @@ foreach ($res as $data) {
});
if ((rv === false)) return rv;
$("td[name='ex_relate_facil']").each(function() {
if ($(this).closest('td').parent().find('select[name=except_qty').val() != '0' && $(this).html() == "") {
alert("【所屬電梯】資料空白!\n請至 保固延長區 點選紅色按鈕「電梯」並勾選項目。");
location.href = '#btnadd3';
return rv2 = false;
}
})
var rv2 = true;
$("td[name='mn_relate_facil']").each(function() {
if ($(this).closest('td').parent().find('select[name=mn_kind').val() != '' && $(this).html() == "") {
@ -1384,6 +1400,7 @@ foreach ($res as $data) {
</tr>
<tr>
<th>選配規格</th>
<th>OPTION ID</th>
<th>單價</th>
<th>數量</th>
<th>複價</th>
@ -1408,6 +1425,7 @@ foreach ($res as $data) {
<td name="option_seat">
<a href="" name="option_href" data-toggle="modal"><?php echo $v["item_spec"]; ?></a>
</td>
<td><input type="text" name="option_price_id" class="form-control dollar-right" size="8" value="<?php echo $v['op_id']; ?>" readonly></td>
<td><input type="text" name="option_unit_price" class="form-control dollar-right" size="8" value="<?php echo number_format($v["item_unit_price"]); ?>" readonly></td>
<td><input type="text" name="option_qty" class="form-control" size="2" maxlength="2" value="<?php echo $v["item_qty"]; ?>"></td>
<td><input type="text" name="option_price_bp" class="form-control dollar-right" size="8" value="<?php echo number_format($v["item_price_bp"]); ?>" readonly>
@ -1441,6 +1459,7 @@ foreach ($res as $data) {
<td name="option_seat">
<a href="" name="option_href" data-toggle="modal">點選</a>
</td>
<td><input type="text" name="option_price_id" class="form-control dollar-right" size="8" readonly></td>
<td><input type="text" name="option_unit_price" class="form-control dollar-right" size="8" readonly></td>
<td><input type="text" name="option_qty" class="form-control" size="2" maxlength="2"></td>
<td><input type="text" name="option_price_bp" class="form-control dollar-right" size="8" readonly>
@ -1459,7 +1478,7 @@ foreach ($res as $data) {
}
?>
<tr>
<td colspan="3">小計</td>
<td colspan="4">小計</td>
<td colspan="4"><input type="text" name="option_amt" id="option_amt" class="form-control dollar-right" size="8" readonly></td>
</tr>
</tbody>
@ -1505,8 +1524,19 @@ foreach ($res as $data) {
<!-- <a href="javascript:void(0);" name="btndel3" class="btn btn-danger btn-sm">X</a> -->
</td>
<td name='Exclusions'></td>
<td name="mn_relate_facil" nowrap>
<td name='Exclusions'>
<?php
if (!empty($v['option_relate_spec'])) {
$tmp_arr = explode(",", $v['option_relate_spec']);
foreach ($tmp_arr as $val) {
if (!empty($item_arr[$val]['item_spec'])) {
echo $val . "." . $item_arr[$val]['item_spec'] . "<br>";
}
}
}
?>
</td>
<td name="ex_relate_facil" nowrap>
<input type="hidden" name="item_group" value="E">
<a href="javascript:void(0);" name="btnfaci" class="btn btn-danger btn-sm">電梯</a>
@ -1528,7 +1558,7 @@ foreach ($res as $data) {
<!-- <a href="javascript:void(0);" name="btndel3" class="btn btn-danger btn-sm">X</a> -->
</td>
<td name='Exclusions'></td>
<td name="mn_relate_facil">
<td name="ex_relate_facil">
<a href="javascript:void(0);" name="btnfaci" class="btn btn-danger btn-sm">電梯</a>
<a href="javascript:void(0);" name="btndel3" class="btn btn-danger btn-sm">X</a>
</td>
@ -2010,6 +2040,7 @@ foreach ($res as $data) {
<input type="hidden" name="mn_price_bp_all" id="mn_price_bp_all">
<input type="hidden" name="mn_memo_all" id="mn_memo_all">
<input type="hidden" name="mn_relate_facil_all" id="mn_relate_facil_all">
<!-- <input type="hidden" name="ex_relate_facil_all" id="ex_relate_facil_all"> -->
<input type="hidden" name="except_note_all" id="except_note_all">
<input type="hidden" name="except_spec_all" id="except_spec_all">
<input type="hidden" name="except_unit_price_all" id="except_unit_price_all">

12
wms/mkt/pricereview-record-submit.php

@ -1,19 +1,21 @@
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// echo '<pre>';
// print_r($_POST);
// echo '</pre>';
// exit;
foreach ($_POST as $k => $v) {
$$k = htmlspecialchars(stripslashes(trim($v)));
}
// $except_relate_facil_arr = explode(",", htmlspecialchars_decode($Exclusions_all));
// echo '<pre>';
// print_r($except_relate_facil_arr);
// echo '</pre>';
// exit;
// 同客戶同電梯不能重覆價審
/*
$warr = [];
$fp_id_str = "";
$fp_id_arr = explode(",", $fp_id_all);
foreach ($fp_id_arr as $val) {
// foreach ($fp_id_arr as $val) {
if ($val && $val>0) $fp_id_str .= $val.",";
}
$fp_id_str = rtrim($fp_id_str, ",");

2
wms/mkt/pricereview_mi-api.php

@ -225,6 +225,7 @@ try {
WHERE elevator_mi_option.elevator_type = :elevator_type AND
elevator_mi_option.min_weight = :min_weight AND elevator_mi_option.min_speed = :speed
AND elevator_mi_option.quotation_no = :quotation_no";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':elevator_type', $elevator_type);
$stmt->bindParam(':speed', $speed);
@ -232,6 +233,7 @@ try {
$stmt->bindParam(':quotation_no', $quotation_no);
$stmt->execute();
$row_e = $stmt->fetch(PDO::FETCH_ASSOC);
// $sql2 = "select o.*, r.* from elevator_mi_option o, elevator_quotation_rule r ";
// $sql2 .= "where o.quotation_no = r.quotation_no and o.elevator_type = '" . $v['etype'] . "' ";
// $sql2 .= "and ($v[item_weight] between o.min_weight and o.max_weight) ";

Loading…
Cancel
Save