liuhairui 1 жил өмнө
parent
commit
e01cd9c4bb

+ 35 - 10
application/api/controller/OrderSuperLoss.php

@@ -133,20 +133,42 @@ class OrderSuperLoss extends Api
         $num = config('product_code_digit');
         if ($is_have_cache === false){
             if (!empty($params['code'])){
+//                $data = db('成品入仓')->alias('a')
+//                    ->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh','left')
+//                    ->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh AND a.jjcp_cpdh = c.yj_Yjdh','left')
+//                    ->join('物料_收发记录 d',' a.jjcp_gdbh = d.st_gdbh AND d.cpdh = a.jjcp_cpdh')
+//                    ->where($where)
+//                    ->where('d.仓库编号','Y101')
+//                    ->whereRaw('LEFT(a.成品编码, ' . $num . ') = "' . $params['code'] . '"')
+//                    ->field('DISTINCT(a.jjcp_gdbh) as Gd_gdbh,a.jjcp_yjno,rtrim(a.jjcp_cpdh) as 成品编码,rtrim(a.jjcp_cpmc) as 成品名称,a.jjcp_sj,a.jjcp_smb,b.计量单位,
+//                b.Gd_khdh, SUM(d.st_sl) as 实际投料 ,c.yj_Yjno, c.yj_ls,c.yj_ks,c.质量考核')
+//                    ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_yjno,d.st_rq desc')
+//                    ->group('a.jjcp_gdbh,a.jjcp_yjno')
+//                    ->page($pages)
+//                    ->limit($limit)
+//                    ->select();
+
+                $sql= db('物料_收发记录')
+                    ->alias('d')
+                    ->where('d.仓库编号', 'Y101')
+                    ->group('d.st_gdbh, d.cpdh')
+                    ->field('d.st_gdbh, d.cpdh,d.st_rq, SUM(d.st_sl) as 实际投料,d.仓库编号')
+                    ->buildSql();
                 $data = db('成品入仓')->alias('a')
-                    ->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh','left')
-                    ->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh AND a.jjcp_cpdh = c.yj_Yjdh','left')
-                    ->join('物料_收发记录 d',' a.jjcp_gdbh = d.st_gdbh AND d.cpdh = a.jjcp_cpdh')
+                    ->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh', 'left')
+                    ->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh AND a.jjcp_cpdh = c.yj_Yjdh', 'left')
+                    ->join([$sql => 'd'], 'a.jjcp_gdbh = d.st_gdbh AND a.jjcp_cpdh = d.cpdh', 'left')
                     ->where($where)
                     ->where('d.仓库编号','Y101')
                     ->whereRaw('LEFT(a.成品编码, ' . $num . ') = "' . $params['code'] . '"')
-                    ->field('DISTINCT(a.jjcp_gdbh) as Gd_gdbh,a.jjcp_yjno,rtrim(a.jjcp_cpdh) as 成品编码,rtrim(a.jjcp_cpmc) as 成品名称,a.jjcp_sj,a.jjcp_smb,b.计量单位,
-                b.Gd_khdh, SUM(d.st_sl) as 实际投料 ,c.yj_Yjno, c.yj_ls,c.yj_ks,c.质量考核')
-                    ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_yjno,d.st_rq desc')
-                    ->group('a.jjcp_gdbh,a.jjcp_yjno')
+                    ->field('a.jjcp_gdbh as Gd_gdbh, a.jjcp_yjno, rtrim(a.jjcp_cpdh) as 成品编码, rtrim(a.jjcp_cpmc) as 成品名称,
+             a.jjcp_sj, a.jjcp_smb, b.计量单位, b.Gd_khdh, d.实际投料, c.yj_Yjno, c.yj_ls, c.yj_ks, c.质量考核')
+                    ->group('a.jjcp_gdbh, a.jjcp_yjno')
+                    ->order('b.Gd_khdh, a.成品编码 asc, a.jjcp_yjno,d.st_rq desc')
                     ->page($pages)
                     ->limit($limit)
                     ->select();
+
                 $total = db('成品入仓')->alias('a')
                     ->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh','left')
                     ->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_Gdbh','left')
@@ -172,7 +194,7 @@ class OrderSuperLoss extends Api
                     ->alias('d')
                     ->where('d.仓库编号', 'Y101')
                     ->group('d.st_gdbh, d.cpdh')
-                    ->field('d.st_gdbh, d.cpdh, SUM(d.st_sl) as 实际投料')
+                    ->field('d.st_gdbh, d.cpdh,d.st_rq, SUM(d.st_sl) as 实际投料,d.仓库编号')
                     ->buildSql();
 
                 $data = db('成品入仓')->alias('a')
@@ -182,8 +204,8 @@ class OrderSuperLoss extends Api
                     ->where($where)
                     ->field('a.jjcp_gdbh as Gd_gdbh, a.jjcp_yjno, rtrim(a.jjcp_cpdh) as 成品编码, rtrim(a.jjcp_cpmc) as 成品名称,
              a.jjcp_sj, a.jjcp_smb, b.计量单位, b.Gd_khdh, d.实际投料, c.yj_Yjno, c.yj_ls, c.yj_ks, c.质量考核')
-                    ->group('a.jjcp_gdbh, a.jjcp_yjno, a.jjcp_cpdh, a.jjcp_cpmc, a.jjcp_sj, a.jjcp_smb, b.计量单位, b.Gd_khdh, c.yj_Yjno, c.yj_ls, c.yj_ks, c.质量考核, d.实际投料')
-                    ->order('b.Gd_khdh, 成品编码 asc, a.jjcp_yjno, d.实际投料 desc')
+                    ->group('a.jjcp_gdbh, a.jjcp_yjno')
+                    ->order('b.Gd_khdh, a.成品编码 asc, a.jjcp_yjno, d.st_rq desc')
                     ->page($pages)
                     ->limit($limit)
                     ->select();
@@ -198,6 +220,9 @@ class OrderSuperLoss extends Api
                     ->where($where)
                     ->count();
             }
+//            echo "<pre>";
+//            print_r($data);
+//            echo "<pre>";
 
             foreach ($data as $key => $value){
                 //查出成品数量及日期