load->database();
$this->table = 'taxzhengzhou';
$this->load_table('tax_zhengzhou');
}
public function get_ht($ht)
{
return $this->find("ht = '$ht'");
}
public function get_orderno($orderno)
{
return $this->find("orderno = '$orderno'");
}
public function get_orders($data)
{
$xmend = "\n";
//需要加密的报文
$dataInfo = ''.$xmend;
$dataInfo = ''.$xmend;
$dataInfo = ''.$xmend;
$dataInfo = ''.$data['ordertype'].''.$xmend;//电商平台的订单类型 I-进口商品订单;E-出口商品订单
$dataInfo = ''.$data['trademode'].''.$xmend;//一般出口填9610,特殊区域出口填1210
$dataInfo = ''.$data['statisticsflag'].''.$xmend;//A-简化申报.$xmend;B-汇总申报;
$dataInfo = ''.$data['emsno'].''.$xmend;//特殊区域出口模式必须填写具体账号(1210必填)。
$dataInfo = ''.$data['orderno'].''.$xmend;//电商平台的交易订单编号,同一平台的订单编号唯一不重复
$dataInfo = ''.$data['ebpcode'].''.$xmend;//电商平台的海关注册登记编号或统一社会信用代码。
$dataInfo = ''.$data['logisticscode'].''.$xmend;//物流企业的海关注册登记编号或统一社会信用代码。
$dataInfo = ''.$data['iaccode'].''.$xmend;//特殊区域内仓储企业的海关注册登记编号或统一社会信用代码,特殊区域出口模式必填
$dataInfo = ''.$data['agentcode'].''.$xmend;//代理申报企业编号
$dataInfo = ''.$data['paycode'].''.$xmend;//支付企业的海关编码,国内企业必填。
$dataInfo = ''.$data['payname'].''.$xmend;//支付企业名称,非线上支付填"现金支付"
$dataInfo = ''.$data['ownercode'].''.$xmend;//生产企业的海关注册登记编号或统一社会信用代码,未在海关登记的填NO
$dataInfo = ''.$data['ownername'].''.$xmend;//生产企业的登记名称
$dataInfo = ''.$data['preno'].''.$xmend;//电子口岸标识唯一编号(B+8位年月日+9位流水号)
$dataInfo = ''.$data['licenseno'].''.$xmend;//商务主管部门及其授权发证机关签发的进出口货物许可证的编号
$dataInfo = ''.$data['portcode'].''.$xmend;//商品实际出我国关境口岸海关的关区代码 JGS/T 18《海关关区代码》
$dataInfo = ''.$data['iedate'].''.$xmend;//时间格式:YYYYMMDD
$dataInfo = ''.$data['batchnumber'].''.$xmend;//商品批次号
$dataInfo = ''.$data['wraptype'].''.$xmend;//海关对进出口货物实际采用的外部包装方式的标识代码,采用1位数字表示,如:木箱、纸箱、桶装、散装、托盘、包、油罐车等
$dataInfo = ''.$data['packno'].''.$xmend;//件数(包裹数量)
$dataInfo = ''.$data['grossweight'].''.$xmend;//货物及其包装材料的重量之和,计量单位为千克
$dataInfo = ''.$data['netweight'].''.$xmend;//货物的毛重减去外包装材料后的重量,即货物本身的实际重量,计量单位为千克
$dataInfo = ''.$data['goodsvalue'].''.$xmend;//商品实际成交价FOB(不含运杂费),含非现金抵扣金额
$dataInfo = ''.$data['discount'].''.$xmend;//无则填写"0"
$dataInfo = ''.$data['taxtotal'].''.$xmend;//按照货款金额计算的税款,无法提供填写"0"
$dataInfo = ''.$data['charge'].''.$xmend;//支付企业的订单交易金额
$dataInfo = ''.$data['freight'].''.$xmend;//运杂费,无则填写"0"。
$dataInfo = ''.$data['fflag'].''.$xmend;//1-率,2-单价,3-总价
$dataInfo = ''.$data['insuredfee'].''.$xmend;//物流企业实际收取的商品保价费用
$dataInfo = ''.$data['iflag'].''.$xmend;//1-率,2-单价,3-总价
$dataInfo = ''.$data['consigneename'].''.$xmend;//收货人名称
$dataInfo = ''.$data['consigneetel'].''.$xmend;//收货人电话
$dataInfo = ''.$data['consigneeaddress'].''.$xmend;//收货人地址
$dataInfo = ''.$data['trafmode'].''.$xmend;//海关标准的参数代码 《JGS-20 海关业务代码集》- 运输方式代码
$dataInfo = ''.$data['country'].''.$xmend;//出口货物的直接运抵的国家(地区),《JGS-20 海关业务代码集》 国家(地区)代码表填写代码。
$dataInfo = ''.$data['pod'].''.$xmend;//出口运往境外的最终目的港的标识代码。最终目的港不可预知时,应尽可能按预知的目的港填报
$dataInfo = ''.$data['logisticsno'].''.$xmend;//物流企业运单的包裹面单号,同一物流企业的运单编号在6个月内不重复。
$dataInfo = ''.$data['trafname'].''.$xmend;//货物进出境的运输工具的名称或运输工具编号。填报内容应与运输部门向海关申报的载货清单所列相应内容一致。按照关区要求,可以后置申报清单总分单,允许为空。
$dataInfo = ''.$data['voyageno'].''.$xmend;//货物进出境的运输工具的航次编号。按照关区要求,可以后置申报清单总分单,允许为空。
$dataInfo = ''.$data['billno'].''.$xmend;//提单或总运单的编号。按照关区要求,可以后置申报清单总分单,允许为空。
$dataInfo = ''.$data['totalpackageno'].''.$xmend;//对于提运单下含有多个大包的托盘编号(邮件为邮件总包号/邮袋号)。按照关区要求,可以后置申报清单总分单,允许为空。
$dataInfo = ''.$data['payno'].''.$xmend;//支付交易编号
$dataInfo = ''.$data['accountingdate'].''.$xmend;//到账时间 格式:YYYYMMDDhhmmss
$dataInfo = ''.$data['currencycus'].''.$xmend;//海关标准的参数代码 《JGS-20 海关业务代码集》- 货币代码
$dataInfo = ''.$data['currencyciq'].''.$xmend;//币制编号,国检标准参数代码-币种
$dataInfo = ''.$data['note'].''.$xmend;
$dataInfo = ''.$xmend;
$dataInfo = ''.$xmend;
$dataInfo = ''.$data['gnum'].''.$xmend;//从1开始的递增序号(与清单的商品项关联对应)
$dataInfo = ''.$data['itemno'].''.$xmend;//企业自定义的商品货号
$dataInfo = ''.$data['itemrecordno'].''.$xmend;//保税出口模式必填
$dataInfo = ''.$data['itemname'].''.$xmend;//同一类商品的中文名称。任何一种具体商品可以并只能归入表中的一个条目
$dataInfo = ''.$data['gcode'].''.$xmend;//对于符合简化申报的商品,前4位按税则归类申报(需要存在相应章节)
$dataInfo = ''.$data['itemdescribe'].''.$xmend;//电商平台上架的商品描述宣传信息
$dataInfo = ''.$data['gmodel'].''.$xmend;//满足海关归类、审价以及监管的要求为准。包括:品名、牌名、规格、型号、成份、含量、等级等
$dataInfo = ''.$data['barcode'].''.$xmend;//商品条形码一般由前缀部分、制造厂商代码、商品代码和校验码组成。没有条形码填“无”
$dataInfo = ''.$data['qty'].''.$xmend;
$dataInfo = ''.$data['qty1'].''.$xmend;
$dataInfo = ''.$data['qty2'].''.$xmend;
$dataInfo = ''.$data['unitcus'].''.$xmend;//海关标准的参数代码 《JGS-20 海关业务代码集》- 计量单位代码
$dataInfo = ''.$data['unitciq'].''.$xmend;//计量单位编号
$dataInfo = ''.$data['unit1'].''.$xmend;//海关标准的参数代码 《JGS-20 海关业务代码集》- 计量单位代码
$dataInfo = ''.$data['unit2'].''.$xmend;//海关标准的参数代码 《JGS-20 海关业务代码集》- 计量单位代码
$dataInfo = ''.$data['price'].''.$xmend;//成交单价FOB
$dataInfo = ''.$data['totalprice'].''.$xmend;//总价=成交数量*单价
$dataInfo = ''.$data['currencycus'].''.$xmend;//####海关标准的参数代码 海关标准的参数代码 《JGS-20 海关业务代码集》- 货币代码
$dataInfo = ''.$data['country'].''.$xmend;//#####海关标准的参数代码《JGS-20 海关业务代码集》 国家(地区)代码表填写代码。
$dataInfo = ''.$data['note'].''.$xmend;//#####
$dataInfo = ''.$xmend;
$dataInfo = ''.$xmend;
$abs_path = './data/caiwu/rsa_public_key.key';
$content = file_get_contents($abs_path);
$key = openssl_pkey_get_public($content);
openssl_public_encrypt($dataInfo,$encrypted,$key);
$encrypted = base64_encode($encrypted);
$byteArray = unpack('C*',$encrypted);
//请求信息
$xml = ''.$xmend;
$xml .= ''.$xmend;
$xml .= ''.$xmend;
$xml .= ''.$data['version'].''.$xmend;//Webservice接口版本2.0
$xml .= ''.$data['companycode'].''.$xmend;//电商企业的海关注册登记编号或统一社会信用代码
$xml .= ''.$data['apptype'].''.$xmend;//企业报送类型。1-新增 2-变更 3-删除。
$xml .= ''.$data['appstatus'].''.$xmend;//企业报送状态。1-暂存,2-申报。默认申报
$xml .= ''.md5(implode('',$byteArray)).''.$xmend;//验证加密报文是否一致
$xml .= ''.$data['createtime'].''.$xmend;//单据生成日期,格式:YYYYMMDDhhmmss。
$xml .= ''.$data['customcode'].''.$xmend;//关区代码(郑州保税区4611)
$xml .= ''.$xmend;
$xml .= ''.$encrypted.''.$xmend;//订单报文信息加密后内容
$xml .= ''.$xmend;
$xml = 'xml='.$xml;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'http://emy.hnblc.com:9955/etouch-export/export/order/pushOrder');
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);
return $values;
}
public function stringToByteArray($str,$charset) {
$str = iconv($charset,'UTF-16',$str);
preg_match_all('/(.)/s',$str,$bytes); //注:本文的盗版已经有了。不过,提示一下读者,这里的正则改了。
$bytes=array_map('ord',$bytes[1]) ;
return $bytes;
}
} //end class