123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467 |
- <?php
- /**
- * 封装一些转化为u9数据的操作
- */
- class Model_logic_u9tools extends Lin_Model {
- function __construct(){
- parent::__construct();
- $this->load->_model('Model_classid','classid');
- $this->load->_model('Model_typeclass','typeclass');
- $this->load->_model("Model_logic_tools",'logic_tools');
- $this->load->_model("Model_logic_ding","logic_ding");
- }
- //获取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($typeclass[$v])){
- $this->logic_ding->sendToDing("u9工具同步监听异常数据".json_encode($sku));
- $this->logic_ding->sendToDing("u9工具同步监听异常数据".json_encode($typeclass));
- $this->logic_ding->sendToDing("u9工具同步监听异常数据".json_encode($classid));
- $this->logic_ding->sendToDing("u9工具同步监听异常数据".json_encode($v));
- }
- 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),//主分类下的编码
- ];
- }
- public function getOneU9bmHasGift($sku,$classid,$typeclass){
- $bm = '03';
-
- $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])){
-
- 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),//主分类下的编码
- ];
- }
- /**
- * 通过erp的组合出来的sku反推出erp的sku的id组合和u9的编码以及中文名和料品 这种仅限于满足老代码排序的那种 要是不满足 再重新开一个方法吧
- */
- public function getGoodInfoByErpSku($category,$sku,$typeclass,$typeclassid,$classid){
- $sku_arr = explode("-",trim($sku,"-"));
- $sku_list = [];
- $flag = false;
- $err_msg = "";
- foreach($sku_arr as $v){
- if(!isset($typeclass[$v])){
- $err_msg="u9组合的[".$v."]不存在,请核对";
- $flag = true;
- }else{
- $sku_list[$typeclass[$v]['classid']] = $typeclass[$v];
- }
-
- }
- if($flag){
- return $this->logic_tools->ret_arr(-1,$err_msg."异常行的料号为【".$sku."】");
- }
- if($category == "发条"){
- $cate = 126;
- }elseif($category == "发块前头"){
- $cate = 127;
- }elseif($category == "头套"){
- $cate = 128;
- }elseif($category == "接发"){
- $cate = 130;
- }elseif($category == "礼物"){
- $cate = 131;
- }
- elseif($category == "配件"){
- $cate = 133;
- }
- elseif($category == "化纤头套"){
- $cate = 1297;
- }
- elseif($category == "化纤其它"){
- $cate = 1702;
- }
- else{
- return $this->logic_tools->ret_arr(-1,"分类异常请手动输入"."异常行的料号为【".$sku."】");
- }
- $list['category'] = $cate; //类目
- if(isset($sku_list[22])){
- $list['hairtype'] = $sku_list[22]['id']; //真人发类型
- }
- if(isset($sku_list[13])){
- $list['grade'] = $sku_list[13]['id'];//等级
- }
- if(isset($sku_list[14])){
- $list['size'] = $sku_list[14]['id'];//长度
- }
- if(isset($sku_list[43])){
- $list['hairnumber'] = $sku_list[43]['id'];//人发头套编号
- }
-
- if(isset($sku_list[33])){
- $list['extension'] = $sku_list[33]['id'];//Extension类型
- }
- if( $cate == 1297)
- {
- if(isset($sku_list[40])){
- $list['sywignumber'] = $sku_list[40]['id'];//化纤头套编号
- }
- }
- if( $cate == 1702)
- {
- if(isset($sku_list[47])){
- $list['syhairnumber'] = $sku_list[47]['id'];//化纤发编号
- }
- if(isset($sku_list[46])){
- $list['syother'] = $sku_list[46]['id'];//化纤其它分类
- }
- }
- if($cate == 133)
- {
- if(isset($sku_list[35])){
- $list['fittype'] = $sku_list[35]['id'];//配件类型
- }
- if(isset($sku_list[45])){
- $list['acother'] = $sku_list[45]['id'];//配件其他
- }
-
- }
- if(isset($sku_list[8])){
- $list['color'] = $sku_list[8]['id'];//头发颜色
- }
- if(isset($sku_list[15])){
- $list['lowe'] = $sku_list[15]['id'];//曲 度
- }
- if($cate == 127)
- {
- if(isset($sku_list[27])){
- $list['type'] = $sku_list[27]['id']; //类 型
- }
- if(isset($sku_list[12])){
- $list['headroad'] = $sku_list[12]['id']; //头路设计
- }
- if(isset($sku_list[10])){
- $list['density'] = $sku_list[10]['id']; //密 度
- }
- if($list['type'] == 195 || $list['type'] == 197 || $list['type'] == 199)
- {
- //蕾丝尺寸
- if(isset($sku_list[25])){
- $list['lacesize'] = $sku_list[25]['id'];
- }
- if(isset($sku_list[26])){
- $list['lacesize'] = $sku_list[26]['id'];
- }
-
- }
- if(isset($sku_list[9])){
- $list['lacecolor'] = $sku_list[9]['id'];//蕾丝颜色
- }
- if(isset($sku_list[44])){
- $list['lacetypes'] = $sku_list[44]['id'];//蕾丝类型
- }
- }
- if($cate == 128)
- {
- if(isset($sku_list[18])){
- $list['lacetype'] = $sku_list[18]['id'];//头套种类
- }
- if(isset($sku_list[6])){
- $list['haircap'] = $sku_list[6]['id'];//发帽大小
- }
- if(isset($sku_list[10])){
- $list['density'] = $sku_list[10]['id'];//密 度
- }
- if(isset($sku_list[9])){
- $list['lacecolor'] = $sku_list[9]['id'];//蕾丝颜色
- }
- if(isset($sku_list[44])){
- $list['lacetypes'] = $sku_list[44]['id'];//蕾丝类型
- }
- if(isset($sku_list[39])){
- $list['wigother'] = $sku_list[39]['id'];//头套其它
- }
- if(isset($sku_list[50])){
- $list['wigother1'] = $sku_list[50]['id'];//头套其它
- }
- if(isset($sku_list[51])){
- $list['wigother2'] = $sku_list[51]['id'];//头套其它2
- }
- }
- //现在没有129这个分类了
- // if($category == 129)
- // {
- // if(isset($sku_list[50])){
- // $list['wide'] = $sku_list[50]['id'];
- // }
- // }
-
- if($cate == 131)
- {
- if(isset($sku_list[34])){
- $list['gifttype'] = $sku_list[34]['id'];//Gift类型
- }
- if(isset($sku_list[49])){
- $list['giftother'] = $sku_list[49]['id'];//Gift其它
- }
- }
- //没有134这一项了
- // if($category == 134)
- // {
- // if(isset($sku_list[49])){
- // $list['giftother'] = $sku_list[49]['id'];
- // }
- // $list['pieceweight'] = $this->input->post('pieceweight',true);
- // }
- if($cate == 1297)
- {
- if(isset($sku_list[41])){
- $list['synthetictype'] = $sku_list[41]['id'];//头套类型
- }
- if(isset($sku_list[42])){
- $list['sywigother'] = $sku_list[42]['id'];//化纤头套其它
- }
-
- }
- if($cate == 130 || $cate == 133 || $cate == 1702)
- {
- if(isset($sku_list[38])){
- $list['items'] = $sku_list[38]['id'];//单包片数
- }
- if(isset($sku_list[7])){
- $list['weight'] = $sku_list[7]['id'];//重 量
- }
- }
- if($cate == 1702)
- {
- if(isset($sku_list[48])){
- $list['syhairther'] = $sku_list[48]['id'];//化纤发其它
- }
- }
- $pm = $classid;
- $jm = $classid;
- $sku = [];
- $title = '';$features = '';$cs = array();
- $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>'');
-
- foreach($list as $k=>$v)
- {
- if(isset($typeclassid[$v]) && isset($bmpx[$typeclassid[$v]['classid']]))
- {
- if($typeclassid[$v]['bm'] != '')
- {
- $bmpx[$typeclassid[$v]['classid']] = $typeclassid[$v]['bm'];
- }
- }
- if($v != 0)
- {
- if($k != 'size')
- {
- $title .= $typeclassid[$v]['title']." ";
- }
- $features .=$v.'-';
- $sku[$typeclassid[$v]['classid']] = empty($typeclassid[$v]['bqsku'])?"":$typeclassid[$v]['bqsku'];
- if(isset($pm[$typeclassid[$v]['classid']]))
- {
- if($typeclassid[$v]['title'] == '9A')
- {
- $pm[$typeclassid[$v]['classid']] = '9A';
- }
- else if($typeclassid[$v]['title'] == '10A')
- {
- $pm[$typeclassid[$v]['classid']] = '10A';
- }
- else
- {
- $clzh = $typeclassid[$v]['zh'];
- if(stripos($typeclassid[$v]['zh'],'|') !== false)
- {
- $clzh = explode('|',rtrim($typeclassid[$v]['zh'],'|'));
- $clzh = $clzh[0];
- }
- $pm[$typeclassid[$v]['classid']] = $clzh;
- }
- }
- if(isset($jm[$typeclassid[$v]['classid']]))
- {
- if($typeclassid[$v]['jm'])
- {
- $jm[$typeclassid[$v]['classid']] = $typeclassid[$v]['jm'];
- }
- }
- }
- }
- $jm = array_filter($jm);//去除空值
- $jm = implode("-",$jm);
- $sku = array_filter($sku);//去除空值
- $sku = implode("-",$sku);
- $pm = array_filter($pm);//去除空值
- $pm = implode(" ",$pm);
- $pm = preg_replace("/\r\n|\r|\n/",'',trim($pm,' '));
- if($list['size'])
- {
- $typeclass = $this->typeclass->read($list['size']);
- $title .= $typeclass['title'];
- }
- $title = trim($title,' ');
-
- $post['num'] = $this->input->post('num',true);
- $ztime = $this->input->post('ztime',true);
- $post['ztime'] = strtotime($ztime);
- $post['bm'] = '03'.implode("",$bmpx);
- $post['jm'] = $jm;
- $post['sku'] = $sku;
- $post['pm'] = $pm;
- $post['title'] = $title;
- $post['features'] = '-'.$features;
- $post['number'] = date('YmdHis',time()).rand(100,999);
- if(!$post['num'])
- {
- $post['number'] = date("YmdHis").rand(100,999);
- }
- $time = time();
- $post['time'] = $time;//操作时间
- $post['printnum'] = $time;
- $post['type'] = 0;
- return $this->logic_tools->ret_arr(1,"ok",$post);
- }
- }
|