|
|
@@ -1057,95 +1057,111 @@ class Facility extends Api
|
|
|
* @return void
|
|
|
*/
|
|
|
public function PrintDetail()
|
|
|
- {
|
|
|
- if ($this->request->isGet() === false){
|
|
|
- $this->error('请求失败');
|
|
|
- }
|
|
|
- $param = $this->request->param();
|
|
|
- if (empty($param)){
|
|
|
- $this->error('参数错误');
|
|
|
- }
|
|
|
- $productCode = $param['productCode'];
|
|
|
- $code = $param['code'].'%';
|
|
|
- $workOrder = $param['workOrder'];
|
|
|
-// $sql = "SELECT
|
|
|
-// RTRIM(a.`存货编码`) as `存货编码`,
|
|
|
-// RTRIM(c.`物料名称`) as `存货名称`,
|
|
|
-// RTRIM(b.`印版名称`) as `印版名称`,
|
|
|
-// RTRIM(b.`供方批号`) as `供方批号`,
|
|
|
-// RTRIM(b.`制造日期`) as `制造日期`,
|
|
|
-// SUM(d.`Yb_印数`) as `印数`,
|
|
|
-// RTRIM(e.`名称`) as `印版类别`,
|
|
|
-// SUBSTRING(a.YB_Cpdh,1,4) as `客户编号`,
|
|
|
-// RTRIM(f.`Gd_客户名称`) as `客户名称`,
|
|
|
-// RTRIM(a.YB_Cpdh) as `产品编号`,
|
|
|
-// RTRIM(f.Gd_cpmc) as `产品名称`,
|
|
|
-// RTRIM(d.UniqID) as UniqId
|
|
|
-// FROM `产品_印版资料` as a
|
|
|
-// LEFT JOIN `产品_印版库` as b ON b.`存货编码` = a.`存货编码`
|
|
|
-// JOIN `物料_存货编码` as c ON c.`物料代码` = a.`存货编码`
|
|
|
-// LEFT JOIN `工单_印版领用记录` as d ON d.`Yb_供方批号` = b.`供方批号`
|
|
|
-// JOIN `物料_存货结构` as e ON e.`编号` = SUBSTRING(a.`存货编码`,1,4)
|
|
|
-// JOIN `工单_基本资料` as f ON a.YB_Cpdh = f.Gd_cpdh
|
|
|
-// WHERE a.YB_Cpdh = '{$productCode}'
|
|
|
-// AND a.`存货编码` LIKE '{$code}'
|
|
|
-// AND f.Gd_gdbh = '{$workOrder}'
|
|
|
-// AND b.`报废日期` = '1900-01-01 00:00:00'
|
|
|
-// GROUP BY b.`供方批号`
|
|
|
-// ORDER BY a.`存货编码`";
|
|
|
- $sql = "SELECT
|
|
|
- RTRIM(a.`存货编码`) AS `存货编码`,
|
|
|
- RTRIM(c.`物料名称`) AS `存货名称`,
|
|
|
- RTRIM(b.`印版名称`) AS `印版名称`,
|
|
|
- RTRIM(b.`供方批号`) AS `供方批号`,
|
|
|
- RTRIM(b.`制造日期`) AS `制造日期`,
|
|
|
- SUM(d.`Yb_印数`) AS `印数`,
|
|
|
- RTRIM(e.`名称`) AS `印版类别`,
|
|
|
- SUBSTRING(a.YB_Cpdh, 1, 4) AS `客户编号`,
|
|
|
- RTRIM(f.`Gd_客户名称`) AS `客户名称`,
|
|
|
- RTRIM(a.YB_Cpdh) AS `产品编号`,
|
|
|
- RTRIM(f.Gd_cpmc) AS `产品名称`,
|
|
|
- MAX(d.UniqID) AS UniqId,
|
|
|
- MAX(CASE
|
|
|
- WHEN d.`Yb_领用日期` IS NOT NULL AND d.`Yb_退还日期` IS NULL THEN d.`Yb_工单编号`
|
|
|
- ELSE NULL
|
|
|
- END) AS `工单编号`
|
|
|
- FROM `产品_印版资料` a
|
|
|
- JOIN `物料_存货编码` c ON c.`物料代码` = a.`存货编码`
|
|
|
- JOIN `物料_存货结构` e ON e.`编号` = (
|
|
|
- CASE
|
|
|
- WHEN a.`存货编码` REGEXP '[A-Za-z]'
|
|
|
- THEN SUBSTRING(a.`存货编码`, 1, 5)
|
|
|
- ELSE SUBSTRING(a.`存货编码`, 1, 4)
|
|
|
- END
|
|
|
- )
|
|
|
- JOIN `工单_基本资料` f ON a.YB_Cpdh = f.Gd_cpdh
|
|
|
- LEFT JOIN `产品_印版库` b ON b.`存货编码` = a.`存货编码`
|
|
|
- AND b.`报废日期` = '1900-01-01 00:00:00'
|
|
|
- LEFT JOIN `工单_印版领用记录` d ON d.`Yb_供方批号` = b.`供方批号`
|
|
|
- AND d.`Yb_工单编号` IS NOT NULL
|
|
|
- WHERE
|
|
|
- a.YB_Cpdh = '{$productCode}'
|
|
|
- AND a.`存货编码` LIKE '{$code}'
|
|
|
- AND f.Gd_gdbh = '{$workOrder}'
|
|
|
- GROUP BY
|
|
|
- a.`存货编码`,
|
|
|
- c.`物料名称`,
|
|
|
- b.`印版名称`,
|
|
|
- b.`供方批号`,
|
|
|
- b.`制造日期`,
|
|
|
- e.`名称`,
|
|
|
- f.`Gd_客户名称`,
|
|
|
- a.YB_Cpdh,
|
|
|
- f.Gd_cpmc
|
|
|
- ORDER BY a.`存货编码`";
|
|
|
- $list = Db::query($sql);
|
|
|
- if (empty($list)){
|
|
|
- $this->success('');
|
|
|
- }
|
|
|
- $this->success('成功',$list);
|
|
|
+{
|
|
|
+ if (!$this->request->isGet()) {
|
|
|
+ $this->error('请求失败');
|
|
|
}
|
|
|
|
|
|
+ $param = $this->request->param();
|
|
|
+ if (empty($param)) {
|
|
|
+ $this->error('参数错误');
|
|
|
+ }
|
|
|
+
|
|
|
+ // 分页参数(带默认值)
|
|
|
+ $page = isset($param['page']) ? max(1, intval($param['page'])) : 1;
|
|
|
+ $limit = isset($param['limit']) ? min(max(1, intval($param['limit'])), 100) : 10;
|
|
|
+
|
|
|
+ $productCode = $param['productCode'];
|
|
|
+ $code = $param['code'] . '%';
|
|
|
+ $workOrder = $param['workOrder'];
|
|
|
+
|
|
|
+ // 1. 先查询总数
|
|
|
+ $countSql = "SELECT COUNT(*) AS total FROM (
|
|
|
+ SELECT
|
|
|
+ b.`供方批号`
|
|
|
+ FROM `产品_印版资料` a
|
|
|
+ JOIN `物料_存货编码` c ON c.`物料代码` = a.`存货编码`
|
|
|
+ JOIN `物料_存货结构` e ON e.`编号` = (
|
|
|
+ CASE
|
|
|
+ WHEN a.`存货编码` REGEXP '[A-Za-z]'
|
|
|
+ THEN SUBSTRING(a.`存货编码`, 1, 5)
|
|
|
+ ELSE SUBSTRING(a.`存货编码`, 1, 4)
|
|
|
+ END
|
|
|
+ )
|
|
|
+ JOIN `工单_基本资料` f ON a.YB_Cpdh = f.Gd_cpdh
|
|
|
+ LEFT JOIN `产品_印版库` b ON b.`存货编码` = a.`存货编码`
|
|
|
+ AND b.`报废日期` = '1900-01-01 00:00:00'
|
|
|
+ LEFT JOIN `工单_印版领用记录` d ON d.`Yb_供方批号` = b.`供方批号`
|
|
|
+ AND d.`Yb_工单编号` IS NOT NULL
|
|
|
+ WHERE
|
|
|
+ a.YB_Cpdh = '{$productCode}'
|
|
|
+ AND a.`存货编码` LIKE '{$code}'
|
|
|
+ AND f.Gd_gdbh = '{$workOrder}'
|
|
|
+ GROUP BY
|
|
|
+ a.`存货编码`,
|
|
|
+ b.`供方批号`
|
|
|
+ ) AS t";
|
|
|
+
|
|
|
+ $total = Db::query($countSql)[0]['total'] ?? 0;
|
|
|
+
|
|
|
+ // 2. 查询分页数据
|
|
|
+ $dataSql = "SELECT
|
|
|
+ RTRIM(a.`存货编码`) AS `存货编码`,
|
|
|
+ RTRIM(c.`物料名称`) AS `存货名称`,
|
|
|
+ RTRIM(b.`印版名称`) AS `印版名称`,
|
|
|
+ RTRIM(b.`供方批号`) AS `供方批号`,
|
|
|
+ RTRIM(b.`制造日期`) AS `制造日期`,
|
|
|
+ SUM(d.`Yb_印数`) AS `印数`,
|
|
|
+ RTRIM(e.`名称`) AS `印版类别`,
|
|
|
+ SUBSTRING(a.YB_Cpdh, 1, 4) AS `客户编号`,
|
|
|
+ RTRIM(f.`Gd_客户名称`) AS `客户名称`,
|
|
|
+ RTRIM(a.YB_Cpdh) AS `产品编号`,
|
|
|
+ RTRIM(f.Gd_cpmc) AS `产品名称`,
|
|
|
+ MAX(d.UniqID) AS UniqId,
|
|
|
+ MAX(CASE
|
|
|
+ WHEN d.`Yb_领用日期` IS NOT NULL AND d.`Yb_退还日期` IS NULL
|
|
|
+ THEN d.`Yb_工单编号`
|
|
|
+ ELSE NULL
|
|
|
+ END) AS `工单编号`
|
|
|
+ FROM `产品_印版资料` a
|
|
|
+ JOIN `物料_存货编码` c ON c.`物料代码` = a.`存货编码`
|
|
|
+ JOIN `物料_存货结构` e ON e.`编号` = (
|
|
|
+ CASE
|
|
|
+ WHEN a.`存货编码` REGEXP '[A-Za-z]'
|
|
|
+ THEN SUBSTRING(a.`存货编码`, 1, 5)
|
|
|
+ ELSE SUBSTRING(a.`存货编码`, 1, 4)
|
|
|
+ END
|
|
|
+ )
|
|
|
+ JOIN `工单_基本资料` f ON a.YB_Cpdh = f.Gd_cpdh
|
|
|
+ LEFT JOIN `产品_印版库` b ON b.`存货编码` = a.`存货编码`
|
|
|
+ AND b.`报废日期` = '1900-01-01 00:00:00'
|
|
|
+ LEFT JOIN `工单_印版领用记录` d ON d.`Yb_供方批号` = b.`供方批号`
|
|
|
+ AND d.`Yb_工单编号` IS NOT NULL
|
|
|
+ WHERE
|
|
|
+ a.YB_Cpdh = '{$productCode}'
|
|
|
+ AND a.`存货编码` LIKE '{$code}'
|
|
|
+ AND f.Gd_gdbh = '{$workOrder}'
|
|
|
+ GROUP BY
|
|
|
+ a.`存货编码`,
|
|
|
+ c.`物料名称`,
|
|
|
+ b.`印版名称`,
|
|
|
+ b.`供方批号`,
|
|
|
+ b.`制造日期`,
|
|
|
+ e.`名称`,
|
|
|
+ f.`Gd_客户名称`,
|
|
|
+ a.YB_Cpdh,
|
|
|
+ f.Gd_cpmc
|
|
|
+ ORDER BY a.`存货编码`
|
|
|
+ LIMIT " . ($page - 1) * $limit . ", " . $limit;
|
|
|
+
|
|
|
+ $list = Db::query($dataSql);
|
|
|
+
|
|
|
+ $this->success('成功', [
|
|
|
+ 'data' => $list ?: [],
|
|
|
+ 'total' => $total,
|
|
|
+ ]);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* 换型清场->左侧菜单栏
|
|
|
* @ApiMethod (GET)
|