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 .= "仓库 | 供应商 | SKU | 名称 | 料号 | 状态 | 出库时间 | 所在位置 |
";
foreach ($info_list as $key=>$value)
{
$str .= "";
$str .= "". $value['warehouse']. " | ";
$str .= "". $value['purchase']. " | ";
$str .= "". $value['sku']. " | ";
$str .= "". $value['title']. " | ";
$str .= "". $value['features']. " | ";
$str .= "". $value['state']. " | ";
$str .= "". $value['outk']. " | ";
$str .= "". $value['details']. " | ";
$str .= "
";
}
$str .= "
";
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 .= "仓库 | 供应商 | SKU | 名称 | 料号 | 状态 | 入库时间 | 所在位置 |
";
foreach ($info_list as $key=>$value)
{
$str .= "";
$str .= "". $value['warehouse']. " | ";
$str .= "". $value['purchase']. " | ";
$str .= "". $value['sku']. " | ";
$str .= "". $value['title']. " | ";
$str .= "". $value['features']. " | ";
$str .= "". $value['state']. " | ";
$str .= "". $value['enter']. " | ";
$str .= "". $value['details']. " | ";
$str .= "
";
}
$str .= "
";
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($warehouse){
$where .= " warehouse = '$warehouse' ";
}else{
$where .=" 1 = 1 ";
}
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,shop,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;
if(!empty($v['features'])){
$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 .= "仓库 | SKU | 产品名称 | 入库时间 | 数量 | 料号 |
";
foreach ($info_list as $key=>$value)
{
$str .= "";
$str .= "". $value['warehouse']. " | ";
$str .= "". $value['sku']. " | ";
$str .= "". $value['title']. " | ";
$str .= "". $value['enter']. " | ";
$str .= "". $value['g']. " | ";
$str .= "". $value['features']. " | ";
$str .= "
";
}
$str .= "
";
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);
}
}