|
@@ -690,10 +690,46 @@ class Model_logic_order extends Lin_Model {
|
|
//避免同事填错了erp的信息 然后匹配错误出库
|
|
//避免同事填错了erp的信息 然后匹配错误出库
|
|
public function checkOrderProduct($list){
|
|
public function checkOrderProduct($list){
|
|
|
|
|
|
- //规则1 长度 检测14
|
|
|
|
- $size_slist = $this->typeclass->find_all('classid = 14','id');
|
|
|
|
- $size_list = array_column($size_slist,'id');
|
|
|
|
-
|
|
|
|
|
|
+ $classid_must_ids = [6,8,10,12,13,14,15,16,18,25,27,33,35,46];
|
|
|
|
+ $sku_rules = [];
|
|
|
|
+ //16 类目 13 等级 8 头发颜色 15 曲度 14 长度
|
|
|
|
+ //发条
|
|
|
|
+ $ft = [16=>0,13=>0,8=>0,15=>0,14=>0];
|
|
|
|
+ $sku_rules[126] = $ft;
|
|
|
|
+ //16 类目 13 等级 8 头发颜色 15 曲度 27 发块前头类型 12 头路设计 10 密度 25 蕾丝尺寸 14 长度
|
|
|
|
+ //发块
|
|
|
|
+ $fk = [16=>0,13=>0,8=>0,15=>0,27=>0,12=>0,10=>0,25=>0,14=>0];
|
|
|
|
+ $sku_rules[127] = $fk;
|
|
|
|
+ //16 类目 13 等级 8 头发颜色 15曲度 18 头套种类 6 发帽大小 10 密度 14 长度
|
|
|
|
+ //头套
|
|
|
|
+ $tt = [16=>0,13=>0,8=>0,15=>0,18=>0,6=>0,10=>0,14=>0];
|
|
|
|
+ $sku_rules[128] = $tt;
|
|
|
|
+ //16 类目 13 等级 33 Extension类型 8 头发颜色 15 曲度 14 长度
|
|
|
|
+ //接发类型
|
|
|
|
+ $jflx = [16=>0,13=>0,33=>0,8=>0,15=>0,14=>0];
|
|
|
|
+ $sku_rules[130] = $jflx;
|
|
|
|
+ //16 类目 13 等级 35 配件类型 8 头发颜色 15 曲度 14 长度
|
|
|
|
+ //配件
|
|
|
|
+ $pj = [16=>0,13=>0,35=>0,8=>0,15=>0,14=>0];
|
|
|
|
+ $sku_rules[133] = $pj;
|
|
|
|
+ //16 类目 13 等级 8 头发颜色 15 曲度 14 长度
|
|
|
|
+ //化纤头套
|
|
|
|
+ $hqtt = [16=>0,13=>0,8=>0,15=>0,14=>0];
|
|
|
|
+ $sku_rules[1297] = $hqtt;
|
|
|
|
+ //16 类目 13 等级 46 化纤其它分类 8 头发颜色 15 曲度 14 长度
|
|
|
|
+ //化纤其它
|
|
|
|
+ $hqqt = [16=>0,13=>0,46=>0,8=>0,15=>0,14=>0];
|
|
|
|
+ $sku_rules[1702] = $hqqt;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ $size_slist = $this->typeclass->find_all('classid in ('.implode(",",$classid_must_ids).')','id,classid');
|
|
|
|
+
|
|
|
|
+ $group_list = [];
|
|
|
|
+ foreach($size_slist as $k=>$v){
|
|
|
|
+ $group_list[$v['id']] = $v['classid'];
|
|
|
|
+ }
|
|
|
|
+
|
|
foreach($list as $k=>$v){
|
|
foreach($list as $k=>$v){
|
|
$tmp_str = $v[0];
|
|
$tmp_str = $v[0];
|
|
$list[$k]['err_sku'] = 0;
|
|
$list[$k]['err_sku'] = 0;
|
|
@@ -701,7 +737,8 @@ class Model_logic_order extends Lin_Model {
|
|
$tmp_arr = explode(',',$tmp_str);
|
|
$tmp_arr = explode(',',$tmp_str);
|
|
$pj_str = $tmp_arr[1].$tmp_arr[0]."-";
|
|
$pj_str = $tmp_arr[1].$tmp_arr[0]."-";
|
|
if(strpos($pj_str,'-131-') === false){
|
|
if(strpos($pj_str,'-131-') === false){
|
|
- $list[$k]['err_sku'] = $this->checkSku($size_list,$pj_str);
|
|
|
|
|
|
+
|
|
|
|
+ $list[$k]['err_sku'] = $this->checkSku($group_list,$pj_str,$sku_rules);
|
|
}else{
|
|
}else{
|
|
//131 不用判断
|
|
//131 不用判断
|
|
}
|
|
}
|
|
@@ -709,14 +746,14 @@ class Model_logic_order extends Lin_Model {
|
|
$pj_str = $tmp_str;
|
|
$pj_str = $tmp_str;
|
|
//基本上就是131了 但是呢 erp奇葩多 还是加上判断吧
|
|
//基本上就是131了 但是呢 erp奇葩多 还是加上判断吧
|
|
if(strpos($pj_str,'-131-') === false){
|
|
if(strpos($pj_str,'-131-') === false){
|
|
- $list[$k]['err_sku'] = $this->checkSku($size_list,$pj_str);
|
|
|
|
|
|
+ $list[$k]['err_sku'] = $this->checkSku($group_list,$pj_str,$sku_rules);
|
|
}else{
|
|
}else{
|
|
//131 不用判断
|
|
//131 不用判断
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
return $list;
|
|
return $list;
|
|
}
|
|
}
|
|
//校验sku
|
|
//校验sku
|
|
@@ -724,15 +761,33 @@ class Model_logic_order extends Lin_Model {
|
|
* @param $size_list 规格列表
|
|
* @param $size_list 规格列表
|
|
* @param $sku_str typeclass 对应的 id
|
|
* @param $sku_str typeclass 对应的 id
|
|
*/
|
|
*/
|
|
- protected function checkSku($size_list,$sku_str){
|
|
|
|
- $sku_arr = explode('-',$sku_str);
|
|
|
|
- $flag = 0;
|
|
|
|
- foreach($sku_arr as $k=>$v){
|
|
|
|
- if(in_array($v,$size_list)){
|
|
|
|
- $flag = 1;
|
|
|
|
|
|
+ protected function checkSku($group_list,$sku_str,$sku_rules){
|
|
|
|
+ $sku_arr = explode('-',trim($sku_str,'-'));
|
|
|
|
+ if(isset($sku_rules[$sku_arr[0]])){
|
|
|
|
+ $check_sku_rule = $sku_rules[$sku_arr[0]];
|
|
|
|
+ foreach($sku_arr as $k=>$v){
|
|
|
|
+ if(isset($group_list[$v])){
|
|
|
|
+ if(isset($check_sku_rule[$group_list[$v]])){
|
|
|
|
+ $check_sku_rule[$group_list[$v]] = $v;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ $flag = 1;
|
|
|
|
+ foreach($check_sku_rule as $k=>$v){
|
|
|
|
+ if(empty($v)){
|
|
|
|
+ $flag = 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ if($flag == 0){
|
|
|
|
+ return 1;
|
|
|
|
+ }else{
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
- return $flag?0:1;
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|