浏览代码

施工单完成一半

cqpCow 1 年之前
父节点
当前提交
1eba2e4487

+ 14 - 6
app/Model/PurchaseOrder.php

@@ -10,13 +10,21 @@ class PurchaseOrder extends Model
     const CREATED_AT = 'crt_time';
     const UPDATED_AT = 'upd_time';
     protected $dateFormat = 'U';
-    const STATE_ZERO = 0;//未审核
-    const STATE_ONE = 1;//待审核
-    const STATE_TWO = 2;//审核通过
+    const STATE_ZERO = 0;//未确认
+    const STATE_ONE = 1;//已确认
     const prefix = 'CG';
     public static $name = [
-        0 => '未审核',
-        1 => '待审核',
-        2 => '审核通过'
+        self::STATE_ZERO => '未确认',
+        self::STATE_ONE => '已确认',
+    ];
+
+    const Order_type_one = 1;//普通采购
+    const Order_type_two = 2;//代发采购
+    const Order_type_three = 3;//采购施工(安装费)
+
+    public static $order_type = [
+        self::Order_type_one => '普通采购',
+        self::Order_type_two => '代发采购',
+        self::Order_type_three => '采购施工(安装费)'
     ];
 }

+ 7 - 0
app/Model/SalesOrder.php

@@ -12,6 +12,13 @@ class SalesOrder extends Model
     const CREATED_AT = 'crt_time';
     const UPDATED_AT = 'upd_time';
     protected $dateFormat = 'U';
+    const Order_type_one = 1;//安装件
+    const Order_type_two = 2;//快递件
+    public static $order_type = [
+        self::Order_type_one => '安装件',
+        self::Order_type_two => '快递件',
+    ];
+
     const Model_type_one = 1; // 线下订单合同
     const Model_type_two = 2; // 分社订货合同
     const Model_type_three = 3; // 二手车精品加装合同

+ 3 - 0
app/Service/ConstructionService.php

@@ -8,6 +8,7 @@ use App\Model\ConstructionInfo;
 use App\Model\ConstructionProductInfo;
 use App\Model\Customer;
 use App\Model\Employee;
+use App\Model\SalesOrder;
 use Illuminate\Support\Facades\DB;
 
 class ConstructionService extends Service
@@ -215,6 +216,8 @@ class ConstructionService extends Service
             ->first();
         if(empty($construction)) return [false,'施工订单不存在或已被删除'];
         $construction = $construction->toArray();
+        $sales = SalesOrder::where('id',$construction['sales_order_id'])->value('order_number');
+        $construction['sales_order_number'] = $sales;
         $customer_title = Customer::where('id',$construction['customer_id'])->value('title');
         $construction['customer_title'] = $customer_title;
         $emp_title = Employee::where('id',$construction['customer_contact_id'])->value('emp_name');

+ 14 - 10
app/Service/PurchaseOrderService.php

@@ -17,7 +17,9 @@ class PurchaseOrderService extends Service
         try{
             DB::beginTransaction();
             $material_model = PurchaseOrder::where('order_number',$data['order_number'])->first();
-            $material_model->depart_id = $data['depart_id'];
+            $material_model->depart_id = $data['depart_id'] ?? 0;
+            $material_model->order_type = $data['order_type'];
+            $material_model->contact_order_no = $data['contact_order_no'] ?? '';
             $material_model->mark = $data['mark'] ?? '';
             $material_model->save();
 
@@ -29,7 +31,7 @@ class PurchaseOrderService extends Service
                 foreach ($data['product'] as $value){
                     $sub[] = [
                         'order_number' => $data['order_number'],
-                        'depart_id' => $data['depart_id'],
+                        'depart_id' => $data['depart_id'] ?? 0,
                         'product_id' => $value['product_id'],
                         'number' => $value['number'],
                         'mark' => $value['mark'] ?? '',
@@ -53,8 +55,9 @@ class PurchaseOrderService extends Service
         try{
             DB::beginTransaction();
             $material_model = new PurchaseOrder();
-            $material_model->order_number = $data['order_number'];
-            $material_model->depart_id = $data['depart_id'];
+            $material_model->depart_id = $data['depart_id'] ?? 0;
+            $material_model->order_type = $data['order_type'];
+            $material_model->contact_order_no = $data['contact_order_no'] ?? '';
             $material_model->mark = $data['mark'] ?? '';
             $material_model->crt_id = $user['id'];
             $material_model->save();
@@ -64,7 +67,7 @@ class PurchaseOrderService extends Service
                 foreach ($data['product'] as $value){
                     $sub[] = [
                         'order_number' => $data['order_number'],
-                        'depart_id' => $data['depart_id'],
+                        'depart_id' => $data['depart_id'] ?? 0,
                         'product_id' => $value['product_id'],
                         'number' => $value['number'],
                         'mark' => $value['mark'] ?? '',
@@ -87,7 +90,7 @@ class PurchaseOrderService extends Service
 
         $order = PurchaseOrder::where('order_number',$data['order_number'])
             ->where('del_time',0)
-            ->select('id','order_number','depart_id','mark','state','crt_id')
+            ->select('id','order_number','depart_id','mark','state','crt_id','order_type','contact_order_no')
             ->first();
         if(empty($order)) return [false, '采购订单不存在或已被删除'];
 
@@ -127,7 +130,7 @@ class PurchaseOrderService extends Service
 
     public function getList($data,$user){
         $model = PurchaseOrder::where('del_time',0)
-            ->select('order_number','id','depart_id','mark','crt_time','state','crt_id')
+            ->select('order_number','id','depart_id','mark','crt_time','state','crt_id','order_type','contact_order_no')
             ->orderby('id', 'desc');
         if(! empty($data['order_number'])) $model->where('order_number', 'LIKE', '%'.$data['order_number'].'%');
         if(! empty($data['depart_id'])) $model->where('depart_id', $data['depart_id']);
@@ -161,14 +164,15 @@ class PurchaseOrderService extends Service
             $data['data'][$key]['crt_time'] = $value['crt_time'] ? date("Y-m-d H:i:s",$value['crt_time']) : '';
             $data['data'][$key]['depart_name'] = $depart_map[$value['depart_id']] ?? '';
             $data['data'][$key]['crt_name'] = $emp_map[$value['crt_id']] ?? '';
+            $data['data'][$key]['order_type_title'] = PurchaseOrder::$order_type[$value['order_type']] ?? '';
         }
 
         return $data;
     }
 
     public function orderRule(&$data, $is_check = true){
-        if($this->isEmpty($data,'depart_id')) return [false,'部门不能为空!'];
-        if($this->isEmpty($data,'product')) return [false,'产品不能为空'];
+        if(empty($data['order_type'])) return [false,'采购订单类型不能为空'];
+        if($this->isEmpty($data,'product')) return [false,'产品不能为空'];
 
         foreach ($data['product'] as $value){
             if(empty($value['number'])) return [false,'产品数量不能为空'];
@@ -198,7 +202,7 @@ class PurchaseOrderService extends Service
 
         PurchaseOrder::where('order_number',$data['order_number'])
             ->where('del_time',0)
-            ->update(['state' => PurchaseOrder::STATE_TWO]);
+            ->update(['state' => PurchaseOrder::STATE_ONE]);
 
         return [true,''];
     }

+ 6 - 1
app/Service/SalesOrderService.php

@@ -21,6 +21,7 @@ class SalesOrderService extends Service
             DB::beginTransaction();
 
             $model = SalesOrder::where('id', $data['id'])->first();
+            $model->sales_order_type = $data['sales_order_type'];
             $model->model_type = $data['model_type'];
             $model->order_number = $data['order_number'];
             $model->title = $data['title'] ?? '';
@@ -134,6 +135,7 @@ class SalesOrderService extends Service
             DB::beginTransaction();
 
             $model = new SalesOrder();
+            $model->sales_order_type = $data['sales_order_type'];
             $model->model_type = $data['model_type'];
             $model->order_number = $data['order_number'];
             $model->title = $data['title'] ?? '';
@@ -348,9 +350,10 @@ class SalesOrderService extends Service
     public function salesOrderList($data,$user){
         $model = new SalesOrder(['userData' => $user]);
         $model = $model->where('del_time',0)
-            ->select('title','id','model_type','order_number','selling_price','vin_no','car_type','order_type','deal_type','customer_id','sign_time','contract_state','crt_id','crt_time','mark','product_total','rate','construction_time','handover_time','expire_time','other_fee','discount_fee','contract_fee','contract_type','pay_way','send_state','logistics_company','logistics_number','car_type','year','mileage','color','original_set','processing','state')
+            ->select('title','id','sales_order_type','model_type','order_number','selling_price','vin_no','car_type','order_type','deal_type','customer_id','sign_time','contract_state','crt_id','crt_time','mark','product_total','rate','construction_time','handover_time','expire_time','other_fee','discount_fee','contract_fee','contract_type','pay_way','send_state','logistics_company','logistics_number','car_type','year','mileage','color','original_set','processing','state')
             ->orderby('id', 'desc');
 
+        if(! empty($data['sales_order_type'])) $model->where('sales_order_type',$data['sales_order_type']);
         if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
         if(! empty($data['model_type'])) $model->where('model_type',$data['model_type']);
         if(! empty($data['time_type'])) {
@@ -374,6 +377,7 @@ class SalesOrderService extends Service
     }
 
     public function salesOrderRule(&$data, $user, $is_add = true){
+        if(empty($data['sales_order_type'])) return [false,'合同类型不能为空'];
         if(empty($data['model_type'])) return [false,'订单模板类型不能为空'];
         if(! in_array($data['model_type'],SalesOrder::$model_type)) return [false,'订单模板类型错误'];
         if(empty($data['order_number'])) return [false,'合同编号不能为空'];
@@ -468,6 +472,7 @@ class SalesOrderService extends Service
             ->toArray();
 
         foreach ($data['data'] as $key => $value){
+            $data['data'][$key]['sales_order_type_title'] = SalesOrder::$order_type[$value['sales_order_type']] ?? '';
             $data['data'][$key]['order_type_title'] = $basic_map[$value['order_type']] ?? '';
             $data['data'][$key]['deal_type_title'] = $basic_map[$value['deal_type']] ?? '';
             $data['data'][$key]['contract_state_title'] = $basic_map[$value['contract_state']] ?? '';