qiuenguang 1 год назад
Родитель
Сommit
90140eab50
1 измененных файлов с 40 добавлено и 9 удалено
  1. 40 9
      application/api/controller/OrderSuperLoss.php

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

@@ -348,11 +348,20 @@ class OrderSuperLoss extends Api
                  */
                 $machine_loss = $machine_plan_loss - $machine_waste;
                 $order_loss = $data[$key]['工单计划损耗'] - ($data[$key]['废品合计'] - array_sum($list));
-                if (strpos($data[$key]['成品名称'],'小盒')){
+                $guige = \db('物料_存货编码')
+                    ->where('物料代码',$data[$key]['成品编码'])
+                    ->value('rtrim(规格)');
+                //工序超节损金额
+                if ($guige === '小盒'){
                     $moneyRate = 0.02;
                 }else{
                     $moneyRate = 0.09;
                 }
+//                if (strpos($data[$key]['成品名称'],'小盒')){
+//                    $moneyRate = 0.02;
+//                }else{
+//                    $moneyRate = 0.09;
+//                }
 
                 $reward = $order_loss * $moneyRate;
                 $data[$key]['reward_rate'] = '1';
@@ -397,8 +406,11 @@ class OrderSuperLoss extends Api
         if (!isset($params['yjno']) || empty($params['yjno'])) {
             $this->error('参数错误');
         }
-        $sql = "SELECT a.Gy0_gdbh,a.Gy0_yjno,a.Gy0_gxh,rtrim(a.Gy0_gxmc) as Gy0_gxmc,rtrim(a.Add_gxmc) as Add_gxmc,a.Gy0_ls,a.Gy0_Rate0,a.Gy0_Rate1,a.损耗系数,a.Gy0_ms,
-                a.Gy0_计划接货数*a.Gy0_ls as Gy0_计划接货数,a.Gy0_计划损耗*a.Gy0_ls as Gy0_计划损耗,sum(b.sczl_cl) as total_cl,sum(b.sczl_zcfp) as total_fp,sum(c.sczl_cl) as cl,SUM(c.sczl_fp) as fp FROM `工单_工艺资料` a
+        $sql = "SELECT a.Gy0_gdbh,a.Gy0_yjno,a.Gy0_gxh,rtrim(a.Gy0_gxmc) as Gy0_gxmc,rtrim(a.Add_gxmc) as Add_gxmc,
+                a.Gy0_ls,a.Gy0_Rate0,a.Gy0_Rate1,a.损耗系数,a.Gy0_ms,a.Gy0_计划接货数*a.Gy0_ls as Gy0_计划接货数,
+                a.Gy0_计划损耗*a.Gy0_ls as Gy0_计划损耗,sum(b.sczl_cl) as total_cl,sum(b.sczl_zcfp) as total_fp,
+                sum(c.sczl_cl) as cl,SUM(c.sczl_fp) as fp,rtrim(a.印刷方式) as 印刷方式,rtrim(a.版距) as 版距
+                FROM `工单_工艺资料` a
                 LEFT JOIN `设备_产量计酬` b ON a.Gy0_gdbh = b.sczl_gdbh AND a.Gy0_gxh = b.sczl_gxh
                 LEFT JOIN `db_sczl` c ON a.Gy0_gdbh = c.sczl_gdbh AND a.Gy0_gxh = c.sczl_gxh
                 WHERE a.Gy0_gdbh = '{$params['order']}' AND a.Gy0_yjno = '{$params['yjno']}' GROUP BY a.Gy0_gxh";
@@ -414,6 +426,9 @@ class OrderSuperLoss extends Api
             }else{
                 $data[$key]['total_fp'] = $value['fp'] *$value['Gy0_ls'];
             }
+            if ($value['印刷方式'] === '卷对卷'){
+                $data[$key]['total_cl'] = $data[$key]['total_cl'] * $value['版距']/1000;
+            }
             unset($data[$key]['cl']);
             unset($data[$key]['fp']);
         }
@@ -639,8 +654,11 @@ class OrderSuperLoss extends Api
                 //工序实际报废率
                 $gy_data[$k]['actual_loss_rate'] = number_format($gy_data[$k]['total_waste'] / ($data['实际投料']*10000),4) * 100 .'%';
                 $gy_data[$k]['超节损承担比例'] = number_format($item['超节损承担比例'],4) * 100 .'%';
+                $guige = \db('物料_存货编码')
+                    ->where('物料代码',$data['成品代号'])
+                    ->value('rtrim(规格)');
                 //工序超节损金额
-                if (strpos($data['成品名称'],'小盒')){
+                if ($guige === '小盒'){
                     $moneyRate = 0.02;
                 }else{
                     $moneyRate = 0.09;
@@ -796,7 +814,11 @@ class OrderSuperLoss extends Api
                 }
                 $gy_data[$i]['节损数量'] = $item['计划损耗'] - $total_waste;
                 //节损奖
-                if (strpos($data['成品名称'],'小盒')){
+                $guige = \db('物料_存货编码')
+                    ->where('物料代码',$data['成品代号'])
+                    ->value('rtrim(规格)');
+                //工序超节损金额
+                if ($guige === '小盒'){
                     $moneyRate = 0.02;
                 }else{
                     $moneyRate = 0.09;
@@ -1061,8 +1083,10 @@ class OrderSuperLoss extends Api
         }
         $order = $params['order'];
         $yjno = $params['yjno'];
-        $sql = "SELECT a.Gy0_yjno,a.Gy0_gxh,rtrim(a.Gy0_gxmc) as Gy0_gxmc,rtrim(a.Add_gxmc) as Add_gxmc,a.Gy0_计划接货数, a.Gy0_ls,a.Gy0_sbbh,a.PD_WG,SUM(b.sczl_cl) as sczl_cl,
-                SUM(b.sczl_zcfp) as sczl_zcfp,SUM(b.sczl_来料少数) as 来料异常,COUNT(DISTINCT b.sczl_num) as process_num,b.sczl_Pgcl,SUM(c.sczl_cl) as cl,b.sczl_rq
+        $sql = "SELECT a.Gy0_yjno,a.Gy0_gxh,rtrim(a.Gy0_gxmc) as Gy0_gxmc,rtrim(a.Add_gxmc) as Add_gxmc,a.Gy0_计划接货数,
+                a.Gy0_ls,a.Gy0_sbbh,a.PD_WG,SUM(b.sczl_cl) as sczl_cl,SUM(b.sczl_zcfp) as sczl_zcfp,
+                SUM(b.sczl_来料少数) as 来料异常,COUNT(DISTINCT b.sczl_num) as process_num,b.sczl_Pgcl,
+                SUM(c.sczl_cl) as cl,b.sczl_rq,rtrim(a.印刷方式) as 印刷方式,rtrim(a.版距) as 版距
                 FROM `工单_工艺资料` a
                 LEFT JOIN `设备_产量计酬` b ON a.Gy0_gdbh = b.sczl_gdbh AND a.Gy0_yjno = b.sczl_yjno AND a.Gy0_gxh = b.sczl_gxh
                 LEFT JOIN db_sczl c ON a.Gy0_gdbh = c.sczl_gdbh AND a.Gy0_yjno = c.sczl_yjno AND a.Gy0_gxh = c.sczl_gxh
@@ -1133,6 +1157,9 @@ class OrderSuperLoss extends Api
             }else{
                 $data[$key]['PD_WG'] = '完工';
             }
+            if ($item['印刷方式'] === '卷对卷'){
+                $data[$key]['sczl_cl'] = $data[$key]['sczl_cl'] * $item['版距']/1000;
+            }
         }
         $this->success('请求成功',$data);
     }
@@ -1497,9 +1524,13 @@ class OrderSuperLoss extends Api
             }
             $gy_data[$n]['节损数量'] = $item['计划损耗'] - $total_waste;
             //节损奖
-            if (strpos($data['成品名称'], '小盒')) {
+            $guige = \db('物料_存货编码')
+                ->where('物料代码',$data['成品代号'])
+                ->value('rtrim(规格)');
+            //工序超节损金额
+            if ($guige === '小盒'){
                 $moneyRate = 0.02;
-            } else {
+            }else{
                 $moneyRate = 0.09;
             }
             if (strpos($item['sczl_gxmc'], '机检') !== false) {