diff --git a/.gitignore b/.gitignore index a344fd2a..44e45c2f 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ wms/gary2.php wms/chinese.php phpinfo.php wms/account_receivable_sql_file.sql +wms/account_receivable_maintainance_sql.sql diff --git a/wms/T8_Authorization_from_bpm.php b/wms/T8_Authorization_from_bpm.php index 7d2ca5a8..c3592c3d 100644 --- a/wms/T8_Authorization_from_bpm.php +++ b/wms/T8_Authorization_from_bpm.php @@ -1,12 +1,10 @@ 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 "; +} +if (!is_null($end_date)) { + $end_date = (int)date('Ymd', strtotime($end_date)); + $sql .= " AND siam.CU_ContractStart <= $end_date "; +} +if (!is_null($start_SignDate)) { + $start_SignDate = (int)date('Ymd', strtotime($start_SignDate)); + $sql .= " AND siam.BillDate >= $start_SignDate "; +} +if (!is_null($end_SignDate)) { + $end_SignDate = (int)date('Ymd', strtotime($end_SignDate)); + $sql .= " AND siam.BillDate <= $end_SignDate "; +} +$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++) { + $row = $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 = strtotime($row['CU_EstPayDate']) > $today ? 0 : 1; + $data[$tmpname]['collecttime'] = collect_month(strtotime($row['CU_EstPayDate'])); + $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']; + $data[$tmpname]['receivable_date'] = date('Y-m-d', strtotime($row['CU_EstPayDate'])); + $budget = $row['OAmountWithTax']; + $invoiceNo = $row['InvoiceNo']; + $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`, + `RowCode`, + `BillNo`, + `receivable_date`, + `budget`, + `receivable`, + `invoice_state`, + `invoice_budget`, + `received` + "; + $table2 = ") VALUES( + '$contract_no', + '$facility_no', + '$RowCode', + '$BillNo', + '$receivable_date', + $budget, + $datahavetopay, + $tableinvoice_state, + $invoice_budget, + $table_writeoff + "; + $table1 .= is_null($invoicedate) ? "" : ",`invoice_date`"; + $table2 .= is_null($invoicedate) ? "" : ",'$invoicedate'"; + $table1 .= is_null($invoiceNo) ? "" : ",`invoice_no`"; + $table2 .= is_null($invoiceNo) ? "" : ",'$invoiceNo'"; + $table .= $table1 . $table2 . "); \n"; +} +// $file_path = 'account_receivable_maintainance_sql.sql'; +// if (file_put_contents($file_path, $table) !== false) { +// echo "SQL文件已成功生成:{$file_path}"; +// } else { +// echo "生成SQL文件时出现错误。"; +// } + +// foreach ($data as $key => $row) { +// echo $key . "
"; +// print_r($row); +// echo "
------------
"; +// } +// exit(); +?> + + + +
+
+

應收帳款(保養)

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
簽約日期 + + ~ + + + + +
合約日期 + + ~ + + +
催收次數 + + ≤ 催收次數 ≤ + +
款別金額 + + ≤ 款別金額 ≤ + +
+
+
+
+
+ + +
+
+ + +
+ + +
+
+ +
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + $row) { ?> + + + + + + + + + + + + + + + + + + +
合約號序號作番號部門契約員客戶名稱應收日期是否應收款別金額是否收齊催收次數
" . $row['DeptName']; ?>" . $row['PersonName']; ?>" . $row['BizPartnerName']; ?>
+
+ + \ No newline at end of file diff --git a/wms/account-receivable-new-index.php b/wms/account-receivable-new-index.php index 6515aa98..e2ac10a8 100644 --- a/wms/account-receivable-new-index.php +++ b/wms/account-receivable-new-index.php @@ -519,7 +519,7 @@ foreach ($PayStage_array as $key => &$value) { $estimate_time = strtotime($arrayData[$key]['PayStage'][1]['PlanPayDate']); $payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); break; - case (stristr($payvalue['PayStage'], '試車')): + case (stristr($payvalue['PayStage'], '試車') || $payvalue['PayStage'] == '安裝試車'): $payvalue['stage'] = '試車款'; if ($wip_array[$payvalue['facilityno']]['tryrun_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['tryrun_end_date'])) { $estimate_time = strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']); @@ -528,6 +528,15 @@ foreach ($PayStage_array as $key => &$value) { $payvalue['PlanPayDate'] = NULL; } break; + case (stristr($payvalue['PayStage'], '合格') || stristr($payvalue['PayStage'], '驗收') || stristr($payvalue['PayStage'], '驗收')): + $payvalue['stage'] = '官檢驗收款'; + if ($wip_array[$payvalue['facilityno']]['official_check_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['official_check_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['official_check_date'])) { + $estimate_time = strtotime($wip_array[$payvalue['facilityno']]['official_check_date']); + $payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); + } else { + $payvalue['PlanPayDate'] = NULL; + } + break; case (stristr($payvalue['PayStage'], '安裝') || stristr($payvalue['PayStage'], '貨抵工地且完工')): $payvalue['stage'] = '安裝款'; if ($wip_array[$payvalue['facilityno']]['install_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['install_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['install_end_date'])) { @@ -547,15 +556,7 @@ foreach ($PayStage_array as $key => &$value) { $payvalue['PlanPayDate'] = NULL; } break; - case (stristr($payvalue['PayStage'], '合格') || stristr($payvalue['PayStage'], '驗收') || stristr($payvalue['PayStage'], '驗收')): - $payvalue['stage'] = '官檢驗收款'; - if ($wip_array[$payvalue['facilityno']]['official_check_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['official_check_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['official_check_date'])) { - $estimate_time = strtotime($wip_array[$payvalue['facilityno']]['official_check_date']); - $payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); - } else { - $payvalue['PlanPayDate'] = NULL; - } - break; + case (stristr($payvalue['PayStage'], '交車') || stristr($payvalue['PayStage'], '移交') || stristr($payvalue['PayStage'], '完工') || stristr($payvalue['PayStage'], '許可') || stristr($payvalue['PayStage'], '核可')): $payvalue['stage'] = '交車款'; if ($wip_array[$payvalue['facilityno']]['delivery_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['delivery_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['delivery_date'])) { @@ -618,7 +619,7 @@ CheckAll.FromSalSalesOrder AS BillNo SELECT CheckDetail.BillNo, CheckDetail.FromSalSalesOrder, CheckDetail.RowNo FROM arCheckBillDetail AS CheckDetail ) AS CheckAll ON CheckAll.BillNo= Detail.FromBillNo AND Detail.FromRowCode = CheckAll.RowNo - WHERE Main.InvoiceState!=2 AND LEN(CheckAll.FromSalSalesOrder)>0"; + WHERE Main.InvoiceState!=2 AND LEN(CheckAll.FromSalSalesOrder)>0 AND Main.InvoiceDate > 20240229"; $query_invoice = $conn->query($sql_invoice); //發票資訊回填到arrayData @@ -629,53 +630,145 @@ foreach ($query_invoice as $invoice) { } //未在T8的收款資料 -$sql_wms = "SELECT * FROM account_received WHERE type='M' AND BillNo IN $str_numbers"; -$query_wms = mysqli_query($link, $sql_wms); -foreach ($query_wms as $wms) { - if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['invoice_budget'])) { - $arrayData[$wms['BillNo']]['invoice_budget'] += $wms['invoice_budget']; - } - if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['received_budget'])) { - $arrayData[$wms['BillNo']]['received_budget'] += $wms['received_budget']; - } -} +// $sql_wms = "SELECT * FROM account_received WHERE type='M' AND BillNo IN $str_numbers"; +// $query_wms = mysqli_query($link, $sql_wms); +// foreach ($query_wms as $wms) { +// if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['invoice_budget'])) { +// $arrayData[$wms['BillNo']]['invoice_budget'] += $wms['invoice_budget']; +// } +// if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['received_budget'])) { +// $arrayData[$wms['BillNo']]['received_budget'] += $wms['received_budget']; +// } +// } // 核銷資訊 -$sql_received = "SELECT -CheckDetail.OrderBillNo, -arWriteOffBillDetail.FromBillNo AS CheckBillNo, -arWriteOffBillDetail.FromRowCode AS CheckRowCode, -arWriteOffBillDetail.CurrStandOffOAmount, -CheckDetail.TypeId -FROM arWriteOffBillDetail - LEFT JOIN - (SELECT - arCheckBillDetail.BillNo, - arCheckBillDetail.RowCode, - arCheckBillDetail.FromSalSalesOrder AS OrderBillNo, - salSalesOrder.TypeId, - salSalesOrder.ModeId - FROM arCheckBillDetail - LEFT JOIN salSalesOrder - ON salSalesOrder.BillNo =arCheckBillDetail.FromSalSalesOrder ) - AS CheckDetail - ON CheckDetail.BillNo=arWriteOffBillDetail.FromBillNo AND arWriteOffBillDetail.FromRowCode = CheckDetail.RowCode -WHERE CheckDetail.ModeId = 'M'"; +// $sql_received = "SELECT +// CheckDetail.OrderBillNo, +// arWriteOffBillDetail.FromBillNo AS CheckBillNo, +// arWriteOffBillDetail.FromRowCode AS CheckRowCode, +// arWriteOffBillDetail.CurrStandOffOAmount, +// CheckDetail.TypeId +// FROM arWriteOffBillDetail +// LEFT JOIN +// (SELECT +// arCheckBillDetail.BillNo, +// arCheckBillDetail.RowCode, +// arCheckBillDetail.FromSalSalesOrder AS OrderBillNo, +// salSalesOrder.TypeId, +// salSalesOrder.ModeId +// FROM arCheckBillDetail +// LEFT JOIN salSalesOrder +// ON salSalesOrder.BillNo =arCheckBillDetail.FromSalSalesOrder ) +// AS CheckDetail +// ON CheckDetail.BillNo=arWriteOffBillDetail.FromBillNo AND arWriteOffBillDetail.FromRowCode = CheckDetail.RowCode +// WHERE CheckDetail.ModeId = 'M'"; +$sql_received = " +SELECT Detail.OrderBillNo, +Detail.CurrWriteOffLAmount, +Main.BillDate +FROM arWriteOffBillDetail AS Detail +LEFT JOIN arWriteOffBill AS Main +ON Detail.BillNo=Main.BillNo +WHERE Main.BillDate >20240229 AND LEN(Detail.OrderBillNo)>0"; $query_received = $conn->query($sql_received); // 核銷資訊回填到arrayData -foreach ($query_received as $received) { - if (isset($arrayData[$received['OrderBillNo']])) { - $arrayData[$received['OrderBillNo']]['received_budget'] += $received['CurrStandOffOAmount']; +if(is_iterable($query_received)){ + foreach ($query_received as $received) { + if (isset($arrayData[$received['OrderBillNo']])) { + $arrayData[$received['OrderBillNo']]['received_budget'] += $received['CurrWriteOffLAmount']; + } } } + +// 取WMS期初資料並依作番款別填入 $wms_initial +$wms_initial = array(); +$sql_initial = "SELECT * FROM account_receivable"; +$initail_data = mysqli_query($link, $sql_initial); +foreach ($initail_data as $initial) { + if ($initial['invoice_budget'] > 0) { + if (isset($wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'])) { + $wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'] += $initial['invoice_budget']; + } else { + $wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'] = $initial['invoice_budget']; + } + } + if ($initial['received_budget'] > 0) { + if (isset($wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'])) { + $wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'] += $initial['received_budget']; + } else { + $wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'] = $initial['received_budget']; + } + } +} + + // 將發票與核銷資訊 分別計算作番收款階段金額 與 催收次數 $today = strtotime(date('Y-m-t')); foreach ($final_paystage as $key => &$value) { $tmpinvoice = $arrayData[$key]['invoice_budget']; $tmpreceived = $arrayData[$key]['received_budget']; for ($sequenceNumber = 1; $sequenceNumber <= count($value); $sequenceNumber++) { + if (isset($value[$sequenceNumber]['stage'])) { + switch ($value[$sequenceNumber]['stage']) { + case '訂金': + $istage = 100; + break; + case '二次款': + $istage = 200; + break; + case '貨抵工地款': + $istage = 300; + break; + case '安裝款': + $istage = 400; + break; + case '試車款': + $istage = 500; + break; + case '官檢驗收款': + $istage = 600; + break; + case '交車款': + $istage = 700; + break; + case '尾款': + $istage = 800; + break; + } + } else { + $istage = 0; + } + if (isset($wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['invoice_budget'])) { + $value[$sequenceNumber]['invoice_budget'] = $wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['invoice_budget']; + } else { + if ($tmpinvoice > $value[$sequenceNumber]['PlanPayAmt']) { + $value[$sequenceNumber]['invoice_budget'] = $value[$sequenceNumber]['PlanPayAmt']; + $tmpinvoice = $tmpinvoice - $value[$sequenceNumber]['invoice_budget']; + } elseif ($tmpinvoice > 0) { + $value[$sequenceNumber]['invoice_budget'] = $tmpinvoice; + $tmpinvoice = 0; + } else { + $value[$sequenceNumber]['invoice_budget'] = 0; + } + } + + if (isset($wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['received_budget'])) { + $value[$sequenceNumber]['received_budget'] = $wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['received_budget']; + } else { + if ($tmpreceived > $value[$sequenceNumber]['PlanPayAmt']) { + $value[$sequenceNumber]['received_budget'] = $value[$sequenceNumber]['PlanPayAmt']; + $tmpreceived -= $value[$sequenceNumber]['received_budget']; + } elseif ($tmpreceived > 0) { + $value[$sequenceNumber]['received_budget'] = $tmpreceived; + $tmpreceived = 0; + } else { + $value[$sequenceNumber]['received_budget'] = 0; + } + } + + if (isset($value[$sequenceNumber]['PlanPayDate'])) { $collect_month = collect_month(strtotime($value[$sequenceNumber]['PlanPayDate'])); if ($today > strtotime($value[$sequenceNumber]['PlanPayDate'])) { @@ -687,24 +780,8 @@ foreach ($final_paystage as $key => &$value) { $collect_month = 0; $value[$sequenceNumber]['hadtopay'] = '--'; } - if ($tmpinvoice > $value[$sequenceNumber]['PlanPayAmt']) { - $value[$sequenceNumber]['invoice_budget'] = $value[$sequenceNumber]['PlanPayAmt']; - $tmpinvoice = $tmpinvoice - $value[$sequenceNumber]['invoice_budget']; - } elseif ($tmpinvoice > 0) { - $value[$sequenceNumber]['invoice_budget'] = $tmpinvoice; - $tmpinvoice = 0; - } else { - $value[$sequenceNumber]['invoice_budget'] = 0; - } - if ($tmpreceived > $value[$sequenceNumber]['PlanPayAmt']) { - $value[$sequenceNumber]['received_budget'] = $value[$sequenceNumber]['PlanPayAmt']; - $tmpreceived -= $value[$sequenceNumber]['received_budget']; - } elseif ($tmpreceived > 0) { - $value[$sequenceNumber]['received_budget'] = $tmpreceived; - $tmpreceived = 0; - } else { - $value[$sequenceNumber]['received_budget'] = 0; - } + + if ($collect_month > 0 && $value[$sequenceNumber]['PlanPayAmt'] > $value[$sequenceNumber]['received_budget']) { $value[$sequenceNumber]['collect_month'] = $collect_month; } else { @@ -714,7 +791,6 @@ foreach ($final_paystage as $key => &$value) { } - //合約資料填回arrayData foreach ($final_paystage as $key => $value) { for ($sequence = 1; $sequence <= count($value); $sequence++) { @@ -724,13 +800,16 @@ foreach ($final_paystage as $key => $value) { if ($arvalue['PayStage'] == $value[$sequence]['PayStage']) { if (isset($arvalue['receivable_budget']) && isset($arvalue['received_budget']) && isset($arvalue['invoice_budget'])) { $arvalue['received_budget'] += $value[$sequence]['received_budget']; + $arrayData[$key]['received_budget'] += $value[$sequence]['received_budget']; $arvalue['invoice_budget'] += $value[$sequence]['invoice_budget']; + $arrayData[$key]['invoice_budget'] += $value[$sequence]['invoice_budget']; if ($value[$sequence]['hadtopay'] == 'V') { $arvalue['receivable_budget'] += $value[$sequence]['PlanPayAmt']; $arrayData[$key]['receivable_budget'] += $value[$sequence]['PlanPayAmt']; - } else { - $arvalue['receivable_budget'] = 0; - } + } + // else { + // $arvalue['receivable_budget'] = 0; + // } if ($arvalue['collect_month'] < $value[$sequence]['collect_month']) { $arvalue['collect_month'] = $value[$sequence]['collect_month']; } @@ -746,7 +825,9 @@ foreach ($final_paystage as $key => $value) { $arvalue['receivable_budget'] = 0; } $arvalue['received_budget'] = $value[$sequence]['received_budget']; + $arrayData[$key]['received_budget'] += $value[$sequence]['received_budget']; $arvalue['invoice_budget'] = $value[$sequence]['invoice_budget']; + $arrayData[$key]['invoice_budget'] += $value[$sequence]['invoice_budget']; $arvalue['collect_month'] = $value[$sequence]['collect_month']; $sum_receivable_budget += $value[$sequence]['PlanPayAmt']; $sum_received_budget += $value[$sequence]['received_budget']; @@ -779,6 +860,7 @@ $excel_contract_boga_array = array(); $excel_contract_noboga_array = array(); $excel_facility_array = array(); + foreach ($arrayData as $key => &$value) { $excel_contract_array[$key] = array_fill(0, 76, ''); @@ -799,7 +881,7 @@ foreach ($arrayData as $key => &$value) { $excel_contract_array[$key][14] = (isset($value['receivable_budget']) && !is_null($value['receivable_budget'])) ? $value['receivable_budget'] : 0; $excel_contract_array[$key][15] = (isset($value['invoice_budget']) && !is_null($value['invoice_budget'])) ? number_format(round($value['invoice_budget'])) : '0'; $excel_contract_array[$key][16] = (isset($value['received_budget']) && !is_null($value['received_budget'])) ? $value['received_budget'] : 0; - $value['collect_budget'] = ($excel_contract_array[$key][14] - $excel_contract_array[$key][16]) > 0 ? $excel_contract_array[$key][14] - $excel_contract_array[$key][16] : 0; + $value['collect_budget'] = (($excel_contract_array[$key][14] - $excel_contract_array[$key][16]) > 0) ? $excel_contract_array[$key][14] - $excel_contract_array[$key][16] : 0; $excel_contract_array[$key][17] = number_format(round($excel_contract_array[$key][14] - $excel_contract_array[$key][16])); $excel_contract_array[$key][18] = (isset($value['collect_month']) && !is_null($value['collect_month'])) ? number_format(round($value['collect_month'])) : '0'; $excel_contract_array[$key][19] = (isset($value['facility_num']) && !is_null($value['facility_num'])) ? number_format(round($value['facility_num'])) : '0'; @@ -807,7 +889,7 @@ foreach ($arrayData as $key => &$value) { $excel_contract_array[$key][14] = number_format(round($excel_contract_array[$key][14])); $excel_contract_array[$key][16] = number_format(round($excel_contract_array[$key][16])); if (isset($value['PayStage']) && is_iterable($value['PayStage'])) { - if ($excel_contract_array[$key][17] > 1) { + if ($excel_contract_array[$key][18] !== '0') { $excel_contract_all_array[$key] = array_fill(0, 24, 0); $excel_contract_all_array[$key][0] = $excel_contract_array[$key][0]; $excel_contract_all_array[$key][1] = $excel_contract_array[$key][3]; @@ -817,30 +899,31 @@ foreach ($arrayData as $key => &$value) { $excel_contract_all_array[$key][5] = $excel_contract_array[$key][20]; $excel_contract_all_array[$key][6] = $excel_contract_array[$key][17]; $excel_contract_all_array[$key][7] = $excel_contract_array[$key][18]; + $isBoga = 0; + if (stristr($value['PayStage'][1]['PayStage'], '寶佳')) { + $isBoga = 1; + $excel_contract_boga_array[$key] = array_fill(0, 24, ''); + $excel_contract_boga_array[$key][0] = $excel_contract_array[$key][0]; + $excel_contract_boga_array[$key][1] = $excel_contract_array[$key][3]; + $excel_contract_boga_array[$key][2] = $excel_contract_array[$key][8]; + $excel_contract_boga_array[$key][3] = $excel_contract_array[$key][11]; + $excel_contract_boga_array[$key][4] = $excel_contract_array[$key][19]; + $excel_contract_boga_array[$key][5] = $excel_contract_array[$key][20]; + $excel_contract_boga_array[$key][6] = $excel_contract_array[$key][17]; + $excel_contract_boga_array[$key][7] = $excel_contract_array[$key][18]; + } else { + $excel_contract_noboga_array[$key] = array_fill(0, 24, ''); + $excel_contract_noboga_array[$key][0] = $excel_contract_array[$key][0]; + $excel_contract_noboga_array[$key][1] = $excel_contract_array[$key][3]; + $excel_contract_noboga_array[$key][2] = $excel_contract_array[$key][8]; + $excel_contract_noboga_array[$key][3] = $excel_contract_array[$key][11]; + $excel_contract_noboga_array[$key][4] = $excel_contract_array[$key][19]; + $excel_contract_noboga_array[$key][5] = $excel_contract_array[$key][20]; + $excel_contract_noboga_array[$key][6] = $excel_contract_array[$key][17]; + $excel_contract_noboga_array[$key][7] = $excel_contract_array[$key][18]; + } } - $isBoga = 0; - if (stristr($value['PayStage'][1]['PayStage'], '寶佳')) { - $isBoga = 1; - $excel_contract_boga_array[$key] = array_fill(0, 24, ''); - $excel_contract_boga_array[$key][0] = $excel_contract_array[$key][0]; - $excel_contract_boga_array[$key][1] = $excel_contract_array[$key][3]; - $excel_contract_boga_array[$key][2] = $excel_contract_array[$key][8]; - $excel_contract_boga_array[$key][3] = $excel_contract_array[$key][11]; - $excel_contract_boga_array[$key][4] = $excel_contract_array[$key][19]; - $excel_contract_boga_array[$key][5] = $excel_contract_array[$key][20]; - $excel_contract_boga_array[$key][6] = $excel_contract_array[$key][17]; - $excel_contract_boga_array[$key][7] = $excel_contract_array[$key][18]; - } else { - $excel_contract_noboga_array[$key] = array_fill(0, 24, ''); - $excel_contract_noboga_array[$key][0] = $excel_contract_array[$key][0]; - $excel_contract_noboga_array[$key][1] = $excel_contract_array[$key][3]; - $excel_contract_noboga_array[$key][2] = $excel_contract_array[$key][8]; - $excel_contract_noboga_array[$key][3] = $excel_contract_array[$key][11]; - $excel_contract_noboga_array[$key][4] = $excel_contract_array[$key][19]; - $excel_contract_noboga_array[$key][5] = $excel_contract_array[$key][20]; - $excel_contract_noboga_array[$key][6] = $excel_contract_array[$key][17]; - $excel_contract_noboga_array[$key][7] = $excel_contract_array[$key][18]; - } + foreach ($value['PayStage'] as $paykey => $payvalue) { switch ($payvalue['stage']) { case "訂金": @@ -1040,7 +1123,7 @@ $total_data = json_encode($excel_contract_all_array); $boga_data = json_encode($excel_contract_boga_array); $noboga_data = json_encode($excel_contract_noboga_array); $table = ""; -$testtotal =0; +$testtotal = 0; // foreach ($arrayData as $key => $value) { // if (isset($value['facility']) && is_iterable($value['facility'])) { // foreach ($value['facility'] as $fkey => $fvalue) { diff --git a/wms/account-receivable.txt b/wms/account-receivable.txt index 5602b2b4..8e19026c 100644 --- a/wms/account-receivable.txt +++ b/wms/account-receivable.txt @@ -1 +1 @@ -{"Bill":{"M220005":["M220005","【和峻】新長壽段C區","何政揚","3,603,162","4","3MX00011 (2023-11-29貨抵工地) ; 3MX00012 (2024-01-29安裝完畢) ; 3MX00013 (2023-11-29貨抵工地) ; 3MX00014 (2024-01-29安裝完畢) ; ","2,522,213","2","378,332","2","756,664","1","1,387,217","0",0,0,"0","0",0,0,0,0,"0","0"],"M220011":["M220011","【和境】善捷段","何政揚","5,964,849","6","2MX00016 (2023-12-07貨抵工地) ; 2MX00017 (2024-01-05貨抵工地) ; 2MX00018 (2023-12-07貨抵工地) ; 2MX00019 (2024-01-05貨抵工地) ; 2MX00020 (2024-01-05貨抵工地) ; 2MX00021 (2023-12-07貨抵工地) ; ","626,309","0","0","0","626,309","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M220012":["M220012","【鴻廣】樂捷段","何政揚","7,807,005","7","2MX00006 (2024-02-05已移交) ; 2MX00007 (2023-10-27貨抵工地) ; 2MX00008 (2023-12-12已移交) ; 2MX00009 (2024-01-19已移交) ; 2MX00010 (2023-10-27貨抵工地) ; 2MX00011 (2023-10-27貨抵工地) ; 2MX00012 (2023-12-19已移交) ; ","5,464,904","5","819,736","5","1,639,471","4","3,005,697","1",0,0,"0","0",0,0,0,0,"0","0"],"M220013":["M220013","【鴻承 】豐田段一期","何政揚","6,786,188","4","3MX00015 (2024-03-20預計出貨) ; 3MX00016 (2024-02-29預計出貨) ; 3MX00017 (2024-03-20預計出貨) ; 3MX00018 (2024-02-29預計出貨) ; ","712,550","0","712,550","0","0","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M220014":["M220014","【大華】新站段","何政揚","5,216,816","4","3MX00218 (2023-10-04貨抵工地) ; 3MX00219 (2024-02-15試車完畢) ; 3MX00220 (2023-10-04貨抵工地) ; 3MX00221 (2024-01-12安裝完畢) ; ","2,086,725","0","0","0","0","0","2,086,725","0",0,0,"0","0",0,0,0,0,"0","0"],"M220114":["M220114","【鴻豐】大金山下段","何政揚","4,136,280","4","3MX00019 (2023-09-28貨抵工地) ; 3MX00020 (2023-12-25已移交) ; 3MX00021 (2023-12-25已移交) ; 3MX00022 (2023-09-28貨抵工地) ; ","3,112,551","6","434,309","6","868,619","5","1,592,468","2",0,0,"0","0",0,0,0,0,"0","0"],"M220115":["M220115","【鴻築】青山段","何政揚","4,073,580","4","2MX00022 (2023-12-29貨抵工地) ; 2MX00023 (2023-11-30貨抵工地) ; 2MX00024 (2024-02-06安裝完畢) ; 2MX00025 (2023-12-29貨抵工地) ; ","2,050,190","2","427,726","2","855,452","1","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M220179":["M220179","【鴻築】大湖段A區","何政揚","3,056,365","3","2MX00013 (2023-12-25已移交) ; 2MX00014 (2023-12-25已移交) ; 2MX00015 (2023-12-25已移交) ; ","2,353,401","5","320,918","5","641,837","4","1,176,700","1",0,0,"0","0",0,0,0,0,"0","0"],"D23090047":["D23090047","【秉和】榮華段","何政揚","10,821,075","10","3MX00740 (2024-01-31安裝完畢) ; 3MX00741 (2024-01-15貨抵工地) ; 3MX00742 (2024-02-01已移交) ; 3MX00743 (2024-01-15貨抵工地) ; 3MX00744 (2023-12-15貨抵工地) ; 3MX00745 (2024-01-15貨抵工地) ; 3MX00746 (2023-12-15貨抵工地) ; 3MX00747 (2024-01-15貨抵工地) ; 3MX00748 (2024-01-15貨抵工地) ; 3MX00749 (2023-12-15貨抵工地) ; ","1","0","0","0","1","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M220245":["M220245","【勝麗】興隆B3-2區(協侑)","何政揚","463,200","1","3MH00482 (2024-01-18貨抵工地) ; ","145,908","1","48,636","1","97,272","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M220377":["M220377","紹華營造股份有限公司","何政揚","3,578,000","2","3MX00037 (2024-02-01安裝完畢) ; 3MF00038 (2023-12-21貨抵工地) ; ","2,862,400","11","715,600","11",0,0,"2,146,800","1",0,0,"0","0",0,0,0,0,0,0],"M230051":["M230051","宏富建設\/成州段","何政揚","3,402,000","2","3MX00446 (2024-07-31預計出貨) ; 3MX00447 (2024-07-31預計出貨) ; ","680,400","5","680,400","5","0","0","0","0","0","0",0,0,0,0,"0","0",0,0],"M230219":["M230219","【寶佳】坪頂段","何政揚","1,867,100","2","3MX00597 (2024-03-22預計出貨) ; 3MX00598 (2024-03-22預計出貨) ; ","196,046","0","196,046","0","0","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M230373":["M230373","展隆建設\/日新段","何政揚","1,081,500","1","3MX00314 (2024-02-27預計出貨) ; ","648,900","8","216,300","8","432,600","0","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230728":["M230728","金有康建設\/盧松根等3人集合住宅","何政揚","880,000","1","3MX00537 (2024-02-21預計出貨) ; ","264,000","0","0","0","264,000","0","0","0","0","0",0,0,0,0,0,0,"0","0"],"M230780":["M230780","【勝麗】興隆B3-4區","何政揚","2,609,862","3","3MX00628 (2023-12-01貨抵工地) ; 3MX00629 (2024-02-02試車完畢) ; 3MX00630 (2023-12-01貨抵工地) ; ","548,072","2","1","2","548,071","1","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M230878":["M230878","【協和】市鎮北段二期","何政揚","9,205,241","8","3MX00631 (2023-12-08貨抵工地) ; 3MX00632 (2023-12-12貨抵工地) ; 3MX00633 (2023-12-08貨抵工地) ; 3MX00634 (2023-12-12貨抵工地) ; 3MX00635 (2023-12-12貨抵工地) ; 3MX00636 (2023-12-08貨抵工地) ; 3MX00637 (2023-12-08貨抵工地) ; 3MX00638 (2023-12-12貨抵工地) ; ","1","1","0","0","1","1","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M23090105":["M23090105","【益翔】市鎮南段二期","何政揚","4,214,001","4","3MX00809 (2024-01-09貨抵工地) ; 3MX00810 (2024-01-09貨抵工地) ; 3MX00811 (2024-01-09貨抵工地) ; 3MX00812 (2024-01-09貨抵工地) ; ","884,940","1","0","1","884,940","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M231009":["M231009","【泓瑞】育賢段","何政揚","9,997,399","8","3MX00672 (2023-12-07貨抵工地) ; 3MX00673 (2023-12-07貨抵工地) ; 3MX00674 (2023-12-07貨抵工地) ; 3MX00675 (2023-12-26貨抵工地) ; 3MX00676 (2023-12-26貨抵工地) ; 3MX00677 (2023-12-07貨抵工地) ; 3MX00678 (2023-12-26貨抵工地) ; 3MX00679 (2023-12-07貨抵工地) ; ","2,099,454","1","0","0","2,099,454","1","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M231011":["M231011","【佳友】北城段","何政揚","1,975,764","2","3MX00614 (2024-01-24貨抵工地) ; 3MX00615 (2024-01-24貨抵工地) ; ","622,365","1","207,455","1","414,910","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M230023":["M230023","正洲包裝機材股份有限公司","張莉凱","1,060,500","1","3MW00024 (2023-09-26官檢完畢) ; ","848,200","9","0","0","424,000","9","212,100","6","106,050","4","106,050","4",0,0,0,0,0,0],"M220311":["M220311","永安北路增設案","張莉凱","707,200","1","2MH00026 (2023-07-12官檢完畢) ; ","633,651","14","140,026","14","280,050","12","140,026","8",0,0,0,0,"73,549","6","0","0",0,0],"M220200":["M220200","聯雄建設股份有限公司","張莉凱","850,000","1","3MX00026 (2024-05-02預計出貨) ; ","425,000","11","170,000","11","255,000","8","0","0",0,0,"0","0",0,0,"0","0",0,0],"M220001":["M220001","【恆鵬】善新段","謝文憲","2,911,500","3","3MX00191 (2024-02-20預計出貨) ; 3MX00192 (2024-02-20預計出貨) ; 3MX00193 (2024-02-20預計出貨) ; ","305,708","0","305,708","0","0","0","0","0",0,0,"0","0",0,0,0,0,"0","0"],"M230106":["M230106","星達工程行-董清文住宅案","謝文憲","535,000","1","3MH00120 (2024-02-03安裝完畢) ; ","374,500","8","107,000","8",0,0,"267,500","0",0,0,"0","0",0,0,"0","0",0,0],"M230414":["M230414","秉俊建設-大社區中里段","謝文憲","1,192,000","2","3MH00205 (2024-02-01已移交) ; 3MH00206 (2024-02-01已移交) ; ","1,192,000","9","238,400","9",0,0,"596,000","5",0,0,"238,400","3",0,0,"119,200","0",0,0],"M231085":["M231085","吳政弘","謝文憲","530,000","1","3MH00513 (2024-01-15試車完畢) ; ","477,000","8","106,000","8",0,0,"265,000","2",0,0,"106,000","0",0,0,"0","0",0,0],"M230563":["M230563","葉建中-大里新建住宅","陳敦德","820,000","1","3MX00295 (2024-05-15預計出貨) ; ","492,000","7","164,000","7","328,000","4","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230166":["M230166","富德開發有限公司-東海段98-54地號","陳敦德","650,000","1","3MH00294 (2024-01-04安裝完畢) ; ","520,000","7","130,000","7","260,000","5","130,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230022":["M230022","旺旺工程行-鄭秋月","陳敦德","600,000","1","3MH00076 (2024-06-01預計出貨) ; ","360,000","10","120,000","10","240,000","7","0","0",0,0,"0","0",0,0,"0","0",0,0],"M220473":["M220473","國合營造-新北市雙溪案","陳敦德","3,822,000","3","3MW00050 (2024-02-23預計出貨) ; 3MW00051 (2024-02-23預計出貨) ; 3MW00052 (2024-02-16預計出貨) ; ","1,974,000","9","658,000","9","1,316,000","7","0","0","0","0",0,0,0,0,"0","0",0,0],"M220366":["M220366","欣佳德營造工程有限公司","陳敦德","750,000","1","2MW00038 (2024-07-01預計出貨) ; ","450,000","13","150,000","13","300,000","10","0","0",0,0,"0","0",0,0,"0","0",0,0],"M220369":["M220369","震營建設開發股份有限公司","吳育宗","1,360,000","2","2MH00047 (2024-02-01已移交) ; 2MH00048 (2024-02-01已移交) ; ","1,360,000","12","272,000","12",0,0,"680,000","6","136,000","4",0,0,0,0,"136,000","0",0,0],"M220304":["M220304","全台晶像","吳育宗","2,793,000","1","2MW00027 (2024-02-01已移交) ; ","2,793,000","14","558,600","14",0,0,"1,396,500","9","558,600","7",0,0,"279,300","6",0,0,0,0],"M220267":["M220267","昇暘營造(興達路林宅)","林易增","600,000","1","2MH00028 (2023-07-26官檢完畢) ; ","540,000","13","120,000","13",0,0,"300,000","9","60,000","8","60,000","8",0,0,"0","0",0,0],"M220276":["M220276","大田土木包工業(陳正得)","林易增","600,000","1","3MH00172 (2024-03-19預計出貨) ; ","120,000","9","120,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220307":["M220307","曜麗營造(歸仁派出所案)","林易增","700,000","1","3MH00795 (2024-01-23官檢完畢) ; ","490,000","1","0","0",0,0,"350,000","1","140,000","1",0,0,0,0,"0","0",0,0],"M230089":["M230089","采築營造","林易增","920,000","1","3MW00110 (2024-03-20預計出貨) ; ","184,000","10","184,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230113":["M230113","黃曉芳","林易增","720,000","1","3MH00049 (2024-04-25預計出貨) ; ","144,000","11","144,000","11",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230327":["M230327","玖太建設六期","林易增","570,000","1","3MH00282 (2023-11-22試車完畢) ; ","228,000","4","0","0",0,0,"114,000","4",0,0,"114,000","2",0,0,"0","0",0,0],"M230206":["M230206","森居室內裝修(六興段)","林易增","600,000","1","3MH00131 (2024-01-22已移交) ; ","300,000","2","0","0",0,0,"120,000","2",0,0,"120,000","1",0,0,"60,000","0",0,0],"M230573":["M230573","梁宗興","林易增","660,000","1","3MH00416 (2023-12-26貨抵工地) ; ","462,000","7","132,000","7",0,0,"330,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230595":["M230595","王雨晴","林易增","660,000","1","3MH00299 (2024-04-05預計出貨) ; ","132,000","8","132,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230609":["M230609","祥發開發(青砂街)","林易增","3,180,000","6","3MH00719 (2024-05-08預計出貨) ; 3MH00720 (2024-05-08預計出貨) ; 3MH00721 (2024-05-08預計出貨) ; 3MH00722 (2024-05-08預計出貨) ; 3MH00723 (2024-05-10預計出貨) ; 3MH00724 (2024-05-10預計出貨) ; ","636,000","4","636,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230610":["M230610","祥發開發(忠孝路)","林易增","3,710,000","7","3MH00712 (2024-04-15預計出貨) ; 3MH00713 (2024-04-15預計出貨) ; 3MH00714 (2024-04-15預計出貨) ; 3MH00715 (2024-04-15預計出貨) ; 3MH00716 (2024-04-15預計出貨) ; 3MH00717 (2024-04-15預計出貨) ; 3MH00718 (2024-04-15預計出貨) ; ","742,000","4","742,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080128":["M23080128","唐開元農舍","林易增","720,000","1","4MH00223 (2024-12-30預計出貨) ; ","144,000","0","144,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080129":["M23080129","鍾佳霖(川勝開發營造有限公司)","林易增","730,000","1","3MH00970 (2024-04-22預計出貨) ; ","146,000","2","146,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080175":["M23080175","北港鎮府番第三納骨塔","林易增","970,000","1","3MW01028 (2024-05-30預計出貨) ; ","194,000","1","194,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230721":["M230721","陸福營造(復興路)","林易增","570,000","1","3MH00417 (2023-11-24安裝完畢) ; ","399,000","7","114,000","7",0,0,"285,000","2",0,0,"0","0",0,0,"0","0",0,0],"M23080078":["M23080078","隆聚-將軍農會","林易增","720,000","1","4MH00001 (2024-04-01預計出貨) ; ","144,000","1","144,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230628":["M230628","李惠庭","林易增","540,000","1","3MH00283 (2023-12-11已移交) ; ","270,000","3","0","0",0,0,"108,000","3",0,0,"108,000","1",0,0,"54,000","1",0,0],"M230630":["M230630","郭建志","林易增","660,000","1","3MH00368 (2024-01-19貨抵工地) ; ","462,000","7","132,000","7",0,0,"330,000","0",0,0,"0","0",0,0,"0","0",0,0],"M23110045":["M23110045","黃詔輝","林易增","1,013,000","1","4MW00121 (2024-06-11預計出貨) ; ","196,600","0","196,600","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231049":["M231049","高昇德","林易增","1,160,000","2","3MH00511 (2024-01-05官檢完畢) ; 3MH00512 (2024-01-05官檢完畢) ; ","364,000","3","0","0",0,0,"132,000","3",0,0,"232,000","1",0,0,"0","0",0,0],"M231076":["M231076","萬昌建設(柳南段)","林易增","1,140,000","2","3MH00793 (2024-06-14T16:15預計出貨) ; 3MH00794 (2024-06-14T16:15預計出貨) ; ","228,000","3","228,000","3",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M231006":["M231006","紘歆營造工程(玉南段)(榮鑫土木包工業)","林易增","1,590,000","3","3MH00874 (2024-05-20預計出貨) ; 3MH00875 (2024-05-20預計出貨) ; 3MH00876 (2024-05-20預計出貨) ; ","318,000","3","318,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120009":["M23120009","築域建築(新興街)","林易增","580,000","1","4MH00222 (2024-08-01預計出貨) ; ","116,000","0","116,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M24010005":["M24010005","世紀莊園接待中心","林易增","980,000","1","4MW00156 (2024-05-18預計出貨) ; ","196,000","0","196,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100121":["M23100121","尊丞開發-湖美三路","林易增","720,000","1","4MW00068 (2024-11-25預計出貨) ; ","144,000","0","144,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100124":["M23100124","尊丞開發-健康七街公寓","林易增","900,000","1","4MW00067 (2024-05-06預計出貨) ; ","180,000","0","180,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100125":["M23100125","冠虹建設(湖美小段399)","林易增","1,160,000","2","4MH00220 (2025-03-25預計出貨) ; 4MH00221 (2025-03-25預計出貨) ; ","232,000","0","232,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100126":["M23100126","冠虹建設(湖美小段401)","林易增","590,000","1","3MH01029 (2024-04-01預計出貨) ; ","118,000","1","118,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230954":["M230954","蒼達藥品廠房","林易增","1,460,000","1","3MX00536 (2024-03-20預計出貨) ; ","7,300","6","7,300","6",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230942":["M230942","王榮松","林易增","560,000","1","3MH00499 (2024-05-14預計出貨) ; ","112,000","6","112,000","6",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M23090136":["M23090136","捷築建設-新案段","林易增","990,000","1","4MW00002 (2024-07-30預計出貨) ; ","198,000","0","198,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230927":["M230927","蘆葦啟智中心","林易增","960,000","1","3MW00419 (2023-12-15貨抵工地) ; ","480,000","1","0","0",0,0,"480,000","1",0,0,"0","0",0,0,"0","0",0,0],"M23090031":["M23090031","捷築建設-二行段","林易增","990,000","1","4MW00003 (2024-05-30預計出貨) ; ","198,000","0","198,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090038":["M23090038","祥綸建設(澄合段)","杜孟釗","1,700,000","3","3MH00735 (2024-01-04貨抵工地) ; 3MH00736 (2024-03-15預計出貨) ; 3MH00737 (2024-01-19貨抵工地) ; ","562,500","0","0","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090002":["M23090002","賽斯新能源(新吉段)","杜孟釗","1,100,000","1","3MX00815 (2024-03-05預計出貨) ; ","220,000","3","220,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230810":["M230810","左東段透天新建工程(鑲揚國際開發有限公司)","杜孟釗","14,840,000","28","3MH00454 (2024-05-16預計出貨) ; 3MH00455 (2024-05-16預計出貨) ; 3MH00456 (2024-05-16預計出貨) ; 3MH00457 (2024-05-16預計出貨) ; 3MH00458 (2024-05-16預計出貨) ; 3MH00459 (2024-05-28預計出貨) ; 3MH00460 (2024-05-28預計出貨) ; 3MH00461 (2024-05-28預計出貨) ; 3MH00462 (2024-05-28預計出貨) ; 3MH00463 (2024-05-28預計出貨) ; 3MH00464 (2024-06-06預計出貨) ; 3MH00465 (2024-06-06預計出貨) ; 3MH00466 (2024-06-06預計出貨) ; 3MH00467 (2024-06-06預計出貨) ; 3MH00468 (2024-06-06預計出貨) ; 3MH00469 (2024-06-18預計出貨) ; 3MH00470 (2024-06-18預計出貨) ; 3MH00471 (2024-06-18預計出貨) ; 3MH00472 (2024-06-18預計出貨) ; 3MH00473 (2024-06-18預計出貨) ; 3MH00474 (2024-07-02預計出貨) ; 3MH00475 (2024-07-02預計出貨) ; 3MH00476 (2024-07-02預計出貨) ; 3MH00477 (2024-07-02預計出貨) ; 3MH00478 (2024-07-12預計出貨) ; 3MH00479 (2024-07-12預計出貨) ; 3MH00480 (2024-07-12預計出貨) ; 3MH00481 (2024-07-12預計出貨) ; ","2,968,000","7","2,968,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090128":["M23090128","林妏珊","杜孟釗","600,000","1","4MH00186 (2024-07-15預計出貨) ; ","120,000","0","120,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090142":["M23090142","天鴻營造(東門段96)","杜孟釗","1,240,000","2","3MH00850 (2024-01-25貨抵工地) ; 3MH00851 (2024-01-25貨抵工地) ; ","620,000","0",0,0,0,0,"620,000","0","0","0",0,0,0,0,"0","0",0,0],"M23090066":["M23090066","力洋營造有限公司","杜孟釗","1,000,000","1","3MW00739 (2024-03-08預計出貨) ; ","200,000","2","200,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230876":["M230876","何乃玲","杜孟釗","660,000","1","4MH00009 (2024-04-30預計出貨) ; ","132,000","0","132,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090074":["M23090074","權鵬營造股份有限公司","杜孟釗","680,000","1","3MH00787 (2024-07-03預計出貨) ; ","102,000","4","102,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100120":["M23100120","和昌建設 (新和段)","杜孟釗","1,800,000","2","3MX00934 (2024-03-05預計出貨) ; 3MX00935 (2024-03-05預計出貨) ; ","360,000","2","360,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M24010248":["M24010248","比意設計-榮成一街","杜孟釗","570,000","1","4MH00226 (2024-05-15預計出貨) ; ","114,000","0","114,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110059":["M23110059","陳樹蘭","杜孟釗","620,000","1","4MH00075 (2024-05-06預計出貨) ; ","124,000","0","124,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110068":["M23110068","和豊營造-藍田西段","杜孟釗","670,000","1","4MH00004 (2024-05-03預計出貨) ; ","134,000","0","134,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110041":["M23110041","達豐開發-埤頂段","杜孟釗","1,900,000","2","4MX00007 (2024-05-15預計出貨) ; 4MX00008 (2024-05-15預計出貨) ; ","380,000","0","380,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110004":["M23110004","勤富建設(玉田段)","杜孟釗","820,000","1","4MX00155 (2024-05-02預計出貨) ; ","164,000","0","164,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110097":["M23110097","居岩建設股(新社皮段)","杜孟釗","1,100,000","1","4MW00187 (2024-05-14預計出貨) ; ","220,000","0","220,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231124":["M231124","崧本房地開發(苓雅寮段)","杜孟釗","620,000","1","3MH00540 (2023-12-25官檢完畢) ; ","248,000","3","0","0",0,0,"124,000","3","124,000","2",0,0,0,0,"0","0",0,0],"M230562":["M230562","昱陞建設(覆鼎金段)","杜孟釗","3,780,000","6","3MH00928 (2024-05-07預計出貨) ; 3MH00929 (2024-05-07預計出貨) ; 3MH00930 (2024-05-17預計出貨) ; 3MH00931 (2024-05-17預計出貨) ; 3MH00932 (2024-06-04預計出貨) ; 3MH00933 (2024-06-04預計出貨) ; ","756,000","2","756,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230750":["M230750","蔡結勝(A1)","杜孟釗","660,000","1","4MH00005 (2024-07-18預計出貨) ; ","132,000","0","132,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230751":["M230751","蔡結晟(A2)","杜孟釗","680,000","1","4MH00006 (2024-07-18預計出貨) ; ","136,000","0","136,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080088":["M23080088","乙男營造廠房","杜孟釗","740,000","1","3MW00960 (2024-03-07預計出貨) ; ","148,000","2","148,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080166":["M23080166","利品建設-蚵寮段","杜孟釗","2,044,980","2","4MX00010 (2024-08-06預計出貨) ; 4MX00011 (2024-08-06預計出貨) ; ","408,996","0","408,996","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230599":["M230599","陳鼎文","杜孟釗","630,000","1","3MH00286 (2023-12-08試車完畢) ; ","315,000","4","0","0",0,0,"189,000","4",0,0,"126,000","1",0,0,"0","0",0,0],"M230522":["M230522","寶盟建設(宏明段)","杜孟釗","1,080,000","2","3MH00427 (2024-04-09預計出貨) ; 3MH00428 (2024-04-09預計出貨) ; ","216,000","7","216,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230428":["M230428","龍耀木業","杜孟釗","680,000","1","3MH00371 (2024-02-07官檢完畢) ; ","612,000","7","136,000","7",0,0,"340,000","2",0,0,"136,000","0",0,0,"0","0",0,0],"M230420":["M230420","寶龍生命紀念館","杜孟釗","1,900,000","2","3MW00199 (2024-04-17預計出貨) ; 3MW00200 (2024-04-17預計出貨) ; ","390,000","9","390,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230371":["M230371","湖內全聯廠房","杜孟釗","850,000","1","3MW00190 (2023-09-28官檢完畢) ; ","595,000","6","0","0",0,0,"425,000","6",0,0,"170,000","5",0,0,"0","0",0,0],"M230270":["M230270","岳銘建築(牛潮埔段)","杜孟釗","3,300,000","6","3MH00304 (2024-06-12預計出貨) ; 3MH00305 (2024-06-12預計出貨) ; 3MH00306 (2024-06-12預計出貨) ; 3MH00307 (2024-06-12預計出貨) ; 3MH00308 (2024-06-12預計出貨) ; 3MH00309 (2024-06-12預計出貨) ; ","660,000","8","660,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230165":["M230165","鴻居營造(利百特儲運中心)","杜孟釗","980,000","1","3MX00133 (2024-03-06預計出貨) ; ","196,000","8","196,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230157":["M230157","同城土木(林孜亭)","杜孟釗","530,000","1","3MH00303 (2024-01-30試車完畢) ; ","477,000","8","106,000","8",0,0,"265,000","0",0,0,"106,000","0",0,0,"0","0",0,0],"M230121":["M230121","豐鉅開發(仁愛段)","杜孟釗","1,200,000","2","3MH00284 (2024-06-18預計出貨) ; 3MH00285 (2024-06-18預計出貨) ; ","240,000","8","240,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230112":["M230112","常勝鑫建設(山明段)","杜孟釗","800,000","1","3MX00109 (2024-04-10預計出貨) ; ","160,000","10","160,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230078":["M230078","王彤熒","杜孟釗","900,000","1","3MW00376 (2024-07-03預計出貨) ; ","180,000","7","180,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220476":["M220476","信泓營造工程有限公司(榮安街)","杜孟釗","550,000","1","3MH00023 (2024-02-27預計出貨) ; ","110,000","12","110,000","12",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220495":["M220495","大方無隅(育仁段)","杜孟釗","1,900,000","2","3MX00501 (2024-10-08預計出貨) ; 3MX00502 (2024-10-08預計出貨) ; ","380,000","6","380,000","6",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"D23070118":["D23070118","兆淞營造(蘇惠珍)","杜孟釗","630,000","1","3MH00554 (2024-01-05試車完畢) ; ","252,000","2","0","0",0,0,"126,000","2","126,000","1",0,0,0,0,"0","0",0,0],"M220389":["M220389","欣宏達建設(林子邊段)","杜孟釗","5,000,000","4","3MX00372 (2024-09-10預計出貨) ; 3MX00373 (2024-09-10預計出貨) ; 3MX00374 (2024-09-10預計出貨) ; 3MX00375 (2024-09-10預計出貨) ; ","1,000,000","7","1,000,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220379":["M220379","同城土木(陳偉庭)","杜孟釗","560,000","1","3MH00025 (2024-03-21預計出貨) ; ","112,000","12","112,000","12",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M220355":["M220355","國合營造-廣興段","楊勝安","1,100,000","1","2MX00044 (2024-04-15預計出貨) ; ","660,000","13","220,000","13","440,000","12","0","0",0,0,"0","0",0,0,"0","0",0,0],"D23080170":["D23080170","峰宥土木包工業","楊勝安","590,000","1","3MH00733 (2024-01-13試車完畢) ; ","354,000","1","0","0",0,0,"177,000","1",0,0,"177,000","0",0,0,"0","0",0,0],"M230064":["M230064","秉藙營造-戴欣哲住宅新建工程","楊勝安","580,000","1","3MH00093 (2023-09-13已移交) ; ","580,000","9","116,000","9","232,000","7","116,000","7",0,0,"58,000","4",0,0,"58,000","4",0,0],"M230071":["M230071","愛山林建設-土城金城帝寶","楊勝安","800,000","1","3MW00067 (2023-07-19已移交) ; ","720,000","9","160,000","9",0,0,"240,000","8",0,0,"240,000","6",0,0,"80,000","6",0,0],"M230156":["M230156","胡一帆-民權路室外增建案","楊勝安","600,000","1","3MH00504 (2023-12-28已移交) ; ","600,000","6","120,000","6","240,000","4","120,000","3","60,000","1",0,0,0,0,"60,000","1",0,0],"M230408":["M230408","穆刻室內-新竹案","楊勝安","750,000","1","3MP00254 (2024-04-02預計出貨) ; ","150,000","6","0","0","150,000","6","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230410":["M230410","築康建設-新店安城段","楊勝安","2,150,000","2","3MX00290 (2024-06-01預計出貨) ; 3MX00291 (2024-06-01預計出貨) ; ","1,290,000","7","430,000","7","860,000","5","0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080136":["M23080136","成盟-茵夢湖何宅","楊勝安","670,000","1","4MH00225 (2024-08-01預計出貨) ; ","134,000","0","134,000","0","0","0","0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080146":["M23080146","黃卓原","楊勝安","720,000","1","3MH00854 (2024-06-04預計出貨) ; ","288,000","1","0","0","288,000","1","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230765":["M230765","宏晟營造-樹林樹德段","楊勝安","820,000","1","3MH00403 (2024-05-02預計出貨) ; ","492,000","6","164,000","6","328,000","5","0","0","0","0",0,0,0,0,"0","0",0,0],"M230767":["M230767","蕭又齊-基隆復興路","楊勝安","590,000","1","4MH00224 (2024-10-01預計出貨) ; ","118,000","0","118,000","0","0","0","0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110090":["M23110090","川鉅建設有限公司(桃園)","楊勝安","650,000","1","3MH01020 (2024-05-01預計出貨) ; ","130,000","1","130,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110104":["M23110104","澤里設計工程有限公司","楊勝安","600,000","1","3MH01021 (2024-04-03預計出貨) ; ","240,000","0","0","0","240,000","0","0","0",0,0,"0","0",0,0,"0","0",0,0],"M231046":["M231046","十方建築-峨嵋十方禪林","楊勝安","720,000","1","3MH00852 (2024-06-14預計出貨) ; ","336,000","2","0","0","336,000","2","0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120159":["M23120159","螺絲瑪莉義式央廚","楊勝安","1,600,000","1","4MX00219 (2024-09-22預計出貨) ; ","320,000","0","320,000","0","0","0","0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100104":["M23100104","愛山林建設開發股份有限公司","楊勝安","850,000","1","3MW00927 (2024-01-25試車完畢) ; ","510,000","0","0","0",0,0,"255,000","0",0,0,"255,000","0",0,0,"0","0",0,0],"M230970":["M230970","歌爾開發-湖口新盛段621","楊勝安","700,000","1","4MH00108 (2024-09-11預計出貨) ; ","210,000","0","210,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100024":["M23100024","太平洋電梯工業股份有限公司","楊勝安","787,500","1","3MH00797 (2024-01-11試車完畢) ; ","472,500","1","0","0",0,0,"315,000","1",0,0,"157,500","0",0,0,"0","0",0,0],"M23100026":["M23100026","何胤辰","楊勝安","600,000","1","4MH00162 (2024-06-26預計出貨) ; ","180,000","0","180,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090150":["M23090150","瀚黌樘控股-新埔七街","楊勝安","680,000","1","3MP00865 (2024-02-20預計出貨) ; ","204,000","2","204,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090003":["M23090003","築園工程顧問有限公司","蔡杰錡","680,000","1","3MP00966 (2024-02-22預計出貨) ; ","136,000","2","136,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230953":["M230953","鉅榮建設-麻豆案","蔡杰錡","1,608,000","3","4MH00096 (2024-05-15預計出貨) ; 4MH00097 (2024-05-15預計出貨) ; 4MH00098 (2024-05-15預計出貨) ; ","321,600","0","321,600","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100091":["M23100091","金豐泰","蔡杰錡","700,000","1","3MH01031 (2024-05-15預計出貨) ; ","140,000","1","140,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100089":["M23100089","龍華街六角空間","蔡杰錡","700,000","1","3MP00937 (2024-06-18預計出貨) ; ","140,000","2","140,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231002":["M231002","磬揚建設有限公司","蔡杰錡","1,008,000","1","3MW00965 (2024-04-25預計出貨) ; ","201,600","2","201,600","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231003":["M231003","震營建設-恆春案","蔡杰錡","5,320,000","8","3MH00704 (2024-05-02預計出貨) ; 3MH00705 (2024-05-02預計出貨) ; 3MH00706 (2024-05-02預計出貨) ; 3MH00707 (2024-05-14預計出貨) ; 3MH00708 (2024-05-14預計出貨) ; 3MH00709 (2024-05-14預計出貨) ; 3MH00710 (2024-05-28預計出貨) ; 3MH00711 (2024-05-28預計出貨) ; ","1,064,000","5","1,064,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120145":["M23120145","利坤營造-崗山東街","蔡杰錡","590,000","1","4MH00179 (2024-05-15預計出貨) ; ","118,000","0","118,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120156":["M23120156","一甲國小","蔡杰錡","885,000","1","4MW00137 (2024-05-15預計出貨) ; ","177,000","0","177,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120117":["M23120117","年洲商標工業廠房-富傑營造","蔡杰錡","1,300,000","1","4MW00120 (2024-05-15預計出貨) ; ","260,000","0","260,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120020":["M23120020","松暉營造-前瞻","蔡杰錡","5,180,000","2","4MW00094 (2024-05-15預計出貨) ; 4MX00095 (2024-05-15預計出貨) ; ","1,036,000","0","1,036,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120039":["M23120039","萬鼎工程-TSA路科廠房","蔡杰錡","1,659,000","1","4MX00161 (2024-06-15預計出貨) ; ","165,900","1","165,900","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120053":["M23120053","吉利建設神農段","蔡杰錡","1,530,000","2","4MX00138 (2024-06-11預計出貨) ; 4MX00139 (2024-06-11預計出貨) ; ","306,000","0","306,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120054":["M23120054","坤圓科技營造有限公司","蔡杰錡","682,500","1","3MP01049 (2024-05-15預計出貨) ; ","136,500","1","136,500","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231097":["M231097","王鋕清住宅案","蔡杰錡","670,000","1","3MH00539 (2024-01-05試車完畢) ; ","469,000","1","0","0",0,0,"335,000","1","134,000","1",0,0,0,0,"0","0",0,0],"M231098":["M231098","泰洲營造股份有限公司","蔡杰錡","1,050,000","1","3MW00662 (2024-01-09試車完畢) ; ","945,000","4","210,000","4",0,0,"525,000","1",0,0,"210,000","0",0,0,"0","0",0,0],"M231100":["M231100","正興路122號電梯改修工程","蔡杰錡","610,000","1","3MH00538 (2023-11-23貨抵工地) ; ","427,000","6","122,000","6",0,0,"305,000","2",0,0,"0","0",0,0,"0","0",0,0],"M231069":["M231069","美林達建設恆春10戶","蔡杰錡","5,100,000","10","3MH00681 (2024-05-08預計出貨) ; 3MH00682 (2024-05-08預計出貨) ; 3MH00683 (2024-05-08預計出貨) ; 3MH00684 (2024-05-21預計出貨) ; 3MH00685 (2024-05-21預計出貨) ; 3MH00686 (2024-05-21預計出貨) ; 3MH00687 (2024-06-05預計出貨) ; 3MH00688 (2024-06-05預計出貨) ; 3MH00689 (2024-06-18預計出貨) ; 3MH00690 (2024-06-18預計出貨) ; ","1,020,000","4","1,020,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110052":["M23110052","光明路二段(勇信工程有限公司)","蔡杰錡","520,000","1","3MH01030 (2024-03-19預計出貨) ; ","104,000","1","104,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110053":["M23110053","富昇肉品","蔡杰錡","780,000","1","3MP01036 (2024-04-03預計出貨) ; ","156,000","1","156,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110107":["M23110107","成太機械","蔡杰錡","950,000","1","3MW01035 (2024-08-07預計出貨) ; ","190,000","1","190,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110075":["M23110075","郭藝均(九如二路)","蔡杰錡","680,000","1","3MP01022 (2024-03-07預計出貨) ; ","136,000","1","136,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230770":["M230770","新中大實業股份有限公司","蔡杰錡","700,000","1","3MP00370 (2024-01-05安裝完畢) ; ","350,000","1","0","0",0,0,"350,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230771":["M230771","佳皇建設-麻豆5戶住宅","蔡杰錡","2,690,000","5","3MH00420 (2024-05-20預計出貨) ; 3MH00421 (2024-05-20預計出貨) ; 3MH00422 (2024-05-20預計出貨) ; 3MH00423 (2024-05-20預計出貨) ; 3MH00424 (2024-05-20預計出貨) ; ","538,000","7","538,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080109":["M23080109","富諭建設","蔡杰錡","3,180,000","6","4MH00069 (2024-11-05預計出貨) ; 4MH00070 (2024-11-05預計出貨) ; 4MH00071 (2024-11-05預計出貨) ; 4MH00072 (2024-11-05預計出貨) ; 4MH00073 (2024-11-05預計出貨) ; 4MH00074 (2024-11-05預計出貨) ; ","636,000","12","636,000","12",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230509":["M230509","仙盈建設","蔡杰錡","6,760,000","13","3MH00177 (2023-12-17試車完畢) ; 3MH00178 (2023-11-12試車完畢) ; 3MH00179 (2023-11-01試車完畢) ; 3MH00180 (2023-11-01試車完畢) ; 3MH00181 (2023-11-02試車完畢) ; 3MH00182 (2023-12-04試車完畢) ; 3MH00183 (2023-12-04試車完畢) ; 3MH00184 (2023-12-03試車完畢) ; 3MH00185 (2023-12-03試車完畢) ; 3MH00186 (2023-12-19試車完畢) ; 3MH00187 (2023-12-19試車完畢) ; 3MH00188 (2023-12-18試車完畢) ; 3MH00189 (2023-12-04試車完畢) ; ","6,084,000","8","1,352,000","8",0,0,"3,380,000","6",0,0,"1,352,000","2",0,0,"0","0",0,0],"M230564":["M230564","佑陞建設-豐年段集合住宅","蔡杰錡","740,000","1","3MX00204 (2024-01-10試車完畢) ; ","666,000","7","148,000","7",0,0,"370,000","2",0,0,"148,000","0",0,0,"0","0",0,0],"M230566":["M230566","寶鼎開發營造-班尼菲廠房","蔡杰錡","5,355,000","3","3MW00451 (2024-05-15預計出貨) ; 3MX00452 (2024-05-15預計出貨) ; 3MW00453 (2024-05-15預計出貨) ; ","1,071,000","6","1,071,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230467":["M230467","豐富地產-大寮集合住宅","蔡杰錡","1,932,000","2","3MH00425 (2024-05-21預計出貨) ; 3MH00426 (2024-05-21預計出貨) ; ","193,200","7","193,200","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230400":["M230400","霈晟股份有限公司-八里中山段集合住宅","蔡杰錡","750,000","1","3MX00201 (2024-02-20預計出貨) ; ","150,000","8","150,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230375":["M230375","東龍地產-新和段集合住宅案","蔡杰錡","800,000","1","3MX00203 (2024-04-16預計出貨) ; ","160,000","8","160,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230379":["M230379","興毅工程行熱河一街案","蔡杰錡","570,000","1","3MH00302 (2024-02-02貨抵工地) ; ","399,000","7","114,000","7",0,0,"285,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230339":["M230339","正和工程有限公司","蔡杰錡","700,000","1","3MX00176 (2024-03-06預計出貨) ; ","140,000","9","140,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230341":["M230341","康庭國際股份有限公司","蔡杰錡","1,020,000","1","3MW00369 (2024-07-03預計出貨) ; ","204,000","7","204,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230169":["M230169","鑫海建設-後港東段","蔡杰錡","1,695,000","3","3MH00150 (2024-01-16試車完畢) ; 3MH00151 (2024-01-16試車完畢) ; 3MH00152 (2024-01-16試車完畢) ; ","1,531,500","9","327,000","9",0,0,"877,500","2",0,0,"327,000","0",0,0,"0","0",0,0],"M230176":["M230176","華明鋼鐵股份有限公司","蔡杰錡","550,000","1","3MH00202 (2024-02-01貨抵工地) ; ","385,000","8","110,000","8",0,0,"275,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230134":["M230134","寬室空間設計有限公司","蔡杰錡","580,000","1","3MH00301 (2023-12-19試車完畢) ; ","522,000","8","116,000","8",0,0,"290,000","4",0,0,"116,000","1",0,0,"0","0",0,0],"M230137":["M230137","百春陽建設股份有限公司","蔡杰錡","5,200,000","8","3MH00620 (2024-09-04預計出貨) ; 3MH00621 (2024-05-02預計出貨) ; 3MH00622 (2024-05-03預計出貨) ; 3MH00623 (2024-05-14預計出貨) ; 3MH00624 (2024-09-04預計出貨) ; 3MH00625 (2024-05-14預計出貨) ; 3MH00626 (2024-05-21預計出貨) ; 3MH00627 (2024-09-04預計出貨) ; ","1,040,000","5","1,040,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230139":["M230139","帝勳實業-大寮集合住宅","蔡杰錡","1,400,000","2","3MH00570 (2024-07-05預計出貨) ; 3MH00571 (2024-07-05預計出貨) ; ","280,000","5","280,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230275":["M230275","李東遠","蔡杰錡","525,000","1","3MH00153 (2024-01-12安裝完畢) ; ","349,500","9","117,000","9",0,0,"232,500","2",0,0,"0","0",0,0,"0","0",0,0],"M230214":["M230214","談達投資股份有限公司","蔡杰錡","520,000","1","3MH00111 (2024-02-01已移交) ; ","104,000","6","0","0",0,0,"0","0",0,0,"52,000","6",0,0,"52,000","0",0,0],"M230072":["M230072","仙盈建設鹽水案","蔡杰錡","1,120,000","2","3MH00053 (2023-11-12試車完畢) ; 3MH00054 (2023-11-12試車完畢) ; ","1,008,000","9","224,000","9",0,0,"560,000","8",0,0,"224,000","2",0,0,"0","0",0,0],"M230073":["M230073","旭發開發建設(旭墅7)","蔡杰錡","1,120,000","2","3MH00063 (2024-05-28預計出貨) ; 3MH00064 (2024-05-28預計出貨) ; ","224,000","10","224,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230074":["M230074","健暉建設-仁勇路","蔡杰錡","720,000","1","3MH00105 (2024-03-19預計出貨) ; ","144,000","11","144,000","11",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230075":["M230075","健暉建設-澄新五街","蔡杰錡","5,550,000","10","3MH00095 (2024-06-05預計出貨) ; 3MH00096 (2024-06-05預計出貨) ; 3MH00097 (2024-06-05預計出貨) ; 3MH00098 (2024-06-18預計出貨) ; 3MH00099 (2024-06-18預計出貨) ; 3MH00100 (2024-06-18預計出貨) ; 3MH00101 (2024-07-02預計出貨) ; 3MH00102 (2024-07-02預計出貨) ; 3MH00103 (2024-07-11預計出貨) ; 3MH00104 (2024-07-11預計出貨) ; ","1,110,000","9",0,0,"1,110,000","9","0","0",0,0,"0","0",0,0,"0","0",0,0],"M220504":["M220504","鈦宇建設","蔡杰錡","4,600,000","8","3MH00055 (2024-01-12安裝完畢) ; 3MH00056 (2024-01-12安裝完畢) ; 3MH00057 (2024-01-12安裝完畢) ; 3MH00058 (2024-01-12安裝完畢) ; 3MH00059 (2024-01-12安裝完畢) ; 3MH00060 (2024-01-12安裝完畢) ; 3MH00061 (2023-12-22安裝完畢) ; 3MH00062 (2023-12-22安裝完畢) ; ","3,680,000","11","920,000","11",0,0,"2,300,000","2","460,000","1","0","0",0,0,"0","0",0,0],"M230015":["M230015","陳麗珍","蔡杰錡","580,000","1","3MH00094 (2024-03-19預計出貨) ; ","116,000","10","116,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220478":["M220478","林汶亭","蔡杰錡","560,000","1","3MH00036 (2024-02-01已移交) ; ","560,000","11","112,000","11",0,0,"280,000","5",0,0,"56,000","2",0,0,"112,000","0",0,0],"M230032":["M230032","昂陞營造-昇陽長照","蔡杰錡","1,250,000","1","3MX00048 (2023-12-26安裝完畢) ; ","875,000","9","250,000","9",0,0,"625,000","2",0,0,"0","0",0,0,"0","0",0,0],"M230047":["M230047","春木建設-麟愛案","蔡杰錡","920,000","1","3MW00198 (2024-01-17貨抵工地) ; ","644,000","9","184,000","9",0,0,"460,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230109":["M230109","豐富地產(二苓案)","蔡杰錡","690,000","1","3MH00149 (2024-08-06預計出貨) ; ","69,000","9","69,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230105":["M230105","金莎工程有限公司","蔡杰錡","900,000","1","3MW00117 (2024-04-03預計出貨) ; ","180,000","10","180,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220209":["M220209","詠大營造-高雄案","蔡杰錡","1,000,000","1","2MW00001 (2023-08-25官檢完畢) ; ","900,000","15","200,000","15",0,0,"500,000","8","200,000","8",0,0,0,0,"0","0",0,0],"M220224":["M220224","詠大營造-東昀投資-屏東案","蔡杰錡","2,000,000","2","2MW00002 (2024-04-19預計出貨) ; 2MW00003 (2024-04-19預計出貨) ; ","400,000","15","400,000","15",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220243":["M220243","有田建設有限公司","蔡杰錡","4,320,000","8","2MH00045 (2024-04-05預計出貨) ; 2MH00049 (2024-04-05預計出貨) ; 2MH00050 (2024-04-05預計出貨) ; 2MH00051 (2024-04-05預計出貨) ; 2MH00052 (2024-05-05預計出貨) ; 2MH00053 (2024-05-05預計出貨) ; 2MH00054 (2024-05-05預計出貨) ; 2MH00055 (2024-05-05預計出貨) ; ","864,000","12","864,000","12",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220244":["M220244","達豐昇建設","蔡杰錡","2,284,000","2","2MW00004 (2024-04-10預計出貨) ; 2MW00005 (2024-04-10預計出貨) ; ","380,000","15","380,000","15",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220305":["M220305","詠大營造-新屋頭洲段住宅","蔡杰錡","700,000","1","3MH00112 (2024-05-02預計出貨) ; ","140,000","10","140,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220356":["M220356","寶潤營造-高都獅甲","蔡杰錡","950,000","1","3MW00114 (2024-01-04官檢完畢) ; ","760,000","10","190,000","10",0,0,"380,000","4",0,0,"190,000","2",0,0,"0","0",0,0],"M220332":["M220332","圻豐建設","蔡杰錡","660,000","1","2MH00046 (2023-12-20試車完畢) ; ","594,000","13","132,000","13",0,0,"330,000","3","66,000","2","66,000","1",0,0,"0","0",0,0],"M220393":["M220393","川庭開發有限公司","蔡杰錡","550,000","1","3MH00002 (2024-02-01已移交) ; ","550,000","11","110,000","11",0,0,"275,000","7","55,000","6","55,000","4",0,0,"55,000","0",0,0],"D23080110":["D23080110","竟能有限公司","蔡杰錡","580,000","1","3MH00772 (2024-01-31安裝完畢) ; ","290,000","1","0","0",0,0,"290,000","1",0,0,"0","0",0,0,"0","0",0,0],"D23080132":["D23080132","偉唐營造(宜縉建設冬山集合住宅)","陳志文","2,590,000","2","3MX00775 (2024-07-01預計出貨) ; 3MX00776 (2024-07-01預計出貨) ; ","518,000","4","518,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"D23080168":["D23080168","陳世明農舍(葉彥廷)","陳志文","546,000","1","3MH00817 (2024-02-01貨抵工地) ; ","286,000","0","0","0",0,0,"286,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230103":["M230103","敦柏建設股份有限公司","陳志文","950,000","1","3MX00132 (2024-11-05預計出貨) ; ","190,000","9","190,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230077":["M230077","傳承建設-五結協和一段集合住宅","陳志文","890,000","1","3MW00515 (2024-03-29預計出貨) ; ","178,000","6","178,000","6",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230058":["M230058","葉彥廷(何朝宗農舍)","陳志文","556,000","1","3MH00039 (2024-01-14安裝完畢) ; ","397,000","11","106,000","11",0,0,"291,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230059":["M230059","葉彥廷(何朝順農舍)","陳志文","556,000","1","3MH00040 (2024-02-01試車完畢) ; ","503,000","11","106,000","11",0,0,"291,000","1",0,0,"106,000","0",0,0,"0","0",0,0],"M230060":["M230060","林國川-游長喜玉田農舍","陳志文","530,000","1","3MH00377 (2024-02-27預計出貨) ; ","106,000","7","106,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230061":["M230061","李志宏-三星農舍新建工程","陳志文","530,000","1","3MH00041 (2024-04-01預計出貨) ; ","106,000","11","106,000","11",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230062":["M230062","璟福建設-五結鄉案集合住宅","陳志文","3,385,000","6","3MH00042 (2024-03-05預計出貨) ; 3MH00043 (2024-03-05預計出貨) ; 3MH00044 (2024-03-15預計出貨) ; 3MH00045 (2024-03-15預計出貨) ; 3MH00046 (2024-03-15預計出貨) ; 3MH00047 (2024-05-01預計出貨) ; ","677,000","11","677,000","11",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230217":["M230217","許進東(沈秀娥農舍)","陳志文","520,000","1","3MH00113 (2023-11-03試車完畢) ; ","468,000","10","104,000","10",0,0,"260,000","3",0,0,"104,000","2",0,0,"0","0",0,0],"M230218":["M230218","勝築建設有限公司","陳志文","870,000","1","3MW00108 (2024-06-30預計出貨) ; ","174,000","10","174,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230332":["M230332","張建明游錦煌農舍","陳志文","550,000","1","3MH00126 (2024-03-21預計出貨) ; ","109,000","10","109,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230333":["M230333","張建明游錦禎農舍","陳志文","550,000","1","3MH00125 (2024-03-12預計出貨) ; ","109,000","10","109,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230212":["M230212","誠峰建設(安安兒股份有限公司)","陳志文","1,100,000","1","3MH00115 (2024-02-22預計出貨) ; ","214,000","10","214,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230158":["M230158","羅崇勳(勳風烘培坊)","陳志文","1,270,000","1","3MW00292 (2024-03-06預計出貨) ; ","254,000","8","254,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230148":["M230148","九畝田有限公司","陳志文","690,000","1","3MH00106 (2024-06-01預計出貨) ; ","138,000","10","138,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230171":["M230171","游本南","陳志文","600,000","1","3MH00107 (2023-11-30試車完畢) ; ","208,000","2","0","0",0,0,"104,000","2",0,0,"104,000","1",0,0,"0","0",0,0],"M230288":["M230288","喜耀建設","陳志文","860,000","1","3MW00253 (2024-01-17貨抵工地) ; ","602,000","9","172,000","9",0,0,"430,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230301":["M230301","李燦忠農舍","陳志文","530,000","1","3MH00127 (2024-05-01預計出貨) ; ","106,000","10","106,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230303":["M230303","林文捷農舍","陳志文","530,000","1","3MH00194 (2024-01-24貨抵工地) ; ","371,000","9","106,000","9",0,0,"265,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230266":["M230266","美而快國際股份有限公司","陳志文","970,000","1","3MW00139 (2024-01-02官檢完畢) ; ","364,000","2","0","0",0,0,"182,000","2",0,0,"182,000","1",0,0,"0","0",0,0],"M230346":["M230346","李志宏(林素月農舍)","陳志文","625,000","1","3MH00148 (2023-11-27試車完畢) ; ","212,000","3","0","0",0,0,"106,000","3","106,000","2",0,0,0,0,"0","0",0,0],"M230403":["M230403","宜恩建設","陳志文","860,000","1","3MW00212 (2024-05-15預計出貨) ; ","172,000","3","172,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230394":["M230394","宜縉建設(冬山透天住宅)","陳志文","1,599,000","3","3MH00544 (2024-03-08預計出貨) ; 3MH00545 (2024-03-08預計出貨) ; 3MH00546 (2024-03-08預計出貨) ; ","319,800","5","319,800","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230430":["M230430","大暐建設有限公司","陳志文","1,650,000","2","3MW00154 (2024-06-28預計出貨) ; 3MW00155 (2024-06-28預計出貨) ; ","330,000","2","330,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230544":["M230544","游哲豪(林柏槐農舍)","陳志文","530,000","1","3MH00242 (2024-03-06預計出貨) ; ","106,000","5","106,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230497":["M230497","家福春天建設有限公司","陳志文","2,400,000","3","3MW00213 (2024-05-30預計出貨) ; 3MW00214 (2024-05-30預計出貨) ; 3MW00215 (2024-05-30預計出貨) ; ","480,000","4","480,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230526":["M230526","豫呈建設(桐沁乾們二段集合住宅)","陳志文","720,000","1","3MH00216 (2024-06-03預計出貨) ; ","144,000","9","144,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230619":["M230619","大興發建設","陳志文","1,545,000","3","3MH00250 (2024-03-05預計出貨) ; 3MH00251 (2024-03-20預計出貨) ; 3MH00252 (2024-03-29預計出貨) ; ","309,000","8","309,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230576":["M230576","高灃土木包工業(張鈿土農舍)","陳志文","520,000","1","3MH00557 (2023-12-27試車完畢) ; ","364,000","1","0","0",0,0,"260,000","1","104,000","1",0,0,0,0,"0","0",0,0],"M230725":["M230725","寬闊建設股份有限公司","陳志文","700,000","1","3MX00533 (2024-09-17預計出貨) ; ","140,000","1","140,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080106":["M23080106","頭城武營段集合住宅(京翔建設)","陳志文","975,000","1","4MW00153 (2024-08-28預計出貨) ; ","195,000","3","195,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230713":["M230713","泰勛建設(羅東鎮羅莊段80地號)","陳志文","740,000","1","3MH00445 (2024-06-01預計出貨) ; ","148,000","7","148,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230774":["M230774","趙志星礁溪整建住宅","陳志文","540,000","1","3MH00378 (2024-02-20預計出貨) ; ","108,000","7","108,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110118":["M23110118","凱達營造-唐承開發","陳志文","710,000","1","4MH00077 (2024-07-31預計出貨) ; ","142,000","0","142,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231148":["M231148","賴協隆(邱山田農舍)","陳志文","520,000","1","3MH00808 (2024-06-30預計出貨) ; ","104,000","3","104,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231150":["M231150","力大開發股份有限公司","陳志文","520,000","1","3MH00738 (2024-02-06安裝完畢) ; ","260,000","0","0","0",0,0,"260,000","0",0,0,"0","0",0,0,"0","0",0,0],"M231167":["M231167","王閩霆","陳志文","530,000","1","3MH00656 (2024-02-16預計出貨) ; ","106,000","5","106,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M231061":["M231061","杜代書林褲煌農舍","陳志文","560,000","1","3MH00532 (2024-04-19預計出貨) ; ","112,000","6","112,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120058":["M23120058","新豪營造","陳志文","1,200,000","1","4MW00063 (2024-03-15預計出貨) ; ","240,000","0","240,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231161":["M231161","劉俊宏","陳志文","520,000","1","3MH00657 (2024-05-30預計出貨) ; ","104,000","5","104,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M231179":["M231179","復宇企業有限公司(盧建隆)","陳志文","600,000","1","3MH00555 (2023-12-12試車完畢) ; ","120,000","1","0","0",0,0,"0","0","120,000","1",0,0,0,0,"0","0",0,0],"M231202":["M231202","千風建設股份有限公司","陳志文","695,000","1","3MH00774 (2024-04-16預計出貨) ; ","139,000","4","139,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231204":["M231204","環球建設(大福段)","陳志文","720,000","1","3MH00609 (2023-11-26試車完畢) ; ","144,000","2","0","0",0,0,"0","0","144,000","2",0,0,0,0,"0","0",0,0],"M231205":["M231205","環球建設(壯圍中興段)","陳志文","1,420,000","2","3MH00610 (2024-06-10預計出貨) ; 3MH00611 (2024-06-10預計出貨) ; ","284,000","5","284,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M231019":["M231019","陳武祥建築師頭城烏石港段24地號","陳志文","730,000","1","3MH00531 (2024-03-13預計出貨) ; ","146,000","1","146,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231024":["M231024","白水芳華酒業股份有限公司","陳志文","910,000","1","3MW00939 (2024-04-10預計出貨) ; ","182,000","2","182,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100085":["M23100085","鼎弘健康生技","陳志文","3,850,000","7","4MH00101 (2024-08-29預計出貨) ; 4MH00102 (2024-08-29預計出貨) ; 4MH00103 (2024-08-29預計出貨) ; 4MH00104 (2024-08-29預計出貨) ; 4MH00105 (2024-08-29預計出貨) ; 4MH00106 (2024-08-29預計出貨) ; 4MH00107 (2024-08-29預計出貨) ; ","770,000","0","770,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100099":["M23100099","品揚建設-冬山香和段","陳志文","760,000","1","4MH00061 (2024-09-12預計出貨) ; ","152,000","1","152,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230967":["M230967","築林興業(北成段住宅)","陳志文","535,000","1","3MH00853 (2024-03-19預計出貨) ; ","107,000","3","107,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230968":["M230968","七賢土木包工業(李長發農會)","陳志文","520,000","1","3MH00485 (2024-04-01預計出貨) ; ","104,000","6","104,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090010":["M23090010","亞比建設","陳志文","1,040,000","2","4MH00099 (2024-06-28預計出貨) ; 4MH00100 (2024-06-28預計出貨) ; ","208,000","0","208,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090040":["M23090040","賴文專-張國文農舍","陳志文","518,000","1","4MH00060 (2024-06-26預計出貨) ; ","103,600","2","103,600","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090041":["M23090041","賴文專-高阿昭農舍","陳志文","518,000","1","4MH00059 (2024-06-26預計出貨) ; ","103,600","2","103,600","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230861":["M230861","林名宏頭城拔雅段透天住宅","陳志文","620,000","1","3MH00429 (2024-01-23試車完畢) ; ","558,000","4","124,000","4",0,0,"310,000","1",0,0,"124,000","0",0,0,"0","0",0,0],"M23090118":["M23090118","日昌營造-陳正農","陳志文","520,000","1","4MH00078 (2024-06-01預計出貨) ; ","104,000","0","104,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090137":["M23090137","群盛食品-羅東羅莊街","陳志文","1,680,000","1","4MX00076 (2024-06-01預計出貨) ; ","336,000","3","336,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090063":["M23090063","連冠建設-國民一段","陳志文","1,820,000","2","3MW00958 (2024-04-20預計出貨) ; 3MW00959 (2024-04-20預計出貨) ; ","364,000","2","364,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090022":["M23090022","文學苑2期(京禾建設)","陳志文","1,050,000","1","4MX00154 (2024-10-30預計出貨) ; ","210,000","0","210,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090068":["M23090068","眾信營造(中壢埔頂段)","趙漢霖","980,000","1","3MW00940 (2025-02-10預計出貨) ; ","294,000","2","294,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230847":["M230847","張正忠(大園區橫山段)","趙漢霖","570,000","1","3MH00547 (2024-12-24預計出貨) ; ","171,000","5","171,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230982":["M230982","亞灣開發有限公司","趙漢霖","2,100,000","2","3MW00489 (2024-10-15預計出貨) ; 3MW00490 (2024-10-15預計出貨) ; ","630,000","6","630,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100076":["M23100076","雲磊建設","趙漢霖","2,800,000","4","3MH01043 (2024-05-15預計出貨) ; 3MH01044 (2024-05-15預計出貨) ; 3MH01045 (2024-05-15預計出貨) ; 3MH01046 (2024-05-15預計出貨) ; ","840,000","1","840,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100078":["M23100078","新竹市武陵段(姜佳妡)","趙漢霖","665,000","1","3MH00977 (2024-07-10預計出貨) ; ","199,500","2","199,500","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100135":["M23100135","鉅立營造","趙漢霖","750,000","1","3MH01047 (2024-05-15預計出貨) ; ","225,000","1","225,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120002":["M23120002","人合營造","趙漢霖","880,000","1","4MW00064 (2024-04-01預計出貨) ; ","176,000","1","176,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120067":["M23120067","玖群-八德興豐段","趙漢霖","1,120,000","2","4MH00118 (2024-06-15預計出貨) ; 4MH00119 (2024-06-15預計出貨) ; ","336,000","0","336,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110100":["M23110100","堡居建設","趙漢霖","1,840,000","2","4MW00057 (2025-02-10預計出貨) ; 4MW00058 (2025-02-10預計出貨) ; ","552,000","0","552,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110073":["M23110073","郭為宸-桃園中埔段","趙漢霖","750,000","1","4MH00157 (2024-11-15預計出貨) ; ","225,000","0","225,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23070155":["M23070155","眾信營造股份有限公司","趙漢霖","600,000","1","3MH00864 (2024-04-22預計出貨) ; ","180,000","3","180,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230703":["M230703","寶台建設有限公司","趙漢霖","2,516,000","2","3MX00487 (2024-05-17預計出貨) ; 3MX00488 (2024-05-17預計出貨) ; ","754,800","6","754,800","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230656":["M230656","元展開發-觀音草福段395地號","趙漢霖","1,852,000","2","3MX00404 (2024-04-10預計出貨) ; 3MX00405 (2024-04-10預計出貨) ; ","384,000","7","384,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23080173":["M23080173","富昌發建設有限公司","趙漢霖","1,480,000","2","3MX00861 (2024-06-03預計出貨) ; 3MX00862 (2024-06-03預計出貨) ; ","444,000","3","444,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230802":["M230802","元展開發-觀音草福段395-1地號","趙漢霖","860,000","1","3MX00406 (2024-04-10預計出貨) ; ","172,000","6","172,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230534":["M230534","元臺建設有限公司","趙漢霖","5,040,000","9","3MH00941 (2024-05-10預計出貨) ; 3MH00942 (2024-05-10預計出貨) ; 3MH00943 (2024-05-10預計出貨) ; 3MH00944 (2024-05-10預計出貨) ; 3MH00945 (2024-05-10預計出貨) ; 3MH00946 (2024-05-10預計出貨) ; 3MH00947 (2024-05-10預計出貨) ; 3MH00948 (2024-05-10預計出貨) ; 3MH00949 (2024-05-10預計出貨) ; ","1,512,000","2","1,512,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230479":["M230479","全新建設有限公司","趙漢霖","1,500,000","2","3MX00257 (2024-05-15預計出貨) ; 3MX00310 (2024-05-15預計出貨) ; ","450,000","5","0","0","450,000","5","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230018":["M230018","樂橋建設有限公司","趙漢霖","560,000","1","3MH00066 (2024-04-01預計出貨) ; ","336,000","9","112,000","9","224,000","6","0","0",0,0,"0","0",0,0,"0","0",0,0],"M220195":["M220195","鑫建豪營造有限公司","趙漢霖","990,000","1","3MW00256 (2024-08-15預計出貨) ; ","594,000","9","198,000","9","396,000","7","0","0",0,0,"0","0",0,0,"0","0",0,0],"D23070156":["D23070156","鄭鈞鴻(竹北幸福街)","趙漢霖","2,172,000","1","3MX00680 (2024-04-01預計出貨) ; ","651,600","4","651,600","4",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M220289":["M220289","鑫建豪營造有限公司","趙漢霖","570,000","1","3MH00255 (2024-05-20預計出貨) ; ","285,000","9","114,000","9","171,000","7","0","0",0,0,"0","0",0,0,"0","0",0,0],"D23070085":["D23070085","永融營造(大圓環區南路)","章又仁","1,020,002","2","3MH00658 (2024-03-05預計出貨) ; 3MH00659 (2024-03-05預計出貨) ; ","204,000","5","204,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"D23070086":["D23070086","永融營造(大園學八街)","章又仁","1,050,000","2","3MH00660 (2024-04-05預計出貨) ; 3MH00661 (2024-04-05預計出貨) ; ","210,000","5","210,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M23080187":["M23080187","鴻耀國際開發有限公司","章又仁","1,010,000","1","3MW00805 (2024-01-12貨抵工地) ; ","407,000","3","3,000","3",0,0,"404,000","0",0,0,"0","0",0,0,"0","0",0,0],"M23080188":["M23080188","新城營造","章又仁","2,150,000","2","4MX00079 (2024-12-31預計出貨) ; 4MX00080 (2024-12-31預計出貨) ; ","430,000","0","430,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230714":["M230714","許美菊","章又仁","560,000","1","3MH00293 (2024-05-24預計出貨) ; ","168,000","3","168,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230781":["M230781","青埔吳公館","章又仁","820,000","1","3MH00507 (2024-03-11預計出貨) ; ","246,000","6","246,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230786":["M230786","青埔陳威宇住宅案","章又仁","615,000","1","3MH00407 (2024-09-10預計出貨) ; ","184,500","7","184,500","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120064":["M23120064","張興鈺","章又仁","554,650","1","4MH00180 (2024-07-31預計出貨) ; ","166,395","0","166,395","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120065":["M23120065","陳連政住宅案","章又仁","550,000","1","4MH00082 (2024-05-24預計出貨) ; ","165,000","0","165,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230851":["M230851","澄鳴建設-高明段集合式住宅案","章又仁","1,200,000","1","3MW00558 (2024-03-19預計出貨) ; ","36,000","5","36,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230943":["M230943","岩美開發建設-中壢案","章又仁","1,160,000","2","3MH00408 (2024-01-25已移交) ; 3MH00409 (2024-01-25已移交) ; ","1,160,000","7","348,000","7",0,0,"464,000","3",0,0,"232,000","0",0,0,"116,000","0",0,0],"M230936":["M230936","啟森營造股份有限公司","章又仁","8,405,875","5","3MW00695 (2024-06-03預計出貨) ; 3MW00697 (2024-06-03預計出貨) ; 3MW00698 (2024-06-03預計出貨) ; 3MW00699 (2024-06-03預計出貨) ; 3MW00696 (2024-06-03預計出貨) ; ","1,681,175","4","1,681,175","4",0,0,"0","0",0,0,"0","0",0,0,"0","0","0","0"],"M23090140":["M23090140","廣瓏建設有限公司","李烘銘","4,000,000","4","3MW00855 (2024-06-14T10:10預計出貨) ; 3MW00856 (2024-06-14T10:10預計出貨) ; 3MW00857 (2024-06-14T10:10預計出貨) ; 3MW00858 (2024-06-14T10:10預計出貨) ; ","400,000","3","400,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090132":["M23090132","上群地產開發股份有限公司","李烘銘","2,300,000","2","3MX00859 (2024-06-14T10:10預計出貨) ; 3MX00860 (2024-06-14T10:10預計出貨) ; ","230,000","3","230,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090095":["M23090095","格誠建設有限公司","李烘銘","1,100,000","1","3MW00845 (2024-05-15預計出貨) ; ","220,000","3","220,000","3",0,0,"0","0","0","0",0,0,"0","0","0","0",0,0],"M23090096":["M23090096","格睿建設有限公司","李烘銘","2,430,000","2","3MW00846 (2024-05-15T10:00預計出貨) ; 3MW00847 (2024-05-15T10:00預計出貨) ; ","486,000","3","486,000","3",0,0,"0","0","0","0",0,0,"0","0","0","0",0,0],"M23090097":["M23090097","格睿建設有限公司","李烘銘","830,000","1","3MH00848 (2024-05-15T10:00預計出貨) ; ","166,000","3","166,000","3",0,0,"0","0","0","0",0,0,"0","0","0","0",0,0],"M230881":["M230881","胡方翔(溫玉嬌)","李烘銘","910,000","1","3MW00415 (2024-03-19預計出貨) ; ","258,000","7","258,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230838":["M230838","福興建設有限公司","李烘銘","5,615,000","10","3MH00582 (2024-02-16預計出貨) ; 3MH00583 (2024-02-16預計出貨) ; 3MH00584 (2024-03-06預計出貨) ; 3MH00585 (2024-03-06預計出貨) ; 3MH00586 (2024-03-06預計出貨) ; 3MH00587 (2024-03-06預計出貨) ; 3MH00588 (2024-03-18預計出貨) ; 3MH00589 (2024-03-18預計出貨) ; 3MH00590 (2024-03-18預計出貨) ; 3MH00591 (2024-01-08貨抵工地) ; ","212,000","0","0","0",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230839":["M230839","全鴻建設開發有限公司(觀音安和街)","李烘銘","530,000","1","3MH00592 (2024-02-03已移交) ; ","424,000","0","0","0",0,0,"212,000","0",0,0,"159,000","0",0,0,"53,000","0",0,0],"M23100133":["M23100133","總富建設-彰化溪州鄉","李烘銘","610,000","1","3MH00962 (2024-02-27預計出貨) ; ","183,000","2","183,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100138":["M23100138","王凱莉","李烘銘","670,000","1","3MH01034 (2024-05-21預計出貨) ; ","201,000","1","201,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100140":["M23100140","薆綉室內裝修工程有限公司","李烘銘","520,000","1","3MH01048 (2024-03-11預計出貨) ; ","159,000","1","159,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230994":["M230994","村玉建設-長春路案(B棟)","李烘銘","3,300,000","6","3MH00273 (2024-05-10預計出貨) ; 3MH00272 (2024-05-10預計出貨) ; 3MH00271 (2024-05-10預計出貨) ; 3MH00270 (2024-05-10預計出貨) ; 3MH00268 (2024-05-10預計出貨) ; 3MH00269 (2024-05-10預計出貨) ; ","990,000","4","990,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231169":["M231169","鄭茂昌","李烘銘","2,080,000","2","3MH00596 (2024-03-15預計出貨) ; ","210,000","5","0","5",0,0,0,0,0,0,0,0,0,0,0,0,0,0],"M231172":["M231172","乾唐建設有限公司","李烘銘","820,000","1","3MX00619 (2024-01-08安裝完畢) ; ","492,000","1","0","0",0,0,"246,000","1","246,000","0",0,0,0,0,"0","0",0,0],"M231045":["M231045","寶祥營造廠有限公司(林梅清)","李烘銘","560,000","1","3MH00503 (2023-12-22安裝完畢) ; ","168,000","2","0","0",0,0,"168,000","2",0,0,"0","0",0,0,"0","0",0,0],"M23110069":["M23110069","弘泰-彰化和美鎮","李烘銘","2,120,000","4","3MH01071 (2024-05-15預計出貨) ; 3MH01072 (2024-05-15預計出貨) ; 3MH01073 (2024-05-15預計出貨) ; 3MH01074 (2024-05-15預計出貨) ; ","636,000","1","636,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110060":["M23110060","張弘起","李烘銘","535,000","1","3MH01054 (2024-04-10預計出貨) ; ","160,500","1","160,500","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231126":["M231126","薆綉室內裝修工程有限公司-南投草屯鎮","李烘銘","540,000","1","3MH00535 (2024-01-12貨抵工地) ; ","324,000","6","162,000","6",0,0,"162,000","0","0","0",0,0,0,0,"0","0",0,0],"M231133":["M231133","弘宬營造股份有限公司(西屯區)","李烘銘","700,000","1","3MH00646 (2024-11-29預計出貨) ; ","210,000","5","210,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231134":["M231134","弘宬營造股份有限公司(北區)","李烘銘","1,170,000","2","3MH00644 (2024-06-05預計出貨) ; 3MH00645 (2024-06-05預計出貨) ; ","3,000","5","3,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M231153":["M231153","馨盛-明德北路","李烘銘","510,000","1","3MH00779 (2024-05-14預計出貨) ; ","153,000","4","153,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231154":["M231154","上互營造股份有限公司","李烘銘","1,020,000","2","3MH00777 (2024-08-10T12:00預計出貨) ; 3MH00778 (2024-08-10T12:00預計出貨) ; ","255,000","4","255,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110123":["M23110123","瑋瓏營造有限公司","李烘銘","1,080,000","2","3MH01051 (2024-05-10預計出貨) ; 3MH01052 (2024-04-23預計出貨) ; ","324,000","1","324,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110129":["M23110129","蕭崇家-彰化縣員林市","李烘銘","1,300,000","2","4MH00159 (2024-12-26預計出貨) ; 4MH00160 (2024-12-16預計出貨) ; ","390,000","0","390,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230759":["M230759","通權建設-王江海","李烘銘","520,000","1","3MH00496 (2024-10-15預計出貨) ; ","156,000","6","156,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230760":["M230760","通權建設-南投市","李烘銘","680,000","1","3MH00497 (2024-10-15預計出貨) ; ","204,000","6","204,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230734":["M230734","盛立交通-貨運集貨站新建工程","李烘銘","750,000","1","3MW00509 (2024-02-21預計出貨) ; ","225,000","5","225,000","5",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230737":["M230737","萬大建設有限公司-台中沙鹿區","李烘銘","540,000","1","3MH00297 (2023-09-08試車完畢) ; ","162,000","4","0","0",0,0,"0","0",0,0,"162,000","4",0,0,"0","0",0,0],"M230738":["M230738","江春池","李烘銘","560,000","1","3MH00298 (2023-11-02試車完畢) ; ","168,000","2","0","0",0,0,"0","0",0,0,"168,000","2",0,0,"0","0",0,0],"M230631":["M230631","劉建利","李烘銘","740,000","1","3MW00248 (2023-10-05試車完畢) ; ","385,560","4","0","0",0,0,"163,560","4",0,0,"222,000","3",0,0,"0","0",0,0],"M230662":["M230662","劉建忠","李烘銘","740,000","1","3MW00249 (2023-10-02試車完畢) ; ","388,320","4","0","0",0,0,"166,320","4",0,0,"222,000","3",0,0,"0","0",0,0],"M230679":["M230679","劉繕綸","李烘銘","810,000","1","3MW00311 (2024-02-22預計出貨) ; ","225,000","8","225,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230687":["M230687","永豪營造有限公司","李烘銘","525,000","1","3MH00355 (2023-12-08試車完畢) ; ","472,500","7","157,500","7",0,0,"157,500","3",0,0,"157,500","1",0,0,"0","0",0,0],"M230635":["M230635","村玉建設-長春路案(A棟)","李烘銘","850,000","1","3MW00267 (2024-04-16預計出貨) ; ","255,000","4","255,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230636":["M230636","村玉建設-科邨一路案","李烘銘","5,940,000","6","3MW00279 (2024-06-25預計出貨) ; 3MW00278 (2024-06-25預計出貨) ; 3MW00277 (2024-06-25預計出貨) ; 3MW00276 (2024-06-25預計出貨) ; 3MW00275 (2024-06-25預計出貨) ; 3MW00274 (2024-06-25預計出貨) ; ","1,782,000","8","1,782,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230637":["M230637","村玉建設-高南","李烘銘","1,320,000","2","3MH00281 (2024-05-10預計出貨) ; 3MH00280 (2024-05-10預計出貨) ; ","396,000","8","396,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230512":["M230512","陳宜羣","李烘銘","550,000","1","3MH00197 (2024-07-10預計出貨) ; ","165,000","9","165,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230545":["M230545","耀鼎建設-北屯","李烘銘","1,100,000","2","3MH00207 (2024-08-01預計出貨) ; 3MH00208 (2024-08-01預計出貨) ; ","330,000","6","330,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230548":["M230548","益豪建築-竹山大同街","李烘銘","1,500,000","2","3MW00260 (2024-01-16貨抵工地) ; 3MW00261 (2024-01-31安裝完畢) ; ","900,000","8","450,000","8",0,0,"450,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230549":["M230549","益豪建造-竹山大明路","李烘銘","2,400,000","4","3MH00262 (2024-04-19預計出貨) ; 3MH00263 (2024-04-19預計出貨) ; 3MH00264 (2024-04-19預計出貨) ; 3MH00265 (2024-04-19預計出貨) ; ","720,000","8","720,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230620":["M230620","洪輝龍-A1","李烘銘","520,000","1","3MH00247 (2024-06-28預計出貨) ; ","156,000","8","156,000","8",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230621":["M230621","金寶城糖業-虎尾科虎路","李烘銘","550,000","1","3MH00266 (2023-12-21貨抵工地) ; ","330,000","8","165,000","8",0,0,"165,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230579":["M230579","洪輝龍-A2","李烘銘","520,000","1","3MH00245 (2024-06-28預計出貨) ; ","156,000","8","156,000","8",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230580":["M230580","翔富裕股份有限公司(林紡鍥-A8)","李烘銘","520,000","1","3MH00246 (2024-06-28預計出貨) ; ","156,000","8","156,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230391":["M230391","台翰營造","李烘銘","740,000","1","3MW00209 (2024-01-31官檢完畢) ; ","666,000","8","222,000","8",0,0,"222,000","4",0,0,"222,000","1",0,0,"0","0",0,0],"M230412":["M230412","勝德營造(順宇)","李烘銘","1,050,000","2","3MH00312 (2024-01-03貨抵工地) ; 3MH00313 (2024-01-03貨抵工地) ; ","630,000","7","315,000","7",0,0,"315,000","0",0,0,"0","0",0,0,"0","0",0,0],"M230438":["M230438","佳意工程有限公司","李烘銘","600,000","1","3MH00196 (2023-09-28試車完畢) ; ","420,000","9","180,000","9",0,0,"180,000","5",0,0,"60,000","4",0,0,"0","0",0,0],"M230483":["M230483","蔡育薰-博思特幼兒學校","李烘銘","550,000","1","3MH00450 (2024-01-02官檢完畢) ; ","495,000","6","165,000","6",0,0,"165,000","2",0,0,"165,000","1",0,0,"0","0",0,0],"M230484":["M230484","協順營造有限公司","李烘銘","630,000","1","3MH00360 (2024-01-16官檢完畢) ; ","567,000","7","189,000","7",0,0,"189,000","2",0,0,"189,000","1",0,0,"0","0",0,0],"M230485":["M230485","順宇土地建築(大雅秀山段)","李烘銘","2,100,000","4","3MH00356 (2023-12-22貨抵工地) ; 3MH00357 (2023-12-22貨抵工地) ; 3MH00358 (2023-12-29貨抵工地) ; 3MH00359 (2023-12-29貨抵工地) ; ","1,260,000","7","630,000","7",0,0,"630,000","1",0,0,"0","0",0,0,"0","0",0,0],"M220471":["M220471","東禹營造-台中果菜市場","李烘銘","3,280,000","2","3MW00118 (2023-09-12官檢完畢) ; 3MW00119 (2023-09-12官檢完畢) ; ","2,987,280","11","538,912","11",0,0,0,0,"1,886,192","4","292,720","4","269,456","4","0","0",0,0],"M230238":["M230238","王色鳳","李烘銘","630,000","1","3MH00130 (2023-11-08已移交) ; ","189,000","4","0","0",0,0,"0","0",0,0,"126,000","4",0,0,"63,000","2",0,0],"M230239":["M230239","弘宬營造股份有限公司","李烘銘","600,000","1","3MH00173 (2024-05-15預計出貨) ; ","180,000","8","180,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230240":["M230240","弘宬營造股份有限公司","李烘銘","1,260,000","2","3MH00174 (2024-03-12預計出貨) ; 3MH00175 (2024-03-12預計出貨) ; ","378,000","8","378,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230284":["M230284","劉玉閔-施洽成撚線厰","李烘銘","600,000","1","3MH00195 (2024-04-03預計出貨) ; ","180,000","9","180,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230205":["M230205","金順億建設有限公司","葉博澄","2,520,000","4","3MH00121 (2023-08-18官檢完畢) ; 3MH00122 (2023-08-18官檢完畢) ; 3MH00123 (2023-08-18官檢完畢) ; 3MH00124 (2023-08-18官檢完畢) ; ","2,268,000","8","756,000","8",0,0,"756,000","8",0,0,"756,000","6",0,0,"0","0",0,0],"M230432":["M230432","彰員營造股份有限公司","葉博澄","11,860,000","13","3MW00171 (2023-10-20試車完畢) ; 3MW00160 (2024-06-01預計出貨) ; 3MW00161 (2024-06-01預計出貨) ; 3MW00162 (2024-06-01預計出貨) ; 3MW00163 (2024-06-01預計出貨) ; 3MW00164 (2024-06-01預計出貨) ; 3MW00165 (2024-06-01預計出貨) ; 3MW00166 (2024-06-01預計出貨) ; 3MW00167 (2024-06-01預計出貨) ; 3MW00168 (2024-06-01預計出貨) ; 3MW00169 (2024-06-01預計出貨) ; 3MW00170 (2024-06-01預計出貨) ; 3MW00159 (2024-06-01預計出貨) ; ","3,978,000","9","3,558,000","9",0,0,"0","5",0,0,"0","3",0,0,"0","0",0,0],"M230415":["M230415","岩城營造(名富建設)","葉博澄","1,800,000","3","3MH00156 (2024-01-08試車完畢) ; 3MH00157 (2024-03-22預計出貨) ; 3MH00158 (2024-01-08試車完畢) ; ","1,260,000","9","540,000","9",0,0,"0","3",0,0,"0","0",0,0,"0","0",0,0],"M230416":["M230416","雲啟建設(周素鳳)","葉博澄","2,550,000","5","3MH00491 (2024-03-15預計出貨) ; 3MH00492 (2024-03-15預計出貨) ; 3MH00493 (2024-03-15預計出貨) ; 3MH00494 (2024-03-15預計出貨) ; 3MH00495 (2024-03-15預計出貨) ; ","765,000","6","765,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230593":["M230593","耐福營造股份有限公司","葉博澄","5,160,000","8","3MH00573 (2023-11-17貨抵工地) ; 3MH00574 (2023-11-17貨抵工地) ; 3MH00575 (2024-03-06預計出貨) ; 3MH00576 (2024-01-03貨抵工地) ; 3MH00577 (2024-03-06預計出貨) ; 3MH00578 (2024-01-03貨抵工地) ; 3MW00579 (2024-03-06預計出貨) ; 3MW00580 (2024-03-06預計出貨) ; ","666,000","2","0","0",0,0,"0","2","0","0",0,0,0,0,"0","0",0,0],"M230600":["M230600","玄盟營造","葉博澄","3,600,000","6","3MH00835 (2024-03-19預計出貨) ; 3MH00836 (2024-03-19預計出貨) ; 3MH00837 (2024-03-19預計出貨) ; 3MH00838 (2024-03-20預計出貨) ; 3MH00839 (2024-03-20預計出貨) ; 3MH00840 (2024-03-20預計出貨) ; ","1,080,000","4","1,080,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230607":["M230607","豐田流通供應鏈物流有限公司","葉博澄","580,000","1","3MH00259 (2023-10-18試車完畢) ; ","522,000","8","174,000","8",0,0,"174,000","4",0,0,"174,000","3",0,0,"0","0",0,0],"M230530":["M230530","保成營造","葉博澄","700,000","1","3MW00210 (2023-11-30官檢完畢) ; ","630,000","8","210,000","8",0,0,"210,000","5",0,0,"210,000","1",0,0,"0","0",0,0],"M230531":["M230531","保成營造","葉博澄","680,000","1","3MW00211 (2024-02-05官檢完畢) ; ","612,000","8","204,000","8",0,0,"204,000","4",0,0,"204,000","1",0,0,"0","0",0,0],"M230639":["M230639","洪婉楹(林俊輝)","葉博澄","620,000","1","3MH00411 (2024-04-01預計出貨) ; ","186,000","7","186,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230641":["M230641","秉禾營造(詹朝揚)","葉博澄","640,000","1","3MH00244 (2024-01-16官檢完畢) ; ","576,000","8","256,000","8",0,0,"128,000","3",0,0,"192,000","1",0,0,"0","0",0,0],"M230646":["M230646","立傑營造","葉博澄","1,140,000","1","3MW00243 (2023-10-25試車完畢) ; ","1,026,000","8","342,000","8",0,0,"342,000","5",0,0,"342,000","3",0,0,"0","0",0,0],"M230743":["M230743","拾益營造-清水幼兒園","葉博澄","790,000","1","3MH00296 (2024-01-31官檢完畢) ; ","711,000","8","316,000","8",0,0,"158,000","4",0,0,"237,000","2",0,0,"0","0",0,0],"M230745":["M230745","陳加樺","葉博澄","550,000","1","3MH00508 (2023-12-19貨抵工地) ; ","330,000","6","165,000","6",0,0,"165,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230790":["M230790","班米羅幼兒園","葉博澄","750,000","1","3MW00410 (2024-03-05預計出貨) ; ","225,000","7","225,000","7",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230791":["M230791","吳明鴻","葉博澄","960,000","1","3MW00350 (2023-11-10試車完畢) ; ","864,000","7","288,000","7",0,0,"288,000","4",0,0,"288,000","2",0,0,"0","0",0,0],"M23080163":["M23080163","吉旺營造股份有限公司","葉博澄","653,000","1","3MH00879 (2024-03-20預計出貨) ; ","192,000","3","192,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231151":["M231151","太裕營造股份有限公司","葉博澄","1,300,000","1","3MW00788 (2024-03-01預計出貨) ; ","390,000","4","390,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231118":["M231118","立傑營造-台中太平","葉博澄","2,000,000","2","3MW00613 (2024-03-07預計出貨) ; 3MW00612 (2023-12-08貨抵工地) ; ","285,000","1","0","0",0,0,"0","1","0","0",0,0,0,0,"0","0",0,0],"M231168":["M231168","山本耀(鄭榆錚)","葉博澄","800,000","1","3MH00950 (2024-03-11預計出貨) ; ","240,000","2","240,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110080":["M23110080","金進億","葉博澄","650,000","1","3MH01050 (2024-03-04預計出貨) ; ","195,000","1","195,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110103":["M23110103","亘玉露生技","葉博澄","930,000","1","4MW00066 (2024-04-01預計出貨) ; ","279,000","0","279,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110005":["M23110005","興安-南投司馬按段","葉博澄","3,300,000","6","4MH00126 (2024-04-08預計出貨) ; 4MH00127 (2024-04-08預計出貨) ; 4MH00128 (2024-04-08預計出貨) ; 4MH00129 (2024-04-08預計出貨) ; 4MH00130 (2024-04-08預計出貨) ; 4MH00131 (2024-04-08預計出貨) ; ","990,000","0","990,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110007":["M23110007","經緯營造","葉博澄","820,000","1","4MW00065 (2024-04-15預計出貨) ; ","246,000","0","246,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110011":["M23110011","孫室空間","葉博澄","700,000","1","3MP01032 (2024-02-29預計出貨) ; ","210,000","1","210,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231039":["M231039","玉明玻璃股份有限公司(劉澄藝)","葉博澄","530,000","1","3MH00534 (2023-12-16安裝完畢) ; ","318,000","6","159,000","6",0,0,"159,000","2",0,0,"0","0",0,0,"0","0",0,0],"M231043":["M231043","磐檍建設(邑鼎)-北屯段","葉博澄","570,000","1","4MH00158 (2024-05-30預計出貨) ; ","171,000","0","171,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231173":["M231173","厚德建設有限公司","葉博澄","1,670,000","3","3MH00641 (2024-01-19安裝完畢) ; 3MH00642 (2024-01-20安裝完畢) ; 3MH00643 (2023-12-27貨抵工地) ; ","501,000","1","0","0",0,0,"501,000","1",0,0,"0","0",0,0,"0","0",0,0],"M231184":["M231184","裕民工務企業有限公司","葉博澄","530,000","1","3MH00640 (2024-01-24已移交) ; ","371,000","2","0","0",0,0,"159,000","2","159,000","1",0,0,0,0,"53,000","0",0,0],"M23120001":["M23120001","東松建設-台中西屯區廣昌段","葉博澄","15,080,000","29","4MH00188 (2024-05-06預計出貨) ; 4MH00189 (2024-05-06預計出貨) ; 4MH00190 (2024-05-06預計出貨) ; 4MH00191 (2024-05-06預計出貨) ; 4MH00192 (2024-05-06預計出貨) ; 4MH00193 (2024-05-06預計出貨) ; 4MH00194 (2024-05-06預計出貨) ; 4MH00195 (2024-05-06預計出貨) ; 4MH00196 (2024-05-06預計出貨) ; 4MH00197 (2024-05-06預計出貨) ; 4MH00198 (2024-05-06預計出貨) ; 4MH00199 (2024-05-06預計出貨) ; 4MH00200 (2024-05-06預計出貨) ; 4MH00201 (2024-05-06預計出貨) ; 4MH00202 (2024-05-06預計出貨) ; 4MH00203 (2024-05-06預計出貨) ; 4MH00204 (2024-05-06預計出貨) ; 4MH00205 (2024-05-06預計出貨) ; 4MH00206 (2024-05-06預計出貨) ; 4MH00207 (2024-05-06預計出貨) ; 4MH00208 (2024-05-06預計出貨) ; 4MH00209 (2024-05-06預計出貨) ; 4MH00210 (2024-05-06預計出貨) ; 4MH00211 (2024-05-06預計出貨) ; 4MH00212 (2024-05-06預計出貨) ; 4MH00213 (2024-05-06預計出貨) ; 4MH00214 (2024-05-06預計出貨) ; 4MH00215 (2024-05-06預計出貨) ; 4MH00216 (2024-05-06預計出貨) ; ","4,524,000","0","4,524,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231207":["M231207","三冠企業社","葉博澄","840,000","1","3MW01082 (2024-09-02預計出貨) ; ","252,000","1","252,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120100":["M23120100","林佳民-台中豐原區","葉博澄","650,000","1","4MH00089 (2024-04-22預計出貨) ; ","195,000","0","195,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100002":["M23100002","悅綠樹-彰化田中","葉博澄","1,740,000","2","4MW00090 (2024-05-15預計出貨) ; 4MW00091 (2024-05-15預計出貨) ; ","522,000","0","522,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100003":["M23100003","悅綠樹-彰化員林","葉博澄","1,330,000","2","4MW00092 (2024-05-15預計出貨) ; 4MH00093 (2024-05-15預計出貨) ; ","399,000","0","399,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100074":["M23100074","政馭實業","葉博澄","620,000","1","4MH00062 (2024-04-15預計出貨) ; ","186,000","1","186,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100045":["M23100045","深坑區土庫段廠房-永陞建設","葉博澄","10,300,000","4","4MW00181 (2024-11-01預計出貨) ; 4MW00182 (2024-11-01預計出貨) ; 4MX00183 (2024-11-01預計出貨) ; 4MX00184 (2024-11-01預計出貨) ; ","1,854,000","1","1,854,000","1",0,0,"0","0",0,0,"0","0",0,0,0,0,"0","0"],"M23100051":["M23100051","山王營造有限公司","葉博澄","530,000","1","3MH00926 (2024-02-19預計出貨) ; ","159,000","3","159,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100057":["M23100057","吉成食品","葉博澄","910,000","1","3MW01083 (2024-05-02預計出貨) ; ","273,000","1","273,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100058":["M23100058","岩城營造(億豪建設)-新營區周武段","葉博澄","990,000","1","4MW00217 (2024-04-15預計出貨) ; ","297,000","0","297,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100134":["M23100134","興安-北屯區陳平段","葉博澄","5,120,000","5","4MW00132 (2024-05-20預計出貨) ; 4MW00133 (2024-05-20預計出貨) ; 4MW00134 (2024-05-20預計出貨) ; 4MW00135 (2024-05-20預計出貨) ; 4MW00136 (2024-05-20預計出貨) ; ","1,536,000","0","1,536,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100136":["M23100136","興安-美和綠洲","葉博澄","3,780,000","4","4MW00122 (2024-04-08預計出貨) ; 4MW00123 (2024-04-08預計出貨) ; 4MW00124 (2024-04-08預計出貨) ; 4MW00125 (2024-04-08預計出貨) ; ","1,134,000","0","1,134,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231026":["M231026","伍灃營造開發有限公司","葉博澄","520,000","1","3MH00881 (2024-05-03預計出貨) ; ","156,000","4","156,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231030":["M231030","陳慶宏","葉博澄","530,000","1","3MH00796 (2023-12-29安裝完畢) ; ","318,000","1","0","0",0,0,"159,000","1","159,000","1",0,0,0,0,"0","0",0,0],"M23100129":["M23100129","金順億大坑巷二期","葉博澄","650,000","1","3MH00957 (2024-02-22預計出貨) ; ","195,000","2","195,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100082":["M23100082","靖捷企業社","葉博澄","580,000","1","3MH00978 (2024-03-25預計出貨) ; ","174,000","2","174,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230848":["M230848","山王營造","葉博澄","530,000","1","3MH00351 (2023-10-27試車完畢) ; ","477,000","7","212,000","7",0,0,"106,000","5",0,0,"159,000","3",0,0,"0","0",0,0],"M230896":["M230896","勝邦開發建設股份有限公司","葉博澄","1,620,000","3","3MH00352 (2023-10-27試車完畢) ; 3MH00353 (2023-11-01試車完畢) ; 3MH00354 (2023-11-29試車完畢) ; ","1,458,000","7","486,000","7",0,0,"486,000","5",0,0,"486,000","3",0,0,"0","0",0,0],"M23090101":["M23090101","佑翔營造工程有限公司","葉博澄","1,160,000","2","3MH00883 (2024-02-27預計出貨) ; 3MH00884 (2024-02-27預計出貨) ; ","348,000","3","348,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100027":["M23100027","總財建設實業股份有限公司","黃孟澤","1,456,000","2","3MX00968 (2024-08-15預計出貨) ; 3MX00969 (2024-08-15預計出貨) ; ","436,800","2","436,800","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100029":["M23100029","高臺營造","黃孟澤","10,080,000","16","3MH01055 (2024-10-15預計出貨) ; 3MH01056 (2024-10-15預計出貨) ; 3MH01057 (2024-10-15預計出貨) ; 3MH01058 (2024-10-15預計出貨) ; 3MH01059 (2024-10-15預計出貨) ; 3MH01060 (2024-10-15預計出貨) ; 3MH01061 (2024-10-15預計出貨) ; 3MH01062 (2024-10-15預計出貨) ; 3MH01063 (2024-10-15預計出貨) ; 3MH01064 (2024-10-15預計出貨) ; 3MH01065 (2024-10-15預計出貨) ; 3MH01066 (2024-10-15預計出貨) ; 3MH01067 (2024-10-15預計出貨) ; 3MH01068 (2024-10-15預計出貨) ; 3MH01069 (2024-10-15預計出貨) ; 3MH01070 (2024-10-15預計出貨) ; ","3,024,000","1","3,024,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220381":["M220381","睿邑生物科技廠房","黃孟澤","2,200,000","2","3MW00128 (2023-12-22試車完畢) ; 3MW00129 (2024-01-11安裝完畢) ; ","1,973,200","9","336,800","9",0,0,"673,600","4","110,000","2",0,0,0,0,"0","0",0,0],"M220316":["M220316","白鴿建設-自由路都更案","黃孟澤","700,000","1","3MH00814 (2024-02-20預計出貨) ; ","280,000","0","0","0","280,000","0","0","0",0,0,"0","0",0,0,"0","0",0,0],"M24010158":["M24010158","庶古文創(七福營造)","徐福廷","960,000","1","4MW00218 (2024-09-30預計出貨) ; ","192,000","0","192,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M24010214":["M24010214","莊信緯(莊俊銘新建農舍)","徐福廷","540,000","1","4MH00185 (2024-05-02預計出貨) ; ","108,000","0","108,000","0",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0]}} \ No newline at end of file +{"Bill":{"M220366":["M220366","欣佳德營造工程有限公司","陳敦德","750,000","1","2MW00038 (2024-07-01預計出貨) ; ","450,000","14","150,000","14","300,000","11","0","0",0,0,"0","0",0,0,"0","0",0,0],"M220473":["M220473","國合營造-新北市雙溪案","陳敦德","3,822,000","3","3MW00050 (2024-02-23預計出貨) ; 3MW00051 (2024-02-23預計出貨) ; 3MW00052 (2024-02-16預計出貨) ; ","1,974,000","10","658,000","10","1,316,000","8","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230022":["M230022","旺旺工程行-鄭秋月","陳敦德","600,000","1","3MH00076 (2024-06-01預計出貨) ; ","360,000","11","120,000","11","240,000","8","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230166":["M230166","富德開發有限公司-東海段98-54地號","陳敦德","650,000","1","3MH00294 (2024-01-04安裝完畢) ; ","520,000","8","130,000","8","260,000","6","130,000","2",0,0,"0","0",0,0,"0","0",0,0],"M230563":["M230563","葉建中-大里新建住宅","陳敦德","820,000","1","3MX00295 (2024-05-15預計出貨) ; ","492,000","8","164,000","8","328,000","5","0","0",0,0,"0","0",0,0,"0","0",0,0],"M230579":["M230579","洪輝龍-A2","李烘銘","520,000","1","3MH00245 (2024-06-28預計出貨) ; ","156,000","9","156,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230580":["M230580","翔富裕股份有限公司(林紡鍥-A8)","李烘銘","520,000","1","3MH00246 (2024-06-28預計出貨) ; ","156,000","9","156,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230438":["M230438","佳意工程有限公司","李烘銘","600,000","1","3MH00196 (2023-09-28試車完畢) ; ","420,000","10","180,000","10",0,0,"180,000","6",0,0,"60,000","5",0,0,"0","0",0,0],"M230483":["M230483","蔡育薰-博思特幼兒學校","李烘銘","550,000","1","3MH00450 (2024-01-02官檢完畢) ; ","495,000","7","165,000","7",0,0,"165,000","3",0,0,"165,000","2",0,0,"0","0",0,0],"M230484":["M230484","協順營造有限公司","李烘銘","630,000","1","3MH00360 (2024-01-16官檢完畢) ; ","567,000","8","189,000","8",0,0,"189,000","3",0,0,"189,000","2",0,0,"0","0",0,0],"M230485":["M230485","順宇土地建築(大雅秀山段)","李烘銘","2,100,000","4","3MH00356 (2023-12-22貨抵工地) ; 3MH00357 (2023-12-22貨抵工地) ; 3MH00358 (2023-12-29貨抵工地) ; 3MH00359 (2023-12-29貨抵工地) ; ","1,260,000","9","630,000","9",0,0,"630,000","2",0,0,"0","0",0,0,"0","0",0,0],"M230512":["M230512","陳宜羣","李烘銘","550,000","1","3MH00197 (2024-07-10預計出貨) ; ","165,000","10","165,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230620":["M230620","洪輝龍-A1","李烘銘","520,000","1","3MH00247 (2024-06-28預計出貨) ; ","156,000","9","156,000","9",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M230621":["M230621","金寶城糖業-虎尾科虎路","李烘銘","550,000","1","3MH00266 (2023-12-21貨抵工地) ; ","330,000","9","165,000","9",0,0,"165,000","2",0,0,"0","0",0,0,"0","0",0,0],"M230631":["M230631","劉建利","李烘銘","740,000","1","3MW00248 (2023-10-05試車完畢) ; ","385,560","6","0","0",0,0,"163,560","6",0,0,"222,000","4",0,0,"0","0",0,0],"M230635":["M230635","村玉建設-長春路案(A棟)","李烘銘","850,000","1","3MW00267 (2024-04-16預計出貨) ; ","255,000","5","255,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230636":["M230636","村玉建設-科邨一路案","李烘銘","5,940,000","6","3MW00279 (2024-06-25預計出貨) ; 3MW00278 (2024-06-25預計出貨) ; 3MW00277 (2024-06-25預計出貨) ; 3MW00276 (2024-06-25預計出貨) ; 3MW00275 (2024-06-25預計出貨) ; 3MW00274 (2024-06-25預計出貨) ; ","1,782,000","9","1,782,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230637":["M230637","村玉建設-高南","李烘銘","1,320,000","2","3MH00281 (2024-05-10預計出貨) ; 3MH00280 (2024-05-10預計出貨) ; ","396,000","9","396,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M220471":["M220471","東禹營造-台中果菜市場","李烘銘","3,280,000","2","3MW00118 (2023-09-12官檢完畢) ; 3MW00119 (2023-09-12官檢完畢) ; ","2,987,280","12","538,912","12",0,0,0,0,"1,886,192","6","292,720","5","269,456","5","0","0",0,0],"M230238":["M230238","王色鳳","李烘銘","630,000","1","3MH00130 (2023-11-08已移交) ; ","189,000","5","0","0",0,0,"0","0",0,0,"126,000","5",0,0,"63,000","3",0,0],"M230239":["M230239","弘宬營造股份有限公司","李烘銘","600,000","1","3MH00173 (2024-05-15預計出貨) ; ","180,000","10","180,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230240":["M230240","弘宬營造股份有限公司","李烘銘","1,260,000","2","3MH00174 (2024-03-12預計出貨) ; 3MH00175 (2024-03-12預計出貨) ; ","378,000","10","378,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230284":["M230284","劉玉閔-施洽成撚線厰","李烘銘","600,000","1","3MH00195 (2024-04-03預計出貨) ; ","180,000","10","180,000","10",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230391":["M230391","台翰營造","李烘銘","740,000","1","3MW00209 (2024-01-31官檢完畢) ; ","666,000","9","222,000","9",0,0,"222,000","5",0,0,"222,000","2",0,0,"0","0",0,0],"M230412":["M230412","勝德營造(順宇)","李烘銘","1,050,000","2","3MH00312 (2024-01-03貨抵工地) ; 3MH00313 (2024-01-03貨抵工地) ; ","630,000","9","315,000","9",0,0,"315,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230662":["M230662","劉建忠","李烘銘","740,000","1","3MW00249 (2023-10-02試車完畢) ; ","388,320","6","0","0",0,0,"166,320","6",0,0,"222,000","5",0,0,"0","0",0,0],"M230679":["M230679","劉繕綸","李烘銘","810,000","1","3MW00311 (2024-02-22預計出貨) ; ","225,000","9","225,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230687":["M230687","永豪營造有限公司","李烘銘","525,000","1","3MH00355 (2023-12-08試車完畢) ; ","472,500","8","157,500","8",0,0,"157,500","4",0,0,"157,500","2",0,0,"0","0",0,0],"M230734":["M230734","盛立交通-貨運集貨站新建工程","李烘銘","750,000","1","3MW00509 (2024-02-21預計出貨) ; ","225,000","6","225,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230737":["M230737","萬大建設有限公司-台中沙鹿區","李烘銘","540,000","1","3MH00297 (2023-09-08試車完畢) ; ","162,000","5","0","0",0,0,"0","0",0,0,"162,000","5",0,0,"0","0",0,0],"M230738":["M230738","江春池","李烘銘","560,000","1","3MH00298 (2023-11-02試車完畢) ; ","168,000","4","0","0",0,0,"0","0",0,0,"168,000","4",0,0,"0","0",0,0],"M230759":["M230759","通權建設-王江海","李烘銘","520,000","1","3MH00496 (2024-10-15預計出貨) ; ","156,000","7","156,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230760":["M230760","通權建設-南投市","李烘銘","680,000","1","3MH00497 (2024-10-15預計出貨) ; ","204,000","7","204,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230545":["M230545","耀鼎建設-北屯","李烘銘","1,100,000","2","3MH00207 (2024-08-01預計出貨) ; 3MH00208 (2024-08-01預計出貨) ; ","330,000","7","330,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230548":["M230548","益豪建築-竹山大同街","李烘銘","1,500,000","2","3MW00260 (2024-01-16貨抵工地) ; 3MW00261 (2024-01-31安裝完畢) ; ","900,000","9","450,000","9",0,0,"450,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230549":["M230549","益豪建造-竹山大明路","李烘銘","2,400,000","4","3MH00262 (2024-04-19預計出貨) ; 3MH00263 (2024-04-19預計出貨) ; 3MH00264 (2024-04-19預計出貨) ; 3MH00265 (2024-04-19預計出貨) ; ","720,000","9","720,000","9",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230838":["M230838","福興建設有限公司","李烘銘","5,615,000","10","3MH00582 (2024-02-16預計出貨) ; 3MH00583 (2024-02-16預計出貨) ; 3MH00584 (2024-03-06預計出貨) ; 3MH00585 (2024-03-06預計出貨) ; 3MH00586 (2024-03-06預計出貨) ; 3MH00587 (2024-03-06預計出貨) ; 3MH00588 (2024-03-18預計出貨) ; 3MH00589 (2024-03-18預計出貨) ; 3MH00590 (2024-03-18預計出貨) ; 3MH00591 (2024-01-08貨抵工地) ; ","212,000","1","0","0",0,0,"212,000","1",0,0,"0","0",0,0,"0","0",0,0],"M230839":["M230839","全鴻建設開發有限公司(觀音安和街)","李烘銘","530,000","1","3MH00592 (2024-02-03已移交) ; ","424,000","1","0","0",0,0,"212,000","1",0,0,"159,000","0",0,0,"53,000","0",0,0],"M23090095":["M23090095","格誠建設有限公司","李烘銘","1,100,000","1","3MW00845 (2024-05-15預計出貨) ; ","220,000","4","220,000","4",0,0,"0","0",0,0,"0","0","0","0","0","0",0,0],"M23090096":["M23090096","格睿建設有限公司","李烘銘","2,430,000","2","3MW00846 (2024-05-15預計出貨) ; 3MW00847 (2024-05-15預計出貨) ; ","486,000","4","486,000","4",0,0,"0","0",0,0,"0","0","0","0","0","0",0,0],"M23090097":["M23090097","格睿建設有限公司","李烘銘","830,000","1","3MH00848 (2024-05-15預計出貨) ; ","166,000","4","166,000","4",0,0,"0","0",0,0,"0","0","0","0","0","0",0,0],"M23090132":["M23090132","上群地產開發股份有限公司","李烘銘","2,300,000","2","3MX00859 (2024-06-14預計出貨) ; 3MX00860 (2024-06-14預計出貨) ; ","230,000","4","230,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090140":["M23090140","廣瓏建設有限公司","李烘銘","4,000,000","4","3MW00855 (2024-06-14預計出貨) ; 3MW00856 (2024-06-14預計出貨) ; 3MW00857 (2024-06-14預計出貨) ; 3MW00858 (2024-06-14預計出貨) ; ","400,000","4","400,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230994":["M230994","村玉建設-長春路案(B棟)","李烘銘","3,300,000","6","3MH00273 (2024-05-10預計出貨) ; 3MH00272 (2024-05-10預計出貨) ; 3MH00271 (2024-05-10預計出貨) ; 3MH00270 (2024-05-10預計出貨) ; 3MH00268 (2024-05-10預計出貨) ; 3MH00269 (2024-05-10預計出貨) ; ","990,000","5","990,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230881":["M230881","胡方翔(溫玉嬌)","李烘銘","910,000","1","3MW00415 (2024-03-19預計出貨) ; ","258,000","8","258,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100138":["M23100138","王凱莉","李烘銘","670,000","1","3MH01034 (2024-05-21預計出貨) ; ","201,000","2","201,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100140":["M23100140","薆綉室內裝修工程有限公司","李烘銘","520,000","1","3MH01048 (2024-03-11預計出貨) ; ","159,000","2","159,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231045":["M231045","寶祥營造廠有限公司(林梅清)","李烘銘","560,000","1","3MH00503 (2023-12-22安裝完畢) ; ","168,000","3","0","0",0,0,"168,000","3",0,0,"0","0",0,0,"0","0",0,0],"M23110060":["M23110060","張弘起","李烘銘","535,000","1","3MH01054 (2024-04-10預計出貨) ; ","160,500","2","160,500","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110069":["M23110069","弘泰-彰化和美鎮","李烘銘","2,120,000","4","3MH01071 (2024-05-15預計出貨) ; 3MH01072 (2024-05-15預計出貨) ; 3MH01073 (2024-05-15預計出貨) ; 3MH01074 (2024-05-15預計出貨) ; ","636,000","2","636,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231126":["M231126","薆綉室內裝修工程有限公司-南投草屯鎮","李烘銘","540,000","1","3MH00535 (2024-01-12貨抵工地) ; ","324,000","7","162,000","7",0,0,"162,000","1",0,0,"0","0",0,0,"0","0",0,0],"M231133":["M231133","弘宬營造股份有限公司(西屯區)","李烘銘","700,000","1","3MH00646 (2024-11-29預計出貨) ; ","210,000","6","210,000","6",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231134":["M231134","弘宬營造股份有限公司(北區)","李烘銘","1,170,000","2","3MH00644 (2024-06-05預計出貨) ; 3MH00645 (2024-06-05預計出貨) ; ","3,000","6","3,000","6",0,0,"0","0","0","0",0,0,0,0,"0","0",0,0],"M23100133":["M23100133","總富建設-彰化溪州鄉","李烘銘","610,000","1","3MH00962 (2024-02-27預計出貨) ; ","183,000","3","183,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110123":["M23110123","瑋瓏營造有限公司","李烘銘","1,080,000","2","3MH01051 (2024-05-10預計出貨) ; 3MH01052 (2024-04-23預計出貨) ; ","324,000","2","324,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110129":["M23110129","蕭崇家-彰化縣員林市","李烘銘","1,300,000","2","4MH00159 (2024-12-26預計出貨) ; 4MH00160 (2024-12-16預計出貨) ; ","390,000","1","390,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231153":["M231153","馨盛-明德北路","李烘銘","510,000","1","3MH00779 (2024-05-14預計出貨) ; ","153,000","5","153,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231154":["M231154","上互營造股份有限公司","李烘銘","1,020,000","2","3MH00777 (2024-08-10預計出貨) ; 3MH00778 (2024-08-10預計出貨) ; ","255,000","5","255,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231169":["M231169","鄭茂昌","李烘銘","2,080,000","2","3MH00596 (2024-03-15預計出貨) ; ","210,000","6","210,000","6",0,0,0,0,0,0,0,0,0,0,0,0,0,0],"M231172":["M231172","乾唐建設有限公司","李烘銘","820,000","1","3MX00619 (2024-01-08安裝完畢) ; ","246,000","2","0","0",0,0,"246,000","2",0,0,"0","0",0,0,"0","0",0,0],"M231173":["M231173","厚德建設有限公司","葉博澄","1,670,000","3","3MH00641 (2024-01-19安裝完畢) ; 3MH00642 (2024-01-20安裝完畢) ; 3MH00643 (2023-12-27貨抵工地) ; ","501,000","2","0","0",0,0,"501,000","2",0,0,"0","0",0,0,"0","0",0,0],"M231207":["M231207","三冠企業社","葉博澄","840,000","1","3MW01082 (2024-09-02預計出貨) ; ","252,000","2","252,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231184":["M231184","裕民工務企業有限公司","葉博澄","530,000","1","3MH00640 (2024-01-24已移交) ; ","371,000","3","0","0",0,0,"159,000","3",0,0,"159,000","2",0,0,"53,000","1",0,0],"M23120001":["M23120001","東松建設-台中西屯區廣昌段","葉博澄","15,080,000","29","4MH00188 (2024-05-06預計出貨) ; 4MH00189 (2024-05-06預計出貨) ; 4MH00190 (2024-05-06預計出貨) ; 4MH00191 (2024-05-06預計出貨) ; 4MH00192 (2024-05-06預計出貨) ; 4MH00193 (2024-05-06預計出貨) ; 4MH00194 (2024-05-06預計出貨) ; 4MH00195 (2024-05-06預計出貨) ; 4MH00196 (2024-05-06預計出貨) ; 4MH00197 (2024-05-06預計出貨) ; 4MH00198 (2024-05-06預計出貨) ; 4MH00199 (2024-05-06預計出貨) ; 4MH00200 (2024-05-06預計出貨) ; 4MH00201 (2024-05-06預計出貨) ; 4MH00202 (2024-05-06預計出貨) ; 4MH00203 (2024-05-06預計出貨) ; 4MH00204 (2024-05-06預計出貨) ; 4MH00205 (2024-05-06預計出貨) ; 4MH00206 (2024-05-06預計出貨) ; 4MH00207 (2024-05-06預計出貨) ; 4MH00208 (2024-05-06預計出貨) ; 4MH00209 (2024-05-06預計出貨) ; 4MH00210 (2024-05-06預計出貨) ; 4MH00211 (2024-05-06預計出貨) ; 4MH00212 (2024-05-06預計出貨) ; 4MH00213 (2024-05-06預計出貨) ; 4MH00214 (2024-05-06預計出貨) ; 4MH00215 (2024-05-06預計出貨) ; 4MH00216 (2024-05-06預計出貨) ; ","4,524,000","1","4,524,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23120100":["M23120100","林佳民-台中豐原區","葉博澄","650,000","1","4MH00089 (2024-04-22預計出貨) ; ","195,000","1","195,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231168":["M231168","山本耀(鄭榆錚)","葉博澄","800,000","1","3MH00950 (2024-03-11預計出貨) ; ","240,000","3","240,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231118":["M231118","立傑營造-台中太平","葉博澄","2,000,000","2","3MW00613 (2024-03-07預計出貨) ; 3MW00612 (2023-12-08貨抵工地) ; ","285,000","2","0","0",0,0,"285,000","2",0,0,"0","0",0,0,"0","0",0,0],"M23100134":["M23100134","興安-北屯區陳平段","葉博澄","5,120,000","5","4MW00132 (2024-05-20預計出貨) ; 4MW00133 (2024-05-20預計出貨) ; 4MW00134 (2024-05-20預計出貨) ; 4MW00135 (2024-05-20預計出貨) ; 4MW00136 (2024-05-20預計出貨) ; ","1,536,000","1","1,536,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100136":["M23100136","興安-美和綠洲","葉博澄","3,780,000","4","4MW00122 (2024-04-08預計出貨) ; 4MW00123 (2024-04-08預計出貨) ; 4MW00124 (2024-04-08預計出貨) ; 4MW00125 (2024-04-08預計出貨) ; ","1,134,000","1","1,134,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231141":["M231141","太禾發建設開發企業有限公司","葉博澄","565,000","1","3MH00885 (2024-03-01預計出貨) ; ","169,500","4","169,500","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231151":["M231151","太裕營造股份有限公司","葉博澄","1,300,000","1","3MW00788 (2024-03-01預計出貨) ; ","390,000","5","390,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110080":["M23110080","金進億","葉博澄","650,000","1","3MH01050 (2024-03-04預計出貨) ; ","195,000","2","195,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110103":["M23110103","亘玉露生技","葉博澄","930,000","1","4MW00066 (2024-04-01預計出貨) ; ","279,000","1","279,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110005":["M23110005","興安-南投司馬按段","葉博澄","3,300,000","6","4MH00126 (2024-04-08預計出貨) ; 4MH00127 (2024-04-08預計出貨) ; 4MH00128 (2024-04-08預計出貨) ; 4MH00129 (2024-04-08預計出貨) ; 4MH00130 (2024-04-08預計出貨) ; 4MH00131 (2024-04-08預計出貨) ; ","990,000","1","990,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110007":["M23110007","經緯營造","葉博澄","820,000","1","4MW00065 (2024-04-15預計出貨) ; ","246,000","1","246,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23110011":["M23110011","孫室空間","葉博澄","700,000","1","3MP01032 (2024-02-29預計出貨) ; ","210,000","2","210,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231026":["M231026","伍灃營造開發有限公司","葉博澄","520,000","1","3MH00881 (2024-05-03預計出貨) ; ","156,000","5","156,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M231030":["M231030","陳慶宏","葉博澄","530,000","1","3MH00796 (2023-12-29安裝完畢) ; ","159,000","2","0","0",0,0,"159,000","2",0,0,"0","0",0,0,"0","0",0,0],"M231039":["M231039","玉明玻璃股份有限公司(劉澄藝)","葉博澄","530,000","1","3MH00534 (2023-12-16安裝完畢) ; ","318,000","7","159,000","7",0,0,"159,000","3",0,0,"0","0",0,0,"0","0",0,0],"M231043":["M231043","磐檍建設(邑鼎)-北屯段","葉博澄","570,000","1","4MH00158 (2024-05-30預計出貨) ; ","171,000","1","171,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100074":["M23100074","政馭實業","葉博澄","620,000","1","4MH00062 (2024-04-15預計出貨) ; ","186,000","2","186,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100082":["M23100082","靖捷企業社","葉博澄","580,000","1","3MH00978 (2024-03-25預計出貨) ; ","174,000","3","174,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100129":["M23100129","金順億大坑巷二期","葉博澄","650,000","1","3MH00957 (2024-02-22預計出貨) ; ","195,000","3","195,000","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100045":["M23100045","深坑區土庫段廠房-永陞建設","葉博澄","10,300,000","4","4MW00181 (2024-11-01預計出貨) ; 4MW00182 (2024-11-01預計出貨) ; 4MX00183 (2024-11-01預計出貨) ; 4MX00184 (2024-11-01預計出貨) ; ","1,854,000","2","1,854,000","2",0,0,"0","0",0,0,"0","0","0","0",0,0,0,0],"M23100051":["M23100051","山王營造有限公司","葉博澄","530,000","1","3MH00926 (2024-02-19預計出貨) ; ","159,000","4","159,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100057":["M23100057","吉成食品","葉博澄","910,000","1","3MW01083 (2024-05-02預計出貨) ; ","273,000","2","273,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100058":["M23100058","岩城營造(億豪建設)-新營區周武段","葉博澄","990,000","1","4MW00217 (2024-04-15預計出貨) ; ","297,000","1","297,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230896":["M230896","勝邦開發建設股份有限公司","葉博澄","1,620,000","3","3MH00352 (2023-10-27試車完畢) ; 3MH00353 (2023-11-01試車完畢) ; 3MH00354 (2023-11-29試車完畢) ; ","1,458,000","8","486,000","8",0,0,"486,000","6",0,0,"486,000","4",0,0,"0","0",0,0],"M23100002":["M23100002","悅綠樹-彰化田中","葉博澄","1,740,000","2","4MW00090 (2024-05-15預計出貨) ; 4MW00091 (2024-05-15預計出貨) ; ","522,000","1","522,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100003":["M23100003","悅綠樹-彰化員林","葉博澄","1,330,000","2","4MW00092 (2024-05-15預計出貨) ; 4MH00093 (2024-05-15預計出貨) ; ","399,000","1","399,000","1",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23090101":["M23090101","佑翔營造工程有限公司","葉博澄","1,160,000","2","3MH00883 (2024-02-27預計出貨) ; 3MH00884 (2024-02-27預計出貨) ; ","348,000","4","348,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230848":["M230848","山王營造","葉博澄","530,000","1","3MH00351 (2023-10-27試車完畢) ; ","477,000","8","212,000","8",0,0,"106,000","6",0,0,"159,000","4",0,0,"0","0",0,0],"M230790":["M230790","班米羅幼兒園","葉博澄","750,000","1","3MW00410 (2024-03-05預計出貨) ; ","225,000","8","225,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230791":["M230791","吳明鴻","葉博澄","960,000","1","3MW00350 (2023-11-10試車完畢) ; ","864,000","8","288,000","8",0,0,"288,000","5",0,0,"288,000","3",0,0,"0","0",0,0],"M23080163":["M23080163","吉旺營造股份有限公司","葉博澄","653,000","1","3MH00879 (2024-03-20預計出貨) ; ","192,000","4","192,000","4",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230743":["M230743","拾益營造-清水幼兒園","葉博澄","790,000","1","3MH00296 (2024-01-31官檢完畢) ; ","711,000","9","316,000","9",0,0,"158,000","5",0,0,"237,000","3",0,0,"0","0",0,0],"M230745":["M230745","陳加樺","葉博澄","550,000","1","3MH00508 (2023-12-19貨抵工地) ; ","330,000","7","165,000","7",0,0,"165,000","2",0,0,"0","0",0,0,"0","0",0,0],"M230415":["M230415","岩城營造(名富建設)","葉博澄","1,800,000","3","3MH00156 (2024-01-08試車完畢) ; 3MH00157 (2024-03-22預計出貨) ; 3MH00158 (2024-01-08試車完畢) ; ","1,260,000","10","540,000","10",0,0,"360,000","4",0,0,"360,000","1",0,0,"0","0",0,0],"M230416":["M230416","雲啟建設(周素鳳)","葉博澄","2,550,000","5","3MH00491 (2024-03-15預計出貨) ; 3MH00492 (2024-03-15預計出貨) ; 3MH00493 (2024-03-15預計出貨) ; 3MH00494 (2024-03-15預計出貨) ; 3MH00495 (2024-03-15預計出貨) ; ","765,000","7","765,000","7",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230432":["M230432","彰員營造股份有限公司","葉博澄","11,860,000","13","3MW00171 (2023-10-20試車完畢) ; 3MW00160 (2024-06-01預計出貨) ; 3MW00161 (2024-06-01預計出貨) ; 3MW00162 (2024-06-01預計出貨) ; 3MW00163 (2024-06-01預計出貨) ; 3MW00164 (2024-06-01預計出貨) ; 3MW00165 (2024-06-01預計出貨) ; 3MW00166 (2024-06-01預計出貨) ; 3MW00167 (2024-06-01預計出貨) ; 3MW00168 (2024-06-01預計出貨) ; 3MW00169 (2024-06-01預計出貨) ; 3MW00170 (2024-06-01預計出貨) ; 3MW00159 (2024-06-01預計出貨) ; ","3,978,000","10","3,558,000","10",0,0,"210,000","6",0,0,"210,000","4",0,0,"0","0",0,0],"M230205":["M230205","金順億建設有限公司","葉博澄","2,520,000","4","3MH00121 (2023-08-18官檢完畢) ; 3MH00122 (2023-08-18官檢完畢) ; 3MH00123 (2023-08-18官檢完畢) ; 3MH00124 (2023-08-18官檢完畢) ; ","2,268,000","10","756,000","10",0,0,"756,000","9",0,0,"756,000","7",0,0,"0","0",0,0],"M230639":["M230639","洪婉楹(林俊輝)","葉博澄","620,000","1","3MH00411 (2024-04-01預計出貨) ; ","186,000","8","186,000","8",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230641":["M230641","秉禾營造(詹朝揚)","葉博澄","640,000","1","3MH00244 (2024-01-16官檢完畢) ; ","576,000","9","256,000","9",0,0,"128,000","4",0,0,"192,000","2",0,0,"0","0",0,0],"M230646":["M230646","立傑營造","葉博澄","1,140,000","1","3MW00243 (2023-10-25試車完畢) ; ","1,026,000","9","342,000","9",0,0,"342,000","6",0,0,"342,000","4",0,0,"0","0",0,0],"M230530":["M230530","保成營造","葉博澄","700,000","1","3MW00210 (2023-11-30官檢完畢) ; ","630,000","10","210,000","10",0,0,"210,000","6",0,0,"210,000","3",0,0,"0","0",0,0],"M230531":["M230531","保成營造","葉博澄","680,000","1","3MW00211 (2024-02-05官檢完畢) ; ","612,000","10","204,000","10",0,0,"204,000","5",0,0,"204,000","2",0,0,"0","0",0,0],"M230593":["M230593","耐福營造股份有限公司","葉博澄","5,160,000","8","3MH00573 (2023-11-17貨抵工地) ; 3MH00574 (2023-11-17貨抵工地) ; 3MH00575 (2024-03-06預計出貨) ; 3MH00576 (2024-01-03貨抵工地) ; 3MH00577 (2024-03-06預計出貨) ; 3MH00578 (2024-01-03貨抵工地) ; 3MW00579 (2024-03-06預計出貨) ; 3MW00580 (2024-03-06預計出貨) ; ","666,000","3","0","0",0,0,"666,000","3",0,0,"0","0",0,0,"0","0",0,0],"M230600":["M230600","玄盟營造","葉博澄","3,600,000","6","3MH00835 (2024-03-19預計出貨) ; 3MH00836 (2024-03-19預計出貨) ; 3MH00837 (2024-03-19預計出貨) ; 3MH00838 (2024-03-20預計出貨) ; 3MH00839 (2024-03-20預計出貨) ; 3MH00840 (2024-03-20預計出貨) ; ","1,080,000","5","1,080,000","5",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M230607":["M230607","豐田流通供應鏈物流有限公司","葉博澄","580,000","1","3MH00259 (2023-10-18試車完畢) ; ","522,000","9","174,000","9",0,0,"174,000","6",0,0,"174,000","4",0,0,"0","0",0,0],"M220316":["M220316","白鴿建設-自由路都更案","黃孟澤","700,000","1","3MH00814 (2024-02-20預計出貨) ; ","280,000","1","0","0","280,000","1","0","0",0,0,"0","0",0,0,"0","0",0,0],"M220381":["M220381","睿邑生物科技廠房","黃孟澤","2,200,000","2","3MW00128 (2023-12-22試車完畢) ; 3MW00129 (2024-01-11安裝完畢) ; ","1,061,650","10","336,800","10",0,0,"673,600","5",0,0,"51,250","2","0","0","0","0",0,0],"M23100027":["M23100027","總財建設實業股份有限公司","黃孟澤","1,456,000","2","3MX00968 (2024-08-15預計出貨) ; 3MX00969 (2024-08-15預計出貨) ; ","436,800","3","436,800","3",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0],"M23100029":["M23100029","高臺營造","黃孟澤","10,080,000","16","3MH01055 (2024-10-15預計出貨) ; 3MH01056 (2024-10-15預計出貨) ; 3MH01057 (2024-10-15預計出貨) ; 3MH01058 (2024-10-15預計出貨) ; 3MH01059 (2024-10-15預計出貨) ; 3MH01060 (2024-10-15預計出貨) ; 3MH01061 (2024-10-15預計出貨) ; 3MH01062 (2024-10-15預計出貨) ; 3MH01063 (2024-10-15預計出貨) ; 3MH01064 (2024-10-15預計出貨) ; 3MH01065 (2024-10-15預計出貨) ; 3MH01066 (2024-10-15預計出貨) ; 3MH01067 (2024-10-15預計出貨) ; 3MH01068 (2024-10-15預計出貨) ; 3MH01069 (2024-10-15預計出貨) ; 3MH01070 (2024-10-15預計出貨) ; ","3,024,000","2","3,024,000","2",0,0,"0","0",0,0,"0","0",0,0,"0","0",0,0]}} \ No newline at end of file diff --git a/wms/bonus/api/postStatus.php b/wms/bonus/api/postStatus.php index 86f9f88d..0ebcd723 100644 --- a/wms/bonus/api/postStatus.php +++ b/wms/bonus/api/postStatus.php @@ -2,22 +2,36 @@ require_once("../../contract/conn.php"); if (!empty($_POST['id']) && !empty($_POST['postType']) && $_POST['postType'] == 'a') { - try { - $id = empty($_POST['id']) ? '' : $_POST['id']; - $user_id = empty($_POST['user_id']) ? '' : $_POST['user_id']; - $amount = empty($_POST['amount']) ? '' : $_POST['amount']; - $pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day']; - $review_at = date("Y-m-d H:i:s"); - $sql = "UPDATE bonus SET status = 2 ,bonus_actual='$amount',review_hr = '$user_id' ,review_at = '$review_at',pay_day ='$pay_day',update_id='$user_id',update_at='$review_at' WHERE id = $id"; - $stmt = $conn->prepare($sql); - $stmt->execute(); + if ($_POST['contract_type'] == 'maintainance') { + try { + $id = empty($_POST['id']) ? '' : $_POST['id']; + $user_id = empty($_POST['user_id']) ? '' : $_POST['user_id']; + $amount = empty($_POST['amount']) ? '' : $_POST['amount']; + $pay_day = empty($_POST['pay_day']) ? '' : $_POST['pay_day']; + $review_at = date("Y-m-d H:i:s"); + $sql = "UPDATE bonus SET status = 2 ,bonus_actual='$amount',review_hr = '$user_id' ,review_at = '$review_at',pay_day ='$pay_day',update_id='$user_id',update_at='$review_at' WHERE id = $id"; + $stmt = $conn->prepare($sql); + $stmt->execute(); - header("HTTP/1.1 200 success!"); - echo 'Success'; - } catch (PDOException $e) { - header("HTTP/1.1 404 failed!"); - echo $e->getMessage(); - die('Error!:' . $e->getMessage()); + header("HTTP/1.1 200 success!"); + echo 'Success'; + } catch (PDOException $e) { + header("HTTP/1.1 404 failed!"); + echo $e->getMessage(); + die('Error!:' . $e->getMessage()); + } + } else if ($_POST['contract_type'] == 'new') { + try { + $id = empty($_POST['id']) ? '' : $_POST['id']; + $user_id = empty($_POST['user_id']) ? '' : $_POST['user_id']; + $amount = empty($_POST['amount']) ? '' : $_POST['amount']; + + header("HTTP/1.1 200 success!"); + echo 'Success'; + } catch (PDOException $e) { + echo $e->getMessage(); + die('Error!:' . $e->getMessage()); + } } } // 獎金確認發放,並更新獎金 OR 實際發放時間 @@ -109,3 +123,84 @@ if (!empty($_POST['postType']) && $_POST['postType'] == 'd') { } // echo 'ddddd'; } +// 查看T8 是否收款 +if (!empty($_POST['postType']) && $_POST['postType'] == 'e') { + $sql = "SELECT contract_no FROM bonus WHERE contract_type = 3 AND T8api_status = 1 "; + $stmt = $conn->prepare($sql); + $stmt->execute(); + $results = $stmt->fetchAll(PDO::FETCH_ASSOC); + // echo "
";
+    // print_r($results);
+    // echo "
"; + foreach ($results as $result) { + $contract_no = $result['contract_no']; + $a = isPay($contract_no, $connT8); + + if ($a == '1') { + try { + $sql = "UPDATE bonus SET T8api_status = 2 WHERE contract_no = :contract_no"; + $stmt = $conn->prepare($sql); + $stmt->bindParam(":contract_no", $contract_no); + $stmt->execute(); + header("HTTP/1.1 200 success!"); + echo 'Success'; + } catch (PDOException $e) { + echo $e->getMessage(); + die('Error!:' . $e->getMessage()); + } + } + } +} + +function isPay($contract_no, $connT8) +{ + // echo $contract_no; + $sql = "SELECT + a.BillNo, + b.OTaxAmt as amount, + a.CU_EstPayDate as createDate, + b.PersonId as personId, + c.BillNo as CBno, + c.CU_MaterialId as facility +FROM salIncomeApplyDetail as a +LEFT JOIN salIncomeApplyMaster as b ON a.BillNo = b.BillNo +LEFT JOIN ( + SELECT aMaster.BillNo,aMaster.BizPartnerId,aDetail.CU_MaterialId FROM arCheckBill as aMaster + LEFT JOIN arCheckBillDetail as aDetail ON aMaster.BizPartnerId = aDetail.FromBillNo + WHERE aMaster.BizPartnerId = '$contract_no' AND aMaster.TypeId = 'RVS' + ) AS c ON a.BillNo = c.BizPartnerId +WHERE a.BillNo = '$contract_no' +AND a.RowNo = '1' +"; + $stmt = $connT8->prepare($sql); + $stmt->execute(); + $data = $stmt->fetch(PDO::FETCH_ASSOC); + // $data['amount'] = intval($data['amount']); + if (!empty($data['CBno']) && $data['CBno'] != '') { + $checkBillNo = $data['CBno']; + + $sql = "SELECT +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 = '$checkBillNo' +"; + + $stmt = $connT8->prepare($sql); + $stmt->execute(); + + return '1'; + } else { + return '2'; + } +} diff --git a/wms/bonus/bonus_person.php b/wms/bonus/bonus_person.php new file mode 100644 index 00000000..1b01b289 --- /dev/null +++ b/wms/bonus/bonus_person.php @@ -0,0 +1,146 @@ +='$select_date' AND pay_day_due <= '$select_date1' "; + } else { + $clause .= "AND pay_day_due >= '$now' AND pay_day_due <= '$oneMonthAgo' "; + } + + // $clause .= "AND pay_day_due >= '$now' AND pay_day_due <= '$oneMonthAgo' "; + $sql = "SELECT a.receiver,a.amount,b.name FROM bonus AS a +LEFT JOIN account AS b ON a.receiver = b.accountid +WHERE 1=1 AND contract_type = 3 $clause ORDER BY a.receiver ASC"; + $stmt = $conn->prepare($sql); + $stmt->execute(); + $results = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $person_arr = []; + $bonus_arr = []; + $count = 0; + + $a = 0; + $j = 0; +} + +for ($i = 0; $i < COUNT($results); $i++) { + $a++; + if ($i + 1 < COUNT($results)) { + if ($results[$i]['receiver'] != $results[$i + 1]['receiver']) { + $amount = 0; + if ($i != $j) { + for ($j; $j <= $i; $j++) { + $amount += $results[$j]['amount']; + } + $person_arr['person_id'] = $results[$i]['receiver']; + $person_arr['person'] = $results[$i]['name']; + $person_arr['bonus'] = $amount; + array_push($bonus_arr, $person_arr); + } else { + $amount += $results[$j]['amount']; + $person_arr['person_id'] = $results[$i]['receiver']; + $person_arr['person'] = $results[$i]['name']; + $person_arr['bonus'] = $amount; + array_push($bonus_arr, $person_arr); + } + + $j = $i + 1; + } + } else { + $amount = 0; + for ($j; $j <= $i; $j++) { + $amount += $results[$j]['amount']; + } + $amount += $results[$i]['amount']; + $person_arr['person_id'] = $results[$i]['receiver']; + $person_arr['bonus'] = $amount; + $person_arr['person'] = $results[$i]['name']; + array_push($bonus_arr, $person_arr); + } +} + +?> +
+ + + + + + + + +
+

月份、個人獎金計算

+
+
+ + + + + + + + + + + + +
年份 + + 月份 + +
+ + +
+ + + + + + + + + + + + + $bonus) { + ?> + + + + + + + + +
工號姓名總獎金水庫(實發總價)
+
\ No newline at end of file diff --git a/wms/bonus/elevator_new/elevator_new_deal_bonus.php b/wms/bonus/elevator_new/elevator_new_deal_bonus.php index c26e747d..7138e787 100644 --- a/wms/bonus/elevator_new/elevator_new_deal_bonus.php +++ b/wms/bonus/elevator_new/elevator_new_deal_bonus.php @@ -59,7 +59,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele #營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 + "bonus_type" => "1-訂金段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.2), #金額 "payment_schedul_due" => "deposit", #訂金已收款20% @@ -68,7 +68,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele #營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 + "bonus_type" => "1-出貨款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.5), #金額 "payment_schedul_due" => "shipping", #訂金已收款20% @@ -77,7 +77,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele #營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 + "bonus_type" => "1-驗收款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.3), #金額 "payment_schedul_due" => "acceptance", #訂金已收款20% @@ -86,7 +86,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele #區域經理提成獎金水庫-----訂金已收款100%,發放總獎金50% array_push($bonus_array, [ - "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 + "bonus_type" => "2-訂金段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deposit", #訂金已收款100% @@ -95,7 +95,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele #區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% array_push($bonus_array, [ - "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 + "bonus_type" => "2-貨到工地款段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% @@ -150,7 +150,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_ #營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 + "bonus_type" => "1-訂金段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.2), #金額 "payment_schedul_due" => "deposit", #訂金已收款20% @@ -159,7 +159,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_ #營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 + "bonus_type" => "1-出貨款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.5), #金額 "payment_schedul_due" => "shipping", #訂金已收款20% @@ -168,7 +168,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_ #營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 + "bonus_type" => "1-驗收款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.3), #金額 "payment_schedul_due" => "acceptance", #訂金已收款20% @@ -177,7 +177,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_ #區域經理獎金水庫-----訂金已收款100%,發放總獎金50% array_push($bonus_array, [ - "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 + "bonus_type" => "2-訂金段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deposit", #訂金已收款100% @@ -186,7 +186,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_ #區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% array_push($bonus_array, [ - "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 + "bonus_type" => "2-貨到工地款段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% diff --git a/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0.php b/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0.php index 7d45b3a1..7564e746 100644 --- a/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0.php +++ b/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0.php @@ -32,12 +32,13 @@ result_array[ -function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_price, $sales_id, $region_manger_id){ +function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_price, $elevator_pay_kind, $sales_id, $region_manger_id) +{ $bonus_array = []; - if ($ver == "1.0"){ - + if ($ver == "1.0") { + #合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) - switch ($contract_type){ + switch ($contract_type) { case "strategy_customer": #契約員獎金($sales_bonus) $sales_bonus = $elevator_knockdown_price * 0.007; @@ -52,74 +53,72 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_ $region_manager_bonus = 600; break; }; - + #營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.2), #金額 "payment_schedul_due" => "deposit", #訂金已收款20% "payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 ]); - + #營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.5), #金額 "payment_schedul_due" => "shipping", #訂金已收款20% "payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 - ]); - + ]); + #營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.3), #金額 "payment_schedul_due" => "acceptance", #訂金已收款20% "payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 - ]); + ]); #區域經理獎金水庫-----訂金已收款100%,發放總獎金50% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deposit", #訂金已收款100% "payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 - ]); - + ]); + #區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% "payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 - ]); + ]); $result_array = [ - "ver"=>$ver, #獎金版本 - "result_status"=>"success", #計算結果 - "bonus_array"=>$bonus_array #獎金水庫 - ]; - }else{ - array_push($bonus_array,[ + "ver" => $ver, #獎金版本 + "result_status" => "success", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 + ]; + } else { + array_push($bonus_array, [ "bonus_type" => "error", #獎金名稱 "bonus_receiver" => "error", #發放人員 "bonus_amount" => 0, #金額 "payment_schedul_due" => "9999-1-1", #預計發放時間 "payment_schedul_regulation" => "error" #發放規定 ]); - + $result_array = [ - "ver"=>$ver, #獎金版本 - "result_status"=>"error", #計算結果 - "bonus_array"=>$bonus_array #獎金水庫 + "ver" => $ver, #獎金版本 + "result_status" => "error", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 ]; }; - + return $result_array; }; - -?> \ No newline at end of file diff --git a/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0.php b/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0.php index 84dde3cd..82ea4798 100644 --- a/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0.php +++ b/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0.php @@ -10,7 +10,7 @@ 區域經理員工號($region_manger_id) 【2.函數中的變數說明】 -銷售點數($discount):作番賣價($elevator_knockdown_price) 除以 作番表價($elevator_list_price) +// 銷售點數($discount):作番賣價($elevator_knockdown_price) 除以 作番表價($elevator_list_price) 營業員獎金($sales_bonus) 區域經理提成獎金($region_manager_bonus) 獎金預計發放階段($payment_schedule_due):deposit(訂金)、shipping(出貨款)、deliveried(貨到工地款)、acceptance(驗收款) @@ -35,13 +35,15 @@ result_array[ -function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $elevator_list_price, $elevator_knockdown_price, $sales_id, $region_manger_id){ +function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $elevator_list_price, $elevator_knockdown_price, $sales_id, $region_manger_id) +{ $bonus_array = []; - if ($ver == "2.0"){ + if ($ver == "2.0") { + $elevator_knockdown_price = round($elevator_knockdown_price / 1.05); //不含稅 $discount = round($elevator_knockdown_price / $elevator_list_price, 3); #銷售點數,取到小數點第三位。 - + #合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) - switch ($contract_type){ + switch ($contract_type) { case "strategy_customer": #契約員獎金($sales_bonus) $sales_bonus = $elevator_knockdown_price * 0.007; @@ -51,7 +53,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele case "general_customer": switch ($elevator_type) { - #客梯(passenger)、貨梯(cargo) + #客梯(passenger)、貨梯(cargo) case ($elevator_type == "passenger" or $elevator_type == "cargo"): switch ($discount) { case ($discount >= 1.0): @@ -62,14 +64,14 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele break; case ($discount >= 0.75 and $discount < 0.9): $sales_bonus = $elevator_knockdown_price * 0.015; - break; + break; case ($discount < 0.75): $sales_bonus = $elevator_knockdown_price * 0.008; - break; + break; }; - break; - - #小電梯(dumbwaiter)、平台梯(flatbase)、強驅(positive_drive) + break; + + #小電梯(dumbwaiter)、平台梯(flatbase)、強驅(positive_drive) case ($elevator_type == "dumbwaiter" or $elevator_type == "flatbase" or $elevator_type == "positive_drive"): switch ($discount) { case ($discount >= 1.0): @@ -80,7 +82,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele break; case ($discount >= 0.72 and $discount < 0.9): $sales_bonus = $elevator_knockdown_price * 0.015; - break; + break; case ($discount < 0.72): $sales_bonus = $elevator_knockdown_price * 0.008; break; @@ -91,74 +93,72 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele $region_manager_bonus = 600; break; }; - + #營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.2), #金額 "payment_schedul_due" => "deposit", #訂金已收款20% "payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 ]); - + #營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.5), #金額 "payment_schedul_due" => "shipping", #訂金已收款20% "payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 - ]); - + ]); + #營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($sales_bonus * 0.3), #金額 "payment_schedul_due" => "acceptance", #訂金已收款20% "payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 - ]); + ]); #區域經理提成獎金水庫-----訂金已收款100%,發放總獎金50% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deposit", #訂金已收款100% "payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 - ]); - + ]); + #區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 "bonus_receiver" => $region_manger_id, #發放人員 "bonus_amount" => round($region_manager_bonus * 0.5), #金額 "payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% "payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 - ]); + ]); $result_array = [ - "ver"=>$ver, #獎金版本 - "result_status"=>"success", #計算結果 - "bonus_array"=>$bonus_array #獎金水庫 - ]; - }else{ - array_push($bonus_array,[ + "ver" => $ver, #獎金版本 + "result_status" => "success", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 + ]; + } else { + array_push($bonus_array, [ "bonus_type" => "error", #獎金名稱 "bonus_receiver" => "error", #發放人員 "bonus_amount" => 0, #金額 "payment_schedul_due" => "9999-1-1", #預計發放時間 "payment_schedul_regulation" => "error" #發放規定 ]); - + $result_array = [ - "ver"=>$ver, #獎金版本 - "result_status"=>"error", #計算結果 - "bonus_array"=>$bonus_array #獎金水庫 + "ver" => $ver, #獎金版本 + "result_status" => "error", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 ]; }; - + return $result_array; }; - -?> \ No newline at end of file diff --git a/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0_examination.php b/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0_examination.php index 771b791b..600d4071 100644 --- a/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0_examination.php +++ b/wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0_examination.php @@ -41,76 +41,85 @@ require_once("elevator_new_deal_bonus_v2_0.php"); #獎金測試 $examination_array = [ #錯誤版本 - ["1.0","strategy_customer","passenger",1000000,1000000,"M0001", "M0003"], + ["1.0", "strategy_customer", "passenger", 1000000, 1000000, "M0001", "M0003"], #戰略客戶(strategy_customer) - ["2.0","strategy_customer","passenger",1000000,1000000,"M0001", "M0003"], #戰略客戶、客梯、銷售點數100% - ["2.0","strategy_customer","passenger",1000000,900000,"M0001", "M0003"], #戰略客戶、客梯、銷售點數90% - ["2.0","strategy_customer","passenger",1000000,750000,"M0001", "M0003"], #戰略客戶、客梯、銷售點數75% - ["2.0","strategy_customer","passenger",1000000,600000,"M0001", "M0003"], #戰略客戶、客梯、銷售點數60% - ["2.0","strategy_customer","cargo",1000000,1000000,"M0001", "M0003"], #戰略客戶、貨梯、銷售點數100% - ["2.0","strategy_customer","cargo",1000000,900000,"M0001", "M0003"], #戰略客戶、貨梯、銷售點數90% - ["2.0","strategy_customer","cargo",1000000,750000,"M0001", "M0003"], #戰略客戶、貨梯、銷售點數75% - ["2.0","strategy_customer","cargo",1000000,600000,"M0001", "M0003"], #戰略客戶、貨梯、銷售點數60% - ["2.0","strategy_customer","dumbwaiter",1000000,1000000,"M0001", "M0003"], #戰略客戶、小電梯、銷售點數100% - ["2.0","strategy_customer","dumbwaiter",1000000,900000,"M0001", "M0003"], #戰略客戶、小電梯、銷售點數90% - ["2.0","strategy_customer","dumbwaiter",1000000,720000,"M0001", "M0003"], #戰略客戶、小電梯、銷售點數75% - ["2.0","strategy_customer","dumbwaiter",1000000,600000,"M0001", "M0003"], #戰略客戶、小電梯、銷售點數60% - ["2.0","strategy_customer","flatbase",1000000,1000000,"M0001", "M0003"], #戰略客戶、平台梯、銷售點數100% - ["2.0","strategy_customer","flatbase",1000000,900000,"M0001", "M0003"], #戰略客戶、平台梯、銷售點數90% - ["2.0","strategy_customer","flatbase",1000000,720000,"M0001", "M0003"], #戰略客戶、平台梯、銷售點數75% - ["2.0","strategy_customer","flatbase",1000000,600000,"M0001", "M0003"], #戰略客戶、平台梯、銷售點數60% - ["2.0","strategy_customer","positive_drive",1000000,1000000,"M0001", "M0003"], #戰略客戶、強驅、銷售點數100% - ["2.0","strategy_customer","positive_drive",1000000,900000,"M0001", "M0003"], #戰略客戶、強驅、銷售點數90% - ["2.0","strategy_customer","positive_drive",1000000,720000,"M0001", "M0003"], #戰略客戶、強驅、銷售點數75% - ["2.0","strategy_customer","positive_drive",1000000,600000,"M0001", "M0003"], #戰略客戶、強驅、銷售點數60% + ["2.0", "strategy_customer", "passenger", 1000000, 1000000, "M0001", "M0003"], #戰略客戶、客梯、銷售點數100% + ["2.0", "strategy_customer", "passenger", 1000000, 900000, "M0001", "M0003"], #戰略客戶、客梯、銷售點數90% + ["2.0", "strategy_customer", "passenger", 1000000, 750000, "M0001", "M0003"], #戰略客戶、客梯、銷售點數75% + ["2.0", "strategy_customer", "passenger", 1000000, 600000, "M0001", "M0003"], #戰略客戶、客梯、銷售點數60% + ["2.0", "strategy_customer", "cargo", 1000000, 1000000, "M0001", "M0003"], #戰略客戶、貨梯、銷售點數100% + ["2.0", "strategy_customer", "cargo", 1000000, 900000, "M0001", "M0003"], #戰略客戶、貨梯、銷售點數90% + ["2.0", "strategy_customer", "cargo", 1000000, 750000, "M0001", "M0003"], #戰略客戶、貨梯、銷售點數75% + ["2.0", "strategy_customer", "cargo", 1000000, 600000, "M0001", "M0003"], #戰略客戶、貨梯、銷售點數60% + ["2.0", "strategy_customer", "dumbwaiter", 1000000, 1000000, "M0001", "M0003"], #戰略客戶、小電梯、銷售點數100% + ["2.0", "strategy_customer", "dumbwaiter", 1000000, 900000, "M0001", "M0003"], #戰略客戶、小電梯、銷售點數90% + ["2.0", "strategy_customer", "dumbwaiter", 1000000, 720000, "M0001", "M0003"], #戰略客戶、小電梯、銷售點數75% + ["2.0", "strategy_customer", "dumbwaiter", 1000000, 600000, "M0001", "M0003"], #戰略客戶、小電梯、銷售點數60% + ["2.0", "strategy_customer", "flatbase", 1000000, 1000000, "M0001", "M0003"], #戰略客戶、平台梯、銷售點數100% + ["2.0", "strategy_customer", "flatbase", 1000000, 900000, "M0001", "M0003"], #戰略客戶、平台梯、銷售點數90% + ["2.0", "strategy_customer", "flatbase", 1000000, 720000, "M0001", "M0003"], #戰略客戶、平台梯、銷售點數75% + ["2.0", "strategy_customer", "flatbase", 1000000, 600000, "M0001", "M0003"], #戰略客戶、平台梯、銷售點數60% + ["2.0", "strategy_customer", "positive_drive", 1000000, 1000000, "M0001", "M0003"], #戰略客戶、強驅、銷售點數100% + ["2.0", "strategy_customer", "positive_drive", 1000000, 900000, "M0001", "M0003"], #戰略客戶、強驅、銷售點數90% + ["2.0", "strategy_customer", "positive_drive", 1000000, 720000, "M0001", "M0003"], #戰略客戶、強驅、銷售點數75% + ["2.0", "strategy_customer", "positive_drive", 1000000, 600000, "M0001", "M0003"], #戰略客戶、強驅、銷售點數60% #一般客戶(general_customer) - ["2.0","general_customer","passenger",1000000,1000000,"M0001", "M0003"], #一般客戶、客梯、銷售點數100% - ["2.0","general_customer","passenger",1000000,900000,"M0001", "M0003"], #一般客戶、客梯、銷售點數90% - ["2.0","general_customer","passenger",1000000,750000,"M0001", "M0003"], #一般客戶、客梯、銷售點數75% - ["2.0","general_customer","passenger",1000000,600000,"M0001", "M0003"], #一般客戶、客梯、銷售點數60% - ["2.0","general_customer","cargo",1000000,1000000,"M0001", "M0003"], #一般客戶、貨梯、銷售點數100% - ["2.0","general_customer","cargo",1000000,900000,"M0001", "M0003"], #一般客戶、貨梯、銷售點數90% - ["2.0","general_customer","cargo",1000000,750000,"M0001", "M0003"], #一般客戶、貨梯、銷售點數75% - ["2.0","general_customer","cargo",1000000,600000,"M0001", "M0003"], #一般客戶、貨梯、銷售點數60% - ["2.0","general_customer","dumbwaiter",1000000,1000000,"M0001", "M0003"], #一般客戶、小電梯、銷售點數100% - ["2.0","general_customer","dumbwaiter",1000000,900000,"M0001", "M0003"], #一般客戶、小電梯、銷售點數90% - ["2.0","general_customer","dumbwaiter",1000000,720000,"M0001", "M0003"], #一般客戶、小電梯、銷售點數75% - ["2.0","general_customer","dumbwaiter",1000000,600000,"M0001", "M0003"], #一般客戶、小電梯、銷售點數60% - ["2.0","general_customer","flatbase",1000000,1000000,"M0001", "M0003"], #一般客戶、平台梯、銷售點數100% - ["2.0","general_customer","flatbase",1000000,900000,"M0001", "M0003"], #一般客戶、平台梯、銷售點數90% - ["2.0","general_customer","flatbase",1000000,720000,"M0001", "M0003"], #一般客戶、平台梯、銷售點數75% - ["2.0","general_customer","flatbase",1000000,600000,"M0001", "M0003"], #一般客戶、平台梯、銷售點數60% - ["2.0","general_customer","positive_drive",1000000,1000000,"M0001", "M0003"], #一般客戶、強驅、銷售點數100% - ["2.0","general_customer","positive_drive",1000000,900000,"M0001", "M0003"], #一般客戶、強驅、銷售點數90% - ["2.0","general_customer","positive_drive",1000000,720000,"M0001", "M0003"], #一般客戶、強驅、銷售點數75% - ["2.0","general_customer","positive_drive",1000000,600000,"M0001", "M0003"] #一般客戶、強驅、銷售點數60% + ["2.0", "general_customer", "passenger", 1000000, 1000000, "M0001", "M0003"], #一般客戶、客梯、銷售點數100% + ["2.0", "general_customer", "passenger", 1000000, 900000, "M0001", "M0003"], #一般客戶、客梯、銷售點數90% + ["2.0", "general_customer", "passenger", 1000000, 750000, "M0001", "M0003"], #一般客戶、客梯、銷售點數75% + ["2.0", "general_customer", "passenger", 1000000, 600000, "M0001", "M0003"], #一般客戶、客梯、銷售點數60% + ["2.0", "general_customer", "cargo", 1000000, 1000000, "M0001", "M0003"], #一般客戶、貨梯、銷售點數100% + ["2.0", "general_customer", "cargo", 1000000, 900000, "M0001", "M0003"], #一般客戶、貨梯、銷售點數90% + ["2.0", "general_customer", "cargo", 1000000, 750000, "M0001", "M0003"], #一般客戶、貨梯、銷售點數75% + ["2.0", "general_customer", "cargo", 1000000, 600000, "M0001", "M0003"], #一般客戶、貨梯、銷售點數60% + ["2.0", "general_customer", "dumbwaiter", 1000000, 1000000, "M0001", "M0003"], #一般客戶、小電梯、銷售點數100% + ["2.0", "general_customer", "dumbwaiter", 1000000, 900000, "M0001", "M0003"], #一般客戶、小電梯、銷售點數90% + ["2.0", "general_customer", "dumbwaiter", 1000000, 720000, "M0001", "M0003"], #一般客戶、小電梯、銷售點數75% + ["2.0", "general_customer", "dumbwaiter", 1000000, 600000, "M0001", "M0003"], #一般客戶、小電梯、銷售點數60% + ["2.0", "general_customer", "flatbase", 1000000, 1000000, "M0001", "M0003"], #一般客戶、平台梯、銷售點數100% + ["2.0", "general_customer", "flatbase", 1000000, 900000, "M0001", "M0003"], #一般客戶、平台梯、銷售點數90% + ["2.0", "general_customer", "flatbase", 1000000, 720000, "M0001", "M0003"], #一般客戶、平台梯、銷售點數75% + ["2.0", "general_customer", "flatbase", 1000000, 600000, "M0001", "M0003"], #一般客戶、平台梯、銷售點數60% + ["2.0", "general_customer", "positive_drive", 1000000, 1000000, "M0001", "M0003"], #一般客戶、強驅、銷售點數100% + ["2.0", "general_customer", "positive_drive", 1000000, 900000, "M0001", "M0003"], #一般客戶、強驅、銷售點數90% + ["2.0", "general_customer", "positive_drive", 1000000, 720000, "M0001", "M0003"], #一般客戶、強驅、銷售點數75% + ["2.0", "general_customer", "positive_drive", 1000000, 600000, "M0001", "M0003"] #一般客戶、強驅、銷售點數60% ]; -for($i = 0; $i '戰略客戶', + 'general_customer' => '一般客戶' + ]; + //作番機種($elevator_type):客梯(passenger)、貨梯(cargo)、小電梯(dumbwaiter)、平台梯(flatbase)、強驅(positive_drive) + $elevator = [ + "passenger" => "客梯", + "cargo" => "貨梯", + "dumbwaiter" => "小電梯", + "flatbase" => "平台踢", + "positive_drive" => "強驅" + ]; echo "獎金版本:" . $result["ver"] . "
"; echo "計算結果:" . $result["result_status"] . "
"; + echo "參數說明: " . $customer[$examination_array[$i][1]] . " 、 " . $elevator[$examination_array[$i][2]] . "、 作番表價:" . $examination_array[$i][3] . " 、 作番賣價: " . $examination_array[$i][4] . "、 營業員員工號:" . $examination_array[$i][5] . " 、 區域經理員工號:" . $examination_array[$i][6] . "
"; echo "輸入參數:" . $examination_array[$i][1] . " " . $examination_array[$i][2] . " " . $examination_array[$i][3] . " " . $examination_array[$i][4] . " " - . $examination_array[$i][5] . " " . $examination_array[$i][6] . "
"; - for($j = 0; $j"; + for ($j = 0; $j < count($result["bonus_array"]); $j++) { echo "輸出結果:" . $result["bonus_array"][$j]["bonus_type"] . " " . $result["bonus_array"][$j]["bonus_receiver"] . " " - . $result["bonus_array"][$j]["bonus_amount"] . " " . $result["bonus_array"][$j]["payment_schedul_due"] . " " - . $result["bonus_array"][$j]["payment_schedul_regulation"] . "
"; + . $result["bonus_array"][$j]["bonus_amount"] . " " . $result["bonus_array"][$j]["payment_schedul_due"] . " " + . $result["bonus_array"][$j]["payment_schedul_regulation"] . "
"; }; echo "-------------------------" . "
"; - }; - - -?> diff --git a/wms/bonus/bonus.php b/wms/bonus/maintainance_bonus.php similarity index 83% rename from wms/bonus/bonus.php rename to wms/bonus/maintainance_bonus.php index 4e0b84fd..ee2ab36b 100644 --- a/wms/bonus/bonus.php +++ b/wms/bonus/maintainance_bonus.php @@ -32,15 +32,18 @@ if (!empty($_GET['check'])) { if ($_GET['check'] == 4) { $oneMonthAgo = date("Y-m-d", strtotime("$now +1 months")); // $clause .= "AND pay_day_due >= '$now' AND pay_day_due <= '$oneMonthAgo' AND status IN (1,2,5)"; - $clause .= "AND status IN (1,2,5)"; + $clause .= "AND a.status IN (1,2,5)"; } else if ($_GET['check'] == 2) { - $clause .= "AND status = 1"; + $clause .= "AND a.status = 1"; } else if ($_GET['check'] == 3) { - $clause .= "AND status IN (2,5)"; + $clause .= "AND a.status IN (2,5)"; } } -$sql = "SELECT * FROM bonus WHERE 1=1 $clause"; +$sql = "SELECT a.*,b.customer FROM bonus AS a +LEFT JOIN con_maintance_examine_apply AS b ON a.contract_no = b.vol_no +WHERE 1=1 $clause AND a.contract_type = 3"; + $stmt = $conn->prepare($sql); $stmt->execute(); $datas = $stmt->fetchAll(PDO::FETCH_ASSOC); @@ -49,7 +52,6 @@ $datas = $stmt->fetchAll(PDO::FETCH_ASSOC); $now = new DateTime(); $oneMonthAgo = $now->modify('+1 month'); - $id = []; foreach ($datas as $data) { $id[] = $data['id']; @@ -58,58 +60,6 @@ $id_str = implode(',', $id); // 查看 T8 是否有收款明細 // require("./api/get.php"); -function isPay($contract_no, $connT8) -{ - // echo $contract_no; - $sql = "SELECT - a.BillNo, - b.OTaxAmt as amount, - a.CU_EstPayDate as createDate, - b.PersonId as personId, - c.BillNo as CBno, - c.CU_MaterialId as facility - FROM salIncomeApplyDetail as a - LEFT JOIN salIncomeApplyMaster as b ON a.BillNo = b.BillNo - LEFT JOIN ( - SELECT aMaster.BillNo,aMaster.BizPartnerId,aDetail.CU_MaterialId FROM arCheckBill as aMaster - LEFT JOIN arCheckBillDetail as aDetail ON aMaster.BizPartnerId = aDetail.FromBillNo - WHERE aMaster.BizPartnerId = '$contract_no' AND aMaster.TypeId = 'RVS' - ) AS c ON a.BillNo = c.BizPartnerId - WHERE a.BillNo = '$contract_no' - AND a.RowNo = '1' - "; - $stmt = $connT8->prepare($sql); - $stmt->execute(); - $data = $stmt->fetch(PDO::FETCH_ASSOC); - // $data['amount'] = intval($data['amount']); - if (!empty($data['CBno']) && $data['CBno'] != '') { - $checkBillNo = $data['CBno']; - - $sql = "SELECT - 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 = '$checkBillNo' - "; - - $stmt = $connT8->prepare($sql); - $stmt->execute(); - - return '1'; - } else { - return '2'; - } -} ?> @@ -122,6 +72,16 @@ function isPay($contract_no, $connT8)
+ + + + + + + +
+

(契約)獎金計算

+
@@ -130,17 +90,19 @@ function isPay($contract_no, $connT8) btn-sm categoryBtn"> 未發獎金 btn-sm categoryBtn"> 已發獎金 btn-sm categoryBtn"> 人事發放作業 + btn-sm categoryBtn"> 獎金總計(人) + - + @@ -178,8 +140,8 @@ function isPay($contract_no, $connT8) ?> - + @@ -323,13 +285,14 @@ function isPay($contract_no, $connT8) const datas = ; function issue(id, user_id, pay_day, amount) { - // console.log(id); + // consolelog(id); const form = new FormData(); form.append('id', id) form.append('user_id', user_id); form.append('pay_day', pay_day) form.append('amount', amount); form.append('postType', 'a'); + form.append('contract_type', 'maintainance'); axios.post('./api/postStatus.php', form).then((res) => { if (res.data == 'Success') { alert('更新成功'); @@ -357,6 +320,22 @@ function isPay($contract_no, $connT8) }); } } + + function isPay() { + const form = new FormData(); + form.append('user_id', ''); + form.append('postType', 'e'); + // if (confirm('是否發放全部獎金')) { + axios.post('./api/postStatus.php', form).then((res) => { + if (res.status == 200) { + alert('更新成功'); + // location.reload(); + } + }).catch((err) => { + + }); + // } + } // $(function() { // $("button[name=issuePay]").click(function() { // console.log(123); diff --git a/wms/bonus/bonus_detail.php b/wms/bonus/maintainance_bonus_detail.php similarity index 100% rename from wms/bonus/bonus_detail.php rename to wms/bonus/maintainance_bonus_detail.php diff --git a/wms/bonus/new_bonus.php b/wms/bonus/new_bonus.php new file mode 100644 index 00000000..c595e442 --- /dev/null +++ b/wms/bonus/new_bonus.php @@ -0,0 +1,400 @@ + '新梯', + '2' => '汰改', + '3' => '保養' +]; + +$bonus_type = [ + '1' => '契約人獎金', + '2' => '區經理獎金', + '3' => '專任契約經理獎金' +]; + +$bonus_status = [ + '1' => '未確認', + '2' => '應發已確認', + '3' => '應發未確認', + '4' => '暫不發放', + '5' => '人事審核確認' +]; +$clause = ''; +if ($user_id != 'M0225') { + $clause .= "AND receiver == '$user_id'"; +} +if (!empty($_GET['check'])) { + // 人事發放作業,應為一個月內 + if ($_GET['check'] == 4) { + $oneMonthAgo = date("Y-m-d", strtotime("$now +1 months")); + // $clause .= "AND pay_day_due >= '$now' AND pay_day_due <= '$oneMonthAgo' AND status IN (1,2,5)"; + $clause .= "AND a.status IN (1,2,5)"; + } else if ($_GET['check'] == 2) { + $clause .= "AND a.status = 1"; + } else if ($_GET['check'] == 3) { + $clause .= "AND a.status IN (2,5)"; + } +} + +$sql = "SELECT a.*,b.customer FROM bonus AS a +LEFT JOIN con_maintance_examine_apply AS b ON a.contract_no = b.vol_no +WHERE 1=1 $clause AND a.contract_type = 1 ORDER BY a.id DESC"; +$stmt = $conn->prepare($sql); +$stmt->execute(); +$datas = $stmt->fetchAll(PDO::FETCH_ASSOC); + + +$now = new DateTime(); +$oneMonthAgo = $now->modify('+1 month'); + + +$id = []; +foreach ($datas as $data) { + $id[] = $data['id']; +} +$id_str = implode(',', $id); + +// 查看 T8 是否有收款明細 +// require("./api/get.php"); +function isPay($contract_no, $connT8) +{ + // echo $contract_no; + $sql = "SELECT + a.BillNo, + b.OTaxAmt as amount, + a.CU_EstPayDate as createDate, + b.PersonId as personId, + c.BillNo as CBno, + c.CU_MaterialId as facility + FROM salIncomeApplyDetail as a + LEFT JOIN salIncomeApplyMaster as b ON a.BillNo = b.BillNo + LEFT JOIN ( + SELECT aMaster.BillNo,aMaster.BizPartnerId,aDetail.CU_MaterialId FROM arCheckBill as aMaster + LEFT JOIN arCheckBillDetail as aDetail ON aMaster.BizPartnerId = aDetail.FromBillNo + WHERE aMaster.BizPartnerId = '$contract_no' AND aMaster.TypeId = 'RVS' + ) AS c ON a.BillNo = c.BizPartnerId + WHERE a.BillNo = '$contract_no' + AND a.RowNo = '1' + "; + $stmt = $connT8->prepare($sql); + $stmt->execute(); + $data = $stmt->fetch(PDO::FETCH_ASSOC); + // $data['amount'] = intval($data['amount']); + if (!empty($data['CBno']) && $data['CBno'] != '') { + $checkBillNo = $data['CBno']; + + $sql = "SELECT + 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 = '$checkBillNo' + "; + + $stmt = $connT8->prepare($sql); + $stmt->execute(); + + return '1'; + } else { + return '2'; + } +} +?> + + + + + + + + +
+
+
+
項次合約類別 合約號合約名稱 作番號 獎金類別 獎金版本
+ + + + + + +
+

(契約)獎金計算

+
+ + btn-sm categoryBtn"> 所有獎金 + + btn-sm categoryBtn"> 未發獎金 + btn-sm categoryBtn"> 已發獎金 + btn-sm categoryBtn"> 人事發放作業 + btn-sm categoryBtn"> 獎金總計(人) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $data) : + $bonus_json = json_decode($data['bonus_json']); + $bonus_kind = !empty($bonus_json->bonus_kind) ? $bonus_json->bonus_kind : ''; + $contract_no = $data['contract_no']; + $json = json_decode($data['bonus_json']); + $total = empty($json->total) ? 0 : $json->total; + $fee_per_st = empty($json->fee_per_st) ? 0 : $json->fee_per_st; + $commission_fee = empty($json->commission_fee) ? 0 : $json->commission_fee; + // $isPay = isPay($data['contract_no'], $connT8); + + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
項次合約號合約名稱作番號獎金類別獎金版本作番金額(月)牌價服務費應發人員應發獎金水庫實發金額狀態實際發放時間發放 / 詳情
+ + + -- + + + + 查看詳情 + + 查看詳情
+
+
+ + + + + \ No newline at end of file diff --git a/wms/bonus/other/maintenance_contract_bonus_v2_1.php b/wms/bonus/other/maintenance_contract_bonus_v2_1.php index 610da6d7..9015a83c 100644 --- a/wms/bonus/other/maintenance_contract_bonus_v2_1.php +++ b/wms/bonus/other/maintenance_contract_bonus_v2_1.php @@ -43,9 +43,12 @@ result_array[ function maintenance_contract_bonus_v2_1($ver, $contract_type, $payment_period, $elevator_list_price, $fee_per_st, $commission_fee, $receivable_date_due, $sales_id, $region_director_id, $regular_contract_manger_id = '') { + // $fee_per_st = round($fee_per_st); $bonus_array = []; if ($ver == "2.1") { - $discount = round(($fee_per_st - $commission_fee) / $elevator_list_price, 2); + // $discount = round(($fee_per_st - $commission_fee) / $elevator_list_price, 2); + $discount = ($fee_per_st - $commission_fee) / $elevator_list_price; + #契約總類($contract_type):新簽約(new)、免保轉有費(free_to_charge)、續簽約(原價或僅契約金額異動)(renew_priceissue) switch ($contract_type) { case "new": @@ -54,49 +57,49 @@ function maintenance_contract_bonus_v2_1($ver, $contract_type, $payment_period, switch ($discount) { case ($discount >= 0.8): switch ($fee_per_st) { - case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.6; + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.6; break; - case ($fee_per_st >= 3001 and $fee_per_st <= 3499): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.7; + case ($fee_per_st >= 3000 and $fee_per_st <= 3499): + $sales_bonus = ($fee_per_st) * 0.7; break; case ($fee_per_st >= 3500 and $fee_per_st <= 3999): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.8; + $sales_bonus = ($fee_per_st) * 0.8; break; case ($fee_per_st >= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.9; + $sales_bonus = ($fee_per_st) * 0.9; break; }; break; case ($discount >= 0.6 and $discount < 0.8): switch ($fee_per_st) { - case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.48; + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.48; break; - case ($fee_per_st >= 3001 and $fee_per_st <= 3499): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.56; + case ($fee_per_st >= 3000 and $fee_per_st <= 3499): + $sales_bonus = ($fee_per_st) * 0.56; break; case ($fee_per_st >= 3500 and $fee_per_st <= 3999): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.64; + $sales_bonus = ($fee_per_st) * 0.64; break; case ($fee_per_st >= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.72; + $sales_bonus = ($fee_per_st) * 0.72; break; }; break; case ($discount < 0.6): switch ($fee_per_st) { - case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.42; + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.42; break; - case ($fee_per_st >= 3001 and $fee_per_st <= 3499): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.49; + case ($fee_per_st >= 3000 and $fee_per_st <= 3499): + $sales_bonus = ($fee_per_st) * 0.49; break; case ($fee_per_st >= 3500 and $fee_per_st <= 3999): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.56; + $sales_bonus = ($fee_per_st) * 0.56; break; case ($fee_per_st >= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.63; + $sales_bonus = ($fee_per_st) * 0.63; break; }; break; @@ -110,17 +113,17 @@ function maintenance_contract_bonus_v2_1($ver, $contract_type, $payment_period, case "free_to_charge": switch ($fee_per_st) { - case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.3; + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.3; break; - case ($fee_per_st >= 3001 and $fee_per_st <= 3499): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.35; + case ($fee_per_st >= 3000 and $fee_per_st <= 3499): + $sales_bonus = ($fee_per_st) * 0.35; break; case ($fee_per_st >= 3500 and $fee_per_st <= 3999): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.4; + $sales_bonus = ($fee_per_st) * 0.4; break; case ($fee_per_st >= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.45; + $sales_bonus = ($fee_per_st) * 0.45; break; }; #地區處長獎金($region_director_bonus) @@ -131,17 +134,17 @@ function maintenance_contract_bonus_v2_1($ver, $contract_type, $payment_period, case "renew_priceissue": switch ($fee_per_st) { - case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.25; + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.25; break; - case ($fee_per_st >= 3001 and $fee_per_st <= 3499): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.3; + case ($fee_per_st >= 3000 and $fee_per_st <= 3499): + $sales_bonus = ($fee_per_st) * 0.3; break; case ($fee_per_st >= 3500 and $fee_per_st <= 3999): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.35; + $sales_bonus = ($fee_per_st) * 0.35; break; case ($fee_per_st >= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.4; + $sales_bonus = ($fee_per_st) * 0.4; break; }; #地區處長獎金($region_director_bonus) @@ -226,7 +229,10 @@ function maintenance_contract_bonus_v2_1($ver, $contract_type, $payment_period, #2月1次 case "bimonthly": - $payment_ratio_due_array = array(0.166, 0.166, 0.166, 0.166, 0.166, 0.166); + $payment_ratio_due_array = array(); + for ($i = 0; $i < 6; $i++) { + array_push($payment_ratio_due_array, 1 / 6); + } $payday_due_array = array(1, 3, 5, 7, 9, 11); for ($i = 0; $i < count($payment_ratio_due_array); $i++) { if ($i < count($payment_ratio_due_array) - 1) { @@ -246,7 +252,12 @@ function maintenance_contract_bonus_v2_1($ver, $contract_type, $payment_period, #月付 case "monthly": - $payment_ratio_due_array = array(0.083, 0.083, 0.083, 0.083, 0.083, 0.083, 0.083, 0.083, 0.083, 0.083, 0.083, 0.083); + $payment_ratio_due_array = array(); + // $payment_ratio_due_array = array(); + for ($i = 0; $i < 12; $i++) { + array_push($payment_ratio_due_array, 1 / 12); + } + $payday_due_array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); for ($i = 0; $i < count($payment_ratio_due_array); $i++) { if ($i < count($payment_ratio_due_array) - 1) { diff --git a/wms/bonus/other/maintenance_contract_bonus_v2_1_examination.php b/wms/bonus/other/maintenance_contract_bonus_v2_1_examination.php index d68bdb7d..5b26e9c8 100644 --- a/wms/bonus/other/maintenance_contract_bonus_v2_1_examination.php +++ b/wms/bonus/other/maintenance_contract_bonus_v2_1_examination.php @@ -270,9 +270,9 @@ $examination_array = [ // echo '10、專任契約經理員工號($regular_contract_manger_id)
'; for ($i = 0; $i < count($examination_array); $i++) { - $fee_per_st = $examination_array[$i][3]; - $commission_fee = $examination_array[$i][5]; - $elevator_list_price = $examination_array[$i][4]; + $fee_per_st = $examination_array[$i][4]; //作番金額 + $commission_fee = $examination_array[$i][5]; // 服務費 + $elevator_list_price = $examination_array[$i][3]; // 牌價 $discount = round(($fee_per_st - $commission_fee) / $elevator_list_price, 2); // echo "$fee_per_st - $commission_fee / $elevator_list_price "; @@ -314,7 +314,7 @@ for ($i = 0; $i < count($examination_array); $i++) { ]; echo "獎金版本:" . $result["ver"] . "
"; echo "計算結果:" . $result["result_status"] . "
"; - echo "傳入參數說明:" . $contract_type[$examination_array[$i][1]] . "、" . $pay_kind[$examination_array[$i][2]] . "、牌價" . $examination_array[$i][3] . "元、簽約價" . $examination_array[$i][4] . "元、服務費600元(折扣率" . $discount . ")、契約人員 : " . $examination_array[$i][7] . "、區經理 : " . $examination_array[$i][8] . " 、契約經理 : " . $examination_array[$i][9] . "
"; + echo "傳入參數說明:" . $contract_type[$examination_array[$i][1]] . "、" . $pay_kind[$examination_array[$i][2]] . "、牌價" . $examination_array[$i][3] . "元、簽約價" . $examination_array[$i][4] . "元、服務費" . $commission_fee . "元(折扣率" . $discount . ")、契約人員 : " . $examination_array[$i][7] . "、區經理 : " . $examination_array[$i][8] . " 、契約經理 : " . $examination_array[$i][9] . "
"; echo "輸入參數:" . $examination_array[$i][1] . " " . $examination_array[$i][2] . " " . $examination_array[$i][3] . " " . $examination_array[$i][4] . " " . $examination_array[$i][5] . " " . $examination_array[$i][6] . " " . $examination_array[$i][7] . " " . $examination_array[$i][8] . " " . $examination_array[$i][9] . "
"; diff --git a/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1.php b/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1.php index 7122fbd3..d29650b2 100644 --- a/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1.php +++ b/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1.php @@ -41,12 +41,13 @@ result_array[ -function maintenance_longterm_contract_m1_free_charge_bonus_v2_1($ver, $contract_type, $payment_period_amount, $elevator_list_price, $fee_per_st, $commission_fee, $receivable_date_due, $sales_id, $region_director_id, $regular_contract_manger_id){ +function maintenance_longterm_contract_m1_free_charge_bonus_v2_1($ver, $contract_type, $payment_period_amount, $elevator_list_price, $fee_per_st, $commission_fee, $receivable_date_due, $sales_id, $region_director_id, $regular_contract_manger_id) +{ $bonus_array = []; - if ($ver == "2.1"){ + if ($ver == "2.1") { $discount = round(($fee_per_st - $commission_fee) / $elevator_list_price, 2); #契約總類($contract_type):簽長約並免費送M1 (longcontract_m1_free_charge) - switch ($contract_type){ + switch ($contract_type) { case "longcontract_m1_free_charge": #契約員獎金($sales_bonus) #合約折扣率($discount):大於80%以上(含)(above_80)、60-79%(含)以上(60_to_79)、折扣率59% (含)以下(below_59) @@ -54,57 +55,57 @@ function maintenance_longterm_contract_m1_free_charge_bonus_v2_1($ver, $contract case ($discount >= 0.8): switch ($fee_per_st) { case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.6; + $sales_bonus = ($fee_per_st) * 0.6; break; case ($fee_per_st > 300 and $fee_per_st <= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.7; - break; + $sales_bonus = ($fee_per_st) * 0.7; + break; case ($fee_per_st > 4000 and $fee_per_st <= 5000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.8; + $sales_bonus = ($fee_per_st) * 0.8; break; case ($fee_per_st > 5000 and $fee_per_st <= 6000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.9; - break; + $sales_bonus = ($fee_per_st) * 0.9; + break; case ($fee_per_st > 6000): - $sales_bonus = ($fee_per_st - $commission_fee) * 1.0; + $sales_bonus = ($fee_per_st) * 1.0; break; }; break; case ($discount >= 0.6 and $discount < 0.8): switch ($fee_per_st) { case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.42; + $sales_bonus = ($fee_per_st) * 0.42; break; case ($fee_per_st > 300 and $fee_per_st <= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.49; - break; + $sales_bonus = ($fee_per_st) * 0.49; + break; case ($fee_per_st > 4000 and $fee_per_st <= 5000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.56; + $sales_bonus = ($fee_per_st) * 0.56; break; case ($fee_per_st > 5000 and $fee_per_st <= 6000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.63; - break; + $sales_bonus = ($fee_per_st) * 0.63; + break; case ($fee_per_st > 6000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.7; + $sales_bonus = ($fee_per_st) * 0.7; break; }; break; case ($discount < 0.6): switch ($fee_per_st) { case ($fee_per_st <= 3000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.3; + $sales_bonus = ($fee_per_st) * 0.3; break; case ($fee_per_st > 300 and $fee_per_st <= 4000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.35; - break; + $sales_bonus = ($fee_per_st) * 0.35; + break; case ($fee_per_st > 4000 and $fee_per_st <= 5000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.4; + $sales_bonus = ($fee_per_st) * 0.4; break; case ($fee_per_st > 5000 and $fee_per_st <= 6000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.45; - break; + $sales_bonus = ($fee_per_st) * 0.45; + break; case ($fee_per_st > 6000): - $sales_bonus = ($fee_per_st - $commission_fee) * 0.5; + $sales_bonus = ($fee_per_st) * 0.5; break; }; break; @@ -116,81 +117,77 @@ function maintenance_longterm_contract_m1_free_charge_bonus_v2_1($ver, $contract $regular_contract_manger_bonus = 300; break; }; - + #地區處長獎金、專任契約經理、契約員獎金 - switch ($payment_period_amount){ - #簽長約免費贈送控制系統,因屬於公司特殊政策,所以無汰改獎金,合約期內每月領取契約獎金 - #總支付期數$payment_period_amount: 總支付期數,依規定5年約至少60期, + switch ($payment_period_amount) { + #簽長約免費贈送控制系統,因屬於公司特殊政策,所以無汰改獎金,合約期內每月領取契約獎金 + #總支付期數$payment_period_amount: 總支付期數,依規定5年約至少60期, case $payment_period_amount >= 60: #地區處長獎金 - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "地區處長獎金", #獎金名稱 "bonus_receiver" => $region_director_id, #發放人員 "bonus_amount" => round($region_director_bonus), #金額 - "pay_day_due" => date("Y-m-d",strtotime("$receivable_date_due +1 months")), #預計發放時間 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +1 months")), #預計發放時間 "bonus_regulation" => "訂金收回後次月發放" #發放規定 - ]); + ]); #專任契約經理獎金 - array_push($bonus_array,[ + array_push($bonus_array, [ "bonus_type" => "專任契約經理獎金", #獎金名稱 "bonus_receiver" => $regular_contract_manger_id, #發放人員 "bonus_amount" => round($regular_contract_manger_bonus), #金額 - "pay_day_due" => date("Y-m-d",strtotime("$receivable_date_due +1 months")), #預計發放時間 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +1 months")), #預計發放時間 "bonus_regulation" => "訂金收回後次月發放" #發放規定 - ]); - + ]); + #產生契約員每個月的獎金應發比例 $payment_ratio_due_array = array(); for ($i = 0; $i < $payment_period_amount; $i++) { - array_push($payment_ratio_due_array, 1/$payment_period_amount); - } - + array_push($payment_ratio_due_array, 1 / $payment_period_amount); + } + $payday_due_array = array(); for ($i = 0; $i < $payment_period_amount; $i++) { - array_push($payday_due_array, $i+1 ); - } - - for($i = 0; $i < count($payment_ratio_due_array); $i++) { - if($i < count($payment_ratio_due_array) - 1){ + array_push($payday_due_array, $i + 1); + } + + for ($i = 0; $i < count($payment_ratio_due_array); $i++) { + if ($i < count($payment_ratio_due_array) - 1) { $current_bonus = round($sales_bonus * $payment_ratio_due_array[$i]); #金額 - }else{ + } else { $current_bonus = round($sales_bonus - $i * round($sales_bonus * $payment_ratio_due_array[$i])); #最後一次金額 - }; - array_push($bonus_array,[ + }; + array_push($bonus_array, [ "bonus_type" => "契約員獎金", #獎金名稱 "bonus_receiver" => $sales_id, #發放人員 "bonus_amount" => round($current_bonus), #金額 - "pay_day_due" => date("Y-m-d",strtotime("$receivable_date_due +$payday_due_array[$i] months")), #預計發放時間 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +$payday_due_array[$i] months")), #預計發放時間 "bonus_regulation" => "每月收款後,按收款比率次月發放" #發放規定 - ]); - } + ]); + } break; } - + $result_array = [ - "ver"=>$ver, #獎金版本 - "result_status"=>"success", #計算結果 - "bonus_array"=>$bonus_array #獎金水庫 + "ver" => $ver, #獎金版本 + "result_status" => "success", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 ]; - - }else{ - array_push($bonus_array,[ + } else { + array_push($bonus_array, [ "bonus_type" => "error", #獎金名稱 "bonus_receiver" => "error", #發放人員 "bonus_amount" => 0, #金額 "pay_day_due" => "9999-1-1", #預計發放時間 "bonus_regulation" => "error" #發放規定 - ]); + ]); $result_array = [ - "ver"=>$ver, #獎金版本 - "result_status"=>"error", #計算結果 - "bonus_array"=>$bonus_array #獎金水庫 - ]; + "ver" => $ver, #獎金版本 + "result_status" => "error", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 + ]; } - + return $result_array; }; - - -?> diff --git a/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_1.php b/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_1.php new file mode 100644 index 00000000..db37fd30 --- /dev/null +++ b/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_1.php @@ -0,0 +1,311 @@ +$ver, #獎金版本 + "result_status"=>"success", #計算結果 + "$bonus_array"=>$bonus_array #所有獎金水庫 + ]; + +*/ + + + +function maintenance_longterm_contract_m1_free_charge_bonus_v2_1($ver, $contract_type, $payment_period, $payment_period_amount, $elevator_list_price, $fee_per_st, $commission_fee, $receivable_date_due, $sales_id, $region_director_id, $regular_contract_manger_id = '') +{ + $bonus_array = []; + if ($ver == "2.1") { + $discount = ($fee_per_st - $commission_fee) / $elevator_list_price; + #契約總類($contract_type):簽長約並免費送M1 (longcontract_m1_free_charge) + switch ($contract_type) { + case "longcontract_m1_free_charge": + #契約員獎金($sales_bonus) + #合約折扣率($discount):大於80%以上(含)(above_80)、60-79%(含)以上(60_to_79)、折扣率59% (含)以下(below_59) + switch ($discount) { + case ($discount >= 0.8): + switch ($fee_per_st) { + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.6; + break; + case ($fee_per_st >= 3000 and $fee_per_st < 4000): + $sales_bonus = ($fee_per_st) * 0.7; + break; + case ($fee_per_st >= 4000 and $fee_per_st < 5000): + $sales_bonus = ($fee_per_st) * 0.8; + break; + case ($fee_per_st >= 5000 and $fee_per_st < 6000): + $sales_bonus = ($fee_per_st) * 0.9; + break; + case ($fee_per_st >= 6000): + $sales_bonus = ($fee_per_st) * 1.0; + break; + }; + break; + case ($discount >= 0.6 and $discount < 0.8): + switch ($fee_per_st) { + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.42; + break; + case ($fee_per_st >= 3000 and $fee_per_st <= 4000): + $sales_bonus = ($fee_per_st) * 0.49; + break; + case ($fee_per_st >= 4000 and $fee_per_st < 5000): + $sales_bonus = ($fee_per_st) * 0.56; + break; + case ($fee_per_st >= 5000 and $fee_per_st < 6000): + $sales_bonus = ($fee_per_st) * 0.63; + break; + case ($fee_per_st >= 6000): + $sales_bonus = ($fee_per_st) * 0.7; + break; + }; + break; + case ($discount < 0.6): + switch ($fee_per_st) { + case ($fee_per_st < 3000): + $sales_bonus = ($fee_per_st) * 0.3; + break; + case ($fee_per_st >= 3000 and $fee_per_st < 4000): + $sales_bonus = ($fee_per_st) * 0.35; + break; + case ($fee_per_st >= 4000 and $fee_per_st < 5000): + $sales_bonus = ($fee_per_st) * 0.4; + break; + case ($fee_per_st >= 5000 and $fee_per_st < 6000): + $sales_bonus = ($fee_per_st) * 0.45; + break; + case ($fee_per_st >= 6000): + $sales_bonus = ($fee_per_st) * 0.5; + break; + }; + break; + }; + + #地區處長獎金($region_director_bonus) + $region_director_bonus = 170; + #專任契約經理獎金($regular_contract_manger_bonus) + $regular_contract_manger_bonus = 300; + break; + }; + #付款方式$payment_period: 每月支付(monthly), 2月1次(bimonthly), 季付(quarterly), 半年付(semiannually), 年付(annually) + array_push($bonus_array, [ + "bonus_type" => "2", #獎金名稱 + "bonus_receiver" => $region_director_id, #發放人員 + "bonus_amount" => round($region_director_bonus), #金額 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +12 months")), #預計發放時間 + "bonus_regulation" => "訂金收回後次月發放" #發放規定 + ]); + + #專任契約經理獎金 + if ($regular_contract_manger_id != '') { + array_push($bonus_array, [ + "bonus_type" => "3", #獎金名稱 + "bonus_receiver" => $regular_contract_manger_id, #發放人員 + "bonus_amount" => round($regular_contract_manger_bonus), #金額 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +12 months")), #預計發放時間 + "bonus_regulation" => "訂金收回後次月發放" #發放規定 + ]); + } + + #地區處長獎金、專任契約經理、契約員獎金 + switch ($payment_period) { + #簽長約免費贈送控制系統,因屬於公司特殊政策,所以無汰改獎金,合約期內每月領取契約獎金 + #總支付期數$payment_period_amount: 總支付期數,依規定5年約至少60期, + #年繳 + case 'annually': + $payment_ratio_due_array = array(); + $a = $payment_period_amount / 12; + for ($i = 0; $i < $a; $i++) { + array_push($payment_ratio_due_array, 1 / $a); + } + + $payday_due_array = array(); + for ($i = 0; $i < $a; $i++) { + array_push($payday_due_array, $i + 1); + } + + for ($i = 0; $i < count($payment_ratio_due_array); $i++) { + if ($i < count($payment_ratio_due_array) - 1) { + $current_bonus = round($sales_bonus * $payment_ratio_due_array[$i]); #金額 + } else { + $current_bonus = round($sales_bonus - $i * round($sales_bonus * $payment_ratio_due_array[$i])); #最後一次金額 + }; + array_push($bonus_array, [ + "bonus_type" => "1", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => round($current_bonus), #金額 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +$payday_due_array[$i] year")), #預計發放時間 + "bonus_regulation" => "每次收款後,按收款比率次月發放" #發放規定 + ]); + } + + break; + #半年繳 + case 'semiannually': + $payment_ratio_due_array = array(); + $a = $payment_period_amount / 6; + for ($i = 0; $i < $a; $i++) { + array_push($payment_ratio_due_array, 1 / $a); + } + + $payday_due_array = array(); + for ($i = 0; $i < $a; $i++) { + array_push($payday_due_array, ($i + 1) * 6); + } + + for ($i = 0; $i < count($payment_ratio_due_array); $i++) { + if ($i < count($payment_ratio_due_array) - 1) { + $current_bonus = round($sales_bonus * $payment_ratio_due_array[$i]); #金額 + } else { + $current_bonus = round($sales_bonus - $i * round($sales_bonus * $payment_ratio_due_array[$i])); #最後一次金額 + }; + array_push($bonus_array, [ + "bonus_type" => "1", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => round($current_bonus), #金額 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +$payday_due_array[$i] months")), #預計發放時間 + "bonus_regulation" => "每次收款後,按收款比率次月發放" #發放規定 + ]); + } + break; + #季繳 + case 'quarterly': + $a = $payment_period_amount / 3; + $payment_ratio_due_array = array(); + for ($i = 0; $i < $a; $i++) { + array_push($payment_ratio_due_array, 1 / $a); + } + + $payday_due_array = array(); + for ($i = 0; $i < $a; $i++) { + array_push($payday_due_array, ($i + 1) * 4); + } + + for ($i = 0; $i < count($payment_ratio_due_array); $i++) { + if ($i < count($payment_ratio_due_array) - 1) { + $current_bonus = round($sales_bonus * $payment_ratio_due_array[$i]); #金額 + } else { + $current_bonus = round($sales_bonus - $i * round($sales_bonus * $payment_ratio_due_array[$i])); #最後一次金額 + }; + array_push($bonus_array, [ + "bonus_type" => "1", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => round($current_bonus), #金額 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +$payday_due_array[$i] months")), #預計發放時間 + "bonus_regulation" => "每月收款後,按收款比率次月發放" #發放規定 + ]); + } + break; + #雙月繳 + case 'bimonthly': + $a = $payment_period_amount / 2; + $payment_ratio_due_array = array(); + for ($i = 0; $i < $a; $i++) { + array_push($payment_ratio_due_array, 1 / $a); + } + + $payday_due_array = array(); + for ($i = 0; $i < $a; $i++) { + array_push($payday_due_array, ($i + 1) * 2); + } + + for ($i = 0; $i < count($payment_ratio_due_array); $i++) { + if ($i < count($payment_ratio_due_array) - 1) { + $current_bonus = round($sales_bonus * $payment_ratio_due_array[$i]); #金額 + } else { + $current_bonus = round($sales_bonus - $i * round($sales_bonus * $payment_ratio_due_array[$i])); #最後一次金額 + }; + array_push($bonus_array, [ + "bonus_type" => "1", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => round($current_bonus), #金額 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +$payday_due_array[$i] months")), #預計發放時間 + "bonus_regulation" => "每月收款後,按收款比率次月發放" #發放規定 + ]); + } + break; + break; + #月繳 + case 'monthly': + + #產生契約員每個月的獎金應發比例 + $payment_ratio_due_array = array(); + for ($i = 0; $i < $payment_period_amount; $i++) { + array_push($payment_ratio_due_array, 1 / $payment_period_amount); + } + + $payday_due_array = array(); + for ($i = 0; $i < $payment_period_amount; $i++) { + array_push($payday_due_array, $i + 1); + } + + for ($i = 0; $i < count($payment_ratio_due_array); $i++) { + if ($i < count($payment_ratio_due_array) - 1) { + $current_bonus = round($sales_bonus * $payment_ratio_due_array[$i]); #金額 + } else { + $current_bonus = round($sales_bonus - $i * round($sales_bonus * $payment_ratio_due_array[$i])); #最後一次金額 + }; + array_push($bonus_array, [ + "bonus_type" => "1", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => round($current_bonus), #金額 + "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +$payday_due_array[$i] months")), #預計發放時間 + "bonus_regulation" => "每月收款後,按收款比率次月發放" #發放規定 + ]); + } + break; + } + + $result_array = [ + "ver" => $ver, #獎金版本 + "result_status" => "success", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 + ]; + } else { + array_push($bonus_array, [ + "bonus_type" => "error", #獎金名稱 + "bonus_receiver" => "error", #發放人員 + "bonus_amount" => 0, #金額 + "pay_day_due" => "9999-1-1", #預計發放時間 + "bonus_regulation" => "error" #發放規定 + ]); + $result_array = [ + "ver" => $ver, #獎金版本 + "result_status" => "error", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 + ]; + } + + return $result_array; +}; diff --git a/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_examination.php b/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_examination.php index 0c42a890..3e0c3af0 100644 --- a/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_examination.php +++ b/wms/bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_examination.php @@ -40,62 +40,150 @@ result_array[ */ -require_once("maintenance_longterm_contract_m1_free_charge_bonus_v2_1.php"); - -#$ver, $contract_type, $payment_period_amount, $elevator_list_price, $fee_per_st, $commission_fee, $receivable_date_due, $sales_id, $region_director_id, $regular_contract_manger_id - - +require_once("maintenance_longterm_contract_m1_free_charge_bonus_v2_1_1.php"); #獎金測試 $examination_array = [ #錯誤版本 - ["1.0","longcontract_m1_free_charge",60,0.8,4000,333, "2014-07-01", "M0001", "M0002", "M0003"], + // ["1.0", 'annually', "longcontract_m1_free_charge", 60, 0.8, 4000, 333, "2014-07-01", "M0001", "M0002", "M0003"], #60期 - ["2.1","longcontract_m1_free_charge",60,3000,3000,600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費600元(折扣率0.8) - ["2.1","longcontract_m1_free_charge",60,3000,4000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費1600元(折扣率0.8) - ["2.1","longcontract_m1_free_charge",60,3000,5000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費2600元(折扣率0.8) - ["2.1","longcontract_m1_free_charge",60,3000,6000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費3600元(折扣率0.8) - ["2.1","longcontract_m1_free_charge",60,3000,7000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價7000元、服務費4600元(折扣率0.8) - ["2.1","longcontract_m1_free_charge",60,3000,3000,600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費1200元(折扣率0.6) - ["2.1","longcontract_m1_free_charge",60,3000,4000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費2200元(折扣率0.6) - ["2.1","longcontract_m1_free_charge",60,3000,5000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費3200元(折扣率0.6) - ["2.1","longcontract_m1_free_charge",60,3000,6000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費4200元(折扣率0.6) - ["2.1","longcontract_m1_free_charge",60,3000,7000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價7000元、服務費5200元(折扣率0.6) - ["2.1","longcontract_m1_free_charge",60,3000,3000,600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費1230元(折扣率0.59) - ["2.1","longcontract_m1_free_charge",60,3000,4000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費2230元(折扣率0.59) - ["2.1","longcontract_m1_free_charge",60,3000,5000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費3230元(折扣率0.59) - ["2.1","longcontract_m1_free_charge",60,3000,6000,1600,"2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費4230元(折扣率0.59) - ["2.1","longcontract_m1_free_charge",60,3000,7000,1600,"2014-07-01", "M0001", "M0002", "M0003"] #牌價3000、簽約價7000元、服務費5230元(折扣率0.59) - + //付款方式$payment_period: 每月支付(monthly), 2月1次(bimonthly), 季付(quarterly), 半年付(semiannually), 年付(annually) + ["2.1", "longcontract_m1_free_charge", 'annually', 60, 3000, 2999, 600, "2014-07-01", "M0001", "M0002"], #牌價3000、簽約價3000元、服務費600元(折扣率0.8) + ["2.1", "longcontract_m1_free_charge", 'annually', 60, 3000, 3000, 600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費600元(折扣率0.8) + ["2.1", "longcontract_m1_free_charge", 'semiannually', 60, 3000, 4000, 1600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費1600元(折扣率0.8) + ["2.1", "longcontract_m1_free_charge", 'quarterly', 60, 3000, 5000, 2600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費2600元(折扣率0.8) + ["2.1", "longcontract_m1_free_charge", 'bimonthly', 60, 3000, 6000, 3600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費3600元(折扣率0.8) + ["2.1", "longcontract_m1_free_charge", 'monthly', 60, 3000, 7000, 4600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價7000元、服務費4600元(折扣率0.8) + ["2.1", "longcontract_m1_free_charge", 'annually', 60, 3000, 2999, 1200, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費1200元(折扣率0.6) + ["2.1", "longcontract_m1_free_charge", 'semiannually', 60, 3000, 4000, 2200, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費2200元(折扣率0.6) + ["2.1", "longcontract_m1_free_charge", 'quarterly', 60, 3000, 5000, 3200, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費3200元(折扣率0.6) + ["2.1", "longcontract_m1_free_charge", 'bimonthly', 60, 3000, 6000, 4200, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費4200元(折扣率0.6) + ["2.1", "longcontract_m1_free_charge", 'monthly', 60, 3000, 7000, 5200, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價7000元、服務費5200元(折扣率0.6) + ["2.1", "longcontract_m1_free_charge", 'annually', 60, 3000, 2999, 1230, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費1230元(折扣率0.59) + ["2.1", "longcontract_m1_free_charge", 'annually', 60, 3000, 3000, 1230, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費1230元(折扣率0.59) + ["2.1", "longcontract_m1_free_charge", 'semiannually', 60, 3000, 4000, 2230, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費2230元(折扣率0.59) + ["2.1", "longcontract_m1_free_charge", 'quarterly', 60, 3000, 5000, 3230, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費3230元(折扣率0.59) + ["2.1", "longcontract_m1_free_charge", 'bimonthly', 60, 3000, 6000, 4230, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費4230元(折扣率0.59) + ["2.1", "longcontract_m1_free_charge", 'monthly', 60, 3000, 7000, 5230, "2014-07-01", "M0001", "M0002", "M0003"] #牌價3000、簽約價7000元、服務費5230元(折扣率0.59) + + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 3000, 600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費600元(折扣率0.8) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 4000, 1600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費1600元(折扣率0.8) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 5000, 2600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費2600元(折扣率0.8) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 6000, 3600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費3600元(折扣率0.8) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 7000, 4600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價7000元、服務費4600元(折扣率0.8) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 3000, 600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費1200元(折扣率0.6) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 4000, 1600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費2200元(折扣率0.6) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 5000, 2600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費3200元(折扣率0.6) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 6000, 3600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費4200元(折扣率0.6) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 7000, 4600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價7000元、服務費5200元(折扣率0.6) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 3000, 600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價3000元、服務費1230元(折扣率0.59) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 4000, 1600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價4000元、服務費2230元(折扣率0.59) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 5000, 2600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價5000元、服務費3230元(折扣率0.59) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 6000, 3600, "2014-07-01", "M0001", "M0002", "M0003"], #牌價3000、簽約價6000元、服務費4230元(折扣率0.59) + // ["2.1", "longcontract_m1_free_charge", '', 60, 3000, 7000, 4600, "2014-07-01", "M0001", "M0002", "M0003"] #牌價3000、簽約價7000元、服務費5230元(折扣率0.59) ]; -for($i = 0; $i "契約員獎金", #獎金名稱 + // "bonus_receiver" => $sales_id, #發放人員 + // "bonus_amount" => round($current_bonus), #金額 + // "pay_day_due" => date("Y-m-d", strtotime("$receivable_date_due +$payday_due_array[$i] year")), #預計發放時間 + // "bonus_regulation" => "每月收款後,按收款比率次月發放" #發放規定 + // ]); + // } + // echo '
';
+	// print_r($bonus_array);
+	// echo '
'; + // exit(); $result = maintenance_longterm_contract_m1_free_charge_bonus_v2_1( - $examination_array[$i][0], - $examination_array[$i][1], - $examination_array[$i][2], - $examination_array[$i][3], - $examination_array[$i][4], - $examination_array[$i][5], - $examination_array[$i][6], - $examination_array[$i][7], - $examination_array[$i][8], - $examination_array[$i][9] + $ver, + $contract_type, + $payment_period, + $payment_period_amount, + $elevator_list_price, + $fee_per_st, + $commission_fee, + $receivable_date_due, + $sales_id, + $region_director_id, + $regular_contract_manger_id ); + + $discount = (($fee_per_st - $commission_fee) / $elevator_list_price); + #新簽約、月繳、牌價3000、簽約價3000元、服務費600元(折扣率0.8) + $contract_type = [ + 'new' => '新簽約', + 'free_to_charge' => '免保轉有費', + 'renew_priceissue' => '續簽約(原價或僅契約金額異動)', + 'longcontract_m1_free_charge' => '五年長約' + + ]; + // 付款方式$payment_period: 每月支付(monthly), 2月1次(bimonthly), 季付(quarterly), 半年付(semiannually), 年付(annually) + $pay_kind = [ + 'monthly' => '月繳', + 'bimonthly' => '雙月繳', + 'quarterly' => '季繳', + 'semiannually' => '半年繳', + 'annually' => '年繳' + ]; + + // + $bonus_type = [ + '1' => '契約員獎金', + '2' => '區經理獎金', + '3' => '契約經理獎金' + ]; echo "獎金版本:" . $result["ver"] . "
"; echo "計算結果:" . $result["result_status"] . "
"; - echo "輸入參數:" . $examination_array[$i][1] . " " . $examination_array[$i][2] . " " . $examination_array[$i][3] . " " . $examination_array[$i][4] . " " - . $examination_array[$i][5] . " " . $examination_array[$i][6] . " " . $examination_array[$i][7]. " " . $examination_array[$i][8] . " " - . $examination_array[$i][9] . "
"; - for($j = 0; $j"; + echo "輸入參數:" . $examination_array[$i][1] . " " . $examination_array[$i][2] . " " . $examination_array[$i][4] . " " + . $examination_array[$i][5] . " " . $examination_array[$i][6] . " " . $examination_array[$i][7] . " " . $examination_array[$i][8] . " " + . $examination_array[$i][9] . "
"; + $n = 0; + for ($j = 0; $j < count($result["bonus_array"]); $j++) { + if ($result["bonus_array"][$j]["bonus_receiver"] == "M0001") { + + $n++; + echo '[' . $n . ']'; + } echo "輸出結果:" . $result["bonus_array"][$j]["bonus_type"] . " " . $result["bonus_array"][$j]["bonus_receiver"] . " " - . $result["bonus_array"][$j]["bonus_amount"] . " " . $result["bonus_array"][$j]["pay_day_due"] . " " - . $result["bonus_array"][$j]["bonus_regulation"] . "
"; + . $result["bonus_array"][$j]["bonus_amount"] . " " . $result["bonus_array"][$j]["pay_day_due"] . " " + . $result["bonus_array"][$j]["bonus_regulation"] . "
"; }; echo "-------------------------" . "
"; - }; - - -?> diff --git a/wms/cont/api/getElevatorPrice.php b/wms/cont/api/getElevatorPrice.php new file mode 100644 index 00000000..92f9d4c1 --- /dev/null +++ b/wms/cont/api/getElevatorPrice.php @@ -0,0 +1,44 @@ += :person AND is_m1_bundle=:m1 ORDER bY id DESC"; +$stmt = $conn->prepare($sql_str); +$stmt->bindParam(':elevator_type', $elevator_type); +$stmt->bindParam(':min_speed', $speed); +$stmt->bindParam(':person', $person); +$stmt->bindParam(':m1', $m1); +$stmt->execute(); +$result = $stmt->fetch(PDO::FETCH_ASSOC); +if(!$result){ + echo 0; + exit; +} +$differ = $stop > $result['max_floors'] ? $result['max_floors'] - $result['min_floors'] : ($stop - $result['min_floors']); +$price = $result['base_price'] + $differ * $result['floors_price'] +$result['m1_bundle_fee']; +if($cycle == 2){ + $price += $price * $result['maintenance_fee_coefficient']; +} +if($method == "A"){ + $price += $result['all_inclusive_fee']; +} + +echo $price; \ No newline at end of file diff --git a/wms/cont/api/postElevatorPricereview.php b/wms/cont/api/postElevatorPricereview.php new file mode 100644 index 00000000..e69de29b diff --git a/wms/cont/css/pricereview.css b/wms/cont/css/pricereview.css new file mode 100644 index 00000000..0c527544 --- /dev/null +++ b/wms/cont/css/pricereview.css @@ -0,0 +1,333 @@ +@charset "UTF-8"; +#pricereviewCreate input[type=text], #pricereviewCreate input[type=number], #pricereviewCreate select { + margin: 1px; +} +#pricereviewCreate textarea { + resize: vertical; +} +#pricereviewCreate select { + -webkit-appearance: none; /* 針對 Chrome, Safari, Opera */ + -moz-appearance: none; /* 針對 Firefox */ + appearance: none; /* 標準語法 */ +} +#pricereviewCreate > .modal { + padding: 20px; +} +#pricereviewCreate > .modal table, #pricereviewCreate > .modal th, #pricereviewCreate > .modal td { + border: 1px #ccc solid; +} +#pricereviewCreate > .modal table > thead tr th { + color: #A52A2A; +} +#pricereviewCreate > .modal table > tbody .selected { + background-color: #E7FEFB; +} +#pricereviewCreate .container table, #pricereviewCreate .container th, #pricereviewCreate .container td { + border: 1px #ccc solid; + padding: 9px; +} +#pricereviewCreate .container table.noborder, #pricereviewCreate .container table .noborder th, #pricereviewCreate .container table .noborder td, #pricereviewCreate .container th.noborder, #pricereviewCreate .container th .noborder th, #pricereviewCreate .container th .noborder td, #pricereviewCreate .container td.noborder, #pricereviewCreate .container td .noborder th, #pricereviewCreate .container td .noborder td { + border: none; +} +#pricereviewCreate .container table thead th { + background-color: #6D9EEB; +} +#pricereviewCreate .container table tbody td input { + font-size: 14px; +} +#pricereviewCreate .container table tbody th { + background-color: #CCE4F8; + font-size: 14px; + padding: 15px 2px; + min-width: 100px; + text-align: center; +} +#pricereviewCreate .container table input { + font-size: 13px; +} +#pricereviewCreate .container .pricreviewmain { + background-color: #F2F2F2; + padding: 20px; + border-radius: 6px; + margin: 30px 0; +} +#pricereviewCreate .container .pricreviewmain button { + color: #fff; + width: 55px; + height: 30px; + padding: 0; + margin-left: 6px; + margin-bottom: 2px; + font-size: 13px; +} +#pricereviewCreate .container .pricreviewmain button.addbtn { + background-color: #337AB7; + width: 30px; +} +#pricereviewCreate .container .pricreviewmain button.deleteBtn { + background-color: #D9534F; + color: #fff; + font-size: 12px; + width: 30px; +} +#pricereviewCreate .container .pricreviewmain button.selectElevator { + background-color: #D9534F; + color: #fff; +} +#pricereviewCreate .container .pricreviewmain > .divitem { + border: 1px #ccc solid; + padding: 10px; + border-radius: 4px; +} +#pricereviewCreate .container .pricreviewmain > .divitem .title { + display: flex; + align-items: center; + border-bottom: 1px #ccc solid; + padding: 10px 0; + margin-bottom: 10px; +} +#pricereviewCreate .container .pricreviewmain > .divitem .title h6 { + font-weight: 600; +} +#pricereviewCreate .container .pricreviewmain > .divitem table, #pricereviewCreate .container .pricreviewmain > .divitem th, #pricereviewCreate .container .pricreviewmain > .divitem td { + font-size: 14px; + background-color: transparent; +} +#pricereviewCreate .container .pricreviewmain > .divitem table input, #pricereviewCreate .container .pricreviewmain > .divitem table select, #pricereviewCreate .container .pricreviewmain > .divitem th input, #pricereviewCreate .container .pricreviewmain > .divitem th select, #pricereviewCreate .container .pricreviewmain > .divitem td input, #pricereviewCreate .container .pricreviewmain > .divitem td select { + font-size: 13px; + padding: 0 13px; +} +#pricereviewCreate .container .pricreviewmain > .divitem table textarea, #pricereviewCreate .container .pricreviewmain > .divitem th textarea, #pricereviewCreate .container .pricreviewmain > .divitem td textarea { + font-size: 13px; +} +#pricereviewCreate .container .pricreviewmain > .divitem table input[type=number]::-webkit-outer-spin-button, +#pricereviewCreate .container .pricreviewmain > .divitem table input[type=number]::-webkit-inner-spin-button, #pricereviewCreate .container .pricreviewmain > .divitem th input[type=number]::-webkit-outer-spin-button, +#pricereviewCreate .container .pricreviewmain > .divitem th input[type=number]::-webkit-inner-spin-button, #pricereviewCreate .container .pricreviewmain > .divitem td input[type=number]::-webkit-outer-spin-button, +#pricereviewCreate .container .pricreviewmain > .divitem td input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +#pricereviewCreate .container .pricreviewmain > .divitem table tr:hover .deleteBtn, #pricereviewCreate .container .pricreviewmain > .divitem table tr:hover .copyBtn { + opacity: 1; +} +#pricereviewCreate .container .pricreviewmain > .divitem table .copyBtn { + height: 30px; +} +#pricereviewCreate .container .pricreviewmain > .divitem table .saletd { + position: relative; +} +#pricereviewCreate .container .pricreviewmain > .divitem table .saletd > .deleteBtn { + position: absolute; + top: 50%; + transform: translateY(-50%); + right: 2px; + opacity: 0; + transition: 0.3s; +} +#pricereviewCreate .container .pricreviewmain > .divitem table .saletd > .copyBtn { + position: absolute; + top: 50%; + transform: translateY(-50%); + right: 38px; + opacity: 0; + transition: 0.3s; + width: 30px; + height: 30px; +} +#pricereviewCreate .container .pricreviewmain > .divitem table textarea { + height: auto; + min-height: 50px; +} +#pricereviewCreate .container .pricreviewmain > .filediv { + display: flex; + flex-direction: column; + margin-top: 20px; +} +#pricereviewCreate .container .pricreviewmain > .filediv label { + display: flex; + align-items: center; + margin: 10px 0; +} +#pricereviewCreate .container .pricreviewmain > .filediv label p { + width: 100px; + font-size: 15px; + font-weight: 600; +} +#pricereviewCreate .container .pricreviewmain > .filediv label input[type=file] { + width: 400px; +} +#pricereviewCreate .container .pricreviewmain > .filediv label a, #pricereviewCreate .container .pricreviewmain > .filediv label button { + width: 100px; + height: 35px; + margin: 0; + margin-right: 15px; + margin-top: 20px; +} +#pricereviewCreate .dark { + background-color: rgb(225, 225, 225) !important; + font-weight: 600; +} + +.container-fluid, .container { + max-width: 1400px !important; + width: 100%; +} +.container-fluid h4, .container h4 { + font-weight: 600; +} +.container-fluid .btn-secondary, .container .btn-secondary { + background-color: #6C757D; +} + +[x-cloak][data-type=window-modal], +[x-cloak][data-type=errortext] { + display: none !important; +} + +.errortext { + font-size: 12px !important; + color: red !important; + font-weight: 600 !important; +} + +.window-modal { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100vh; + background-color: rgba(0, 0, 0, 0.5); + z-index: 9; + padding: 20px; +} +@keyframes fade-in { + 0% { + transform: translate(-50%, -60%); + opacity: 0; + } + 100% { + transform: translate(-50%, -55%); + opacity: 1; + } +} +.window-modal table, .window-modal th, .window-modal td { + border: 1px #ccc solid; +} +.window-modal table > thead tr th { + color: #A52A2A; +} +.window-modal table > tbody .selected { + background-color: #E7FEFB; +} +.window-modal#optionModal .window-modal-content { + max-height: 80vh; +} +.window-modal#optionModal .window-modal-content .window-modal-body { + height: 400px; + overflow-y: scroll; +} +.window-modal#toElevatorModal .window-modal-content { + min-height: 270px; + height: auto; +} +.window-modal#toElevatorModal .window-modal-content .window-modal-body { + height: auto; +} +.window-modal .window-modal-content { + z-index: 9; + background-color: #fff; + border-radius: 10px; + position: absolute; + width: 90%; + padding: 30px; + top: 50%; + left: 50%; + transform: translate(-50%, -55%); + box-shadow: 0 5px 5px #222; + animation: fade-in 0.2s linear; +} +.window-modal .window-modal-content.modal-xl { + max-width: 1200px; +} +.window-modal .window-modal-content.modal-lg { + max-width: 800px; +} +.window-modal .window-modal-content.modal-m { + max-width: 450px; +} +.window-modal .window-modal-content .window-modal-header { + display: flex; + flex-direction: column; +} +.window-modal .window-modal-content .window-modal-header button.btn-close { + position: absolute; + top: 10px; + right: 10px; + background-color: transparent; + border: none; + outline: none; + border-radius: 50%; +} +.window-modal .window-modal-content .window-modal-header > div > input { + width: 250px; +} +.window-modal .window-modal-content input[type=number]::-webkit-outer-spin-button, +.window-modal .window-modal-content input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.window-modal .window-back { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: transparent; +} + +#pricereviewCheck > .container { + background-color: #F2F2F2; + border-radius: 15px; + padding: 20px; +} +#pricereviewCheck > .container .historytable { + max-height: 0; + overflow: hidden; +} +#pricereviewCheck > .container textarea { + resize: vertical; +} +#pricereviewCheck > .container table, #pricereviewCheck > .container th, #pricereviewCheck > .container td { + border: 1px #ccc solid; +} +#pricereviewCheck > .container table.noborder { + border: none !important; +} +#pricereviewCheck > .container table.noborder th, #pricereviewCheck > .container table.noborder td { + border: none !important; +} +#pricereviewCheck > .container .customerinfo-table input { + background-color: #EEE5E5; +} +#pricereviewCheck > .container .mi-table th { + font-weight: 600; +} +#pricereviewCheck > .container .mi-table input[type=text] { + background-color: #EEEEEE; + cursor: not-allowed; + padding: 6px 12px; + font-size: 14px; +} +#pricereviewCheck > .container .mi-table .mi-info { + font-size: 14px; +} +#pricereviewCheck > .container .mi-table .mi-info span { + font-size: 15px; + font-weight: 600; +} +#pricereviewCheck > .container .mi-table .mi-info .line { + width: 100%; + height: 0.5px; + margin: 30px 0; + background-color: #ccc; +}/*# sourceMappingURL=pricereview.css.map */ \ No newline at end of file diff --git a/wms/cont/css/pricereview.css.map b/wms/cont/css/pricereview.css.map new file mode 100644 index 00000000..668d8c66 --- /dev/null +++ b/wms/cont/css/pricereview.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["pricereview.css","pricereview.scss"],"names":[],"mappings":"AAAA,gBAAgB;ACEZ;EACI,WAAA;ADAR;ACEI;EACI,gBAAA;ADAR;ACEI;EACI,wBAAA,EAAA,6BAAA;EACA,qBAAA,EAAA,eAAA;EACA,gBAAA,EAAA,SAAA;ADAR;ACEI;EACI,aAAA;ADAR;ACCQ;EACI,sBAAA;ADCZ;ACCQ;EACI,cAAA;ADCZ;ACCQ;EACI,yBAAA;ADCZ;ACKQ;EACI,sBAAA;EACA,YAAA;ADHZ;ACIY;EACI,YAAA;ADFhB;ACOY;EACI,yBAAA;ADLhB;ACQgB;EACI,eAAA;ADNpB;ACQgB;EACI,yBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;ADNpB;ACSY;EACI,eAAA;ADPhB;ACUQ;EACI,yBAAA;EACA,aAAA;EACA,kBAAA;EACA,cAAA;ADRZ;ACSY;EACI,WAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;ADPhB;ACQgB;EACI,yBAAA;EACA,WAAA;ADNpB;ACQgB;EACI,yBAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;ADNpB;ACQgB;EACI,yBAAA;EACA,WAAA;ADNpB;ACUY;EACI,sBAAA;EACA,aAAA;EACA,kBAAA;ADRhB;ACSgB;EACI,aAAA;EACA,mBAAA;EACA,6BAAA;EACA,eAAA;EACA,mBAAA;ADPpB;ACQoB;EACI,gBAAA;ADNxB;ACUgB;EACI,eAAA;EACA,6BAAA;ADRpB;ACSoB;EACI,eAAA;EACA,eAAA;ADPxB;ACSoB;EACI,eAAA;ADPxB;ACSoB;;;;EAEA,wBAAA;EACA,SAAA;ADLpB;ACSoB;EACI,UAAA;ADPxB;ACSoB;EACI,YAAA;ADPxB;ACSoB;EACI,kBAAA;ADPxB;ACQwB;EACI,kBAAA;EACA,QAAA;EACA,2BAAA;EACA,UAAA;EACA,UAAA;EACA,gBAAA;ADN5B;ACQwB;EACI,kBAAA;EACA,QAAA;EACA,2BAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;ADN5B;ACSoB;EACI,YAAA;EACA,gBAAA;ADPxB;ACWY;EACI,aAAA;EACA,sBAAA;EACA,gBAAA;ADThB;ACUgB;EACI,aAAA;EACA,mBAAA;EACA,cAAA;ADRpB;ACSoB;EACI,YAAA;EACA,eAAA;EACA,gBAAA;ADPxB;ACSoB;EACI,YAAA;ADPxB;ACSoB;EACI,YAAA;EACA,YAAA;EACA,SAAA;EACA,kBAAA;EACA,gBAAA;ADPxB;ACaI;EACI,+CAAA;EACA,gBAAA;ADXR;;ACeA;EACI,4BAAA;EACA,WAAA;ADZJ;ACaI;EACI,gBAAA;ADXR;ACaI;EACI,yBAAA;ADXR;;ACcA;;EAGI,wBAAA;ADZJ;;ACcA;EACI,0BAAA;EACA,qBAAA;EACA,2BAAA;ADXJ;;ACaA;EACI,eAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,aAAA;EACA,oCAAA;EACA,UAAA;EACA,aAAA;ADVJ;ACYI;EACI;IACI,gCAAA;IACA,UAAA;EDVV;ECYM;IACI,gCAAA;IACA,UAAA;EDVV;AACF;ACYI;EACI,sBAAA;ADVR;ACYI;EACI,cAAA;ADVR;ACYI;EACI,yBAAA;ADVR;ACYI;EACI,gBAAA;ADVR;ACWQ;EACI,aAAA;EACA,kBAAA;ADTZ;ACYI;EACI,iBAAA;EACA,YAAA;ADVR;ACWQ;EACI,YAAA;ADTZ;ACYI;EACI,UAAA;EACA,sBAAA;EACA,mBAAA;EACA,kBAAA;EACA,UAAA;EACA,aAAA;EACA,QAAA;EACA,SAAA;EACA,gCAAA;EACA,0BAAA;EACA,8BAAA;ADVR;ACWQ;EACI,iBAAA;ADTZ;ACWQ;EACI,gBAAA;ADTZ;ACWQ;EACI,gBAAA;ADTZ;ACWQ;EACI,aAAA;EACA,sBAAA;ADTZ;ACUY;EACI,kBAAA;EACA,SAAA;EACA,WAAA;EACA,6BAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;ADRhB;ACUY;EACI,YAAA;ADRhB;ACWQ;;EAEI,wBAAA;EACA,SAAA;ADTZ;ACYI;EACI,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,6BAAA;ADVR;;ACeI;EACI,yBAAA;EACA,mBAAA;EACA,aAAA;ADZR;ACaQ;EACI,aAAA;EACA,gBAAA;ADXZ;ACaQ;EACI,gBAAA;ADXZ;ACaQ;EACI,sBAAA;ADXZ;ACaQ;EACI,uBAAA;ADXZ;ACYY;EACI,uBAAA;ADVhB;ACcY;EACI,yBAAA;ADZhB;ACgBY;EACI,gBAAA;ADdhB;ACgBY;EACI,yBAAA;EACA,mBAAA;EACA,iBAAA;EACA,eAAA;ADdhB;ACgBY;EACI,eAAA;ADdhB;ACegB;EACI,eAAA;EACA,gBAAA;ADbpB;ACegB;EACI,WAAA;EACA,aAAA;EACA,cAAA;EACA,sBAAA;ADbpB","file":"pricereview.css"} \ No newline at end of file diff --git a/wms/cont/css/pricereview.scss b/wms/cont/css/pricereview.scss new file mode 100644 index 00000000..f78743a2 --- /dev/null +++ b/wms/cont/css/pricereview.scss @@ -0,0 +1,352 @@ +#pricereviewCreate{ + + input[type='text'], input[type='number'], select{ + margin: 1px; + } + textarea{ + resize: vertical; + } + select{ + -webkit-appearance: none; /* 針對 Chrome, Safari, Opera */ + -moz-appearance: none; /* 針對 Firefox */ + appearance: none; /* 標準語法 */ + } + >.modal{ + padding: 20px; + table, th, td{ + border:1px #ccc solid; + } + table > thead tr th{ + color:#A52A2A; + } + table > tbody .selected{ + background-color: #E7FEFB; + } + table > tbody .selected td{ + } + } + .container{ + table, th, td{ + border:1px #ccc solid; + padding: 9px; + &.noborder, .noborder th, .noborder td{ + border:none; + } + } + table{ + + thead th{ + background-color: #6D9EEB; + } + tbody { + td input{ + font-size: 14px; + } + th{ + background-color: #CCE4F8; + font-size: 14px; + padding: 15px 2px; + min-width: 100px; + text-align: center; + } + } + input{ + font-size: 13px; + } + } + .pricreviewmain{ + background-color: #F2F2F2; + padding: 20px; + border-radius: 6px ; + margin:30px 0; + button{ + color:#fff; + width: 55px; + height: 30px; + padding: 0; + margin-left: 6px; + margin-bottom: 2px; + font-size: 13px; + &.addbtn{ + background-color: #337AB7; + width: 30px; + } + &.deleteBtn{ + background-color: #D9534F; + color:#fff; + font-size: 12px; + width: 30px; + } + &.selectElevator{ + background-color: #D9534F; + color:#fff; + } + } + + >.divitem{ + border:1px #ccc solid; + padding: 10px; + border-radius: 4px ; + .title{ + display: flex; + align-items: center; + border-bottom: 1px #ccc solid; + padding: 10px 0; + margin-bottom: 10px; + h6{ + font-weight: 600; + } + + } + table, th, td{ + font-size: 14px; + background-color: transparent; + input, select{ + font-size: 13px; + padding: 0 13px; + } + textarea{ + font-size: 13px; + } + input[type=number]::-webkit-outer-spin-button, + input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + } + table { + tr:hover .deleteBtn ,tr:hover .copyBtn{ + opacity: 1; + } + .copyBtn{ + height: 30px; + } + .saletd{ + position: relative; + >.deleteBtn{ + position: absolute; + top: 50%; + transform: translateY(-50%); + right:2px; + opacity: 0; + transition: .3s; + } + >.copyBtn{ + position: absolute; + top: 50%; + transform: translateY(-50%); + right:38px; + opacity: 0; + transition: .3s; + width: 30px; + height: 30px; + } + } + textarea{ + height: auto; + min-height: 50px; + } + } + } + >.filediv{ + display: flex; + flex-direction: column; + margin-top: 20px; + label{ + display: flex; + align-items: center; + margin:10px 0; + p{ + width:100px; + font-size: 15px; + font-weight: 600; + } + input[type="file"]{ + width:400px + } + a, button{ + width:100px; + height: 35px; + margin:0; + margin-right: 15px; + margin-top: 20px; + } + } + } + } + } + .dark{ + background-color: rgba(225,225,225,1) !important; + font-weight: 600; + } +} + +.container-fluid, .container{ + max-width:1400px !important; + width: 100%; + h4{ + font-weight: 600; + } + .btn-secondary{ + background-color: #6C757D; + } +} +[x-cloak][data-type="window-modal"], +[x-cloak][data-type="errortext"] +{ + display: none !important; +} +.errortext{ + font-size:12px !important; + color:red !important; + font-weight:600 !important; +} +.window-modal{ + position: fixed; + top: 0; + left:0; + width: 100%; + height: 100vh; + background-color: rgba(0, 0, 0, 0.5); + z-index: 9; + padding: 20px; + // display: none; + @keyframes fade-in { + 0%{ + transform: translate(-50%, -60%); + opacity: 0; + } + 100%{ + transform: translate(-50%, -55%); + opacity: 1; + } + } + table, th, td{ + border:1px #ccc solid; + } + table > thead tr th{ + color:#A52A2A; + } + table > tbody .selected{ + background-color: #E7FEFB; + } + &#optionModal .window-modal-content{ + max-height: 80vh; + .window-modal-body{ + height: 400px; + overflow-y: scroll; + } + } + &#toElevatorModal .window-modal-content{ + min-height: 270px; + height: auto; + .window-modal-body{ + height: auto; + } + } + .window-modal-content{ + z-index: 9; + background-color: #fff; + border-radius: 10px; + position: absolute; + width:90%; + padding: 30px; + top: 50%; + left:50%; + transform: translate(-50%, -55%); + box-shadow: 0 5px 5px #222; + animation: fade-in .2s linear; + &.modal-xl{ + max-width:1200px; + } + &.modal-lg{ + max-width:800px; + } + &.modal-m{ + max-width:450px; + } + .window-modal-header{ + display: flex; + flex-direction: column; + button.btn-close{ + position: absolute; + top: 10px; + right:10px; + background-color: transparent; + border:none; + outline: none; + border-radius: 50%; + } + >div > input{ + width: 250px; + } + } + input[type=number]::-webkit-outer-spin-button, + input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + } + .window-back{ + position: absolute; + top: 0; + left:0; + width: 100%; + height: 100%; + background-color: transparent; + } +} + +#pricereviewCheck{ + >.container{ + background-color: #F2F2F2; + border-radius: 15px; + padding: 20px; + .historytable{ + max-height: 0; + overflow: hidden; + } + textarea{ + resize: vertical; + } + table, th, td{ + border:1px #ccc solid; + } + table.noborder{ + border:none !important; + th ,td{ + border:none !important; + } + } + .customerinfo-table{ + input{ + background-color: #EEE5E5; + } + } + .mi-table{ + th{ + font-weight: 600; + } + input[type=text]{ + background-color: #EEEEEE; + cursor: not-allowed; + padding: 6px 12px; + font-size: 14px; + } + .mi-info{ + font-size: 14px; + span{ + font-size: 15px; + font-weight: 600; + } + .line{ + width: 100%; + height: .5px; + margin:30px 0; + background-color: #ccc; + } + } + } + } + +} \ No newline at end of file diff --git a/wms/cont/js/alpinejs/cdn.min.js b/wms/cont/js/alpinejs/cdn.min.js new file mode 100644 index 00000000..922cc02e --- /dev/null +++ b/wms/cont/js/alpinejs/cdn.min.js @@ -0,0 +1,5 @@ +(()=>{var Ze=!1,Qe=!1,H=[],et=-1;function zt(e){En(e)}function En(e){H.includes(e)||H.push(e),vn()}function we(e){let t=H.indexOf(e);t!==-1&&t>et&&H.splice(t,1)}function vn(){!Qe&&!Ze&&(Ze=!0,queueMicrotask(Sn))}function Sn(){Ze=!1,Qe=!0;for(let e=0;ee.effect(t,{scheduler:r=>{tt?zt(r):r()}}),rt=e.raw}function nt(e){I=e}function qt(e){let t=()=>{};return[n=>{let i=I(n);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(i),t=()=>{i!==void 0&&(e._x_effects.delete(i),L(i))},i},()=>{t()}]}function q(e,t,r={}){e.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0,cancelable:!0}))}function O(e,t){if(typeof ShadowRoot=="function"&&e instanceof ShadowRoot){Array.from(e.children).forEach(i=>O(i,t));return}let r=!1;if(t(e,()=>r=!0),r)return;let n=e.firstElementChild;for(;n;)O(n,t,!1),n=n.nextElementSibling}function v(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}var Ut=!1;function Wt(){Ut&&v("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),Ut=!0,document.body||v("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `"; +} +$vol_no = $_GET['vol_no']; +$sql_str = "SELECT * FROM hope_contract_customer WHERE vol_no = :vol_no"; +$stmt = $conn->prepare($sql_str); +$stmt->bindParam(':vol_no', $vol_no); +$stmt->execute(); +$hope_customer = $stmt->fetch(PDO::FETCH_ASSOC); + +$apply_key = getApplyKey(date('ym'), 'cmea_apply_key'); +echo $apply_key; +function getApplyKey($p_yyyymm, $seq_name){ + if (empty($p_yyyymm) || empty($seq_name)) return null; + global $conn; + $sql_str = "SELECT yyyymm, prefix FROM sequence WHERE seq_name = :seq_name"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':seq_name', $seq_name); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + + $yyyymm = $result['yyyymm']; + $prefix = $result['prefix']; + + if ($p_yyyymm != $yyyymm) { + $sql_str = "UPDATE sequence SET yyyymm = :p_yyyymm, current_val = '10000' WHERE seq_name = :seq_name"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':p_yyyymm', $p_yyyymm); + $stmt->bindParam(':seq_name', $seq_name); + $stmt->execute(); + } + + $sql_str = "SELECT CONCAT(:prefix, :p_yyyymm, SUBSTRING(appwms.nextval(:seq_name), 2)) AS seq_no"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':prefix', $prefix); + $stmt->bindParam(':p_yyyymm', $p_yyyymm); + $stmt->bindParam(':seq_name', $seq_name); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + + $seq_no = $result['seq_no']; + + return $seq_no; +} +?> + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
有望客戶(契約)基本資料
價審單號卷號現場名稱現場地址
電梯品牌電梯數量營業員當前契約期限結束
+ + + + + + + + + + + + + + + + + + + + + +
價格審查(契約)基本資料
契約性質 + + 付款方式 + + 案件名稱合約開始日期合約結束日期
+ + + + + + + + + + + +
洽商進度
+ +
+ + + + + + + + + + + +
電梯詳細資料
+ +
+
+
+
+

整機單價

+ +
+ + +
+
+
+
+

除外項目

+ +
+ + + + + + + + + + + + + + + + + + + + + +
詢價單號名稱單價數量複價所屬電梯功能
小計
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
標準價總額(A)報價總額(B)破價總額(B-A)價率%(B/A)總台數服務費(介紹費)
+ + +
罰則訂金保證金(函)%履約保證金(函)%保固保證金(函)%
特記事項
+ +
+ +
+
+ + + + +
+
+
+
+ + \ No newline at end of file diff --git a/wms/cont/window-modal/modalElevaotr.php b/wms/cont/window-modal/modalElevaotr.php new file mode 100644 index 00000000..045362b7 --- /dev/null +++ b/wms/cont/window-modal/modalElevaotr.php @@ -0,0 +1,179 @@ +
+ +
+
\ No newline at end of file diff --git a/wms/cont/window-modal/otherOptionModal.php b/wms/cont/window-modal/otherOptionModal.php new file mode 100644 index 00000000..565ccbf5 --- /dev/null +++ b/wms/cont/window-modal/otherOptionModal.php @@ -0,0 +1,33 @@ +
+ +
+
\ No newline at end of file diff --git a/wms/cont/window-modal/otherToElevatorModal.php b/wms/cont/window-modal/otherToElevatorModal.php new file mode 100644 index 00000000..3b073176 --- /dev/null +++ b/wms/cont/window-modal/otherToElevatorModal.php @@ -0,0 +1,36 @@ +
+ +
+
\ No newline at end of file diff --git a/wms/contract/api/T8salIncomeApply.php b/wms/contract/api/T8api.php similarity index 84% rename from wms/contract/api/T8salIncomeApply.php rename to wms/contract/api/T8api.php index f419d4d8..88d8dffa 100644 --- a/wms/contract/api/T8salIncomeApply.php +++ b/wms/contract/api/T8api.php @@ -1,17 +1,18 @@ '; - print_r(json_encode($data)); + print_r($validation); echo ''; + // exit; $header = [ "CHI_Authorization :" . $validation, - "GroupId:TEST" + "GroupId:MASADA" ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_url); // 设置请求的URL @@ -19,7 +20,7 @@ function T8API($data) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, 1); // 使用 POST - curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE)); $response = curl_exec($ch); if ($response === false) { diff --git a/wms/contract/api/getContractData.php b/wms/contract/api/getContractData.php index 253e8d54..e2aedd43 100644 --- a/wms/contract/api/getContractData.php +++ b/wms/contract/api/getContractData.php @@ -1,5 +1,6 @@ prepare($sql); $stmt->bindParam(':mid', $mid); $stmt->execute(); - $results = $stmt->fetchAll(PDO::FETCH_ASSOC); + $elevators_results = $stmt->fetchAll(PDO::FETCH_ASSOC); $elevators_detail_arr = []; - foreach ($results as $keys => $result) { + $contract_elevator_qty = 0; + $sql = "SELECT * FROM pricereview_pay WHERE mid = :mid"; + $stmt = $conn->prepare($sql); + $stmt->bindParam(':mid', $mid); + $stmt->execute(); + + $pay_amount = $stmt->fetchAll(PDO::FETCH_ASSOC); + $pay_arr = [ + 'equipment_total' => 0, //設備款 + 'install_total' => 0, //安裝款 + 'elevotor_pay_detail' => [] + ]; + $elevotor_pay_detail = []; + foreach ($pay_amount as $i => $pay) { + if ($pay['pay_kind'] <= 4) { + // 設備款總價 + $pay_arr['equipment_total'] += $pay['pay_amount']; + if ($pay['pay_scale'] > 0) { + $elevotor_pay_detail = [ + 'kind' => $pay['pay_kind'], + 'pay_scale' => $pay['pay_scale'], + 'pay_period' => $pay['pay_period'], + 'amount' => $pay['pay_amount'] + ]; + // $elevotor_pay_detail['pay_scale'] = $pay['pay_scale']; + // $pay_arr['elevotor_pay_detail']['kind'] = $pay['pay_kind']; + // $pay_arr['elevotor_pay_detail']['pay_scale'] = $pay['pay_scale']; + // $pay_arr['elevotor_pay_detail']['pay_period'] = $pay['pay_period']; + // $pay_arr['elevotor_pay_detail']['amount'] = $pay['pay_amount']; + array_push($pay_arr['elevotor_pay_detail'], $elevotor_pay_detail); + } + } else { + $pay_arr['install_total'] += $pay['pay_amount']; + if ($pay['pay_scale'] > 0) { + $a = $pay['pay_kind']; + $elevotor_pay_detail = [ + 'kind' => "$a", + 'pay_scale' => $pay['pay_scale'], + 'pay_period' => $pay['pay_period'], + 'amount' => $pay['pay_amount'] + ]; + array_push($pay_arr['elevotor_pay_detail'], $elevotor_pay_detail); + + // $elevotor_pay_detail[] = $pay['pay_kind']; + // $pay_arr['elevotor_pay_detail']['kind'] = $pay['pay_kind']; + // $pay_arr['elevotor_pay_detail']['pay_scale'] = $pay['pay_scale']; + // $pay_arr['elevotor_pay_detail']['pay_period'] = $pay['pay_period']; + // $pay_arr['elevotor_pay_detail']['amount'] = $pay['pay_amount']; + } + } + } + // echo "
";
+        // print_r($pay_arr);
+        // echo "
"; + + foreach ($elevators_results as $keys) { + $contract_elevator_qty += $keys['item_qty']; + } + foreach ($elevators_results as $keys => $result) { + $item_no = $result['item_no']; //電梯項次 + // 電梯 OPTION + $sql = "SELECT * FROM pricereview_item WHERE mid =:mid AND item_group ='B' AND option_relate_spec = :item_no"; + $stmt = $conn->prepare($sql); + $stmt->bindParam(':mid', $mid); + $stmt->bindParam(':item_no', $item_no); + $stmt->execute(); + $option_results = $stmt->fetchAll(PDO::FETCH_ASSOC); + $option_arr[] = $option_results; + // echo "
";
+            // print_r($option_arr);
+            // echo "
"; + if (!empty($option_results)) { + $result['option_price'] = 0; + // 電梯 OPTION 價格分別加到各台電梯 + foreach ($option_results as $key => $option) { + if ($option['item_qty'] == $result['item_qty']) { + $result['option_price'] += intval($option['item_unit_price']); + // echo '1..'; + // echo "
";
+                        // print_r($option['item_unit_price']);
+                        // echo "
"; + } else if ($option['item_qty'] / $result['item_qty'] != 1) { + $item_qty = intval($option['item_qty']) / intval($result['item_qty']); // 總option數量 / 總電梯台數 + $result['option_price'] += intval($option['item_unit_price']) * $item_qty; + // echo '2..'; + // echo "
";
+                        // print_r(intval($option['item_unit_price']) . ' *' . $item_qty . '=' . intval($option['item_unit_price']) * $item_qty);
+                        // echo "
"; + } else { + $result['option_price'] += $option['item_unit_price'] * intval($option['item_qty']); + // echo '3..'; + } + // echo '
';
+                    // print_r($option['item_no'] . '--->' . $option['item_unit_price'] . '--->' . $option['item_qty']);
+                    // echo '
'; + } + + // print_r($result['option_price']); + // exit(); + } + // 查詢保固延長 + $sql = "SELECT * FROM pricereview_item WHERE mid =:mid AND item_group ='E' AND option_relate_spec = :item_no"; + $stmt = $conn->prepare($sql); + $stmt->bindParam(':mid', $mid); + $stmt->bindParam(':item_no', $item_no); + $stmt->execute(); + $other_option_arr = $stmt->fetchAll(PDO::FETCH_ASSOC); + if (!empty($other_option_arr)) { + $result['option_other_price'] = 0; + // 電梯 OPTION 價格分別加到各台電梯 + foreach ($other_option_arr as $key => $option) { + if ($option['item_qty'] == $result['item_qty']) { + $result['option_other_price'] += intval($option['item_unit_price']); + } else if ($option['item_qty'] / $result['item_qty'] != 1) { + $item_qty = intval($option['item_qty']) / intval($result['item_qty']); // 總option數量 / 總電梯台數 + $result['option_other_price'] += intval($option['item_unit_price']) * $item_qty; + } else { + $result['option_other_price'] += $option['item_unit_price'] * intval($option['item_qty']); + } + } + } + + $note = explode(',', $result['note']); - $result['spec'] = $note[0]; //型號 + $result['spec'] = $note[0]; //型號 $result['person'] = $note[1]; // 人承 $result['floor'] = $note[2]; // 樓層 $result['speed'] = $note[3]; // 速度 - for ($i = 0; $i < $result['item_qty']; $i++) { + $count_qty = $result['item_qty']; + for ($i = 0; $i < $count_qty; $i++) { + $result['elevator_price'] = round($result['item_price_ct'] / $result['item_qty']); //合約單台電提價格 + $result['commission_fee'] = round($contract['special_fee']) / $contract_elevator_qty; $result['item_no'] = $i + 1; + $result['item_qty'] = 1; array_push($elevators_detail_arr, $result); } } - $count = COUNT($elevators_detail_arr); - $contract['elevators'] = $results; + $count = COUNT($elevators_detail_arr); + $contract['elevators'] = $elevators_results; $contract['elevators_detail_arr'] = $elevators_detail_arr; + $contract['pay_arr'] = $pay_arr; $contract['nums'] = $count; - // echo '
';
-        // print_r($contract);
-        // echo '
'; - // exit; + $contractResponse = json_encode($contract); // 設定回應標頭為 JSON header('Content-Type: application/json'); diff --git a/wms/contract/api/getFacilityNo.php b/wms/contract/api/getFacilityNo.php index 55df3c57..b4d0928f 100644 --- a/wms/contract/api/getFacilityNo.php +++ b/wms/contract/api/getFacilityNo.php @@ -378,16 +378,31 @@ class CreateFacilityNo * @param string|array $facility_no * @return boolean $status : true:沒重複 false:重複 */ + function checkFacilityRepeatStatus($facility_no) { + // worksite wipwholestatus + // 檢查 substring 後五碼 if (gettype($facility_no) == "string") { $pdo = $this->connectionDB(); $pdo->exec('SET CHARACTER SET utf8mb4'); - $sth = $pdo->prepare('SELECT * FROM `facility` WHERE `facilityno` = ?'); + $sth = $pdo->prepare('SELECT * FROM `worksite` WHERE `facilityno` = ?'); $sth->bindValue(1, $facility_no); $sth->execute(); - if ($sth->rowCount() == 0) + if ($sth->rowCount() == 0) { + return true; + } + $facility_no = substr($facility_no, -5); + echo $facility_no; + $pdo = $this->connectionDB(); + $pdo->exec('SET CHARACTER SET utf8mb4'); + $sth = $pdo->prepare("SELECT * FROM `wipwholestatus` WHERE `facilityno` LIKE '%?'"); + $sth->bindValue(1, '%' . $facility_no . '%'); + $sth->execute(); + if ($sth->rowCount() == 0) { return true; + } + return false; } if (gettype($facility_no) == "array") { @@ -395,11 +410,21 @@ class CreateFacilityNo $pdo->exec('SET CHARACTER SET utf8mb4'); $status = true; foreach ($facility_no as $row) { - $sth = $pdo->prepare('SELECT * FROM `facility` WHERE `facilityno` = ?'); + $sth = $pdo->prepare('SELECT * FROM `worksite` WHERE `facilityno` = ?'); $sth->bindValue(1, $row); $sth->execute(); if ($sth->rowCount() !== 0) $status = false; + + $row = substr($row, -5); + $pdo = $this->connectionDB(); + $pdo->exec('SET CHARACTER SET utf8mb4'); + $sth = $pdo->prepare("SELECT * FROM `wipwholestatus` WHERE `facilityno` LIKE ?"); + $sth->bindValue(1, '%' . $row . '%'); + $sth->execute(); + if ($sth->rowCount() != 0) { + $status = false; + } } return $status; } diff --git a/wms/contract/api/getT8NewContractData.php b/wms/contract/api/getT8NewContractData.php new file mode 100644 index 00000000..2d348558 --- /dev/null +++ b/wms/contract/api/getT8NewContractData.php @@ -0,0 +1,62 @@ +prepare($sql); +$stmt->execute(); +$result = $stmt->fetchAll(PDO::FETCH_ASSOC); +// echo "
";
+// print_r($result);
+// echo "
"; +// exit(); +$result_detail = []; +$result_master = []; +$result_arr = []; +foreach ($result as $key => $result) { + $no = $result['BillNo']; + $result_master['BillNo'] = $no; + $firstChar = substr($no, 0, 1); + if ($firstChar == 'M' && $key <= 100) { + $sql = "SELECT BizPartnerName FROM comBusinessPartner WHERE BizPartnerId = '$no' "; + $stmt = $connT8->prepare($sql); + $stmt->execute(); + $customer_name = $stmt->fetch(PDO::FETCH_ASSOC); + // $result_master[] = $result; + $sql = "SELECT + BillNo, -- 合約號 + PayStage, -- 收款階段 + PlanPercentage, -- 收款比例 + PlanPayAmt -- 收款金額 + FROM salOrderStagePay WHERE BillNo = '$no'"; + $stmt = $connT8->prepare($sql); + $stmt->execute(); + $Detail = $stmt->fetchAll(PDO::FETCH_ASSOC); + if (!empty($Detail)) { + foreach ($Detail as $key => $detail) { + $detail['PlanPercentage'] = (float)$detail['PlanPercentage']; + $Detail[$key]['PlanPercentage'] = $detail['PlanPercentage']; // 比例轉小數第二位 + $Detail[$key]['PlanPayAmt'] = intval($detail['PlanPayAmt']); // 比例金額轉整數 + + } + + if (mb_substr($Detail[0]['PayStage'], 0, 2) == '寶佳') { + $result_master['customer_status'] = 'strategy_customer'; + } else if (!empty($customer_name) && mb_substr($customer_name['BizPartnerName'], 0, 1) == '【') { + $result_master['customer_status'] = 'strategy_customer'; + } else { + $result_master['customer_status'] = 'general_customer'; + } + + $result_master['total_price'] = intval($result['OAmount']); + $result_master['detail'] = $Detail; + $result_arr[] = $result_master; + } + } +} + +echo "
";
+print_r($result_arr);
+echo "
"; diff --git a/wms/contract/api/postContractData.php b/wms/contract/api/postContractData.php index 29038b9f..9522defe 100644 --- a/wms/contract/api/postContractData.php +++ b/wms/contract/api/postContractData.php @@ -1,3 +1,5 @@ + + prepare($sql); @@ -65,14 +68,14 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c echo json_encode($facility_arr); // 電梯做番號 $facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num); + echo json_encode($facilityno); + T8insert($_POST, $facilityno, $depId, $connT8); // if ($user_id == 'M0225') { // echo '
';
         //     print_r($facilityno);
         //     echo '
'; // exit(); // } - echo json_encode($facilityno); - /// 獎金計算 $fail_arr = []; if ($contractno === '') return $fail_arr[] = '合約號為必填'; if ($total_price == '') $fail_arr[] = '合約總價為必填'; @@ -93,14 +96,20 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c if ($partyAphone == '') $fail_arr[] = '業務聯繫人電話為必填'; if ($partyAemail == '') $fail_arr[] = '業務聯繫人Email為必填'; if ($num == '') $fail_arr[] = '電梯數量為必填'; - if ($payType == '') $fail_arr[] = '付款方式為必填'; + if ($payType == '') $fail_arr[] = '分期方式為必填'; + if ($contract_type == '') $fail_arr[] = '合約類別為必填'; if (count($fail_arr) > 0) { header("HTTP/1.1 422 Unprocessable Entity"); echo json_encode($fail_arr); exit(); } - T8insert($_POST, $facilityno, $depId); - bonusCreate($_POST, $facilityno, $conn); + /// 獎金計算 + $aaa = bonusCreate($_POST, $facilityno, $conn); + if (!empty($aaa) && $aaa['status'] == 2) { + header("HTTP/1.1 422 Unprocessable Entity"); + echo $aaa['data']; + exit(); + } //create account table $accounttype = "A"; $accountid = $vat; @@ -112,8 +121,6 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c $create_at = date('Y-m-d H:i:s'); $conn->beginTransaction(); - // bonusCreate($_POST, $facilityno, $conn); - // exit(); $sql_str = "INSERT INTO account (accounttype, accountid, pwd, name, tel, address, email, repairerid, creater, create_at) VALUES (:accounttype, :accountid, :pwd, :name, :tel, :address, :email, :repairerid, :creater, :create_at)"; $stmt = $conn->prepare($sql_str); @@ -213,7 +220,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c $ADuseful_date = implode("-", $click); $sql_str = "INSERT INTO facility (contractno, define, facilityno, latitude, longitude, customerid, weight, numberofpassenger, numberofstop, numberoffloor, opentype, speed, repairtype, maintainance, facility_kind, address, repairerid, repairername, creater, create_at, area, takecertificatedate, licensedate) - VALUES (:contractno, :define, :facilityno, :latitude, :longitude, :customerid, :weight, :numberofpassenger, :numberofstop, :numberoffloor, :opentype, :speed, :repairtype, :maintainance, :facility_kind, :address, :repairerid, :repairername, :creater, :create_at, :area, :takecertificatedate, :licensedate)"; + VALUES (:contractno, :define, :facilityno, :latitude, :longitude, :customerid, :weight, :numberofpassenger, :numberofstop, :numberoffloor, :opentype, :speed, :repairtype, :maintainance, :facility_kind, :address, :repairerid, :repairername, :creater, :create_at, :area, :takecertificatedate, :licensedate)"; $stmt = $conn->prepare($sql_str); $stmt->bindParam(':contractno', $contractno); $stmt->bindParam(':define', $define); @@ -370,7 +377,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c // T8insert($_POST, $facilityno); - // header('Content-Type: application/json'); + header('Content-Type: application/json'); $jsonData = json_encode($files); $conn->commit(); @@ -382,11 +389,12 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c } }; -function T8insert($data, $facilityno, $depId) +function T8insert($data, $facilityno, $depId, $connT8) { - require_once("../connt8.php"); + // require_once("../conn.php"); // 引入 T8 API 連線 - require_once("./T8salIncomeApply.php"); + require_once("./T8api.php"); + $contractno = !empty($data['contractno']) ? $data['contractno'] : null; // 合約號 $address = !empty($data['address']) ? $data['address'] : null; // 客戶地址 @@ -409,7 +417,7 @@ function T8insert($data, $facilityno, $depId) $connT8->beginTransaction(); $sql = "SELECT * FROM comCustomer WHERE BizPartnerId = :BizPartnerId"; - $stmt = $conn->prepare($sql); + $stmt = $connT8->prepare($sql); $stmt->bindParam(':BizPartnerId', $contractno); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); @@ -423,6 +431,7 @@ function T8insert($data, $facilityno, $depId) echo 'Error'; exit; } + if (empty($result)) { // 若 客戶資料為空,新增一筆到 comCustomer // 新增客戶資料 @@ -564,23 +573,26 @@ function T8insert($data, $facilityno, $depId) // 分期代碼計算 $IncomeId = [ - 'A40006' => 1, //年繳 - 'A40007' => 4, //季繳 - 'A40003' => 12, //月繳 - 'A40004' => 6, //雙月繳 - 'A40005' => 2 //半年繳 + 'A40006' => 12, //年繳 + 'A40007' => 3, //季繳 + 'A40003' => 1, //月繳 + 'A40004' => 2, //雙月繳 + 'A40005' => 6 //半年繳 ]; - //分幾期 => 總共保養月 / 分期月 - $SQuantity = $elevator['maintain_months'] / $IncomeId[$payType]; + // 幾年 + // $SQuantityYear = $elevator['maintain_months'] / 12; + //分幾期 () => 總共保養月 / 分期月 + $SQuantitya = $elevator['maintain_months'] / $IncomeId[$payType]; + $SQuantity = $IncomeId[$payType]; + // $paymonth = $IncomeId[$payType] * $SQuantity; $date_1 = getNext25thDate($contract_begin_date); - // 依每台電梯去加入各個的付款項 - for ($i = 0; $i < $IncomeId[$payType]; $i++) { + for ($i = 1; $i <= $SQuantitya; $i++) { $row++; // 計算分期款的收款月份 - $paymonth = $i * $SQuantity; + $paymonth = $i * $IncomeId[$payType]; $countDay = date('Y-m-d', strtotime("$date_1 + $paymonth months")); $payDay = str_replace('-', '', $countDay); $rows_data = [ @@ -593,13 +605,11 @@ function T8insert($data, $facilityno, $depId) "SPrice" => intval($elevator['sold_price']), "SQuantity" => $SQuantity, "ProjectId" => "$contractno", + "FromBillNo" => "$contractno", "CU_MaterialId" => "$facility_no", "CU_EstPayDate" => intval($payDay) ]; $salIncomeApplyDetail_rows[] = $rows_data; - // echo '
';
-            // print_r($salIncomeApplyDetail_rows);
-            // echo '
'; } } @@ -641,10 +651,11 @@ function T8insert($data, $facilityno, $depId) $API_body[] = $salIncomeApplyMaster; $API_body[] = $salIncomeApplyDetail; // 呼叫 API - // echo '
';
-    // print_r($API_body);
-    // echo '
'; - $result = T8API($API_body); + echo '
';
+    print_r($API_body);
+    echo '
'; + $api_url = 'http://10.10.145.2:880/twWebAPI/V1/SALINCOMEAPPLY/PostERPData'; + $result = T8salIncomeApply($API_body, $api_url); if ($result['Status'] == 'Error' || $result['Status'] == 'Fails') { @@ -658,14 +669,17 @@ function bonusCreate($data, $facilityno, $conn) { try { require_once("../../bonus/other/maintenance_contract_bonus_v2_1.php"); + require_once("../../bonus/other/maintenance_longterm_contract_m1_free_charge_bonus_v2_1_1.php"); + $elevators = !empty($_POST['elevators']) ? json_decode($_POST['elevators'], true) : []; $contract_begin_date = !empty($data['contract_begin_date']) ? $data['contract_begin_date'] : ''; $salesman = !empty($data['salesman']) ? $data['salesman'] : ''; $payType = !empty($data['payType']) ? $data['payType'] : ''; + $contract_type = $data['contract_type']; //合約類別 $status = 1; $bonus_json = []; $create_id = $data['user_id']; - $create_at = date('Y-m-d'); + $create_at = date('Y-m-d H:i:s'); $contract_no = !empty($data['contractno']) ? $data['contractno'] : ''; $contract_kind = 3; @@ -677,26 +691,115 @@ function bonusCreate($data, $facilityno, $conn) 'A40003' => 'monthly' //月繳 ]; + $fail_arr = []; $payDay = getNext25thDate($contract_begin_date); foreach ($elevators as $key => $elevator) { - // print_r($payDay); - // echo '
';
-            // print_r($elevator);
-            // echo '
'; - // exit; $facility_no = $facilityno[$key]; $ver = $elevator['bonus_verson']; //獎金版本 - $contract_type = $elevator['contract_type']; //合約類別 $payment_period = $payment[$payType]; //付款方式 - $elevator_list_price = intval($elevator['stand_price']); //牌價 - $fee_per_st = $elevator['contract_price']; //作翻契約金額 - $commission_fee = $elevator['service_expense']; //服務費(月) + $elevator_list_price = !empty(intval($elevator['stand_price'])) ? intval($elevator['stand_price']) : ''; //牌價 + $fee_per_st = !empty($elevator['sold_price']) ? intval(round($elevator['sold_price'] / 1.05, 2)) : ''; //作翻契約金額 (不含稅) + $commission_fee = !empty($elevator['service_expense']) ? $elevator['service_expense'] : ''; //服務費(月/台) $receivable_date_due = $payDay; //第一筆保養款項收回日 $sales_id = $salesman; //營業人員 $discount = $elevator['discount']; $region_director_id = $elevator['manager']; $regular_contract_manger_id = !empty($elevator['regular_contract_manger_id']) ? $elevator['regular_contract_manger_id'] : ''; - $results = maintenance_contract_bonus_v2_1($ver, $contract_type, $payment_period, $elevator_list_price, $fee_per_st, $commission_fee, $receivable_date_due, $sales_id, $region_director_id, $regular_contract_manger_id); + $maintain_months = intval($elevator['maintain_months']); + $years = $maintain_months / 12; + echo $years; + if ($maintain_months == '') $fail_arr[] = "保養月費為必填"; + if ($fee_per_st == '') $fail_arr[] = "契約金額為必填"; + if ($elevator_list_price == '') $fail_arr[] = "牌價為必填"; + if ($region_director_id == '') $fail_arr[] = '區處長為必填'; + if ($sales_id == '') $fail_arr[] = "契約人為必填"; + + if (COUNT($fail_arr) > 0) { + return $fail_arr; + break; + } + $renew_priceissue_bonus = []; + // $years = ($maintain_months % 12) == 0 ? $maintain_months / 12 : ''; + // 如果保養合約 大於一年 + if (!empty($maintain_months)) { + if ($maintain_months > 12 && $contract_type == 'new') { + // 第一年為 "新簽約" + $results = maintenance_contract_bonus_v2_1( + $ver, + $contract_type, + $payment_period, + $elevator_list_price, + $fee_per_st, + $commission_fee, + $receivable_date_due, + $sales_id, + $region_director_id, + $regular_contract_manger_id + ); + for ($i = 1; $i <= $years - 1; $i++) { + $contract_type = 'renew_priceissue'; + $receivable_date_due_renew = date("Y-m-d", strtotime("$receivable_date_due + $i year")); + // 第二年以上改 "續約" + $renew_priceissue_bonus[] = maintenance_contract_bonus_v2_1( + $ver, + $contract_type, + $payment_period, + $elevator_list_price, + $fee_per_st, + $commission_fee, + $receivable_date_due_renew, + $sales_id, + $region_director_id, + $regular_contract_manger_id + ); + } + } else if ($maintain_months > 12 && $contract_type == 'renew_priceissue') { + // 超過一年的 "續約" + for ($i = 0; $i < $years; $i++) { + $contract_type = 'renew_priceissue'; + $renew_priceissue_bonus[] = maintenance_contract_bonus_v2_1( + $ver, + $contract_type, + $payment_period, + $elevator_list_price, + $fee_per_st, + $commission_fee, + $receivable_date_due, + $sales_id, + $region_director_id, + $regular_contract_manger_id + ); + } + } else if ($maintain_months >= 60 && $contract_type = 'longcontract_m1_free_charge') { + // 五年以上長約 + $results = maintenance_longterm_contract_m1_free_charge_bonus_v2_1( + $ver, + $contract_type, + $payment_period, + $maintain_months, + $elevator_list_price, + $fee_per_st, + $commission_fee, + $receivable_date_due, + $sales_id, + $region_director_id, + $regular_contract_manger_id + ); + } else { + $results = maintenance_contract_bonus_v2_1( + $ver, + $contract_type, + $payment_period, + $elevator_list_price, + $fee_per_st, + $commission_fee, + $receivable_date_due, + $sales_id, + $region_director_id, + $regular_contract_manger_id + ); + } + } $bonus_json = [ 'contract_type' => $contract_type, @@ -707,22 +810,54 @@ function bonusCreate($data, $facilityno, $conn) 'receivable_date_due' => $receivable_date_due, 'discount' => $discount ]; - if ($results['result_status'] != 'error') { - foreach ($results['bonus_array'] as $i => $result) { - - $bonus_type = $result['bonus_type']; - $pay_day = $result['pay_day_due']; - $amount = $result['bonus_amount']; - $receiver = $result['bonus_receiver']; - $a = json_encode($bonus_json); - $sql = "INSERT INTO bonus + if (!empty($results)) { + + if ($results['result_status'] != 'error') { + foreach ($results['bonus_array'] as $i => $result) { + + $bonus_type = $result['bonus_type']; + $pay_day = $result['pay_day_due']; + $amount = $result['bonus_amount']; + $receiver = $result['bonus_receiver']; + $a = json_encode($bonus_json); + $sql = "INSERT INTO bonus (bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,pay_day_due,status,bonus_json,create_id,create_at) VALUES ($bonus_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$receiver','$pay_day',$status,'$a','$create_id','$create_at')"; - $stmt = $conn->prepare($sql); - $stmt->execute(); + $stmt = $conn->prepare($sql); + $stmt->execute(); + } + } + if (!empty($renew_priceissue_bonus)) { + // echo '1'; + foreach ($renew_priceissue_bonus as $renew_priceissue_bonus) { + foreach ($renew_priceissue_bonus['bonus_array'] as $i => $result) { + + $bonus_type = $result['bonus_type']; + $pay_day = $result['pay_day_due']; + $amount = $result['bonus_amount']; + $receiver = $result['bonus_receiver']; + $a = json_encode($bonus_json); + $sql = "INSERT INTO bonus + (bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,pay_day_due,status,bonus_json,create_id,create_at) VALUES + ($bonus_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$receiver','$pay_day',$status,'$a','$create_id','$create_at')"; + $stmt = $conn->prepare($sql); + $stmt->execute(); + } + } } + $request = [ + "status" => "1", + "data" => "Success" + ]; + } else { + $request = [ + "status" => "2", + "data" => "create_bonus_error" + ]; } + // exit(); } + return $request; // exit(); } catch (PDOException $e) { http_response_code(404); diff --git a/wms/contract/api/postContractNewApplyData.php b/wms/contract/api/postContractNewApplyData.php index e3ec18e5..7f2e2525 100644 --- a/wms/contract/api/postContractNewApplyData.php +++ b/wms/contract/api/postContractNewApplyData.php @@ -4,6 +4,7 @@ use function Symfony\Component\String\s; require_once("../conn.php"); include_once("./upload_chk.php"); +include_once "./postFlow.php"; ini_set('date.timezone', 'Asia/Taipei'); if ($_SERVER['REQUEST_METHOD'] != 'POST') { exit(); @@ -42,6 +43,8 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == $status = $_POST['status']; // 0:暫存 1:送審 2:退回 3:完成 $pays = json_decode($pays, true); + $form_key = $_POST['form_key']; + $files = !empty($_FILES['files']) ? $_FILES['files'] : null; @@ -160,6 +163,14 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == } } // -----處理檔案上傳 END----- + + if($status == 1){ + $current_assigner = "M0175"; + $flow_code = "A"; + $ekind = "新梯"; + createFlow($mid, $current_assigner, $flow_code, $ekind, $form_key); + } + header("HTTP/1.1 201 success!"); $conn->commit(); } else { @@ -211,7 +222,6 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == } $deleted_at = date("Y-m-d H:i:s"); $removefiles = isset($_POST['removefiles']) ? json_decode($_POST['removefiles'], true) : []; - print_r($removefiles); if(count($removefiles) > 0){ foreach($removefiles as $file){ $sql_str = "UPDATE contract_apply_files SET deleted_at = :deleted_at WHERE id = :fileid"; @@ -221,9 +231,18 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == $stmt ->execute(); } } + + if($status == 1){ + $current_assigner = "M0175"; + $flow_code = "A"; + $ekind = "新梯"; + createFlow($mid, $current_assigner, $flow_code, $ekind, $form_key); + } + header("HTTP/1.1 201 success!"); $conn->commit(); } + } catch (PDOException $e) { $conn->rollback(); header("HTTP/1.1 500 failed!"); @@ -268,6 +287,8 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == $progress = $_POST['progress']; $review_comment = $_POST['review_comment']; $user_id = $_POST['review_person_id']; + $form_key = $_POST['form_key']; + $mid = $contract_new_apply_id; $review_date = date('Y-m-d H:i:s'); $conn->beginTransaction(); try { @@ -280,6 +301,13 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == $stmt->bindParam(':review_person_id', $user_id); $stmt->bindParam(':review_date', $review_date); $stmt->execute(); + + + //發送待簽通知 + $current_assigner = "00000"; + $flow_code = "Z"; + $ekind = "新梯"; + createFlow($mid, $current_assigner, $flow_code, $ekind, $form_key); header("HTTP/1.1 200 success!"); $conn->commit(); } catch (PDOException $e) { @@ -297,6 +325,8 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == $progress = $_POST['progress']; $review_comment = $_POST['review_comment']; $user_id = $_POST['review_person_id']; + $form_key = $_POST['form_key']; + $mid = $contract_new_apply_id; echo $user_id; $review_date = date('Y-m-d H:i:s'); $conn->beginTransaction(); @@ -310,6 +340,13 @@ if (isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == $stmt->bindParam(':review_person_id', $user_id); $stmt->bindParam(':review_date', $review_date); $stmt->execute(); + + + //發送待簽通知 + $current_assigner = "00000"; + $flow_code = "A"; + $ekind = "新梯"; + createFlow($mid, $current_assigner, $flow_code, $ekind, $form_key); header("HTTP/1.1 200 success!"); $conn->commit(); } catch (PDOException $e) { diff --git a/wms/contract/api/postFlow.php b/wms/contract/api/postFlow.php new file mode 100644 index 00000000..90368b1c --- /dev/null +++ b/wms/contract/api/postFlow.php @@ -0,0 +1,58 @@ +prepare($sql_str); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + $form_key = $result['form_key']; + $seq = 0; + + $sql_str = "INSERT INTO flow (system_id, flow_id, form_id, form_key, flow_code) + VALUES (:system_id, :flow_id, :form_id, :form_key, :flow_code)"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':system_id', $system_id); + $stmt->bindParam(':flow_id', $flow_id); + $stmt->bindParam(':form_id', $form_id); + $stmt->bindParam(':form_key', $form_key); + $stmt->bindParam(':flow_code', $flow_code); + $stmt->execute(); + }else{ + $sql_str = "UPDATE flow SET flow_code = :flow_code WHERE form_key = :form_key"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':form_key', $form_key); + $stmt->bindParam(':flow_code', $flow_code); + $stmt->execute(); + + $sql_str = "SELECT MAX(seq) AS max_seq FROM subflow WHERE form_key = :form_key"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':form_key', $form_key); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + $seq = $result['max_seq']; + $seq ++; + } + + $created_at = date("Y-m-d H:i:s"); + $sql_str = "INSERT INTO subflow (form_key, seq, current_assigner, update_date,create_date) + VALUES (:form_key, :seq, :current_assigner, :update_date,:create_date)"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':form_key', $form_key); + $stmt->bindParam(':seq', $seq); + $stmt->bindParam(':current_assigner', $current_assigner); + $stmt->bindParam(':update_date', $created_at); + $stmt->bindParam(':create_date', $created_at); + $stmt->execute(); + + + return $form_key; +} \ No newline at end of file diff --git a/wms/contract/api/postNewContractData.php b/wms/contract/api/postNewContractData.php index d94dac12..359cbbb0 100644 --- a/wms/contract/api/postNewContractData.php +++ b/wms/contract/api/postNewContractData.php @@ -1,163 +1,293 @@ + '; - // print_r($elevators); - // echo ''; - // exit; - $files = !empty($_FILES['files']) ? $_FILES['files'] : null; - $files_id = null; - - $fail_arr = []; - if (empty($contractno)) $fail_arr[] = '合約號為必填'; - if (empty($customer)) $fail_arr[] = '客戶名稱為必填'; - if (empty($manager)) $fail_arr[] = '負責人為必填'; - if (empty($vat)) $fail_arr[] = '統編/身分證為必填'; - if (empty($case_name)) $fail_arr[] = '案名為必填'; - if (empty($linkman)) $fail_arr[] = '聯絡人為必填'; - if (empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填'; - if (empty($address)) $fail_arr[] = '地址為必填'; - if (empty($salesman)) $fail_arr[] = '營業員為必填'; - if (empty($qc)) $fail_arr[] = '請選擇QC或官檢'; - if (count($fail_arr) > 0) { - header("HTTP/1.1 422 Unprocessable Entity"); - echo json_encode($fail_arr); - exit(); - } - //create facility table - $createFacilityNo = new CreateFacilityNo(); - $dailyNecessities = [ - 'MAE100' => 'X', - 'MAM200' => 'W', - 'MAH100' => 'H', - 'MAQ100' => 'Z', - 'MAF100' => 'F', - 'MAZ100' => 'B', - ]; - $arr = []; - // 建立作番號 - foreach ($elevators_detail_arr as $elevator) { - // $spec = explode('-', $elevator['item_spec']); - $arr[] = $dailyNecessities[$elevator['spec']]; - } - $facilityno = $createFacilityNo->makeMFacilityNo('M', $arr, intval($elevators_nums)); - echo '
';
-    print_r($facilityno);
-    echo '
'; + + $created_at = date('Y-m-d H:i:s'); + $created_by = $_POST["user_id"]; + $contractno = $_POST["contractno"]; + $customer = $_POST["customer"]; + $manager = $_POST["manager"]; + $vat = $_POST["vat"]; + $case_name = $_POST["case_name"]; + $linkman = $_POST["linkman"]; + $lm_tel = $_POST["lm_tel"]; + $address = $_POST["address"]; + $salesman = $_POST["salesman"]; + $contracttype = $_POST["contracttype"]; + $elevators_nums = $_POST['nums']; + $area_no = $_POST['area_no']; + $elevators = json_decode($_POST['elevators'], JSON_UNESCAPED_UNICODE); + $elevators_detail_arr = json_decode($_POST['elevators_detail_arr'], JSON_UNESCAPED_UNICODE); + // echo "
";
+  // print_r($elevators_detail_arr);
+  // echo "
"; + // exit(); + $files = !empty($_FILES['files']) ? $_FILES['files'] : null; + $files_id = null; + + $fail_arr = []; + if (empty($contractno)) $fail_arr[] = '合約號為必填'; + if (empty($customer)) $fail_arr[] = '客戶名稱為必填'; + if (empty($manager)) $fail_arr[] = '負責人為必填'; + // if (empty($vat)) $fail_arr[] = '統編/身分證為必填'; + if (empty($case_name)) $fail_arr[] = '案名為必填'; + if (empty($linkman)) $fail_arr[] = '聯絡人為必填'; + if (empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填'; + if (empty($address)) $fail_arr[] = '地址為必填'; + if (empty($salesman)) $fail_arr[] = '營業員為必填'; + // if (empty($elevators_detail_arr['qc'])) $fail_arr[] = '請選擇QC或官檢'; + if (count($fail_arr) > 0) { + header("HTTP/1.1 422 Unprocessable Entity"); + echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE); exit(); + } + //create facility table + $createFacilityNo = new CreateFacilityNo(); + $dailyNecessities = [ + 'MAE100' => 'X', //小機房客梯 + 'MAM200' => 'W', //無機房客梯 + 'MAH100' => 'H', //小電梯 + 'MAQ100' => 'Z', //強趨梯 + 'MAF100' => 'F', //貨梯 + 'MAP100' => 'B', //平台梯 + ]; + $arr = []; + // 建立作番號 + foreach ($elevators_detail_arr as $elevator) { + // $spec = explode('-', $elevator['item_spec']); + $arr[] = $dailyNecessities[$elevator['spec']]; + } + $facilityno = $createFacilityNo->makeMFacilityNo('M', $arr, intval($elevators_nums)); + echo json_encode($facilityno); + + // $bonus_result = BounsCount($_POST, $conn, $facilityno); + + // if (!empty($bonus_result) && $bonus_result['status'] == "2") { + // $fail_arr[] = '獎金計算錯誤,請再檢查或連繫資訊人員'; + // // header("HTTP/1.1 422 Unprocessable Entity"); + // echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE); + // exit(); + // } + + T8Insert($_POST, $facilityno, $connT8); + // exit(); + try { $conn->beginTransaction(); - $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC"; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(":accountid", $salesman); + //create account table + $accounttype = "A"; + $accountid = $vat; + $pwd = "123"; + $name = $customer; + $tel = $lm_tel ?? ''; + $sql = "INSERT INTO account (accounttype, accountid, pwd, name, tel, address, creater, create_at) + VALUES (:accounttype, :accountid, :pwd, :name, :tel, :address , :creater, :created_at)"; + $stmt = $conn->prepare($sql); + $stmt->bindParam(':accounttype', $accounttype); + $stmt->bindParam(':accountid', $contractno); + $stmt->bindParam(':pwd', $pwd); + $stmt->bindParam(':name', $customer); + $stmt->bindParam(':tel', $tel); + $stmt->bindParam(':address', $address); + $stmt->bindParam(':creater', $created_by); + $stmt->bindParam(':created_at', $created_at); $stmt->execute(); - $saleman = $stmt->fetch(PDO::FETCH_ASSOC); - $salesman_name = $saleman['name']; - if (!empty($files)) { - $englisharr = range('a', 'z'); - $files = $_FILES['files']; - $newfiles = []; - foreach ($files as $file) { - $i = 0; //新陣列的索引編號 - foreach ($file as $key => $val) { - $newfiles[$i]['name'] = $files['name'][$key]; - $newfiles[$i]['type'] = $files['type'][$key]; - $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key]; - $newfiles[$i]['error'] = $files['error'][$key]; - $newfiles[$i]['size'] = $files['size'][$key]; - $i++; - } //foreach 第2層 end - } - $max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M) - $allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型 - $path = '../images/contracts/'; - if (!file_exists($path)) { - mkdir($path); + // exit(); + + //create table Wipwholestatus (作番大日程) + foreach ($elevators_detail_arr as $key => $value) { + $facilityno = $facilityno[$key]; // 作番 + $weight = $value['item_weight']; // 載重 + $person = $value['person']; // 人乘 + $floor = $value['floor']; // 樓層 + $open = $value['item_op']; // 開門方式 + $speed = $value['speed']; //速度 + $qc = $value['qc']; + $facility_kind = $value['spec']; //型號 + $contract_arrival_date = $value['contract_arrival_date']; //到工地日期 + $site_manager = $value['manage']; + $warehouseid = $value['warehouseid']; + $sql = "INSERT INTO Wipwholestatus + (contract_type,contractno,salesid,custom,accountid,site_manager,warehouseid,facilityno,weight,numberofpassenger,numberoffloor,opentype,speed,facility_kind,area_no,address,contract_arrival_date,real_contract_arrival_date,qc_official_type,creater,create_at,desin_spec_verify) VALUES + ('A',:contractno,:salesid,:custom,:accountid,:site_manager,:warehouseid,:facilityno,:weight,:numberofpassenger,:numberoffloor,:opentype,:speed,:facility_kind,:area_no,:address,:contract_arrival_date,:real_contract_arrival_date,:qc_official_type,:creater,:create_at,1)"; + // $sql = "INSERT INTO Wipwholestatus + // (contract_type,contractno,salesid,custom,accountid,facilityno,weight,numberofpassenger,numberoffloor,opentype,speed,facility_kind,address,contract_arrival_date,qc_official_type,creater,create_at) VALUES + // ('A','$contractno','$salesman','$customer','$customer','$facilityno','$weight','$person','$floor','$open','$speed','$facility_kind','$address','$contract_arrival_date','$qc','$created_by','$created_at')"; + $stmt = $conn->prepare($sql); + $stmt->bindParam(':contractno', $contractno); + $stmt->bindParam(':salesid', $salesman); + $stmt->bindParam(':custom', $customer); + $stmt->bindParam(':accountid', $customer); + $stmt->bindParam(':site_manager', $site_manager); + $stmt->bindParam(':warehouseid', $warehouseid); + $stmt->bindParam(':facilityno', $facilityno); + $stmt->bindParam(':weight', $weight); + $stmt->bindParam(':numberofpassenger', $person); + $stmt->bindParam(':numberoffloor', $floor); + $stmt->bindParam(':opentype', $open); + $stmt->bindParam(':speed', $speed); + $stmt->bindParam(':facility_kind', $facility_kind); + $stmt->bindParam(':area_no', $area_no); + $stmt->bindParam(':address', $address); + $stmt->bindParam(':contract_arrival_date', $contract_arrival_date); + $stmt->bindParam(':real_contract_arrival_date', $contract_arrival_date); + $stmt->bindParam(':qc_official_type', $qc); + $stmt->bindParam(':creater', $created_by); + $stmt->bindParam(':create_at', $created_at); + $stmt->execute(); + $lastId = $conn->lastInsertId(); + // echo "
";
+      // print_r($lastId);
+      // echo "
"; + // exit; + if (!empty($lastId)) { + echo '123'; + // 寫入待簽程狀態 A (營業) + do_wws_assign1($salesman, $lastId, 'A', $conn); + // // 寫入待簽程狀態 G (工務) + do_wws_assign1($warehouseid, $lastId, 'G', $conn); } - $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息 - $datetime = (string)date('YmdHis'); - $files_id = 'm' . $datetime; // 保養=>b + 日期時間 - foreach ($newfiles as $key => $file) { - $randNum = rand(1000, 9999); - $randEnglish = $englisharr[rand(0, 25)]; - $file_name = 'm' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum . $file['name']; - $msg = upload_chk($file, $path, $max_size, $allow_ext, $file_name); - if ($msg == 1) { - $msg = '檔案傳送成功!'; - $sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)"; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':files_id', $files_id); - $stmt->bindParam(':file_name', $file_name); - $stmt->bindParam(':file_mime', $file['type']); - $stmt->bindParam(':file_size', $file['size']); - $stmt->bindParam(':created_at', $created_at); - $stmt->bindParam(':created_by', $created_by); - $stmt->execute(); - } else { - throw new PDOException('檔案上傳失敗:' . $msg); + + + // create table worksite (戰情室) + $latitude = $value['latitude']; + $longitude = $value['longitude']; + $sql = "INSERT INTO worksite + (latitude,longitude,facilitynum,facilityno,address,buildcompany,process,status,marchintotime,creater,create_at)VALUES + (:latitude,:longitude,'1',:facilityno,:address,:bulidcompany,'進行中','未工勘',:marchintotime,:creater,:create_at)"; + $stmt = $conn->prepare($sql); + $stmt->bindParam(':latitude', $latitude); + $stmt->bindParam(':longitude', $longitude); + $stmt->bindParam(':facilityno', $facilityno); + $stmt->bindParam(':address', $address); + $stmt->bindParam(':bulidcompany', $customer); + $stmt->bindParam(':marchintotime', $contract_arrival_date); + $stmt->bindParam(':creater', $created_by); + $stmt->bindParam(':create_at', $created_at); + $stmt->execute(); + + // create table schedule + // $contract_begin_date = ''; + // $contract_end_date = ''; // 一年 + // $comboNo = new CreateComboNo('em', $contract_begin_date, $contract_end_date); + // $comboArr = json_decode($comboNo->getComboNo(), true); + // foreach ($comboArr as $combo) { + // $sql_str = 'INSERT INTO schedule (contractno, facilityno, combono, repairerid, repairername, duedate, creater, create_at) VALUES (:contractno, :facilityno, :combono, :repairerid, :repairername, :duedate, :creater, :create_at)'; + // $stmt = $conn->prepare($sql_str); + // $stmt->bindParam(':contractno', $contractno); + // $stmt->bindParam(':facilityno', $facility_no); + // $stmt->bindParam(':combono', $combo[0]); + // $stmt->bindParam(':repairerid', $repairerid); + // $stmt->bindParam(':repairername', $repairername); + // $stmt->bindParam(':duedate', $combo[1]); + // $stmt->bindParam(':creater', $creater); + // $stmt->bindParam(':create_at', $create_at); + // $result = $stmt->execute(); + // } + // } + + + + $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(":accountid", $salesman); + $stmt->execute(); + $saleman = $stmt->fetch(PDO::FETCH_ASSOC); + $salesman_name = $saleman['name']; + if (!empty($files)) { + $englisharr = range('a', 'z'); + $files = $_FILES['files']; + $newfiles = []; + foreach ($files as $file) { + $i = 0; //新陣列的索引編號 + foreach ($file as $key => $val) { + $newfiles[$i]['name'] = $files['name'][$key]; + $newfiles[$i]['type'] = $files['type'][$key]; + $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key]; + $newfiles[$i]['error'] = $files['error'][$key]; + $newfiles[$i]['size'] = $files['size'][$key]; + $i++; + } //foreach 第2層 end } - $msg_result .= '第' . ($key + 1) . '個上傳檔案的結果:' . $msg . '
'; - $src_name = $path . $file['name']; - if (file_exists($src_name)) { - //副檔名 - $extname = pathinfo($src_name, PATHINFO_EXTENSION); - //主檔名 - $basename = basename($src_name, '.' . $extname); + $max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M) + $allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型 + $path = '../images/contracts/'; + if (!file_exists($path)) { + mkdir($path); } + $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息 + $datetime = (string)date('YmdHis'); + $files_id = 'm' . $datetime; // 保養=>b + 日期時間 + foreach ($newfiles as $key => $file) { + $randNum = rand(1000, 9999); + $randEnglish = $englisharr[rand(0, 25)]; + $file_name = 'm' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum . $file['name']; + $msg = upload_chk($file, $path, $max_size, $allow_ext, $file_name); + if ($msg == 1) { + $msg = '檔案傳送成功!'; + $sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':files_id', $files_id); + $stmt->bindParam(':file_name', $file_name); + $stmt->bindParam(':file_mime', $file['type']); + $stmt->bindParam(':file_size', $file['size']); + $stmt->bindParam(':created_at', $created_at); + $stmt->bindParam(':created_by', $created_by); + $stmt->execute(); + } else { + throw new PDOException('檔案上傳失敗:' . $msg); + } + $msg_result .= '第' . ($key + 1) . '個上傳檔案的結果:' . $msg . '
'; + $src_name = $path . $file['name']; + if (file_exists($src_name)) { + //副檔名 + $extname = pathinfo($src_name, PATHINFO_EXTENSION); + //主檔名 + $basename = basename($src_name, '.' . $extname); + } + } + } else { + $files = null; } - } else { - $files = null; - } - $sql_str = "INSERT INTO contract_m_signed_back (contract_no, customer, manager, vat, case_name, linkman, lm_tel, address, salesman, salesman_name, files_id, created_at, created_by, qc_official_type) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by, :qc)"; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(":contract_no", $contractno); - $stmt->bindParam(":customer", $customer); - $stmt->bindParam(":manager", $manager); - $stmt->bindParam(":vat", $vat); - $stmt->bindParam(":case_name", $case_name); - $stmt->bindParam(":linkman", $linkman); - $stmt->bindParam(":lm_tel", $lm_tel); - $stmt->bindParam(":address", $address); - $stmt->bindParam(":salesman", $salesman); - $stmt->bindParam(":salesman_name", $salesman_name); - $stmt->bindParam(":files_id", $files_id); - $stmt->bindParam(":created_at", $created_at); - $stmt->bindParam(":created_by", $created_by); - $stmt->bindParam(":qc", $qc); - $stmt->execute(); + $sql_str = "INSERT INTO contract_m_signed_back (contract_no, customer, manager, vat, case_name, linkman, lm_tel, address, salesman, salesman_name, files_id, created_at, created_by) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by)"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(":contract_no", $contractno); + $stmt->bindParam(":customer", $customer); + $stmt->bindParam(":manager", $manager); + $stmt->bindParam(":vat", $vat); + $stmt->bindParam(":case_name", $case_name); + $stmt->bindParam(":linkman", $linkman); + $stmt->bindParam(":lm_tel", $lm_tel); + $stmt->bindParam(":address", $address); + $stmt->bindParam(":salesman", $salesman); + $stmt->bindParam(":salesman_name", $salesman_name); + $stmt->bindParam(":files_id", $files_id); + $stmt->bindParam(":created_at", $created_at); + $stmt->bindParam(":created_by", $created_by); + // $stmt->bindParam(":qc", $qc); + $stmt->execute(); - $result = $conn->commit(); - if ($result) { - header("HTTP/1.1 201 Created"); + $result = $conn->commit(); + if ($result) { + header("HTTP/1.1 201 Created"); + } } } catch (PDOException $e) { $conn->rollback(); @@ -166,9 +296,11 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c } } -function T8Insert($data) +function T8Insert($data, $facilityno, $connT8) { - require_once("../connt8.php"); + // try { + // 引入銷售訂單 API + require_once("./T8API.php"); $contractno = $data['contractno']; $partyA = $data['customer']; @@ -178,53 +310,83 @@ function T8Insert($data) $user_id = $data['user_id']; $salesman = $data['salesman']; $createAt = date("Y-m-dH-i-s"); - $elevators[] = $data['elevators']; - $createTime = str_replace('-', '', $createAt); - $connT8->beginTransaction(); + $elevators = !empty($data['elevators_detail_arr']) ? json_decode($data['elevators_detail_arr'], true) : []; //電梯 + $pay_arr = !empty($data['pay_arr']) ? json_decode($data['pay_arr'], true) : []; //電梯 - $sql = "SELECT * FROM comCustomer WHERE BizPartnerId = :BizPartnerId"; - $stmt = $conn->prepare($sql); + $createTime = str_replace('-', '', $createAt); + $signing_date = intval(str_replace("-", '', $data['signing_date'])); //簽訂日期 + // echo + // $pay_kind = [ + // '1' => '簽約', + // '2' => '二次款', + // '3' => '貨抵工地', + // '4' => '材料其他', + // '5' => '試車完工', //安裝完畢 + // '6' => '交車' //交車 + // ]; + + $pay_kind = [ + '1' => '簽約', + '2' => '二次款', + '3' => '貨抵工地', + '4' => '材料其他', + '5' => '試車完工', //安裝完畢 + '6' => '交車' //交車 + ]; + + $sql = "SELECT * FROM comCustomer + WHERE BizPartnerId = :BizPartnerId + "; + $stmt = $connT8->prepare($sql); $stmt->bindParam(':BizPartnerId', $contractno); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); + // 新增客戶 table if (empty($result)) { // 若 客戶資料為空,新增一筆到 comCustomer // 新增客戶資料 + $sql = "INSERT INTO comBusinessPartner - (BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,EMail,CreatorId,CreateTime,BizPartnerTypeId) - VALUES(:BizPartnerId,:BizPartnerName,1,'TW',:WorkTelNo,99999999,:TaxNo,:EnterpriseName,:ContactAddress,:EMail,:CreatorId,:CreateTime,'10')"; + (BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,CreatorId,CreateTime,BizPartnerTypeId) + VALUES(:BizPartnerId,:BizPartnerName,1,'TW',:WorkTelNo,99999999,:TaxNo,:EnterpriseName,:ContactAddress,:CreatorId,:CreateTime,'10')"; + // $sql = "INSERT INTO comBusinessPartner + // (BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,CreatorId,CreateTime,BizPartnerTypeId) + // VALUES('$contractno','$partyA',1,'TW','$phone',99999999,'$vat', '$partyA','$partyAaddress','$user_id',$createTime,'10')"; $stmt = $connT8->prepare($sql); $stmt->bindParam(':BizPartnerId', $contractno); $stmt->bindParam(':BizPartnerName', $partyA); //客戶名稱 $stmt->bindParam(':WorkTelNo', $phone); $stmt->bindParam(':TaxNo', $vat); - // $stmt->bindParam(':EnterpriseName', $customer); //企業名稱 + $stmt->bindParam(':EnterpriseName', $partyA); //企業名稱 $stmt->bindParam(':ContactAddress', $partyAaddress); - $stmt->bindParam(':EMail', $email); $stmt->bindParam(':CreatorId', $user_id); $stmt->bindParam(':CreateTime', $createTime); - $stmt->execute(); + $sql = "INSERT INTO comCustomer - (OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId) - VALUES('1000','10','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')"; + (OrgId,BizPartnerTypeId,ConditionId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId)VALUES + ('1000','10','0008','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')"; + // $sql = "INSERT INTO comCustomer + // (OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId) + // VALUES('1000','10','TWD','$contractno','$salesman','$user_id',1,'$partyAaddress','$createTime','35')"; $stmt = $connT8->prepare($sql); $stmt->bindParam(':BizPartnerId', $contractno); $stmt->bindParam(':PersonId', $salesman); $stmt->bindParam(':CreatorId', $user_id); - $stmt->bindParam(':InvoiceAddress', $address); + $stmt->bindParam(':InvoiceAddress', $partyAaddress); $stmt->bindParam(':CreateTime', $createTime); - $stmt->execute(); } else { - // // 若客戶資料不為空,更新該客戶資訊。 + // 若客戶資料不為空,更新該客戶資訊。 $sql = "UPDATE comCustomer SET PersonId=:PersonId, + ConditionId='0008', + CurrId='TWD', InvoiceAddress=:InvoiceAddress, LastOperatorId=:LastOperatorId, LastOperateTime=:LastOperateTime @@ -232,7 +394,7 @@ function T8Insert($data) "; $stmt = $connT8->prepare($sql); $stmt->bindParam(':PersonId', $salesman); - $stmt->bindParam(':InvoiceAddress', $address); + $stmt->bindParam(':InvoiceAddress', $partyAaddress); $stmt->bindParam(':LastOperatorId', $user_id); $stmt->bindParam(':LastOperateTime', $createTime); $stmt->bindParam(':BizPartnerId', $contractno); @@ -245,7 +407,6 @@ function T8Insert($data) TaxNo=:TaxNo, EnterpriseName=:EnterpriseName, ContactAddress=:ContactAddress, - EMail=:EMail, LastOperatorId=:LastOperatorId, LastOperateTime=:LastOperateTime WHERE BizPartnerId = :BizPartnerId @@ -254,9 +415,9 @@ function T8Insert($data) $stmt->bindParam(':BizPartnerName', $partyA); $stmt->bindParam(':WorkTelNo', $phone); $stmt->bindParam(':TaxNo', $vat); - $stmt->bindParam(':EnterpriseName', $customer); + $stmt->bindParam(':EnterpriseName', $partyA); $stmt->bindParam(':ContactAddress', $partyAaddress); - $stmt->bindParam(':EMail', $email); + // $stmt->bindParam(':EMail', $email); $stmt->bindParam(':LastOperatorId', $user_id); $stmt->bindParam(':LastOperateTime', $createTime); $stmt->bindParam(':BizPartnerId', $contractno); @@ -274,52 +435,392 @@ function T8Insert($data) VALUES(:ProjectId,:ProjectName,'C0',:CreateTime,:CreatorId,1)"; $stmt = $connT8->prepare($sql); $stmt->bindParam(':ProjectId', $contractno); - $stmt->bindParam(':ProjectName', $customer); + $stmt->bindParam(':ProjectName', $partyA); $stmt->bindParam(':CreateTime', $createTime); $stmt->bindParam(':CreatorId', $user_id); $stmt->execute(); } -} + $sql = "SELECT * FROM salSalesOrder WHERE BillNo = :BillNo"; + $stmt = $connT8->prepare($sql); + $stmt->bindParam(':BillNo', $contractno); + $contractT8 = $stmt->fetch(PDO::FETCH_ASSOC); + if (empty($contractT8)) { + foreach ($elevators as $index => $elevator) { -function BounsCount($data, $conn) -{ - // echo '
';
-  // print_r($data);
-  // echo '
'; - // exit; - require_once("../../bonus/elevator_new/elevator_new_deal_bonus.php"); - $signing_date = $data['signing_date']; - $bonus_v1_0_date = '2024-01-02'; - $bonus_v2_0_date = '2024-01-03'; - $contractType = [ - '1' => 'strategy_customer', - '2' => 'general_customer' - ]; - $contract_type = $data['contract_type']; + $count = 1; + // 產品集成維護 + $facility_no = $facilityno[$index]; + $MaterialName = "$partyA($facility_no)"; + $contract_arrival_a = $elevator['contract_arrival_date']; - $type = $contractType[$contract_type]; //戰略客戶 or 一般客戶 - $elevator_knockdown_price = $data['price_total']; //受價總額 + $sql = "SELECT * FROM comMaterial WHERE MaterialId = '$facility_no'"; + $stmt = $connT8->prepare($sql); + $stmt->execute(); + $MaterialisIt = $stmt->fetch(PDO::FETCH_ASSOC); + if (empty($MaterialisIt)) { + $sql = "INSERT INTO comMaterial + (FOrgid,MaterialId,MaterialTypeId,MaterialCategoryId,CreatorId,CreateTime,IsInUsed) + VALUES ('1000',:MaterialId,'10','A',:CreatorId,:CreateTime,1)"; + $stmt = $connT8->prepare($sql); + $stmt->bindParam(':MaterialId', $facility_no); + $stmt->bindParam(':CreatorId', $user_id); + $stmt->bindParam(':CreateTime', $createTime); + $stmt->execute(); + $sql = "INSERT INTO comMaterialGroup + (MaterialTypeId,MaterialId,MaterialName,MaterialCategoryId,IsInUsed,UnitId,CreatorId,CreateTime) + VALUES ('10',:MaterialId,:MaterialName,'A',1,'SET',:CreatorId,:CreateTime)"; + $stmt = $connT8->prepare($sql); + $stmt->bindParam(':MaterialId', $facility_no); + $stmt->bindParam(':MaterialName', $MaterialName); + $stmt->bindParam(':CreatorId', $user_id); + $stmt->bindParam(':CreateTime', $createTime); + $stmt->execute(); - $salesman = $data['salesman']; - $manager = $data['manager']; - - $result_bonus = []; - if ($signing_date <= $bonus_v1_0_date) { - $ver = '1.0'; - $result_bonus = elevator_new_deal_bonus_v1_0($ver, $type, $elevator_knockdown_price, $salesman, $manager); - } else if ($signing_date >= $bonus_v2_0_date) { - $ver = '2.0'; - // $result_bonus = elevator_new_deal_bonus_v2_0($ver,$contract_type,); + $sql = "INSERT INTO comMaterialPurchases + (Orgid,MaterialTypeId,MaterialId,CurrId,SUnitId,TaxId,CreatorId,CreateTime) + VALUES ('1000','10',:MaterialId,'TWD','SET','ST005',:CreatorId,:CreateTime)"; + $stmt = $connT8->prepare($sql); + $stmt->bindParam(':MaterialId', $facility_no); + $stmt->bindParam(':CreatorId', $user_id); + $stmt->bindParam(':CreateTime', $createTime); + $stmt->execute(); + + $sql = "INSERT INTO plsMaterialPlanData + (PlanRangeId,MaterialId,FOrgId,MaterialTypeId,CreatorId,CreateTime,DefaultDemandOrg) VALUES + (1000,:MaterialId,1000,10,:CreatorId,:CreateTime,1000) + "; + $stmt = $connT8->prepare($sql); + $stmt->bindParam(':MaterialId', $facility_no); + $stmt->bindParam(':CreatorId', $user_id); + $stmt->bindParam(':CreateTime', $createTime); + $stmt->execute(); + + $sql = "INSERT INTO comMaterialSales + (OrgId,MAterialTypeId,MaterialId,CurrId,SUnitId,SupplyOrgId,CreatorId,CreateTime,IsInUsed) VALUES + (1000,10,:MaterialId,'TWD','SET',1000,:CreatorId,:CreateTime,1) + "; + $stmt = $connT8->prepare($sql); + $stmt->bindParam(':MaterialId', $facility_no); + $stmt->bindParam(':CreatorId', $user_id); + $stmt->bindParam(':CreateTime', $createTime); + $stmt->execute(); + } + // 階段收款資訊 + $salOrderStagePay_row = []; + $equipment_total = 0; + $install_total = 0; + $equipment_total = $pay_arr['equipment_total']; + $install_total = $pay_arr['install_total']; + $count_a = 0; + $count_month = 1; + foreach ($pay_arr['elevotor_pay_detail'] as $key => $detail) { + if ($detail['kind'] == 3) { + $PlanPayDate = $contract_arrival_a; + } else if ($detail['kind'] > 3) { + $PlanPayDate = date("Y-m-d", strtotime($contract_arrival_a . '+' . $count_month . ' month')); + $count_month++; + } else { + $PlanPayDate = $signing_date; + $count_a++; + if ($count_a == 1) { + $PlanPayDate = date("Y-m-d", strtotime($signing_date . '+' . $count_a . ' month')); + } + } + + $contract_arrival_date = intval(str_replace("-", '', $PlanPayDate)); //貨到工地日 + + $PayStage = $pay_kind[$detail['kind']]; + $PlanPercentage = intval($detail['pay_scale']) / 100; + $rows = [ + "PayStage" => "$PayStage", //收款階段 + "PlanPercentage" => $PlanPercentage, //計劃收款比例(%) + "PlanPayAmt" => $detail['amount'], //計劃收款金額 + "PlanPayDate" => $contract_arrival_date, //計劃收款日期 1.第一筆都是簽約日 + "BillNo" => "$contractno", + "RowCode" => $key + 1, + "RowNo" => $key + 1, + "UnWriteOffOAmount" => $detail['amount'] //未核銷金額 + ]; + $salOrderStagePay_row[] = $rows; + } + + // 設備 + $row1 = [ + "TaxId" => "ST005", + "RequirementDate" => $signing_date, //出貨日期 + "ConsignmentDate" => $signing_date, //發貨日期 + "BillNo" => "$contractno", //合約號 + "RowCode" => $count, //全部筆數排列 + "ItemType" => 1, + "MaterialId" => "A40001", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) + "SUnitId" => "SET", + "SQuantity" => 1, //交易數量 + "SPrice" => $equipment_total, //交易價格 + "CU_MaterialId" => $facility_no + ]; + $count++; + // 安裝 + $row2 = [ + "TaxId" => "ST005", + "RequirementDate" => $signing_date, //出貨日期 + "ConsignmentDate" => $signing_date, //發貨日期 + "BillNo" => "$contractno", //合約號 + "RowCode" => $count, //全部筆數排列 + "ItemType" => 1, + "MaterialId" => "A40008", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) + "SUnitId" => "SET", + "SQuantity" => 1, //交易數量 + "SPrice" => $install_total, //交易價格 + "CU_MaterialId" => $facility_no + ]; + $count++; + // 產品(作番) + $row3 = [ + "TaxId" => "ST005", + "RequirementDate" => $signing_date, //出貨日期 + "ConsignmentDate" => $signing_date, //發貨日期 + "BillNo" => "$contractno", //合約號 + "RowCode" => $count, //全部筆數排列 + "ItemType" => 0, + "MaterialId" => "$facility_no", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) + "SUnitId" => "SET", + "SQuantity" => 1, //交易數量 + "SPrice" => 0, //交易價格 + "CU_MaterialId" => $facility_no // 歸屬作番號 + ]; + $count++; + $SubOrder_row[] = $row1; + $SubOrder_row[] = $row2; + $SubOrder_row[] = $row3; + $count++; + } + $MainSalesOrder_row = [ + "BillNo" => "$contractno", //合約單號 + "BillDate" => $signing_date, //簽約日期 + "TypeId" => "SO", // + "FOrgId" => "1000", + "OrgId" => "1000", + "ModeId" => "M", // T汰改 M新梯 + "BizPartnerId" => "$contractno", //客戶代碼 + "CurrId" => "TWD", + "CurrOAmount" => 1, + "CurrLAmount" => 1, + "PersonId" => "$salesman", //業務人員 + "DueToId" => "$contractno", //債務方 + "TradeConditionId" => "", + "TaxId" => "ST005", + "CreditorCompId" => "1001", + "CreditorOrgId" => "1000", + "CreatorId" => "$user_id" + // "CompId" => "1001", + // "CreditorCurrOAmount" => 1, + // "CreditorCurrLAmount" => 1 + ]; + $MainSalesOrder = [ + "name" => "MainSalesOrder", + 'rows' => [$MainSalesOrder_row] + ]; + $SubOrder = [ + "name" => "SubOrder", + "rows" => $SubOrder_row + ]; + $salOrderStagePay = [ + "name" => "salOrderStagePay", + "rows" => $salOrderStagePay_row + ]; + + $API_body = []; + $API_body[] = $MainSalesOrder; + $API_body[] = $SubOrder; + $API_body[] = $salOrderStagePay; + echo "
";
+    print_r(json_encode($API_body, JSON_UNESCAPED_UNICODE));
+    echo "
"; + // $api_url = "https://erp.masada.com.tw:780/twWebAPI/V1/SALSALESORDER/PostERPData"; + // $api_url = "http://127.0.0.1:880/twWebAPI/V1/SALSALESORDER/PostERPData"; + $api_url = 'http://10.10.145.2:880/twWebAPI/V1/SALSALESORDER/PostERPData'; + + $result = T8salIncomeApply($API_body, $api_url); + echo "
";
+    print_r($result);
+    echo "
"; + if (!empty($result) && ($result['Status'] == 'Fails' || $result['Status'] == 'Error')) { + echo $result['ErrorMsg']; + } + } else { + echo '資料已新增過,請洽資訊人員'; + // exit(); } + $connT8->commit(); + // } catch (PDOException $e) { + // $connT8->rollback(); + // header("HTTP/1.1 500 Internal Server Error"); + // die('Error!:' . $e->getMessage()); + // } +} - echo '
';
-  print_r($result_bonus);
-  echo '
'; - exit(); + +function BounsCount($data, $conn, $facilityno) +{ try { + require_once("../../bonus/elevator_new/elevator_new_deal_bonus.php"); + $dailyNecessities = [ + 'MAE100' => 'passenger', //小機房 + 'MAM200' => 'passenger', //無機房 + 'MAH100' => 'dumbwaiter', //小電梯 + 'MAQ100' => 'positive_drive', //強趨梯 + 'MAF100' => 'cargo', //貨梯 + 'MAP100' => 'flatbase', // 平台踢 + ]; + $contractType = [ + '1' => 'strategy_customer', + '2' => 'general_customer' + ]; + $signing_date = $data['signing_date']; + $bonus_v1_0_date = '2024-01-02'; + $bonus_v2_0_date = '2024-01-03'; + $contract_type = $data['contract_type']; + $total = $data['price_total']; + $type = $contractType[$contract_type]; //戰略客戶 or 一般客戶 + // $elevator_knockdown_price = $data['price_total']; //受價總額 + $elevators = json_decode($data['elevators_detail_arr'], true); + $contract_no = $data['contractno']; + $salesman = $data['salesman']; + $manager = $data['manager']; + $contract_kind = 1; + $create_id = $data['user_id']; + $create_at = date("Y-m-d H:i:s"); + $status = 1; + + + + + + $result_bonus = []; + $result_bonus_arr = []; + if ($signing_date <= $bonus_v1_0_date) { + $ver = '1.0'; + foreach ($elevators as $key => $elevator) { + + $elevator_knockdown_price = $elevator['elevator_price']; // 單台電梯售價 + $elevator_list_price = $elevator['option_other_price'] + $elevator['option_price'] + $elevator['elevator_price']; //牌價 + $result_bonus = elevator_new_deal_bonus_v1_0($ver, $type, $elevator_knockdown_price, $salesman, $manager); + $facility_no = $facilityno[$key]; + $bonus_json = [ + 'contract_type' => $type, + 'total' => $elevator_list_price, + 'fee_per_st' => $elevator_knockdown_price + ]; + if (!empty($result_bonus)) { + if ($result_bonus['result_status'] != "error") { + foreach ($result_bonus['bonus_array'] as $i => $result) { + $bonus_type = explode('-', $result['bonus_type']); + $pay_man_type = $bonus_type[0]; //發放類別 + $bonus_kind = $bonus_type[1]; + $amount = $result['bonus_amount']; //獎金水庫 + $bonus_receiver = $result['bonus_receiver']; //發放人員 + $bonus_json['payment_schedul_due'] = $result['payment_schedul_due']; + $bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation']; + $bonus_json['bonus_kind'] = $bonus_kind; + $a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE); + $sql = "INSERT INTO bonus + (bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES + ($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at') + "; + $stmt = $conn->prepare($sql); + $stmt->execute(); + } + $request = [ + "status" => "1", + "data" => "Success" + ]; + return $request; + } + $request = [ + "status" => "2", + "data" => "create_bonus_error" + ]; + return $request; + } + } + } else if ($signing_date >= $bonus_v2_0_date) { + $ver = '2.0'; + foreach ($elevators as $key => $elevator) { + $option_other_price = !empty($elevator['option_other_price']) ? intval($elevator['option_other_price']) : 0; + $elevator_type = $dailyNecessities[$elevator['spec']]; + $elevator_list_price = $option_other_price + $elevator['option_price'] + $elevator['elevator_price']; + $elevator_knockdown_price = $elevator['elevator_price']; + $commission_fee = $elevator['commission_fee']; + $result_bonus = elevator_new_deal_bonus_v2_0( + $ver, + $type, + $elevator_type, + $elevator_list_price, + $elevator_knockdown_price, + $salesman, + $manager + ); + $facility_no = $facilityno[$key]; + $bonus_json = [ + 'contract_type' => $type, + 'total' => $elevator_list_price, + 'fee_per_st' => $elevator_knockdown_price + ]; + if (!empty($result_bonus)) { + if ($result_bonus['result_status'] != "error") { + foreach ($result_bonus['bonus_array'] as $i => $result) { + $bonus_type = explode('-', $result['bonus_type']); + $pay_man_type = $bonus_type[0]; //發放類別 + $bonus_kind = $bonus_type[1]; + $amount = $result['bonus_amount']; //獎金水庫 + $bonus_receiver = $result['bonus_receiver']; //發放人員 + $bonus_json['payment_schedul_due'] = $result['payment_schedul_due']; + $bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation']; + $bonus_json['bonus_kind'] = $bonus_kind; + $a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE); + $sql = "INSERT INTO bonus + (bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES + ($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at') + "; + $stmt = $conn->prepare($sql); + $stmt->execute(); + } + } + $request = [ + "status" => "1", + "data" => "Success" + ]; + } else { + $request = [ + "status" => "2", + "data" => "create_bonus_error" + ]; + } + } + } + return $request; } catch (PDOException $e) { header("HTTP/1.1 500 Internal Server Error"); die('Error!:' . $e->getMessage()); } } + +function do_wws_assign1($user_id, $form_id, $flow_code, $conn) +{ + $tds = date("Y-m-d H:i:s"); + + $sql = "select appwms.nextval('form_key') form_key"; + $stmt = $conn->prepare($sql); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + $form_key = $result['form_key']; + + $sql = "INSERT INTO flow (system_id, flow_id, form_key, form_id,flow_code) VALUES ('wws', 'wws01', '$form_key', '$form_id','$flow_code');"; + $stmt = $conn->prepare($sql); + $stmt->execute(); + + $sql = "INSERT INTO subflow (form_key, seq, current_assigner, create_date) VALUES ('$form_key', '1', '$user_id', '$tds');"; + $stmt = $conn->prepare($sql); + $stmt->execute(); +} diff --git a/wms/contract/api/test copy.json b/wms/contract/api/test copy.json new file mode 100644 index 00000000..cb1ba7c7 --- /dev/null +++ b/wms/contract/api/test copy.json @@ -0,0 +1,115 @@ +[ + { + "name": "MainSalesOrder", + "rows": [ + { + "BillNo": "M24020076", + "BillDate": 20240320, + "TypeId": "SO", + "FOrgId": "1000", + "OrgId": "1000", + "ModeId": "M", + "BizPartnerId": "M24020076", + "CurrId": "TWD", + "CurrOAmount": 1, + "CurrLAmount": 1, + "PersonId": "M0073", + "DueToId": "M24020076", + "TradeConditionId": "", + "TaxId": "ST005", + "CreditorCompId": "1001", + "CreditorOrgId": "1000", + "CreatorId": "M0225" + } + ] + }, + { + "name": "SubOrder", + "rows": [ + { + "TaxId": "ST005", + "RequirementDate": 20240320, + "ConsignmentDate": 20240320, + "BillNo": "M24020076", + "RowCode": 1, + "ItemType": 1, + "MaterialId": "A40001", + "SUnitId": "SET", + "SQuantity": 1, + "SPrice": 910000, + "CU_MaterialId": "4MW00001" + }, + { + "TaxId": "ST005", + "RequirementDate": 20240320, + "ConsignmentDate": 20240320, + "BillNo": "M24020076", + "RowCode": 2, + "ItemType": 1, + "MaterialId": "A40008", + "SUnitId": "SET", + "SQuantity": 1, + "SPrice": 390000, + "CU_MaterialId": "4MW00001" + }, + { + "TaxId": "ST005", + "RequirementDate": 20240320, + "ConsignmentDate": 20240320, + "BillNo": "M24020076", + "RowCode": 3, + "ItemType": 0, + "MaterialId": "4MW00001", + "SUnitId": "SET", + "SQuantity": 1, + "SPrice": 0, + "CU_MaterialId": "4MW00001" + } + ] + }, + { + "name": "salOrderStagePay", + "rows": [ + { + "PayStage": "簽約", + "PlanPercentage": 0.2, + "PlanPayAmt": 260000, + "PlanPayDate": 20240420, + "BillNo": "M24020076", + "RowCode": 1, + "RowNo": 1, + "UnWriteOffOAmount": 260000 + }, + { + "PayStage": "貨抵工地", + "PlanPercentage": 0.5, + "PlanPayAmt": 650000, + "PlanPayDate": 20241220, + "BillNo": "M24020076", + "RowCode": 2, + "RowNo": 2, + "UnWriteOffOAmount": 650000 + }, + { + "PayStage": "試車完工", + "PlanPercentage": 0.2, + "PlanPayAmt": 260000, + "PlanPayDate": 20250120, + "BillNo": "M24020076", + "RowCode": 3, + "RowNo": 3, + "UnWriteOffOAmount": 260000 + }, + { + "PayStage": "交車", + "PlanPercentage": 0.1, + "PlanPayAmt": 130000, + "PlanPayDate": 20250220, + "BillNo": "M24020076", + "RowCode": 4, + "RowNo": 4, + "UnWriteOffOAmount": 130000 + } + ] + } +] \ No newline at end of file diff --git a/wms/contract/api/test.json b/wms/contract/api/test.json index 04729705..da130a89 100644 --- a/wms/contract/api/test.json +++ b/wms/contract/api/test.json @@ -1,185 +1,66 @@ [ { - "name": "salIncomeApplyMaster", + //salSalesOrder + "name": "MainSalesOrder", "rows": [ { - "BillNo": "B23100060", - "BillDate": "20240122", - "OrgId": "1000", + "BillNo": "Z001", //合約單號 + "BillDate": 20210420, //簽約日期 + "TypeId": "SO", // "FOrgId": "1000", - "TypeId": "RAS", - "BpOrgId": "1000", - "BizPartnerId": "B23100060", + "OrgId": "1000", + "ModeId": "T", // T汰改 M新梯 + "BizPartnerId": "M0225", //創建人ID "CurrId": "TWD", "CurrOAmount": 1, "CurrLAmount": 1, - "PersonId": "M0065", - "DtOrgId": "1000", - "DueToId": "B23100060", + "PersonId": "M0225", //業務人員 + "DueToId": "512", //業務部門 + "TradeConditionId": "", "TaxId": "ST005", - "CompId": "1001", - "CreatorId": "M0225" + "CreditorCompId": "1000", + "CreditorOrgId": "1000", + "CreditorCurrOAmount": 1, + "CreditorCurrLAmount": 1, + "CompId": "1000" } ] }, { - "name": "salIncomeApplyDetail", + // salSalesOrderDetail + "name": "SubOrder", "rows": [ { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 1, - "RowNo": 1, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 2, - "RowNo": 2, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 3, - "RowNo": 3, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 4, - "RowNo": 4, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 5, - "RowNo": 5, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 6, - "RowNo": 6, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", + "SupplyCompId": "1001", + "SupplyOrgId": "1000", "TaxId": "ST005", - "RowCode": 7, - "RowNo": 7, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 8, - "RowNo": 8, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 9, - "RowNo": 9, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 10, - "RowNo": 10, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, - { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 11, - "RowNo": 11, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" - }, + "RequirementDate": 20210420, //出貨日期 + "ConsignmentDate": 20210420, //發貨日期 + "DispatchCompId": "1001", + "DispatchOrgId": "1000", + "BillNo": "Z001", //合約號 + "RowCode": 1, //全部筆數排列 + "ItemType": 0, + "MaterialId": "Z001", //作番號 + "SUnitId": "SET", + "SQuantity": 1, //交易數量 + "SPrice": 1 //交易價格 + } + ] + }, + { + //salOrderStagePay + "name": "salOrderStagePay", + "rows": [ { - "BillNo": "B23100060", - "IncomeId": "A40003", - "TaxId": "ST005", - "RowCode": 12, - "RowNo": 12, - "ItemType": 1, - "SPrice": 1250, - "SQuantity": 1, - "ProjectId": "B23100060", - "FromSourceTag": 0, - "CU_MaterialId": "4TH53801" + "BillNo": "", + "RowCode": "", + "RowNo": "", + "PayStage": "ST003", //收款階段 + "PlanPercentage": "Z001", //計劃收款比例(%) + "PlanPayAmt": 1, //計劃收款金額 + "PlanPayDate": 1, //計劃收款日期 1.第一筆都是簽約日 + "UnWriteOffOAmount": 1 //未核銷金額 } ] } diff --git a/wms/contract/api/testT8API.php b/wms/contract/api/testT8API.php index 9512cbc8..a77acf8b 100644 --- a/wms/contract/api/testT8API.php +++ b/wms/contract/api/testT8API.php @@ -1,36 +1,258 @@ - - - 地址轉經緯度 - - - - -

輸入地址以獲取經緯度

-
- - -
-
- - - \ No newline at end of file + +// { +// "BillNo": "Z001", //合約單號 +// "BillDate": 20210420, //簽約日期 +// "TypeId": "SO", // +// "FOrgId": "1000", +// "OrgId": "1000", +// "ModeId": "T", // T汰改 M新梯 +// "BizPartnerId": "M0225", //創建人ID +// "CurrId": "TWD", +// "CurrOAmount": 1, +// "CurrLAmount": 1, +// "PersonId": "M0225", //業務人員 +// "DueToId": "512", //業務部門 +// "TradeConditionId": "", +// "TaxId": "ST005", +// "CreditorCompId": "1000", +// "CreditorOrgId": "1000", +// "CreditorCurrOAmount": 1, +// "CreditorCurrLAmount": 1, +// "CompId": "1000" +// } +// ] +// }, +// { +// //salSalesOrderDetail +// "name": "SubOrder", +// "rows": [ +// { +// "SupplyCompId": "1001", +// "SupplyOrgId": "1000", +// "TaxId": "ST005", +// "RequirementDate": 20210420, //出貨日期 +// "ConsignmentDate": 20210420, //發貨日期 +// "DispatchCompId": "1001", +// "DispatchOrgId": "1000", +// "BillNo": "Z001", //合約號 +// "RowCode": 1, //全部筆數排列 +// "ItemType": 0, +// "MaterialId": "Z001", //作番號 +// "SUnitId": "SET", +// "SQuantity": 1, //交易數量 +// "SPrice": 1 //交易價格 +// } +// ] +// }, +// { +// "name": "salOrderStagePay", +// "rows": [ +// { +// "BillNo": "", +// "RowCode": "", +// "RowNo": "", +// "PayStage": "ST003", //收款階段 +// "PlanPercentage": "Z001", //計劃收款比例(%) +// "PlanPayAmt": 1, //計劃收款金額 +// "PlanPayDate": 1, //計劃收款日期 1.第一筆都是簽約日 +// "UnWriteOffOAmount": 1 //未核銷金額 +// } +// ] +// } +// ] +require_once("../../T8_Authorization_from_bpm.php"); + +$api_url = "https://erp.masada.com.tw:780/twWebAPI/V1/SALSALESORDER/PostERPData"; + +$validation = get_Auth(); +$header = [ + "CHI_Authorization :" . $validation, + "GroupId:MASADA" +]; +$url = "https://erp.masada.com.tw:780/twWebAPI/V1/GLFEEWRITEOFF/DeleteERPData?pkValue=1000,M24020076"; + +$ch = curl_init(); +curl_setopt($ch, CURLOPT_URL, $url); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); +curl_setopt($ch, CURLOPT_HTTPHEADER, $header); + +$response = curl_exec($ch); +if ($response === false) { + echo 'Curl error: ' . curl_error($ch); +} else { + $result = json_decode($response, true); + // 若 API 傳入失敗。 + if ($result['Status'] == 'Erroe') { + echo 'API傳入失敗,' . $result['ErrorMsg']; + print_r($result); + } else { + // print_r($result); + print_r($result); + } + print_r($result); +} + +curl_close($ch); +exit(); +$contract_no = "M24020003"; +// $contract_no = "M24010109"; +$MainSalesOrder_row = [ + "BillNo" => "$contract_no", //合約單號 + "BillDate" => 20210420, //簽約日期 + "TypeId" => "SO", // + "FOrgId" => "1000", + "OrgId" => "1000", + "ModeId" => "M", // T汰改 M新梯 + "BizPartnerId" => "$contract_no", //客戶代碼 + "CurrId" => "TWD", + "CurrOAmount" => 1, + "CurrLAmount" => 1, + "PersonId" => "M0177", //業務人員 + "DueToId" => "$contract_no", //債務方 + "TradeConditionId" => "", + "TaxId" => "ST005", + "CreditorCompId" => "1001", + "CreditorOrgId" => "1000", + "CreatorId" => "M0225" + +]; +// //salSalesOrderDetail +// $SubOrder_row = []; +for ($i = 0; $i < 3; $i++) { + if ($i == 0) { + $row = [ + // "SupplyCompId" => "1001", + // "SupplyOrgId" => "1000", + "TaxId" => "ST005", + "RequirementDate" => 20210420, //出貨日期 + "ConsignmentDate" => 20210420, //發貨日期 + // "DispatchCompId" => "1001", + // "DispatchOrgId" => "1000", + "BillNo" => "$contract_no", //合約號 + "RowCode" => $i, //全部筆數排列 + "ItemType" => 1, + "MaterialId" => "A40001", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) + "SUnitId" => "SET", + "SQuantity" => 1, //交易數量 + "SPrice" => 100000 //交易價格 + ]; + } + if ($i == 1) { + $row = [ + // "SupplyCompId" => "1001", + // "SupplyOrgId" => "1000", + "TaxId" => "ST005", + "RequirementDate" => 20210420, //出貨日期 + "ConsignmentDate" => 20210420, //發貨日期 + // "DispatchCompId" => "1001", + // "DispatchOrgId" => "1000", + "BillNo" => "$contract_no", //合約號 + "RowCode" => $i, //全部筆數排列 + "ItemType" => 1, + "MaterialId" => "A40008", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) + "SUnitId" => "SET", + "SQuantity" => 1, //交易數量 + "SPrice" => 650000 //交易價格 + ]; + } + if ($i == 2) { + $row = [ + "TaxId" => "ST005", + "RequirementDate" => 20210420, //出貨日期 + "ConsignmentDate" => 20210420, //發貨日期 + "BillNo" => "$contract_no", //合約號 + "RowCode" => $i, //全部筆數排列 + "ItemType" => 0, + "MaterialId" => "4MH00669", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) + "SUnitId" => "SET", + "SQuantity" => 1, //交易數量 + "SPrice" => 0 //交易價格 + ]; + } + $SubOrder_row[] = $row; +} + + +$salOrderStagePay_row = []; +$roww = [ + "PayStage" => "簽約", //收款階段 + "PlanPercentage" => 0.5, //計劃收款比例(%) + "PlanPayAmt" => 375000, //計劃收款金額 + "PlanPayDate" => 20240101, //計劃收款日期 1.第一筆都是簽約日 + "BillNo" => "$contract_no", + "RowCode" => 1, + "RowNo" => 1, + "UnWriteOffOAmount" => 375000 //未核銷金額 +]; +$roww2 = [ + "PayStage" => "貨抵工地", + "PlanPercentage" => 0.5, + "PlanPayAmt" => 375000, + "PlanPayDate" => 20240101, + "BillNo" => "$contract_no", + "RowCode" => 2, + "RowNo" => 2, + "UnWriteOffOAmount" => 375000 +]; +$salOrderStagePay_row[] = $roww; +$salOrderStagePay_row[] = $roww2; + + +$MainSalesOrder = [ + "name" => "MainSalesOrder", + 'rows' => [$MainSalesOrder_row] +]; +$SubOrder = [ + "name" => "SubOrder", + "rows" => $SubOrder_row +]; +$salOrderStagePay = [ + "name" => "salOrderStagePay", + "rows" => $salOrderStagePay_row +]; + +$APIbody = []; +$APIbody[] = $MainSalesOrder; +$APIbody[] = $SubOrder; +$APIbody[] = $salOrderStagePay; +// $data = file_get_contents('test copy.json'); +// $arr = json_decode($data, true); +// echo "
";
+// print_r($data);
+// echo "
"; + +echo "
";
+print_r(json_encode($APIbody, JSON_UNESCAPED_UNICODE));
+echo "
"; +// exit(); + +$header = [ + "CHI_Authorization :" . $validation, + "GroupId:TEST" +]; +$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); // 使用 POST +curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($APIbody, JSON_UNESCAPED_UNICODE)); +$response = curl_exec($ch); + +if ($response === false) { + echo 'Curl error: ' . curl_error($ch); +} else { + $result = json_decode($response, true); + // 若 API 傳入失敗。 + if ($result['Status'] == 'Erroe') { + echo 'API傳入失敗,' . $result['ErrorMsg']; + print_r($result); + } else { + // print_r($result); + print_r($result); + } + print_r($result); +} + +curl_close($ch); diff --git a/wms/contract/conn.php b/wms/contract/conn.php index ed80762b..bbfd1c50 100644 --- a/wms/contract/conn.php +++ b/wms/contract/conn.php @@ -34,7 +34,11 @@ try { //設定主動以警告的形式報錯 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - $connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8TEST", "M0225", "IFFBU1E="); + // $connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8TEST", "M0225", "IFFBU1E="); + // $connT8 = new PDO("sqlsrv:Server=10.10.145.2;Database=T8MASADA", "masada", "@m222222"); + $connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8MASADA", "masada", "@m222222"); + + if ($connT8) { $connT8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } diff --git a/wms/contract/contract-input.php b/wms/contract/contract-input.php index 114cea2f..92aaf7d0 100644 --- a/wms/contract/contract-input.php +++ b/wms/contract/contract-input.php @@ -57,8 +57,10 @@ $contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC);

業務確認項

- - + + @@ -111,7 +113,7 @@ $contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC); 契約成交價 - +

未填寫

@@ -201,7 +203,18 @@ $contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC); - + + 合約類別 + + + + + 獎金適用版本 - + + 作番契約金額(月) + - 作番契約金額(月) - - - 牌價(標準價) + 服務費 - -

標準價+Option價格+與其他電梯共同分擔的費用貨價格

+ - 服務費 + 牌價(標準價) - + +

標準價+Option價格+與其他電梯共同分擔的費用貨價格

- 折扣率(%) - - - 地區處長員工號 - + 專任契約經理員工號 + + @@ -439,4 +458,5 @@ $contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC); \ No newline at end of file diff --git a/wms/contract/contract-new-apply.php b/wms/contract/contract-new-apply.php index 74153c28..ae5ba7f2 100644 --- a/wms/contract/contract-new-apply.php +++ b/wms/contract/contract-new-apply.php @@ -1,13 +1,45 @@ alert('非法訪問!!!');"; echo ""; exit; } -$id = $_GET["id"]; +$id = null; +if(isset($_GET['id'])){ + $id = $_GET["id"]; +} +$form_key = null; +if(isset($_GET['form_key'])){ + $form_key = $_GET['form_key']; +} + +if($form_key != null){ + $sql_str = "SELECT form_id FROM flow WHERE system_id = 'cta' AND flow_id = 'cta01' AND form_key = :form_key"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':form_key', $form_key); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + $id = $result['form_id']; +} + +if(!$id){ + $para = "function_name=pricereview&" . $token_link; + echo ""; + echo ""; + exit; +} + +$sql_str = "SELECT form_key FROM flow WHERE system_id = 'cta' AND flow_id = 'cta01' AND form_id = :id"; +$stmt = $conn->prepare($sql_str); +$stmt->bindParam(':id', $id); +$stmt->execute(); +$result = $stmt->fetch(PDO::FETCH_ASSOC); +if($result){ + $form_key = $result['form_key']; +} $sql_str = "SELECT contract_new_apply.*, person_account.name AS review_person_name, person_final_account.name AS review_final_person_name FROM contract_new_apply @@ -439,7 +471,13 @@ $para = "function_name=pricereview&" . $token_link; 第二期款交貨期限(日) - +

未填寫

@@ -513,8 +551,8 @@ $para = "function_name=pricereview&" . $token_link; - - 業務承辦人 + + 業務部審核 = 2) : ?>已同意 @@ -525,15 +563,15 @@ $para = "function_name=pricereview&" . $token_link; - 業務部協理 + 業務部審核 結案同意 結案不同意 --- - - + + ">下載 + + + + + diff --git a/wms/mkt/pricereviewCreate.php b/wms/mkt/pricereviewCreate.php index 921de714..72d58e0e 100644 --- a/wms/mkt/pricereviewCreate.php +++ b/wms/mkt/pricereviewCreate.php @@ -49,12 +49,11 @@ $hope_status = [ $sql_str = "SELECT hope_elevator_customer.*, code.content AS source_content, account.name AS salesman_name FROM hope_elevator_customer LEFT JOIN code ON code.code_name = hope_elevator_customer.source LEFT JOIN account ON account.accountid = hope_elevator_customer.salesman - WHERE hope_elevator_customer.vol_no = :vol_no AND code.field_name = 'customer_source'"; + WHERE hope_elevator_customer.vol_no = :vol_no "; $stmt = $conn->prepare($sql_str); $stmt->bindParam(':vol_no', $vol_no); $stmt->execute(); $hope_customer = $stmt->fetch(PDO::FETCH_ASSOC); - if($user_id !== $hope_customer['salesman'] && $user_id !== "M0174"){ echo ""; exit; @@ -491,11 +490,6 @@ function convertDateTimeFormat($dateTimeStr) { - - - - - 請選擇規格 diff --git a/wms/mkt/window-modal/demolishToElevatorModal.php b/wms/mkt/window-modal/demolishToElevatorModal.php index da7e3974..3970c026 100644 --- a/wms/mkt/window-modal/demolishToElevatorModal.php +++ b/wms/mkt/window-modal/demolishToElevatorModal.php @@ -12,7 +12,7 @@ 規格 選擇 -