prefix.$this->app->app_id.'_'.$table_name; }else{ return $table_name; } } function searchOptions(){ $parentOptions = parent::searchOptions(); $childOptions = array( 'order_bn'=>app::get('base')->_('订单号'), 'bn'=>app::get('base')->_('商品货号'), ); return $Options = array_merge($childOptions,$parentOptions); } function getList($cols='*', $filter=array(), $offset=0, $limit=-1, $orderby=null){ return parent::getList($cols, $filter, $offset, $limit, $orderby); } function _filter($filter,$tableAlias=null,$baseWhere=null){ @ini_set('memory_limit','512M'); $where = '1'; //订单号查询 if (isset($filter['order_bn'])){ $orderObj = $this->app->model("orders"); $rows = $orderObj->getList('order_id',array('order_bn|head'=>$filter['order_bn'])); $orderId[] = -1; foreach($rows as $row){ $orderId[] = $row['order_id']; } $where .= ' AND order_id IN ('.implode(',', $orderId).')'; unset($filter['order_bn']); } //货号查询 if(isset($filter['bn'])){ $sql = 'SELECT sale_id FROM sdb_ome_sales_items WHERE bn like \''.$filter['bn'].'\''; $rows = $this->db->select($sql); $saleId[] = 0; foreach($rows as $row){ $saleId[] = $row['sale_id']; } $where .= ' AND sale_id IN ('. implode(',', $saleId).')'; unset($filter['bn']); } //货品名称 if(isset($filter['product_name'])){ $sql = 'SELECT material_bn AS bn FROM sdb_material_basic_material WHERE material_name like \''.$filter['product_name'].'\''; $name = $this->db->select($sql); $sql2 = 'SELECT sale_id FROM sdb_ome_sales_items WHERE bn like \''.$name[0]['bn'].'\''; $rows = $this->db->select($sql2); $saleId[] = 0; foreach($rows as $row){ $saleId[] = $row['sale_id']; } $where .= ' AND sale_id IN ('. implode(',', $saleId).')'; unset($filter['product_name']); } if(isset($filter['ship_area'])){ $sql = 'SELECT delivery_id FROM sdb_ome_delivery WHERE ship_area = "'.$filter['ship_area'].'"'; $rows = $this->db->select($sql); $deliveryId[] = 0; foreach($rows as $row){ $deliveryId[] = $row['delivery_id']; } $where .= ' AND delivery_id IN ('. implode(',', $deliveryId).')'; unset($filter['ship_area']); } if (isset($filter['original_bn'])) { $sql = 'SELECT delivery_id FROM sdb_ome_delivery WHERE delivery_bn = "'.$filter['original_bn'].'"'; $rows = $this->db->select($sql); $deliveryId[] = 0; foreach($rows as $row){ $deliveryId[] = $row['delivery_id']; } $where .= ' AND delivery_id IN ('. implode(',', $deliveryId).')'; unset($filter['original_bn']); } return parent::_filter($filter,$tableAlias,$baseWhere)." AND ".$where; } function exportTemplate($filter){ foreach ($this->io_title($filter) as $v){ $title[] = kernel::single('base_charset')->utf2local($v); } return $title; } function io_title( $filter=null,$ioType='csv' ){ switch( $ioType ){ case 'csv': default: $this->oSchema['csv']['sales'] = array( '*:店铺名称' => '', '*:仓库名称' => '', '*:销售单号' => '', '*:订单号' => '', '*:发货单号' => '', '*:用户名称' => '', '*:支付方式' => '', '*:销售金额' => '', '*:优惠金额' => '', '*:商品总额' => '', '*:物流单号' => '', '*:预收物流费' => '', '*:预估物流费' => '', '*:配送费用' => '', '*:附加费' => '', '*:预存款' => '', '*:是否开发票' => '', '*:订单审核人' => '', '*:销售时间' => '', '*:下单时间' => '', '*:付款时间' => '', '*:订单审核时间' => '', '*:发货时间' => '', '*:收货人姓名' => '', '*:收货人地区' => '', '*:收货人地址' => '', '*:收货人邮编' => '', '*:收货人固定电话' => '', '*:收货人Email' => '', '*:收货人手机' => '', ); $this->oSchema['csv']['sales_items'] = array( '*:销售单号' => '', '*:订单号' => '', '*:货号' => '', '*:商品名称' => '', '*:商品规格' => '', '*:吊牌价' => '', '*:数量' => '', '*:货品优惠' => '', '*:销售总价' => '', '*:平摊优惠' => '', '*:销售金额' => '', ); break; } $this->ioTitle[$ioType]['sales'] = array_keys( $this->oSchema[$ioType]['sales'] ); $this->ioTitle[$ioType]['sales_items'] = array_keys( $this->oSchema[$ioType]['sales_items'] ); return $this->ioTitle[$ioType][$filter]; } //csv导出 function fgetlist_csv( &$data,$filter,$offset,$exportType = 1 ){ //print_r($data);//$filter是选中sales表中的记录id //$data是sales数据表 //$offset 是偏移值 // # [发货配置]是否启动拆单 $orderSplitLib = kernel::single('ome_order_split'); $split_seting = $orderSplitLib->get_delivery_seting(); if( !$data['title']['sales'] ){ $title = array(); foreach( $this->io_title('sales') as $k => $v ){ $title[] = $this->charset->utf2local($v); //$title[] = $v; } $data['title']['sales'] = '"'.implode('","',$title).'"'; } if( !$data['title']['sales_items'] ){ $title = array(); foreach( $this->io_title('sales_items') as $k => $v ){ $title[] = $this->charset->utf2local($v); //$title[] = $v; } $data['title']['sales_items'] = '"'.implode('","',$title).'"'; } if( !$data['title']['sales_items'] ){ $title = array(); foreach( $this->io_title('sales_items') as $k => $v ){ $title[] = $this->charset->utf2local($v); //$title[] = $v; } $data['title']['sales_items'] = '"'.implode('","',$title).'"'; } $limit = 100; //if( $filter[''] )获取的sales的id //$list=$this->getList('id',$filter,$offset*$limit,$limit);获取的sales的列表 if(!$list = $this->getList('*',$filter,$offset*$limit,$limit)){ return false; } //优化代码 $oShop = app::get('ome')->model('shop'); $oMembers = app::get('ome')->model('members'); $oPam = app::get('pam')->model('account'); $oBranch = app::get('ome')->model('branch'); $oDelivery = app::get('ome')->model('delivery'); $oOrder = app::get('ome')->model('orders'); $archive_ordobj = kernel::single('archive_interface_orders'); $archive_delobj = kernel::single('archive_interface_delivery'); $oDeliveryOrder = app::get('ome')->model('delivery_order'); $oSalesItems = app::get('ome')->model('sales_items'); // 所有的店铺信息 $rs = $oShop->getList('shop_id,shop_bn,name'); foreach($rs as $v) { $shops[$v['shop_id']] = $v; } // 所有的仓库 $rs = $oBranch->getList('branch_id,branch_bn,name'); foreach($rs as $v) { $branchs[$v['branch_id']] = $v; } foreach($list as $v) { $order_ids[] = $v['order_id']; $member_ids[] = $v['member_id']; $iostock_bns[] = $v['iostock_bn']; $sale_ids[] = $v['sale_id']; $delivery_ids[] = $v['delivery_id']; $order_check_ids[] = $v['order_check_id']; } // 所有的会员 $rs = $oMembers->getList('member_id,uname',array('member_id'=>$member_ids)); foreach($rs as $v) { $members[$v['member_id']] = $v; } // 所有的发货单信息 $rs = $oDelivery->getList('delivery_id,delivery_bn,logi_name,logi_no,ship_name,ship_addr,ship_zip,ship_tel,ship_email,ship_mobile,ship_area',array('delivery_id'=>$delivery_ids)); foreach($rs as $v) { $deliverys[$v['delivery_id']] = $v; } unset($rs); $rs = $archive_delobj->getDelivery_list(array('delivery_id'=>$delivery_ids),'delivery_id,delivery_bn,logi_name,logi_no,ship_name,ship_addr,ship_zip,ship_tel,ship_email,ship_mobile,ship_area'); foreach ($rs as $v ) { $deliverys[$v['delivery_id']] = $v; } unset($rs); // 所有的订单信息 $rs = $oOrder->getList('order_id,order_bn',array('order_id'=>$order_ids)); foreach($rs as $v) { $orders[$v['order_id']] = $v; } unset($rs); $rs = $archive_ordobj->getOrder_list(array('order_id'=>$order_ids),'order_id,order_bn'); foreach ( $rs as $v ) { $orders[$v['order_id']] = $v; } unset($rs); // 所有的操作员信息 $rs = $oPam->getList('login_name,account_id',array('account_id'=>$order_check_ids)); foreach($rs as $v) { $check_names[$v['account_id']] = $v; } //所有的子销售数据 $rs = $oSalesItems->getList('*',array('sale_id'=>$sale_ids)); foreach($rs as $v) { $sales_items[$v['sale_id']][] = $v; } foreach( $list as $aFilter ){ $aOrder = $aFilter; $shop_name = $shops[$aOrder['shop_id']]['name']; $branch_name = $branchs[$aOrder['branch_id']]; $member_uname = $members[$aOrder['member_id']]['uname']; $delivery_bn = $deliverys[$aOrder['delivery_id']]['delivery_bn']; $ship_name = $deliverys[$aOrder['delivery_id']]['ship_name']; $ship_addr = $deliverys[$aOrder['delivery_id']]['ship_addr']; $ship_zip = $deliverys[$aOrder['delivery_id']]['ship_zip']; $ship_tel = $deliverys[$aOrder['delivery_id']]['ship_tel']; $ship_email = $deliverys[$aOrder['delivery_id']]['ship_email']; $ship_mobile = $deliverys[$aOrder['delivery_id']]['ship_mobile']; $rd = explode(':', $deliverys[$aOrder['delivery_id']]['ship_area']); if($rd[1]){ $ship_area = str_replace('/', '-', $rd[1]); } /*------------------------------------------------------ */ //-- [拆单]获取订单对应多个发货单 /*------------------------------------------------------ */ if($split_seting) { $dly_sql = "SELECT dord.delivery_id, d.delivery_bn, d.logi_no FROM sdb_ome_delivery_order AS dord LEFT JOIN sdb_ome_delivery AS d ON(dord.delivery_id=d.delivery_id) WHERE dord.order_id='".$aOrder['order_id']."' AND (d.parent_id=0 OR d.is_bind='true') AND d.disabled='false' AND d.status NOT IN('failed','cancel','back','return_back')"; $delivery_list = kernel::database()->select($dly_sql); #获取订单对应所有发货单 if($delivery_list && count($delivery_list) > 1) { $delivery_bn = ''; $deliverys[$aOrder['delivery_id']]['logi_no'] = ''; foreach($delivery_list as $key_i => $dly_val) { $delivery_bn .= ' | '.$dly_val['delivery_bn']; $deliverys[$aOrder['delivery_id']]['logi_no'] .= ' | '.$dly_val['logi_no']; } $delivery_bn = substr($delivery_bn, 2); $deliverys[$aOrder['delivery_id']]['logi_no'] = substr($deliverys[$aOrder['delivery_id']]['logi_no'], 2); } } $order_bn = $orders[$aOrder['order_id']]['order_bn']; $order_check_id = $check_names[$aOrder['order_check_id']]['login_name']; if($aOrder['sale_time']){ $sale_time = date("Y-m-d/H:i:s",$aOrder['sale_time']); }else{ $sale_time = ''; } if($aOrder['order_check_time']){ $order_check_time = date("Y-m-d/H:i:s",$aOrder['order_check_time']); }else{ $order_check_time = ''; } if($aOrder['order_create_time']){ $order_create_time = date("Y-m-d/H:i:s",$aOrder['order_create_time']); }else{ $order_create_time = ''; } if($aOrder['paytime']){ $paytime = date("Y-m-d/H:i:s",$aOrder['paytime']); }else{ $paytime = ''; } if($aOrder['ship_time']){ $ship_time = date("Y-m-d/H:i:s",$aOrder['ship_time']); }else{ $ship_time = ''; } $aOrderRow = array(); $aOrderRow['*:店铺名称'] = $shop_name; $aOrderRow['*:仓库名称'] = $branch_name['name']; $aOrderRow['*:销售单号'] = "=\"\"".$aOrder['sale_bn']."\"\""; $aOrderRow['*:订单号'] = "=\"\"".$order_bn."\"\""; $aOrderRow['*:发货单号'] = "=\"\"".$delivery_bn."\"\""; $aOrderRow['*:用户名称'] = $member_uname."\t"; $aOrderRow['*:支付方式'] = $aOrder['payment']; $aOrderRow['*:销售金额'] = $aOrder['sale_amount']; $aOrderRow['*:优惠金额'] = $aOrder['discount']; $aOrderRow['*:商品总额'] = $aOrder['total_amount']; $aOrderRow['*:物流单号'] = $deliverys[$aOrder['delivery_id']]['logi_no']."\t"; $aOrderRow['*:预收物流费'] = $aOrder['delivery_cost']; $aOrderRow['*:预估物流费'] = $aOrder['delivery_cost_actual']; $aOrderRow['*:配送费用'] = $aOrder['cost_freight']; $aOrderRow['*:附加费'] = $aOrder['additional_costs']; $aOrderRow['*:预存款'] = $aOrder['deposit']; $aOrderRow['*:是否开发票'] = $aOrder['is_tax'] == 'true'?'是':'否'; $aOrderRow['*:订单审核人'] = $order_check_id; $aOrderRow['*:销售时间'] = $sale_time; $aOrderRow['*:下单时间'] = $order_create_time; $aOrderRow['*:付款时间'] = $paytime; $aOrderRow['*:订单审核时间'] = $order_check_time; $aOrderRow['*:发货时间'] = $ship_time; $aOrderRow['*:收货人姓名'] = $ship_name; $aOrderRow['*:收货人地区'] = $ship_area; $aOrderRow['*:收货人地址'] = $ship_addr; $aOrderRow['*:收货人邮编'] = $ship_zip; $aOrderRow['*:收货人固定电话'] = $ship_tel; $aOrderRow['*:收货人Email'] = $ship_email; $aOrderRow['*:收货人手机'] = $ship_mobile; $data['content']['sales'][] = $this->charset->utf2local('"'.implode( '","', $aOrderRow ).'"'); $objects = $sales_items[$aOrder['sale_id']]; if ($objects){ foreach ($objects as $obj){ $orderObjRow = array(); $orderObjRow['*:销售单号'] ="=\"\"".$aOrder['sale_bn']."\"\""; $orderObjRow['*:订单号'] = "=\"\"".$order_bn."\"\""; $orderObjRow['*:货号'] = $obj['bn']; $orderObjRow['*:商品名称'] = str_replace([',', "\n"], '', $obj['name']); $orderObjRow['*:商品规格'] = str_replace([',', "\n"], '', $obj['spec_name']); $orderObjRow['*:吊牌价'] = $obj['price']; $orderObjRow['*:数量'] = $obj['nums']; $orderObjRow['*:货品优惠'] = $obj['pmt_price']; $orderObjRow['*:数量'] = $obj['nums']; $orderObjRow['*:销售总价'] = $obj['sale_price']; $orderObjRow['*:平摊优惠'] = $obj['apportion_pmt']; $orderObjRow['*:销售金额'] = $obj['sales_amount']; $data['content']['sales_items'][] = $this->charset->utf2local('"'.implode( '","', $orderObjRow ).'"'); } } } $data['name'] = 'sales'.date("YmdHis"); return true; } function export_csv($data,$exportType = 1 ){ $output = array(); foreach( $data['title'] as $k => $val ){ $output[] = $val."\n".implode("\n",(array)$data['content'][$k]); } echo implode("\n",$output); } /** * modifier_order_check_id * @param mixed $row row * @return mixed 返回值 */ public function modifier_order_check_id($row){ switch($row){ case 0: $ret = '无'; break; case 16777215: $ret = '系统'; break; default: $ret = $this->_getUserName($row); break; } return $ret; } private function _getUserName($uid) { if (self::$__USERS === null) { self::$__USERS = array(); $rows = app::get('desktop')->model('users')->getList('*'); foreach($rows as $row) { self::$__USERS[$row['user_id']] = $row['name']; } } if (isset(self::$__USERS[$uid])) { return self::$__USERS[$uid]; } else { return '无'; } } /** * 获得日志类型(non-PHPdoc) * @see dbeav_model::getLogType() */ public function getLogType($logParams) { $type = $logParams['type']; $logType = 'none'; if ($type == 'export') { $logType = $this->exportLogType($logParams); } elseif ($type == 'import') { $logType = $this->importLogType($logParams); } return $logType; } /** * 导出日志类型 * @param Array $logParams 日志参数 */ public function exportLogType($logParams) { $params = $logParams['params']; $type = 'bill'; if ($logParams['app'] == 'sales' && $logParams['ctl'] == 'admin_sales') { $type .= '_salesBill_sales'; } $type .= '_export'; return $type; } /** * 导入操作日志类型 * @param Array $logParams 日志参数 */ public function importLogType($logParams) { $params = $logParams['params']; $type = 'bill'; if ($logParams['app'] == 'sales' && $logParams['ctl'] == 'admin_sales') { $type .= '_salesBill_sales'; } $type .= '_import'; return $type; } public function getexportdetail($fields,$filter,$offset=0,$limit=1,$has_title=false) { $salesList = array(); $archive_ordobj = kernel::single('archive_interface_orders'); $sales_arr = $this->getList('sale_bn,order_id,sale_id,selling_agent_id', array('sale_id' => $filter['sale_id']), 0, -1); foreach ($sales_arr as $sale) { $sales_bn[$sale['sale_id']] = $sale['sale_bn']; $sales_order_ids[$sale['order_id']] = $sale['sale_id']; $order_ids[] = $sale['order_id']; $salesList[$sale['sale_id']] = $sale; } // 所有的订单信息 $ordersObj = app::get('ome')->model('orders'); $orders_arr = $ordersObj->getList('order_id,order_bn',array('order_id'=>$order_ids)); foreach($orders_arr as $order) { if(isset($sales_order_ids[$order['order_id']])){ $orders_bn[$sales_order_ids[$order['order_id']]] = $order['order_bn']; } } $orders_arr = $archive_ordobj->getOrder_list(array('order_id'=>$order_ids),'order_id,order_bn'); foreach($orders_arr as $order) { if(isset($sales_order_ids[$order['order_id']])){ $orders_bn[$sales_order_ids[$order['order_id']]] = $order['order_bn']; } } $saleItemsObj = app::get('ome')->model('sales_items'); $sale_items_arr = $saleItemsObj->getList('*',array('sale_id'=>$filter['sale_id'])); //格式化[防止促销销售物料没有显示关联的基础物料] if($sale_items_arr) { $salesBasicMaterialObj = app::get('material')->model('sales_basic_material'); $orderItemObj = app::get('ome')->model('order_items'); $orderObjects = app::get('ome')->model('order_objects'); $material_sales_type = array('product'=>'普通', 'pkg'=>'促销', 'gift'=>'赠品','lkb'=>'福袋', 'pko'=>'多选一'); $dataList = $sale_items_arr; $sale_items_arr = array(); //代销人对象 $agent_obj = app::get('ome')->model('order_selling_agent'); foreach ($dataList as $key => $val) { $temp_order_id = $salesList[$val['sale_id']]['order_id']; if(empty($val['product_id'])) { #促销销售物料 $filter = array('order_id'=>$temp_order_id, 'bn'=>$val['bn'], 'obj_type'=>'pkg'); $getItem = $orderObjects->dump($filter, 'obj_id, goods_id, bn, name'); if(empty($getItem)) { continue; } #关联基础物料 $filter = array('obj_id'=>$getItem['obj_id']); $getList = $orderItemObj->getList('item_id, product_id, bn, name, price, pmt_price, sale_price, amount, nums, `delete`, item_type', $filter); if(empty($getList)) { continue; } #优惠金额平摊 $items_count = count($getList); if($val['apportion_pmt'] || $val['pmt_price']) { #关联基础物料贡献占比 $salesBasicMList = array(); $tempData = $salesBasicMaterialObj->getList('bm_id, rate', array('sm_id'=>$getItem['goods_id'])); foreach ($tempData as $sKey => $sVal) { $salesBasicMList[$sVal['bm_id']] = $sVal['rate']; } } #平摊优惠金额 $bm_rate = 0; $apportion_pmt = 0; $pmt_price = 0; $item_i = 0; foreach ($getList as $itemKey => $ordItem) { $temp_item_data = array(); $temp_item_data = $val; $temp_item_data['bn'] = $ordItem['bn']; $temp_item_data['name'] = $ordItem['name']; $temp_item_data['price'] = $ordItem['price']; $temp_item_data['nums'] = $ordItem['nums']; $temp_item_data['pmt_price'] = $ordItem['pmt_price'];//取item层货品优惠,默认都是0 $temp_item_data['sale_price'] = $ordItem['sale_price']; $temp_item_data['sales_amount'] = $ordItem['amount']; //$temp_item_data['obj_type'] = $ordItem['item_type']; $temp_item_data['type_name'] = $val['obj_type'] ? $material_sales_type[$val['obj_type']] : $material_sales_type[$ordItem['item_type']]; $temp_item_data['sm_id'] = $getItem['goods_id']; $temp_item_data['sales_material_bn'] = $getItem['bn']; $temp_item_data['sales_material_name'] = $getItem['name']; #计算平摊优惠 if($val['apportion_pmt']) { $item_i++; if($item_i == $items_count) { $temp_item_data['apportion_pmt'] = $val['apportion_pmt'] - $apportion_pmt; //$temp_item_data['pmt_price'] = $val['pmt_price'] - $pmt_price; //PKG销售金额 = 销售金额 - 平摊优惠 $temp_item_data['sales_amount'] = $temp_item_data['sales_amount'] - $temp_item_data['apportion_pmt']; } else { $bm_rate = $salesBasicMList[$ordItem['product_id']] / 100; $temp_item_data['apportion_pmt'] = round(($val['apportion_pmt'] * $bm_rate), 2); //$temp_item_data['pmt_price'] = round(($val['pmt_price'] * $bm_rate), 2); //PKG销售金额 = 销售金额 - 平摊优惠 $temp_item_data['sales_amount'] = $temp_item_data['sales_amount'] - $temp_item_data['apportion_pmt']; $apportion_pmt += $temp_item_data['apportion_pmt']; //$pmt_price += $temp_item_data['pmt_price']; } } $agent_info = $agent_obj->dump(array('selling_agent_id' => $salesList[$val['sale_id']]['selling_agent_id'])); $temp_item_data['agent_uname'] = $agent_info['member_info']['uname']; $sale_items_arr[] = $temp_item_data; } } else { #基础物料信息 $filter = array('order_id'=>$temp_order_id, 'product_id'=>$val['product_id'], 'item_type'=>array('product', 'gift')); $getItem = $orderItemObj->dump($filter, 'item_id, obj_id, item_type'); //$val['obj_type'] = $getItem['item_type']; $val['type_name'] = $val['obj_type'] ? $material_sales_type[$val['obj_type']] : $material_sales_type[$getItem['item_type']]; #关联销售物料信息 $getItem = $orderObjects->dump(array('obj_id'=>$getItem['obj_id']), 'obj_id, goods_id, bn, name'); $val['sm_id'] = $getItem['goods_id']; $val['sales_material_bn'] = $getItem['bn']; $val['sales_material_name'] = $getItem['name']; $agent_info = $agent_obj->dump(array('selling_agent_id' => $salesList[$val['sale_id']]['selling_agent_id'])); $val['agent_uname'] = $agent_info['member_info']['uname']; $sale_items_arr[] = $val; } } #销毁 unset($dataList, $temp_item_data, $filter, $getItem, $getList, $material_sales_type); } $row_num = 1; if($sale_items_arr){ foreach ($sale_items_arr as $key => $sale_item) { $sale_item['name'] = str_replace(array("\r\n", "\r", "\n"), "", $sale_item['name']); $saleItemRow['bn'] = mb_convert_encoding($sale_item['bn'], 'GBK', 'UTF-8'); $saleItemRow['name'] = $sale_item['name']; $saleItemRow['type_name'] = $sale_item['type_name']; $saleItemRow['sales_material_bn'] = mb_convert_encoding($sale_item['sales_material_bn'], 'GBK', 'UTF-8'); $saleItemRow['sales_material_name'] = str_replace([',', "\n"], '', $sale_item['sales_material_name']); $saleItemRow['spec_name'] = str_replace([',', "\n"], '', $sale_item['spec_name']); $saleItemRow['price'] = $sale_item['price']; $saleItemRow['pmt_price'] = $sale_item['pmt_price']; $saleItemRow['nums'] = $sale_item['nums']; $saleItemRow['sale_price'] = $sale_item['sale_price']; $saleItemRow['apportion_pmt'] = $sale_item['apportion_pmt']; $saleItemRow['sales_amount'] = $sale_item['sales_amount']; $saleItemRow['platform_amount'] = $sale_item['platform_amount']; $saleItemRow['settlement_amount'] = $sale_item['settlement_amount']; $saleItemRow['actually_amount'] = $sale_item['actually_amount']; $saleItemRow['platform_pay_amount'] = $sale_item['platform_pay_amount']; $saleItemRow['agent_uname'] = mb_convert_encoding($sale_item['agent_uname'], 'GBK', 'UTF-8'); $data[$sale_item['sale_id']][] = $saleItemRow; $row_num++; } } //明细标题处理 if($data && $has_title){ $title = array( '*:销售单号', '*:订单号', '*:基础物料编码', '*:基础物料名称', '*:销售物料类型', '*:关联销售物料编码', '*:关联销售物料名称', '*:商品规格', '*:吊牌价', '*:货品优惠', '*:数量', '*:销售总价', '*:平摊优惠', '*:销售金额', '*:代销人用户名', ); foreach ((array)$title as $key => $value) { $title[$key] = mb_convert_encoding($value, 'GBK', 'UTF-8'); } $data[0] = implode(',', $title); } ksort($data); return $data; } /** * 订单导出列表扩展字段 */ function export_extra_cols(){ return array( 'column_ship_name' => array('label'=>'收货人姓名','width'=>'100','func_suffix'=>'ship_name'), 'column_ship_area' => array('label'=>'收货人地区','width'=>'100','func_suffix'=>'ship_area'), 'column_ship_addr' => array('label'=>'收货人地址','width'=>'150','func_suffix'=>'ship_addr'), 'column_ship_zip' => array('label'=>'收货人邮编','width'=>'100','func_suffix'=>'ship_zip'), 'column_ship_tel' => array('label'=>'收货人固定电话','width'=>'100','func_suffix'=>'ship_tel'), 'column_ship_email' => array('label'=>'收货人Email','width'=>'100','func_suffix'=>'ship_email'), 'column_ship_mobile' => array('label'=>'收货人手机','width'=>'100','func_suffix'=>'ship_mobile'), 'column_delivery_bn' => array('label'=>'发货单号','width'=>'100','func_suffix'=>'delivery_bn'), ); } /** * 收货人姓名扩展导出字段 */ function export_extra_ship_name($rows){ return kernel::single('sales_exportextracolumn_sales_shipname')->process($rows); } /** * 收货人地区扩展导出字段 */ function export_extra_ship_area($rows){ return kernel::single('sales_exportextracolumn_sales_shiparea')->process($rows); } /** * 收货人地址扩展导出字段 */ function export_extra_ship_addr($rows){ return kernel::single('sales_exportextracolumn_sales_shipaddr')->process($rows); } /** * 收货人邮编扩展导出字段 */ function export_extra_ship_zip($rows){ return kernel::single('sales_exportextracolumn_sales_shipzip')->process($rows); } /** * 收货人固定电话扩展导出字段 */ function export_extra_ship_tel($rows){ return kernel::single('sales_exportextracolumn_sales_shiptel')->process($rows); } /** * 收货人Email扩展导出字段 */ function export_extra_ship_email($rows){ return kernel::single('sales_exportextracolumn_sales_shipemail')->process($rows); } /** * 收货人手机扩展导出字段 */ function export_extra_ship_mobile($rows){ return kernel::single('sales_exportextracolumn_sales_shipmobile')->process($rows); } /** * 发货单号扩展导出字段 */ function export_extra_delivery_bn($rows){ return kernel::single('sales_exportextracolumn_sales_deliverybn')->process($rows); } /** * 单据来源. * @param type $varname description * @return type description * @access public * @author cyyr24@sina.cn */ function modifier_archive($row) { if($row == '1'){ $row = sprintf("