28 changed files with 915 additions and 92 deletions
@ -0,0 +1,8 @@ |
|||||
|
<?php |
||||
|
header('Access-Control-Allow-Origin:*'); |
||||
|
echo json_encode([ |
||||
|
'success' => true |
||||
|
], JSON_UNESCAPED_UNICODE); |
||||
|
|
||||
|
|
||||
|
?> |
@ -0,0 +1,114 @@ |
|||||
|
<?php |
||||
|
include("../header.php"); |
||||
|
require_once("./conn.php"); |
||||
|
$sql_str = "SELECT * FROM contract_b_signed_back "; |
||||
|
$stmt = $conn->prepare($sql_str); |
||||
|
$stmt->execute(); |
||||
|
$contracts= $stmt->fetchAll(PDO::FETCH_ASSOC); |
||||
|
|
||||
|
?> |
||||
|
|
||||
|
<link rel="stylesheet" href="./styles/style.css"> |
||||
|
<link rel="stylesheet" href="semantic/dist/semantic.min.css"> |
||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" /> |
||||
|
<script defer src="./js/alpinejs/cdn.min.js"></script> |
||||
|
<script src="./js/axios/axios.min.js"></script> |
||||
|
|
||||
|
|
||||
|
<div style="overflow-x:auto;margin-top:12px"> |
||||
|
<a href="contract-newelevator-input.php?function_name=repair&<?php echo $token_link; ?>" class="btn btn-info btn-sm"> |
||||
|
<span class="glyphicon glyphicon-plus"></span> |
||||
|
</a> |
||||
|
<table id="table_index" class="table table-striped table-bordered" style="width:100%"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>項次</th> |
||||
|
<th>合約號</th> |
||||
|
<th>客戶名稱</th> |
||||
|
<th>統編</th> |
||||
|
<th>營業員</th> |
||||
|
<th>合約開始時間</th> |
||||
|
<th>合約終止時間</th> |
||||
|
<th>狀態</th> |
||||
|
<th>建檔者</th> |
||||
|
<th>建立時間</th> |
||||
|
<th>操作</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<?php foreach($contracts as $contract): ?> |
||||
|
<tr> |
||||
|
<td><?php echo $contract['id']; ?></td> |
||||
|
<td><?php echo $contract['contract_no'] ?></td> |
||||
|
<td><?php echo $contract['company'] ?></td> |
||||
|
<td><?php echo $contract['customer_no'] ?></td> |
||||
|
<td><?php echo $contract['salesperson'] ?></td> |
||||
|
<td><?php echo $contract['contract_start_date'] ?></td> |
||||
|
<td><?php echo $contract['contract_end_date'] ?></td> |
||||
|
<td> |
||||
|
<?php |
||||
|
$endDate = new DateTime($contract['contract_end_date']); |
||||
|
$now = new DateTime(); |
||||
|
$interval = $now->diff($endDate); |
||||
|
if ($interval->days <= 60) { |
||||
|
echo "60天以內。"; |
||||
|
} else { |
||||
|
echo "指定日期與當前日期相差超過60天。"; |
||||
|
} |
||||
|
|
||||
|
?> |
||||
|
</td> |
||||
|
<td><?php echo $contract['created_by'] ?></td> |
||||
|
<td><?php echo $contract['created_at'] ?></td> |
||||
|
<td style="width:30px"> |
||||
|
<p> |
||||
|
<a href="contract-newelevator-edit.php?contractid=<?php echo $contract['id']; ?>&function_name=repair&<?php echo $token_link; ?>" class="btn btn-info btn-sm"> |
||||
|
<span class="glyphicon glyphicon-pencil"></span> |
||||
|
</a> |
||||
|
<a href="javascript:;" class="btn btn-info btn-sm" style="margin-left:10px;" @click="deleteFn(<?php echo $contract['id']; ?>)"> |
||||
|
<span class="glyphicon glyphicon-remove"></span> |
||||
|
</a> |
||||
|
</p> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<?php endforeach ?> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<style> |
||||
|
table { |
||||
|
table-layout:fixed; |
||||
|
width: 100%; |
||||
|
} |
||||
|
|
||||
|
td { |
||||
|
word-wrap:break-word; |
||||
|
} |
||||
|
|
||||
|
img { |
||||
|
width:125px; |
||||
|
} |
||||
|
|
||||
|
.width_style_1 { |
||||
|
width:125px; |
||||
|
} |
||||
|
|
||||
|
table{ |
||||
|
width:100%; |
||||
|
} |
||||
|
#table_index_filter{ |
||||
|
float:right; |
||||
|
} |
||||
|
#table_index_paginate{ |
||||
|
float:right; |
||||
|
} |
||||
|
label { |
||||
|
display: inline-flex; |
||||
|
margin-bottom: .5rem; |
||||
|
margin-top: .5rem; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
</style> |
Binary file not shown.
@ -0,0 +1,399 @@ |
|||||
|
<?php |
||||
|
include "header.php"; |
||||
|
include "css/view/wipwhole-index.php"; |
||||
|
|
||||
|
// 設置一個空陣列來放資料 |
||||
|
$data = array(); |
||||
|
$contractno = empty($_POST['contractno']) ? null : $_POST['contractno']; |
||||
|
$contractno = getContractnoDetails($link, $user_id, $contractno); |
||||
|
|
||||
|
$sql = " |
||||
|
SELECT |
||||
|
siamd.RowNo, |
||||
|
siamd.RowCode, |
||||
|
siam.BillNo, |
||||
|
siamd.CU_EstPayDate, |
||||
|
siamd.UnTransCheckBLAmtWTax , |
||||
|
siamd.HadTransCheckBLAmtWTax, |
||||
|
siamd.CU_MaterialId, |
||||
|
acb_tmp.BillNo2, |
||||
|
acb_tmp.RowCode2, |
||||
|
asim.BillNo AS BillNo3, |
||||
|
asim.InvoiceName, |
||||
|
asim.OAmountWithTax, |
||||
|
asi.InvoiceNo |
||||
|
FROM salIncomeApplyMaster AS siam -- 收入申請單 |
||||
|
LEFT JOIN salIncomeApplyDetail AS siamd -- 收入申請單明細 |
||||
|
ON siam.BillNo = siamd.BillNo |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
acbd.FromRowCode, |
||||
|
acb.FromBillNo, |
||||
|
acbd.BillNo AS BillNo2, |
||||
|
acbd.RowCode AS RowCode2 |
||||
|
FROM arCheckBill AS acb -- 應收確認單 |
||||
|
LEFT JOIN arCheckBillDetail AS acbd -- 應收確認單明細 |
||||
|
ON acb.BillNo = acbd.BillNo |
||||
|
WHERE 1 = 1 |
||||
|
AND acb.TypeId = 'RVS' |
||||
|
"; |
||||
|
$sql .= !empty($contractno) ? " AND acb.FromBillNo IN ($contractno) " : ""; |
||||
|
$sql .= " |
||||
|
) AS acb_tmp |
||||
|
ON siamd.RowNo = acb_tmp.FromRowCode |
||||
|
AND siamd.BillNo = acb_tmp.FromBillNo |
||||
|
LEFT JOIN arSellInvoiceMaterial AS asim -- 買賣發票明細 |
||||
|
ON asim.FromBillNo = acb_tmp.BillNo2 |
||||
|
AND asim.RowCode = acb_tmp.RowCode2 |
||||
|
LEFT JOIN arSellInvoice AS asi |
||||
|
ON asim.BillNo = asi.BillNo |
||||
|
WHERE 1 = 1 |
||||
|
"; |
||||
|
$sql .= !empty($contractno) ? " AND siam.BillNo IN ($contractno)" : ""; |
||||
|
$data = $conn->query($sql); |
||||
|
|
||||
|
function getContractnoDetails($link, $user_id, $contractno = null) |
||||
|
{ |
||||
|
$sql = " |
||||
|
SELECT |
||||
|
c.contractno |
||||
|
FROM contract AS c |
||||
|
LEFT JOIN con_maintance_examine_apply AS cmea |
||||
|
ON c.contractno = cmea.vol_no |
||||
|
WHERE 1 = 1 |
||||
|
AND cmea.salesman IN (" . getAccountids($link, $user_id) . ") |
||||
|
"; |
||||
|
if (!empty($contractno)) { |
||||
|
$sql .= " |
||||
|
AND c.contractno = '$contractno' |
||||
|
"; |
||||
|
} |
||||
|
$result = mysqli_query($link, $sql); |
||||
|
$data = []; |
||||
|
foreach ($result as $row) { |
||||
|
array_push($data, $row['contractno']); |
||||
|
} |
||||
|
return "'" . implode("','", $data) . "'"; |
||||
|
} |
||||
|
|
||||
|
function getSalesmanNo($link, $contractno) |
||||
|
{ |
||||
|
$sql = " |
||||
|
SELECT |
||||
|
cmea.salesman |
||||
|
FROM contract AS c |
||||
|
LEFT JOIN con_maintance_examine_apply AS cmea |
||||
|
ON c.contractno = cmea.vol_no |
||||
|
WHERE 1 = 1 |
||||
|
AND c.contractno IN ('$contractno') |
||||
|
"; |
||||
|
$result = mysqli_query($link, $sql); |
||||
|
$data = []; |
||||
|
foreach ($result as $row) |
||||
|
return $row['salesman']; |
||||
|
return ""; |
||||
|
} |
||||
|
function getSalesmanName($link, $contractno) |
||||
|
{ |
||||
|
$sql = " |
||||
|
SELECT |
||||
|
a.name |
||||
|
FROM contract AS c |
||||
|
LEFT JOIN con_maintance_examine_apply AS cmea |
||||
|
ON c.contractno = cmea.vol_no |
||||
|
LEFT JOIN account AS a |
||||
|
ON cmea.salesman = a.accountid |
||||
|
WHERE 1 = 1 |
||||
|
AND c.contractno IN ('$contractno') |
||||
|
"; |
||||
|
$result = mysqli_query($link, $sql); |
||||
|
$data = []; |
||||
|
foreach ($result as $row) |
||||
|
return $row['name']; |
||||
|
return ""; |
||||
|
} |
||||
|
|
||||
|
function getAccountids($link, $user_id) |
||||
|
{ |
||||
|
$sql = " |
||||
|
SELECT |
||||
|
accountid |
||||
|
FROM account |
||||
|
WHERE 1 = 1 |
||||
|
AND (accountid = '$user_id' |
||||
|
OR accountid IN ( |
||||
|
SELECT |
||||
|
accountid |
||||
|
FROM account |
||||
|
WHERE 1 = 1 |
||||
|
AND manager = '$user_id' |
||||
|
AND accounttype IN ('B','E','M','W') |
||||
|
) |
||||
|
) |
||||
|
"; |
||||
|
$result = mysqli_query($link, $sql); |
||||
|
$data = []; |
||||
|
foreach ($result as $row) { |
||||
|
array_push($data, $row['accountid']); |
||||
|
} |
||||
|
return "'" . implode("','", $data) . "'"; |
||||
|
} |
||||
|
|
||||
|
function checkArCheckBillStatus($row) |
||||
|
{ |
||||
|
$CU_EstPayDate = $row['CU_EstPayDate']; |
||||
|
$BillNo2 = $row['BillNo2']; |
||||
|
if (substr($CU_EstPayDate, 0, 6) <= date("Ym")) { |
||||
|
if (empty($BillNo2)) { |
||||
|
return "<span class='text-danger'>未轉應收確認單</span>"; |
||||
|
} else { |
||||
|
return "<span class='text-primary'>已轉應收確認單</span>"; |
||||
|
} |
||||
|
} else { |
||||
|
return "時間未到"; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function arSellInvoiceMaterial($row) |
||||
|
{ |
||||
|
|
||||
|
$CU_EstPayDate = $row['CU_EstPayDate']; |
||||
|
$InvoiceName = $row['InvoiceName']; |
||||
|
|
||||
|
if (substr($CU_EstPayDate, 0, 6) <= date("Ym")) { |
||||
|
if (empty($InvoiceName)) { |
||||
|
return "<span class='text-danger'>未開發票</span>"; |
||||
|
} else { |
||||
|
return "<span class='text-primary'>已開發票</span>"; |
||||
|
} |
||||
|
} else { |
||||
|
return "時間未到"; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function checkArWriteOffBill($conn, $row) |
||||
|
{ |
||||
|
$BillNo = $row['BillNo2']; |
||||
|
|
||||
|
$sql = " |
||||
|
SELECT |
||||
|
* |
||||
|
-- a.BillNo, |
||||
|
-- a.WriteOffBizPartnerId, |
||||
|
-- a.PayWriteOffOAmount, |
||||
|
-- b.FromBillDate AS ReceivedDate, |
||||
|
-- b.CurrWOFeeOAmt AS Fee, |
||||
|
-- c.OrderBillNo, |
||||
|
-- c.checkBillNo, |
||||
|
-- c.InvoiceNo, |
||||
|
-- c.BillDate AS CheckBillDate |
||||
|
FROM arWriteOffBill AS a |
||||
|
LEFT JOIN arWriteOffBillRec AS b ON a.BillNo=b.BillNo |
||||
|
LEFT JOIN |
||||
|
(SELECT temp1.*,arWriteOffBillDetail.* FROM arWriteOffBillDetail |
||||
|
LEFT JOIN |
||||
|
(SELECT |
||||
|
arCheckBill.BillNo AS checkBillNo, arCheckBill.BillDate,arCheckBillInvInfo.InvoiceNo |
||||
|
FROM arCheckBill |
||||
|
LEFT JOIN arCheckBillInvInfo |
||||
|
ON arCheckBill.InvoiceBillNo=arCheckBillInvInfo.InvoiceBillNo) AS temp1 |
||||
|
ON temp1.checkBillNo = arWriteOffBillDetail.FromBillNo) AS c |
||||
|
ON a.BillNo=c.BillNo |
||||
|
WHERE c.checkBillNo = '$BillNo' |
||||
|
"; |
||||
|
|
||||
|
$del = $conn->query($sql); |
||||
|
$i = 0; |
||||
|
foreach ($del as $row) |
||||
|
$i++; |
||||
|
if (empty($i)) { |
||||
|
return "<span class='text-danger'>未收款</span>"; |
||||
|
} else { |
||||
|
return "<span class='text-primary'>已收款</span>"; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
?> |
||||
|
|
||||
|
|
||||
|
<?php if ($user_auth & 2) { ?> |
||||
|
<!-- <p> |
||||
|
<a href="board-create.php?function_name=board&<?php echo $token_link; ?>" class="btn btn-info btn-sm"> |
||||
|
<span class="glyphicon glyphicon-plus"></span> |
||||
|
</a> |
||||
|
</p> --> |
||||
|
<?php |
||||
|
} |
||||
|
if ($data) : |
||||
|
?> |
||||
|
|
||||
|
<style> |
||||
|
table { |
||||
|
table-layout: fixed; |
||||
|
width: 100%; |
||||
|
} |
||||
|
|
||||
|
td { |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
|
||||
|
img { |
||||
|
width: 125px; |
||||
|
} |
||||
|
|
||||
|
.width_style_1 { |
||||
|
width: 125px; |
||||
|
} |
||||
|
|
||||
|
table { |
||||
|
width: 100%; |
||||
|
} |
||||
|
|
||||
|
#table_index_filter { |
||||
|
float: right; |
||||
|
} |
||||
|
|
||||
|
#table_index_paginate { |
||||
|
float: right; |
||||
|
} |
||||
|
|
||||
|
label { |
||||
|
display: inline-flex; |
||||
|
margin-bottom: .5rem; |
||||
|
margin-top: .5rem; |
||||
|
|
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
<div style="overflow-x:auto;"> |
||||
|
<form id='myForm' method='post' action='maintainance_contract_payment_status.php?<?= $token_link ?>'> |
||||
|
<table class='table query-table table-striped table-bordered display compact' style='width:98%;text-align:center;margin:0 auto'> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<td colspan="5"> |
||||
|
<h3 style='text-align:center'>保養合約-應收款項明細</h3> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<tr> |
||||
|
<th style='text-align:center;vertical-align: middle;'>合約號</th> |
||||
|
<td style='text-align:center;vertical-align: middle;'> |
||||
|
<input type="text" class='form-control' id='contractno' name='contractno' value=""> |
||||
|
</td> |
||||
|
<td style='text-align:left;vertical-align: middle;'> |
||||
|
<button type="submit" style='text-align:center; margin:0 auto' class="btn btn-primary btn-sm">查詢</button> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
</form> |
||||
|
</div> |
||||
|
|
||||
|
<div style="overflow-x:auto;"> |
||||
|
<table id="table_index" class="table table-striped table-bordered" style="width:100%"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th style='text-align:center;vertical-align: middle;'>營業人員/契約人員</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>合約號</th> |
||||
|
<th style='text-align:center;vertical-align: middle;width:50px;'>標示號</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>電梯編號</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>預計請款日</th> |
||||
|
<th style='text-align:center;vertical-align: middle;width:50px;'>催收次數</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>應收申請單狀態</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>請款金額(未轉應收)</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>請款金額(已轉應收)</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>應收申請單號</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>發票狀態</th> |
||||
|
<th style='text-align:center;vertical-align: middle;width:50px;'>發票單標示號</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>發票單號</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>發票明細</th> |
||||
|
<th style='text-align:center;vertical-align: middle;width:80px;'>發票金額</th> |
||||
|
<th style='text-align:center;vertical-align: middle;width:120px;'>發票號碼</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>核銷</th> |
||||
|
<!-- <th style='text-align:center;vertical-align: middle;'>核銷日期</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>未核銷金額</th> |
||||
|
<th style='text-align:center;vertical-align: middle;'>已核銷金額</th> --> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<?php foreach ($data as $row) { ?> |
||||
|
<tr> |
||||
|
<td> |
||||
|
<?php |
||||
|
echo getSalesmanNo($link, $row['BillNo']); |
||||
|
echo "<br/>"; |
||||
|
echo getSalesmanName($link, $row['BillNo']); |
||||
|
?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['BillNo']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['RowNo']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['CU_MaterialId']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo date('Y/m/d', strtotime($row['CU_EstPayDate'])); ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo collect_month(strtotime($row['CU_EstPayDate'])); ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo checkArCheckBillStatus($row); ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo number_format(intval($row['UnTransCheckBLAmtWTax']), 0, '', ','); ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo number_format(intval($row['HadTransCheckBLAmtWTax']), 0, '', ','); ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['BillNo2']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo arSellInvoiceMaterial($row); ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['RowCode2']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['BillNo3']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['InvoiceName']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo number_format(intval($row['OAmountWithTax']), 0, '', ','); ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php echo $row['InvoiceNo']; ?> |
||||
|
</td> |
||||
|
<td> |
||||
|
<?php |
||||
|
echo checkArWriteOffBill($conn, $row) |
||||
|
?> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<?php } ?> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
</div> |
||||
|
<script> |
||||
|
$(function() { |
||||
|
document.getElementById('loadingOverlay').classList.add('hidden'); |
||||
|
}) |
||||
|
</script> |
||||
|
<?php |
||||
|
|
||||
|
else : |
||||
|
echo "<h2>There is no record!</h2>"; |
||||
|
endif; |
||||
|
|
||||
|
#代表結束連線 |
||||
|
mysqli_close($link); |
||||
|
|
||||
|
include "footer.php"; |
||||
|
?> |
Loading…
Reference in new issue