Quellcode durchsuchen

超节损实际投料资料获取优化

qiuenguang vor 1 Jahr
Ursprung
Commit
ab0dc653f8
1 geänderte Dateien mit 15 neuen und 6 gelöschten Zeilen
  1. 15 6
      application/api/controller/OrderSuperLoss.php

+ 15 - 6
application/api/controller/OrderSuperLoss.php

@@ -794,16 +794,19 @@ class OrderSuperLoss extends Api
             $this->error('非法请求');
         }
         $params = Request::instance()->request();
-        if (empty($params['year']) || empty($params['month'])) {
+        if (empty($params['workorder']) || empty($params['yjno'])) {
             $this->error('参数错误');
         }
-        $search = $params['year'].'.'.$params['month'];
-        $field = "a.Gd_gdbh,rtrim(c.yj_yjdh) as yj_yjdh,c.yj_Yjno, c.yj_ks,c.yj_ls,rtrim(c.yj_zzdh) as yj_zzdh,
-                  rtrim(b.BOM_物料名称) as BOM_物料名称,rtrim(c.yj_tlgg) as yj_tlgg,rtrim(b.BOM_投料单位) as BOM_投料单位,a.订单数量,c.yj_平张投料, b.BOM_实际用量,a.实际投料,a.投料确认,a.UniqId";
+//        $search = $params['year'].'.'.$params['month'];
+        $field = "a.Gd_gdbh,rtrim(c.yj_Yjdh) as yj_yjdh,c.yj_Yjno, c.yj_ks,c.yj_ls,rtrim(c.yj_zzdh) as yj_zzdh,
+                  rtrim(b.BOM_物料名称) as BOM_物料名称,rtrim(c.yj_tlgg) as yj_tlgg,rtrim(b.BOM_投料单位) as BOM_投料单位,a.订单数量,c.yj_平张投料, b.BOM_实际用量,d.st_sl as 实际投料,a.投料确认,a.UniqId";
         $data =db('工单_基本资料')->alias('a')
-            ->join('工单_印件资料 c','a.Gd_gdbh = c.Yj_Gdbh','left')
+            ->join('工单_印件资料 c','a.Gd_gdbh = c.Yj_Gdbh ','left')
             ->join('工单_bom资料 b','c.Yj_Gdbh = b.BOM_工单编号 AND c.yj_zzdh = b.BOM_物料编码','left')
-            ->where('a.投料确认','like','%'.$search.'%')
+            ->join('物料_收发记录 d','a.Gd_gdbh = d.st_gdbh AND d.cpdh = c.yj_Yjdh')
+//            ->where('a.投料确认','like','%'.$search.'%')
+            ->where('a.Gd_gdbh',$params['workorder'])
+            ->where('c.yj_Yjno',$params['yjno'])
             ->field($field)
             ->group('a.Gd_gdbh')
             ->order('b.BOM_投料单位,a.UniqId asc')
@@ -812,6 +815,12 @@ class OrderSuperLoss extends Api
             $this->success('请求成功');
         }
         foreach ($data as $key=>$value){
+            if ($value['yj_ls'] > 0){
+                $value['实际投料'] = number_format(((int)$value['实际投料']/10000)*$value['yj_ls']*$value['yj_ks'],4);
+            }else{
+                $value['实际投料'] = number_format($value['实际投料']/10000,4);
+            }
+            $data[$key]['实际投料'] = $value['实际投料'];
             $len = stripos($value['yj_tlgg'],'/');
             if ($len){
                 $name = substr($value['yj_tlgg'],0,$len);