From 75854227fc3a2e87bcb50f1b55d86f042c812e72 Mon Sep 17 00:00:00 2001 From: Ellin Date: Tue, 2 Jan 2024 18:01:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=A9=A2=E9=87=8D=E8=A4=87=E5=A0=B1?= =?UTF-8?q?=E9=8A=B7=E7=99=BC=E7=A5=A8;=20rib02=E8=A8=AD=E5=AE=9A=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E9=87=8D=E8=A4=87=E5=A0=B1=E9=8A=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/account-receivable-index.php | 75 ++++++++++++++++++++++++++------ wms/rib-invoice-check.php | 60 +++++++++++++++++++++++++ wms/rib02-create.php | 20 ++++++++- wms/rib02-edit.php | 19 +++++++- wms/rib02-submit.php | 9 +++- 5 files changed, 166 insertions(+), 17 deletions(-) create mode 100644 wms/rib-invoice-check.php diff --git a/wms/account-receivable-index.php b/wms/account-receivable-index.php index 45f5d9f4..817c049b 100644 --- a/wms/account-receivable-index.php +++ b/wms/account-receivable-index.php @@ -515,7 +515,7 @@ foreach ($wipwhole_array as $wip) { } if (!empty($wip['tryrun_end_date']) && $wip['tryrun_end_date'] != NULL) { - if ( isset($arrayData[$wip['contractno']]['tryrun'][0]) && $arrayData[$wip['contractno']]['tryrun'][0] == "安裝試車後90天") { + if (isset($arrayData[$wip['contractno']]['tryrun'][0]) && $arrayData[$wip['contractno']]['tryrun'][0] == "安裝試車後90天") { $estimate_delivery_time = strtotime($wip['tryrun_end_date']); $tryruntime = $estimate_delivery_time + (90 * 86400); $month = collect_month($tryruntime); @@ -846,6 +846,8 @@ $excel_aray = array(); $boga_array = array(); $exclude_boga_array = array(); $facility_array = array(); +$facility_boga_array = array(); +$facility_exclude_boga_array = array(); foreach ($arrayData as $key => $value) { $value['sign'][3] = (isset($value['sign'][3])) ? $value['sign'][3] : 0; $value['second'][3] = (isset($value['second'][3])) ? $value['second'][3] : 0; @@ -916,7 +918,7 @@ foreach ($arrayData as $key => $value) { $val[$stage][6] = (!(isset($val[$stage][6])) || is_null($val[$stage][6])) ? 0 : $val[$stage][6]; } $facility_array[$valkey] = [ - $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], $val['sign'][0], $val['sign'][1], $val['sign'][2], $val['sign'][3], $val['sign'][4], $val['sign'][5], $val['sign'][6], $val['second'][0], $val['second'][1], $val['second'][2], $val['second'][3], $val['second'][4], $val['second'][5], $val['second'][6], $val['arrive'][0], $val['arrive'][1], $val['arrive'][2], $val['arrive'][3], $val['arrive'][4], $val['arrive'][5], $val['arrive'][6], @@ -927,19 +929,43 @@ foreach ($arrayData as $key => $value) { $val['final'][0], $val['final'][1], $val['final'][2], $val['final'][3], $val['final'][4], $val['final'][5], $val['final'][6], str_replace('
', '; ', $val['status']), $val['total_budget'], $val['receivable_budget'] ]; + if ($value['sign'][0] == "寶佳出貨前30天") { + $facility_boga_array[$valkey] = [ + $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], $val['sign'][1], $val['sign'][2], $val['sign'][3], $val['sign'][4], $val['sign'][5], $val['sign'][6], + $val['second'][0], $val['second'][1], $val['second'][2], $val['second'][3], $val['second'][4], $val['second'][5], $val['second'][6], + $val['arrive'][0], $val['arrive'][1], $val['arrive'][2], $val['arrive'][3], $val['arrive'][4], $val['arrive'][5], $val['arrive'][6], + $val['install'][0], $val['install'][1], $val['install'][2], $val['install'][3], $val['install'][4], $val['install'][5], $val['install'][6], + $val['tryrun'][0], $val['tryrun'][1], $val['tryrun'][2], $val['tryrun'][3], $val['tryrun'][4], $val['tryrun'][5], $val['tryrun'][6], + $val['check'][0], $val['check'][1], $val['check'][2], $val['check'][3], $val['check'][4], $val['check'][5], $val['check'][6], + $val['delivery'][0], $val['delivery'][1], $val['delivery'][2], $val['delivery'][3], $val['delivery'][4], $val['delivery'][5], $val['delivery'][6], + $val['final'][0], $val['final'][1], $val['final'][2], $val['final'][3], $val['final'][4], $val['final'][5], $val['final'][6], + str_replace('
', '; ', $val['status']), $val['total_budget'], $val['receivable_budget'] + ]; + } else { + $facility_exclude_boga_array[$valkey] = [ + $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], + $val['sign'][0], $val['sign'][1], $val['sign'][2], $val['sign'][3], $val['sign'][4], $val['sign'][5], $val['sign'][6], + $val['second'][0], $val['second'][1], $val['second'][2], $val['second'][3], $val['second'][4], $val['second'][5], $val['second'][6], + $val['arrive'][0], $val['arrive'][1], $val['arrive'][2], $val['arrive'][3], $val['arrive'][4], $val['arrive'][5], $val['arrive'][6], + $val['install'][0], $val['install'][1], $val['install'][2], $val['install'][3], $val['install'][4], $val['install'][5], $val['install'][6], + $val['tryrun'][0], $val['tryrun'][1], $val['tryrun'][2], $val['tryrun'][3], $val['tryrun'][4], $val['tryrun'][5], $val['tryrun'][6], + $val['check'][0], $val['check'][1], $val['check'][2], $val['check'][3], $val['check'][4], $val['check'][5], $val['check'][6], + $val['delivery'][0], $val['delivery'][1], $val['delivery'][2], $val['delivery'][3], $val['delivery'][4], $val['delivery'][5], $val['delivery'][6], + $val['final'][0], $val['final'][1], $val['final'][2], $val['final'][3], $val['final'][4], $val['final'][5], $val['final'][6], + str_replace('
', '; ', $val['status']), $val['total_budget'], $val['receivable_budget'] + ]; + } } } -// foreach($facility_array as $key=>$value){ -// echo $key; -// echo '
'; -// print_r($value); -// echo '

'; -// } + $data = json_encode($excel_aray); $boga_data = json_encode($boga_array); $exclude_boga_data = json_encode($exclude_boga_array); $facility_data = json_encode($facility_array); +$facility_boga_data = json_encode($facility_boga_array); +$facility_exclude_boga_data = json_encode($facility_exclude_boga_array); ?> -
- - - + + +
+
+ + +
"; diff --git a/wms/rib-invoice-check.php b/wms/rib-invoice-check.php new file mode 100644 index 00000000..e693864c --- /dev/null +++ b/wms/rib-invoice-check.php @@ -0,0 +1,60 @@ +"; + if (isset($array[$InvoiceNo])) { + if (in_array($value['BillNo'], $array[$InvoiceNo]['BillNo'])) { + } else { + array_push($array[$InvoiceNo]['BillNo'], $value['BillNo']); + array_push($array[$InvoiceNo]['InvoiceNo'], $value['InvoiceNo']); + $repeat_array[$InvoiceNo]['BillNo']= $array[$InvoiceNo]['BillNo']; + $repeat_array[$InvoiceNo]['InvoiceNo']= $array[$InvoiceNo]['InvoiceNo']; + } + } else { + // $array[$InvoiceNo] = array($value['BillNo']); + $array[$InvoiceNo]['BillNo']= array($value['BillNo']); + $array[$InvoiceNo]['InvoiceNo']=array($value['InvoiceNo']); + } +} +$duplicate = "("; +foreach($repeat_array as $repeat){ + $tmp = "'"; + $tmp .= implode("','",$repeat['InvoiceNo']); + $tmp .="'"; + $duplicate .= $tmp.","; +} + +$duplicate = substr($duplicate,0,-1); +$duplicate.=")"; +// // echo $repeat."
"; +$sql_repeat = "SELECT +A.rib_id,A.BillNo, A.CurrentState, A.CreatorId,C.name,B.InvoiceNo, A.GatheringPersonId,A.WriteOffAmount,A.CreateTime +FROM `rib_sub` AS B +LEFT JOIN `rib` AS A ON A.rib_id=B.rib_id +LEFT JOIN `account` AS C ON A.CreatorId=C.accountid +WHERE A.CurrentState IN (1,2,4) +AND B.InvoiceNo IN $duplicate ORDER BY B.InvoiceNo"; + + +$repeat_query = mysqli_query($link, $sql_repeat); +foreach($repeat_query as $value){ + echo $value['rib_id'].";".$value['BillNo'].";".$value['CurrentState'].";".$value['CreatorId'].";".$value['name'].";".$value['InvoiceNo'].";".$value['GatheringPersonId'].";".$value['WriteOffAmount'].";".$value['CreateTime']; + echo "
"; +} + +?> \ No newline at end of file diff --git a/wms/rib02-create.php b/wms/rib02-create.php index 109b266d..1b932eab 100644 --- a/wms/rib02-create.php +++ b/wms/rib02-create.php @@ -7,8 +7,10 @@ $CurrId = isset($_GET['CurrId']) ? $_GET['CurrId'] : null; $sql_rib = ""; if (empty($rib_id)) { $sql_rib = "SELECT * FROM rib WHERE BillNo = '$BillNo' && CurrentState=0"; + $sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE BillNo!==$BillNo"; } else { $sql_rib = "SELECT * FROM rib WHERE rib_id = $rib_id"; + $sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE rib_id!==$rib_id"; } $rib_query = mysqli_query($link, $sql_rib); if (mysqli_num_rows($rib_query) > 0) { @@ -114,7 +116,17 @@ foreach ($BizPartner as $biz) { array_push($BusinessPartner, $bizKey); $bizcount += 1; } +// 取得所有報銷過的發票號碼 + +$invoiceNo = mysqli_query($link, $sql_invoiceNo); +$invoiceNo_array = array(); +foreach ($invoiceNo as $invoice) { + array_push($invoiceNo_array, $invoice['InvoiceNo']); +} + + $BizJSON = json_encode($BusinessPartner); +$InvoiceJSON = json_encode($invoiceNo_array); $sql_Project = "SELECT * FROM comProject"; $projects = $conn->query($sql_Project); $sql_Material = "SELECT * FROM comMaterialGroup"; @@ -389,7 +401,7 @@ $materials = $conn->query($sql_Material);
- +
@@ -665,6 +677,12 @@ $materials = $conn->query($sql_Material); window.open('rib02-invoice.php', '發票範例', config = 'height=600, width=600'); } + function checkInvoice(){ + var invoiceArray = ; + if($.inArray($("#InvoiceNo").val(),invoiceArray) !== -1) { + alert("此發票已報銷過"); + $("#InvoiceNo").val('');} + } function changeWriteOffId(SelectedDept) { var SelectDeptId = 'WriteOff' + SelectedDept + '-'; diff --git a/wms/rib02-edit.php b/wms/rib02-edit.php index 647ca65a..7892870a 100644 --- a/wms/rib02-edit.php +++ b/wms/rib02-edit.php @@ -55,7 +55,18 @@ foreach ($BizPartner as $biz) { array_push($BusinessPartner, $bizKey); $bizcount += 1; } + +// 取得所有報銷過的發票號碼 +$rib_id = $ribsub['rib_id']; +$sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE rib_id !== $rib_id"; +$invoiceNo = mysqli_query($link, $sql_invoiceNo); +$invoiceNo_array = array(); +foreach ($invoiceNo as $invoice) { + array_push($invoiceNo_array, $invoice['InvoiceNo']); +} + $BizJSON = json_encode($BusinessPartner); +$InvoiceJSON = json_encode($invoiceNo_array); $sql_Project = "SELECT * FROM comProject"; $projects = $conn->query($sql_Project); $sql_Material = "SELECT * FROM comMaterialGroup"; @@ -410,7 +421,7 @@ $materials = $conn->query($sql_Material);
- +
@@ -683,6 +694,12 @@ $materials = $conn->query($sql_Material); window.open('rib02-invoice.php', '新視窗的名稱', config = 'height=600, width=600'); } + function checkInvoice(){ + var invoiceArray = ; + if($.inArray($("#InvoiceNo").val().replace("-", ""),invoiceArray) !== -1) { + alert("此發票已報銷過"); + $("#InvoiceNo").val('');} + } function changeWriteOffId(SelectedDept) { var SelectDeptId = 'WriteOff' + SelectedDept + '-'; diff --git a/wms/rib02-submit.php b/wms/rib02-submit.php index 16f837d9..592c69ff 100644 --- a/wms/rib02-submit.php +++ b/wms/rib02-submit.php @@ -15,6 +15,13 @@ foreach ($BizPartner as $biz) { $bizValue = $biz['BizPartnerName']; $BusinessPartner[$bizKey] = $bizValue; } +// 取得所有報銷過的發票號碼 +$sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE rib_id !== $rib_id"; +$invoiceNo = mysqli_query($link, $sql_invoiceNo); +$invoiceNo_array = array(); +foreach ($invoiceNo as $invoice) { + array_push($invoiceNo_array, $invoice['InvoiceNo']); +} $RowCode = $_POST['RowCode']; $FeeDate = $_POST['FeeDate']; @@ -35,7 +42,7 @@ $IsCounteract = $_POST['IsCounteract']; $InvoiceId = $_POST['InvoiceId']; $VoucherCount = empty($_POST['VoucherCount']) ? 1 : $_POST['VoucherCount']; $VoucherType = isset($_POST['VoucherType']) ? $_POST['VoucherType'] : 0; -$InvoiceNo = empty($_POST['InvoiceNo']) ? " ": $_POST['InvoiceNo']; +$InvoiceNo = empty($_POST['InvoiceNo']) ? " ": (in_array(str_replace("-", "",$_POST['InvoiceNo']), $invoiceNo_array) ? " ": str_replace("-", "",$_POST['InvoiceNo'])); $CurrLAmount = empty($_POST['CurrLAmount']) ? null : $_POST['CurrLAmount']; // $comSupplierName = empty($_POST['comSupplierName']) ? null : $_POST['comSupplierName'];