|
@@ -9,6 +9,7 @@ use App\Model\OrdersProductProcess;
|
|
use App\Model\Process;
|
|
use App\Model\Process;
|
|
use App\Model\ReportWorkingDetail;
|
|
use App\Model\ReportWorkingDetail;
|
|
use App\Model\Scrapp;
|
|
use App\Model\Scrapp;
|
|
|
|
+use App\Model\ScrappCount;
|
|
use App\Model\SystemL;
|
|
use App\Model\SystemL;
|
|
use App\Model\Team;
|
|
use App\Model\Team;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
@@ -412,22 +413,34 @@ class ReportFormsService extends Service
|
|
//查询分表数据
|
|
//查询分表数据
|
|
$production_id = array_keys($list);
|
|
$production_id = array_keys($list);
|
|
$detail = [];
|
|
$detail = [];
|
|
- foreach ($out_time as $value){
|
|
|
|
- //子表搜索
|
|
|
|
- $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
- $tmp = $models->whereIn('order_product_id',$production_id)
|
|
|
|
- ->where('del_time',0)
|
|
|
|
- ->where('status',4)
|
|
|
|
- ->select('order_product_id',DB::raw('COUNT(id) as bad_goods_num'))
|
|
|
|
- ->groupBy('order_product_id')
|
|
|
|
- ->get()->toArray();//不良品数据
|
|
|
|
-
|
|
|
|
- foreach ($tmp as $t){
|
|
|
|
- if(isset($detail[$t['order_product_id']])){
|
|
|
|
- $detail[$t['order_product_id']]['bad_goods_num'] += $t['bad_goods_num'];
|
|
|
|
- }else{
|
|
|
|
- $detail[$t['order_product_id']] = $t['bad_goods_num'];
|
|
|
|
- }
|
|
|
|
|
|
+// foreach ($out_time as $value){
|
|
|
|
+// //子表搜索
|
|
|
|
+// $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
+// $tmp = $models->whereIn('order_product_id',$production_id)
|
|
|
|
+// ->where('del_time',0)
|
|
|
|
+// ->where('status',4)
|
|
|
|
+// ->select('order_product_id',DB::raw('COUNT(id) as bad_goods_num'))
|
|
|
|
+// ->groupBy('order_product_id')
|
|
|
|
+// ->get()->toArray();//不良品数据
|
|
|
|
+//
|
|
|
|
+// foreach ($tmp as $t){
|
|
|
|
+// if(isset($detail[$t['order_product_id']])){
|
|
|
|
+// $detail[$t['order_product_id']]['bad_goods_num'] += $t['bad_goods_num'];
|
|
|
|
+// }else{
|
|
|
|
+// $detail[$t['order_product_id']] = $t['bad_goods_num'];
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+ $scrapp = ScrappCount::where('del_time',0)
|
|
|
|
+ ->whereIn('order_product_id',$production_id)
|
|
|
|
+ ->select('order_product_id','scrapp_num as bad_goods_num')
|
|
|
|
+ ->get()->toArray();
|
|
|
|
+ foreach ($scrapp as $value){
|
|
|
|
+ if(isset($detail[$value['order_product_id']])){
|
|
|
|
+ $tmp = bcadd($detail[$value['order_product_id']],$value['bad_goods_num'],3);
|
|
|
|
+ $detail[$value['order_product_id']] = $tmp;
|
|
|
|
+ }else{
|
|
|
|
+ $detail[$value['order_product_id']] = $value['bad_goods_num'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -463,30 +476,47 @@ class ReportFormsService extends Service
|
|
|
|
|
|
$detail = $detail_scrapp = [];
|
|
$detail = $detail_scrapp = [];
|
|
$order_product_id = array_column($list,'id');
|
|
$order_product_id = array_column($list,'id');
|
|
- foreach ($out_time as $value){
|
|
|
|
- //子表搜索
|
|
|
|
- $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
- $tmp = $models->whereIn('order_product_id',$order_product_id)
|
|
|
|
- ->where('del_time',0)
|
|
|
|
- ->where('status',4)
|
|
|
|
- ->select('order_product_id',DB::raw('COUNT(id) as bad_goods_num'), DB::raw("GROUP_CONCAT(DISTINCT scrapp_id ORDER BY scrapp_id SEPARATOR ',') as scrapp_ids"))
|
|
|
|
- ->groupBy('order_product_id')
|
|
|
|
- ->get()
|
|
|
|
- ->toArray();//不良品数据
|
|
|
|
-
|
|
|
|
- foreach ($tmp as $v){
|
|
|
|
- if(isset($detail[$v['order_product_id']])){
|
|
|
|
- $detail[$v['order_product_id']] += $v['bad_goods_num'];
|
|
|
|
- }else{
|
|
|
|
- $detail[$v['order_product_id']] = $v['bad_goods_num'];
|
|
|
|
- }
|
|
|
|
- if(isset($detail_scrapp[$v['order_product_id']])){
|
|
|
|
- $detail_scrapp[$v['order_product_id']] .= "," . $v['scrapp_ids'];
|
|
|
|
- }else{
|
|
|
|
- $detail_scrapp[$v['order_product_id']] = $v['scrapp_ids'];
|
|
|
|
- }
|
|
|
|
|
|
+ $scrapp = ScrappCount::where('del_time',0)
|
|
|
|
+ ->whereIn('order_product_id',$order_product_id)
|
|
|
|
+ ->select('order_product_id','scrapp_num as bad_goods_num','scrapp_id')
|
|
|
|
+ ->get()->toArray();
|
|
|
|
+ foreach ($scrapp as $value){
|
|
|
|
+ if(isset($detail[$value['order_product_id']])){
|
|
|
|
+ $tmp = bcadd($detail[$value['order_product_id']],$value['bad_goods_num'],3);
|
|
|
|
+ $detail[$value['order_product_id']] = $tmp;
|
|
|
|
+ }else{
|
|
|
|
+ $detail[$value['order_product_id']] = $value['bad_goods_num'];
|
|
|
|
+ }
|
|
|
|
+ if(isset($detail_scrapp[$value['order_product_id']])){
|
|
|
|
+ $detail_scrapp[$value['order_product_id']] .= "," . $value['scrapp_id'];
|
|
|
|
+ }else{
|
|
|
|
+ $detail_scrapp[$value['order_product_id']] = $value['scrapp_id'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+// foreach ($out_time as $value){
|
|
|
|
+// //子表搜索
|
|
|
|
+// $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
+// $tmp = $models->whereIn('order_product_id',$order_product_id)
|
|
|
|
+// ->where('del_time',0)
|
|
|
|
+// ->where('status',4)
|
|
|
|
+// ->select('order_product_id',DB::raw('COUNT(id) as bad_goods_num'), DB::raw("GROUP_CONCAT(DISTINCT scrapp_id ORDER BY scrapp_id SEPARATOR ',') as scrapp_ids"))
|
|
|
|
+// ->groupBy('order_product_id')
|
|
|
|
+// ->get()
|
|
|
|
+// ->toArray();//不良品数据
|
|
|
|
+//
|
|
|
|
+// foreach ($tmp as $v){
|
|
|
|
+// if(isset($detail[$v['order_product_id']])){
|
|
|
|
+// $detail[$v['order_product_id']] += $v['bad_goods_num'];
|
|
|
|
+// }else{
|
|
|
|
+// $detail[$v['order_product_id']] = $v['bad_goods_num'];
|
|
|
|
+// }
|
|
|
|
+// if(isset($detail_scrapp[$v['order_product_id']])){
|
|
|
|
+// $detail_scrapp[$v['order_product_id']] .= "," . $v['scrapp_ids'];
|
|
|
|
+// }else{
|
|
|
|
+// $detail_scrapp[$v['order_product_id']] = $v['scrapp_ids'];
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
|
|
$scrapp_map = Scrapp::where('del_time',0)->pluck('title','id')->toArray();
|
|
$scrapp_map = Scrapp::where('del_time',0)->pluck('title','id')->toArray();
|
|
foreach ($list as $key => $value) {
|
|
foreach ($list as $key => $value) {
|
|
@@ -546,24 +576,36 @@ class ReportFormsService extends Service
|
|
//查询分表数据
|
|
//查询分表数据
|
|
$production_id = array_keys($list);
|
|
$production_id = array_keys($list);
|
|
$detail = [];
|
|
$detail = [];
|
|
- foreach ($out_time as $value){
|
|
|
|
- //子表搜索
|
|
|
|
- $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
- $tmp = $models->whereIn('order_product_id',$production_id)
|
|
|
|
- ->where('del_time',0)
|
|
|
|
- ->where('status',4)
|
|
|
|
- ->select('order_product_id',DB::raw('COUNT(id) as bad_goods_num'))
|
|
|
|
- ->groupBy('order_product_id')
|
|
|
|
- ->get()->toArray();//不良品数据
|
|
|
|
-
|
|
|
|
- foreach ($tmp as $t){
|
|
|
|
- if(isset($detail[$t['order_product_id']])){
|
|
|
|
- $detail[$t['order_product_id']]['bad_goods_num'] += $t['bad_goods_num'];
|
|
|
|
- }else{
|
|
|
|
- $detail[$t['order_product_id']] = $t['bad_goods_num'];
|
|
|
|
- }
|
|
|
|
|
|
+ $scrapp = ScrappCount::where('del_time',0)
|
|
|
|
+ ->whereIn('order_product_id',$production_id)
|
|
|
|
+ ->select('order_product_id','scrapp_num as bad_goods_num')
|
|
|
|
+ ->get()->toArray();
|
|
|
|
+ foreach ($scrapp as $value){
|
|
|
|
+ if(isset($detail[$value['order_product_id']])){
|
|
|
|
+ $tmp = bcadd($detail[$value['order_product_id']],$value['bad_goods_num'],3);
|
|
|
|
+ $detail[$value['order_product_id']] = $tmp;
|
|
|
|
+ }else{
|
|
|
|
+ $detail[$value['order_product_id']] = $value['bad_goods_num'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+// foreach ($out_time as $value){
|
|
|
|
+// //子表搜索
|
|
|
|
+// $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
+// $tmp = $models->whereIn('order_product_id',$production_id)
|
|
|
|
+// ->where('del_time',0)
|
|
|
|
+// ->where('status',4)
|
|
|
|
+// ->select('order_product_id',DB::raw('COUNT(id) as bad_goods_num'))
|
|
|
|
+// ->groupBy('order_product_id')
|
|
|
|
+// ->get()->toArray();//不良品数据
|
|
|
|
+//
|
|
|
|
+// foreach ($tmp as $t){
|
|
|
|
+// if(isset($detail[$t['order_product_id']])){
|
|
|
|
+// $detail[$t['order_product_id']] += $t['bad_goods_num'];
|
|
|
|
+// }else{
|
|
|
|
+// $detail[$t['order_product_id']] = $t['bad_goods_num'];
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
|
|
//返回统计数据
|
|
//返回统计数据
|
|
|
|
|
|
@@ -594,33 +636,56 @@ class ReportFormsService extends Service
|
|
|
|
|
|
$detail = $scrapp_id = $team = $man = [];
|
|
$detail = $scrapp_id = $team = $man = [];
|
|
$order_product_id = array_column($list,'id');
|
|
$order_product_id = array_column($list,'id');
|
|
- foreach ($out_time as $value){
|
|
|
|
- //子表搜索
|
|
|
|
- $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
- $tmp = $models->where('order_product_id',$order_product_id)
|
|
|
|
- ->where('del_time',0)
|
|
|
|
- ->where('status',4)
|
|
|
|
- ->select('order_product_id','scrapp_id','team_id','finished_id',DB::raw('COUNT(id) as bad_goods_num'))
|
|
|
|
- ->groupBy('order_product_id','scrapp_id')
|
|
|
|
- ->get()->toArray();//不良品数据
|
|
|
|
-
|
|
|
|
- foreach ($tmp as $v){
|
|
|
|
- if(! in_array($v['scrapp_id'], $scrapp_id)) $scrapp_id[] = $v['scrapp_id'];
|
|
|
|
- if(! in_array($v['team_id'], $team)) $team[] = $v['team_id'];
|
|
|
|
- if(! in_array($v['finished_id'], $man)) $man[] = $v['finished_id'];
|
|
|
|
- if(isset($detail[$v['order_product_id']])){
|
|
|
|
- foreach ($detail[$v['order_product_id']] as $k => $d){
|
|
|
|
- if($k == $v['scrapp_id']){
|
|
|
|
- $detail[$v['order_product_id']][$k]['bad_goods_num'] += $v['bad_goods_num'];
|
|
|
|
- }else{
|
|
|
|
- $detail[$v['order_product_id']][$v['scrapp_id']] = $v;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ $scrapp = ScrappCount::where('del_time',0)
|
|
|
|
+ ->whereIn('order_product_id',$order_product_id)
|
|
|
|
+ ->select('order_product_id','scrapp_num as bad_goods_num','scrapp_id','team_id','finished_id')
|
|
|
|
+ ->get()->toArray();
|
|
|
|
+ foreach ($scrapp as $value){
|
|
|
|
+ if(isset($detail[$value['order_product_id']])){
|
|
|
|
+ foreach ($detail[$value['order_product_id']] as $k => $d){
|
|
|
|
+ if($k == $value['scrapp_id']){
|
|
|
|
+ $t = bcadd($detail[$value['order_product_id']][$k]['bad_goods_num'], $value['bad_goods_num'],3);
|
|
|
|
+ $detail[$value['order_product_id']][$k]['bad_goods_num'] = $t;
|
|
|
|
+ }else{
|
|
|
|
+ $detail[$value['order_product_id']][$value['scrapp_id']] = $value;
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- $detail[$v['order_product_id']][$v['scrapp_id']] = $v;
|
|
|
|
}
|
|
}
|
|
|
|
+ }else{
|
|
|
|
+ $detail[$value['order_product_id']][$value['scrapp_id']] = $value;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if(! in_array($value['scrapp_id'], $scrapp_id)) $scrapp_id[] = $value['scrapp_id'];
|
|
|
|
+ if(! in_array($value['team_id'], $team)) $team[] = $value['team_id'];
|
|
|
|
+ if(! in_array($value['finished_id'], $man)) $man[] = $value['finished_id'];
|
|
}
|
|
}
|
|
|
|
+// foreach ($out_time as $value){
|
|
|
|
+// //子表搜索
|
|
|
|
+// $models = new OrdersProductProcess(['channel' => $value]);
|
|
|
|
+// $tmp = $models->where('order_product_id',$order_product_id)
|
|
|
|
+// ->where('del_time',0)
|
|
|
|
+// ->where('status',4)
|
|
|
|
+// ->select('order_product_id','scrapp_id','team_id','finished_id',DB::raw('COUNT(id) as bad_goods_num'))
|
|
|
|
+// ->groupBy('order_product_id','scrapp_id')
|
|
|
|
+// ->get()->toArray();//不良品数据
|
|
|
|
+//
|
|
|
|
+// foreach ($tmp as $v){
|
|
|
|
+// if(! in_array($v['scrapp_id'], $scrapp_id)) $scrapp_id[] = $v['scrapp_id'];
|
|
|
|
+// if(! in_array($v['team_id'], $team)) $team[] = $v['team_id'];
|
|
|
|
+// if(! in_array($v['finished_id'], $man)) $man[] = $v['finished_id'];
|
|
|
|
+// if(isset($detail[$v['order_product_id']])){
|
|
|
|
+// foreach ($detail[$v['order_product_id']] as $k => $d){
|
|
|
|
+// if($k == $v['scrapp_id']){
|
|
|
|
+// $detail[$v['order_product_id']][$k]['bad_goods_num'] += $v['bad_goods_num'];
|
|
|
|
+// }else{
|
|
|
|
+// $detail[$v['order_product_id']][$v['scrapp_id']] = $v;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// $detail[$v['order_product_id']][$v['scrapp_id']] = $v;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
|
|
//次品原因 班组 人员
|
|
//次品原因 班组 人员
|
|
$map = Scrapp::whereIn('id',$scrapp_id)
|
|
$map = Scrapp::whereIn('id',$scrapp_id)
|