|
@@ -10,6 +10,7 @@ use App\Model\CustomerInfo;
|
|
use App\Model\Depart;
|
|
use App\Model\Depart;
|
|
use App\Model\Employee;
|
|
use App\Model\Employee;
|
|
use App\Model\InvoiceOrder;
|
|
use App\Model\InvoiceOrder;
|
|
|
|
+use App\Model\OrderOperation;
|
|
use App\Model\Product;
|
|
use App\Model\Product;
|
|
use App\Model\SalesOrder;
|
|
use App\Model\SalesOrder;
|
|
use App\Model\SalesOrderInfo;
|
|
use App\Model\SalesOrderInfo;
|
|
@@ -839,17 +840,26 @@ class SalesOrderService extends Service
|
|
* @param $data
|
|
* @param $data
|
|
* @return array
|
|
* @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];
|
|
if(! $status) return [false,$msg];
|
|
|
|
|
|
try {
|
|
try {
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
$time = time();
|
|
$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)
|
|
SeeRange::where('del_time',0)
|
|
->where('data_id',$msg['id'])
|
|
->where('data_id',$msg['id'])
|
|
@@ -885,6 +895,24 @@ class SalesOrderService extends Service
|
|
SeeRange::insert($insert);
|
|
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);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ (new OrderOperationService())->add([
|
|
|
|
+ 'order_number' => $msg['order_number'],
|
|
|
|
+ 'msg' => OrderOperation::$type[OrderOperation::one],
|
|
|
|
+ 'type' => OrderOperation::one
|
|
|
|
+ ],$user);
|
|
|
|
+
|
|
DB::commit();
|
|
DB::commit();
|
|
}catch (\Exception $exception){
|
|
}catch (\Exception $exception){
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
@@ -899,7 +927,7 @@ class SalesOrderService extends Service
|
|
* @param $data
|
|
* @param $data
|
|
* @return array
|
|
* @return array
|
|
*/
|
|
*/
|
|
- public function salesOrderDispatchSaleRule($data){
|
|
|
|
|
|
+ public function salesOrderDispatchSaleRule(&$data, $user){
|
|
if(empty($data['id'])) return [false,'请选择合同派单'];
|
|
if(empty($data['id'])) return [false,'请选择合同派单'];
|
|
$sale = SalesOrder::where('del_time',0)
|
|
$sale = SalesOrder::where('del_time',0)
|
|
->where('id',$data['id'])
|
|
->where('id',$data['id'])
|
|
@@ -915,6 +943,11 @@ class SalesOrderService extends Service
|
|
if(! $bool) return [false,'合同产品不能为空'];
|
|
if(! $bool) return [false,'合同产品不能为空'];
|
|
if(empty($data['dispatch_depart_one']) && empty($data['dispatch_employee'])) 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];
|
|
return [true, $sale];
|
|
}
|
|
}
|
|
|
|
|
|
@@ -923,7 +956,7 @@ class SalesOrderService extends Service
|
|
* @param $data
|
|
* @param $data
|
|
* @return array
|
|
* @return array
|
|
*/
|
|
*/
|
|
- public function salesOrderDispatchCompany($data){
|
|
|
|
|
|
+ public function salesOrderDispatchCompany($data,$user){
|
|
list($status,$msg) = $this->salesOrderDispatchCompanyRule($data);
|
|
list($status,$msg) = $this->salesOrderDispatchCompanyRule($data);
|
|
if(! $status) return [false,$msg];
|
|
if(! $status) return [false,$msg];
|
|
|
|
|
|
@@ -964,6 +997,12 @@ class SalesOrderService extends Service
|
|
$model->save();
|
|
$model->save();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ (new OrderOperationService())->add([
|
|
|
|
+ 'order_number' => $msg['order_number'],
|
|
|
|
+ 'msg' => OrderOperation::$type[OrderOperation::one],
|
|
|
|
+ 'type' => OrderOperation::one
|
|
|
|
+ ],$user);
|
|
|
|
+
|
|
DB::commit();
|
|
DB::commit();
|
|
}catch (\Exception $exception){
|
|
}catch (\Exception $exception){
|
|
DB::rollBack();
|
|
DB::rollBack();
|