|
|
@@ -1245,6 +1245,7 @@ class OrderSuperLoss extends Api
|
|
|
'gdbh' => $gdbh,
|
|
|
'yjno' => $yjno
|
|
|
];
|
|
|
+
|
|
|
//查询工单入仓数据
|
|
|
$workOrderData = \db('成品入仓')
|
|
|
->where('jjcp_gdbh', $param['gdbh'])
|
|
|
@@ -1341,6 +1342,7 @@ class OrderSuperLoss extends Api
|
|
|
$out_sql = "SELECT qczl_num,fp_sl1,fp_sl2,fp_sl3,fp_sl4,fp_sl5,fp_sl6,fp_sl7,fp_sl8,fp_sl9,fp_sl10,fp_sl11,fp_sl12,fp_sl13,
|
|
|
fp_lb1,fp_lb2,fp_lb3,fp_lb4,fp_lb5,fp_lb6,fp_lb7,fp_lb8,fp_lb9,fp_lb10,fp_lb11,fp_lb12,fp_lb13,
|
|
|
fp_bh1,fp_bh2,fp_bh3,fp_bh4,fp_bh5,fp_bh6,fp_bh7,fp_bh8,fp_bh9,fp_bh10,fp_bh11,fp_bh12,fp_bh13,
|
|
|
+ fp_bz1,fp_bz2,fp_bz3,fp_bz4,fp_bz5,fp_bz6,fp_bz7,fp_bz8,fp_bz9,fp_bz10,fp_bz11,fp_bz12,fp_bz13,
|
|
|
fp_gxmc1,fp_gxmc2,fp_gxmc3,fp_gxmc4,fp_gxmc5,fp_gxmc6,fp_gxmc7,fp_gxmc8,fp_gxmc9,fp_gxmc10,fp_gxmc11,fp_gxmc12,fp_gxmc13,UniqId
|
|
|
FROM db_qczl WHERE qczl_gdbh = '{$workOrderData['jjcp_gdbh']}' AND qczl_yjno = '{$workOrderData['jjcp_yjno']}'";
|
|
|
$waste_out = Db::query($out_sql);
|
|
|
@@ -1378,7 +1380,7 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
|
|
|
//机检废品
|
|
|
- if (substr($entry[$labelKey],0,1) == 'K' ){
|
|
|
+ if (substr($entry[$gxmcKey],0,2) == '01' ){
|
|
|
$machine[$o]= $entry[$slKey];
|
|
|
$o++;
|
|
|
}
|
|
|
@@ -1446,8 +1448,23 @@ class OrderSuperLoss extends Api
|
|
|
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')
|
|
|
->select();
|
|
|
+ $sumBz = [];
|
|
|
+ foreach ($gy_data as $kk => $vv){
|
|
|
+ //每道工序的产量(按班组分)
|
|
|
+ $vv['total_cl'] = $vv['total_cl'] * $vv['Gy0_ls'] * $vv['Gy0_ks'];
|
|
|
+ if (empty($vv['total_cl'])) {
|
|
|
+ $vv['total_cl'] = $vv['cl'] * $vv['Gy0_ls'] * $vv['Gy0_ks'];
|
|
|
+ }
|
|
|
+ if (empty($vv['sczl_bh1'])){
|
|
|
+ $vv['sczl_bh1'] = $vv['sczl_bh'];
|
|
|
+ }
|
|
|
+ if (isset($sumBz[$vv['sczl_bh1']])){
|
|
|
+ $sumBz[$vv['sczl_bh1']] += $vv['total_cl'];
|
|
|
+ }else{
|
|
|
+ $sumBz[$vv['sczl_bh1']] = $vv['total_cl'];
|
|
|
+ }
|
|
|
+ }
|
|
|
foreach ($gy_data as $kk => $vv) {
|
|
|
- $num_data = explode(',',$vv['流程单']);
|
|
|
//每道工序的产量(按班组分)
|
|
|
$gy_data[$kk]['total_cl'] = $vv['total_cl'] * $vv['Gy0_ls'] * $vv['Gy0_ks'];
|
|
|
if (empty($vv['total_cl'])) {
|
|
|
@@ -1481,17 +1498,19 @@ class OrderSuperLoss extends Api
|
|
|
}
|
|
|
$gy_data[$kk]['sczl_bh1'] = $vv['sczl_bh1'];
|
|
|
$gy_data[$kk]['质检废'] = 0;
|
|
|
+ $gy_data[$kk]['zjfp'] = 0;
|
|
|
foreach ($waste_out as $entry) {
|
|
|
for ($i = 1; $i <= 13; $i++) {
|
|
|
$gxmcKey = "fp_gxmc" . $i;
|
|
|
$gxlbKey = "fp_lb" . $i;
|
|
|
$slKey = "fp_sl" . $i;
|
|
|
$bhKey = "fp_bh" . $i;
|
|
|
- if ((int)substr($entry[$gxmcKey], 0, 2) == $vv['Gy0_gxh'] && $entry[$bhKey] == $vv['sczl_bh1'] && in_array($entry['qczl_num'],$num_data)) {
|
|
|
- $gy_data[$kk]['质检废'] += $entry[$slKey];
|
|
|
+ if ((int)substr($entry[$gxmcKey], 0, 2) == $vv['Gy0_gxh'] && $entry[$bhKey] == $vv['sczl_bh1']) {
|
|
|
+ $gy_data[$kk]['zjfp'] += $entry[$slKey];
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ $gy_data[$kk]['质检废'] = round($gy_data[$kk]['zjfp']*($gy_data[$kk]['total_cl']/$sumBz[$vv['sczl_bh1']]));
|
|
|
//无形损分摊
|
|
|
if ($plan_total > 0) {
|
|
|
$gy_data[$kk]['无形损分摊'] = round($gy_data[$kk]['计划损耗'] / $plan_total * $data['intangible_loss']);
|
|
|
@@ -1578,8 +1597,8 @@ class OrderSuperLoss extends Api
|
|
|
'印件工序产量' => $value['工序产量'],
|
|
|
'班组产量' => $value['total_cl'],
|
|
|
'班组制程废品' => $value['sczl_zcfp'],
|
|
|
- '班组质检废品' => $value['质检废'],
|
|
|
- '班组分摊质检废品' => $data['工单质检废'],
|
|
|
+ '班组质检废品' => $value['zjfp'],
|
|
|
+ '班组分摊质检废品' => $value['质检废'],
|
|
|
'无班组废品' => 0,
|
|
|
'外发废' => $data['外发废'],
|
|
|
'材料废' => $data['材料废'],
|
|
|
@@ -1714,7 +1733,7 @@ class OrderSuperLoss extends Api
|
|
|
b.`零头处理`,
|
|
|
b.`外发废`,
|
|
|
SUM(b.`班组制程废品`) AS zcfp,
|
|
|
- b.`班组分摊质检废品` AS 工单质检废
|
|
|
+ SUM(b.`班组分摊质检废品`) AS 工单质检废
|
|
|
';
|
|
|
$list = \db('成品入仓')
|
|
|
->alias('a')
|
|
|
@@ -1801,7 +1820,7 @@ class OrderSuperLoss extends Api
|
|
|
`零头处理`,
|
|
|
`外发废`,
|
|
|
SUM(`班组制程废品`) AS `zcfp`,
|
|
|
- `班组分摊质检废品`,
|
|
|
+ SUM(`班组分摊质检废品`) AS `班组分摊质检废品`,
|
|
|
`订单数量`,
|
|
|
`销售订单号`
|
|
|
|
|
|
@@ -1835,7 +1854,7 @@ class OrderSuperLoss extends Api
|
|
|
SUM(`CjsSl`) AS loss,
|
|
|
`印件工序产量` AS total_cl,
|
|
|
SUM(`班组制程废品`) AS total_fp,
|
|
|
- SUM(`班组质检废品`) AS waste_quality,
|
|
|
+ SUM(`班组分摊质检废品`) AS waste_quality,
|
|
|
SUM(`CjsJe`) AS 工序超节损金额,
|
|
|
`无形损承担比例`,
|
|
|
`超节损承担比例`
|
|
|
@@ -1933,7 +1952,7 @@ class OrderSuperLoss extends Api
|
|
|
`零头处理`,
|
|
|
`外发废`,
|
|
|
SUM(`班组制程废品`) AS `zcfp`,
|
|
|
- `班组分摊质检废品`,
|
|
|
+ SUM(`班组分摊质检废品`) AS `班组分摊质检废品`,
|
|
|
`订单数量`,
|
|
|
`销售订单号`
|
|
|
|
|
|
@@ -1975,7 +1994,7 @@ class OrderSuperLoss extends Api
|
|
|
'节损奖' => $item['CjsJe'],
|
|
|
'节损数量' => $item['CjsSl'],
|
|
|
'sczl_zcfp' => $item['班组制程废品'],
|
|
|
- '质检废' => $item['班组质检废品'],
|
|
|
+ '质检废' => $item['班组分摊质检废品'],
|
|
|
'超节损承担比例' => ($item['超节损承担比例']*100).'%',
|
|
|
];
|
|
|
array_push($class_data,$data);
|
|
|
@@ -1983,7 +2002,7 @@ class OrderSuperLoss extends Api
|
|
|
$list['gy_data'] = $class_data;
|
|
|
//工单节损数据
|
|
|
$total_field = '
|
|
|
- `班组分摊质检废品` as total_waste,
|
|
|
+ SUM(`班组分摊质检废品`) as total_waste,
|
|
|
SUM(`班组质检废品`) as total_zjfp,
|
|
|
SUM(`班组制程废品`) as total_fp,
|
|
|
SUM(DISTINCT `计划损耗`) AS plan_loss,
|