diff --git a/wms/account-receivable-maintainance-index.php b/wms/account-receivable-maintainance-index.php index 5295d065..aad21f66 100644 --- a/wms/account-receivable-maintainance-index.php +++ b/wms/account-receivable-maintainance-index.php @@ -26,16 +26,14 @@ SELECT siamd.HadTransCheckBLAmtWTax, siamd.OAmountWithTax, siamd.CU_MaterialId, - acb_tmp.BillNo2, + acb_tmp.BillNo2 AS checkBillNo, acb_tmp.RowCode2, acb_tmp.checkOAmount, asim.BillNo AS BillNo3, asim.InvoiceName, asim.OAmountWithTax AS InvoiceOAmount, asi.InvoiceNo, - asi.InvoiceTime, - writeoff.BillDate AS WriteOffDate, - SUM(arwobd.CurrStandOffOAmount) AS TotalCurrStandOffOAmount + asi.InvoiceTime FROM salIncomeApplyMaster AS siam -- 收入申請單 LEFT JOIN salIncomeApplyDetail AS siamd -- 收入申請單明細 ON siam.BillNo = siamd.BillNo @@ -66,26 +64,38 @@ SELECT ON asim.BillNo = asi.BillNo LEFT JOIN comBusinessPartner AS cbp ON siam.BizPartnerId = cbp.BizPartnerId - LEFT JOIN - arWriteOffBillDetail AS arwobd - ON acb_tmp.BillNo2 = arwobd.FromBillNo - LEFT JOIN - arWriteOffBill AS writeoff ON arwobd.BillNo = writeoff.BillNo WHERE 1 = 1 "; + +//核銷單 SQL +$sql_writeOff = "SELECT +wod.FromBillNo AS checkBillNo, +arCheckBill.LAmountWithTax, +SUM(wod.CurrWriteOffLAmount) AS TotalWriteOffAmount +FROM arWriteOffBillDetail AS wod +LEFT JOIN arCheckBill +ON arCheckBill.BillNo = wod.FromBillNo +LEFT JOIN comDepartment AS cd +ON cd.DeptId = arCheckBill.DeptId +WHERE arCheckBill.TypeId = 'RVS'"; + $follower = find_follow($user_id); if ((in_array($user_id, array('M0008', 'M0012'))) || (in_array(accountidToDepartId($user_id), array('220', '210', '501')))) { } else { $sql .= " AND (siam.PersonId = '$user_id'"; + $sql_writeOff .= " AND (arCheckBill.PersonId = '$user_id'"; if (count($follower) > 0) { $column_str = "('$user_id'" . ",'"; $column_str .= implode("','", $follower); $column_str .= "')"; $sql .= " OR siam.PersonId IN $column_str OR cd.LeaderId = '$user_id')"; + $sql_writeOff .= " OR arCheckBill.PersonId IN $column_str OR cd.LeaderId = '$user_id')"; } else { $sql .= " OR cd.LeaderId = '$user_id')"; + $sql_writeOff .= " OR cd.LeaderId = '$user_id')"; }; } + if (!is_null($start_date)) { $start_date = (int)date('Ymd', strtotime($start_date)); $sql .= " AND siam.CU_ContractStart >= $start_date "; @@ -102,39 +112,23 @@ if (!is_null($end_SignDate)) { $end_SignDate = (int)date('Ymd', strtotime($end_SignDate)); $sql .= " AND siam.BillDate <= $end_SignDate "; } -$sql .= " GROUP BY -siam.PersonId, -cp.PersonName, -cd.DeptId, -cd.DeptName, -cd.LeaderId, -lcp.PersonName, -siam.BizPartnerId, -cbp.BizPartnerName, -siamd.RowCode, -siam.BillNo, -siamd.ProjectId, -siamd.CU_EstPayDate, -siamd.UnTransCheckBLAmtWTax, -siamd.HadTransCheckBLAmtWTax, -siamd.OAmountWithTax, -siamd.CU_MaterialId, -acb_tmp.BillNo2, -acb_tmp.RowCode2, -acb_tmp.checkOAmount, -asim.BillNo, -asim.InvoiceName, -asim.OAmountWithTax, -asi.InvoiceNo, -asi.InvoiceTime, -writeoff.BillDate +$sql .= " ORDER BY siam.PersonId ASC, siam.BillNo ASC, siamd.RowCode ASC"; +$sql_writeOff.=" GROUP BY +wod.FromBillNo +,arCheckBill.LAmountWithTax"; +$writeoff = array(); $query_T8 = $conn->query($sql); $rows = $query_T8->fetchAll(PDO::FETCH_ASSOC); +$query_writeoff = $conn->query($sql_writeOff); +foreach($query_writeoff->fetchAll(PDO::FETCH_ASSOC) as $row){ + $writeoff[$row['checkBillNo']]= ($row['TotalWriteOffAmount']==$row['LAmountWithTax'])?'V':'X'; +} + $today = strtotime(date('Ymt')); $table = ""; for ($i = 0; $i < count($rows); $i++) { @@ -142,21 +136,29 @@ for ($i = 0; $i < count($rows); $i++) { $tmpname = $row['ProjectId'] . $row['RowCode']; $data[$tmpname] = $row; $data[$tmpname]['CU_EstPayDate'] = date('Y-m-d', strtotime($row['CU_EstPayDate'])); + $receivable_date = $data[$tmpname]['CU_EstPayDate']; $data[$tmpname]['havetopay'] = strtotime($row['CU_EstPayDate']) > $today ? '--' : 'V'; - $datahavetopay = $row['CU_EstPayDate'] > $today ? 0 : 1; + $datahavetopay = strtotime($row['CU_EstPayDate']) > $today ? 0 : 1; $data[$tmpname]['collecttime'] = collect_month(strtotime($row['CU_EstPayDate'])); - $invoicedate = is_null($row['InvoiceTime']) ? null : date('Y-m-d', strtotime($row['InvoiceTime'])); - $tableinvoice_state = is_null($invoicedate) ? 0 : 1; + $data[$tmpname]['invoicedate'] = is_null($row['InvoiceTime']) ? null : date('Y-m-d', strtotime($row['InvoiceTime'])); + $invoicedate = $data[$tmpname]['invoicedate']; + $data[$tmpname]['invoice'] = is_null($data[$tmpname]['invoicedate']) ? 0 : 1; + if(!is_null($data[$tmpname]['checkBillNo']) && isset($writeoff[$data[$tmpname]['checkBillNo']])){ + $data[$tmpname]['WriteOff'] = $writeoff[$data[$tmpname]['checkBillNo']]; + }else{ + $data[$tmpname]['WriteOff'] = '--'; + } $contract_no = $row['ProjectId']; $facility_no = $row['CU_MaterialId']; $RowCode = $row['RowCode']; $BillNo = $row['BillNo']; - $receivable_date = date('Y-m-d', strtotime($row['CU_EstPayDate'])); + $data[$tmpname]['receivable_date'] = date('Y-m-d', strtotime($row['CU_EstPayDate'])); $budget = $row['OAmountWithTax']; $invoiceNo = $row['InvoiceNo']; - $invoice_budget = is_null($row['InvoiceOAmount']) ? 0 : $row['InvoiceOAmount']; - $table_writeoff_date = is_null($row['WriteOffDate']) ? null : date('Y-m-d', strtotime($row['WriteOffDate'])); - $table_writeoff_amount = is_null($row['TotalCurrStandOffOAmount']) ? 0 : $row['TotalCurrStandOffOAmount']; + $tableinvoice_state = is_null($invoiceNo) ? 0 : 1; + $data[$tmpname]['invoice_budget'] = is_null($row['InvoiceOAmount']) ? 0 : $row['InvoiceOAmount']; + $invoice_budget = $data[$tmpname]['invoice_budget']; + $table_writeoff = ($data[$tmpname]['WriteOff'] =='V') ? 1 : 0; $table1 = "INSERT INTO account_receivable_maintainance( `contract_no`, `facility_no`, @@ -167,7 +169,7 @@ for ($i = 0; $i < count($rows); $i++) { `receivable`, `invoice_state`, `invoice_budget`, - `received_budget` + `received` "; $table2 = ") VALUES( '$contract_no', @@ -179,12 +181,10 @@ for ($i = 0; $i < count($rows); $i++) { $datahavetopay, $tableinvoice_state, $invoice_budget, - $table_writeoff_amount + $table_writeoff "; $table1 .= is_null($invoicedate) ? "" : ",`invoice_date`"; $table2 .= is_null($invoicedate) ? "" : ",'$invoicedate'"; - $table1 .= is_null($table_writeoff_date) ? "" : ",`received_date`"; - $table2 .= is_null($table_writeoff_date) ? "" : ",'$table_writeoff_date'"; $table1 .= is_null($invoiceNo) ? "" : ",`invoice_no`"; $table2 .= is_null($invoiceNo) ? "" : ",'$invoiceNo'"; $table .= $table1 . $table2 . "); \n"; @@ -249,17 +249,17 @@ for ($i = 0; $i < count($rows); $i++) { } -
+

應收帳款(保養)


-
+ @@ -271,7 +271,7 @@ for ($i = 0; $i < count($rows); $i++) { @@ -286,19 +286,17 @@ for ($i = 0; $i < count($rows); $i++) { - + @@ -314,10 +312,10 @@ for ($i = 0; $i < count($rows); $i++) { -
+
@@ -351,18 +349,15 @@ include "./footer.php";
- + - - - - + + + @@ -373,17 +368,16 @@ include "./footer.php"; - + - - - - - + + + + @@ -405,30 +399,29 @@ include "./footer.php"; } } } + // function downloadData() { + // var xhr = new XMLHttpRequest(); + // var url = window.location.origin + "/wms/account-receivable-renovate-excel.php?type=all&"; + // xhr.open('POST', url, true); + // xhr.setRequestHeader('Content-Type', 'application/json'); + // xhr.onreadystatechange = function() { + // if (xhr.readyState === 4 && xhr.status === 200) { + // var file_path = xhr.responseText; + // var link = document.createElement('a'); + // var name = "汰改應收帳款" + "" + ".xlsx"; + // link.setAttribute('href', window.location.origin + "/wms/account-receivable-renovate.xlsx"); + // link.setAttribute('download', name); + // link.style.display = 'none'; + // document.body.appendChild(link); + // link.click(); + // document.body.removeChild(link); + // } + // } + // xhr.send(JSON.stringify({ + // Bill: + // })); - function downloadData() { - var xhr = new XMLHttpRequest(); - var url = window.location.origin + "/wms/account-receivable-renovate-excel.php?type=all&"; - xhr.open('POST', url, true); - xhr.setRequestHeader('Content-Type', 'application/json'); - xhr.onreadystatechange = function() { - if (xhr.readyState === 4 && xhr.status === 200) { - var file_path = xhr.responseText; - var link = document.createElement('a'); - var name = "汰改應收帳款" + "" + ".xlsx"; - link.setAttribute('href', window.location.origin + "/wms/account-receivable-renovate.xlsx"); - link.setAttribute('download', name); - link.style.display = 'none'; - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - } - } - xhr.send(JSON.stringify({ - Bill: - })); - - } + // } function searchFront(area) { var term = 'search_' + area;
- +
催收次數 - + ≤ 催收次數 ≤ - - +
催收金額款別金額 - ≤ 催收金額 ≤ + ≤ 款別金額 ≤ -
序號 作番號 部門主管 契約員 客戶名稱 應收日期 是否應收應收金額已收金額催收金額款別金額是否收齊催收次數
" . $row['DeptName']; ?>" . $row['LeaderName']; ?> " . $row['PersonName']; ?> " . $row['BizPartnerName']; ?> 1))? $row['collecttime']:0; ?>