Cheng 1 year ago
parent
commit
d931e568b0
  1. 63
      wms/account-receivable-index.php
  2. 4
      wms/contract/api/postContractNewApplyData.php
  3. 49
      wms/contract/contract-new-apply.php
  4. 7
      wms/contract/insertData.php
  5. 14
      wms/contract/js/alpine.js
  6. 16
      wms/mkt/pricereview-check.php
  7. 41
      wms/mkt/pricereview-create.php
  8. 5
      wms/mkt/pricereview-edit.php
  9. 2
      wms/mkt/pricereview_mi-api.php
  10. 60
      wms/rib-invoice-check.php
  11. 20
      wms/rib02-create.php
  12. 19
      wms/rib02-edit.php
  13. 9
      wms/rib02-submit.php

63
wms/account-receivable-index.php

@ -846,6 +846,8 @@ $excel_aray = array();
$boga_array = array();
$exclude_boga_array = array();
$facility_array = array();
$facility_boga_array = array();
$facility_exclude_boga_array = array();
foreach ($arrayData as $key => $value) {
$value['sign'][3] = (isset($value['sign'][3])) ? $value['sign'][3] : 0;
$value['second'][3] = (isset($value['second'][3])) ? $value['second'][3] : 0;
@ -927,19 +929,43 @@ foreach ($arrayData as $key => $value) {
$val['final'][0], $val['final'][1], $val['final'][2], $val['final'][3], $val['final'][4], $val['final'][5], $val['final'][6],
str_replace('<br>', '; ', $val['status']), $val['total_budget'], $val['receivable_budget']
];
if ($value['sign'][0] == "寶佳出貨前30天") {
$facility_boga_array[$valkey] = [
$valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6],
$val['sign'][0], $val['sign'][1], $val['sign'][2], $val['sign'][3], $val['sign'][4], $val['sign'][5], $val['sign'][6],
$val['second'][0], $val['second'][1], $val['second'][2], $val['second'][3], $val['second'][4], $val['second'][5], $val['second'][6],
$val['arrive'][0], $val['arrive'][1], $val['arrive'][2], $val['arrive'][3], $val['arrive'][4], $val['arrive'][5], $val['arrive'][6],
$val['install'][0], $val['install'][1], $val['install'][2], $val['install'][3], $val['install'][4], $val['install'][5], $val['install'][6],
$val['tryrun'][0], $val['tryrun'][1], $val['tryrun'][2], $val['tryrun'][3], $val['tryrun'][4], $val['tryrun'][5], $val['tryrun'][6],
$val['check'][0], $val['check'][1], $val['check'][2], $val['check'][3], $val['check'][4], $val['check'][5], $val['check'][6],
$val['delivery'][0], $val['delivery'][1], $val['delivery'][2], $val['delivery'][3], $val['delivery'][4], $val['delivery'][5], $val['delivery'][6],
$val['final'][0], $val['final'][1], $val['final'][2], $val['final'][3], $val['final'][4], $val['final'][5], $val['final'][6],
str_replace('<br>', '; ', $val['status']), $val['total_budget'], $val['receivable_budget']
];
} else {
$facility_exclude_boga_array[$valkey] = [
$valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6],
$val['sign'][0], $val['sign'][1], $val['sign'][2], $val['sign'][3], $val['sign'][4], $val['sign'][5], $val['sign'][6],
$val['second'][0], $val['second'][1], $val['second'][2], $val['second'][3], $val['second'][4], $val['second'][5], $val['second'][6],
$val['arrive'][0], $val['arrive'][1], $val['arrive'][2], $val['arrive'][3], $val['arrive'][4], $val['arrive'][5], $val['arrive'][6],
$val['install'][0], $val['install'][1], $val['install'][2], $val['install'][3], $val['install'][4], $val['install'][5], $val['install'][6],
$val['tryrun'][0], $val['tryrun'][1], $val['tryrun'][2], $val['tryrun'][3], $val['tryrun'][4], $val['tryrun'][5], $val['tryrun'][6],
$val['check'][0], $val['check'][1], $val['check'][2], $val['check'][3], $val['check'][4], $val['check'][5], $val['check'][6],
$val['delivery'][0], $val['delivery'][1], $val['delivery'][2], $val['delivery'][3], $val['delivery'][4], $val['delivery'][5], $val['delivery'][6],
$val['final'][0], $val['final'][1], $val['final'][2], $val['final'][3], $val['final'][4], $val['final'][5], $val['final'][6],
str_replace('<br>', '; ', $val['status']), $val['total_budget'], $val['receivable_budget']
];
}
}
// foreach($facility_array as $key=>$value){
// echo $key;
// echo '<br>';
// print_r($value);
// echo '<br><br>';
// }
}
$data = json_encode($excel_aray);
$boga_data = json_encode($boga_array);
$exclude_boga_data = json_encode($exclude_boga_array);
$facility_data = json_encode($facility_array);
$facility_boga_data = json_encode($facility_boga_array);
$facility_exclude_boga_data = json_encode($facility_exclude_boga_array);
?>
<style>
@ -979,13 +1005,33 @@ $facility_data = json_encode($facility_array);
}
</style>
<!-- <div style="width: 98%;margin: 1%;">
<div class="btn-group btn-group-lg " style="padding:10 px;">
<button type="button" onclick="downloadData()" class="btn btn-success">全部<span class="glyphicon glyphicon-download-alt"></span></button>
<button type="button" onclick="exclude_bogaData()" class="btn btn-info">不含寶佳<span class="glyphicon glyphicon-download-alt"></span></button>
<button type="button" onclick="bogaData()" class="btn btn-warning">寶佳<span class="glyphicon glyphicon-download-alt"></span></button>
</div>
<div style="padding: 10px;">
<button type="button" onclick="downloadFacilityData()" class="btn btn-primary btn-lg">合約作番明細<span class="glyphicon glyphicon-download-alt"></span></button>
</div>
<div style="width: 98%;margin: 1%;">
<div class="btn-group btn-group-lg">
<button type="button" onclick="downloadFacilityData()" class="btn btn-success btn-lg">合約作番明細<span class="glyphicon glyphicon-download-alt"></span></button>
<button type="button" onclick="downloadFacilityBogaData()" class="btn btn-info btn-lg">寶佳合約作番明細<span class="glyphicon glyphicon-download-alt"></span></button>
<button type="button" onclick="downloadFacilityExcludeBogaData()" class="btn btn-warning btn-lg">不含寶佳合約作番明細<span class="glyphicon glyphicon-download-alt"></span></button>
</div>
</div> -->
<div class="btn-group" role="group">
<div class="btn-group" role="group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
合約
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><button type="button" onclick="downloadData()" class="btn btn-success">全部<span class="glyphicon glyphicon-download-alt"></span></button></li>
<li><button type="button" onclick="exclude_bogaData()" class="btn btn-info">不含寶佳<span class="glyphicon glyphicon-download-alt"></span></button></li>
<li><button type="button" onclick="bogaData()" class="btn btn-warning">寶佳<span class="glyphicon glyphicon-download-alt"></span></button></li>
</ul>
</div>
</div>
<div>
<?php
@ -1175,6 +1221,7 @@ $facility_data = json_encode($facility_array);
}));
}
function downloadFacilityData() {
var xhr = new XMLHttpRequest();
var url = window.location.origin + "/wms/account-receivable-excel.php?type=facility&<?= $token_link ?>";

4
wms/contract/api/postContractNewApplyData.php

@ -31,6 +31,7 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] ==
$contact_address = $_POST['address'];
$workdeadline_a = $_POST['workdeadline_a'];
$workdeadline_b = $_POST['workdeadline_b'];
$workdeadline_note = $_POST['workdeadline_note'];
$test_time = $_POST['regulations'];
$freedeadline = $_POST['freedeadline'];
$trade_address = $_POST['tradeaddress'];
@ -162,7 +163,7 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] ==
header("HTTP/1.1 201 success!");
$conn->commit();
} else {
$sql_str = "UPDATE contract_new_apply SET status = :status, apply_date=:apply_date, apply_type=:apply_type, case_name=:case_name, customer=:customer, manager=:manager, vat=:vat, total_price=:total_price, total_items=:total_items, buy_fee=:buy_fee, install_fee=:install_fee, contact_address=:contact_address, trade_address=:trade_address, workdeadline_a=:workdeadline_a, workdeadline_b=:workdeadline_b, test_time=:test_time, freedeadline=:freedeadline, trade_address=:trade_address, trade_address=:trade_address, tradedeadline=:tradedeadline, secondPayDeadline=:secondPayDeadline, progress=:progress, person=:person, personname=:personname, submit_date=:submit_date, updated_at=:updated_at, updated_by=:updated_by, description=:description WHERE mid = :mid";
$sql_str = "UPDATE contract_new_apply SET status = :status, apply_date=:apply_date, apply_type=:apply_type, case_name=:case_name, customer=:customer, manager=:manager, vat=:vat, total_price=:total_price, total_items=:total_items, buy_fee=:buy_fee, install_fee=:install_fee, contact_address=:contact_address, trade_address=:trade_address, workdeadline_a=:workdeadline_a, workdeadline_b=:workdeadline_b, workdeadline_note=:workdeadline_note, test_time=:test_time, freedeadline=:freedeadline, trade_address=:trade_address, trade_address=:trade_address, tradedeadline=:tradedeadline, secondPayDeadline=:secondPayDeadline, progress=:progress, person=:person, personname=:personname, submit_date=:submit_date, updated_at=:updated_at, updated_by=:updated_by, description=:description WHERE mid = :mid";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':mid', $mid);
$stmt->bindParam(':status', $status);
@ -179,6 +180,7 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] ==
$stmt->bindParam(':contact_address', $contact_address);
$stmt->bindParam(':workdeadline_a', $workdeadline_a);
$stmt->bindParam(':workdeadline_b', $workdeadline_b);
$stmt->bindParam(':workdeadline_note', $workdeadline_note);
$stmt->bindParam(':test_time', $test_time);
$stmt->bindParam(':freedeadline', $freedeadline);
$stmt->bindParam(':trade_address', $trade_address);

49
wms/contract/contract-new-apply.php

@ -140,7 +140,7 @@ $person = $contract['person'];
<!-- <input class="form-control disabled_select" type="text" x-model="data.vol_no" > -->
<!-- <p class="alerttext" x-show="data.vol_no==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p> -->
</td>
<td style="vertical-align: middle">統一編號</td>
<td style="vertical-align: middle">統一編號/身分證字號</td>
<td>
<input class="form-control disabled_select" type="text" x-model="data.vat" disabled >
<p class="alerttext" x-show="data.vat==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
@ -198,27 +198,20 @@ $person = $contract['person'];
<input class="form-control disabled_select" type="text" x-model="data.address" disabled>
<p class="alerttext" x-show="data.address==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">完工期限</td>
<td style="vertical-align: middle">免保期限</td>
<td style="vertical-align: middle" colspan=3>
<div class="ui labeled input">
<input type="text" placeholder="18" style="width:45px;padding:0 12px;" x-model="data.freedeadline">
<div class="ui label">
貨抵工地
</div>
<input type="text" placeholder="30" style="width:45px;padding:0 12px;" x-model="data.workdeadline_a">
<div class="ui label">
天內安裝完成,甲方應於貨底工地前
</div>
<input type="text" placeholder="7" style="width:45px;padding:0 12px;" x-model="data.workdeadline_b">
<div class="ui label">
天完成並整理完善。
個月
</div>
</div>
<!-- <input class="form-control disabled_select" type="text" x-model="data.deadline" > -->
<p class="alerttext" x-show="data.deadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
<p class="alerttext" x-show="data.freedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
<tr>
<td style="vertical-align: middle">附則</td>
<!-- <td style="vertical-align: middle">附則</td>
<td style="vertical-align: middle" colspan=3>
<div class="ui labeled input">
<div class="ui label">
@ -230,16 +223,21 @@ $person = $contract['person'];
</div>
</div>
<p class="alerttext" x-show="data.regulations==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">免保期限</td>
<td style="vertical-align: middle" colspan=3>
</td> -->
<td style="vertical-align: middle">完工期限</td>
<td style="vertical-align: middle" colspan=7>
<div class="ui labeled input">
<input type="text" placeholder="18" style="width:45px;padding:0 12px;" x-model="data.freedeadline">
<div class="ui label">
個月
乙方應於貨抵工地後每台
</div>
<input type="text" placeholder="30" style="width:45px;padding:0 12px;" x-model="data.workdeadline_a">
<div class="ui label">
日內安裝完成
</div>
<div class="note label" x-show="data.workdeadline_note && data.workdeadline_note != 'null'" style="font-size:14px;color:#BD0606" x-text="'說明:' + data.workdeadline_note"></div>
</div>
<p class="alerttext" x-show="data.freedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
<!-- <input class="form-control disabled_select" type="text" x-model="data.deadline" > -->
<p class="alerttext" x-show="data.deadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
@ -255,7 +253,7 @@ $person = $contract['person'];
<div class="ui label">
圖色確認第
</div>
<input type="text" placeholder="90" style="width:45px;padding:0 12px;" x-model="data.tradedeadline">
<input type="text" placeholder="180" style="width:60px;padding:0 12px;" x-model="data.tradedeadline">
<div class="ui label">
天出貨
</div>
@ -288,15 +286,14 @@ $person = $contract['person'];
<td style="vertical-align: middle"><p x-text="idx+1"></p></td>
<td colspan="3" style="vertical-align: middle">
<input class="form-control disabled_select lock" type="text" x-model="item.item_spec" >
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
<p class="alerttext" x-show="data.item_spec==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td style="vertical-align: middle">
<span x-text="item.item_qty + '台'" style="padding:0 20px"></span>
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
<td colspan="3" style="vertical-align: middle">
<input class="form-control disabled_select lock" type="number" x-model="item.item_price_ct" >
<p class="alerttext" x-show="data.tradedeadline==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
<p class="alerttext" x-show="data.item_price_ct==''"><i class="fa-solid fa-circle-xmark"></i>未填寫</p>
</td>
</tr>
</template>
@ -633,11 +630,12 @@ $person = $contract['person'];
const pays = [...<?php echo json_encode($pays) ?? []; ?>];
const secondPayDeadline = '';
const tradeaddress = '<?php echo $contract['address'] ?? ''; ?>';
const tradedeadline = 90
const tradedeadline = 180
const freedeadline = 18;
const regulations = 10;
const workdeadline_a = 60;
const workdeadline_b = 7;
const workdeadline_note = '';
const total_items = <?php echo $total_items ?? ''; ?>;
const isFirst = <?php echo $isFirst; ?>;
const originfiles = [];
@ -670,6 +668,7 @@ $person = $contract['person'];
const regulations = '<?php echo $contract['test_time'] ?? ''; ?>';
const workdeadline_a = '<?php echo $contract['workdeadline_a'] ?? ''; ?>';
const workdeadline_b = '<?php echo $contract['workdeadline_b'] ?? ''; ?>';
const workdeadline_note = '<?php echo $contract['workdeadline_note'] ?? ''; ?>';
const secondPayDeadline = <?php echo $secondPayDeadline ?? ''; ?>;
const total_items = <?php echo $contract['total_items'] ?? ''; ?>;
const contract_new_apply_id = <?php echo $contract_new_apply_id; ?>;

7
wms/contract/insertData.php

@ -46,10 +46,13 @@ foreach ($sheet->getRowIterator() as $key => $row) {
$memo = $cell->getValue();
echo $memo;
} elseif ($idx == 'E') {
$optional = '';
if ($cell->getValue() == "標配") {
$optional = 1;
} else {
} else if($cell->getValue() == "選配") {
$optional = 2;
}else if($cell->getValue() == "加價") {
$optional = 3;
}
echo $optional;
} elseif ($idx == 'F') {
@ -137,7 +140,7 @@ foreach ($sheet->getRowIterator() as $key => $row) {
$option_price_id = $last_id;
$option_price = $cost;
$quotation_no = 'Q2311001';
$quotation_no = 'Q2401001';
foreach ($open_kind_arr as $kind) {
$min_weight = 1;
$max_weight = 1600;

14
wms/contract/js/alpine.js

@ -1202,6 +1202,7 @@ const contractNewApply = () => {
address: address,
workdeadline_a: workdeadline_a, //完工期限: 幾天內安裝完成,預設30
workdeadline_b: workdeadline_b, //完工期限: 幾天內整理完善,預設7
workdeadline_note: workdeadline_note,
regulations: regulations, //附則
freedeadline: freedeadline, //免保期限(月)
tradeaddress: tradeaddress, //交貨地點
@ -1270,10 +1271,7 @@ const contractNewApply = () => {
alert('試車時間不能低於10天')
return;
}
if (this.data.workdeadline_a < 30) {
alert('安裝時間不能低於30天')
return;
}
this.isLoading = true
const form = new FormData();
form.append('mid', this.data.mid);
@ -1293,6 +1291,7 @@ const contractNewApply = () => {
form.append('address', this.data.address);
form.append('workdeadline_a', this.data.workdeadline_a);
form.append('workdeadline_b', this.data.workdeadline_b);
form.append('workdeadline_note', this.data.workdeadline_note);
form.append('regulations', this.data.regulations);
form.append('freedeadline', this.data.freedeadline);
form.append('tradeaddress', this.data.tradeaddress);
@ -1333,8 +1332,10 @@ const contractNewApply = () => {
return;
}
if (this.data.workdeadline_a < 30) {
alert('安裝時間不能低於30天')
return;
while(this.data.workdeadline_note=='') {
this.data.workdeadline_note = prompt('安裝時間需低於30天,請說明原因')
}
}
this.isLoading = true
const form = new FormData();
@ -1355,6 +1356,7 @@ const contractNewApply = () => {
form.append('address', this.data.address);
form.append('workdeadline_a', this.data.workdeadline_a);
form.append('workdeadline_b', this.data.workdeadline_b);
form.append('workdeadline_note', this.data.workdeadline_note);
form.append('regulations', this.data.regulations);
form.append('freedeadline', this.data.freedeadline);
form.append('tradeaddress', this.data.tradeaddress);

16
wms/mkt/pricereview-check.php

@ -263,6 +263,7 @@ foreach ($res as $data) {
//alert(data.err);
return false;
}
console.log(data.content);
Object.keys(data.content).forEach(function(k) {
//console.log(data.content[k][0]);
// 有值表示先前已寫入MI
@ -283,11 +284,16 @@ foreach ($res as $data) {
mihtml += "以上合計:" + commafy(data.content[k][12]) + "/台";
mihtml += "<hr>";
mihtml += "<h5>OPTION</h5>";
console.log(data.content[k]);
Object.keys(data.content[k][14]).forEach(function(m) {
if(data.content[k][14][m][0] != '') {
mihtml += "<li>" + data.content[k][14][m][0] + ":" + commafy(data.content[k][14][m][1]) + "</li>";
}
});
Object.keys(data.content[k][16]).forEach(function(m) {
if(data.content[k][16][m][0] != ''){
mihtml += "<li>" + data.content[k][16][m][0] + ":" + commafy(data.content[k][16][m][1]) + "</li>";
}
});
Object.keys(data.content[k][18]).forEach(function(m) {
mihtml += "<li>" + data.content[k][18][m][0] + ":" + commafy(data.content[k][18][m][1]) + "</li>";
@ -548,7 +554,12 @@ foreach ($res as $data) {
<?php
$idx = 1;
$item_amt_B_all = 0;
$total_qty = 0;
foreach ($option_arr as $item_no => $val) {
if($val['item_qty'] <= 0){
continue;
}
$total_qty = $total_qty + $val['item_qty'];
$item_amt_B_all += $val["item_price_bp"];
?>
<tr>
@ -564,10 +575,12 @@ foreach ($res as $data) {
$idx++;
}
?>
<?php if($total_qty > 0): ?>
<tr>
<td colspan="4">小計</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; ?>
</tbody>
</table>
</div>
@ -923,6 +936,9 @@ foreach ($res as $data) {
</tr>
</tbody>
</table>
<ul style="display:block">
<li>營業權限85%以上;85-80%呈至區處長審核;80%以下呈至總經理審核。</li>
</ul>
</div>
<div class="table-responsive">

41
wms/mkt/pricereview-create.php

@ -1,6 +1,6 @@
<?php
include "../header.php";
require_once('./conn.php');
$vol_no = $_REQUEST["vol_no"]; // 從有望客戶過來:卷號
// 營業員只建自己客戶的價審單
@ -144,9 +144,9 @@ while ($row = mysqli_fetch_assoc($res)) {
$opt_data_arr[$row["kind"]][$row["group_name"]][$row["id"]]["unit"] = $row["unit"];
$opt_data_arr[$row["kind"]][$row["group_name"]][$row["id"]]["price"] = $row["price"];
}
$option_str = $opt_data_arr[$row["kind"]][$row["group_name"]][$row["id"]]["spec"];
mysqli_free_result($res);
$option_str = '<table id="table_index2" class="table table-striped table-bordered" style="width:100%">';
$option_str .= '<table id="table_index2" class="table table-striped table-bordered" style="width:100%">';
$option_str .= '<thead>
<tr class="kind-col">
<th scope="col" nowrap>名稱</th>
@ -1167,6 +1167,12 @@ $option_str .= "</tbody></table>";
</div>
</div>
<!--子窗:option加價-->
<?php
$sql_str = "SELECT * FROM option_price WHERE status='Y' ORDER BY kind ASC";
$stmt = $conn->prepare($sql_str);
$stmt->execute();
$options = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<div class="modal fade" id="optionModal" tabindex="-1" role="dialog" aria-labelledby="optionModalTitle" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
@ -1177,7 +1183,30 @@ $option_str .= "</tbody></table>";
</button>
</div>
<div class="modal-body">
<?php echo $option_str; ?>
<table id="table_index2" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr class="kind-col">
<th scope="col" nowrap>名稱</th>
<th scope="col" nowrap>規格</th>
<th scope="col" nowrap>備註</th>
<th scope="col" nowrap>配置</th>
<th scope="col" nowrap>單位</th>
<th scope="col" nowrap>定價</th>
</tr>
</thead>
<tbody>
<?php foreach($options as $option): ?>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
@ -2315,8 +2344,10 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
</table>
</div>
<div class="nextline"></div>
<ul>
<li>營業權限>=85%以上;<88-80%呈至區處長審核<80%以下呈至總經理審核< /li>
<li>營業權限85%以上;85-80%呈至區處長審核;80%以下呈至總經理審核。</li>
</ul>
<div class="nextline"></div>
<label for="attatch1">報價單</label>

5
wms/mkt/pricereview-edit.php

@ -1732,11 +1732,10 @@ $(function(){
</tr>
</tbody>
</table>
</div>
<ul>
<li>業務員權限>=85%以上;<80-75%呈至業務協理審核<75%以下呈至總經理審核</li>
<li>營業權限85%以上;85-80%呈至區處長審核;80%以下呈至總經理審核。。</li>
</ul>
</div>
<div class="nextline"></div>
<label for="attatch1">報價單</label>
<?php

2
wms/mkt/pricereview_mi-api.php

@ -265,6 +265,7 @@ try {
$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);
if ($row_om = mysqli_fetch_assoc($res_om)) {
$row_om['price'] = (int)ceil($row_om['price']);
$plus = ($v["floors"] > $row_om["base_floor"]) ? ($v["floors"] - $row_om["base_floor"])*$row_om["base_floor_plus"] : 0;
// 特例
if ($opt_elev_arr[$val]["price_id"] == "256" && ($v["floors"] < $row_om["base_floor"])) $row_om["price"] = 9815;
@ -287,7 +288,6 @@ try {
$j++;
}
}
// 保固延長
$mnarr = [];
$mn_fee = $j = 0;

60
wms/rib-invoice-check.php

@ -0,0 +1,60 @@
<?php
include "header.php";
$sql = "SELECT
B.rib_id,B.BillNo,B.DeptId, B.CreatorId, C.name, A.InvoiceNo,B.CurrentState
FROM `rib_sub` AS A
LEFT JOIN `rib` AS B
ON A.rib_id=B.rib_id
LEFT JOIN `account` AS C ON A.CreatorId=C.accountid
WHERE B.CurrentState
IN (1,2,4) AND A.InvoiceNo IS NOT NULL AND trim(A.InvoiceNo)!='' AND B.BillNo NOT IN ('M0056231003','M0056231002')
ORDER BY A.InvoiceNo";
$query = mysqli_query($link, $sql);
$array = array();
$repeat_array = array();
foreach ($query as $value) {
$InvoiceNo = preg_replace('/\s(?=)/', '', $value['InvoiceNo']);
$InvoiceNo = str_replace('-', '', $InvoiceNo);
// echo $InvoiceNo." //".$value['BillNo'];
// echo "<br>";
if (isset($array[$InvoiceNo])) {
if (in_array($value['BillNo'], $array[$InvoiceNo]['BillNo'])) {
} else {
array_push($array[$InvoiceNo]['BillNo'], $value['BillNo']);
array_push($array[$InvoiceNo]['InvoiceNo'], $value['InvoiceNo']);
$repeat_array[$InvoiceNo]['BillNo']= $array[$InvoiceNo]['BillNo'];
$repeat_array[$InvoiceNo]['InvoiceNo']= $array[$InvoiceNo]['InvoiceNo'];
}
} else {
// $array[$InvoiceNo] = array($value['BillNo']);
$array[$InvoiceNo]['BillNo']= array($value['BillNo']);
$array[$InvoiceNo]['InvoiceNo']=array($value['InvoiceNo']);
}
}
$duplicate = "(";
foreach($repeat_array as $repeat){
$tmp = "'";
$tmp .= implode("','",$repeat['InvoiceNo']);
$tmp .="'";
$duplicate .= $tmp.",";
}
$duplicate = substr($duplicate,0,-1);
$duplicate.=")";
// // echo $repeat."<br>";
$sql_repeat = "SELECT
A.rib_id,A.BillNo, A.CurrentState, A.CreatorId,C.name,B.InvoiceNo, A.GatheringPersonId,A.WriteOffAmount,A.CreateTime
FROM `rib_sub` AS B
LEFT JOIN `rib` AS A ON A.rib_id=B.rib_id
LEFT JOIN `account` AS C ON A.CreatorId=C.accountid
WHERE A.CurrentState IN (1,2,4)
AND B.InvoiceNo IN $duplicate ORDER BY B.InvoiceNo";
$repeat_query = mysqli_query($link, $sql_repeat);
foreach($repeat_query as $value){
echo $value['rib_id'].";".$value['BillNo'].";".$value['CurrentState'].";".$value['CreatorId'].";".$value['name'].";".$value['InvoiceNo'].";".$value['GatheringPersonId'].";".$value['WriteOffAmount'].";".$value['CreateTime'];
echo "<br>";
}
?>

20
wms/rib02-create.php

@ -7,8 +7,10 @@ $CurrId = isset($_GET['CurrId']) ? $_GET['CurrId'] : null;
$sql_rib = "";
if (empty($rib_id)) {
$sql_rib = "SELECT * FROM rib WHERE BillNo = '$BillNo' && CurrentState=0";
$sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE BillNo!==$BillNo";
} else {
$sql_rib = "SELECT * FROM rib WHERE rib_id = $rib_id";
$sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE rib_id!==$rib_id";
}
$rib_query = mysqli_query($link, $sql_rib);
if (mysqli_num_rows($rib_query) > 0) {
@ -114,7 +116,17 @@ foreach ($BizPartner as $biz) {
array_push($BusinessPartner, $bizKey);
$bizcount += 1;
}
// 取得所有報銷過的發票號碼
$invoiceNo = mysqli_query($link, $sql_invoiceNo);
$invoiceNo_array = array();
foreach ($invoiceNo as $invoice) {
array_push($invoiceNo_array, $invoice['InvoiceNo']);
}
$BizJSON = json_encode($BusinessPartner);
$InvoiceJSON = json_encode($invoiceNo_array);
$sql_Project = "SELECT * FROM comProject";
$projects = $conn->query($sql_Project);
$sql_Material = "SELECT * FROM comMaterialGroup";
@ -389,7 +401,7 @@ $materials = $conn->query($sql_Material);
</div>
<div class="col-md-3" id="NotInvoice2">
<label for="InvoiceNo">發票號碼</label>
<input class="form-control" type="text" name="InvoiceNo" id="InvoiceNo">
<input class="form-control" type="text" name="InvoiceNo" id="InvoiceNo" onblur="checkInvoice()">
</div>
</div>
@ -665,6 +677,12 @@ $materials = $conn->query($sql_Material);
window.open('rib02-invoice.php', '發票範例', config = 'height=600, width=600');
}
function checkInvoice(){
var invoiceArray = <?= $InvoiceJSON ?>;
if($.inArray($("#InvoiceNo").val(),invoiceArray) !== -1) {
alert("此發票已報銷過");
$("#InvoiceNo").val('');}
}
function changeWriteOffId(SelectedDept) {
var SelectDeptId = 'WriteOff' + SelectedDept + '-';

19
wms/rib02-edit.php

@ -55,7 +55,18 @@ foreach ($BizPartner as $biz) {
array_push($BusinessPartner, $bizKey);
$bizcount += 1;
}
// 取得所有報銷過的發票號碼
$rib_id = $ribsub['rib_id'];
$sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE rib_id !== $rib_id";
$invoiceNo = mysqli_query($link, $sql_invoiceNo);
$invoiceNo_array = array();
foreach ($invoiceNo as $invoice) {
array_push($invoiceNo_array, $invoice['InvoiceNo']);
}
$BizJSON = json_encode($BusinessPartner);
$InvoiceJSON = json_encode($invoiceNo_array);
$sql_Project = "SELECT * FROM comProject";
$projects = $conn->query($sql_Project);
$sql_Material = "SELECT * FROM comMaterialGroup";
@ -410,7 +421,7 @@ $materials = $conn->query($sql_Material);
</div>
<div class="col-md-3" id="NotInvoice2">
<label for="InvoiceNo">發票號碼</label>
<input class="form-control" type="text" name="InvoiceNo" id="InvoiceNo" value="<?= $ribsub['InvoiceNo'] ?>">
<input class="form-control" type="text" name="InvoiceNo" id="InvoiceNo" value="<?= $ribsub['InvoiceNo'] ?>" onblur="checkInvoice()">
</div>
</div>
<div>
@ -683,6 +694,12 @@ $materials = $conn->query($sql_Material);
window.open('rib02-invoice.php', '新視窗的名稱', config = 'height=600, width=600');
}
function checkInvoice(){
var invoiceArray = <?= $InvoiceJSON ?>;
if($.inArray($("#InvoiceNo").val().replace("-", ""),invoiceArray) !== -1) {
alert("此發票已報銷過");
$("#InvoiceNo").val('');}
}
function changeWriteOffId(SelectedDept) {
var SelectDeptId = 'WriteOff' + SelectedDept + '-';

9
wms/rib02-submit.php

@ -15,6 +15,13 @@ foreach ($BizPartner as $biz) {
$bizValue = $biz['BizPartnerName'];
$BusinessPartner[$bizKey] = $bizValue;
}
// 取得所有報銷過的發票號碼
$sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE rib_id !== $rib_id";
$invoiceNo = mysqli_query($link, $sql_invoiceNo);
$invoiceNo_array = array();
foreach ($invoiceNo as $invoice) {
array_push($invoiceNo_array, $invoice['InvoiceNo']);
}
$RowCode = $_POST['RowCode'];
$FeeDate = $_POST['FeeDate'];
@ -35,7 +42,7 @@ $IsCounteract = $_POST['IsCounteract'];
$InvoiceId = $_POST['InvoiceId'];
$VoucherCount = empty($_POST['VoucherCount']) ? 1 : $_POST['VoucherCount'];
$VoucherType = isset($_POST['VoucherType']) ? $_POST['VoucherType'] : 0;
$InvoiceNo = empty($_POST['InvoiceNo']) ? " ": $_POST['InvoiceNo'];
$InvoiceNo = empty($_POST['InvoiceNo']) ? " ": (in_array(str_replace("-", "",$_POST['InvoiceNo']), $invoiceNo_array) ? " ": str_replace("-", "",$_POST['InvoiceNo']));
$CurrLAmount = empty($_POST['CurrLAmount']) ? null : $_POST['CurrLAmount'];
// $comSupplierName = empty($_POST['comSupplierName']) ? null : $_POST['comSupplierName'];

Loading…
Cancel
Save