Pārlūkot izejas kodu

优化排程/制程中接口

huangsanjia 1 gadu atpakaļ
vecāks
revīzija
628ba0545e
1 mainītis faili ar 57 papildinājumiem un 67 dzēšanām
  1. 57 67
      application/api/controller/Manufacture.php

+ 57 - 67
application/api/controller/Manufacture.php

@@ -163,79 +163,69 @@ class Manufacture extends Api
         $where = '';
         if (isset($param['search'])){
             $where = "
-                        a.Gd_lx LIKE '%{$param['search']}%' 
-                        OR a.Gd_gdbh LIKE '%{$param['search']}%' 
-                        OR a.`Gd_客户代号` LIKE '%{$param['search']}%' 
-                        OR a.`Gd_客户名称` LIKE '%{$param['search']}%' 
-                        OR a.Gd_khdh LIKE '%{$param['search']}%' 
-                        OR a.Gd_khmc LIKE '%{$param['search']}%' 
-                        OR a.Gd_cpdh LIKE '%{$param['search']}%' 
-                        OR a.Gd_cpmc LIKE '%{$param['search']}%' 
-                        OR a.`成品代号` LIKE '%{$param['search']}%' 
+                        a.Gd_gdbh LIKE '%{$param['search']}%' 
                         OR a.`成品名称` LIKE '%{$param['search']}%' 
-                        OR a.`产品版本号` LIKE '%{$param['search']}%' 
                     ";
         }
         if ($param['status'] === '排程中'){
-            $sql = "SELECT
-                    rtrim( a.Gd_gdbh ) AS 工单编号,
-                    rtrim( a.Gd_cpdh ) AS 产品代号,
-                    rtrim( a.Gd_cpmc ) AS 产品名称,
-                    rtrim( a.接单日期 ) AS 接单日期,
-                    rtrim( a.交货日期 ) AS 交货日期,
-                    rtrim( a.订单数量 ) AS 订单数量,
-                    rtrim( a.计量单位 ) AS 计量单位,
-                    rtrim( a.销售订单号 ) AS 销售订单号,
-                    rtrim( a.Gd_客户代号 ) AS 客户编号,
-                    rtrim( a.Gd_客户名称 ) AS 客户名称,
-                    rtrim( a.客户料号 ) AS 客户料号,
-                    rtrim( a.Uniqid ) AS GDUID 
-                FROM
-                    `工单_基本资料` AS a
-                    INNER JOIN `工单_工艺资料` AS b ON a.Gd_gdbh = b.Gy0_gdbh
-                    JOIN `产品_基本资料` AS c ON a.Gd_cpdh = c.产品编号 
-                WHERE
-                    a.gd_statu = '2-生产中' 
-                    AND a.行号 = '1' 
-                    AND b.PD_WG = '1900-01-01 00:00:00' 
-                    AND b.Gy0_sj1 = '1900-01-01 00:00:00' 
-                    AND c.状态 = ''
-                    AND (".
-                        $where
-                    .")
-                GROUP BY
-                    a.Gd_gdbh";
+            $list = db('工单_基本资料')->alias('a')
+                ->field([
+                    'rtrim(a.Gd_gdbh)' => '工单编号',
+                    'rtrim(a.Gd_cpdh)' => '产品代号',
+                    'rtrim(a.Gd_cpmc)' => '产品名称',
+                    'rtrim(a.接单日期)' => '接单日期',
+                    'rtrim(a.交货日期)' => '交货日期',
+                    'rtrim(a.订单数量)' => '订单数量',
+                    'rtrim(a.计量单位)' => '计量单位',
+                    'rtrim(a.销售订单号)' => '销售订单号',
+                    'rtrim(a.Gd_客户代号)' => '客户编号',
+                    'rtrim(a.Gd_客户名称)' => '客户名称',
+                    'rtrim(a.客户料号)' => '客户料号',
+                    'rtrim(a.Uniqid)' => 'GDUID',
+                ])
+                ->join('工单_工艺资料 b', 'a.Gd_gdbh = b.Gy0_gdbh')
+                ->join('产品_基本资料 c', 'a.Gd_cpdh = c.产品编号')
+                ->where([
+                    'a.gd_statu' => '2-生产中',
+                    'a.行号' => '1',
+                    'b.PD_WG' => '1900-01-01 00:00:00',
+                    'b.Gy0_sj1' => '1900-01-01 00:00:00',
+                    'c.状态' => '',
+                ])
+                ->where($where)
+                ->cache(true,720)
+                ->group('a.Gd_gdbh')
+                ->select();
         }else{
-            $sql = "SELECT
-                rtrim(a.Gd_gdbh) AS 工单编号,
-                rtrim(a.Gd_cpdh) AS 产品代号,
-                rtrim(a.Gd_cpmc) AS 产品名称,
-                rtrim(a.接单日期) AS 接单日期,
-                rtrim(a.交货日期) AS 交货日期,
-                rtrim(a.订单数量) AS 订单数量,
-                rtrim(a.计量单位) AS 计量单位,
-                rtrim(a.销售订单号) AS 销售订单号,
-                rtrim(a.Gd_客户代号) AS 客户编号,
-                rtrim(a.Gd_客户名称) AS 客户名称,
-                rtrim(a.客户料号) AS 客户料号,
-                rtrim(a.Uniqid) AS GDUID
-            FROM
-                `工单_基本资料` AS a
-            INNER JOIN `工单_工艺资料` AS b ON a.Gd_gdbh = b.Gy0_gdbh
-            JOIN `产品_基本资料` AS c ON a.Gd_cpdh = c.产品编号
-            WHERE
-                a.gd_statu = '2-生产中'
-                AND a.行号 = '1'
-                AND b.PD_WG = '1900-01-01 00:00:00'
-                AND b.Gy0_sj1 != '1900-01-01 00:00:00'
-                AND c.状态 = ''
-                AND (".
-                    $where
-                    .")
-                GROUP BY
-                    a.Gd_gdbh";
+            $list = db('工单_基本资料')->alias('a')
+                ->field([
+                    'rtrim(a.Gd_gdbh)' => '工单编号',
+                    'rtrim(a.Gd_cpdh)' => '产品代号',
+                    'rtrim(a.Gd_cpmc)' => '产品名称',
+                    'rtrim(a.接单日期)' => '接单日期',
+                    'rtrim(a.交货日期)' => '交货日期',
+                    'rtrim(a.订单数量)' => '订单数量',
+                    'rtrim(a.计量单位)' => '计量单位',
+                    'rtrim(a.销售订单号)' => '销售订单号',
+                    'rtrim(a.Gd_客户代号)' => '客户编号',
+                    'rtrim(a.Gd_客户名称)' => '客户名称',
+                    'rtrim(a.客户料号)' => '客户料号',
+                    'rtrim(a.Uniqid)' => 'GDUID',
+                ])
+                ->join('工单_工艺资料 b', 'a.Gd_gdbh = b.Gy0_gdbh')
+                ->join('产品_基本资料 c', 'a.Gd_cpdh = c.产品编号')
+                ->where([
+                    'a.gd_statu' => '2-生产中',
+                    'a.行号' => '1',
+                    'b.PD_WG' => '1900-01-01 00:00:00',
+                    'b.Gy0_sj1' => ['<>', '1900-01-01 00:00:00'],
+                    'c.状态' => '',
+                ])
+                ->where($where)
+                ->cache(true,720)
+                ->group('a.Gd_gdbh')
+                ->select();
         }
-        $list = Db::query($sql);
         if (empty($list)){
             $this->success('未找到工单信息');
         }