load->_model('Model_whlabel', 'whlabel'); $this->load->_model('Model_warehouse', 'warehouse'); $this->load->_model('Model_specialstock', 'specialstock'); $this->load->_model('Model_logic_u9tools','logic_u9tools'); $this->load->_model('Model_classid','classid'); $this->load->_model('Model_typeclass','typeclass'); $this->load->_model('Model_purchase', 'purchase'); $this->load->_model("Model_shop", "shop"); } //定义方法的调用规则 获取URI第二段值 public function _remap($arg, $arg_array) { if ($arg == 'bqckexcel') // { //获取标签出库的按条件导出的excel $this->_bqck_excel(); } elseif ($arg == 'bqrkexcel') // { //获取标签出库的按条件导出的excel $this->_bqrk_excel(); } elseif ($arg == 'whlabel_cprk_excel') // { $this->_whlabel_cprk_excel(); } else { $this->_index(); } } private function _index(){ die('No direct script access allowed'); } private function _bqck_excel(){ if (isset($_GET['excel'])) { //统计时间 $timetk = $this->input->get('timetk', true); $timetj = $this->input->get('timetj', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $category = $this->input->get('category',true); //类目 $size = $this->input->get('size',true);//长度 $grade = $this->input->get('grade',true);//等级 $color = $this->input->get('color',true);//颜色 $lowe = $this->input->get('lowe',true);//曲度 $sku = $this->input->get('sku',true);//sku $warehouse = $this->input->get('warehouse',true);//仓库 $purchase = $this->input->get('purchase',true);//供应商 $where = "state=1 "; if ($timetk && $timetj) { $where .= " and outk > '$timetk' and outk < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } $ck = ($warehouse == '12') ? 'specialstock' : 'whlabel'; $order_str = "outk desc"; //取得信息列表 $info_list = $this->$ck->find_all($where, 'id,warehouse,purchase,sku,title,features,state,outk,details', $order_str); $classid = $this->classid->sku(); $tcall = $this->typeclass->find_all(); $typeclass = array(); foreach ($tcall as $v) { //$tcjm[$v['id']] = array($v['jm'],$v['classid']); $typeclass[$v['id']] = array('zh'=>$v['zh'],'classid'=>$v['classid'],'bm'=>$v['bm'],'title'=>$v['title'],'jm'=>$v['jm']); } $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = ($ck == 'specialstock') ? '特殊仓' : $warehouse['title']; $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $u9_info = $this->logic_u9tools->getOneU9bm($value['features'],$classid,$typeclass); $info_list[$key]['features'] = empty($u9_info['jm'])?"?**?":$u9_info['jm']; if ($value['state'] == 0) { $info_list[$key]['state'] = "在库"; } else if ($value['state'] == 1) { $info_list[$key]['state'] = "出库"; } else if ($value['state'] == 2) { $info_list[$key]['state'] = "退库"; } else if ($value['state'] == 3) { $info_list[$key]['state'] = "调拨中"; } else if ($value['state'] == 4) { $info_list[$key]['state'] = "再加工"; } else if ($value['state'] == 5) { $info_list[$key]['state'] = "维修中"; } else if ($value['state'] == 6) { $info_list[$key]['state'] = "盘亏"; } else if ($value['state'] == 7) { $info_list[$key]['state'] = "更换标签"; } else if ($value['state'] == 8) { $info_list[$key]['state'] = "其它"; } else if ($value['state'] == 9) { $info_list[$key]['state'] = "预设"; } else if ($value['state'] == 10) { $info_list[$key]['state'] = "美店零售"; } $info_list[$key]['outk'] = date('Y-m-d H:i:s', $value['outk']); } //生成excel $filename = date("Y-m-d")."标签出库导出.xls"; $str = " "; $str .= ""; $str .= ""; foreach ($info_list as $key=>$value) { $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; } $str .= "
仓库供应商SKU名称料号状态出库时间所在位置
". $value['warehouse']. "". $value['purchase']. "". $value['sku']. "". $value['title']. "". $value['features']. "". $value['state']. "". $value['outk']. "". $value['details']. "
"; header( "Content-Type: application/vnd.ms-excel; name='excel'" ); header( "Content-type: application/octet-stream" ); header( "Content-Disposition: attachment; filename=".$filename ); header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Pragma: no-cache" ); header( "Expires: 0" ); exit($str); }else{ } } public function _bqrk_excel(){ if (isset($_GET['excel'])) { $sku = $this->input->get('sku', true); $bs = $this->input->get('bs', true); $number = $this->input->get('number', true); $warehouse = $this->input->get('warehouse', true); $purchase = $this->input->get('purchase', true); $orderinfo = $this->input->get('orderinfo', true); $waybill = $this->input->get('waybill', true); $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $state = $this->input->get('state', true); $label = $this->input->get('label', true); $timetk = $this->input->get('ktime', true); $timetj = $this->input->get('jtime', true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "1=1 "; if ($timetk && $timetj) { $where .= " and enter > '$timetk' and enter < '$timetj'"; } if ($sku) { $where .= " and sku = '$sku'"; } if ($bs != '') { $where .= " and bs = '$bs'"; } if ($number) { $where .= " and number = '$number'"; } if ($warehouse) { $where .= " and warehouse = '$warehouse'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if ($waybill) { $where .= " and waybill = '$waybill'"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($label) { $where .= " and label = '$label'"; } if ($state || $state == 0) { $where .= " and state = '$state'"; } $ck = ($warehouse == '12') ? 'specialstock' : 'whlabel'; //数据排序 $order_str = "enter desc"; //取得信息列表 $info_list = $this->$ck->find_all($where, 'id,warehouse,purchase,sku,title,features,state,enter,details', $order_str); $prc = array(); $purchase = $this->purchase->find_all(); foreach ($purchase as $k => $v) { $prc[$v['id']] = $v['title']; } $classid = $this->classid->sku(); $tcall = $this->typeclass->find_all(); foreach ($tcall as $v) { //$tcjm[$v['id']] = array($v['jm'],$v['classid']); $typeclass[$v['id']] = array('zh'=>$v['zh'],'classid'=>$v['classid'],'bm'=>$v['bm'],'title'=>$v['title'],'jm'=>$v['jm']); } foreach ($info_list as $key => $value) { $warehouse = $this->warehouse->read($value['warehouse']); $info_list[$key]['warehouse'] = ($ck == 'specialstock') ? '特殊仓' : $warehouse['title']; $info_list[$key]['purchase'] = (isset($prc[$value['purchase']])) ? $prc[$value['purchase']] : '未知'; $u9_info = $this->logic_u9tools->getOneU9bm($value['features'],$classid,$typeclass); $info_list[$key]['features'] = empty($u9_info['jm'])?"?**?":$u9_info['jm']; if ($value['state'] == 0) { $info_list[$key]['state'] = "在库"; } else if ($value['state'] == 1) { $info_list[$key]['state'] = "出库"; } else if ($value['state'] == 2) { $info_list[$key]['state'] = "退库"; } else if ($value['state'] == 3) { $info_list[$key]['state'] = "调拨中"; } else if ($value['state'] == 4) { $info_list[$key]['state'] = "再加工"; } else if ($value['state'] == 5) { $info_list[$key]['state'] = "维修中"; } else if ($value['state'] == 6) { $info_list[$key]['state'] = "盘亏"; } else if ($value['state'] == 7) { $info_list[$key]['state'] = "更换标签"; } else if ($value['state'] == 8) { $info_list[$key]['state'] = "其它"; } else if ($value['state'] == 9) { $info_list[$key]['state'] = "预设"; } else if ($value['state'] == 10) { $info_list[$key]['state'] = "美店零售"; } $info_list[$key]['enter'] = date('Y-m-d H:i:s', $value['enter']); } //生成excel $filename = date("Y-m-d")."标签入库导出.xls"; $str = " "; $str .= ""; $str .= ""; foreach ($info_list as $key=>$value) { $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; } $str .= "
仓库供应商SKU名称料号状态入库时间所在位置
". $value['warehouse']. "". $value['purchase']. "". $value['sku']. "". $value['title']. "". $value['features']. "". $value['state']. "". $value['enter']. "". $value['details']. "
"; header( "Content-Type: application/vnd.ms-excel; name='excel'" ); header( "Content-type: application/octet-stream" ); header( "Content-Disposition: attachment; filename=".$filename ); header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Pragma: no-cache" ); header( "Expires: 0" ); exit($str); } } public function _whlabel_cprk_excel(){ if (empty($_SESSION['api'])) { exit('No direct script access allowed'); } $user = $this->user->get_api($_SESSION['api']); $warehouses = $user['warehouse']; if(empty($warehouses)){ exit('没有仓库权限!!!'); } $warehouses = explode('|',trim($warehouses,'|')); $ware_list = []; foreach ($warehouses as $v) { if(!empty($v)){ $ware_list[] = $v; } } $category = $this->input->get('category', true); $size = $this->input->get('size', true); $grade = $this->input->get('grade', true); $color = $this->input->get('color', true); $lowe = $this->input->get('lowe', true); $sku = $this->input->get('sku', true); $warehouse = $this->input->get('warehouse', true); $purchase = $this->input->get('purchase', true); $ktime = $this->input->get('ktime', true); $jtime = $this->input->get('jtime', true); $ktime = strtotime($ktime); $jtime = strtotime($jtime); $where = ""; if ($warehouse) { if(in_array($warehouse,$ware_list)){ $where .= " warehouse = '$warehouse' "; }else{ $where .= " warehouse = 0 "; } }else{ $where .= " warehouse in (".implode(',',$ware_list).")"; } if ($category) { $where .= " and features like '%-$category-%'"; } if ($size) { $where .= " and features like '%-$size-%'"; } if ($grade) { $where .= " and features like '%-$grade-%'"; } if ($color) { $where .= " and features like '%-$color-%'"; } if ($lowe) { $where .= " and features like '%-$lowe-%'"; } if ($purchase) { $where .= " and purchase = '$purchase'"; } if ($sku) { $where .= " and sku like '%$sku%'"; } if ($ktime && $jtime) { $where .= " and enter > '$ktime' and enter < '$jtime'"; } //取得信息列表 $info_list = $this->whlabel->find_pc($where, 'enter,warehouse,sku', 'id,warehouse,sku,title,enter,features'); if(!empty($info_list)){ $wh = array(); $w = $this->warehouse->find_all('1=1', 'id,title'); foreach ($w as $v) { $wh[$v['id']] = $v['title']; } $classid = $this->classid->sku(); $tcall = $this->typeclass->find_all(); foreach ($tcall as $v) { //$tcjm[$v['id']] = array($v['jm'],$v['classid']); $typeclass[$v['id']] = array('zh'=>$v['zh'],'classid'=>$v['classid'],'bm'=>$v['bm'],'title'=>$v['title'],'jm'=>$v['jm']); } foreach ($info_list as $k => $v) { $info_list[$k]['warehouse'] = $wh[$v['warehouse']]; $info_list[$k]['enter'] = date('Y-m-d H:i:s', $v['enter']); $g = $this->whlabel->find_count($where . ' and enter = "' . $v['enter'] . '" and sku = "' . $v['sku'] . '" and warehouse = "' . $v['warehouse'] . '"'); $info_list[$k]['g'] = $g; $u9_info = $this->logic_u9tools->getOneU9bm($v['features'],$classid,$typeclass); $info_list[$k]['features'] = empty($u9_info['jm'])?"?**?":$u9_info['jm']; } } //生成excel $filename = date("Y-m-d")."产品入库导出.xls"; $str = " "; $str .= ""; $str .= ""; foreach ($info_list as $key=>$value) { $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; } $str .= "
仓库SKU产品名称入库时间数量料号
". $value['warehouse']. "". $value['sku']. "". $value['title']. "". $value['enter']. "". $value['g']. "". $value['features']. "
"; header( "Content-Type: application/vnd.ms-excel; name='excel'" ); header( "Content-type: application/octet-stream" ); header( "Content-Disposition: attachment; filename=".$filename ); header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Pragma: no-cache" ); header( "Expires: 0" ); exit($str); } }