فهرست منبع

合同状态锁定

cqpCow 1 سال پیش
والد
کامیت
a9e6a8dec8
5فایلهای تغییر یافته به همراه44 افزوده شده و 24 حذف شده
  1. 7 0
      app/Model/SalesOrder.php
  2. 18 23
      app/Service/CheckService.php
  3. 1 0
      app/Service/EmployeeService.php
  4. 17 0
      app/Service/Service.php
  5. 1 1
      routes/api.php

+ 7 - 0
app/Model/SalesOrder.php

@@ -21,6 +21,13 @@ class SalesOrder extends Model
         self::Model_type_three
     ];
 
+    const State_zero = 0;//未锁定
+    const State_one = 1;//锁定
+    public static $state = [
+        self::State_zero => '未锁定',
+        self::State_one => '锁定',
+    ];
+
     public static $prefix = [
         self::Model_type_one => 'T9XS.',
         self::Model_type_two => 'T9SO.',

+ 18 - 23
app/Service/CheckService.php

@@ -2,29 +2,9 @@
 
 namespace App\Service;
 
-use App\Model\Construction;
-use App\Model\ConstructionOrderSub;
-use App\Model\InOutRecord;
-use App\Model\Inventory;
-use App\Model\InventoryInSub;
-use App\Model\InventoryOutSub;
-use App\Model\MaterialCharge;
-use App\Model\MaterialOrder;
-use App\Model\MaterialOrderInSub;
-use App\Model\MaterialReturn;
-use App\Model\RollFilmInventory;
-use App\Model\Setting;
-use App\Model\Transfer;
-use App\Model\TransferInSub;
-use App\Model\TransferOutSub;
-use App\Model\Warranty;
-use App\Service\Oa\OaService;
+use App\Model\SalesOrder;
 use Illuminate\Support\Facades\DB;
 
-/**
- * 所有审批相关与流水
- * @package App\Models
- */
 class CheckService extends Service
 {
     //审批操作对应的数值
@@ -47,15 +27,30 @@ class CheckService extends Service
     const TYPE_TWO = 2;//不通过
 
     public static $opt_case = [
-
+        self::four => 'confirmSalesOrder'
     ];
 
     public static $record = [
 
     ];
 
+    public function confirmSalesOrder($data){
+        $model = SalesOrder::where('id',$data['id'])->where('del_time',0)->first();
+
+        if($data['type'] == self::TYPE_ONE){
+            if($model->state == SalesOrder::State_one) return [false,'已锁定,操作失败!'];
+            $model->state = SalesOrder::State_one;
+        }else{
+            if($model->state == SalesOrder::State_zero) return [false,'未锁定,操作失败!'];
+            $model->state = SalesOrder::State_zero;
+        }
+        $model->save();
+
+        return [true,$model];
+    }
+
     public function checkAll($data,$user){
-        if(empty($data['order_number']) || empty($data['opt_case'])) return [false,'必传参数不能为空或者参数值错误!'];
+        if(empty($data['id']) || empty($data['opt_case']) || empty($data['type'])) return [false,'必传参数不能为空或者参数值错误!'];
 
         //具体方法
         $function = self::$opt_case[$data['opt_case']];

+ 1 - 0
app/Service/EmployeeService.php

@@ -464,6 +464,7 @@ class EmployeeService extends Service
             if(empty($value['parent_id'])) $data['data'][$key]['parent_id'] = 0;
 
             $data['data'][$key]['upd_time'] = time();
+
             if($is_check){
                 $data['data'][$key]['crt_time'] = time();
                 $bool = Depart::whereRaw("(binary code = '{$value['code']}' OR title = '{$value['title']}')")

+ 17 - 0
app/Service/Service.php

@@ -354,4 +354,21 @@ class Service
         $depart = array_shift($user['rule_depart']);
         return $depart['depart_id'];
     }
+
+    public function getTopId($id, $data) {
+        foreach ($data as $item) {
+            if ($item['id'] == $id) {
+                if ($item['parent_id'] == 0) {
+                    // 找到最顶级的id
+                    return $item['id'];
+                } else {
+                    // 继续递归查找父级
+                    return $this->getTopId($item['parent_id'], $data);
+                }
+            }
+        }
+
+        // 如果没有找到匹配的id,则返回null或者其他你希望的默认值
+        return 0;
+    }
 }

+ 1 - 1
routes/api.php

@@ -64,7 +64,7 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('employeeTeam', 'Api\EmployeeController@employeeTeam');
     $route->any('employeeRole', 'Api\EmployeeController@employeeRole');
 
-    //审核或者单据状态变动
+    //单据状态变动
     $route->any('checkAll', 'Api\CheckController@checkAll');
 
     //基础类型