|
@@ -51,6 +51,8 @@ class ConstructionService extends Service
|
|
|
$model->address2 = $data['address2'] ?? '';
|
|
|
$model->introduction = $data['introduction'] ?? '';
|
|
|
$model->storehouse_id = $data['storehouse_id'] ?? 0;
|
|
|
+ $model->start_time = $data['start_time'] ?? 0;
|
|
|
+ $model->end_time = $data['end_time'] ?? 0;
|
|
|
$model->save();
|
|
|
$time = time();
|
|
|
|
|
@@ -156,6 +158,8 @@ class ConstructionService extends Service
|
|
|
$model->depart_id = $data['depart_id'] ?? 0;
|
|
|
$model->top_depart_id = $data['top_depart_id'] ?? 0;
|
|
|
$model->storehouse_id = $data['storehouse_id'] ?? 0;
|
|
|
+ $model->start_time = $data['start_time'] ?? 0;
|
|
|
+ $model->end_time = $data['end_time'] ?? 0;
|
|
|
$model->save();
|
|
|
$time = time();
|
|
|
|
|
@@ -383,6 +387,11 @@ class ConstructionService extends Service
|
|
|
$model->where('crt_time','<=',$end);
|
|
|
}
|
|
|
}
|
|
|
+ if(! empty($data['construction_period'][0]) && ! empty($data['construction_period'][1])) {
|
|
|
+ $return = $this->changeDateToTimeStampAboutRange($data['construction_period']);
|
|
|
+ $model->where('start_time','>=',$return[0]);
|
|
|
+ $model->where('end_time','<=',$return[1]);
|
|
|
+ }
|
|
|
|
|
|
$list = $this->limit($model,'',$data);
|
|
|
$list = $this->fillData($list);
|
|
@@ -406,7 +415,11 @@ class ConstructionService extends Service
|
|
|
$sale = SalesOrder::where('del_time',0)->where('id',$data['sales_order_id'])->first();
|
|
|
if(empty($sale)) return [false,'合同不存在或已被删除'];
|
|
|
if($sale['state'] < SalesOrder::State_two) return [false,'合同未派单,不允许新建施工单'];
|
|
|
+ $sale = $sale->toArray();
|
|
|
if(empty($data['product'])) return [false,'请选择产品'];
|
|
|
+ if(empty($data['construction_period'][0]) || empty($data['construction_period'][1])) return [false,'请填写施工时间范围'];
|
|
|
+ $data['start_time'] = $this->changeDateToDateMin($data['construction_period'][0]);
|
|
|
+ $data['end_time'] = $this->changeDateToDateMin($data['construction_period'][1]);
|
|
|
|
|
|
if(! empty($data['construction_fee'])){
|
|
|
$res = $this->checkNumber($data['construction_fee']);
|
|
@@ -470,11 +483,28 @@ class ConstructionService extends Service
|
|
|
list($status,$msg) = (new ProductInventoryService())->compareStock($user,$product_id, $product_submit, $product_save);
|
|
|
if(! $status) return [false, $msg];
|
|
|
|
|
|
+ $start_time = date("Y-m-d H:i",$data['start_time']);
|
|
|
+ $end_time = date("Y-m-d H:i",$data['end_time']);
|
|
|
if($is_add){
|
|
|
- $bool = Construction::where('del_time',0)->where('order_number',$data['order_number'])->exists();
|
|
|
+ $bool = Construction::where('del_time',0)
|
|
|
+ ->where('order_number',$data['order_number'])
|
|
|
+ ->exists();
|
|
|
if($bool) return [false,'工单编号已存在,请重新获取'];
|
|
|
+ $bool = Construction::where('del_time',0)
|
|
|
+ ->where('sales_order_id',$data['sales_order_id'])
|
|
|
+ ->where('start_time', '<=', $data['end_time'])
|
|
|
+ ->where('end_time', '>=', $data['start_time'])
|
|
|
+ ->exists();
|
|
|
+ if($bool) return [false,'合同:' . $sale['order_number'] . '在' . $start_time . '——' . $end_time . '已下施工单'];
|
|
|
}else{
|
|
|
if(empty($data['id'])) return [false,'ID不能为空'];
|
|
|
+ $bool = Construction::where('del_time',0)
|
|
|
+ ->where('id','<>',$data['id'])
|
|
|
+ ->where('sales_order_id',$data['sales_order_id'])
|
|
|
+ ->where('start_time', '<=', $data['end_time'])
|
|
|
+ ->where('end_time', '>=', $data['start_time'])
|
|
|
+ ->exists();
|
|
|
+ if($bool) return [false,'合同:' . $sale['order_number'] . '在' . $start_time . '——' . $end_time . '已下施工单'];
|
|
|
}
|
|
|
|
|
|
return [true, [$product_submit, $product_save]];
|
|
@@ -510,6 +540,9 @@ class ConstructionService extends Service
|
|
|
$tmp .= ' ' . $value['address2'];
|
|
|
$address = $tmp;
|
|
|
}
|
|
|
+ $start_time = $value['start_time'] ? date("Y-m-d H:i",$value['start_time']) : '';
|
|
|
+ $end_time = $value['end_time'] ? date("Y-m-d H:i",$value['end_time']) : '';
|
|
|
+ $data['data'][$key]['construction_period'] = $start_time . '——' . $end_time;
|
|
|
$data['data'][$key]['address'] = $address;
|
|
|
$data['data'][$key]['install_position_title'] = $basic_map[$value['install_position']] ?? '';
|
|
|
$data['data'][$key]['install_method_title'] = $basic_map[$value['install_method']] ?? '';
|