Model_logic_u9tools.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * 封装一些转化为u9数据的操作
  4. */
  5. class Model_logic_u9tools extends Lin_Model {
  6. function __construct(){
  7. parent::__construct();
  8. $this->load->_model('Model_classid','classid');
  9. $this->load->_model('Model_typeclass','typeclass');
  10. }
  11. //获取u9的料号
  12. public function getU9bm(array $list,$sku_name){
  13. if(empty($list)){
  14. return [];
  15. }
  16. $tcjm = []; $typeclass = [];
  17. $classid = $this->classid->sku();
  18. $tcall = $this->typeclass->find_all();
  19. foreach ($tcall as $v)
  20. {
  21. //$tcjm[$v['id']] = array($v['jm'],$v['classid']);
  22. $typeclass[$v['id']] = array('zh'=>$v['zh'],'classid'=>$v['classid'],'bm'=>$v['bm'],'title'=>$v['title'],'jm'=>$v['jm']);
  23. }
  24. foreach($list as $k=>$v){
  25. $r = $this->getOneU9bm($v[$sku_name],$classid,$typeclass);
  26. $list[$k]['jm'] = $r['jm'];
  27. $list[$k]['zh'] = $r['zh'];
  28. $list[$k]['bm'] = $r['bm'];
  29. }
  30. return $list;
  31. }
  32. public function getOneU9bm($sku,$classid,$typeclass){
  33. $bm = '03';
  34. $ret_arr = [
  35. 'jm'=>"",//料号,SKU
  36. 'zh'=>"",//产品名称
  37. 'bm'=>"",//主分类下的编码
  38. ];
  39. if(stripos($sku,'-131-') !== false)
  40. {
  41. return $ret_arr;
  42. }
  43. $pm = $classid;
  44. $jm = $classid;
  45. $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>'');
  46. $features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$sku);
  47. $features = explode("-",trim($sku,'-'));
  48. foreach($features as $k=>$v)
  49. {
  50. if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']]))
  51. {
  52. if($typeclass[$v]['bm'] != '')
  53. {
  54. $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm'];
  55. }
  56. }
  57. if($v != 0)
  58. {
  59. if(isset($pm[$typeclass[$v]['classid']]))
  60. {
  61. if($typeclass[$v]['title'] == '9A')
  62. {
  63. $pm[$typeclass[$v]['classid']] = '9A';
  64. }
  65. else if($typeclass[$v]['title'] == '10A')
  66. {
  67. $pm[$typeclass[$v]['classid']] = '10A';
  68. }
  69. else
  70. {
  71. $clzh = $typeclass[$v]['zh'];
  72. if(stripos($typeclass[$v]['zh'],'|') !== false)
  73. {
  74. $clzh = explode('|',rtrim($typeclass[$v]['zh'],'|'));
  75. $clzh = $clzh[0];
  76. }
  77. $pm[$typeclass[$v]['classid']] = $clzh;
  78. }
  79. }
  80. if(isset($jm[$typeclass[$v]['classid']]))
  81. {
  82. if($typeclass[$v]['jm'])
  83. {
  84. $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm'];
  85. }
  86. }
  87. }
  88. }
  89. $jm = array_filter($jm);//去除空值
  90. $jm = implode("-",$jm);
  91. $pm = array_filter($pm);//去除空值
  92. $zh = implode(" ",$pm);
  93. $zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' '));
  94. return [
  95. 'jm'=>$jm,//料号,SKU
  96. 'zh'=>$zh,//产品名称
  97. 'bm'=>$bm.implode("",$bmpx),//主分类下的编码
  98. ];
  99. }
  100. }