|
@@ -839,17 +839,26 @@ class SalesOrderService extends Service
|
|
|
* @param $data
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function salesOrderDispatchSale($data){
|
|
|
- list($status,$msg) = $this->salesOrderDispatchSaleRule($data);
|
|
|
+ public function salesOrderDispatchSale($data, $user){
|
|
|
+ list($status,$msg) = $this->salesOrderDispatchSaleRule($data, $user);
|
|
|
if(! $status) return [false,$msg];
|
|
|
|
|
|
try {
|
|
|
DB::beginTransaction();
|
|
|
$time = time();
|
|
|
- SalesOrder::where('del_time',0)->where('id',$msg['id'])->update([
|
|
|
- 'state' => SalesOrder::State_three,
|
|
|
- 'dispatch_time_first' => $time,
|
|
|
- ]);
|
|
|
+
|
|
|
+ if(empty($data['is_company'])){
|
|
|
+ SalesOrder::where('del_time',0)->where('id',$msg['id'])->update([
|
|
|
+ 'state' => SalesOrder::State_three,
|
|
|
+ 'dispatch_time_first' => $time,
|
|
|
+ ]);
|
|
|
+ }else{
|
|
|
+ SalesOrder::where('del_time',0)->where('id',$msg['id'])->update([
|
|
|
+ 'state' => SalesOrder::State_four,
|
|
|
+ 'dispatch_time_first' => $time,
|
|
|
+ 'dispatch_time_second' => $time,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
|
|
|
SeeRange::where('del_time',0)
|
|
|
->where('data_id',$msg['id'])
|
|
@@ -885,6 +894,18 @@ class SalesOrderService extends Service
|
|
|
SeeRange::insert($insert);
|
|
|
}
|
|
|
|
|
|
+ if(! empty($data['is_company'])){
|
|
|
+ $insert = [];
|
|
|
+ $insert[] = [
|
|
|
+ 'data_id' => $msg['id'],
|
|
|
+ 'data_type' => SeeRange::type_seven,
|
|
|
+ 'param_id' => $data['is_company'],
|
|
|
+ 'type' => SeeRange::data_three,
|
|
|
+ 'crt_time' => $time,
|
|
|
+ ];
|
|
|
+ SeeRange::insert($insert);
|
|
|
+ }
|
|
|
+
|
|
|
DB::commit();
|
|
|
}catch (\Exception $exception){
|
|
|
DB::rollBack();
|
|
@@ -899,7 +920,7 @@ class SalesOrderService extends Service
|
|
|
* @param $data
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function salesOrderDispatchSaleRule($data){
|
|
|
+ public function salesOrderDispatchSaleRule(&$data, $user){
|
|
|
if(empty($data['id'])) return [false,'请选择合同派单'];
|
|
|
$sale = SalesOrder::where('del_time',0)
|
|
|
->where('id',$data['id'])
|
|
@@ -915,6 +936,11 @@ class SalesOrderService extends Service
|
|
|
if(! $bool) return [false,'合同产品不能为空'];
|
|
|
if(empty($data['dispatch_depart_one']) && empty($data['dispatch_employee'])) return [false, '请指派部门或人员'];
|
|
|
|
|
|
+ //如果是分社的合同 派销售以后直接 分社结束
|
|
|
+ $top_depart_id = $user['head'] ?? [];
|
|
|
+ $top_depart_id = $top_depart_id['id'] ?? 0;
|
|
|
+ if($top_depart_id != $sale['top_depart_id']) $data['is_company'] = $sale['top_depart_id'];
|
|
|
+
|
|
|
return [true, $sale];
|
|
|
}
|
|
|
|