|
@@ -3,11 +3,13 @@
|
|
|
namespace App\Service;
|
|
|
|
|
|
use App\Model\BasicType;
|
|
|
+use App\Model\Construction;
|
|
|
use App\Model\Customer;
|
|
|
use App\Model\Employee;
|
|
|
use App\Model\Product;
|
|
|
use App\Model\SalesOrder;
|
|
|
use App\Model\SalesOrderInfo;
|
|
|
+use App\Model\SalesOrderOtherFee;
|
|
|
use App\Model\SalesOrderProductInfo;
|
|
|
use App\Model\SalesOrderRange;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
@@ -278,6 +280,9 @@ class SalesOrderService extends Service
|
|
|
SalesOrderRange::where('del_time',0)
|
|
|
->where('sales_order_id',$data['id'])
|
|
|
->update(['del_time' => time()]);
|
|
|
+ SalesOrderOtherFee::where('del_time',0)
|
|
|
+ ->where('sales_order_id',$data['id'])
|
|
|
+ ->update(['del_time' => time()]);
|
|
|
|
|
|
DB::commit();
|
|
|
}catch (\Exception $exception){
|
|
@@ -503,7 +508,7 @@ class SalesOrderService extends Service
|
|
|
->pluck('title','id')
|
|
|
->toArray();
|
|
|
|
|
|
- $product = [];
|
|
|
+ $product = $fee = [];
|
|
|
if(! empty($ergs['product'])){
|
|
|
$sales_p_info = SalesOrderProductInfo::where('del_time',0)
|
|
|
->where('sales_order_id',array_column($data['data'],'id'))
|
|
@@ -511,6 +516,12 @@ class SalesOrderService extends Service
|
|
|
foreach ($sales_p_info as $value){
|
|
|
$product[$value['sales_order_id']][] = $value;
|
|
|
}
|
|
|
+ $sales_o_info = SalesOrderOtherFee::where('del_time',0)
|
|
|
+ ->where('sales_order_id',array_column($data['data'],'id'))
|
|
|
+ ->get()->toArray();
|
|
|
+ foreach ($sales_p_info as $value){
|
|
|
+ $fee[$value['sales_order_id']][] = $value;
|
|
|
+ }
|
|
|
}
|
|
|
foreach ($data['data'] as $key => $value){
|
|
|
$data['data'][$key]['sales_order_type_title'] = SalesOrder::$order_type[$value['sales_order_type']] ?? '';
|
|
@@ -526,6 +537,7 @@ class SalesOrderService extends Service
|
|
|
$data['data'][$key]['crt_time'] = $value['crt_time'] ? date('Y-m-d H:i:s',$value['crt_time']) : '';
|
|
|
$data['data'][$key]['crt_name'] = $emp[$value['crt_id']] ?? '';
|
|
|
$data['data'][$key]['product'] = $product[$value['id']] ?? [];
|
|
|
+ $data['data'][$key]['fee'] = $fee[$value['id']] ?? [];
|
|
|
$data['data'][$key]['state_name'] = SalesOrder::$state[$value['state']] ?? '';
|
|
|
}
|
|
|
|
|
@@ -621,7 +633,9 @@ class SalesOrderService extends Service
|
|
|
->where('sales_order_id',$msg['id'])
|
|
|
->where('type',SalesOrderRange::type_three)
|
|
|
->update(['del_time' => $time]);
|
|
|
-
|
|
|
+ SalesOrderOtherFee::where('del_time',0)
|
|
|
+ ->where('sales_order_id',$msg['id'])
|
|
|
+ ->update(['del_time' => $time]);
|
|
|
if(! empty($data['depart'])){
|
|
|
$insert = [];
|
|
|
foreach ($data['depart'] as $value){
|
|
@@ -635,6 +649,13 @@ class SalesOrderService extends Service
|
|
|
SalesOrderRange::insert($insert);
|
|
|
}
|
|
|
|
|
|
+ if(! empty($data['other_fee_1'])){
|
|
|
+ $model = new SalesOrderOtherFee();
|
|
|
+ $model->sales_order_id = $msg['id'];
|
|
|
+ $model->other_fee_1 = $data['other_fee_1'] ?? 0;
|
|
|
+ $model->save();
|
|
|
+ }
|
|
|
+
|
|
|
DB::commit();
|
|
|
}catch (\Exception $exception){
|
|
|
DB::rollBack();
|
|
@@ -653,7 +674,15 @@ class SalesOrderService extends Service
|
|
|
if($sale['state'] > SalesOrder::State_two) return [false,'请确认合同状态,操作失败'];
|
|
|
$sale = $sale->toArray();
|
|
|
|
|
|
+ $bool = Construction::where('del_time',0)
|
|
|
+ ->where('sales_order_id',$data['id'])
|
|
|
+ ->exists();
|
|
|
+ if(! $bool) return [false,'合同已下施工,操作失败'];
|
|
|
+
|
|
|
if(empty($data['depart'])) return [false, '请指派总社或分社'];
|
|
|
+ if(empty($value['other_fee_1'])) return [false,'价格不能为空'];
|
|
|
+ $res = $this->checkNumber($value['other_fee_1']);
|
|
|
+ if(! $res) return [false,'价格请输入不超过两位小数并且大于0的数值'];
|
|
|
|
|
|
return [true, $sale];
|
|
|
}
|