Ver código fonte

上传反馈结果

zhanglinxin 1 ano atrás
pai
commit
fb40590844

+ 4 - 5
application/api/controller/Approve.php

@@ -115,7 +115,7 @@ class Approve extends Base
      */
     public function get_detail()
     {
-        $id = input('approve_id');
+        $id = input('approve_id',0) ?:0;
         $user = $this->user;
         $info = ApproveService::get_detail($id, $user, 'detail');
         $this->success('详情', $info);
@@ -132,7 +132,7 @@ class Approve extends Base
      */
     public function get_info()
     {
-        $id = input('approve_id');
+        $id = input('approve_id',0) ?:0;
         $user = $this->user;
         $info = ApproveService::get_detail($id, $user, 'info');
         $this->success('信息', $info);
@@ -171,10 +171,9 @@ class Approve extends Base
     public function feedback()
     {
         $id = input('approve_id',0) ?:0;
-        $feedback = input('feedback', '') ?:'456';
-        $feedback_images = input('feedback_images', '')?:'789';
+        $feedback = input('feedback', '') ?:'';
+        $feedback_images = input('feedback_images', '')?:'';
         $params = compact("id", "feedback", "feedback_images");
-        p($params);exit;
         $user = $this->user;
         ApproveService::make($id, $params, $user, 'feedback');
         $this->success('提交成功');

+ 85 - 25
application/common/service/ApproveService.php

@@ -9,6 +9,7 @@ use app\common\model\ApproveApplyGoods;
 use app\common\model\ApproveEvectionPeerUser;
 use app\common\model\ApproveInfo;
 use app\common\model\ApproveInfoLog;
+use app\common\model\ApproveMaintain;
 use app\common\model\ApproveStockGoods;
 use app\common\model\ApproveUseGoods;
 use app\common\model\User;
@@ -299,21 +300,21 @@ class ApproveService
             ->find($id);
         $data = [];
         if ($info) {
-            $data = ApproveInfoService::get_detail($info['info_id'], $user, CommonConstant::IS_WHO_0,$type);
-            if($data){
+            $data = ApproveInfoService::get_detail($info['info_id'], $user, CommonConstant::IS_WHO_0, $type);
+            if ($data) {
                 $data['approve_id'] = $id;
                 $data['approve_status'] = $info['status'];
                 // 条件:维修模块 审批状态是审批中 用户是物业主管或信息负责人 是否显示维修人员:false=不显示,true=显示
                 // 条件:维修模块 审批状态是审批同意 用户是物业主管或信息负责人 是否已反馈 是否显示上传反馈结果:false=不显示,true=显示
                 $is_maintain = false;
                 $is_feedback = false;
-                if($data['module'] == CommonConstant::MODULE_8){
-                    if($data['approve_status'] == CommonConstant::STATUS_2){
+                if ($data['module'] == CommonConstant::MODULE_8) {
+                    if ($data['approve_status'] == CommonConstant::STATUS_2) {
                         $is_maintain = CommonService::isMaintain($user);
                     }
-                    if($data['approve_status'] == CommonConstant::STATUS_3){
+                    if ($data['approve_status'] == CommonConstant::STATUS_3) {
                         $is_maintain = CommonService::isMaintain($user);
-                        if($is_maintain && $data['module_info']['maintain_user_id'] > 0){
+                        if ($is_maintain && $data['module_info']['maintain_user_id'] > 0) {
                             $is_feedback = true;
                         }
                     }
@@ -331,7 +332,7 @@ class ApproveService
      * @param integer $id 审批ID
      * @param array $params 数组
      * @param mixed $user 用户信息
-     * @param string $type 类型:audit=审批,edit=修改
+     * @param string $type 类型:audit=审批,edit=修改,feedback=上传反馈结果
      **/
     public static function make($id, $params, $user, $type)
     {
@@ -347,27 +348,67 @@ class ApproveService
                 }
             ])
             ->find($id);
-        if (!$approve) {
-            except('审批记录不存在或已删除');
-        }
-        if ($approve->status != CommonConstant::STATUS_2) {
-            except('非待处理状态无法操作');
-        }
-        $info = $approve->approve_info;
-        if (!$info) {
-            except('申请记录不存在或已删除');
-        }
-        if ($info->status != CommonConstant::STATUS_2) {
-            except('非待处理状态无法操作!');
-        }
 
         switch ($type) {
             case 'audit':
+                if (!$approve) {
+                    except('审批记录不存在或已删除');
+                }
+                if ($approve->status != CommonConstant::STATUS_2) {
+                    except('非待处理状态无法操作');
+                }
+                $info = $approve->approve_info;
+                if (!$info) {
+                    except('申请记录不存在或已删除');
+                }
+                if ($info->status != CommonConstant::STATUS_2) {
+                    except('非待处理状态无法操作!');
+                }
                 self::audit($approve, $info, $params, $user);
                 break;
             case 'edit':
+                if (!$approve) {
+                    except('审批记录不存在或已删除');
+                }
+                if ($approve->status != CommonConstant::STATUS_2) {
+                    except('非待处理状态无法操作');
+                }
+                $info = $approve->approve_info;
+                if (!$info) {
+                    except('申请记录不存在或已删除');
+                }
+                if ($info->status != CommonConstant::STATUS_2) {
+                    except('非待处理状态无法操作!');
+                }
+                $info->module_info;
+                if (!$info->module_info) {
+                    except(CommonConstant::get_module_list()[$params['module']] . '记录不存在或已删除');
+                }
                 self::edit($approve, $info, $params);
                 break;
+            case 'feedback':
+                if (!$approve) {
+                    except('审批记录不存在或已删除');
+                }
+                if ($approve->status != CommonConstant::STATUS_3) {
+                    except('非审批同意状态无法操作');
+                }
+                $info = $approve->approve_info;
+                if (!$info) {
+                    except('申请记录不存在或已删除');
+                }
+                if ($info->status != CommonConstant::STATUS_3) {
+                    except('非审批同意状态无法操作!');
+                }
+                if ($info->module != CommonConstant::MODULE_8) {
+                    except(CommonConstant::get_module_list()[CommonConstant::MODULE_8] . '记录不存在或已删除');
+                }
+                $is_maintain = CommonService::isMaintain($user);
+                if(!$is_maintain){
+                    except('您没有权限操作');
+                }
+                self::feedback($approve, $info, $params);
+                break;
         }
         return true;
     }
@@ -378,6 +419,7 @@ class ApproveService
      * @param mixed $approve 审批信息
      * @param mixed $info 申请信息
      * @param array $params 数组
+     * @param mixed $user 用户信息
      **/
     public static function audit($approve, $info, $params, $user)
     {
@@ -458,11 +500,6 @@ class ApproveService
      **/
     public static function edit($approve, $info, $params)
     {
-        $info->module_info;
-        if (!$info->module_info) {
-            except(CommonConstant::get_module_list()[$params['module']] . '记录不存在或已删除');
-        }
-
         Db::startTrans();
         try {
             // 编辑对应模块
@@ -509,4 +546,27 @@ class ApproveService
         return true;
     }
 
+    /**
+     * 上传反馈结果
+     *
+     * @param mixed $approve 审批信息
+     * @param mixed $info 申请信息
+     * @param array $params 数组
+     **/
+    public static function feedback($approve, $info, $params)
+    {
+        try {
+            $data = [
+                'maintain_user_id' => $info->maintain_user_id,
+                'feedback' => $params['feedback'],
+                'feedback_images' => $params['feedback_images'],
+            ];
+            // 更新维修信息
+            ApproveMaintain::where('info_id', $info->id)->update($data);
+        } catch (Exception $e) {
+            except('出现错误:' . $e->getMessage());
+        }
+        return true;
+    }
+
 }