19 changed files with 1272 additions and 618 deletions
@ -0,0 +1,8 @@ |
|||
<?php |
|||
header('Access-Control-Allow-Origin:*'); |
|||
echo json_encode([ |
|||
'success' => true |
|||
], JSON_UNESCAPED_UNICODE); |
|||
|
|||
|
|||
?> |
@ -0,0 +1,69 @@ |
|||
<?php |
|||
require_once('../T8_Authorization_from_bpm.php'); |
|||
// require_once('../connt8.php'); |
|||
// 其他出庫申請單 |
|||
|
|||
$validation = get_Auth(); |
|||
$data = [ |
|||
[ |
|||
"name" => "OtherStockOutMtable", |
|||
"rows" => [ |
|||
[ |
|||
"BillNo" => "TEST01", // 單據編號 varchar(20) |
|||
"BillDate" =>20240120, // 單據日期 int |
|||
"OrgId" => "1000", //組織 varchar(20) |
|||
"FOrgId" => "1000", //核算組織 varchar(20) |
|||
"TypeId" => "OS", //單據類型 varchar(10) |
|||
"BizPartnerId" => "03051501", //往來對象(供應商) 可為空 |
|||
"PersonId" => "C0003", // 經辦人員 varchar(20) |
|||
"DeptId" => "250", // 經辦部門 varchar(20) |
|||
"CompId" => "1001" // 公司 varchar(20) |
|||
] |
|||
] |
|||
], [ |
|||
"name" => "OtherStockOutDetail", |
|||
"rows" => [ |
|||
[ |
|||
"BillNo" => "TEST01", //單據編號 varchar(20) |
|||
"RowCode" => 1, // 序號 int(10) |
|||
"MaterialId" => "MX00021003", // 產品代碼 -> 產品集成 varchar(40) |
|||
"SupplyOrgId" => "1000", // 供貨組織代碼 varchar(20) |
|||
"SQuantity" =>1, // 交易數量 numeric(19) |
|||
"WarehouseId" => "100" // 倉庫代碼 varchar(20) |
|||
] |
|||
] |
|||
] |
|||
]; |
|||
|
|||
|
|||
$api_url = 'https://erp.masada.com.tw:780/twWebAPI/V1/STKOTHERSTOCKOUT/PostERPData'; |
|||
$header = [ |
|||
"CHI_Authorization :" . $validation |
|||
]; |
|||
$ch = curl_init(); |
|||
curl_setopt($ch, CURLOPT_URL, $api_url); // 设置请求的URL |
|||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
|||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); |
|||
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); |
|||
curl_setopt($ch, CURLOPT_POST, 1); |
|||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); |
|||
|
|||
$response = curl_exec($ch); |
|||
if ($response === false) { |
|||
echo 'Curl error: ' . curl_error($ch); |
|||
} else { |
|||
$result = json_decode($response, true); |
|||
if ($result['Status'] == 'Error') { |
|||
echo '<pre>'; |
|||
print_r($result); |
|||
echo '</pre>'; |
|||
echo 'API 傳入錯誤,' . $result['ErrorMsg']; |
|||
} else { |
|||
echo '<pre>'; |
|||
print_r($result['Status']); |
|||
echo '</pre>'; |
|||
return $result; |
|||
} |
|||
} |
|||
|
|||
curl_close($ch); |
@ -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