|
@@ -47,10 +47,14 @@ class ReportFormsService extends Service
|
|
$list = [];
|
|
$list = [];
|
|
foreach ($orderList as $value){
|
|
foreach ($orderList as $value){
|
|
if(! isset($list[$value['production_no']])){
|
|
if(! isset($list[$value['production_no']])){
|
|
|
|
+ $value['out_order_no'] = [$value['out_order_no']];
|
|
|
|
+ $value['id'] = [$value['id']];
|
|
$list[$value['production_no']] = $value;
|
|
$list[$value['production_no']] = $value;
|
|
}else{
|
|
}else{
|
|
$list[$value['production_no']]['order_quantity'] += $value['order_quantity'];
|
|
$list[$value['production_no']]['order_quantity'] += $value['order_quantity'];
|
|
$list[$value['production_no']]['production_quantity'] += $value['production_quantity'];
|
|
$list[$value['production_no']]['production_quantity'] += $value['production_quantity'];
|
|
|
|
+ if(! in_array($value['out_order_no'], $list[$value['production_no']]['out_order_no'])) $list[$value['production_no']]['out_order_no'][] = $value['out_order_no'];
|
|
|
|
+ if(! in_array($value['id'], $list[$value['production_no']]['id'])) $list[$value['production_no']]['id'][] = $value['id'];
|
|
}
|
|
}
|
|
}unset($orderList);
|
|
}unset($orderList);
|
|
|
|
|
|
@@ -70,21 +74,46 @@ class ReportFormsService extends Service
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ $process = [];
|
|
|
|
+ foreach ($list as $key => $value) {
|
|
|
|
+ foreach ($detail as $key_son => $value_son) {
|
|
|
|
+ $process_key = implode('|',$value['id']);
|
|
|
|
+ foreach ($value['id'] as $item) {
|
|
|
|
+ $detail_key = $item . "|";
|
|
|
|
+ if (strpos($key_son, $detail_key) !== false) {
|
|
|
|
+ $tmp = explode('|', $key_son);
|
|
|
|
+ $order_product_id = $tmp[0];
|
|
|
|
+ $p_id = $tmp[1];
|
|
|
|
+
|
|
|
|
+ $process_key .= $p_id;
|
|
|
|
+ if(isset($process[$process_key])){
|
|
|
|
+ $dispatch_count = bcadd($value_son['dispatch_count'], $process[$process_key]['dispatch_count'],3);
|
|
|
|
+ $finish_count = bcadd($value_son['finish_count'], $process[$process_key]['finish_count'],3);
|
|
|
|
+ $process[$process_key]['dispatch_count'] = $dispatch_count;
|
|
|
|
+ $process[$process_key]['finish_count'] = $finish_count;
|
|
|
|
+ }else{
|
|
|
|
+ $process[$process_key] = [
|
|
|
|
+ 'dispatch_count' => $value_son['dispatch_count'],
|
|
|
|
+ 'finish_count' => $value_son['finish_count'],
|
|
|
|
+ 'process_id' => $p_id
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
//返回统计数据
|
|
//返回统计数据
|
|
foreach ($list as $key => $value) {
|
|
foreach ($list as $key => $value) {
|
|
|
|
+ $list[$key]['out_order_no'] = implode(',',$value['out_order_no']);
|
|
$list[$key]['production_time'] = $value['production_time'] ? date('Y-m-d',$value['production_time']) : '';
|
|
$list[$key]['production_time'] = $value['production_time'] ? date('Y-m-d',$value['production_time']) : '';
|
|
$list[$key]['out_order_no_time'] = $value['out_order_no_time'] ? date('Y-m-d',$value['out_order_no_time']) : '';
|
|
$list[$key]['out_order_no_time'] = $value['out_order_no_time'] ? date('Y-m-d',$value['out_order_no_time']) : '';
|
|
|
|
+ $process_key = implode('|',$value['id']);
|
|
|
|
|
|
- $detail_key = $value['id'] . "|";
|
|
|
|
- foreach ($detail as $key_son => $value_son) {
|
|
|
|
- if (strpos($key_son, $detail_key) !== false) {
|
|
|
|
- $value_son['production_no'] = $value['production_no'];
|
|
|
|
- $dispatch_count = $value_son['dispatch_count'];
|
|
|
|
- $finish_count = $value_son['finish_count'];
|
|
|
|
- $value_son['dispatch_count'] = $dispatch_count;
|
|
|
|
- $value_son['finish_count'] = $finish_count;
|
|
|
|
- $value_son['rate'] = number_format($value_son['finish_count'] / $value['order_quantity'] * 100, 2);
|
|
|
|
- $list[$key]['process'][] = $value_son;
|
|
|
|
|
|
+ foreach ($process as $k => $v){
|
|
|
|
+ if (strpos($k,$process_key) !== false) {
|
|
|
|
+ $v['rate'] = bcdiv($v['dispatch_count'], $v['finish_count'],2) * 100;
|
|
|
|
+ $list[$key]['process'][] = $v;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|