Browse Source

超节损显示

qiuenguang 1 year ago
parent
commit
cd25eccc4a
1 changed files with 20 additions and 9 deletions
  1. 20 9
      application/api/controller/OrderSuperLoss.php

+ 20 - 9
application/api/controller/OrderSuperLoss.php

@@ -135,12 +135,14 @@ class OrderSuperLoss extends Api
             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','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.成品编码) as 成品编码,rtrim(a.成品名称) as 成品名称,a.jjcp_sj,a.jjcp_smb,b.计量单位,
-                b.Gd_khdh, b.实际投料,c.yj_Yjno, c.yj_ls')
-                    ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_sj desc')
+                    ->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, d.st_sl as 实际投料 ,c.yj_Yjno, c.yj_ls,c.yj_ks')
+                    ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_yjno')
                     ->group('a.jjcp_gdbh,a.jjcp_yjno')
                     ->page($pages)
                     ->limit($limit)
@@ -154,11 +156,14 @@ class OrderSuperLoss extends Api
             }else{
                 $data = db('成品入仓')->alias('a')
                     ->join('工单_基本资料 b', 'a.jjcp_gdbh = b.Gd_gdbh','left')
-                    ->join('工单_印件资料 c', 'a.jjcp_gdbh = c.Yj_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)
-                    ->field('DISTINCT(a.jjcp_gdbh) as Gd_gdbh,a.jjcp_yjno,rtrim(a.成品编码) as 成品编码,rtrim(a.成品名称) as 成品名称,a.jjcp_sj,a.jjcp_smb,b.计量单位,
-                b.Gd_khdh, b.实际投料,c.yj_Yjno, c.yj_ls')
-                    ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_sj desc')
+                    ->where('d.仓库编号','Y101')
+                    ->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, d.st_sl as 实际投料,c.yj_Yjno, c.yj_ls,c.yj_ks')
+                    ->order('b.Gd_khdh,a.成品编码 asc,a.jjcp_yjno')
+                    ->group('a.jjcp_gdbh,a.jjcp_yjno')
                     ->page($pages)
                     ->limit($limit)
                     ->select();
@@ -170,7 +175,7 @@ class OrderSuperLoss extends Api
             }
             foreach ($data as $key => $value){
                 //查出成品数量及日期
-                $cp_sql = "SELECT SUM(jjcp_sl) as cp_sl,MAX(jjcp_sj) as jjcp_sj FROM `成品入仓` WHERE jjcp_gdbh = '{$value['Gd_gdbh']}' GROUP BY jjcp_gdbh,jjcp_yjno";
+                $cp_sql = "SELECT SUM(jjcp_sl) as cp_sl,MAX(jjcp_sj) as jjcp_sj FROM `成品入仓` WHERE jjcp_gdbh = '{$value['Gd_gdbh']}' AND jjcp_yjno = '{$value['jjcp_yjno']}' GROUP BY jjcp_gdbh,jjcp_yjno";
                 $cp_data = Db::query($cp_sql);
                 $data[$key]['warehousing_num'] = $cp_data[0]['cp_sl'];
                 $data[$key]['warehousing_date'] = substr($cp_data[0]['jjcp_sj'],0,10);
@@ -197,6 +202,12 @@ class OrderSuperLoss extends Api
 //                        $machine_plan_loss = $v['Gy0_计划损耗'];
 //                    }
                 }
+                if ($value['yj_ls'] > 0){
+                    $value['实际投料'] = ((int)$value['实际投料']/10000)*$value['yj_ls']*$value['yj_ks'];
+                }else{
+                    $value['实际投料'] = $value['实际投料']/10000;
+                }
+                $data[$key]['实际投料'] = $value['实际投料'];
                 if ($value['实际投料'] >0 ){
                     $target_rate =  (1-array_sum($arr))*100;
                     $data[$key]['target_rate'] =$target_rate.'%'; //目标合格率