diff --git a/webht/third_party/vendorPlanSync/libraries/Tulanduo.php b/webht/third_party/vendorPlanSync/libraries/Tulanduo.php index 4ecf5e32..a05c4658 100644 --- a/webht/third_party/vendorPlanSync/libraries/Tulanduo.php +++ b/webht/third_party/vendorPlanSync/libraries/Tulanduo.php @@ -700,8 +700,11 @@ class Tulanduo $processed_cold[] = $cold->COLD_SN; $all_package = $this->ci->trippest->tour_code($cold->pag_code); $pag_info = $this->ci->BIZ_order->get_packageDetails(my_implode("'",",",$all_package), implode(",",$this->vendor_ids)); + if (strval($cold->settle) === '4') { + $fill_order['normal_' . $cold->COLD_PlanVEI_SN]["cold"][] = $cold; + } else if ($set_pvt==='1') { - $fill_order[0]["cold"][] = $cold; + $fill_order['pvt_' . $cold->COLD_PlanVEI_SN]["cold"][] = $cold; } else { $fill_order[$cold->pag_code]["cold"][] = $cold; $fill_order[$cold->pag_code]["package_info"] = $pag_info; @@ -709,14 +712,25 @@ class Tulanduo } } // 多产品PVT的合并,避免丢失产品 - $pvt_pagcode = array(); - if ($set_pvt==='1') { - foreach ($fill_order[0]['cold'] as $kcd => $vcd) { - $multi_package = $this->ci->trippest->tour_code($vcd->pag_code); - $pvt_pagcode = array_merge($pvt_pagcode, $multi_package); + // if ($set_pvt==='1') { + // foreach ($fill_order['pvt']['cold'] as $kcd => $vcd) { + // $multi_package = $this->ci->trippest->tour_code($vcd->pag_code); + // $pvt_pagcode = array_merge($pvt_pagcode, $multi_package); + // } + // $fill_order['pvt']["package_info"] = $this->ci->BIZ_order->get_packageDetails(my_implode("'",",",$pvt_pagcode), implode(",",$this->vendor_ids)); + // } + foreach ($fill_order as $key => $part) { + $pvt_pagcode = array(); + if (strpos($key, 'pvt_') ===0 || strpos($key, 'normal_')===0) { + foreach ($part['cold'] as $kcd => $vcd) { + $multi_package = $this->ci->trippest->tour_code($vcd->pag_code); + $pvt_pagcode = array_merge($pvt_pagcode, $multi_package); + } + $fill_order[$key]["package_info"] = $this->ci->BIZ_order->get_packageDetails(my_implode("'",",",$pvt_pagcode), implode(",",$this->vendor_ids)); + $multi_package = null; $pvt_pagcode=null; } - $fill_order[0]["package_info"] = $this->ci->BIZ_order->get_packageDetails(my_implode("'",",",$pvt_pagcode), implode(",",$this->vendor_ids)); } + // echo json_encode($fill_order);exit; // $fill_order = array_values($fill_order); $i=0; $take_apart = count($fill_order)>1 ? true : false; @@ -747,7 +761,7 @@ class Tulanduo } // $agcOrderNo .= "(" . $vf["cold"][0]->operator . ")"; $agcOrderNo = $vf["cold"][0]->COLI_GroupCode; - if (trim($vf["cold"][0]->COLI_PriceMemo) !== '') { + if (trim($vf["cold"][0]->COLI_PriceMemo) !== '' && '4' !== strval($vf["cold"][0]->settle)) { $agcOrderNo .= " (" . $vf["cold"][0]->COLI_PriceMemo . ")"; } $order_remark = ""; @@ -939,17 +953,31 @@ class Tulanduo } } } + $fee_index=0; + if (strval($vf['cold'][0]->settle) !== '4') { + $cold_amount = $this->ci->BIZ_order->get_cold_amount($COLD_SN_str); + if ( ! empty($cold_amount) ) { + foreach ($cold_amount as $kca => $vca) { + $this->ci->tldOrderBuilder->setTravelFeesType($fee_index, "Per Group") + ->setTravelFeesMoney($fee_index, $vca->CNY_price) + ->setTravelFeesNum($fee_index, 1) + ->setTravelFeesUnit($fee_index, 1) + ->setTravelFeesSumMoney($fee_index, $vca->CNY_price); + ++$fee_index; + } + } + } + // 拆分的订单团款录第一个 if ($i===1) { - $fee_index=0; - if ( ! empty($travel_fees) ) { - $this->ci->tldOrderBuilder->setTravelFeesType($fee_index, "Per Group") - ->setTravelFeesMoney($fee_index, $travel_fees->SUM_SSJE) - ->setTravelFeesNum($fee_index, 1) - ->setTravelFeesUnit($fee_index, 1) - ->setTravelFeesSumMoney($fee_index, $travel_fees->SUM_SSJE); - ++$fee_index; - } + // if ( ! empty($travel_fees) ) { + // $this->ci->tldOrderBuilder->setTravelFeesType($fee_index, "Per Group") + // ->setTravelFeesMoney($fee_index, $travel_fees->SUM_SSJE) + // ->setTravelFeesNum($fee_index, 1) + // ->setTravelFeesUnit($fee_index, 1) + // ->setTravelFeesSumMoney($fee_index, $travel_fees->SUM_SSJE); + // ++$fee_index; + // } if ( ! empty($replace_collections) ) { $this->ci->tldOrderBuilder->setReplaceCollectionsType(0, "Per Group") ->setReplaceCollectionsMoney(0, $replace_collections->SUM_SSJE) diff --git a/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php b/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php index 94159878..614e35de 100644 --- a/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php +++ b/webht/third_party/vendorPlanSync/models/BIZ_orders_model.php @@ -20,8 +20,10 @@ class BIZ_Orders_model extends CI_Model { (select PAG_Code from biz_packageinfo where PAG_SN=cold.COLD_ServiceSN) as pag_code, cold.COLD_ServiceSN2, cold.COLD_ServiceCity, + cold.COLD_PlanVEI_SN, gut.GUT_NationalityID, isnull(COLI_PVT, 0) is_pvt, + (select POI_QuotationType from BIZ_PackageOrderInfo where POI_COLD_SN=COLD_SN) as settle, (select opi2_name from tourmanager.dbo.operatorinfo2 where opi2_opi_sn=coli_opi_id and opi2_lgc=2) as operator, * FROM BIZ_ConfirmLineInfo coli @@ -132,6 +134,23 @@ class BIZ_Orders_model extends CI_Model { return $query->result(); } + public function get_cold_amount($COLD_SN_str) + { + $sql = "SELECT COLD_TotalPrice, dbo.GetSSJEFromSQJE( + (select top 1 GAI_Type from BIZ_GroupAccountInfo b where gai_coli_sn=cold.COLD_COLI_SN and b.DeleteFlag=0) + ,'USD',COLD_TotalPrice) as CNY_price + ,(select top 1 GAI_Type from BIZ_GroupAccountInfo b where gai_coli_sn=cold.COLD_COLI_SN and b.DeleteFlag=0) + as payment_type + -- ,cold.* + from BIZ_ConfirmLineDetail cold + where cold.COLD_SN in ($COLD_SN_str) + and not exists ( + select 1 from BIZ_PackageOrderInfo where POI_COLD_SN=cold.COLD_SN and POI_QuotationType=4 + ) "; + $query = $this->HT->query($sql); + return $query->result(); + } + /*! * 获取团计划信息的记录 - 根据地接社订单id * 计划变更和订单状态确认时使用