|
|
@@ -435,6 +435,7 @@ class OrderSuperLoss extends Api
|
|
|
$gy_data[$k]['waste_quality'] = 0;
|
|
|
$gy_data[$k]['total_fp'] = $item['total_fp'] * $item['Gy0_ls'];
|
|
|
$gy_data[$k]['total_cl'] = $item['total_cl'] * $item['Gy0_ls'];
|
|
|
+ //无形损
|
|
|
$gy_data[$k]['intangible_loss'] = round($item['Gy0_计划损耗'] / $plan_total * $data['intangible_loss']);
|
|
|
foreach ($waste_out as $entry) {
|
|
|
for ($i = 1; $i <= 13; $i++) {
|
|
|
@@ -446,10 +447,23 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- $gy_data[$k]['total_waste'] = $gy_data[$k]['waste_quality'] + $gy_data[$k]['intangible_loss'] + $gy_data[$k]['total_fp'];
|
|
|
+ //报废合计
|
|
|
+ if ($gy_data[$k]['intangible_loss'] < 0){
|
|
|
+ $gy_data[$k]['total_waste'] = $gy_data[$k]['waste_quality'] + $gy_data[$k]['total_fp'];
|
|
|
+ }else{
|
|
|
+ $gy_data[$k]['total_waste'] = $gy_data[$k]['waste_quality'] + $gy_data[$k]['intangible_loss'] + $gy_data[$k]['total_fp'];
|
|
|
+ }
|
|
|
+ //工序节损数
|
|
|
$gy_data[$k]['loss'] = $item['Gy0_计划损耗'] - $gy_data[$k]['total_waste'];
|
|
|
+ //占投料报废率
|
|
|
$gy_data[$k]['loss_rate'] = number_format($gy_data[$k]['loss'] / $item['Gy0_计划接货数'],4) * 100 .'%';
|
|
|
- $gy_data[$k]['target_loss_rate'] = number_format($item['Gy0_计划损耗'] / $item['Gy0_计划接货数'],4) * 100 .'%';
|
|
|
+ //工序目标报废率
|
|
|
+ $target_loss_rate = floor($item['Gy0_计划损耗'] / $item['Gy0_计划接货数'] * 10000) / 10000;
|
|
|
+ if ($target_loss_rate == 0){
|
|
|
+ $target_loss_rate = round($item['Gy0_计划损耗'] / $item['Gy0_计划接货数'] * 10000) / 10000;
|
|
|
+ }
|
|
|
+ $gy_data[$k]['target_loss_rate'] = $target_loss_rate * 100 . '%';
|
|
|
+ //工序实际报废率
|
|
|
$gy_data[$k]['actual_loss_rate'] = number_format($gy_data[$k]['total_waste'] / $item['Gy0_计划接货数'],4) * 100 .'%';
|
|
|
$gy_data[$k]['超节损承担比例'] = number_format($item['超节损承担比例'],4) * 100 .'%';
|
|
|
|
|
|
@@ -492,13 +506,10 @@ class OrderSuperLoss extends Api
|
|
|
'a.Gy0_gdbh' => $order,
|
|
|
'a.Gy0_gxh' => ['in', $gxh_values]
|
|
|
])
|
|
|
-// ->group('b.sczl_gxh,b.sczl_bh1, b.sczl_bh2, b.sczl_bh3, b.sczl_bh4,b.sczl_bh5,b.sczl_bh6,b.sczl_bh7,b.sczl_bh8,b.sczl_bh9,b.sczl_bh10, c.sczl_bh')
|
|
|
->group('b.sczl_gxh, b.sczl_bh1, CASE WHEN b.sczl_bh2 = "000000" THEN "" ELSE b.sczl_bh2 END, b.sczl_bh3,
|
|
|
b.sczl_bh4, b.sczl_bh5, b.sczl_bh6, b.sczl_bh7, b.sczl_bh8, b.sczl_bh9, c.sczl_bh1')
|
|
|
->order('a.Gy0_gxh asc, b.开工时间 asc, c.sczl_rq desc')
|
|
|
-// ->fetchSql(true)
|
|
|
->select();
|
|
|
-// halt($gy_data);
|
|
|
foreach ($gy_data as $key=>$value){
|
|
|
$gy_data[$key]['Gy0_yjno'] = $value['Gy0_yjno'] > 10 ? $value['Gy0_yjno'] : '0'.$value['Gy0_yjno'];
|
|
|
//每道工序的产量(按班组分)
|
|
|
@@ -543,10 +554,8 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
//无形损分摊
|
|
|
$gy_data[$key]['无形损分摊'] = round($gy_data[$key]['计划损耗'] / $plan_total * $data['intangible_loss']);
|
|
|
-
|
|
|
$gy_data[$key]['超节损承担比例'] = number_format($value['超节损承担比例'],4) * 100 .'%';
|
|
|
//班组成员
|
|
|
$nameArr = [];
|
|
|
@@ -563,6 +572,7 @@ class OrderSuperLoss extends Api
|
|
|
unset($gy_data[$key]['cl']);
|
|
|
unset($gy_data[$key]['fp']);
|
|
|
unset($gy_data[$key]['sczl_bh']);
|
|
|
+
|
|
|
}
|
|
|
//重新计算多班组同组长的质检废,质检废 = 班组产量 / 总产量 * 质检废
|
|
|
$totals = [];
|