|
@@ -648,4 +648,53 @@ class Model_logic_order extends Lin_Model {
|
|
|
return ['code'=>1,'msg'=>'ok'];
|
|
|
|
|
|
}
|
|
|
+ //订单产品规格判断
|
|
|
+ //避免同事填错了erp的信息 然后匹配错误出库
|
|
|
+ public function checkOrderProduct($list){
|
|
|
+
|
|
|
+ //规则1 长度 检测14
|
|
|
+ $size_slist = $this->typeclass->find_all('classid = 14','id');
|
|
|
+ $size_list = array_column($size_slist,'id');
|
|
|
+
|
|
|
+ foreach($list as $k=>$v){
|
|
|
+ $tmp_str = $v[0];
|
|
|
+ $list[$k]['err_sku'] = 0;
|
|
|
+ if(strpos($tmp_str,',') !== false){
|
|
|
+ $tmp_arr = explode(',',$tmp_str);
|
|
|
+ $pj_str = $tmp_arr[1].$tmp_arr[0]."-";
|
|
|
+ if(strpos($pj_str,'-131-')!== false){
|
|
|
+ $list[$k]['err_sku'] = $this->checkSku($size_list,$pj_str);
|
|
|
+ }else{
|
|
|
+ //131 不用判断
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ $pj_str = $tmp_str;
|
|
|
+ //基本上就是131了 但是呢 erp奇葩多 还是加上判断吧
|
|
|
+ if(strpos($pj_str,'-131-')!== false){
|
|
|
+ $list[$k]['err_sku'] = $this->checkSku($size_list,$pj_str);
|
|
|
+ }else{
|
|
|
+ //131 不用判断
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return $list;
|
|
|
+ }
|
|
|
+ //校验sku
|
|
|
+ /**
|
|
|
+ * @param $size_list 规格列表
|
|
|
+ * @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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $flag;
|
|
|
+
|
|
|
+ }
|
|
|
}
|