1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048 |
- <?php
- class Model_Dhl extends Lin_Model {
- function __construct(){
- parent::__construct();
- $this->load->database();
- $this->table = 'dhl';
- $this->load_table('dhl');
- }
- public function get_data($data)
- {
- $nd = $data;
- if($data['pay'] == 1)
- {
- $data['pay'] == 'PayPal';
- }
- else if($data['pay'] == 2)
- {
- $data['pay'] == 'Western Union';
- }
- else if($data['pay'] == 3)
- {
- $data['pay'] == '微信';
- }
- else if($data['pay'] == 4)
- {
- $data['pay'] == '支付宝';
- }
- else if($data['pay'] == 5)
- {
- $data['pay'] == '银行转账';
- }
- else if($data['pay'] == 6)
- {
- $data['pay'] == '现金收款';
- }
- else if($data['pay'] == 7)
- {
- $data['pay'] == 'PingPong金融';
- }
- $id = 'XUCHANGLONGY';
- $pass = 'dJ84as3ELr';
- //$sid = '603521441';//官方DHL
- $sid = '605062090';//官方DHL美国
- $xmend = "\n";
- $Pieces = '';
- for($i=0;$i<$data['zjs'];$i++)
- {
- $Pieces .= "<Piece>".$xmend;
- $Pieces .= "<PieceID>".($i+1)."</PieceID>".$xmend;
- $Pieces .= "<PackageType>EE</PackageType>".$xmend;
- $Pieces .= "<Weight>".$data['zzl']."</Weight>".$xmend;
- $Pieces .= "<Width>15</Width>".$xmend;
- $Pieces .= "<Height>3</Height>".$xmend;
- $Pieces .= "<Depth>5</Depth>".$xmend;
- $Pieces .= "</Piece>".$xmend;
- }
- /** 此内容是添加发票信息
- $dataadress = array();$baddress = '';$ba1 = '';$ba2 = '';
- for($i=5;$i<count($data['baddress']);$i++)
- {
- $dataadress[] = $data['baddress'][$i];
- }
-
- if(count($dataadress) > 1)
- {
- for($i=0;$i<count($dataadress);$i++)
- {
- if($i < 2)
- {
- $ba1 .= $dataadress[$i].',';
- }
- else
- {
- $ba2 .= $dataadress[$i].',';
- }
- }
- $baddress .= "<BillToAddressLine>".rtrim($ba1,',')."</BillToAddressLine>".$xmend;
- $baddress .= "<BillToAddressLine>".rtrim($ba2,',')."</BillToAddressLine>".$xmend;
- }
- else
- {
- for($i=0;$i<count($dataadress);$i++)
- {
- $ba1 .= $dataadress[$i].',';
- }
- $baddress .= "<BillToAddressLine>".rtrim($ba1,',')."</BillToAddressLine>".$xmend;
- }
- **/
- $hgbm = $data['sbbm'];
- if(isset($data['hgbm']))
- {
- if($data['hgbm'] != '')
- {
- $hgbm = $data['hgbm'];
- }
- }
- $xml = "";
- $xml .= "<?xml version='1.0' encoding='UTF-8'?>".$xmend;
- $xml .= "<req:ShipmentRequest xsi:schemaLocation='http://www.dhl.com ship-val-global-req.xsd' schemaVersion='10.0' xmlns:req='http://www.dhl.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>".$xmend;
- $xml .= "<Request>".$xmend;
- $xml .= "<ServiceHeader>".$xmend;
- $xml .= "<MessageTime>".date('c')."</MessageTime>".$xmend;
- //$rand = (strlen($data['orderinfo']) < 15)?rand(10000000,99999999):rand(100000,999999);
- //$xml .= "<MessageReference>".time().$data['orderinfo'].$rand."</MessageReference>".$xmend;
- $xml .= "<MessageReference>".time().time().rand(10000000,99999999)."</MessageReference>".$xmend;
- $xml .= "<SiteID>".$id."</SiteID>".$xmend;//DHL账号
- $xml .= "<Password>".$pass."</Password>".$xmend;//DHL密码
- $xml .= "</ServiceHeader>".$xmend;
- $xml .= "<MetaData>".$xmend;
- $xml .= "<SoftwareName>LongYi ERP</SoftwareName>".$xmend;
- $xml .= "<SoftwareVersion>V1.0.0</SoftwareVersion>".$xmend;
- $xml .= "</MetaData>".$xmend;
- $xml .= "</Request>".$xmend;
- $xml .= "<RegionCode>AP</RegionCode>".$xmend;//地区代码
- $xml .= "<LanguageCode>en</LanguageCode>".$xmend;//语言
- ///$xml .= "<PiecesEnabled>Y</PiecesEnabled>".$xmend;
- $xml .= "<Billing>".$xmend;
- $xml .= "<ShipperAccountNumber>".$sid."</ShipperAccountNumber>".$xmend;
- $xml .= "<ShippingPaymentType>S</ShippingPaymentType>".$xmend;
- $xml .= "<BillingAccountNumber>".$sid."</BillingAccountNumber>".$xmend;
- ///$xml .= "<DutyPaymentType>R</DutyPaymentType>".$xmend;//R为收件人付关税 S发件人付关税
- $xml .= "</Billing>".$xmend;
- $xml .= "<Consignee>".$xmend;
- $xml .= "<CompanyName>".$data['name']."</CompanyName>".$xmend;//收货人名称
- /**
- if(strlen($data['address'].$data['address2']) > 44)
- {
- $adl = $data['address'].$data['address2'];
- $adl1 = substr($adl,0,44);//截取44字符前内容
- $adlnum = strripos($adl1," ");//查找最后一次出现空格位置
- $adl1 = substr($adl,0,$adlnum);//0到空格前之间的内容
- $adl2 = substr($adl,$adlnum+1,strlen($adl));//空格后到最后的内容
- $xml .= "<AddressLine1>".$adl1."</AddressLine1>".$xmend;//收货人地址1
- $xml .= "<AddressLine2>".$adl2."</AddressLine2>".$xmend;//收货人地址2
- }
- **/
- if($data['address2'])
- {
- //$adl = $data['address'].$data['address2'];
- //$adl1 = substr($adl,0,44);//截取44字符前内容
- //$adlnum = strripos($adl1," ");//查找最后一次出现空格位置
- //$adl1 = substr($adl,0,$adlnum);//0到空格前之间的内容
- //$adl2 = substr($adl,$adlnum+1,strlen($adl));//空格后到最后的内容
- $xml .= "<AddressLine1>".$data['address']."</AddressLine1>".$xmend;//收货人地址1
- $xml .= "<AddressLine2>".$data['address2']."</AddressLine2>".$xmend;//收货人地址2
- }
- else
- {
- $xml .= "<AddressLine1>".$data['address'].$data['address2']."</AddressLine1>".$xmend;//收货人地址
- }
- if($data['street'] != '')
- {
- $xml .= "<AddressLine>".$data['street']."</AddressLine>".$xmend;//收货人街道
- }
- $xml .= "<City>".$data['city']."</City>".$xmend;//城市
- if($data['lb'] == 'US')
- {
- $xml .= "<DivisionCode>".$data['province']."</DivisionCode>".$xmend;//州代码,仅美国
- }
- $xml .= "<PostalCode>".trim($data['zipcode'],' ')."</PostalCode>".$xmend;//邮编
- $xml .= "<CountryCode>".$data['lb']."</CountryCode>".$xmend;//国家代码
- $xml .= "<CountryName>".$data['country']."</CountryName>".$xmend;//国家名称
- $xml .= "<Contact>".$xmend;
- $xml .= "<PersonName>".$data['client']."</PersonName>".$xmend;//名称
- $xml .= "<PhoneNumber>".preg_replace('/\D/s','',$data['phone'])."</PhoneNumber>".$xmend;//联系方式
- //$xml .= "<Email>".$data['email']."</Email>".$xmend;//联系邮箱
- $xml .= "</Contact>".$xmend;
- $xml .= "</Consignee>".$xmend;
- $xml .= "<Commodity>".$xmend;//多商品循环此外层标签及内层标签
- $xml .= "<CommodityCode>".$hgbm."</CommodityCode>".$xmend;//商品编码
- $xml .= "<CommodityName>".$data['sbpm']."</CommodityName>".$xmend;//商品名称
- $xml .= "</Commodity>".$xmend;
- $xml .= "<Dutiable>".$xmend;
- $xml .= "<DeclaredValue>".$data['zsbjz']."</DeclaredValue>".$xmend;//申报价值
- $xml .= "<DeclaredCurrency>".$data['currencytitle']."</DeclaredCurrency>".$xmend;//货币代码
- $xml .= "<TermsOfTrade>DAP</TermsOfTrade>".$xmend;//贸易条款
- $xml .= "</Dutiable>".$xmend;
- /** 发票信息开始 **/
- $xml .= "<UseDHLInvoice>Y</UseDHLInvoice>".$xmend;
- $xml .= "<DHLInvoiceLanguageCode>en</DHLInvoiceLanguageCode>".$xmend;
- $xml .= "<DHLInvoiceType>CMI</DHLInvoiceType>".$xmend;
- $xml .= "<ExportDeclaration>".$xmend;
- $xml .= "<ExportReasonCode>P</ExportReasonCode>".$xmend;
- if(strlen($data['paypal']) > 30)
- {
- $xml .= "<InvoiceNumber>".str_replace(array('-'),array(''),$data['paypal'])."</InvoiceNumber>".$xmend;
- }
- else
- {
- $xml .= "<InvoiceNumber>".$data['paypal']."</InvoiceNumber>".$xmend;
- }
- $xml .= "<InvoiceDate>".date('Y-m-d',time())."</InvoiceDate>".$xmend;
- /**
- $xml .= "<BillToContactName>".$data['client']."</BillToContactName>".$xmend;
- $xml .= "<BillToContanctName>".$data['client']."</BillToContanctName>".$xmend;//账单名称
- $xml .= "<BillToAddressLine1><BillToAddressLine1>";//地址1
- $xml .= "<BillToAddressLine2><BillToAddressLine2>";//地址2
- $xml .= "<BillToCity>".$data['baddress'][4]."</BillToCity>".$xmend;//城市
- $xml .= "<BillToPostcode>".$data['baddress'][2]."</BillToPostcode>".$xmend;//邮编
- $xml .= "<BillToSuburb/>".$xmend;//所在郊区
- if($data['baddress'][1] == 'United States')
- {
- $xml .= "<BillToState>".$data['baddress'][3]."</BillToState>".$xmend;//省、州
- }
- $xml .= "<BillToCountryName>".$data['baddress'][1]."</BillToCountryName>".$xmend;//国家
- $xml .= "<BillToPhoneNumber>".preg_replace('/\D/s','',$data['baddress'][0])."</BillToPhoneNumber>".$xmend;//号码
- **/
- $xml .= "<ExportLineItem>".$xmend;
- $xml .= "<LineNumber>1</LineNumber>".$xmend;//顺序号
- $xml .= "<Quantity>".$data['ts']."</Quantity>".$xmend;//数量
- $xml .= "<QuantityUnit>PCS</QuantityUnit>".$xmend;//单位
- $xml .= "<Description>".$data['sbpm']."</Description>".$xmend;//品名
- $xml .= "<Value>".$data['dtsbjz']."</Value>".$xmend;//单价
- $xml .= "<IsDomestic>Y</IsDomestic>".$xmend;//是否国产,Y本国,N国外
- $xml .= "<CommodityCode>".$hgbm."</CommodityCode>".$xmend;//品名编码
- $xml .= "<Weight>".$xmend;
- $xml .= "<Weight>".$data['zzl']."</Weight>".$xmend;//净重
- $xml .= "<WeightUnit>K</WeightUnit>".$xmend;//重量单位,K千克
- $xml .= "</Weight>".$xmend;
- $xml .= "<GrossWeight>".$xmend;
- $xml .= "<Weight>".$data['zzl']."</Weight>".$xmend;//毛重
- $xml .= "<WeightUnit>K</WeightUnit>".$xmend;//毛重单位,K千克
- $xml .= "</GrossWeight>".$xmend;
- $xml .= "<ManufactureCountryCode>CN</ManufactureCountryCode>".$xmend;//原产国国家代码
- $xml .= "<ManufactureCountryName>CHINA</ManufactureCountryName>".$xmend;//原产国名称
- $xml .= "</ExportLineItem>".$xmend;
- $xml .= "<PlaceOfIncoterm>PEK PORT</PlaceOfIncoterm>".$xmend;//适用港口
- $xml .= "</ExportDeclaration>".$xmend;
- /** 发票信息结束 **/
- $xml .= "<Reference>".$xmend;
- $xml .= "<ReferenceID>".$data['number']."</ReferenceID>".$xmend;
- $xml .= "</Reference>".$xmend;
- $xml .= "<ShipmentDetails>".$xmend;
- ///$xml .= "<NumberOfPieces>".$data['zjs']."</NumberOfPieces>".$xmend;
- $xml .= "<Pieces>".$xmend;
- $xml .= $Pieces;
- $xml .= "</Pieces>".$xmend;
- ///$xml .= "<Weight>".$data['zzl']."</Weight>".$xmend;
- $xml .= "<WeightUnit>K</WeightUnit>".$xmend;
- $xml .= "<GlobalProductCode>P</GlobalProductCode>".$xmend;
- $xml .= "<LocalProductCode>P</LocalProductCode>".$xmend;
- $xml .= "<Date>".date('Y-m-d',time())."</Date>".$xmend;
- $xml .= "<Contents>".$data['sbpm']."</Contents>".$xmend;//内容
- ///$xml .= "<DoorTo>DD</DoorTo>".$xmend;
- $xml .= "<DimensionUnit>C</DimensionUnit>".$xmend;
- ///$xml .= "<InsuredAmount>".$data['bx']."</InsuredAmount>".$xmend;//保险金额
- $xml .= "<PackageType>EE</PackageType>".$xmend;
- $xml .= "<IsDutiable>Y</IsDutiable>".$xmend;
- $xml .= "<CurrencyCode>".$data['currencytitle']."</CurrencyCode>".$xmend;//货币代码
- $xml .= "</ShipmentDetails>".$xmend;
- $xml .= "<Shipper>".$xmend;
- $xml .= "<ShipperID>".$sid."</ShipperID>".$xmend;
- $xml .= "<CompanyName>LongYing</CompanyName>".$xmend;//发货公司名称
- $xml .= "<AddressLine1>LongYingShiYe, Yinghao Rd.</AddressLine1>".$xmend;//发货地址
- $xml .= "<AddressLine2>Shangji Economic Development Zone</AddressLine2>".$xmend;//发货地址
- $xml .= "<City>".$data['warehouse']['city']."</City>".$xmend;//发货城市
- $xml .= "<PostalCode>".$data['warehouse']['zipcode']."</PostalCode>".$xmend;
- $xml .= "<CountryCode>CN</CountryCode>".$xmend;//发货国家代码
- $xml .= "<CountryName>CHINA</CountryName>".$xmend;//发货国家名称
- $xml .= "<Contact>".$xmend;
- $xml .= '<PersonName>GeMengTi</PersonName>'.$xmend;//发货人 '.$data['warehouse']['company'].'
- $xml .= '<PhoneNumber>15939964739</PhoneNumber>'.$xmend;
- $xml .= "</Contact>".$xmend;
-
- $xml .= "<RegistrationNumbers>".$xmend;
- $xml .= "<RegistrationNumber>".$xmend;
- $xml .= '<Number>91411002MA3X46XC9K</Number>'.$xmend;
- $xml .= '<NumberTypeCode>VAT</NumberTypeCode>'.$xmend;
- $xml .= '<NumberIssuerCountryCode>CN</NumberIssuerCountryCode>'.$xmend;
- $xml .= "</RegistrationNumber>".$xmend;
- $xml .= "</RegistrationNumbers>".$xmend;
-
- $xml .= "</Shipper>".$xmend;
- /** 无纸化 PLT 开始 **/
- $xml .= "<SpecialService>".$xmend;
- $xml .= "<SpecialServiceType>WY</SpecialServiceType>".$xmend;
- $xml .= "</SpecialService>".$xmend;
- /** 无纸化 PLT 结束 **/
- if($data['bx'] > 0)
- {
- $xml .= "<SpecialService>".$xmend;
- $xml .= "<SpecialServiceType>II</SpecialServiceType>".$xmend;
- $xml .= "<ChargeValue>".$data['bx']."</ChargeValue>".$xmend;
- $xml .= "<CurrencyCode>USD</CurrencyCode>".$xmend;
- $xml .= "</SpecialService>".$xmend;
- }
- $xml .= "<LabelImageFormat>PDF</LabelImageFormat>".$xmend;
- /** 无纸化 PLT 启用这个 **/
- $xml .= "<RequestArchiveDoc>N</RequestArchiveDoc>".$xmend;
- /** 无纸化 PLT 启用这个 **/
- /** 无纸化 PLT 关闭这个 **/
- //$xml .= "<RequestArchiveDoc>Y</RequestArchiveDoc>".$xmend;
- //$xml .= "<NumberOfArchiveDoc>1</NumberOfArchiveDoc>".$xmend;
- /** 无纸化 PLT 关闭这个 **/
- $xml .= "<Label>".$xmend;
- $xml .= "<HideAccount>N</HideAccount>".$xmend;
- $xml .= "<LabelTemplate>8X4_PDF</LabelTemplate>".$xmend;
- $xml .= "<CustomsInvoiceTemplate>COMMERCIAL_INVOICE_P_10</CustomsInvoiceTemplate>".$xmend;
- $xml .= "<Resolution>200</Resolution>".$xmend;
- $xml .= "</Label>".$xmend;
- $xml .= "</req:ShipmentRequest>".$xmend;
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,'https://xml-api.dhl.com/XMLShippingServlet');
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
- curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,15);
- $data = curl_exec($ch);
- curl_close($ch);
- $data = utf8_encode($data);
- libxml_disable_entity_loader(true);
- @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
-
-
-
- /**
- $ch = curl_init();
- $url = 'http://z.wepolicy.cn/dhl.php';
- curl_setopt($ch,CURLOPT_URL,$url);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch,CURLOPT_HEADER,0);
- curl_setopt($ch,CURLOPT_POST, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35);
- //设置post数据
- $post = array();
- $post['data'] = $xml;
- curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post));
- $res = curl_exec($ch);
- curl_close($ch);
- $values = json_decode($res,true);
-
- **/
- //发送C类
- //$this->get_data_c($nd);
- $cx = $this->find("number = '".$nd['number']."'");
- if(!$cx && $nd['printcode'] != "DHLUSA")
- {
- $this->insert(array("number"=>$nd['number'],'time'=>time()));
- }
- return $values;
- }
-
- public function get_data_new($data)
- {
- if($data['pay'] == 1)
- {
- $data['pay'] == 'PayPal';
- }
- else if($data['pay'] == 2)
- {
- $data['pay'] == 'Western Union';
- }
- else if($data['pay'] == 3)
- {
- $data['pay'] == '微信';
- }
- else if($data['pay'] == 4)
- {
- $data['pay'] == '支付宝';
- }
- else if($data['pay'] == 5)
- {
- $data['pay'] == '银行转账';
- }
- else if($data['pay'] == 6)
- {
- $data['pay'] == '现金收款';
- }
- else if($data['pay'] == 7)
- {
- $data['pay'] == 'PingPong金融';
- }
- $id = 'XUCHANGLONGY';
- $pass = 'dJ84as3ELr';
- //$sid = '603521441';//官方DHL
- $sid = '605062090';//官方DHL美国
- $xmend = "\n";
- $Pieces = '';
- for($i=0;$i<$data['zjs'];$i++)
- {
- $Pieces .= "<Piece>".$xmend;
- $Pieces .= "<PieceID>".($i+1)."</PieceID>".$xmend;
- $Pieces .= "<PackageType>EE</PackageType>".$xmend;
- $Pieces .= "</Piece>".$xmend;
- }
- /** 此内容是添加发票信息
- $dataadress = array();$baddress = '';$ba1 = '';$ba2 = '';
- for($i=5;$i<count($data['baddress']);$i++)
- {
- $dataadress[] = $data['baddress'][$i];
- }
-
- if(count($dataadress) > 1)
- {
- for($i=0;$i<count($dataadress);$i++)
- {
- if($i < 2)
- {
- $ba1 .= $dataadress[$i].',';
- }
- else
- {
- $ba2 .= $dataadress[$i].',';
- }
- }
- $baddress .= "<BillToAddressLine>".rtrim($ba1,',')."</BillToAddressLine>".$xmend;
- $baddress .= "<BillToAddressLine>".rtrim($ba2,',')."</BillToAddressLine>".$xmend;
- }
- else
- {
- for($i=0;$i<count($dataadress);$i++)
- {
- $ba1 .= $dataadress[$i].',';
- }
- $baddress .= "<BillToAddressLine>".rtrim($ba1,',')."</BillToAddressLine>".$xmend;
- }
- **/
- $hgbm = $data['sbbm'];
- if(isset($data['hgbm']))
- {
- if($data['hgbm'] != '')
- {
- $hgbm = $data['hgbm'];
- }
- }
- $xml = "";
- $xml .= "<?xml version='1.0' encoding='UTF-8'?>".$xmend;
- $xml .= "<req:ShipmentRequest schemaVersion='6.2' xmlns:req='http://www.dhl.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.dhl.com ship-val-global-req-6.2.xsd'>".$xmend;
- $xml .= "<Request>".$xmend;
- $xml .= "<ServiceHeader>".$xmend;
- $xml .= "<MessageTime>".date('c')."</MessageTime>".$xmend;
- //$rand = (strlen($data['orderinfo']) < 15)?rand(10000000,99999999):rand(100000,999999);
- //$xml .= "<MessageReference>".time().$data['orderinfo'].$rand."</MessageReference>".$xmend;
- $xml .= "<MessageReference>".time().time().rand(10000000,99999999)."</MessageReference>".$xmend;
- $xml .= "<SiteID>".$id."</SiteID>".$xmend;//DHL账号
- $xml .= "<Password>".$pass."</Password>".$xmend;//DHL密码
- $xml .= "</ServiceHeader>".$xmend;
- $xml .= "<MetaData>".$xmend;
- $xml .= "<SoftwareName>LongYi ERP</SoftwareName>".$xmend;
- $xml .= "<SoftwareVersion>V1.0.0</SoftwareVersion>".$xmend;
- $xml .= "</MetaData>".$xmend;
- $xml .= "</Request>".$xmend;
- $xml .= "<RegionCode>AP</RegionCode>".$xmend;//地区代码
- $xml .= "<LanguageCode>en</LanguageCode>".$xmend;//语言
- $xml .= "<PiecesEnabled>Y</PiecesEnabled>".$xmend;
- $xml .= "<Billing>".$xmend;
- $xml .= "<ShipperAccountNumber>".$sid."</ShipperAccountNumber>".$xmend;
- $xml .= "<ShippingPaymentType>S</ShippingPaymentType>".$xmend;
- $xml .= "<BillingAccountNumber>".$sid."</BillingAccountNumber>".$xmend;
- $xml .= "<DutyPaymentType>R</DutyPaymentType>".$xmend;//R为收件人付关税 S发件人付关税
- $xml .= "</Billing>".$xmend;
- $xml .= "<Consignee>".$xmend;
- $xml .= "<CompanyName>".$data['name']."</CompanyName>".$xmend;//收货人名称
- if(strlen($data['address'].$data['address2']) > 44)
- {
- $adl = $data['address'].$data['address2'];
- $adl1 = substr($adl,0,44);//截取44字符前内容
- $adlnum = strripos($adl1," ");//查找最后一次出现空格位置
- $adl1 = substr($adl,0,$adlnum);//0到空格前之间的内容
- $adl2 = substr($adl,$adlnum+1,strlen($adl));//空格后到最后的内容
- $xml .= "<AddressLine>".$adl1."</AddressLine>".$xmend;//收货人地址1
- $xml .= "<AddressLine>".$adl2."</AddressLine>".$xmend;//收货人地址2
- }
- else
- {
- $xml .= "<AddressLine>".$data['address'].$data['address2']."</AddressLine>".$xmend;//收货人地址
- }
- if($data['street'] != '')
- {
- $xml .= "<AddressLine>".$data['street']."</AddressLine>".$xmend;//收货人街道
- }
- $xml .= "<City>".$data['city']."</City>".$xmend;//城市
- if($data['lb'] == 'US')
- {
- $xml .= "<DivisionCode>".$data['province']."</DivisionCode>".$xmend;//州代码,仅美国
- }
- $xml .= "<PostalCode>".trim($data['zipcode'],' ')."</PostalCode>".$xmend;//邮编
- $xml .= "<CountryCode>".$data['lb']."</CountryCode>".$xmend;//国家代码
- $xml .= "<CountryName>".$data['country']."</CountryName>".$xmend;//国家名称
- $xml .= "<Contact>".$xmend;
- $xml .= "<PersonName>".$data['client']."</PersonName>".$xmend;//名称
- $xml .= "<PhoneNumber>".preg_replace('/\D/s','',$data['phone'])."</PhoneNumber>".$xmend;//联系方式
- //$xml .= "<Email>".$data['email']."</Email>".$xmend;//联系邮箱
- $xml .= "</Contact>".$xmend;
- $xml .= "</Consignee>".$xmend;
- $xml .= "<Commodity>".$xmend;//多商品循环此外层标签及内层标签
- $xml .= "<CommodityCode>".$hgbm."</CommodityCode>".$xmend;//商品编码
- $xml .= "<CommodityName>".$data['sbpm']."</CommodityName>".$xmend;//商品名称
- $xml .= "</Commodity>".$xmend;
- $xml .= "<Dutiable>".$xmend;
- $xml .= "<DeclaredValue>".$data['zsbjz']."</DeclaredValue>".$xmend;//申报价值
- $xml .= "<DeclaredCurrency>".$data['currencytitle']."</DeclaredCurrency>".$xmend;//货币代码
- $xml .= "</Dutiable>".$xmend;
- /** 发票信息开始 **/
- $xml .= "<UseDHLInvoice>Y</UseDHLInvoice>".$xmend;
- $xml .= "<DHLInvoiceLanguageCode>en</DHLInvoiceLanguageCode>".$xmend;
- $xml .= "<DHLInvoiceType>CMI</DHLInvoiceType>".$xmend;
- $xml .= "<ExportDeclaration>".$xmend;
- $xml .= "<ExportReasonCode>P</ExportReasonCode>".$xmend;
- $xml .= "<InvoiceNumber>".$data['paypal']."</InvoiceNumber>".$xmend;
- $xml .= "<InvoiceDate>".date('Y-m-d',time())."</InvoiceDate>".$xmend;
- /**
- $xml .= "<BillToCompanyName>".$data['client']."</BillToCompanyName>".$xmend;
- $xml .= "<BillToContanctName>".$data['client']."</BillToContanctName>".$xmend;//账单名称
- $xml .= $baddress;//地址
- $xml .= "<BillToCity>".$data['baddress'][4]."</BillToCity>".$xmend;//城市
- $xml .= "<BillToPostcode>".$data['baddress'][2]."</BillToPostcode>".$xmend;//邮编
- $xml .= "<BillToSuburb/>".$xmend;//所在郊区
- if($data['baddress'][1] == 'United States')
- {
- $xml .= "<BillToState>".$data['baddress'][3]."</BillToState>".$xmend;//省、州
- }
- $xml .= "<BillToCountryName>".$data['baddress'][1]."</BillToCountryName>".$xmend;//国家
- $xml .= "<BillToPhoneNumber>".preg_replace('/\D/s','',$data['baddress'][0])."</BillToPhoneNumber>".$xmend;//号码
- **/
- $xml .= "<ExportLineItem>".$xmend;
- $xml .= "<LineNumber>1</LineNumber>".$xmend;//顺序号
- $xml .= "<Quantity>".$data['ts']."</Quantity>".$xmend;//数量
- $xml .= "<QuantityUnit>PCS</QuantityUnit>".$xmend;//单位
- $xml .= "<Description>".$data['sbpm']."</Description>".$xmend;//品名
- $xml .= "<Value>".$data['dtsbjz']."</Value>".$xmend;//单价
- $xml .= "<IsDomestic>Y</IsDomestic>".$xmend;//是否国产,Y本国,N国外
- $xml .= "<CommodityCode>".$hgbm."</CommodityCode>".$xmend;//品名编码
- $xml .= "<Weight>".$xmend;
- $xml .= "<Weight>".$data['zzl']."</Weight>".$xmend;//净重
- $xml .= "<WeightUnit>K</WeightUnit>".$xmend;//重量单位,K千克
- $xml .= "</Weight>".$xmend;
- $xml .= "<GrossWeight>".$xmend;
- $xml .= "<Weight>".$data['zzl']."</Weight>".$xmend;//毛重
- $xml .= "<WeightUnit>K</WeightUnit>".$xmend;//毛重单位,K千克
- $xml .= "</GrossWeight>".$xmend;
- $xml .= "<ManufactureCountryName>CN</ManufactureCountryName>".$xmend;//原产国名称
- $xml .= "</OtherCharges>".$xmend;
-
- $xml .= "<OtherCharges>".$xmend;
- $xml .= "<OtherCharge>".$xmend;
- $xml .= "<OtherChargeValue>".$data['zsbjz']."</OtherChargeValue>".$xmend;
- $xml .= "<OtherChargeType>SOTHR</OtherChargeType>".$xmend;
- $xml .= "</OtherCharge>".$xmend;
- $xml .= "</OtherCharges>".$xmend;
-
- $xml .= "</ExportDeclaration>".$xmend;
- /** 发票信息结束 **/
- $xml .= "<Reference>".$xmend;
- $xml .= "<ReferenceID>".$data['number']."</ReferenceID>".$xmend;
- $xml .= "</Reference>".$xmend;
- $xml .= "<ShipmentDetails>".$xmend;
- $xml .= "<NumberOfPieces>".$data['zjs']."</NumberOfPieces>".$xmend;
- $xml .= "<Pieces>".$xmend;
- $xml .= $Pieces;
- $xml .= "</Pieces>".$xmend;
- $xml .= "<Weight>".$data['zzl']."</Weight>".$xmend;
- $xml .= "<WeightUnit>K</WeightUnit>".$xmend;
- $xml .= "<GlobalProductCode>P</GlobalProductCode>".$xmend;
- $xml .= "<LocalProductCode>P</LocalProductCode>".$xmend;
- $xml .= "<Date>".date('Y-m-d',time())."</Date>".$xmend;
- $xml .= "<Contents>".$data['sbpm']."</Contents>".$xmend;//内容
- ///$xml .= "<DoorTo>DD</DoorTo>".$xmend;
- $xml .= "<DimensionUnit>C</DimensionUnit>".$xmend;
- $xml .= "<InsuredAmount>".$data['bx']."</InsuredAmount>".$xmend;//保险金额
- $xml .= "<PackageType>EE</PackageType>".$xmend;
- $xml .= "<IsDutiable>Y</IsDutiable>".$xmend;
- $xml .= "<CurrencyCode>".$data['currencytitle']."</CurrencyCode>".$xmend;//货币代码
- $xml .= "</ShipmentDetails>".$xmend;
- $xml .= "<Shipper>".$xmend;
- $xml .= "<ShipperID>".$sid."</ShipperID>".$xmend;
- $xml .= "<CompanyName>".$data['warehouse']['company']."</CompanyName>".$xmend;//发货公司名称
- $xml .= "<AddressLine>".$data['warehouse']['address']."</AddressLine>".$xmend;//发货地址
- $xml .= "<AddressLine>".$data['warehouse']['address2']."</AddressLine>".$xmend;//发货地址
- $xml .= "<AddressLine>".$data['warehouse']['province']."</AddressLine>".$xmend;//发货省、州
- $xml .= "<City>".$data['warehouse']['city']."</City>".$xmend;//发货城市
- $xml .= "<PostalCode>".$data['warehouse']['zipcode']."</PostalCode>".$xmend;
- $xml .= "<CountryCode>".$data['warehouse']['lb']."</CountryCode>".$xmend;//发货国家代码
- $xml .= "<CountryName>".$data['warehouse']['country']."</CountryName>".$xmend;//发货国家名称
- $xml .= "<Contact>".$xmend;
- $xml .= "<PersonName>".$data['warehouse']['company']."</PersonName>".$xmend;//发货人名称
- $xml .= "<PhoneNumber>15939964739</PhoneNumber>".$xmend;//发货人电话 ".preg_replace('/\D/s','',$data['warehouse']['phone'])."
- $xml .= "</Contact>".$xmend;
- $xml .= "</Shipper>".$xmend;
- /** 无纸化 PLT 开始 **/
- $xml .= "<SpecialService>".$xmend;
- $xml .= "<SpecialServiceType>WY</SpecialServiceType>".$xmend;
- $xml .= "</SpecialService>".$xmend;
- /** 无纸化 PLT 结束 **/
- if($data['bx'] > 0)
- {
- $xml .= "<SpecialService>".$xmend;
- $xml .= "<SpecialServiceType>II</SpecialServiceType>".$xmend;
- $xml .= "</SpecialService>".$xmend;
- }
- $xml .= "<LabelImageFormat>PDF</LabelImageFormat>".$xmend;
- /** 无纸化 PLT 启用这个 **/
- $xml .= "<RequestArchiveDoc>N</RequestArchiveDoc>".$xmend;
- /** 无纸化 PLT 启用这个 **/
- /** 无纸化 PLT 关闭这个 **/
- //$xml .= "<RequestArchiveDoc>Y</RequestArchiveDoc>".$xmend;
- //$xml .= "<NumberOfArchiveDoc>1</NumberOfArchiveDoc>".$xmend;
- /** 无纸化 PLT 关闭这个 **/
- $xml .= "<Label>".$xmend;
- $xml .= "<HideAccount>N</HideAccount>".$xmend;
- $xml .= "<LabelTemplate>8X4_PDF</LabelTemplate>".$xmend;
- $xml .= "<Resolution>200</Resolution>".$xmend;
- $xml .= "</Label>".$xmend;
- $xml .= "</req:ShipmentRequest>".$xmend;
-
- /**
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,'https://xml-api.dhl.com/XMLShippingServlet');
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
- curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,15);
- $data = curl_exec($ch);
- curl_close($ch);
- $data = utf8_encode($data);
- libxml_disable_entity_loader(true);
- @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
- **/
-
-
-
- $ch = curl_init();
- $url = 'http://z.wepolicy.cn/dhl.php';
- curl_setopt($ch,CURLOPT_URL,$url);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch,CURLOPT_HEADER,0);
- curl_setopt($ch,CURLOPT_POST, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35);
- //设置post数据
- $post = array();
- $post['data'] = $xml;
- curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post));
- $res = curl_exec($ch);
- curl_close($ch);
- $values = json_decode($res,true);
-
- return $values;
- }
-
- public function get_logistics_q($number)
- {
- $ch = curl_init();
- $url = 'http://z.wepolicy.cn/dhl.php';
- curl_setopt($ch,CURLOPT_URL,$url);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch,CURLOPT_HEADER,0);
- curl_setopt($ch,CURLOPT_POST, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35);
- //设置post数据
- $post = array();
- $post['number'] = $number;
- curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post));
- $res = curl_exec($ch);
- curl_close($ch);
- $values = json_decode($res,true);
- return $values;
- }
- public function get_logistics($number)//直连DHL
- {
- $id = 'XUCHANGLONGY';
- $pass = 'dJ84as3ELr';
- //$sid = '603521441';//官方DHL
- $sid = '605062090';//官方DHL美国
- $Pieces = '';
- $xmend = "\n";
-
- $xml = "<?xml version='1.0' encoding='UTF-8'?>".$xmend;
- $xml .= "<req:KnownTrackingRequest xmlns:req='http://www.dhl.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.dhl.com TrackingRequestKnown.xsd' schemaVersion='1.0'>";
- $xml .= "<Request>".$xmend;
- $xml .= "<ServiceHeader>".$xmend;
- $xml .= "<MessageTime>".date('c')."</MessageTime>".$xmend;
- $xml .= "<MessageReference>".time().time().rand(10000000,99999999)."</MessageReference>".$xmend;
- $xml .= "<SiteID>".$id."</SiteID>".$xmend;//DHL账号
- $xml .= "<Password>".$pass."</Password>".$xmend;//DHL密码
- $xml .= "</ServiceHeader>".$xmend;
- $xml .= "</Request>".$xmend;
- $xml .= "<LanguageCode>en</LanguageCode>".$xmend;
- $xml .= "<AWBNumber>".$number['waybill']."</AWBNumber>".$xmend;
- $xml .= "<LevelOfDetails>ALL_CHECK_POINTS</LevelOfDetails>".$xmend;
- $xml .= "</req:KnownTrackingRequest>".$xmend;
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,'https://xmlpi-ea.dhl.com/XMLShippingServlet');
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
- curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $data = curl_exec($ch);
- curl_close($ch);
- $data = utf8_encode($data);
- libxml_disable_entity_loader(true);
- @$values = json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
- if(isset($values['AWBInfo']['ShipmentInfo']['ShipmentEvent'][0]))//是否有信息
- {
- $zt = array_reverse($values['AWBInfo']['ShipmentInfo']['ShipmentEvent']);
- $xq = '';
- $st = array();
- foreach($zt as $v)
- {
- $st[strtotime($v['Date'].' '.$v['Time'])] = $v;
- }
- rsort($st);
- foreach($st as $v)
- {
- if($v['ServiceEvent']['EventCode'] == 'BA')
- {
- $exstate = 1;
- break;
- }
- else if($v['ServiceEvent']['EventCode'] == 'OK')
- {
- $exstate = 6;
- break;
- }
- else if(stripos($v['ServiceEvent']['Description'],'forwarded') !== false || $v['ServiceEvent']['EventCode'] == 'WC' || $v['ServiceEvent']['EventCode'] == 'TP')//With delivery courier
- {
- $exstate = 5;
- break;
- }
- else if(stripos($v['ServiceEvent']['Description'],'Clearance processing complete at') !== false && stripos($v['ServiceArea']['Description'],'CHINA') === false)
- {
- $exstate = 4;
- break;
- }
- else if(stripos($v['ServiceEvent']['Description'],'In transit') !== false)
- {
- $exstate = 3;
- break;
- }
- else if(stripos($v['ServiceEvent']['Description'],'picked up') !== false)
- {
- $exstate = 2;
- break;
- }
- }
- foreach($st as $v)
- {
- $xq .= $v['Date'].' '.$v['Time'].' '.$v['ServiceEvent']['Description'].'<br />';
- }
- $content = date('Y-m-d H',time()).'-查询成功';
- $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1,'data'=>$xq,'st'=>$st);//正常可发送站内信
- }
- else
- {
- $content = date('Y-m-d H',time()).'-查询失败';
- $list = array('content'=>$content,'f'=>0);//非正常只更改详情信息
- }
- return $list;
- }
-
- public function get_epod($data)
- {
- $username = 'longyingCN';
- $password = 'Q#1qC$2eG$2uA$0q';
- $sid = '605062090';//官方DHL美国
- $xmend = "\n";
- $xml = '<?xml version="1.0" encoding="UTF-8"?>'.$xmend;
- $xml .= '<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="glDHLExpressePOD/providers/DocumentRetrieve" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">'.$xmend;
- $xml .= '<SOAP-ENV:Header>'.$xmend;
- $xml .= '<wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">'.$xmend;
- $xml .= '<wsse:UsernameToken wsu:Id="">'.$xmend;
- $xml .= '<wsse:Username>'.$username.'</wsse:Username>'.$xmend;
- $xml .= "<wsse:Password Type='PasswordText'>".$password."</wsse:Password>".$xmend;
- $xml .= "<wsse:Nonce EncodingType=''></wsse:Nonce>".$xmend;
- $xml .= '<wsu:Created>'.date('c').'</wsu:Created>'.$xmend;
- $xml .= '</wsse:UsernameToken>'.$xmend;
- $xml .= '</wsse:Security>'.$xmend;
- $xml .= '</SOAP-ENV:Header>'.$xmend;
- $xml .= '<SOAP-ENV:Body>'.$xmend;
- $xml .= '<tns:shipmentDocumentRetrieveReq>'.$xmend;
- $xml .= '<MSG>'.$xmend;
- $xml .= '<Hdr Dtm="'.date('c').'" Id="'.time().rand(100,999).'" Ver="1.038">'.$xmend;
- $xml .= '<Sndr AppCd="DCGAP" AppNm="DCGAP"/>'.$xmend;
- $xml .= '</Hdr>'.$xmend;
- $xml .= '<Bd>'.$xmend;
- $xml .= '<Shp Id="'.$data['waybill'].'">'.$xmend;
- $xml .= '<ShpTr>'.$xmend;
- $xml .= '<SCDtl AccNo="'.$sid.'" CRlTyCd="PY"/>'.$xmend;
- $xml .= '</ShpTr>'.$xmend;
- $xml .= '<ShpInDoc>'.$xmend;
- $xml .= '<SDoc DocTyCd="POD"/>'.$xmend;
- $xml .= '</ShpInDoc>'.$xmend;
- $xml .= '</Shp>'.$xmend;
- $xml .= '<GenrcRq>'.$xmend;
- $xml .= '<GenrcRqCritr TyCd="IMG_CONTENT" Val="epod-detail"/>'.$xmend;
- $xml .= '<GenrcRqCritr TyCd="IMG_FORMAT" Val="PDF"/>'.$xmend;
- $xml .= '<GenrcRqCritr TyCd="DOC_RND_REQ" Val="true"/>'.$xmend;
- $xml .= '<GenrcRqCritr TyCd="DUPL_HANDL" Val="CORE_WB_NO"/>'.$xmend;
- $xml .= '<GenrcRqCritr TyCd="SORT_BY" Val="$INGEST_DATE,D"/>'.$xmend;
- $xml .= '<GenrcRqCritr TyCd="LANGUAGE" Val="en"/>'.$xmend;
- $xml .= '</GenrcRq>'.$xmend;
- $xml .= '</Bd>'.$xmend;
- $xml .= '</MSG>'.$xmend;
- $xml .= '</tns:shipmentDocumentRetrieveReq>'.$xmend;
- $xml .= '</SOAP-ENV:Body>'.$xmend;
- $xml .= '</SOAP-ENV:Envelope>'.$xmend;
- //echo $xml;exit;
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,'https://wsbexpress.dhl.com:443/gbl/getePOD');
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:text/xml; charset=utf-8"));
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
- curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35);
- $epoddata = curl_exec($ch);
- curl_close($ch);
- //header("Content-type: application/xml");
- $xml = simplexml_load_string($epoddata);
- $xml->registerXPathNamespace('tns','http://scxgxtt.phx-dc.dhl.com/glDHLExpressePOD/providers/DocumentRetrieve');
- if($xml->xpath('//Img'))
- {
- foreach ($xml->xpath('//Img') as $item)
- {
- $json = json_encode($item);
- $convrt_arr = json_decode($json, true);
- $epod = $this->_pdf($convrt_arr['@attributes']['Img'],'epod-'.$data['waybill'],date('Y',time()));
- return array('c'=>1,'d'=>'/data/epod/'.date('Y',time()).'/epod-'.$data['waybill'].'.pdf');
- }
- }
- else
- {
- foreach ($xml->xpath('//ErrMsgDtl ') as $item)
- {
- $json = json_encode($item);
- $convrt_arr = json_decode($json, true);
- return array('c'=>2,'d'=>$convrt_arr['@attributes']['DtlDsc']);
- }
- }
- }
-
- public function _pdf($pdf,$title,$bctime)
- {
- $pdf_path = './data/epod/'.$bctime.'/';
- $file_base64 = $pdf;
- $file_base64 = preg_replace('/data:.*;base64,/i', '', $file_base64);
- $file_base64 = base64_decode($file_base64);
- if(!is_dir($pdf_path))mkdir($pdf_path,0777); //上传目录不存在则创建
- file_put_contents($pdf_path.$title.'.pdf',$file_base64);
- }
-
- public function _token()
- {
- $token_header = array(
- 'x-request-id: 605062090',
- 'Content-Type: application/json'
- );
- $ch = curl_init();
- $url = 'https://dps-api.cndhl.com/dps-auth-server/api/gateway-token/generate';//正式 测试 https://webhub.cndhl.com/dps/dps-auth-server/api/gateway-token/generate
- curl_setopt($ch,CURLOPT_URL,$url);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $token_header);
- curl_setopt($ch,CURLOPT_HEADER,0);
- curl_setopt($ch,CURLOPT_POST, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,600);
- //设置post数据
- $post = array();
- $post['consumerCode'] = 'P_f7yzl4675s';
- $post['key'] = 'wt)!ftX{1Co$/i{|';
- $data = json_encode($post);
- curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
- $res = curl_exec($ch);
- $resp = json_decode($res,true);
- $token = $resp['result']['token'];
- return $token;
- }
-
- public function get_data_c($data,$id)//C类
- {
- $token = $this->_token();
- $file_header = array(
- 'x-request-id: 605062090',
- 'Authorization: '.$token,
- 'Content-Type: application/json'
- );
- $ch = curl_init();
- $url = 'https://dps-api.cndhl.com/dps-declaration-api/api/declare/submit-declare';
- curl_setopt($ch,CURLOPT_URL,$url);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $file_header);
- curl_setopt($ch,CURLOPT_HEADER,0);
- curl_setopt($ch,CURLOPT_POST, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,600);
- //设置post数据
-
- $list = $data;
- $post = array();
- $post['decMessage']['decHead']['iEFlag']="E";
- $post['decMessage']['decHead']['tradeName']="许昌龙盈实业集团有限公司";
- $post['decMessage']['decHead']['tradeCoScc']="91411023MA45JCKTXL";
- $post['decMessage']['decHead']['tradeCode']="3316960A6A";
- $post['decMessage']['decHead']['ownerName']="许昌龙盈实业集团有限公司";
- $post['decMessage']['decHead']['ownerCodeScc']="91411023MA45JCKTXL";
- $post['decMessage']['decHead']['tradeMode']="3010";
- $post['decMessage']['decHead']['transMode']="2";
- $post['decMessage']['decHead']['cutMode']="101";
- $post['decMessage']['decHead']['feeMark']="3";
- $post['decMessage']['decHead']['feeRate']="10";
- $post['decMessage']['decHead']['feeCurr']="USD";
-
- $post['decMessage']['decLists']['decList'][0]['gNo']="1";
- $post['decMessage']['decLists']['decList'][0]['declGoodsEname']=$data['sbpm'];//申报品名
- $post['decMessage']['decLists']['decList'][0]['gName']=$data['zwpm'];//中文品名
- $post['decMessage']['decLists']['decList'][0]['codeTs']=$data['hgbm'];//海关编码
- $post['decMessage']['decLists']['decList'][0]['gModel']="0|2|假发|化纤";
- $post['decMessage']['decLists']['decList'][0]['gQty']=$data['ts'];//数量
- $post['decMessage']['decLists']['decList'][0]['gUnit']="007";
- $post['decMessage']['decLists']['decList'][0]['declPrice']=$data['dtsbjz'];//申报单价
- $post['decMessage']['decLists']['decList'][0]['declTotal']=$data['zsbjz'];//申报总价
- $post['decMessage']['decLists']['decList'][0]['tradeCurr']="USD";
- $post['decMessage']['decLists']['decList'][0]['firstQty']="0.10000";
- $post['decMessage']['decLists']['decList'][0]['firstUnit']="035";
- $post['decMessage']['decLists']['decList'][0]['goodsBrand']="无";
- $post['decMessage']['decLists']['decList'][0]['dutyMode']="1";
- $post['decMessage']['decLists']['decList'][0]['originCountry']="CHN";
-
- $post['decMessage']['msgHead']['action']="A";
- $post['decMessage']['msgHead']['awbGenDtm']= date("Y-m-d H:i:s",time()-3600);
- $post['decMessage']['msgHead']['awbNo']=$data['waybill'];//运单号
- $post['decMessage']['msgHead']['declareType']="C";
- $post['decMessage']['msgHead']['msgGenDtm']=date("Y-m-d H:i:s",time());
- $post['decMessage']['msgHead']['msgId']="7b67817a-9c81-412d-bedd-10a65ac22508";
- $post['decMessage']['msgHead']['version']="1.0";
-
-
- $data = json_encode($post);
- //echo $data;exit;
- curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
- $res = curl_exec($ch);
- curl_close($ch);
- $resp = json_decode($res,true);
- $j = '';
- if(isset($resp['result']))
- {
- if($resp['result'] == 'OK')
- {
- $j = 1;
- }
- else
- {
- $j = 2;
- }
- }
- else
- {
- $j = 2;
- }
- $this->save(array('type'=>$j),$id);
- }
-
- public function get_data_9610($data)//9610
- {
- $num = 1;
- $token = $this->_token();
- $file_header = array(
- 'x-request-id: 605062090',
- 'Authorization: '.$token,
- 'Content-Type: application/json'
- );
- $ch = curl_init();
- $url = 'https://dps-api.cndhl.com/dps-declaration-api/api/cross-border/submit-declare';
- curl_setopt($ch,CURLOPT_URL,$url);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $file_header);
- curl_setopt($ch,CURLOPT_HEADER,0);
- curl_setopt($ch,CURLOPT_POST, 1);
- curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,600);
- //设置post数据
-
-
- $post = array();
-
- $post['baseInfo']['logisticsNo']=$data['waybill'];//运单号
- $post['baseInfo']['iEFlag']="E";//进出口类型
- $post['baseInfo']['ebpName']=$data['shoptype'];//电商平台名称
- $post['baseInfo']['ebpUsCode']="91411023MA45JCKTXL";//电商平台统一社会信用代码
- $post['baseInfo']['ebpCode']="4110961543";//电商平台海关注册编码
- $post['baseInfo']['ebcName']="许昌龙盈实业集团有限公司";//发货人
- $post['baseInfo']['ebcUsCode']="91411023MA45JCKTXL";//收发货人统一社会信用代码
- $post['baseInfo']['ebcCode']="4110961543";//发货人海关注册编码
- $post['baseInfo']['ownerName']="许昌龙盈实业集团有限公司";//生产销售企业名称
- $post['baseInfo']['ownerUsCode']="91411023MA45JCKTXL";//生产销售企业统一社会信用代码
- $post['baseInfo']['ownerCode']="4110961543";//生产销售企业海关注册编码
- $post['baseInfo']['version']="1.0";//报文版本号
- $post['baseInfo']['requestTime']=date('Y-m-d H:i:s',time());//报文请求时间
-
- $post['declareInfo']['orderNo']=$data['orderinfo'];//订单编号
- $post['declareInfo']['statisticsFlag']="B";//申报业务类型A-简化申报,B-汇总申报,只能填写大写A或者B。
- $post['declareInfo']['tradeMode']="9610";//贸易方式
- $post['declareInfo']['grossWeight']=sprintf("%.2f",rtrim($data['weight'],'kg'));//毛重
- $post['declareInfo']['wrapType']="22";//包装种类
- $post['declareInfo']['netWeight']=sprintf("%.2f",$data['jweight']/1000);//净重
- $post['declareInfo']['freight']="20";//运费
- $post['declareInfo']['fcurrency']="USD";//运费币制
- $post['declareInfo']['insuredFee']=$data['bx'];//保费总价
- $post['declareInfo']['icurrency']="USD";//保费币制
-
- $post['goodsInfoList'][0]['gnum']=1;//客户需要 从1开始递增
- $post['goodsInfoList'][0]['itemNo']= "无";//企业自定义货号
- $post['goodsInfoList'][0]['gname']=$data['zwpm'];//商品名称
- $post['goodsInfoList'][0]['gcode']=$data['hgbm'];//商品编码
- $post['goodsInfoList'][0]['gmodel']="0|0|假发|人发";//规格型号
- $post['goodsInfoList'][0]['barCode']="无";//商品条形码
- $post['goodsInfoList'][0]['qty1']=$post['declareInfo']['netWeight'];//第一法定数量
- $post['goodsInfoList'][0]['unit1']="035";//第一法定计量单位
- $post['goodsInfoList'][0]['qty']=$data['ts'];//申报数量
- $post['goodsInfoList'][0]['unit']="015";//申报计量单位
- $post['goodsInfoList'][0]['price']=$data['dtsbjz'];//单价
- $post['goodsInfoList'][0]['totalPrice']=$data['zsbjz'];//总价
- $post['goodsInfoList'][0]['currency']="USD";//币制
- $data = json_encode($post);
- //echo $data;exit;
- curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
- $res = curl_exec($ch);
- curl_close($ch);
- $resp = json_decode($res,true);
-
- if(isset($resp['result']))
- {
- if($resp['result'] == 'OK')
- {
- return 1;
- }
- else
- {
- return $res;
- }
- }
- else
- {
- return $res;
- }
- }
- } //end class
|