diff --git a/wms/account-receivable-new-index.php b/wms/account-receivable-new-index.php index 85b6554b..a18c789b 100644 --- a/wms/account-receivable-new-index.php +++ b/wms/account-receivable-new-index.php @@ -305,7 +305,7 @@ foreach ($query_wip as $wip) { $arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['real_arrival_date'] . "貨抵工地) ; "; } elseif ($wip['real_contract_arrival_date'] != NULL && $wip['real_contract_arrival_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['real_contract_arrival_date'])) { $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['real_contract_arrival_date'] . "預計出貨"; - $arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" .date('Y-m-d',strtotime($wip['real_contract_arrival_date'])) . "預計出貨) ; "; + $arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . date('Y-m-d', strtotime($wip['real_contract_arrival_date'])) . "預計出貨) ; "; } elseif ($wip['estimated_shipping_date'] != NULL && $wip['estimated_shipping_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['estimated_shipping_date'])) { $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['estimated_shipping_date'] . "預計出港"; $arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['estimated_shipping_date'] . "預計出港) ; "; @@ -788,16 +788,18 @@ foreach ($arrayData as $key => &$value) { $excel_contract_array[$key][20] = (isset($value['facility_status']) && !is_null($value['facility_status'])) ? $value['facility_status'] : '--'; $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 ($excel_contract_array[$key][17] > 1 && isset($value['PayStage']) && is_iterable($value['PayStage'])) { - $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]; - $excel_contract_all_array[$key][2] = $excel_contract_array[$key][8]; - $excel_contract_all_array[$key][3] = $excel_contract_array[$key][11]; - $excel_contract_all_array[$key][4] = $excel_contract_array[$key][19]; - $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]; + if (isset($value['PayStage']) && is_iterable($value['PayStage'])) { + if ($excel_contract_array[$key][17] > 1) { + $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]; + $excel_contract_all_array[$key][2] = $excel_contract_array[$key][8]; + $excel_contract_all_array[$key][3] = $excel_contract_array[$key][11]; + $excel_contract_all_array[$key][4] = $excel_contract_array[$key][19]; + $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; @@ -1014,7 +1016,8 @@ foreach ($arrayData as $key => &$value) { } } } - +// print_r($arrayData['M220003']); +// exit(); $total_data = json_encode($excel_contract_all_array); $boga_data = json_encode($excel_contract_boga_array); $noboga_data = json_encode($excel_contract_noboga_array); diff --git a/wms/account-receivable-renovate-index.php b/wms/account-receivable-renovate-index.php index 1b3df449..b3b808d3 100644 --- a/wms/account-receivable-renovate-index.php +++ b/wms/account-receivable-renovate-index.php @@ -3,6 +3,10 @@ include "header.php"; $sum_facility = 0; +$sum_facility_A40002 = 0; +$sum_facility_A40009 = 0; +$sum_facility_A40010 = 0; +$sum_facility_A40019 = 0; // M1 $sum_A40002 = 0; // 設備 @@ -37,6 +41,8 @@ $receivable_array = []; // T8所有合約號 $sql_contractNumber = "SELECT MainAll.* , Person.PersonName, +Dept.LeaderId, +Leader.PersonName AS LeaderName, Dept.DeptName FROM (SELECT Main.BillNo, @@ -55,6 +61,7 @@ Main.CurrentState LEFT JOIN comBusinessPartner AS Biz ON Biz.BizPartnerId = Main.BizPartnerId) AS MainAll LEFT JOIN comGroupPerson AS Person ON MainAll.PersonId= Person.PersonId LEFT JOIN comDepartment AS Dept ON MainAll.DeptId= Dept.DeptId + LEFT JOIN comGroupPerson AS Leader ON Dept.LeaderId = Leader.PersonId WHERE MainAll.ModeId = 'T' AND (MainAll.CurrentState=2 OR MainAll.CurrentState=4) "; if (!is_null($start_date)) { @@ -67,7 +74,7 @@ if (!is_null($end_date)) { } if ((in_array($user_id, array('M0060', 'M0175'))) || (in_array(accountidToDepartId($user_id), array('220', '210', '321')))) { } else { - $sql_contractNumber .= " AND (MainAll.PersonId = '$user_id'"; + $sql_contractNumber .= " AND (Leader.PersonId = '$user_id' OR MainAll.PersonId = '$user_id'"; if (count($follower) > 0) { $column_str = "('$user_id'" . ",'"; $column_str .= implode("','", $follower); @@ -199,10 +206,15 @@ FROM department ON d.department_id = tmp2.department_id"; //T8 銷售訂單 階段收款計畫 -$sql_contract = "SELECT a.BillNo,s.BillDate, a.RowNo, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId, s.DeptId, s.DeptName, +$sql_contract = "SELECT a.BillNo,s.BillDate, a.RowNo, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId, +Person.PersonName, + s.DeptId, s.DeptName, Leader.PersonId AS ManagerId, +Leader.PersonName AS ManagerName, c.EnterpriseName, c.TaxNo, c.ContactAddress FROM salOrderStagePay AS a -LEFT JOIN (SELECT O.*, DE.DeptName FROM salSalesOrder AS O LEFT JOIN comDepartment AS DE ON O.DeptId=DE.DeptId) AS s on a.BillNo = s.BillNo -LEFT JOIN comBusinessPartner AS c ON s.BizPartnerId=c.BizPartnerId "; +LEFT JOIN (SELECT O.*, DE.DeptName, DE.LeaderId FROM salSalesOrder AS O LEFT JOIN comDepartment AS DE ON O.DeptId=DE.DeptId) AS s on a.BillNo = s.BillNo +LEFT JOIN comBusinessPartner AS c ON s.BizPartnerId=c.BizPartnerId +LEFT JOIN comGroupPerson AS Person ON s.PersonId = Person.PersonId +LEFT JOIN comGroupPerson AS Leader ON s.LeaderId = Leader.PersonId "; // if (isset($str_numbers)) { // $sql_contract .= "WHERE s.BillNo IN $str_numbers "; // } @@ -231,6 +243,8 @@ foreach ($contract as $cont) { $ContactAddress = $cont['ContactAddress']; $RowNo = $cont['RowNo']; $salesId = $cont['PersonId']; + $managerId = $cont['ManagerId']; + $managerName = $cont['ManagerName']; if (!in_array($salesId, $manager_list)) { array_push($manager_list, $salesId); } @@ -252,6 +266,9 @@ foreach ($contract as $cont) { $arrayData[$BillNo][8] = $ContactAddress; $arrayData[$BillNo][9] = $BillDate; $arrayData[$BillNo][10] = $BillNo; + $arrayData[$BillNo]['salesName'] = $cont['PersonName']; + $arrayData[$BillNo]['ManagerId'] = $managerId; + $arrayData[$BillNo]['ManagerName'] = $managerName; $arrayData[$BillNo]['total_budget'] = 0; $arrayData[$BillNo]['invoice'] = array(); $arrayData[$BillNo]['received_budget'] = 0; @@ -295,6 +312,26 @@ $contract_budget = array(); foreach ($contract_budget_data as $cont) { $BillNo = $cont['BillNo']; if (isset($arrayData[$BillNo])) { + $sum_total_budget += $cont['OAmountWithTax']; + switch ($cont['MaterialId']) { + case 'A40002': + $sum_A40002 += $cont['OAmountWithTax']; + $sum_facility_A40002 +=1; + break; + case 'A40009': + $sum_A40009 += $cont['OAmountWithTax']; + $sum_facility_A40009 +=1; + break; + case 'A40010': + $sum_A40010 += $cont['OAmountWithTax']; + $sum_facility_A40010 +=1; + break; + case 'A40019': + $sum_A40019 += $cont['OAmountWithTax']; + $sum_facility_A40019 +=1; + break; + } + $salesid = $arrayData[$BillNo][3]; if (isset($find_manager[$salesid])) { $arrayData[$BillNo][2] = $find_manager[$salesid]['manager_name']; @@ -307,6 +344,7 @@ foreach ($contract_budget_data as $cont) { $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['total_budget'] += $cont['OAmountWithTax']; $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']][$cont['MaterialId']] += $cont['OAmountWithTax']; } else { + $sum_facility += 1; $arrayData[$BillNo]['total_facility_num'] += 1; $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['total_budget'] = $cont['OAmountWithTax']; $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['A40002'] = $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['A40009'] = $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['A40010'] = $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['A40019'] = 0; @@ -593,6 +631,7 @@ foreach ($received_array as $received) { $arrayData[$BillNo]['received_budget'] += $received['CurrStandOffOAmount']; // array_push($arrayData[$BillNo]['invoice'][$received['InvoiceNo']], date($received['ReceivedDate']), $received['PayWriteOffOAmount'], $received['Fee'], $received['BillNo']); // } + } } //未在T8的收款資料 @@ -651,6 +690,16 @@ $today = strtotime(date('Ymt')); foreach ($arrayData as $key => $value) { if (isset($final_paystage[$key])) { for ($sequence = 1; $sequence <= count($final_paystage[$key]); $sequence++) { + if(!is_null($value['ManagerId']) && $value['ManagerId'] !==''){ + $managerId = $value['ManagerId']; + }else{ + $managerId = $value[11]; + } + if(!is_null($value['ManagerName']) && $value['ManagerName'] !==''){ + $managerName = $value['ManagerName']; + }else{ + $managerName = $value[2]; + } $value[4] = (isset($value[4]) && !empty($value[4])) ? $value[4] : '--'; $value[5] = (isset($value[5]) && !empty($value[5])) ? $value[5] : '--'; $value[6] = (isset($value[6]) && !empty($value[6])) ? $value[6] : '--'; @@ -673,7 +722,7 @@ foreach ($arrayData as $key => $value) { } if ($havetopay == "V" && $unReceivedAmount > 1) { $print_array[$keyname] = [ - $value[10], $thisPayStage['facilityno'], $value[0], $value[1], $value[11], $value[2], $value[3], $value[4], $value[5], $value[6], $value[7], $value[8], + $value[10], $thisPayStage['facilityno'], $value[0], $value[1], $value[11], $value['ManagerName'], $value[3], $value[4], $value[5], $value[6], $value[7], $value[8], $thisPayStage['name'], $thisPayStage['PlanPayDate'], $havetopay, number_format(round($final_paystage[$key][$sequence]['PayAmount'])), number_format(round($final_paystage[$key][$sequence]['InvoiceAmount'])), number_format(round($unInvoiceAmount)), @@ -683,7 +732,7 @@ foreach ($arrayData as $key => $value) { ]; } $excel_aray[$keyname] = [ - $value[10], $thisPayStage['facilityno'], $value[0], $value[1], $value[11], $value[2], $value[3], $value[4], $value[5], $value[6], $value[7], $value[8], + $value[10], $thisPayStage['facilityno'], $value[0], $value[1], $managerId, $managerName, $value[3], $value[4], $value[5], $value[6], $value[7], $value[8], $thisPayStage['name'], $thisPayStage['PlanPayDate'], $havetopay, number_format(round($final_paystage[$key][$sequence]['PayAmount'])), number_format(round($final_paystage[$key][$sequence]['InvoiceAmount'])), number_format(round($unInvoiceAmount)), @@ -695,6 +744,11 @@ foreach ($arrayData as $key => $value) { } } $total_data = json_encode($print_array); +$average_budget = $sum_total_budget / $sum_facility; +$average_A40002 = $sum_A40002 / $sum_facility_A40002; +$average_A40009 = $sum_A40009 / $sum_facility_A40009; +$average_A40010 = $sum_A40010 / $sum_facility_A40010; +$average_A40019 = $sum_A40019 / $sum_facility_A40019; ?>