load->_model('Model_classid','classid'); $this->load->_model('Model_typeclass','typeclass'); } //获取u9的料号 public function getU9bm(array $list,$sku_name){ if(empty($list)){ return []; } $tcjm = []; $typeclass = []; $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($list as $k=>$v){ $r = $this->getOneU9bm($v[$sku_name],$classid,$typeclass); $list[$k]['jm'] = $r['jm']; $list[$k]['zh'] = $r['zh']; $list[$k]['bm'] = $r['bm']; } return $list; } public function getOneU9bm($sku,$classid,$typeclass){ $bm = '03'; $ret_arr = [ 'jm'=>"",//料号,SKU 'zh'=>"",//产品名称 'bm'=>"",//主分类下的编码 ]; if(stripos($sku,'-131-') !== false) { return $ret_arr; } $pm = $classid; $jm = $classid; $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>''); $features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$sku); $features = explode("-",trim($sku,'-')); foreach($features as $k=>$v) { if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']])) { if($typeclass[$v]['bm'] != '') { $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm']; } } if($v != 0) { if(isset($pm[$typeclass[$v]['classid']])) { if($typeclass[$v]['title'] == '9A') { $pm[$typeclass[$v]['classid']] = '9A'; } else if($typeclass[$v]['title'] == '10A') { $pm[$typeclass[$v]['classid']] = '10A'; } else { $clzh = $typeclass[$v]['zh']; if(stripos($typeclass[$v]['zh'],'|') !== false) { $clzh = explode('|',rtrim($typeclass[$v]['zh'],'|')); $clzh = $clzh[0]; } $pm[$typeclass[$v]['classid']] = $clzh; } } if(isset($jm[$typeclass[$v]['classid']])) { if($typeclass[$v]['jm']) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } } $jm = array_filter($jm);//去除空值 $jm = implode("-",$jm); $pm = array_filter($pm);//去除空值 $zh = implode(" ",$pm); $zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' ')); return [ 'jm'=>$jm,//料号,SKU 'zh'=>$zh,//产品名称 'bm'=>$bm.implode("",$bmpx),//主分类下的编码 ]; } }