Эх сурвалжийг харах

当前设备工作清单优化

qiuenguang 1 жил өмнө
parent
commit
6bd66583ec

+ 23 - 38
application/api/controller/Facility.php

@@ -342,42 +342,22 @@ class Facility extends Api
         if (empty($machine)){
             $this->error('参数错误');
         }
-        $sql = "SELECT
-                rtrim( a.Gy0_gdbh ) AS gdbh,
-                rtrim(a.质量要求) AS 质量信息,
-                rtrim( a.Gy0_yjno ) AS yjno,
-                rtrim( a.Gy0_gxh ) AS gxh,
-                rtrim( a.Gy0_gxmc ) AS gxmc,
-                rtrim( a.Add_gxmc ) AS add_gxmc,
-                rtrim( a.Gy0_辅助工时 ) AS 装版时数,
-                rtrim( a.Gy0_小时产能 ) AS 工序产能,
-                rtrim( a.Gy0_生产工时 ) AS 计划工时,
-                rtrim( a.Gy0_sj1 ) AS sj1,
-                rtrim( a.Gy0_sj2 ) AS sj2,
-                rtrim(a.工序备注) AS 排产备注,
-                RTRIM(d.yj_yjmc) AS 印件名称,
-                RTRIM(b.Gd_cpmc) AS 产品名称,
-                RTRIM(b.成品代号) AS 产品代号,
-                SUM(E.sczl_cl) AS 已完成,
-                rtrim(a.Gy0_计划接货数) AS 计划接货数,
-                RTRIM(a.Gy0_ls) AS ls ,
-                rtrim(a.Gy0_班次安排) AS 班组,
-                rtrim(a.UniqId) AS UniqId,
-                rtrim(a.Gy0_最早开工时间) AS 最早开工时间
-            FROM
-                `工单_工艺资料` AS a
-                JOIN `工单_印件资料` AS d ON a.Gy0_gdbh = d.Yj_Gdbh AND d.yj_Yjno = a.Gy0_yjno
-                JOIN `工单_基本资料` AS b ON b.Gd_gdbh = a.Gy0_gdbh
-                LEFT JOIN `设备_产量计酬` AS e ON e.sczl_gdbh = a.Gy0_gdbh AND e.sczl_yjno = a.Gy0_yjno AND e.sczl_gxh = a.Gy0_gxh
-            WHERE
-                b.gd_statu = '2-生产中' 
-                AND a.Gy0_sbbh LIKE '%{$machine}%' 
-                AND a.PD_WG = '1900-01-01 00:00:00' 
-                AND a.Gy0_sj1 <> '1900-01-01 00:00:00'
-                AND a.Gy0_sj1 < '2099-01-01 00:00:00' 
-            GROUP BY a.Gy0_gdbh,a.Gy0_yjno,a.Gy0_gxh
-            ORDER BY a.UniqId desc";
-        $orderList = Db::query($sql);
+        $orderList = \db('工单_工艺资料')
+            ->alias('a')
+            ->join('设备_产量计酬 b','a.Gy0_gdbh = b.sczl_gdbh AND a.Gy0_yjno = b.sczl_yjno AND a.Gy0_gxh = b.sczl_gxh','LEFT')
+            ->join('工单_基本资料 c','a.Gy0_gdbh = c.Gd_gdbh AND a.Gy0_yjno = c.行号')
+            ->join('工单_印件资料 d','a.Gy0_gdbh = d.Yj_Gdbh AND a.Gy0_yjno = d.yj_Yjno')
+            ->field('a.Gy0_gdbh as gdbh,a.质量要求 as 质量信息,a.Gy0_yjno as yjno,a.Gy0_gxh as gxh,SUM(b.sczl_cl) as 已完成,
+    a.Gy0_gxmc as gxmc,a.Add_gxmc as add_gxmc,a.Gy0_辅助工时 as 装版工时,a.Gy0_小时产能 as 工序产能,a.Gy0_生产工时 as 计划工时,
+    a.Gy0_sj1 as sj1,a.Gy0_sj2 as sj2,a.工序备注 as 排产备注,d.yj_yjmc as 印件名称,c.成品名称 as 产品名称,c.成品代号 as 产品代号,
+    a.Gy0_计划接货数 as 计划接货数,a.Gy0_ls as ls,a.Gy0_班次安排 as 班组,a.UniqId as UniqId,a.Gy0_最早开工时间 as 最早开工时间,SUM(b.sczl_zcfp) as 制程废品')
+            ->where('a.Gy0_sbbh','like','%'.$machine.'%')
+            ->where('a.PD_WG','1900-01-01 00:00:00')
+            ->where('a.Gy0_sj1','>','1900-01-01 00:00:00')
+            ->where('c.gd_statu','2-生产中')
+            ->group('a.Gy0_gdbh,a.Gy0_yjno,a.Gy0_gxh')
+            ->order('a.Gy0_sj1')
+            ->select();
         if (!empty($orderList)){
             $data = \db('设备_产量采集')->where('设备编号',$machine)->order('UniqId desc')->find();
             foreach ($orderList as $key=>$value){
@@ -399,9 +379,14 @@ class Facility extends Api
                 }
                 $orderList[$key]['印件资料'] = $orderList[$key]['yjno'].'-'.$value['印件名称'];
                 $orderList[$key]['工序名称'] = $orderList[$key]['gxh'].'-'.$value['gxmc'].'【'.$value['add_gxmc'].'】';
-                $orderList[$key]['计划产量/已完成'] = (int)$value['计划接货数'].'/'.$value['已完成']=null?'':(int)$value['已完成'];
+                if ($value['制程废品'] === 0){
+                    $orderList[$key]['计划产量/已完成'] = (int)$value['计划接货数'].'/'.$value['已完成']=null?'':(int)$value['已完成'];
+                }else{
+                    $orderList[$key]['计划产量/已完成'] = (int)$value['计划接货数'].'/'.$value['已完成']=null?'':(int)$value['已完成'].'('.$value['制程废品'].')';
+                }
+
                 $orderList[$key]['计划生产时段'] =substr($value['sj1'],5,5).' '.substr($value['sj1'],11,5).'<-->'.substr($value['sj2'],5,5).' '.substr($value['sj2'],11,5);
-                unset($orderList[$key]['gdbh'],$orderList[$key]['质量信息'],$orderList[$key]['gxh'],$orderList[$key]['yjno'],$orderList[$key]['gxmc'],$orderList[$key]['add_gxmc'],$orderList[$key]['计划接货数'],$orderList[$key]['已完成'],$orderList[$key]['印件名称'],$orderList[$key]['ls']);
+                unset($orderList[$key]['gdbh'],$orderList[$key]['质量信息'],$orderList[$key]['gxh'],$orderList[$key]['yjno'],$orderList[$key]['gxmc'],$orderList[$key]['add_gxmc'],$orderList[$key]['计划接货数'],$orderList[$key]['已完成'],$orderList[$key]['印件名称'],$orderList[$key]['ls'],$orderList[$key]['制程废品']);
             }
         }
         $this->success('成功',$orderList);