|
|
@@ -109,6 +109,7 @@ class Product extends Api
|
|
|
if (!isset($code)){
|
|
|
$this->error('参数不能为空');
|
|
|
}
|
|
|
+ $num = config('product_code_digit');
|
|
|
//工艺资料
|
|
|
$option['a.Gy0_cpdh'] = $code;
|
|
|
$gy_field = 'rtrim(a.Gy0_方案) as 方案,a.Gy0_yjno,a.Gy0_gxh,rtrim(a.gy0_gxmc) as gy0_gxmc,rtrim(a.Add_gxmc) as add_gxmc,a.Gy0_Ks,a.Gy0_ls,rtrim(a.工序备注) as 备注,
|
|
|
@@ -127,9 +128,8 @@ class Product extends Api
|
|
|
$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.存货编码,4) = c.编号','left')
|
|
|
+ ->join('物料_存货结构 c','LEFT(a.存货编码,'.$num.') = c.编号','left')
|
|
|
->where($filter)->field($yb_field)->order('a.YB_Yjno,a.存货编码')->select();
|
|
|
-
|
|
|
//技术附件
|
|
|
$jsRes = db('产品_技术附件')
|
|
|
->where('关联产品','like','%'.$code.'%')
|
|
|
@@ -608,27 +608,28 @@ 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 LEFT(a.`物料代码`, 4) IN ('1401', '1402') AND a.`物料名称` LIKE '%{$search}%'
|
|
|
+ WHERE SUBSTRING (a.`物料代码`,$start_num,$num) IN ('1401', '1402') AND 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 LEFT(a.`物料代码`, 4) IN ('1401', '1402')
|
|
|
+ WHERE SUBSTRING(a.`物料代码`,$start_num, $num) IN ('1401', '1402')
|
|
|
ORDER BY a.`物料代码` ASC;";
|
|
|
}
|
|
|
$data = Db::query($sql);
|
|
|
// 初始化一个关联数组,用于存储相同客户编号的数据
|
|
|
$groupedData = [];
|
|
|
-
|
|
|
foreach ($data as $row) {
|
|
|
- $customerCode = substr($row['物料代码'],0,4).substr($row['客户编号'],2,2).'/'.$row['客户名称'];
|
|
|
- $materialCodePrefix = substr($row['物料代码'], 0, 4);
|
|
|
- if ($materialCodePrefix == '1401'){
|
|
|
+ $customerCode = substr($row['物料代码'],0,$num).substr($row['客户编号'],2,2).'/'.$row['客户名称'];
|
|
|
+ $materialCodePrefix = substr($row['物料代码'], 0, $num);
|
|
|
+ if ($materialCodePrefix == '1401' || $materialCodePrefix == 'Y1401' ){
|
|
|
$materialCodePrefix = $materialCodePrefix.'/糊盒类产品(含贴码)';
|
|
|
}else{
|
|
|
$materialCodePrefix = $materialCodePrefix.'/直接领用产品';
|
|
|
@@ -660,21 +661,22 @@ class Product extends Api
|
|
|
}
|
|
|
$params = Request::instance()->get();
|
|
|
$search = $params['search'];
|
|
|
+ $num = config('product_code_digit');
|
|
|
if (!empty($search)){
|
|
|
$sql = "SELECT rtrim(a.`物料代码`) as 物料代码,rtrim(a.`物料名称`) as 物料名称,rtrim(a.`规格`) as 规格,rtrim(b.编号) as oneCode,rtrim(b.名称) as oneName,
|
|
|
rtrim(c.`编号`) as twoCode,rtrim(c.`名称`) as twoName,rtrim(d.`编号`) as thrCode,rtrim(d.`名称`) as thrName
|
|
|
FROM `物料_存货编码` a
|
|
|
- LEFT JOIN `物料_存货结构` b ON LEFT(a.物料代码,2) = b.编号
|
|
|
- LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,4) = c.编号
|
|
|
- LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,6) = d.编号
|
|
|
+ LEFT JOIN `物料_存货结构` b ON LEFT(a.物料代码,$num-2) = b.编号
|
|
|
+ LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,$num) = c.编号
|
|
|
+ LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,$num+2) = d.编号
|
|
|
WHERE a.物料名称 LIKE '%{$search}%' AND (a.物料代码 LIKE '00%' or a.物料代码 LIKE '01%' or a.物料代码 LIKE '30%')";
|
|
|
}else{
|
|
|
$sql = "SELECT rtrim(a.`物料代码`) as 物料代码,rtrim(a.`物料名称`) as 物料名称,rtrim(a.`规格`) as 规格,rtrim(b.编号) as oneCode,rtrim(b.名称) as oneName,
|
|
|
rtrim(c.`编号`) as twoCode,rtrim(c.`名称`) as twoName,rtrim(d.`编号`) as thrCode,rtrim(d.`名称`) as thrName
|
|
|
FROM `物料_存货编码` a
|
|
|
- LEFT JOIN `物料_存货结构` b ON LEFT(a.物料代码,2) = b.编号
|
|
|
- LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,4) = c.编号
|
|
|
- LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,6) = d.编号
|
|
|
+ LEFT JOIN `物料_存货结构` b ON LEFT(a.物料代码,$num-2) = b.编号
|
|
|
+ LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,$num) = c.编号
|
|
|
+ LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,$num+2) = d.编号
|
|
|
WHERE a.物料代码 LIKE '00%' or a.物料代码 LIKE '01%' or a.物料代码 LIKE '30%'";
|
|
|
}
|
|
|
$data = Db::query($sql);
|
|
|
@@ -860,19 +862,20 @@ class Product extends Api
|
|
|
}
|
|
|
$code = $params['code'];
|
|
|
$search = $params['search'];
|
|
|
+ $num = config('product_code_digit');
|
|
|
if (!empty($search)){
|
|
|
$sql = "SELECT rtrim(a.`物料代码`) as 物料代码,rtrim(a.`物料名称`) as 物料名称,rtrim(a.`规格`) as 规格,
|
|
|
rtrim(c.`编号`) as twoCode,rtrim(c.`名称`) as twoName,rtrim(d.`编号`) as thrCode,rtrim(d.`名称`) as thrName
|
|
|
FROM `物料_存货编码` a
|
|
|
- LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,4) = c.编号
|
|
|
- LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,6) = d.编号
|
|
|
+ LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,$num) = c.编号
|
|
|
+ LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,$num+2) = d.编号
|
|
|
WHERE a.物料代码 LIKE '{$code}%' AND a.物料名称 LIKE '%{$search}%'";
|
|
|
}else{
|
|
|
$sql = "SELECT rtrim(a.`物料代码`) as 物料代码,rtrim(a.`物料名称`) as 物料名称,rtrim(a.`规格`) as 规格,
|
|
|
rtrim(c.`编号`) as twoCode,rtrim(c.`名称`) as twoName,rtrim(d.`编号`) as thrCode,rtrim(d.`名称`) as thrName
|
|
|
FROM `物料_存货编码` a
|
|
|
- LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,4) = c.编号
|
|
|
- LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,6) = d.编号
|
|
|
+ LEFT JOIN `物料_存货结构` c ON LEFT(a.物料代码,$num) = c.编号
|
|
|
+ LEFT JOIN `物料_存货结构` d ON LEFT(a.物料代码,$num+2) = d.编号
|
|
|
WHERE a.物料代码 LIKE '{$code}%'";
|
|
|
}
|
|
|
$data = Db::query($sql);
|