wupengfei 2 年之前
父節點
當前提交
a41204332c

+ 6 - 31
application/api/controller/Evection.php

@@ -91,6 +91,8 @@ class Evection extends Base
      * @param name:document type:string default:-- desc:附件(文件路径)
      * @param name:images type:string default:-- desc:图片(多张|隔开)
      * @param name:peer_user type:string default:-- desc:同行员工id(多个,隔开)
+     * @param name:flow_user type:string default:-- desc:审批人id(多个逗号隔开)
+     * @param name:copy_user type:string default:-- desc:抄送人id(多个逗号隔开)
      */
     public function applyEvection()
     {
@@ -100,38 +102,11 @@ class Evection extends Base
         if(empty($request_param['user_id'])) $request_param['user_id'] = $this->user_id;
         $request_param['apply_user'] = $this->user_id;// 申请会员id
         $request_param['apply_date'] = date("Y-m-d");
-        $flow = ApproveFlow::getApproveUser(3);// 出差审批流程设置
-        $flow_user = array_column($flow,'user_id');
-        $flow_key = array_search($request_param['user_id'],$flow_user);// 出差人是否在审批流程人员中
-
-        $copy = ApproveFlow::getCopyTo(3);
-        $copy_user = array_column($copy,'user_id');
-        $copy_key = array_search($request_param['user_id'],$copy_user);// 出差人是否在抄送人员中
-
+        if(!$request_param['flow_user']) $this->error('请选择审批人');
         $flow_info = EvectionInfo::create($request_param);//生成出差记录
-        $flow_data = [];// 审批流程
-        $flow_num = 0;
-        foreach ($flow as $fk=>$fv) {
-            if($flow_key !== false && $flow_key >= $fk) continue;
-            $flow_num++;
-            $flow_data[] = [
-                'info_id' => $flow_info->id,
-                'approve_user' => $fv['user_id'],
-                'flow'   =>$flow_num,
-                'create_at'=>date('Y-m-d H:i:s'),
-                'start_time'=> $flow_num == 1 ? date('Y-m-d H:i:s'):null,
-                'status'=> $flow_num == 1 ? 1 : 0,
-            ];
-        }
-        foreach ($copy as $ck=>$cv) {
-            if($copy_key !== false && $copy_key >= $ck) continue;
-            $flow_data[] = [
-                'info_id' => $flow_info->id,
-                'approve_user' => $cv['user_id'],
-                'approve_type'   =>2
-            ];
-        }
-
+        $approve_res = ApproveFlow::getApproveData($request_param['flow_user'],$request_param['copy_user'],$flow_info->id);
+        $flow_data = $approve_res['flow_data'];// 审批流程
+        $flow_num = $approve_res['flow_num'];
         if(!empty($flow_data)) {
             EvectionInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
             (new EvectionApprove())->saveAll($flow_data);

+ 1 - 1
application/api/controller/Offer.php

@@ -114,7 +114,7 @@ class Offer extends Base
         $request_param = input('post.');
         if(empty($request_param['type'])) $this->error('请选择呈批类型');
         $request_param['user_id'] = $this->user_id;// 申请会员id
-
+        $request_param['apply_date'] = date("Y-m-d");
         $flow_user = $request_param['flow_user'];
         $copy_user = $request_param['copy_user'];
         if(!$flow_user) $this->error('请选择审批人');

+ 14 - 20
application/api/controller/UserCar.php

@@ -88,6 +88,8 @@ class UserCar extends Base
      * @param name:arrive type:string default:-- desc:到达地址
      * @param name:end_time type:string default:-- desc:返回时间
      * @param name:back_address type:string default:-- desc:返回地址
+     * @param name:flow_user type:string default:-- desc:审批人id(多个逗号隔开)
+     * @param name:copy_user type:string default:-- desc:抄送人id(多个逗号隔开)
      */
     public function applyCar()
     {
@@ -99,42 +101,34 @@ class UserCar extends Base
         $request_param = input('post.');
         $request_param['user_id'] = $this->user_id;
         $request_param['apply_user'] = $this->user_id;
-
-        $flow = ApproveFlow::getApproveUser(2);// 用车审批流程设置
-        $flow_user = array_column($flow,'user_id');
-        $flow_key = array_search($request_param['user_id'],$flow_user);// 请用车是否在审批流程人员中
-
-        $copy = ApproveFlow::getCopyTo(2);
-        $copy_user = array_column($copy,'user_id');
-        $copy_key = array_search($request_param['user_id'],$copy_user);// 用车人是否在抄送人员中
-
         $request_param['apply_date'] = date("Y-m-d");
-        $flow_info = CarInfo::create($request_param);//生成用车记录
+        $flow_user = $request_param['flow_user'];
+        $copy_user = $request_param['copy_user'];
+        if(!$flow_user) $this->error('请选择审批人');
 
+        $flow_info = CarInfo::create($request_param);//生成用车记录
         $flow_data = [];// 审批流程
         $flow_num = 0;
-
-        foreach ($flow as $fk=>$fv) {
-            if($flow_key !== false && $flow_key >= $fk) continue;
+        // 审批人
+        foreach (explode(',',$flow_user) as $fk=>$fv) {
             $flow_num++;
             $flow_data[] = [
-                'car_id' => $flow_info->id,
-                'approve_user' => $fv['user_id'],
+                'info_id' => $flow_info->id,
+                'approve_user' => $fv,
                 'flow'   =>$flow_num,
                 'create_at'=>date('Y-m-d H:i:s'),
                 'start_time'=> $flow_num == 1 ? date('Y-m-d H:i:s'):null,
                 'status'=> $flow_num == 1 ? 1 : 0,
             ];
         }
-        foreach ($copy as $ck=>$cv) {
-            if($copy_key !== false && $copy_key >= $ck) continue;
+        // 抄送人
+        foreach (explode(',',$copy_user) as $ck=>$cv) {
             $flow_data[] = [
-                'car_id' => $flow_info->id,
-                'approve_user' => $cv['user_id'],
+                'info_id' => $flow_info->id,
+                'approve_user' => $cv,
                 'approve_type'   =>2
             ];
         }
-
         if(!empty($flow_data)) {
             CarInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
             (new CarApprove())->saveAll($flow_data);

+ 11 - 16
application/api/controller/UserLeave.php

@@ -110,6 +110,8 @@ class UserLeave extends Base
      * @param name:images type:string default:-- desc:图片(多张|隔开)
      * @param name:content type:string default:-- desc:请假详细内容(是否离深)
      * @param name:user_id type:int default:-- desc:请假会员id(自己请假可以不传,代为请假传请假人id)
+     * @param name:flow_user type:string default:-- desc:审批人id(多个逗号隔开)
+     * @param name:copy_user type:string default:-- desc:抄送人id(多个逗号隔开)
      */
     public function applyVacate()
     {
@@ -118,36 +120,29 @@ class UserLeave extends Base
         if(empty($request_param['type'])) $this->error('请选择请假类型');
         if(empty($request_param['user_id'])) $request_param['user_id'] = $this->user_id;
         $request_param['apply_user'] = $this->user_id;// 申请会员id
-
-        $flow = ApproveFlow::getApproveUser(1);// 请假审批流程设置
-        $flow_user = array_column($flow,'user_id');
-        $flow_key = array_search($request_param['user_id'],$flow_user);// 请假人是否在审批流程人员中
-
-
-        $copy = ApproveFlow::getCopyTo(1);
-        $copy_user = array_column($copy,'user_id');
-        $copy_key = array_search($request_param['user_id'],$copy_user);// 请假人是否在抄送人员中
-
+        $flow_user = $request_param['flow_user'];
+        $copy_user = $request_param['copy_user'];
+        if(!$flow_user) $this->error('请选择审批人');
         $flow_info = LeaveInfo::create($request_param);//生成请假记录
         $flow_data = [];// 审批流程
         $flow_num = 0;
-        foreach ($flow as $fk=>$fv) {
-            if($flow_key !== false && $flow_key >= $fk) continue;
+        // 审批人
+        foreach (explode(',',$flow_user) as $fk=>$fv) {
             $flow_num++;
             $flow_data[] = [
                 'info_id' => $flow_info->id,
-                'approve_user' => $fv['user_id'],
+                'approve_user' => $fv,
                 'flow'   =>$flow_num,
                 'create_at'=>date('Y-m-d H:i:s'),
                 'start_time'=> $flow_num == 1 ? date('Y-m-d H:i:s'):null,
                 'status'=> $flow_num == 1 ? 1 : 0,
             ];
         }
-        foreach ($copy as $ck=>$cv) {
-            if($copy_key !== false && $copy_key >= $ck) continue;
+        // 抄送人
+        foreach (explode(',',$copy_user) as $ck=>$cv) {
             $flow_data[] = [
                 'info_id' => $flow_info->id,
-                'approve_user' => $cv['user_id'],
+                'approve_user' => $cv,
                 'approve_type'   =>2
             ];
         }

+ 30 - 0
application/common/model/ApproveFlow.php

@@ -18,4 +18,34 @@ class ApproveFlow extends Model
     }
 
 
+    // 获取审批流程数据
+    public static function getApproveData($flow_user,$copy_user,$info_id)
+    {
+        $flow_data = [];// 审批流程
+        $flow_num = 0;
+        // 审批人
+        foreach (explode(',',$flow_user) as $fk=>$fv) {
+            $flow_num++;
+            $flow_data[] = [
+                'info_id' => $info_id,
+                'approve_user' => $fv,
+                'flow'   =>$flow_num,
+                'create_at'=>date('Y-m-d H:i:s'),
+                'start_time'=> $flow_num == 1 ? date('Y-m-d H:i:s'):null,
+                'status'=> $flow_num == 1 ? 1 : 0,
+            ];
+        }
+        // 抄送人
+        foreach (explode(',',$copy_user) as $ck=>$cv) {
+            $flow_data[] = [
+                'info_id' => $info_id,
+                'approve_user' => $cv,
+                'approve_type'   =>2
+            ];
+        }
+        return ['flow_data'=>$flow_data,'flow_num'=>$flow_num];
+
+    }
+
+
 }