Browse Source

优化产品编码查询

huangsanjia 1 year ago
parent
commit
720e16572c
1 changed files with 6 additions and 6 deletions
  1. 6 6
      application/api/controller/Product.php

+ 6 - 6
application/api/controller/Product.php

@@ -609,27 +609,27 @@ class Product extends Api
         $params = Request::instance()->get();
         $search = $params['search'];
         $num = config('product_code_digit');
-        $start_num = $num - 3;
         if (!empty($search)){
             $sql = "SELECT DISTINCT rtrim(a.`物料代码`) AS `物料代码`,rtrim(a.`物料名称`) AS `物料名称`,rtrim(b.`客户编号`) AS `客户编号`,rtrim(b.`客户名称`) AS `客户名称` FROM
                     `物料_存货编码` a
-                    JOIN `产品_基本资料` b ON SUBSTRING(a.`物料代码`, 5, 2) = SUBSTRING(b.`客户编号`, 3, 2)
-                    WHERE SUBSTRING(a.`物料代码`, $start_num, $num) IN ('1401', '1402') AND a.`物料名称` LIKE '%利群%'
+                    JOIN `产品_基本资料` b ON LEFT(a.`物料代码`,$num) = LEFT(b.`客户编号`,$num)
+                    WHERE  a.`物料名称` LIKE '%{$search}%'
                     ORDER BY a.`物料代码` ASC";
         }else{
             $sql = "SELECT DISTINCT rtrim(a.`物料代码`) as `物料代码`, rtrim(a.`物料名称`) as `物料名称`,rtrim(b.客户编号) as 客户编号,rtrim(b.客户名称) as 客户名称
                 FROM `物料_存货编码` a
-                JOIN `产品_基本资料` b ON SUBSTRING(a.`物料代码`, 5, 2) = SUBSTRING(b.`客户编号`, 3, 2)
-                WHERE SUBSTRING(a.`物料代码`,$start_num, $num) IN ('1401', '1402') 
+                JOIN `产品_基本资料` b ON LEFT(a.`物料代码`,$num) = LEFT(b.`客户编号`,$num)
+               
                 ORDER BY a.`物料代码` ASC";
         }
+//        halt($sql);
         $data = Db::query($sql);
         // 初始化一个关联数组,用于存储相同客户编号的数据
         $groupedData = [];
         foreach ($data as $row) {
             $customerCode = substr($row['物料代码'],0,$num).substr($row['客户编号'],2,2).'/'.$row['客户名称'];
             $materialCodePrefix = substr($row['物料代码'], 0, $num);
-            if ($materialCodePrefix == '1401' || $materialCodePrefix == 'Y1401' ){
+            if ($materialCodePrefix == 'Y1401' ){
                 $materialCodePrefix = $materialCodePrefix.'/糊盒类产品(含贴码)';
             }else{
                 $materialCodePrefix = $materialCodePrefix.'/直接领用产品';