diff --git a/wms/account-receivable-renovate-index.php b/wms/account-receivable-renovate-index.php
index 502eeaea..a4f2f82e 100644
--- a/wms/account-receivable-renovate-index.php
+++ b/wms/account-receivable-renovate-index.php
@@ -59,10 +59,6 @@ SELECT * FROM account_received ";
// 設定權限:看到自己的/下屬的,資訊處跟財會處可以看全部的
if ((in_array($user_id, array('M0060', 'M0175'))) || (in_array(accountidToDepartId($user_id), array('220', '210')))) {
} else {
-<<<<<<< HEAD
- // $sql_received .= " AND (PersonId = '$user_id'";
-=======
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$sql_opening .= " OR person_id = '$user_id'";
$sql_contractNumber .= " AND (PersonId = '$user_id'";
if (count($follower) > 0) {
@@ -72,10 +68,6 @@ if ((in_array($user_id, array('M0060', 'M0175'))) || (in_array(accountidToDepart
$sql_contractNumber .= " OR PersonId IN $column_str)";
$sql_opening .= " OR person_id IN $column_str)";
} else {
-<<<<<<< HEAD
- // $sql_received .= ")";
-=======
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$sql_opening .= ")";
$sql_contractNumber .= ")";
};
@@ -386,77 +378,46 @@ foreach ($arrayData as &$value) {
switch ($facility['PayStage'][$stage]['name']) {
case (stristr($facility['PayStage'][$stage]['name'], '試車')):
if (isset($wipwhole_status[$fakey]['tryrun_end_date']) && $wipwhole_status[$fakey]['tryrun_end_date'] !== NULL && !empty($wipwhole_status[$fakey]['tryrun_end_date'])) {
-<<<<<<< HEAD
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
-=======
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['tryrun_end_date'])));
}
break;
case (stristr($facility['PayStage'][$stage]['name'], '完工')):
if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
-<<<<<<< HEAD
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
-=======
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date'])));
}
break;
case (stristr($facility['PayStage'][$stage]['name'], '尾款')):
if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
-<<<<<<< HEAD
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
-=======
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date'])));
}
break;
case (stristr($facility['PayStage'][$stage]['name'], '交車')):
if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
-<<<<<<< HEAD
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
-=======
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date'])));
}
break;
case (stristr($facility['PayStage'][$stage]['name'], '驗收')):
if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
-<<<<<<< HEAD
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
-=======
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date'])));
}
break;
case (stristr($facility['PayStage'][$stage]['name'], '安裝')):
if (isset($wipwhole_status[$fakey]['install_end_date']) && $wipwhole_status[$fakey]['install_end_date'] !== NULL && !empty($wipwhole_status[$fakey]['install_end_date'])) {
-<<<<<<< HEAD
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
-=======
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['install_end_date'])));
}
break;
case (stristr($facility['PayStage'][$stage]['name'], '貨抵工地')):
if (isset($wipwhole_status[$fakey]['real_arrival_date']) && $wipwhole_status[$fakey]['real_arrival_date'] !== NULL && !empty($wipwhole_status[$fakey]['real_arrival_date'])) {
-<<<<<<< HEAD
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
- $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['real_arrival_date'])));
- } elseif (isset($wipwhole_status[$fakey]['real_contract_arrival_date']) && $wipwhole_status[$fakey]['real_contract_arrival_date'] !== NULL && !empty($wipwhole_status[$fakey]['real_contract_arrival_date'])) {
- $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
-=======
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['real_arrival_date'])));
} elseif (isset($wipwhole_status[$fakey]['real_contract_arrival_date']) && $wipwhole_status[$fakey]['real_contract_arrival_date'] !== NULL && !empty($wipwhole_status[$fakey]['real_contract_arrival_date'])) {
$haveNumber = ((int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT)) - 1;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['real_contract_arrival_date'])));
}
break;
@@ -550,35 +511,6 @@ foreach ($final_paystage as $key => &$payStage) {
}
}
-<<<<<<< HEAD
-// foreach ($arrayData as &$value) {
-// if (is_iterable($value['facility'])) {
-// foreach ($value['facility'] as $fakey => &$facility) {
-// // foreach ($facility['PayStage'] as $index => &$payStage) {
-// // // $payStage['sequenceNumber'] = $allPayStages[$value[10]][$index]['sequenceNumber'];
-// // echo $index." => ";
-// // print_r($payStage);
-// // echo "
";
-// // }
-// echo $fakey." => ";
-// print_r($facility);
-// echo "
";
-// }
-// }
-// print_r($value);
-// echo "---------------------
";
-// }
-// foreach ($final_paystage as $key => $payStage) {
-// echo $key . "
";
-// for ($sequence = 1; $sequence <= count($payStage); $sequence++) {
-// print_r($payStage[$sequence]);
-// echo "
";
-// }
-// echo "---------------------
";
-// }
-// exit();
-=======
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
// 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 9 T8單據日期 10 合約號
// 0 合約號 1 作番號 2 部門id 3 部門名稱 4 經理名稱 5 營業員id 6 營業員名稱 7 客戶名稱 8 抬頭 9 統編 10 通訊地址
// 11 收款階段名稱 12 應收日期 13 收款金額 14 已開金額 15 已收金額 16 催收次數
@@ -587,10 +519,6 @@ $today = strtotime(date('Ymt'));
foreach ($arrayData as $key => $value) {
if (isset($final_paystage[$key])) {
for ($sequence = 1; $sequence <= count($final_paystage[$key]); $sequence++) {
-<<<<<<< HEAD
- $keyname = $key . $final_paystage[$key][$sequence]['sequenceNumber'];
-=======
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
$value[4] = (isset($value[4]) && !empty($value[4])) ? $value[4] : '--';
$value[5] = (isset($value[5]) && !empty($value[5])) ? $value[5] : '--';
$value[6] = (isset($value[6]) && !empty($value[6])) ? $value[6] : '--';
@@ -599,23 +527,16 @@ foreach ($arrayData as $key => $value) {
$value[11] = (isset($value[11]) && !empty($value[11])) ? $value[11] : '--';
$value[12] = (isset($value[12]) && !empty($value[12])) ? date('Y/m/d', strtotime($value[12])) : '--';
$thisPayStage = $final_paystage[$key][$sequence];
-<<<<<<< HEAD
- $havetopay = ($today >= $thisPayStage['PlanPayDate']) ? "V" : "--";
-=======
$keyname = $key . "/" . $final_paystage[$key][$sequence]['facilityno'] . "/" . $value[5];
$havetopay = ($today >= strtotime($thisPayStage['PlanPayDate'])) ? "V" : "--";
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
switch ($havetopay) {
case "V":
$unInvoiceAmount = $thisPayStage['PayAmount'] - $thisPayStage['InvoiceAmount'];
$unReceivedAmount = $thisPayStage['PayAmount'] - $thisPayStage['receivedAmount'];
break;
default:
-<<<<<<< HEAD
-=======
$unInvoiceAmount = 0;
$unReceivedAmount = 0;
->>>>>>> ea503fbee65cc2bb5ce9442e618db9c6878a09cb
break;
}
$excel_aray[$keyname] = [
@@ -689,11 +610,6 @@ $total_data = json_encode($excel_aray);
合約號 | @@ -724,13 +639,8 @@ include "./footer.php";||
---|---|---|
= $row[0]; ?> | = $row[1]; ?> | = $row[2] . " " . $row[3]; ?> |
@@ -753,8 +663,6 @@ include "./footer.php";
\ No newline at end of file
diff --git a/wms/account-receivable-repair-index.php b/wms/account-receivable-repair-index.php
index 6bddaaa0..49d50385 100644
--- a/wms/account-receivable-repair-index.php
+++ b/wms/account-receivable-repair-index.php
@@ -15,23 +15,89 @@ $average_A40002 = 0;
$average_A40009 = 0;
$average_A40010 = 0;
+/* 比較應收日期
+@param $a array
+@param $b array
+return int */
+function comparePlanPayDate($a, $b)
+{
+ return strtotime($a['PlanPayDate']) - strtotime($b['PlanPayDate']);
+}
+
+// 查WMS 契約員主管
+$sql_manager = "SELECT A.accountid, A.name, A.manager, B.name AS manager_name FROM account AS A
+LEFT JOIN account AS B ON A.manager = B.accountid ";
+$managers = mysqli_query($link, $sql_manager);
+
+$find_manager = array();
+foreach ($managers as $manager) {
+ $find_manager[$manager['accountid']] = $manager;
+}
$follower = find_follow($user_id);
-$arrayData = [];
+$arrayData = array();
$receivable_array = [];
// T8所有合約號
-$sql_contractNumber = "SELECT Distinct BillNo FROM salSalesOrder WHERE TypeId = 'SP' AND (CurrentState=2 OR CurrentState=4) ";
+$sql_contractNumber = "SELECT MainAll.* ,
+Person.PersonName,
+Dept.DeptName FROM
+ (SELECT
+Main.BillNo,
+Main.BillDate,
+Main.BizPartnerId,
+Biz.ShortName,
+Biz.BizPartnerName,
+Biz.ContactAddress,
+Main.OAmountWithTax,
+Main.PersonId,
+Main.DeptId,
+Main.TypeId,
+Main.CurrentState
+ FROM salSalesOrder AS Main
+ LEFT JOIN comBusinessPartner AS Biz ON Biz.BizPartnerId = Main.BizPartnerId) AS MainAll
+ LEFT JOIN comGroupPerson AS Person ON MainAll.PersonId= Person.PersonId
+ LEFT JOIN comDepartment AS Dept ON MainAll.DeptId= Dept.DeptId
+ WHERE MainAll.TypeId = 'SP' AND (MainAll.CurrentState=2 OR MainAll.CurrentState=4) ";
+if ((in_array($user_id, array('M0008', 'M0012'))) || (in_array(accountidToDepartId($user_id), array('220', '210', '501')))) {
+} else {
+ $sql_contractNumber .= " AND (MainAll.PersonId = '$user_id'";
+ if (count($follower) > 0) {
+ $column_str = "('$user_id'" . ",'";
+ $column_str .= implode("','", $follower);
+ $column_str .= "')";
+ $sql_contractNumber .= " OR MainAll.PersonId IN $column_str)";
+ } else {
+ $sql_contractNumber .= ")";
+ };
+}
+
+$contractNumbers = array();
+$query_contract_number = $conn->query($sql_contractNumber);
+if (is_iterable($query_contract_number)) {
+ foreach ($query_contract_number as $contract_numbers) {
+ array_push($contractNumbers, $contract_numbers['BillNo']);
+ $arrayData[$contract_numbers['BillNo']]['BillNo'] = $contract_numbers['BillNo'];
+ $arrayData[$contract_numbers['BillNo']]['BillDate'] = $contract_numbers['BillDate'];
+ $arrayData[$contract_numbers['BillNo']]['CustomerId'] = $contract_numbers['BizPartnerId'];
+ $arrayData[$contract_numbers['BillNo']]['CustomerAddress'] = $contract_numbers['ContactAddress'];
+ $arrayData[$contract_numbers['BillNo']]['OAmountWithTax'] = $contract_numbers['OAmountWithTax'];
+ $arrayData[$contract_numbers['BillNo']]['PersonId'] = $contract_numbers['PersonId'];
+ $arrayData[$contract_numbers['BillNo']]['DeptId'] = $contract_numbers['DeptId'];
+ $arrayData[$contract_numbers['BillNo']]['PersonName'] = $contract_numbers['PersonName'];
+ $arrayData[$contract_numbers['BillNo']]['DeptName'] = $contract_numbers['DeptName'];
+ $arrayData[$contract_numbers['BillNo']]['ShortName'] = $contract_numbers['ShortName'];
+ $arrayData[$contract_numbers['BillNo']]['ManagerId'] = $find_manager[$contract_numbers['PersonId']]['manager'];
+ $arrayData[$contract_numbers['BillNo']]['ManagerName'] = $find_manager[$contract_numbers['PersonId']]['manager_name'];
+ }
+ $str_numbers = "('" . implode("','", $contractNumbers) . "')";
+}
// T8發票 (有專案的發票)
-$sql_invoice = "SELECT DISTINCT
-a.InvoiceNo, a.InvoiceTime,a.OAmountWithTax,a.InvoiceState,
-b.FromSalSalesOrder
-FROM arSellInvoice as a
-LEFT JOIN (SELECT CH.FromSalSalesOrder, SE.* FROM arSellInvoiceMaterial AS SE
-LEFT JOIN arCheckBillDetail AS CH ON SE.FromBillNo=CH.BillNo) as b
-ON a.BillNo=b.BillNo
-WHERE DATALENGTH(b.FromSalSalesOrder)>0
-ORDER BY InvoiceTime ASC";
+$sql_invoice = "SELECT Detail.BillNo AS InvoiceBillNo, Detail.MaterialId, Detail.LAmountWithTax, Main.InvoiceNo, CheckAll.FromSalSalesOrder AS BillNo FROM arSellInvoiceMaterial AS Detail
+LEFT JOIN arSellInvoice AS Main ON Detail.BillNo=Main.BillNo
+LEFT JOIN (
+SELECT CheckDetail.BillNo, CheckDetail.FromSalSalesOrder FROM arCheckBillDetail AS CheckDetail ) AS CheckAll ON CheckAll.BillNo= Detail.FromBillNo
+WHERE Detail.ItemType=0";
// T8核銷
$sql_received = "SELECT
@@ -53,44 +119,77 @@ ON a.BillNo=c.BillNo
WHERE DATALENGTH(c.OrderBillNo) >0";
-// 期初收款資訊
-$sql_opening = "
-SELECT * FROM account_received ";
-// 設定權限:看到自己的/下屬的,資訊處跟財會處可以看全部的
-if ((in_array($user_id, array('M0060', 'M0175'))) || (in_array(accountidToDepartId($user_id), array('220', '210')))) {
-} else {
- $sql_opening .= " OR person_id = '$user_id'";
- $sql_contractNumber .= " AND (PersonId = '$user_id'";
- if (count($follower) > 0) {
- $column_str = "('$user_id'" . ",'";
- $column_str .= implode("','", $follower);
- $column_str .= "')";
- $sql_contractNumber .= " OR PersonId IN $column_str)";
- $sql_opening .= " OR person_id IN $column_str)";
- } else {
- $sql_opening .= ")";
- $sql_contractNumber .= ")";
- };
+//T8 銷售訂單 階段收款計畫
+$sql_paystage = "SELECT * from salOrderStagePay";
+if (isset($str_numbers)) {
+ $sql_paystage .= " WHERE BillNo IN $str_numbers ";
+ $sql_invoice .= " AND CheckAll.FromSalSalesOrder IN $str_numbers ";
}
-$contractNumbers = array();
-$query_contract_number = $conn->query($sql_contractNumber);
-foreach ($query_contract_number as $contract_numbers) {
- echo $contract_numbers['BillNo'];
- echo "