zhanglinxin 1 gadu atpakaļ
vecāks
revīzija
a57ec552ff

+ 39 - 19
application/common/service/ApproveInfoService.php

@@ -121,8 +121,11 @@ class ApproveInfoService
                 // 编辑对应模块
                 $result = self::create_module($module, $params, $id, $info, 'update');
 
-                // 编辑审批抄送
-                self::create_approve($approve_user, $copy_user, $userid, $id, 'update');
+                // 编辑审批人
+                self::create_approve($approve_user, $id, 'update', $userid);
+
+                // 编辑抄送人
+                self::create_approve_copy($copy_user, $id, 'update');
 
                 // 编辑审批申请
                 if ($module == CommonConstant::MODULE_9) {
@@ -144,8 +147,11 @@ class ApproveInfoService
                 $info->module_id = $result['module_id'];
                 $info->save();
 
-                // 添加审批抄送
-                self::create_approve($approve_user, $copy_user, $userid, $info_id, 'create');
+                // 添加审批人
+                self::create_approve($approve_user, $info_id, 'create', $userid);
+
+                // 添加抄送人
+                self::create_approve_copy($copy_user, $info_id, 'create');
             }
 
             user_log('approve',json_encode($result,JSON_UNESCAPED_UNICODE));
@@ -641,28 +647,23 @@ class ApproveInfoService
     }
 
     /**
-     * 添加审批抄送
+     * 添加审批
      *
      * @param array $approve_user 审批ID
-     * @param array $copy_user 抄送ID
-     * @param string $userid 发起人ID
      * @param integer $info_id 申请ID
      * @param string $type 类型:create=申请,update=重新发起
+     * @param string $userid 发起人ID
      **/
-    public static function create_approve($approve_user, $copy_user, $userid, $info_id, $type)
+    public static function create_approve($approve_user,  $info_id, $type,$userid)
     {
         if ($type == 'update') {
             // 审批全部改为历史记录
             Approve::where('info_id', $info_id)->where('status','in',[CommonConstant::STATUS_3,CommonConstant::STATUS_4])->update(['state' => CommonConstant::IS_WHO_1]);
             Approve::where('info_id', $info_id)->where('status','in',[CommonConstant::STATUS_1,CommonConstant::STATUS_2])->update(['state' => CommonConstant::IS_WHO_0]);
-            // 删除掉抄送
-            ApproveCopy::where('info_id', $info_id)->delete();
         }
 
         $approve_data = [];
-        $copy_data = [];
         $flow_num = 0;
-        $copy_num = 0;
 
         // 发起人
         $apply_data = [
@@ -685,6 +686,30 @@ class ApproveInfoService
             ];
         }
 
+        if ($approve_data) {
+            // 添加审批人
+            $approve_data = array_merge([$apply_data], $approve_data);
+            Approve::insertAll($approve_data);
+        }
+        return true;
+    }
+
+    /**
+     * 添加抄送人
+     *
+     * @param array $copy_user 抄送ID
+     * @param integer $info_id 申请ID
+     * @param string $type 类型:create=申请,update=重新发起
+     **/
+    public static function create_approve_copy($copy_user,$info_id, $type){
+        if ($type == 'update') {
+            // 删除掉抄送
+            ApproveCopy::where('info_id', $info_id)->delete();
+        }
+
+        $copy_data = [];
+        $copy_num = 0;
+
         // 抄送人
         foreach ($copy_user as $key => $value) {
             $copy_num++;
@@ -694,16 +719,11 @@ class ApproveInfoService
                 'approve_flow' => $copy_num,
             ];
         }
-
-        if ($approve_data) {
-            // 添加审批
-            $approve_data = array_merge([$apply_data], $approve_data);
-            Approve::insertAll($approve_data);
-        }
         if ($copy_data) {
-            // 添加抄送
+            // 添加抄送人
             ApproveCopy::insertAll($copy_data);
         }
+        return true;
     }
 
     /**

+ 4 - 0
application/common/service/ApproveService.php

@@ -585,6 +585,7 @@ class ApproveService
      **/
     public static function edit($approve, $info, $params)
     {
+        $copy_user = $params['copy_user'] ? explode(',', $params['copy_user']) : [];
         $data = [
             'reason' => $params['reason'],
             'type' => $params['type'],
@@ -600,6 +601,9 @@ class ApproveService
             $module = $params['module'];
             $result = ApproveInfoService::create_module($module, $params, $info->id, $info, 'update');
 
+            // 编辑抄送人
+            ApproveInfoService::create_approve_copy($copy_user, $info->id, 'update');
+
             // 编辑审批申请
             if ($module == CommonConstant::MODULE_9) {
                 // 9=合同呈批 不编辑合同编号