|
@@ -433,6 +433,28 @@ class ScreenController extends BaseController
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public function systemDataList($data){
|
|
|
+ $model = SystemL::where('del_time',0)
|
|
|
+ ->select('*')
|
|
|
+ ->orderBy('time','desc');
|
|
|
+
|
|
|
+ if(! empty($data['device_name'])) $model->where('device_name', 'LIKE', '%'.$data['device_name'].'%');
|
|
|
+ if(! empty($data['device_no'])) $model->where('device_no', 'LIKE', '%'.$data['device_no'].'%');
|
|
|
+ if(! empty($data['data_point_name'])) $model->where('data_point_name', 'LIKE', '%'.$data['data_point_name'].'%');
|
|
|
+ if(! empty($data['time'][0]) && ! empty($data['time'][1])) {
|
|
|
+ $model->where('time','>=',$data['time'][0]);
|
|
|
+ $model->where('time','<=',$data['time'][1]);
|
|
|
+ }
|
|
|
+
|
|
|
+ $list = $this->limit($model,'',$data);
|
|
|
+
|
|
|
+ foreach ($list['data'] as $key => $value){
|
|
|
+ $list['data'][$key]['time'] = $value['time'] ? date('Y-m-d', $value['time']) : '';
|
|
|
+ }
|
|
|
+
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 设备信息
|
|
|
* @param Request $request
|
|
@@ -465,8 +487,8 @@ class ScreenController extends BaseController
|
|
|
//查询当日
|
|
|
$today = SystemL::where('time','>=',$timestamp_today_start)
|
|
|
->where('time','<=',$timestamp_today_end)
|
|
|
- ->select('device_name','data_point_name','time')
|
|
|
- ->whereIn('data_point_name',[SystemL::run,SystemL::run_one,SystemL::stop,SystemL::stop_one])
|
|
|
+ ->select('device_name','data_point_name','time','value')
|
|
|
+ ->whereIn('data_point_name',[SystemL::run,SystemL::run_one,SystemL::stop,SystemL::stop_one,SystemL::run_two])
|
|
|
->get()->toArray();
|
|
|
//组织当日数据
|
|
|
$this->fillData($today,1,$models,$device);
|
|
@@ -485,8 +507,8 @@ class ScreenController extends BaseController
|
|
|
//获取上周数据
|
|
|
$list_week = SystemL::where('time','>=',$previousWeekStartTimeStamp)
|
|
|
->where('time','<=',$previousWeekEndTimeStamp)
|
|
|
- ->select('device_name','data_point_name')
|
|
|
- ->whereIn('data_point_name',[SystemL::run,SystemL::work,SystemL::stop,SystemL::standBy])
|
|
|
+ ->select('device_name','data_point_name','value')
|
|
|
+ ->whereIn('data_point_name',[SystemL::run,SystemL::run_one,SystemL::stop,SystemL::stop_one,SystemL::run_two])
|
|
|
->get()->toArray();
|
|
|
//组织上周数据
|
|
|
$this->fillData($list_week,2,$models,$device);
|
|
@@ -511,8 +533,8 @@ class ScreenController extends BaseController
|
|
|
//获取上月数据
|
|
|
$list_month = SystemL::where('time','>=',$previousMonthStartTimeStamp)
|
|
|
->where('time','<=',$previousMonthEndTimeStamp)
|
|
|
- ->select('device_name','data_point_name')
|
|
|
- ->whereIn('data_point_name',[SystemL::run,SystemL::work,SystemL::stop,SystemL::standBy])
|
|
|
+ ->select('device_name','data_point_name','value')
|
|
|
+ ->whereIn('data_point_name',[SystemL::run,SystemL::run_one,SystemL::stop,SystemL::stop_one,SystemL::run_two])
|
|
|
->get()->toArray();
|
|
|
//组织上月数据
|
|
|
$this->fillData($list_month,3,$models,$device);
|
|
@@ -616,7 +638,7 @@ class ScreenController extends BaseController
|
|
|
public function fillData($list,$type,&$models,$device){
|
|
|
if(empty($list)) return;
|
|
|
|
|
|
- $run_time = $run_time1 = $process_time = $fault = $start_time = [];
|
|
|
+ $run_time = $run_time1 = $process_time = $finished_num = $fault = $start_time = [];
|
|
|
foreach ($list as $value){
|
|
|
if($type == 1 && ! isset($start_time[$value['device_name']])){
|
|
|
$start_time_tmp = date("Y-m-d H:i:s", $value['time']);
|
|
@@ -642,6 +664,15 @@ class ScreenController extends BaseController
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if($value['data_point_name'] == SystemL::run_two){
|
|
|
+ if(isset($finished_num[$value['device_name']])){
|
|
|
+ $tmp = bcadd($finished_num[$value['device_name']], $value['value'],2);
|
|
|
+ $finished_num[$value['device_name']] = $tmp;
|
|
|
+ }else{
|
|
|
+ $finished_num[$value['device_name']] = $value['value'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if($value['data_point_name'] == SystemL::stop || $value['data_point_name'] == SystemL::stop_one){
|
|
|
//故障次数
|
|
|
if(isset($fault[$value['device_name']])){
|
|
@@ -650,8 +681,9 @@ class ScreenController extends BaseController
|
|
|
$fault[$value['device_name']] = 1;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }dd($finished_num);
|
|
|
foreach ($device as $key => $value){
|
|
|
+ $finished = $finished_num[$key] ?? 0;
|
|
|
//运行次数
|
|
|
$run_num = $run_time[$key] ?? 0;
|
|
|
//工作次数
|
|
@@ -686,18 +718,18 @@ class ScreenController extends BaseController
|
|
|
}
|
|
|
|
|
|
if($type == 1){
|
|
|
- $models[$key]['machine_day_num'] = $run_num;
|
|
|
- $models[$key]['day_num'] = $process_num;
|
|
|
+ $models[$key]['machine_day_num'] = $run_time_tmp;
|
|
|
+ $models[$key]['day_num'] = $finished;
|
|
|
$models[$key]['break_day_num'] = $fault_tmp;
|
|
|
$models[$key]['rate'] = $oee;
|
|
|
$models[$key]['start_time'] = $start_time[$key] ?? '暂未开机';
|
|
|
}elseif($type == 2){
|
|
|
- $models[$key]['machine_week_num'] = $run_num;
|
|
|
- $models[$key]['week_num'] = $process_num;
|
|
|
+ $models[$key]['machine_week_num'] = $run_time_tmp;
|
|
|
+ $models[$key]['week_num'] = $finished;
|
|
|
$models[$key]['break_week_num'] = $fault_tmp;
|
|
|
}elseif($type == 3){
|
|
|
- $models[$key]['machine_month_num'] = $run_num;
|
|
|
- $models[$key]['month_num'] = $process_num;
|
|
|
+ $models[$key]['machine_month_num'] = $run_time_tmp;
|
|
|
+ $models[$key]['month_num'] = $finished;
|
|
|
$models[$key]['break_month_num'] = $fault_tmp;
|
|
|
}
|
|
|
}
|