|
@@ -19,6 +19,7 @@ class RDService extends Service
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
|
|
|
|
|
$model = RD::where('id',$data['id'])->first();
|
|
$model = RD::where('id',$data['id'])->first();
|
|
|
|
|
+ $model->type = $data['type'] ?? 0;
|
|
|
$model->item_id = $data['item_id'] ?? 0;
|
|
$model->item_id = $data['item_id'] ?? 0;
|
|
|
$model->order_time = $data['order_time'] ?? 0;
|
|
$model->order_time = $data['order_time'] ?? 0;
|
|
|
$model->start_time_hour = $data['start_time_hour'] ?? 0;
|
|
$model->start_time_hour = $data['start_time_hour'] ?? 0;
|
|
@@ -52,6 +53,7 @@ class RDService extends Service
|
|
|
|
|
|
|
|
$model = new RD();
|
|
$model = new RD();
|
|
|
$model->order_number = $this->generateOrderNumber();
|
|
$model->order_number = $this->generateOrderNumber();
|
|
|
|
|
+ $model->type = $data['type'] ?? 0;
|
|
|
$model->item_id = $data['item_id'] ?? 0;
|
|
$model->item_id = $data['item_id'] ?? 0;
|
|
|
$model->order_time = $data['order_time'] ?? 0;
|
|
$model->order_time = $data['order_time'] ?? 0;
|
|
|
$model->start_time_hour = $data['start_time_hour'] ?? 0;
|
|
$model->start_time_hour = $data['start_time_hour'] ?? 0;
|
|
@@ -207,6 +209,7 @@ class RDService extends Service
|
|
|
->select($field)
|
|
->select($field)
|
|
|
->orderby('id', 'desc');
|
|
->orderby('id', 'desc');
|
|
|
|
|
|
|
|
|
|
+ if(! empty($data['type'])) $model->where('type', $data['type']);
|
|
|
if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
|
|
if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
|
|
|
if(! empty($data['order_number'])) $model->where('order_number', 'LIKE', '%'.$data['order_number'].'%');
|
|
if(! empty($data['order_number'])) $model->where('order_number', 'LIKE', '%'.$data['order_number'].'%');
|
|
|
if(! empty($data['id'])) $model->whereIn('id', $data['id']);
|
|
if(! empty($data['id'])) $model->whereIn('id', $data['id']);
|
|
@@ -241,23 +244,30 @@ class RDService extends Service
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function rdRule(&$data, $user, $is_add = true){
|
|
public function rdRule(&$data, $user, $is_add = true){
|
|
|
|
|
+ if(empty($data['type'])) return [false, '工时单类型不能为空'];
|
|
|
|
|
+ if(! isset(RD::$type_name[$data['type']])) return [false, '工时单类型错误'];
|
|
|
|
|
+ $type_title = RD::$type_name[$data['type']];
|
|
|
if(empty($data['order_time'])) return [false, '订单日期不能为空'];
|
|
if(empty($data['order_time'])) return [false, '订单日期不能为空'];
|
|
|
$data['order_time'] = $this->changeDateToDate($data['order_time']);
|
|
$data['order_time'] = $this->changeDateToDate($data['order_time']);
|
|
|
- if(empty($data['man_list'])) return [false, '研发人员不能为空'];
|
|
|
|
|
- foreach ($data['man_list'] as $value){
|
|
|
|
|
- if(empty($value['type'])) return [false, '类型不能为空'];
|
|
|
|
|
- if(empty($value['data_id'])) return [false, '数据ID不能为空'];
|
|
|
|
|
- }
|
|
|
|
|
- if(empty($data['device_list'])) return [false, '研发设备不能为空'];
|
|
|
|
|
- foreach ($data['device_list'] as $value){
|
|
|
|
|
- if(empty($value['type'])) return [false, '类型不能为空'];
|
|
|
|
|
- if(empty($value['data_id'])) return [false, '数据ID不能为空'];
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if($data['type'] == RD::type_one){
|
|
|
|
|
+ if(empty($data['man_list'])) return [false, '研发人员不能为空'];
|
|
|
|
|
+ foreach ($data['man_list'] as $value){
|
|
|
|
|
+ if(empty($value['type'])) return [false, '类型不能为空'];
|
|
|
|
|
+ if(empty($value['data_id'])) return [false, '数据ID不能为空'];
|
|
|
|
|
+ }
|
|
|
|
|
+ list($status, $msg) = $this->checkArrayRepeat($data['man_list'],'data_id','研发人员');
|
|
|
|
|
+ if(! $status) return [false, $msg];
|
|
|
|
|
+ }else{
|
|
|
|
|
+ if(empty($data['device_list'])) return [false, '研发设备不能为空'];
|
|
|
|
|
+ foreach ($data['device_list'] as $value){
|
|
|
|
|
+ if(empty($value['type'])) return [false, '类型不能为空'];
|
|
|
|
|
+ if(empty($value['data_id'])) return [false, '数据ID不能为空'];
|
|
|
|
|
+ }
|
|
|
|
|
+ list($status, $msg) = $this->checkArrayRepeat($data['device_list'],'data_id','研发设备');
|
|
|
|
|
+ if(! $status) return [false, $msg];
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- list($status, $msg) = $this->checkArrayRepeat($data['man_list'],'data_id','研发人员');
|
|
|
|
|
- if(! $status) return [false, $msg];
|
|
|
|
|
- list($status, $msg) = $this->checkArrayRepeat($data['device_list'],'data_id','研发设备');
|
|
|
|
|
- if(! $status) return [false, $msg];
|
|
|
|
|
if(empty($data['item_id'])) return [false,'项目不能为空'];
|
|
if(empty($data['item_id'])) return [false,'项目不能为空'];
|
|
|
$res = $this->checkNumber($data['start_time_hour'],0,'non-negative');
|
|
$res = $this->checkNumber($data['start_time_hour'],0,'non-negative');
|
|
|
if(! $res['valid']) return [false,'研发时段开始点:' . $res['error']];
|
|
if(! $res['valid']) return [false,'研发时段开始点:' . $res['error']];
|
|
@@ -277,7 +287,7 @@ class RDService extends Service
|
|
|
$bool = RD::where('id',$data['id'])
|
|
$bool = RD::where('id',$data['id'])
|
|
|
->where('del_time',0)
|
|
->where('del_time',0)
|
|
|
->exists();
|
|
->exists();
|
|
|
- if(! $bool) return [false, '研发工时单不存在或已被删除'];
|
|
|
|
|
|
|
+ if(! $bool) return [false, $type_title . '不存在或已被删除'];
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return [true, $data];
|
|
return [true, $data];
|