|
|
@@ -149,9 +149,15 @@ class Product extends Api
|
|
|
$filter['a.YB_Cpdh'] = $code;
|
|
|
$yb_field = 'rtrim(a.YB_方案) as YB_方案,a.YB_Yjno,rtrim(a.存货编码) as 存货编码,a.考核印数,rtrim(a.Sys_id) as Sys_id,a.Mod_rq,rtrim(b.物料名称) as 印版名称,rtrim(c.名称) as 印版类别,a.UniqID';
|
|
|
$ybRes = db('产品_印版资料')->alias('a')
|
|
|
- ->join('物料_存货编码 b','a.存货编码 = b.物料代码','left')
|
|
|
- ->join('物料_存货结构 c','LEFT(a.存货编码,'.$num.') = c.编号','left')
|
|
|
- ->where($filter)->field($yb_field)->order('a.YB_Yjno,a.存货编码')->select();
|
|
|
+ ->join('物料_存货编码 b', 'a.存货编码 = b.物料代码', 'left')
|
|
|
+ ->join('物料_存货结构 c',
|
|
|
+ 'LEFT(a.存货编码, CASE WHEN a.存货编码 REGEXP \'[a-zA-Z]\' THEN 5 ELSE 4 END) = c.编号',
|
|
|
+ 'left'
|
|
|
+ )
|
|
|
+ ->where($filter)
|
|
|
+ ->field($yb_field)
|
|
|
+ ->order('a.YB_Yjno,a.存货编码')
|
|
|
+ ->select();
|
|
|
//技术附件
|
|
|
$jsRes = db('产品_技术附件')
|
|
|
->where('关联产品','like','%'.$code.'%')
|
|
|
@@ -687,18 +693,51 @@ class Product extends Api
|
|
|
// $num = config('product_code_digit');
|
|
|
$num = 5;
|
|
|
if (!empty($search)){
|
|
|
- $sql = "SELECT DISTINCT rtrim(a.`物料代码`) AS `物料代码`,rtrim(a.`物料名称`) AS `物料名称`,rtrim(b.`客户编号`) AS `客户编号`,rtrim(b.`客户名称`) AS `客户名称` FROM
|
|
|
- `物料_存货编码` a
|
|
|
- JOIN `产品_基本资料` b ON LEFT(a.`物料代码`,$num) = LEFT(b.`客户编号`,$num)
|
|
|
- WHERE (a.`物料名称` LIKE '%{$search}%' or a.物料代码 LIKE '%{$search}%')
|
|
|
- group by a.`物料代码`
|
|
|
- ORDER BY a.`物料代码` ASC";
|
|
|
+ $sql = "SELECT DISTINCT
|
|
|
+ rtrim(a.`物料代码`) AS `物料代码`,
|
|
|
+ rtrim(a.`物料名称`) AS `物料名称`,
|
|
|
+ rtrim(b.`客户编号`) AS `客户编号`,
|
|
|
+ rtrim(b.`客户名称`) AS `客户名称`
|
|
|
+ FROM
|
|
|
+ `物料_存货编码` a
|
|
|
+ JOIN `产品_基本资料` b ON LEFT(a.`物料代码`,
|
|
|
+ CASE
|
|
|
+ WHEN a.`物料代码` REGEXP '[a-zA-Z]' THEN 5
|
|
|
+ ELSE 4
|
|
|
+ END
|
|
|
+ ) = LEFT(b.`客户编号`,
|
|
|
+ CASE
|
|
|
+ WHEN a.`物料代码` REGEXP '[a-zA-Z]' THEN 5
|
|
|
+ ELSE 4
|
|
|
+ END
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ (a.`物料名称` LIKE '%{$search}%' OR a.`物料代码` LIKE '%{$search}%')
|
|
|
+ GROUP BY
|
|
|
+ a.`物料代码`
|
|
|
+ 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 LEFT(a.`物料代码`,$num) = LEFT(b.`客户编号`,$num)
|
|
|
-
|
|
|
- ORDER BY a.`物料代码` ASC";
|
|
|
+ $sql = "SELECT DISTINCT
|
|
|
+ rtrim(a.`物料代码`) AS `物料代码`,
|
|
|
+ rtrim(a.`物料名称`) AS `物料名称`,
|
|
|
+ rtrim(b.`客户编号`) AS `客户编号`,
|
|
|
+ rtrim(b.`客户名称`) AS `客户名称`
|
|
|
+ FROM
|
|
|
+ `物料_存货编码` a
|
|
|
+ JOIN `产品_基本资料` b ON LEFT(a.`物料代码`,
|
|
|
+ CASE
|
|
|
+ WHEN a.`物料代码` REGEXP '[a-zA-Z]' THEN 5
|
|
|
+ ELSE 4
|
|
|
+ END
|
|
|
+ ) = LEFT(b.`客户编号`,
|
|
|
+ CASE
|
|
|
+ WHEN a.`物料代码` REGEXP '[a-zA-Z]' THEN 5
|
|
|
+ ELSE 4
|
|
|
+ END
|
|
|
+ )
|
|
|
+ ORDER BY
|
|
|
+ a.`物料代码` ASC";
|
|
|
}
|
|
|
$data = Db::query($sql);
|
|
|
// 初始化一个关联数组,用于存储相同客户编号的数据
|
|
|
@@ -747,16 +786,16 @@ class Product extends Api
|
|
|
LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,$num) = c.编号
|
|
|
LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,$num+2) = d.编号
|
|
|
WHERE (a.物料名称 LIKE '%{$search}%' or a.物料代码 LIKE '%{$search}%') AND (
|
|
|
- a.物料代码 LIKE '00%'
|
|
|
- OR a.物料代码 LIKE '01%'
|
|
|
- OR a.物料代码 LIKE '04%'
|
|
|
- OR a.物料代码 LIKE '03%'
|
|
|
- OR a.物料代码 LIKE '14%'
|
|
|
- OR a.物料代码 LIKE 'Y00%'
|
|
|
- OR a.物料代码 LIKE 'Y01%'
|
|
|
- OR a.物料代码 LIKE 'Y04%'
|
|
|
- OR a.物料代码 LIKE 'J03%'
|
|
|
- OR a.物料代码 LIKE 'Y14%')";
|
|
|
+ a.物料代码 LIKE '00%'
|
|
|
+ OR a.物料代码 LIKE '01%'
|
|
|
+ OR a.物料代码 LIKE '04%'
|
|
|
+ OR a.物料代码 LIKE '03%'
|
|
|
+ OR a.物料代码 LIKE '14%'
|
|
|
+ OR a.物料代码 LIKE 'Y00%'
|
|
|
+ OR a.物料代码 LIKE 'Y01%'
|
|
|
+ OR a.物料代码 LIKE 'Y04%'
|
|
|
+ OR a.物料代码 LIKE 'J03%'
|
|
|
+ OR a.物料代码 LIKE 'Y14%')";
|
|
|
$data = Db::query($sql);
|
|
|
}else{
|
|
|
$sql = "SELECT rtrim(a.`物料代码`) as 物料代码,rtrim(a.`物料名称`) as 物料名称,rtrim(a.`规格`) as 规格,rtrim(b.编号) as oneCode,rtrim(b.名称) as oneName,
|