From 958de80c23215700a6fceb34117103e67dd4510d Mon Sep 17 00:00:00 2001 From: "gary_chen\\gary_chen" Date: Fri, 2 Feb 2024 09:18:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=9F=E6=87=89=E6=94=B6=E6=9C=89=E9=97=9C?= =?UTF-8?q?=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/fix_contract_payment_status.php | 308 +++++++++++++++++ wms/maintainance_contract_payment_status.php | 14 +- wms/maintainance_contract_payment_status2.php | 181 ++++++++++ ...tainance_contract_payment_status_modal.php | 325 ++++++++++++++++++ wms/wipwhole-rec-invoice-edit.php | 10 +- wms/wipwhole-renovate-rec-invoice-edit.php | 6 +- 6 files changed, 831 insertions(+), 13 deletions(-) create mode 100644 wms/fix_contract_payment_status.php create mode 100644 wms/maintainance_contract_payment_status2.php create mode 100644 wms/maintainance_contract_payment_status_modal.php diff --git a/wms/fix_contract_payment_status.php b/wms/fix_contract_payment_status.php new file mode 100644 index 00000000..9cf2ea9a --- /dev/null +++ b/wms/fix_contract_payment_status.php @@ -0,0 +1,308 @@ +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 "
";
+// echo $sql;
+// echo "
"; +// 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 "" . collect_month(strtotime($BillDate)) . ""; + } else { + return "" . collect_month(strtotime($BillDate)) . ""; + } +} + +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'])) . "
"; + } + return $str; +} + +?> + + + + + + + + +
+
+ + + + + + + + + + + + + +
+

修理-應收款項明細

+
單據號 + + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
營業人員/契約人員部門單據號客戶名稱單據日期催收次數金額發票狀態收款狀態修理明細
+ "; + echo $row['PersonName']; + ?> + + + + + + + + + + + + + + 已開發票' + : '未開發票'; ?> + + 已收款' + : '未收款'; ?> + + +
+
+ +There is no record!"; +endif; + +#代表結束連線 +mysqli_close($link); + +include "footer.php"; +?> \ No newline at end of file diff --git a/wms/maintainance_contract_payment_status.php b/wms/maintainance_contract_payment_status.php index bad4ee04..58fb6f74 100644 --- a/wms/maintainance_contract_payment_status.php +++ b/wms/maintainance_contract_payment_status.php @@ -10,12 +10,10 @@ $contractno = getContractnoDetails($link, $user_id, $department_id, $contractno) $sql = " SELECT - TOP 1000 + TOP 100 siam.PersonId, cd.DeptName, - -- mcp.PersonName, - -- mcp.DeptId, - -- mcp.DeptName, + cbp.BizPartnerName, siamd.RowNo, siamd.RowCode, siam.BillNo, @@ -28,7 +26,7 @@ $sql = " asim.BillNo AS BillNo3, asim.InvoiceName, asim.OAmountWithTax, - asi.InvoiceNo + asi.InvoiceNo FROM salIncomeApplyMaster AS siam -- 收入申請單 LEFT JOIN salIncomeApplyDetail AS siamd -- 收入申請單明細 ON siam.BillNo = siamd.BillNo @@ -58,6 +56,8 @@ $sql .= " AND asim.RowCode = acb_tmp.RowCode2 LEFT JOIN arSellInvoice AS asi ON asim.BillNo = asi.BillNo + LEFT JOIN comBusinessPartner AS cbp + ON siam.BizPartnerId = cbp.BizPartnerId WHERE 1 = 1 "; $sql .= !empty($contractno) ? " AND siam.BillNo IN ($contractno)" : ""; @@ -325,6 +325,7 @@ if ($data) : 合約號 標示號 電梯編號 + 客戶名稱 預計請款日 催收次數 應收申請單狀態 @@ -362,6 +363,9 @@ if ($data) : + + + diff --git a/wms/maintainance_contract_payment_status2.php b/wms/maintainance_contract_payment_status2.php new file mode 100644 index 00000000..c3f15c9a --- /dev/null +++ b/wms/maintainance_contract_payment_status2.php @@ -0,0 +1,181 @@ + + + +
+
+ + + + + + + + + + + + + +
+

保養合約-應收款項明細

+
合約號 + + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
營業人員/契約人員部門合約號標示號電梯編號客戶名稱預計請款日催收次數應收申請單狀態請款金額(未轉應收)請款金額(已轉應收)應收申請單號發票狀態發票單標示號發票單號發票明細發票金額發票號碼核銷
+
+ + + + \ No newline at end of file diff --git a/wms/maintainance_contract_payment_status_modal.php b/wms/maintainance_contract_payment_status_modal.php new file mode 100644 index 00000000..7423263e --- /dev/null +++ b/wms/maintainance_contract_payment_status_modal.php @@ -0,0 +1,325 @@ +未轉應收確認單"; + } else { + return "已轉應收確認單"; + } + } 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 "未開發票"; + } else { + return "已開發票"; + } + } else { + return "時間未到"; + } +} + +function checkCollectMonth($row) +{ + $CU_EstPayDate = $row['CU_EstPayDate']; + if (collect_month(strtotime($CU_EstPayDate)) >= 3) { + return "" . collect_month(strtotime($CU_EstPayDate)) . ""; + } else { + return "" . collect_month(strtotime($CU_EstPayDate)) . ""; + } +} + +function checkArWriteOffBill($conn, $row) +{ + $BillNo = $row['BillNo2']; + + $sql = " + SELECT + * + 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 "未收款"; + } else { + return "已收款"; + } +} + +function getAllCount($conn, $sql) +{ + $result = $conn->query($sql); + $count = 0; + foreach ($result as $row) { + $count++; + } + return $count; +} + +// 設置一個空陣列來放資料 +$data = array(); + +$columns = array( + 'PersonId', + 'DeptName', + 'BillNo', + 'RowNo', + 'CU_MaterialId', + 'BizPartnerName', + 'CU_EstPayDate', + // 'checkCollectMonth', + // 'checkArCheckBillStatus', + 'UnTransCheckBLAmtWTax', + 'HadTransCheckBLAmtWTax', + 'BillNo2', + 'arSellInvoiceMaterial', + 'RowCode2', + 'BillNo3', + 'InvoiceName', + 'OAmountWithTax', + 'InvoiceNo', + 'checkArWriteOffBill' +); + +$user_id = empty($_POST['user_id']) ? null : $_POST['user_id']; +$department_id = accountidToDepartId($user_id); +$contractno = empty($_POST['contractno']) ? '' : getContractnoDetails($link, $user_id, $department_id, $_POST['contractno']); +$draw = $_POST['draw']; +$start = $_POST['start']; +$length = $_POST['length']; +$order_column = $_POST['order'][0]['column']; +$order_dir = $_POST['order'][0]['dir']; + +$sql = " + SELECT + siam.PersonId, + cd.DeptName, + cbp.BizPartnerName, + 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 comPerson AS cp -- 員工主檔 + ON siam.PersonId = cp.PersonId + LEFT JOIN comDepartment AS cd -- 部門主檔 + ON cp.DeptId = cd.DeptId + 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 + LEFT JOIN comBusinessPartner AS cbp + ON siam.BizPartnerId = cbp.BizPartnerId + WHERE 1 = 1 +"; +$sql .= !empty($contractno) ? " AND siam.BillNo IN ($contractno)" : ""; +if (!empty($_POST['search']['value'])) { + + $sql .= " + AND ( + siam.PersonId LIKE '%" . $_POST['search']['value'] . "%' + OR cd.DeptName LIKE '%" . $_POST['search']['value'] . "%' + OR cbp.BizPartnerName LIKE '%" . $_POST['search']['value'] . "%' + OR siam.BillNo LIKE '%" . $_POST['search']['value'] . "%' + OR siamd.CU_MaterialId LIKE '%" . $_POST['search']['value'] . "%' + OR asi.InvoiceNo LIKE '%" . $_POST['search']['value'] . "%' + OR asim.InvoiceName LIKE '%" . $_POST['search']['value'] . "%' + OR siamd.CU_EstPayDate LIKE '%" . $_POST['search']['value'] . "%' + OR siamd.UnTransCheckBLAmtWTax LIKE '%" . $_POST['search']['value'] . "%' + OR siamd.HadTransCheckBLAmtWTax LIKE '%" . $_POST['search']['value'] . "%' + OR acb_tmp.BillNo2 LIKE '%" . $_POST['search']['value'] . "%' + OR asim.OAmountWithTax LIKE '%" . $_POST['search']['value'] . "%' + OR siamd.RowNo LIKE '%" . $_POST['search']['value'] . "%' + OR siamd.RowCode LIKE '%" . $_POST['search']['value'] . "%' + OR acb_tmp.RowCode2 LIKE '%" . $_POST['search']['value'] . "%' + ) + "; +} +$count = getAllCount($conn, $sql); +$sql .= " ORDER BY " . $columns[$order_column] . " " . $order_dir; +$sql .= " OFFSET $start ROWS FETCH NEXT $length ROWS ONLY "; + +$result = $conn->query($sql); +$data = []; + +foreach ($result as $row) { + $tmp = []; + $tmp['PersonId'] = $row['PersonId'] . "
" . accountidToName($row['PersonId']); + $tmp['DeptName'] = $row['DeptName']; + $tmp['BillNo'] = $row['BillNo']; + $tmp['RowNo'] = $row['RowNo']; + $tmp['CU_MaterialId'] = $row['CU_MaterialId']; + $tmp['BizPartnerName'] = $row['BizPartnerName']; + $tmp['CU_EstPayDate'] = date('Y/m/d', strtotime($row['CU_EstPayDate'])); + $tmp['checkCollectMonth'] = checkCollectMonth($row); + $tmp['checkArCheckBillStatus'] = checkArCheckBillStatus($row); + $tmp['UnTransCheckBLAmtWTax'] = number_format(intval($row['UnTransCheckBLAmtWTax']), 0, '', ','); + $tmp['HadTransCheckBLAmtWTax'] = number_format(intval($row['HadTransCheckBLAmtWTax']), 0, '', ','); + $tmp['BillNo2'] = $row['BillNo2']; + $tmp['arSellInvoiceMaterial'] = arSellInvoiceMaterial($row); + $tmp['RowCode2'] = $row['RowCode2']; + $tmp['BillNo3'] = $row['BillNo3']; + $tmp['InvoiceName'] = $row['InvoiceName']; + $tmp['OAmountWithTax'] = number_format(intval($row['OAmountWithTax']), 0, '', ','); + $tmp['InvoiceNo'] = $row['InvoiceNo']; + $tmp['checkArWriteOffBill'] = checkArWriteOffBill($conn, $row); + array_push($data, $tmp); +} + +echo json_encode(array( + "draw" => intval($draw), + "recordsTotal" => $count, + "recordsFiltered" => $count, + "data" => $data +), JSON_UNESCAPED_UNICODE); diff --git a/wms/wipwhole-rec-invoice-edit.php b/wms/wipwhole-rec-invoice-edit.php index 4cc4847c..1ca6c6f9 100644 --- a/wms/wipwhole-rec-invoice-edit.php +++ b/wms/wipwhole-rec-invoice-edit.php @@ -1476,9 +1476,9 @@ include "wipwhole-rec-invoice-edit-submit.php"; QC合格日
- > + > - +
@@ -1494,10 +1494,10 @@ include "wipwhole-rec-invoice-edit-submit.php"; 官檢日
- > - > + > + > - +
diff --git a/wms/wipwhole-renovate-rec-invoice-edit.php b/wms/wipwhole-renovate-rec-invoice-edit.php index 6e149369..3d641fff 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit.php @@ -1488,10 +1488,10 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php"; 官檢日
- > - > + > + > - +