| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 | <?php defined('BASEPATH') or exit('No direct script access allowed');/** * 由于whlabel类下的代码太长了,决定以后非必要代码都放在whlabelfz类中,以便于管理。 */class Whlabelfz extends Start_Controller{	public function __construct()	{        parent::__construct();        $this->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');    }    //定义方法的调用规则 获取URI第二段值	public function _remap($arg, $arg_array)	{		if ($arg == 'bqckexcel') //		{            //获取标签出库的按条件导出的excel			$this->_bqck_excel();		}         if ($arg == 'bqrkexcel') //		{            //获取标签出库的按条件导出的excel			$this->_bqrk_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 = "<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">            <head>            <!--[if gte mso 9]><xml>            <x:ExcelWorkbook>            <x:ExcelWorksheets>            <x:ExcelWorksheet>            <x:Name>EXCEL</x:Name>            <x:WorksheetOptions>            <x:Print>            <x:ValidPrinterInfo />            </x:Print>            </x:WorksheetOptions>            </x:ExcelWorksheet>            </x:ExcelWorksheets>            </x:ExcelWorkbook>            </xml>            <![endif]-->            </head><body>";            $str .= "<table border=1 style='font-family: Microsoft Yahei;font-size: 13px;'>";             $str .= "<tr><td>仓库</td><td>供应商</td><td>SKU</td><td>名称</td><td>料号</td><td>状态</td><td>出库时间</td><td>所在位置</td></tr>";            foreach ($info_list as $key=>$value)             {                                 $str .= "<tr>";                $str .= "<td>". $value['warehouse']. "</td>";                $str .= "<td>". $value['purchase']. "</td>";	                $str .= "<td>". $value['sku']. "</td>";	                $str .= "<td>". $value['title']. "</td>";                $str .= "<td>". $value['features']. "</td>";                $str .= "<td>". $value['state']. "</td>";                $str .= "<td>". $value['outk']. "</td>";                $str .= "<td>". $value['details']. "</td>";                $str .= "</tr>";            }            $str .= "</table></body></html>";             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 = "<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">            <head>            <!--[if gte mso 9]><xml>            <x:ExcelWorkbook>            <x:ExcelWorksheets>            <x:ExcelWorksheet>            <x:Name>EXCEL</x:Name>            <x:WorksheetOptions>            <x:Print>            <x:ValidPrinterInfo />            </x:Print>            </x:WorksheetOptions>            </x:ExcelWorksheet>            </x:ExcelWorksheets>            </x:ExcelWorkbook>            </xml>            <![endif]-->            </head><body>";            $str .= "<table border=1 style='font-family: Microsoft Yahei;font-size: 13px;'>";             $str .= "<tr><td>仓库</td><td>供应商</td><td>SKU</td><td>名称</td><td>料号</td><td>状态</td><td>入库时间</td><td>所在位置</td></tr>";            foreach ($info_list as $key=>$value)             {                                 $str .= "<tr>";                $str .= "<td>". $value['warehouse']. "</td>";                $str .= "<td>". $value['purchase']. "</td>";	                $str .= "<td>". $value['sku']. "</td>";	                $str .= "<td>". $value['title']. "</td>";                $str .= "<td>". $value['features']. "</td>";                $str .= "<td>". $value['state']. "</td>";                $str .= "<td>". $value['enter']. "</td>";                $str .= "<td>". $value['details']. "</td>";                $str .= "</tr>";            }            $str .= "</table></body></html>";             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); 					}    }}
 |