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.
 
 
 
 
 
 

311 lines
10 KiB

<?php
include "header.php";
include "css/view/wipwhole-index.php";
// 設置一個空陣列來放資料
$data = array();
$contractno = empty($_POST['contractno']) ? null : $_POST['contractno'];
$department_id = accountidToDepartId($user_id);
// $contractno = getContractnoDetails($link, $user_id, $department_id, $contractno);
$sql = "
SELECT TOP 1000
sso_tmp.BillNo,
sso_tmp.BillDate,
sso_tmp.PersonId, --負責業務人
sso_tmp.SumOAmountWithTax,
cgp.PersonName,
cd.DeptName,
sso_tmp.BizPartnerId,
sso_tmp.fsso_status, -- 發票狀態
CASE
WHEN awob_tmp.status IS NOT NULL THEN 'true'
ELSE 'false'
END AS awob_status, -- 收款狀態
sso_tmp.BizPartnerName
FROM (
SELECT
sso.BillNo,
sso.BillDate,
sso.PersonId, --負責業務人
ssod.SumOAmountWithTax,
sso.BizPartnerId,
'true' AS fsso_status,
cbp.BizPartnerName
FROM salSalesOrder AS sso
LEFT JOIN (
SELECT
BillNo,
SUM(OAmountWithTax) SumOAmountWithTax
FROM salSalesOrderDetail
GROUP BY BillNo
)AS ssod ON sso.BillNo = ssod.BillNo
LEFT JOIN comBusinessPartner AS cbp
ON sso.BizPartnerId = cbp.BizPartnerId
WHERE sso.BillNo IN
(
SELECT FromSalSalesOrder
FROM arCheckBillDetail
)
AND sso.TypeId = 'SP'
UNION
SELECT
sso.BillNo,
sso.BillDate,
sso.PersonId, --負責業務人,
ssod.SumOAmountWithTax,
sso.BizPartnerId,
'false' AS fsso_status,
cbp.BizPartnerName
FROM salSalesOrder AS sso
LEFT JOIN (
SELECT
BillNo,
SUM(OAmountWithTax) SumOAmountWithTax
FROM salSalesOrderDetail
GROUP BY BillNo
)AS ssod ON sso.BillNo = ssod.BillNo
LEFT JOIN comBusinessPartner AS cbp
ON sso.BizPartnerId = cbp.BizPartnerId
WHERE sso.BillNo NOT IN
(
SELECT FromSalSalesOrder
FROM arCheckBillDetail
)
AND sso.TypeId = 'SP'
)AS sso_tmp
LEFT JOIN (
SELECT DISTINCT
c.OrderBillNo,
'1' AS status
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 DATALENGTH(c.OrderBillNo) >0
)AS awob_tmp
ON sso_tmp.BillNo = awob_tmp.OrderBillNo
LEFT JOIN comPerson AS cp -- 員工主檔
ON sso_tmp.PersonId = cp.PersonId
LEFT JOIN comGroupPerson AS cgp
ON cp. PersonId = cgp.PersonId
LEFT JOIN comDepartment AS cd -- 部門主檔
ON cp.DeptId = cd.DeptId
WHERE 1=1
";
$sql .= !empty($contractno) ? " AND sso_tmp.BillNo = '$contractno' " : "";
// echo "<pre>";
// echo $sql;
// echo "</pre>";
// exit;
// $sql .= !empty($contractno) ? " AND sso_tmp.BillNo IN ($contractno)" : "";
$data = $conn->query($sql);
function checkCollectMonth($row)
{
$BillDate = $row['BillDate'];
if (collect_month(strtotime($BillDate)) >= 3) {
return "<span class='text-danger'>" . collect_month(strtotime($BillDate)) . "</span>";
} else {
return "<span class=''>" . collect_month(strtotime($BillDate)) . "</span>";
}
}
function getFixDetails($conn, $row)
{
$BillNo = $row['BillNo'];
$sql = "
SELECT
ssod.MaterialId,
cmg.MaterialName,
ssod.OAmountWithTax
FROM salSalesOrder AS sso
LEFT JOIN salSalesOrderDetail AS ssod
ON sso.BillNo = ssod.BillNo
LEFT JOIN comMaterialGroup AS cmg
ON ssod.MaterialId = cmg.MaterialId
WHERE sso.BillNo = '$BillNo'
";
$data = $conn->query($sql);
$str = "";
foreach ($data as $row) {
$str .= $row['MaterialId'] . "_";
$str .= $row['MaterialName'] . ":";
$str .= number_format(intval($row['OAmountWithTax'])) . "<br/>";
}
return $str;
}
?>
<?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='fix_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;">
<a href="contract-repair/contract-repair-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 style='text-align:center;vertical-align: middle;width:120px;'>營業人員/契約人員</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>部門</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>單據號</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>客戶名稱</th>
<th style='text-align:center;vertical-align: middle;width:80px;'>單據日期</th>
<!-- <th style='text-align:center;vertical-align: middle;width:50px;'>催收次數</th> -->
<th style='text-align:center;vertical-align: middle;width:120px;'>金額</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>發票狀態</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>收款狀態</th>
<th style='text-align:center;vertical-align: middle;width:250px;'>修理明細</th>
</tr>
</thead>
<tbody>
<?php foreach ($data as $row) { ?>
<tr>
<td>
<?php
echo $row['PersonId'];
echo "<br/>";
echo $row['PersonName'];
?>
</td>
<td>
<?php echo $row['DeptName']; ?>
</td>
<td>
<?php echo $row['BillNo']; ?>
</td>
<td>
<?php echo $row['BizPartnerName']; ?>
</td>
<td>
<?php echo date('Y/m/d', strtotime($row['BillDate'])); ?>
</td>
<!-- <td>
<?php echo $row['awob_status'] == 'true' ? '0' : checkCollectMonth($row); ?>
</td> -->
<td>
<?php echo number_format(intval($row['SumOAmountWithTax']), 0, '', ','); ?>
</td>
<td>
<?php echo $row['fsso_status'] == 'true'
? '<span class="text-primary">已開發票</span>'
: '<span class="text-danger">未開發票</span>'; ?>
</td>
<td>
<?php echo $row['awob_status'] == 'true'
? '<span class="text-primary">已收款</span>'
: '<span class="text-danger">未收款</span>'; ?>
</td>
<td style='text-align:left;'>
<?php
echo getFixDetails($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";
?>